.profile-banner {
    width: 100%;
    background: #e8e0d8;
    height: 45px;
    display: flex;
    align-items: center;
}

.profile-banner-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
}

.profile-banner-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

/* Maximalbreite für Profilseite */
.profile-max-width {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px; /* mobile padding */
}

/* Hauptbereich Profil */
.profile-main {
    width: 100%;
    padding: 40px 0 80px;
    background: #f5f2ed; /* gleiche BG wie Checkout */
}

/* Grid 65/35 */
.profile-inner {
    display: grid;
    grid-template-columns: minmax(0, 65%) minmax(0, 35%);
    gap: 32px;
}

.points-inner {
    display: grid;
    grid-template-columns: minmax(0, 75%) minmax(0, 25%);
    gap: 32px;
}

/* Karten-Styling */
.profile-card,
.profile-summary-box {
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06);
}

.profile-card h2,
.profile-summary-box h2 {
    margin: 0 0 12px;
    font-size: 1.3rem;
    font-weight: 600;
}

.profile-intro {
    margin: 0 0 18px;
    font-size: 0.95rem;
    color: #555;
}

/* Formularfelder */
.form-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 14px;
}

.form-row label {
    font-size: 0.9rem;
    font-weight: 500;
}

.form-row input {
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 8px 10px;
    font-size: 0.95rem;
}

.form-row input:focus {
    outline: none;
    border-color: #c58a3d;
    box-shadow: 0 0 0 1px rgba(197, 138, 61, 0.3);
}

/* Button */
.profile-form-actions {
    margin-top: 8px;
    display: flex;
    justify-content: flex-end;
}

.profile-save-button {
    border: none;
    border-radius: 999px;
    padding: 8px 18px;
    background: var(--bg-dark);
    color: #fff;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.profile-save-button:hover {
    background: #b47a2f;
}

/* Messages */
.profile-message {
    margin-bottom: 12px;
    font-size: 0.9rem;
    padding: 8px 10px;
    border-radius: 6px;
    display: none;
}

.profile-message--error {
    display: block;
    background: #ffe5e5;
    color: #a32626;
}

.profile-message--success {
    display: block;
    background: #e3f7e8;
    color: #276738;
}

/* Summary rechts */
.profile-summary-lines .summary-placeholder {
    margin: 0 0 6px;
    font-size: 0.9rem;
    color: #777;
}

.profile-summary-box .summary-lines span {
    display: block;
    font-size: 0.95rem;
}

/* Aktiver Konto-Link */
.shop-account-link--current {
    font-weight: 600;
    cursor: default;
}

/* Responsiv */
@media (max-width: 900px) {
    .profile-inner {
        grid-template-columns: 1fr;
    }

    .profile-main {
        padding: 24px 0 50px;
    }

    .page-profil .shop-nav-grid {
        /*grid-template-columns: 1fr;*/
    }
}

/* Profil löschen Box */
.profile-delete-box {
    margin-top: 20px;
    background: #ffffff;
    border-radius: 20px;
    padding: 18px 20px 20px;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.06);
}

.profile-delete-box h2 {
    margin: 0 0 8px;
    font-size: 1.1rem;
    font-weight: 600;
}

.profile-delete-text {
    margin: 0 0 14px;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.4;
}

.profile-delete-button {
    border: none;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 0.9rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #d64545;
    color: #fff;
}

@media (max-width: 1024px) {
    .profile-delete-button {
        padding: 4px 7px;
        font-size: 0.75rem;
        gap: 4px;
    }
}

.profile-delete-button:hover {
    background: #bf3535;
}

.order-status {
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 12px;
    margin-left: 6px;
}

.order-status-processing { background: #4caf50; color: #fff; }
.order-status-completed { background: #1170c9; color: #fff; }
.order-status-cancelled { background: #f44336; color: #fff; }
.order-status-failed    { background: #800000; color: #fff; }
.order-status-pending   { background: #ecc617; color: #000; }
.order-status-on-hold   { background: #236b91; color: #fff; }

.profile-password-card .password-change-box {
    display: flex;
    gap: 24px;
}

/* Divider: Desktop vertikal */
.password-change-divider{
  width: 1px;
  align-self: stretch;
}

.password-change-box{
  display: flex;
  align-items: flex-start;
  gap: 24px;   
}

.password-change-left{
  flex: 0 1 60%;
  min-width: 0;
}

.password-change-right{
  flex: 0 1 40%;
  min-width: 0;
}

.password-code-inputs {
    display: flex;
    gap: 8px;
    margin: 12px 0;
}

.password-code-inputs input {
    width: 36px;
    height: 40px;
    text-align: center;
    font-size: 1.1rem;
}

/* Statusfarben */
.password-change-status {
    margin-top: 12px;
    font-size: 0.95rem;
}

.password-change-status--success {
    color: #008000;
}

.password-change-status--error {
    color: #800000;
}

/* Tablet + Mobile: untereinander (<= 1024px) */
@media (max-width: 1024px){
  .password-change-box{
    flex-direction: column;
  }

  .password-change-left,
  .password-change-right{
    flex: 0 0 auto;
    width: 100%;
  }

  /* Divider: Tablet/Mobile horizontal statt vertikal */
  .password-change-divider{
    width: 100%;
    height: 1px;
    align-self: auto;
    margin: 12px 0;
  }
}
.bb-rp-info-box .bb-rp-info-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.bb-rp-info-box .bb-rp-info-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:14px;
}

.bb-rp-info-box .bb-rp-info-row .label{
  font-weight:600;
  color:#222;
  font-size:13px;
}

.bb-rp-info-box .bb-rp-info-row .value{
  text-align:right;
  font-size:13px;
  white-space:nowrap; /* verhindert 0 \n Ft */
  color:#222;
}

.bb-rp-info-box .bb-rp-info-hint{
  margin-top:10px;
  font-size:13px;
  color:#666;
  line-height:1.35;
}
.bb-rp-history table{
  font-size: 13px;
}

.bb-rp-history th{
  font-size: 13px;
}

.bb-rp-history td{
  font-size: 13px;
  line-height: 1.25;
}

.bb-rp-pager{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:12px;
}

.bb-rp-page{
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none;
}

.bb-rp-page-info{
  color:#666;
  font-size:13px;
}

.checkout-reward-box .bb-rp-row.bb-rp-redeem{
  align-items: center;
}

.checkout-reward-box .bb-rp-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}

.checkout-reward-box .bb-rp-redeem-top{
  display:flex;
  align-items:center;
}

@media (max-width: 768px) {
  .points-inner {
    display: grid;
    grid-template-columns: 1fr;
  }

  .profile-right {
    margin-top: 16px;
  }

  .bb-voucher-history table,
  .bb-voucher-history thead,
  .bb-voucher-history tbody,
  .bb-voucher-history th,
  .bb-voucher-history td,
  .bb-voucher-history tr {
    display: block;
    width: 100%;
  }

  /* Header ausblenden */
  .bb-voucher-history thead {
    display: none;
  }

  .bb-voucher-history tr {
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(0,0,0,.08);
    padding-bottom: 10px;
  }

  .bb-voucher-history td {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 0;
    text-align: left !important;
    white-space: normal;
  }

  /* Label vor dem Wert */
  .bb-voucher-history td::before {
    content: attr(data-label);
    font-weight: 600;
    color: #666;
    flex: 0 0 45%;
  }
}

