/* ================================================================
   GetWetTour — Rezervasyon v3
   Açık tema · mobil uygulama kabuğu · marka tokenları
================================================================ */

:root {
    --rz-brand: #E30613;
    --rz-brand-hover: #C00510;
    --rz-ink: #07182E;
    --rz-fg: #0F172A;
    --rz-muted: #64748B;
    --rz-bg: #F1F5F9;
    --rz-card: #FFFFFF;
    --rz-line: #E2E8F0;
    --rz-line-strong: #CBD5E1;
    --rz-soft: #F8FAFC;
    --rz-success: #059669;
    --rz-warn: #D97706;
    --rz-danger: #B91C1C;
    --rz-spring: cubic-bezier(.22, 1.2, .36, 1);
    --rz-ease: cubic-bezier(.22, .8, .28, 1);
    --rz-dock-h: 76px;
    --rz-radius: 16px;
    --rz-radius-lg: 22px;
    --rz-shadow: 0 10px 28px rgba(7, 24, 46, .08);
    --rz-shadow-sm: 0 2px 8px rgba(7, 24, 46, .06);
}

/* ================================================================
   AÇIK TEMA — tüm ekranlar (dark override yok)
================================================================ */

/* Yazar stilleri (.qr-field{display:flex} gibi) tarayıcının hidden
   davranışını eziyordu; gizli bloklar açıkta kalıyordu. */
body.qr-app-page [hidden] {
    display: none !important;
}

body.qr-app-page .qr-form-card {
    background:
        radial-gradient(120% 80% at 100% -10%, rgba(227, 6, 19, .06), transparent 55%),
        radial-gradient(90% 60% at -10% 0%, rgba(14, 116, 180, .07), transparent 50%),
        var(--rz-bg) !important;
    border: none !important;
    color: var(--rz-fg);
}

body.qr-app-page .qr-assistant-head {
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid var(--rz-line) !important;
    box-shadow: 0 8px 24px rgba(7, 24, 46, .06) !important;
    backdrop-filter: blur(18px) saturate(1.2);
    -webkit-backdrop-filter: blur(18px) saturate(1.2);
}
body.qr-app-page .qr-assistant-head strong {
    color: var(--rz-ink) !important;
}
body.qr-app-page .qr-assistant-head small {
    color: var(--rz-success) !important;
    font-weight: 800 !important;
}
body.qr-app-page .qr-assistant-step-count {
    background: var(--rz-soft) !important;
    border: 1px solid var(--rz-line) !important;
    color: var(--rz-muted) !important;
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 800;
    margin-left: 0 !important;
    margin-inline-start: 0 !important;
    flex: 0 0 auto;
}

body.qr-app-page .qr-wizard-progress {
    background: #E8EEF5 !important;
    height: 4px !important;
}
body.qr-app-page .qr-wizard-progress span {
    background: linear-gradient(90deg, var(--rz-brand), #FF5B35) !important;
    box-shadow: 0 0 10px rgba(227, 6, 19, .28) !important;
}

body.qr-app-page .qr-step-heading h2 {
    color: var(--rz-ink) !important;
    font-family: Manrope, system-ui, sans-serif !important;
    font-size: clamp(1.55rem, 4.2vw, 1.9rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -.03em;
}
body.qr-app-page .qr-step-heading p {
    color: var(--rz-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}
body.qr-app-page .qr-step-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #FFF1F2;
    color: var(--rz-brand-hover);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .01em;
}

/* ----------------------------------------------------------------
   ADIM GÖSTERGESİ — numaralı rozet, tamamlananda onay işareti
   (767px altında rezervasyon.css bu şeridi zaten gizliyor)
---------------------------------------------------------------- */
body.qr-app-page .qr-wizard-labels {
    gap: 8px !important;
    margin: 14px 0 24px !important;
}
body.qr-app-page .qr-wizard-labels > span {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-height: 52px !important;
    padding: 9px 12px !important;
    border: 1px solid var(--rz-line) !important;
    border-radius: 14px !important;
    background: var(--rz-card) !important;
    color: var(--rz-muted) !important;
    text-align: left !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
body.qr-app-page .qr-wizard-labels > span > i {
    display: grid !important;
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    place-items: center;
    border-radius: 50% !important;
    background: var(--rz-soft) !important;
    color: #64748B !important;
    font-size: 12px !important;
    font-style: normal;
    font-weight: 800;
    box-shadow: none !important;
    transition: background .2s ease, color .2s ease;
}
body.qr-app-page .qr-wizard-labels > span > i > em {
    font-style: normal;
    font-variant-numeric: tabular-nums;
}
body.qr-app-page .qr-wizard-labels > span > i > svg {
    display: none;
    width: 14px;
    height: 14px;
}
body.qr-app-page .qr-wizard-labels > span > b {
    min-width: 0;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.qr-app-page .qr-wizard-labels > span.is-current {
    border-color: rgba(227, 6, 19, .32) !important;
    background: #FFF5F5 !important;
    color: var(--rz-ink) !important;
    box-shadow: 0 6px 16px rgba(227, 6, 19, .08) !important;
}
body.qr-app-page .qr-wizard-labels > span.is-current > i {
    background: var(--rz-brand) !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgba(227, 6, 19, .28) !important;
}
body.qr-app-page .qr-wizard-labels > span.is-done {
    border-color: #CFEBDD !important;
    background: #F3FBF7 !important;
    color: #15795A !important;
}
body.qr-app-page .qr-wizard-labels > span.is-done > i {
    background: var(--rz-success) !important;
    color: #fff !important;
}
body.qr-app-page .qr-wizard-labels > span.is-done > i > em { display: none; }
body.qr-app-page .qr-wizard-labels > span.is-done > i > svg { display: block; }

@media (max-width: 900px) {
    body.qr-app-page .qr-wizard-labels > span {
        gap: 8px !important;
        padding: 8px 10px !important;
    }
    body.qr-app-page .qr-wizard-labels > span > b {
        font-size: 11.5px !important;
    }
}

/* Kart yüzeyleri — açık */
body.qr-app-page .qr-tour-chooser,
body.qr-app-page .qr-date-field,
body.qr-app-page .qr-time-field,
body.qr-app-page .qr-guest-field,
body.qr-app-page .qr-location-field,
body.qr-app-page .qr-simple-section,
body.qr-app-page .qr-optional,
body.qr-app-page .qr-review-package {
    background: var(--rz-card) !important;
    border: 1px solid var(--rz-line) !important;
    box-shadow: var(--rz-shadow-sm) !important;
    color: var(--rz-fg) !important;
}

body.qr-app-page .qr-review-details {
    overflow: hidden;
    margin-top: 12px;
    border: 1px solid var(--rz-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: var(--rz-shadow-sm) !important;
}
body.qr-app-page .qr-review-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 54px;
    padding: 0 14px;
    color: var(--rz-ink);
    list-style: none;
    cursor: pointer;
}
body.qr-app-page .qr-review-details > summary::-webkit-details-marker {
    display: none;
}
body.qr-app-page .qr-review-details-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
body.qr-app-page .qr-review-details-ico {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 9px;
    background: #FFF1F2;
    border: 1px solid #FECDD3;
    color: var(--rz-brand);
}
body.qr-app-page .qr-review-details-ico svg {
    display: block;
}
body.qr-app-page .qr-review-details-title b {
    color: var(--rz-ink);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.02em;
}
body.qr-app-page .qr-review-details-meta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #64748B;
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}
body.qr-app-page .qr-review-details-meta i {
    font-size: 11px;
    transition: transform .2s ease;
}
body.qr-app-page .qr-review-details[open] .qr-review-details-meta i {
    transform: rotate(180deg);
}
body.qr-app-page .qr-review-details .qr-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 12px 12px;
}
body.qr-app-page .qr-review-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    min-height: 68px;
    min-width: 0;
    margin: 0;
    padding: 12px !important;
    border: 1px solid #E8EEF4 !important;
    border-radius: 14px !important;
    background: #F8FAFC !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-review-row > i,
body.qr-app-page .qr-review-ico {
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    place-items: center;
    border-radius: 10px !important;
    background: #fff !important;
    border: 1px solid #E2E8F0;
    color: var(--rz-brand) !important;
    font-size: 13px !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-review-row > span {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
}
body.qr-app-page .qr-review-row small {
    color: #64748B !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
    line-height: 1.25;
}
body.qr-app-page .qr-review-row strong {
    margin: 0 !important;
    max-width: none !important;
    color: var(--rz-ink) !important;
    font-size: 13.5px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow-wrap: anywhere;
}
body.qr-app-page .qr-review-location {
    grid-column: 1 / -1;
}
@media (max-width: 520px) {
    body.qr-app-page .qr-review-details .qr-review-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
}


body.qr-app-page .qr-tour-chooser summary,
body.qr-app-page .qr-tour-chooser summary b,
body.qr-app-page .qr-tour-chooser summary strong,
body.qr-app-page #selectedTourSummary {
    color: var(--rz-ink) !important;
}
body.qr-app-page .qr-tour-chooser summary small,
body.qr-app-page .qr-tour-chooser summary em {
    color: var(--rz-muted) !important;
}

body.qr-app-page .qr-package label,
body.qr-app-page .qr-other-tour label,
body.qr-app-page .qr-counter {
    background: var(--rz-card) !important;
    border-color: var(--rz-line) !important;
    color: var(--rz-fg) !important;
    box-shadow: var(--rz-shadow-sm);
}
body.qr-app-page .qr-package-title strong,
body.qr-app-page .qr-counter-copy strong,
body.qr-app-page .qr-simple-section-head strong,
body.qr-app-page .qr-time-option b {
    color: var(--rz-ink) !important;
}
body.qr-app-page .qr-simple-section-head strong {
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
}
body.qr-app-page .qr-simple-section-head small {
    font-size: 13px !important;
    line-height: 1.4 !important;
}
body.qr-app-page .qr-package-body small,
body.qr-app-page .qr-counter-copy small,
body.qr-app-page .qr-time-option small,
body.qr-app-page .qr-simple-section-head small {
    color: var(--rz-muted) !important;
}

body.qr-app-page .qr-field :where(input, select, textarea) {
    background: var(--rz-soft) !important;
    border: 1px solid var(--rz-line-strong) !important;
    color: var(--rz-ink) !important;
    border-radius: 14px !important;
}
body.qr-app-page .qr-field :where(input, select, textarea):focus {
    background: #fff !important;
    border-color: var(--rz-brand) !important;
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .14) !important;
    outline: none;
}
body.qr-app-page .qr-field label {
    display: block;
    color: var(--rz-ink);
    font-size: 14px;
    font-weight: 750;
    letter-spacing: -.015em;
    line-height: 1.3;
}
body.qr-app-page .qr-field-ico {
    display: none !important;
}
body.qr-app-page .qr-field-hint,
body.qr-app-page .qr-label-note {
    color: var(--rz-muted) !important;
}
body.qr-app-page .qr-field-error {
    color: var(--rz-danger) !important;
    font-size: 12px;
    font-weight: 700;
    margin-top: 6px;
}

/* Bölüm başlıkları — rezervasyon sistemi tipi */
body.qr-app-page .qr-sec-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px;
    padding: 0 0 12px;
    border-bottom: 1px solid #E8EEF4;
}

body.qr-app-page .qr-sec-head-solo {
    justify-content: flex-start;
}
body.qr-app-page .qr-sec-copy {
    min-width: 0;
    flex: 1 1 auto;
}
body.qr-app-page .qr-sec-copy > label,
body.qr-app-page .qr-sec-copy > strong {
    display: block;
    margin: 0 !important;
    color: var(--rz-ink) !important;
    font-family: Manrope, system-ui, sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    letter-spacing: -.03em !important;
    line-height: 1.2 !important;
}
body.qr-app-page .qr-sec-copy > p,
body.qr-app-page .qr-sec-copy > small {
    display: block;
    margin: 5px 0 0 !important;
    color: #64748B !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}
body.qr-app-page .qr-req {
    margin-left: 2px;
    color: var(--rz-brand) !important;
    font-style: normal;
    font-weight: 900;
}

/* Tarih kartları */
body.qr-app-page .qr-date-title {
    margin-bottom: 14px;
}
body.qr-app-page .qr-date-title label i {
    display: none;
}
body.qr-app-page #selectedDateText {
    flex: 0 0 auto;
    align-self: center;
    background: var(--rz-soft) !important;
    border: 1px solid var(--rz-line);
    color: var(--rz-muted) !important;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: -.01em;
    white-space: nowrap;
}
body.qr-app-page #selectedDateText.has-date {
    background: #ECFDF5 !important;
    border-color: #A7F3D0;
    color: #047857 !important;
}
body.qr-app-page .qr-date-option {
    background: linear-gradient(180deg, #fff, #F8FAFC) !important;
    border: 1px solid var(--rz-line) !important;
    color: var(--rz-ink) !important;
    box-shadow: var(--rz-shadow-sm) !important;
    border-radius: 18px !important;
}
body.qr-app-page .qr-date-option small {
    color: #64748B !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .04em;
}
body.qr-app-page .qr-date-option strong {
    color: var(--rz-ink) !important;
    font-size: 28px !important;
    line-height: 1 !important;
    margin: 6px 0 3px !important;
    letter-spacing: -.03em;
}
body.qr-app-page .qr-date-option span {
    color: #64748B !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-date-option.is-selected {
    background: linear-gradient(160deg, #FFF5F5, #fff) !important;
    border-color: var(--rz-brand) !important;
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .12), var(--rz-shadow) !important;
    transform: translateY(-2px);
}
body.qr-app-page .qr-date-option.is-selected small,
body.qr-app-page .qr-date-option.is-selected strong {
    color: var(--rz-brand-hover) !important;
}
body.qr-app-page .qr-date-option.is-unavailable {
    background: #F1F5F9 !important;
    border-color: #E2E8F0 !important;
    opacity: .72;
}
body.qr-app-page .qr-date-option.is-unavailable strong,
body.qr-app-page .qr-date-option.is-unavailable span,
body.qr-app-page .qr-date-option.is-unavailable small {
    color: #94A3B8 !important;
}
body.qr-app-page .qr-date-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
    color: #64748B !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    line-height: 1.4;
}
body.qr-app-page .qr-date-hint b {
    color: #334155 !important;
    font-weight: 800;
    white-space: nowrap;
}

/* Saat seçenekleri */
body.qr-app-page .qr-time-option {
    background: var(--rz-card) !important;
    border: 1px solid var(--rz-line) !important;
    color: var(--rz-ink) !important;
    border-radius: 14px;
}
body.qr-app-page .qr-time-option.is-selected {
    border-color: var(--rz-brand) !important;
    background: #FFF1F2 !important;
}
body.qr-app-page .qr-availability.ok { color: var(--rz-success) !important; }
body.qr-app-page .qr-availability.bad { color: var(--rz-danger) !important; }

/* Ödeme planları */
body.qr-app-page .qr-payment-plans {
    display: block;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-payment-plans-head {
    display: flex !important;
    align-items: flex-start;
    gap: 0;
    width: 100%;
    float: none;
    margin: 0 0 14px;
    padding: 0 0 12px;
    border-bottom: 1px solid #E8EEF4;
    color: var(--rz-ink);
}
body.qr-app-page .qr-payment-plans-ico {
    display: none !important;
}
body.qr-app-page .qr-payment-plans-head span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
body.qr-app-page .qr-payment-plans-head strong {
    margin: 0 !important;
}
body.qr-app-page .qr-payment-plans-head small {
    display: none;
}
body.qr-app-page .qr-payment-plans-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
body.qr-app-page .qr-payment-plans label {
    position: relative;
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    cursor: pointer;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-payment-plans input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
body.qr-app-page .qr-plan-card {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px 13px;
    box-sizing: border-box;
    min-height: 112px;
    height: 100%;
    padding: 16px 15px 14px;
    border: 1.5px solid #E2E8F0;
    border-radius: 18px;
    background: linear-gradient(160deg, #fff 70%, #f8fafc) !important;
    box-shadow: 0 2px 8px rgba(15,23,42,.04);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .15s ease;
}
body.qr-app-page .qr-payment-plans label:hover .qr-plan-card {
    border-color: #CBD5E1;
    box-shadow: 0 4px 16px rgba(15,23,42,.08);
    transform: translateY(-1px);
}
body.qr-app-page .qr-plan-icon {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center;
    border-radius: 13px !important;
    font-size: 16px !important;
    background: #F1F5F9 !important;
    color: #334155 !important;
    border: 1px solid var(--rz-line);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
body.qr-app-page .qr-plan-icon.deposit {
    background: linear-gradient(145deg, #D1FAE5, #ECFDF5) !important;
    color: #065F46 !important;
    border-color: #6EE7B7;
    box-shadow: 0 4px 10px rgba(4,120,87,.15), inset 0 1px 0 rgba(255,255,255,.7);
}
body.qr-app-page .qr-plan-icon.full {
    background: linear-gradient(145deg, #BFDBFE, #EFF6FF) !important;
    color: #1E40AF !important;
    border-color: #93C5FD;
    box-shadow: 0 4px 10px rgba(29,78,216,.15), inset 0 1px 0 rgba(255,255,255,.7);
}
body.qr-app-page .qr-plan-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding-right: 22px;
}
body.qr-app-page .qr-plan-copy small {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 2px 7px;
    border-radius: 999px;
    background: #F1F5F9;
    color: #475569 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    line-height: 1.6;
    margin-bottom: 2px;
}
body.qr-app-page .qr-plan-copy strong {
    color: var(--rz-ink) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    letter-spacing: -.025em;
    line-height: 1.2 !important;
}
body.qr-app-page .qr-plan-copy em {
    color: #64748B !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    line-height: 1.35;
}
body.qr-app-page .qr-plan-check {
    position: absolute;
    top: 10px;
    right: 10px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1.5px solid #CBD5E1;
    border-radius: 50%;
    background: #fff;
    color: transparent;
    font-size: 10px;
}
body.qr-app-page .qr-payment-plans input:checked ~ .qr-plan-card,
body.qr-app-page .qr-payment-plans label:has(input:checked) .qr-plan-card {
    border-color: var(--rz-brand) !important;
    background: linear-gradient(160deg, #FFF7F7 60%, #FFF1F2) !important;
    box-shadow: 0 0 0 3px rgba(227,6,19,.1), 0 6px 20px rgba(227,6,19,.07);
    transform: translateY(-1px);
}
body.qr-app-page .qr-payment-plans input:checked ~ .qr-plan-card .qr-plan-check,
body.qr-app-page .qr-payment-plans label:has(input:checked) .qr-plan-check {
    border-color: var(--rz-brand);
    background: var(--rz-brand);
    color: #fff;
    box-shadow: 0 3px 8px rgba(227,6,19,.3);
}
body.qr-app-page .qr-plan-card > b {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: 11px;
    border-top: 1px solid #EEF2F6;
    color: var(--rz-brand) !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    letter-spacing: -.03em;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
body.qr-app-page .qr-payment-plans label.is-disabled {
    opacity: .42;
    cursor: not-allowed;
    filter: grayscale(.7);
}
body.qr-app-page .qr-payment-plans.is-invalid .qr-payment-plans-grid {
    padding: 4px;
    border: 1px solid #dc2626;
    border-radius: 18px;
    background: #fff7f7;
}
@media (max-width: 420px) {
    body.qr-app-page .qr-payment-plans-grid {
        grid-template-columns: 1fr;
    }
}

/* Alınış noktaları — açık tema */
.qr-pickup-buttons-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 4px 0 12px;
}
@media (min-width: 420px) {
    .qr-pickup-buttons-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.qr-loc-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 10px;
    border-radius: 14px;
    border: 1px solid var(--rz-line);
    background: var(--rz-soft);
    color: var(--rz-ink);
    font-size: 13px;
    font-weight: 750;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s var(--rz-ease), background .2s var(--rz-ease), box-shadow .2s var(--rz-ease), transform .2s var(--rz-spring);
    -webkit-tap-highlight-color: transparent;
}
.qr-loc-btn input { position: absolute; opacity: 0; pointer-events: none; }
.qr-loc-btn:hover {
    border-color: #F0A5A7;
    background: #fff;
}
.qr-loc-btn:has(input:checked) {
    background: linear-gradient(145deg, #FFF1F2, #FFE4E6);
    border-color: var(--rz-brand);
    color: var(--rz-brand-hover);
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .12);
}
.qr-loc-hotel-btn {
    grid-column: 1 / -1;
    background: #fff;
    border-style: dashed;
    border-color: #F0A5A7;
    color: var(--rz-brand-hover);
    gap: 8px;
}
.qr-loc-hotel-btn:has(input:checked) {
    border-style: solid;
}

.qr-participants-grid { display: grid; gap: 12px; margin-top: 12px; }
.qr-participant-field {
    background: var(--rz-soft);
    padding: 14px;
    border-radius: 14px;
    border: 1px solid var(--rz-line);
}
.qr-participant-field label {
    display: block;
    margin-bottom: 8px;
    color: var(--rz-ink);
    font-size: 13px;
    font-weight: 750;
}

body.qr-app-page .qr-pickup-mode {
    margin: 0;
    padding: 0;
    border: 0;
}
body.qr-app-page .qr-pickup-mode legend {
    display: block;
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    color: var(--rz-ink) !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    line-height: 1.35;
}
body.qr-app-page .qr-pickup-mode legend b {
    color: var(--rz-brand) !important;
    font-weight: 900;
}
body.qr-app-page .qr-pickup-mode > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
@media (max-width: 380px) {
    body.qr-app-page .qr-pickup-mode > div {
        grid-template-columns: 1fr;
    }
}
body.qr-app-page .qr-pickup-mode label {
    position: relative;
    display: block;
    min-width: 0;
    cursor: pointer;
}
body.qr-app-page .qr-pickup-mode input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
body.qr-app-page .qr-pickup-mode .qr-pickup-card {
    display: flex !important;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
    min-height: 78px;
    height: 100%;
    padding: 12px 12px;
    border: 1.5px solid var(--rz-line);
    border-radius: 16px;
    background: #fff !important;
    box-shadow: none;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.qr-app-page .qr-pickup-mode .qr-pickup-ico {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 11px;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    color: #0F172A;
}
body.qr-app-page .qr-pickup-mode .qr-pickup-ico svg {
    display: block;
}
body.qr-app-page .qr-pickup-mode .qr-pickup-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
}
body.qr-app-page .qr-pickup-mode .qr-pickup-copy b {
    color: var(--rz-ink) !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    line-height: 1.25;
}
body.qr-app-page .qr-pickup-mode .qr-pickup-copy small {
    color: #64748B !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}
body.qr-app-page .qr-pickup-mode input:checked + .qr-pickup-card {
    border-color: var(--rz-brand) !important;
    background: #FFF7F7 !important;
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .1);
}
body.qr-app-page .qr-pickup-mode input:checked + .qr-pickup-card .qr-pickup-ico {
    background: var(--rz-brand);
    border-color: var(--rz-brand);
    color: #fff;
}

body.qr-app-page .qr-optional {
    overflow: hidden;
    border: 1px solid var(--rz-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-optional summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    box-sizing: border-box;
    min-height: 52px;
    margin: 0;
    padding: 0 14px;
    color: var(--rz-ink) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    letter-spacing: -.01em;
    list-style: none;
    cursor: pointer;
}
body.qr-app-page .qr-optional summary::-webkit-details-marker {
    display: none;
}
body.qr-app-page .qr-optional summary::after {
    content: "+";
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border-radius: 9px;
    background: #FFF1F2;
    color: var(--rz-brand);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}
body.qr-app-page .qr-optional[open] summary::after {
    content: "−";
}

body.qr-app-page .qr-contact-error-summary {
    background: #FEF2F2 !important;
    border: 1px solid #FECACA !important;
    color: var(--rz-danger) !important;
}
body.qr-app-page .qr-location-field.is-invalid,
body.qr-app-page .qr-field.is-invalid input,
body.qr-app-page .qr-address-control.is-invalid {
    border-color: var(--rz-danger) !important;
}

/* Sticky aksiyon — aynı yükseklik / aynı radius / dikey merkez */
body.qr-app-page .qr-wizard-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: rgba(255, 255, 255, .96) !important;
    border-top: 1px solid var(--rz-line) !important;
    box-shadow: 0 -10px 30px rgba(7, 24, 46, .08) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
body.qr-app-page .qr-wizard-back,
body.qr-app-page .qr-wizard-next,
body.qr-app-page .qr-submit {
    box-sizing: border-box;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0;
    border-radius: 14px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.qr-app-page .qr-wizard-back {
    flex: 0 0 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    padding: 0 !important;
    background: var(--rz-soft) !important;
    border: 1px solid var(--rz-line) !important;
    color: var(--rz-ink) !important;
}
body.qr-app-page .qr-wizard-next,
body.qr-app-page .qr-submit {
    flex: 1 1 auto;
    width: auto;
    padding: 0 16px !important;
    gap: 8px;
    background: linear-gradient(135deg, var(--rz-brand), #FF4D4D) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(227, 6, 19, .28) !important;
    border: 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
}
body.qr-app-page .qr-wizard-next i,
body.qr-app-page .qr-submit i,
body.qr-app-page .qr-wizard-back i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transform: none;
}
body.qr-app-page .qr-wizard-next:active,
body.qr-app-page .qr-submit:active {
    transform: scale(.985);
}

/* Mobil özet çubuğu — açık */
body.qr-app-page .qr-mobile-summary-bar {
    background: rgba(255, 255, 255, .94) !important;
    border-top: 1px solid var(--rz-line);
    box-shadow: 0 -6px 18px rgba(7, 24, 46, .06);
}
#qrSummaryChip {
    color: var(--rz-ink) !important;
}

/* ================================================================
   KATILIMCI SAYAÇLARI — tek kart, sakin stepper
================================================================ */
/* Blok artık hep açık (bkz. syncStepOneFlow); giriş animasyonu adımın
   kendi geçişiyle üst üste biniyordu. */
body.qr-app-page .qr-guest-block {
    grid-column: 1 / -1;
    margin-top: 16px;
}
body.qr-app-page .qr-block-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

body.qr-app-page .qr-block-icon {
    display: none !important;
}
body.qr-app-page .qr-block-title strong {
    display: block;
}
body.qr-app-page .qr-block-title small {
    display: none;
}
body.qr-app-page .qr-time-field > label {
    display: none !important;
}
body.qr-app-page .qr-time-field .qr-sec-head {
    margin-bottom: 12px;
}

body.qr-app-page .qr-guest-groups {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid var(--rz-line);
    border-radius: var(--rz-radius);
    background: var(--rz-card);
    box-shadow: var(--rz-shadow-sm);
}
body.qr-app-page .qr-guest-groups .qr-guest-field {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-guest-groups .qr-guest-field + .qr-guest-field .qr-counter {
    border-top: 1px solid var(--rz-line);
}
body.qr-app-page .qr-guest-groups .qr-guest-field > label {
    display: none !important;
}
body.qr-app-page .qr-guest-groups .qr-counter {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 68px !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-guest-groups .qr-counter-icon {
    width: 38px !important;
    height: 38px !important;
    border: 1px solid var(--rz-line) !important;
    border-radius: 11px !important;
    background: var(--rz-soft) !important;
    color: #475569 !important;
    font-size: 14px !important;
}
body.qr-app-page .qr-guest-groups .qr-counter.is-filled .qr-counter-icon {
    border-color: rgba(227, 6, 19, .22) !important;
    background: #FFF1F2 !important;
    color: var(--rz-brand-hover) !important;
}
body.qr-app-page .qr-guest-groups .qr-counter-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
body.qr-app-page .qr-guest-groups .qr-counter-copy strong {
    margin: 0 !important;
    color: var(--rz-ink) !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    letter-spacing: -.01em;
    white-space: nowrap;
}
body.qr-app-page .qr-guest-groups .qr-counter-copy small {
    color: var(--rz-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body.qr-app-page .qr-guest-groups .qr-counter-copy small b {
    color: var(--rz-fg) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums;
}
body.qr-app-page .qr-guest-groups .qr-counter-copy small b.is-free {
    color: var(--rz-success) !important;
}
body.qr-app-page .qr-counter-steps {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--rz-line);
    border-radius: 12px;
    background: var(--rz-soft);
}
body.qr-app-page .qr-guest-groups .qr-counter-steps button {
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    place-items: center;
    border: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #475569 !important;
    font-size: 12px !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
body.qr-app-page .qr-guest-groups .qr-counter-steps button:hover:not(.is-limit) {
    background: #fff !important;
    color: var(--rz-brand) !important;
    box-shadow: var(--rz-shadow-sm) !important;
}
body.qr-app-page .qr-guest-groups .qr-counter-steps button:active:not(.is-limit) {
    transform: scale(.94);
}
body.qr-app-page .qr-guest-groups .qr-counter-steps button.is-limit {
    color: #CBD5E1 !important;
    cursor: not-allowed;
}
body.qr-app-page .qr-counter-value {
    min-width: 26px;
    color: var(--rz-ink);
    font-size: 15px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

/* Canlı tutar — adım 1 */
body.qr-app-page .qr-live-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 14px 16px;
    border-radius: var(--rz-radius);
    border: 1px solid var(--rz-line);
    background: var(--rz-card);
    box-shadow: var(--rz-shadow-sm);
}
body.qr-app-page .qr-live-total-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
body.qr-app-page .qr-live-total-copy b {
    color: var(--rz-ink);
    font-size: 14px;
    font-weight: 750;
}
body.qr-app-page .qr-live-total-copy em {
    color: var(--rz-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
}
body.qr-app-page .qr-live-total strong {
    color: var(--rz-ink);
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.03em;
    font-variant-numeric: tabular-nums;
}

/* İsteğe bağlı katılımcılar */
body.qr-app-page .qr-participants-optional {
    margin-top: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px dashed var(--rz-line-strong);
    background: var(--rz-soft);
}
body.qr-app-page .qr-participants-optional summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--rz-ink);
    font-size: 14px;
    font-weight: 750;
}
body.qr-app-page .qr-participants-optional summary::-webkit-details-marker { display: none; }
body.qr-app-page .qr-participants-optional summary em {
    color: var(--rz-muted);
    font-style: normal;
    font-weight: 600;
    font-size: 12px;
}
body.qr-app-page .qr-participants-optional[open] summary { margin-bottom: 12px; }

/* Banka el değişimi — kurumsal şerit */
body.qr-app-page .qr-bank-next {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin: 14px 0 0;
    padding: 14px 16px;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    background:
        linear-gradient(135deg, #F8FAFC 0%, #fff 55%),
        #fff;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
}
body.qr-app-page .qr-bank-next-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding-right: 14px;
    border-right: 1px solid #E2E8F0;
}
body.qr-app-page .qr-bank-next-brand img {
    display: block;
    width: auto;
    height: 22px;
    max-width: 112px;
    object-fit: contain;
}
body.qr-app-page .qr-bank-next-brand span {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #0F172A;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.2;
}
body.qr-app-page .qr-bank-next-copy {
    min-width: 0;
}
body.qr-app-page .qr-bank-next-copy strong {
    display: block;
    color: var(--rz-ink);
    font-size: 14.5px;
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.3;
}
body.qr-app-page .qr-bank-next-copy p {
    margin: 4px 0 0;
    color: #64748B;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.45;
}
body.qr-app-page.qr-rtl .qr-bank-next-brand {
    padding-right: 0;
    padding-left: 14px;
    border-right: 0;
    border-left: 1px solid #E2E8F0;
}
@media (max-width: 420px) {
    body.qr-app-page .qr-bank-next {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    body.qr-app-page .qr-bank-next-brand {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        padding: 0 0 10px;
        border-right: 0;
        border-bottom: 1px solid #E2E8F0;
    }
    body.qr-app-page.qr-rtl .qr-bank-next-brand {
        padding-left: 0;
        border-left: 0;
    }
}

/* legacy class — artık kullanılmıyor, çakışmayı önle */
body.qr-app-page .qr-bank-next-note {
    display: none !important;
}
body.qr-app-page .qr-review-consent-pay {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed var(--rz-line);
}
body.qr-app-page .qr-review-consent {
    align-items: start;
    gap: 12px;
    padding: 14px;
}
body.qr-app-page .qr-consent-box {
    width: 28px !important;
    height: 28px !important;
    margin-top: 2px;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: transparent !important;
    font-size: 12px !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-review-consent > input:checked + .qr-consent-box {
    border-color: var(--rz-brand) !important;
    background: var(--rz-brand) !important;
    color: #fff !important;
    box-shadow: none !important;
}
body.qr-app-page .qr-consent-copy > small {
    color: #64748B !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: -.01em !important;
    text-transform: none !important;
}
body.qr-app-page .qr-consent-copy > small i {
    display: none;
}
body.qr-app-page .qr-consent-copy > strong {
    margin-top: 4px !important;
    color: var(--rz-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: -.01em;
}
body.qr-app-page .qr-consent-copy > span {
    margin-top: 4px !important;
    color: #64748B !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}
body.qr-app-page .qr-consent-status {
    align-self: start;
    margin-top: 2px;
    padding: 5px 9px !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-consent-status i {
    font-size: 6px !important;
}
body.qr-app-page .qr-consent-footer {
    align-items: center;
    gap: 12px;
    padding: 11px 14px !important;
}
body.qr-app-page .qr-consent-footer a,
body.qr-app-page .qr-consent-footer > span {
    font-size: 12px !important;
    font-weight: 700 !important;
}
body.qr-app-page .qr-consent-footer a {
    padding: 6px 12px !important;
    border: 1.5px solid rgba(185,28,28,.25) !important;
    border-radius: 999px !important;
    background: rgba(185,28,28,.04) !important;
    text-decoration: none !important;
    letter-spacing: .01em;
    transition: background .18s, border-color .18s, box-shadow .18s;
}
body.qr-app-page .qr-consent-footer a:hover {
    background: rgba(185,28,28,.09) !important;
    border-color: rgba(185,28,28,.5) !important;
    box-shadow: 0 2px 8px rgba(185,28,28,.12);
}

body.qr-app-page .qr-review-consent-copy a,
body.qr-app-page .qr-consent-copy a {
    color: #b91c1c;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 750;
}
body.qr-app-page .qr-secure-panel {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #c7e7d4;
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(236, 253, 245, .95), rgba(255, 255, 255, .98)),
        #fff;
    box-shadow: var(--rz-shadow-sm);
}
body.qr-app-page .qr-secure-panel-head {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-bottom: 14px;
}
body.qr-app-page .qr-secure-panel-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background: #059669;
    color: #fff;
    font-size: 16px;
}
body.qr-app-page .qr-secure-panel-head strong {
    display: block;
    color: var(--rz-ink);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.02em;
}
body.qr-app-page .qr-secure-panel-head p {
    margin: 4px 0 0;
    color: var(--rz-muted);
    font-size: 13px;
    line-height: 1.5;
}
body.qr-app-page .qr-secure-panel .qr-payment-trustbar {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}
body.qr-app-page .qr-secure-panel .qr-payment-trustbar span,
body.qr-app-page .qr-secure-panel .qr-payment-trustbar a {
    min-height: 64px;
    padding: 10px 8px;
    border: 1px solid var(--rz-line);
    border-radius: 12px;
    background: #fff;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
}
body.qr-app-page .qr-secure-panel .qr-payment-trustbar strong {
    font-size: 12px !important;
    letter-spacing: 0;
    text-transform: none;
}
body.qr-app-page .qr-secure-panel .qr-payment-trustbar small {
    font-size: 11px !important;
    letter-spacing: 0;
    text-transform: none;
}
body.qr-app-page .qr-secure-panel .qr-card-brands {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    padding: 12px;
    border: 1px solid var(--rz-line);
    border-radius: 14px;
    background: #fff;
}
body.qr-app-page .qr-secure-panel .qr-card-brands > span {
    display: grid !important;
    min-width: 48px;
    height: 34px;
    place-items: center;
    padding: 4px 8px;
    border: 1px solid #edf0f4;
    border-radius: 9px;
    background: #fff;
}
body.qr-app-page .qr-secure-panel .qr-card-brands .qr-vakifbank {
    display: flex !important;
    min-width: 112px;
}
body.qr-app-page .qr-secure-panel .qr-card-brands .qr-tursab-brand {
    min-width: 40px;
    padding: 2px;
}
body.qr-app-page .qr-secure-panel .qr-card-brands .qr-tursab-brand img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}
body.qr-app-page .qr-secure-panel .qr-card-brands .qr-3ds-brand {
    min-width: 88px;
    padding: 4px 8px;
}
body.qr-app-page .qr-secure-panel .qr-card-brands .qr-3ds-brand img {
    max-width: 84px;
    max-height: 28px;
    object-fit: contain;
}
body.qr-app-page .qr-secure-panel .qr-card-brands > b {
    display: none;
}
body.qr-app-page .qr-secure-panel-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 12px 0 0;
    color: #475569;
    font-size: 12px;
    line-height: 1.45;
}
body.qr-app-page .qr-secure-panel-note i {
    margin-top: 2px;
    color: #0284c7;
}

/* Kurumsal mikro şerit — resmi logolar */
body.qr-app-page .qr-corp-microbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: -2px 0 14px;
    padding: 0 2px;
}
body.qr-app-page .qr-corp-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 4px 10px;
    border: 1px solid var(--rz-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--rz-shadow-sm);
}
body.qr-app-page .qr-corp-chip img {
    display: block;
    width: auto;
    max-height: 20px;
    object-fit: contain;
}
body.qr-app-page .qr-corp-chip em {
    color: #334155;
    font-style: normal;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .01em;
    white-space: nowrap;
}
body.qr-app-page .qr-corp-chip-bank {
    padding: 4px 8px;
}
body.qr-app-page .qr-corp-chip-bank img {
    max-height: 18px;
    max-width: 86px;
}

/* Intro güven logoları */
body.qr-app-page .qr-intro-trust-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--rz-line);
}
body.qr-app-page .qr-intro-trust-item {
    display: grid;
    height: 42px;
    min-width: 52px;
    place-items: center;
    padding: 6px 10px;
    border: 1px solid var(--rz-line);
    border-radius: 10px;
    background: #fff;
}
body.qr-app-page .qr-intro-trust-item img {
    display: block;
    max-height: 28px;
    width: auto;
    object-fit: contain;
}
body.qr-app-page .qr-intro-vakif {
    min-width: 112px;
}
body.qr-app-page .qr-intro-vakif img {
    max-height: 20px;
}
body.qr-app-page .qr-intro-3ds {
    min-width: 84px;
}
body.qr-app-page .qr-intro-3ds img {
    max-height: 24px;
}

/* Eski details stili — geriye dönük güvenlik */
body.qr-app-page .qr-payment-trust-details {
    display: none;
}

/* Intro — kompakt, her zaman görünür karşılama */
body.qr-app-page .qr-app-intro[hidden],
body.qr-app-page .qr-app-intro:not(.is-active) {
    display: none !important;
}
body.qr-app-page .qr-app-intro.is-active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
body.qr-intro-open .qr-wizard-labels,
body.qr-intro-open #wizardProgressTrack {
    display: none !important;
}
body.qr-intro-open .qr-form-card {
    overflow: visible !important;
}
body.qr-app-page .qr-intro-card {
    overflow: hidden;
    border: 1px solid var(--rz-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--rz-shadow);
}
body.qr-app-page .qr-intro-card-media {
    position: relative;
    height: min(42vw, 220px);
    min-height: 160px;
    background: #0b1b31;
}
body.qr-app-page .qr-intro-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%;
    display: block;
}
body.qr-app-page .qr-intro-card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(7, 24, 46, .55));
}
body.qr-app-page .qr-intro-card-body {
    padding: 18px 16px 8px;
}
body.qr-app-page .qr-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #FFF1F2;
    color: var(--rz-brand-hover);
    font-size: 11px;
    font-weight: 800;
}
body.qr-app-page .qr-intro-card-body h2 {
    margin: 12px 0 8px;
    color: var(--rz-ink) !important;
    font-family: Manrope, system-ui, sans-serif !important;
    font-size: clamp(1.35rem, 5.5vw, 1.7rem) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -.03em;
}
body.qr-app-page .qr-intro-card-body p {
    margin: 0;
    color: var(--rz-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}
body.qr-app-page .qr-intro-checks {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: grid;
    gap: 8px;
}
body.qr-app-page .qr-intro-checks li {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--rz-ink);
    font-size: 13px;
    font-weight: 700;
}
body.qr-app-page .qr-intro-checks i {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ECFDF5;
    color: var(--rz-success);
    font-size: 10px;
}
body.qr-app-page .qr-app-intro.is-active .qr-wizard-actions {
    display: flex !important;
    margin-top: 16px;
}
body.qr-reservation-v2 .qr-assistant-step-count.is-intro {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ================================================================
   MOBİL FULL-SCREEN KABUK
================================================================ */
@media (max-width: 767px) {
    body.qr-app-page > header,
    body.qr-app-page #site-header,
    body.qr-app-page .site-header,
    body.qr-app-page nav.main-nav,
    body.qr-app-page .gw-topbar,
    body.qr-app-page .gw-site-nav,
    body.qr-app-page > footer,
    body.qr-app-page #site-footer,
    body.qr-app-page .site-footer {
        display: none !important;
    }

    body.qr-app-page {
        min-height: 100dvh;
        overflow-x: hidden;
        width: 100vw;
        max-width: 100%;
        background: var(--rz-bg);
    }
    body.qr-app-page .qr-page {
        min-height: 100dvh;
        overflow-x: hidden;
        width: 100%;
        max-width: 100%;
    }

    body.qr-app-page .qr-hero,
    body.qr-app-page .qr-sales-strip,
    body.qr-app-page .qr-info,
    body.qr-app-page .qr-story,
    body.qr-app-page .qr-proof,
    body.qr-app-page .qr-faq,
    body.qr-app-page .qr-final-cta,
    body.qr-app-page .qr-scroll-progress,
    body.qr-app-page .qr-mobile-sticky {
        display: none !important;
    }

    body.qr-app-page .qr-shell {
        display: block;
        padding: 0;
        width: 100%;
        max-width: 100%;
        gap: 0;
        overflow-x: hidden;
    }

    body.qr-app-page .qr-form-card {
        padding: calc(88px + env(safe-area-inset-top)) 14px calc(var(--rz-dock-h) + 36px + env(safe-area-inset-bottom)) !important;
        border-radius: 0 !important;
        min-height: 100dvh;
        box-shadow: none !important;
    }

    body.qr-app-page .qr-wizard-step {
        padding-bottom: 12px !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }
    body.qr-app-page .qr-wizard-step.is-active {
        animation: rzStepFwd .38s var(--rz-spring) both;
    }
    body.qr-app-page[data-step-dir="back"] .qr-wizard-step.is-active {
        animation-name: rzStepBack;
    }

    @keyframes rzStepFwd {
        from { opacity: 0; transform: translate3d(18px, 0, 0); }
        to   { opacity: 1; transform: none; }
    }
    @keyframes rzStepBack {
        from { opacity: 0; transform: translate3d(-18px, 0, 0); }
        to   { opacity: 1; transform: none; }
    }

    body.qr-app-page .qr-wizard-actions {
        position: fixed !important;
        right: 0; bottom: 0; left: 0;
        z-index: 85;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    }
    body.qr-app-page .qr-wizard-back {
        flex: 0 0 52px !important;
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        padding: 0 !important;
        border-radius: 14px !important;
    }
    body.qr-app-page .qr-wizard-next,
    body.qr-app-page .qr-submit {
        flex: 1 1 auto;
        height: 52px !important;
        min-height: 52px !important;
        max-height: 52px !important;
        border-radius: 14px !important;
        padding: 0 16px !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px;
        line-height: 1 !important;
    }

    body.qr-app-page .qr-mobile-summary-bar {
        position: fixed;
        right: 0;
        bottom: calc(var(--rz-dock-h, 72px) + env(safe-area-inset-bottom));
        left: 0;
        z-index: 84;
        display: none;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 8px 16px;
    }
    body.qr-app-page .qr-mobile-summary-bar.has-content { display: flex; }
    #qrSummaryChip {
        display: flex;
        min-width: 0;
        flex: 1;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 12px;
        font-weight: 750;
        text-align: center;
    }
    body.qr-app-page .qr-summary-chip {
        display: inline-flex;
        min-width: 0;
        align-items: center;
        gap: 5px;
        padding: 5px 9px;
        border: 1px solid var(--rz-line);
        border-radius: 999px;
        background: #fff;
        box-shadow: 0 2px 6px rgba(7, 24, 46, .05);
    }
    body.qr-app-page .qr-summary-chip > i {
        flex: 0 0 auto;
        color: var(--rz-brand);
        font-size: 10px;
    }
    body.qr-app-page .qr-summary-chip > b {
        min-width: 0;
        overflow: hidden;
        color: var(--rz-ink);
        font-size: 11.5px;
        font-weight: 750;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    body.qr-app-page .qr-summary-chip:first-child > b {
        max-width: 38vw;
    }

    body.qr-app-page .qr-assistant-head {
        position: fixed !important;
        z-index: 90;
        top: 0; right: 0; left: 0;
        height: calc(64px + env(safe-area-inset-top));
        margin: 0 !important;
        padding: env(safe-area-inset-top) 14px 0 !important;
        border-radius: 0 !important;
    }

    body.qr-app-page .qr-date-field,
    body.qr-app-page .qr-time-field,
    body.qr-app-page .qr-location-field,
    body.qr-app-page .qr-simple-section,
    body.qr-app-page .qr-tour-chooser {
        border-radius: var(--rz-radius-lg) !important;
        padding: 14px !important;
    }

    body.qr-app-page .qr-date-option {
        width: 72px;
        min-width: 72px;
        height: 102px;
    }

    body.qr-app-page .qr-step-heading h2 {
        font-size: clamp(1.35rem, 5.4vw, 1.7rem) !important;
        line-height: 1.15 !important;
    }
    body.qr-app-page .qr-step-heading p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    body.qr-app-page .qr-guest-groups .qr-counter {
        padding: 11px 12px !important;
        gap: 10px;
    }
    body.qr-app-page .qr-guest-groups .qr-counter-copy strong { font-size: 13.5px !important; }
    body.qr-app-page .qr-guest-groups .qr-counter-copy small { font-size: 11.5px !important; }

    body.qr-app-page .qr-app-intro.is-active {
        padding-bottom: calc(var(--rz-dock-h, 72px) + 24px + env(safe-area-inset-bottom));
    }
    body.qr-app-page .qr-app-intro.is-active .qr-wizard-actions {
        position: fixed !important;
        right: 0; bottom: 0; left: 0;
        z-index: 95;
        display: flex !important;
        margin: 0 !important;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .97) !important;
        border-top: 1px solid var(--rz-line) !important;
        box-shadow: 0 -10px 30px rgba(7, 24, 46, .1) !important;
    }
    body.qr-app-page .qr-intro-card-media {
        height: 180px;
        min-height: 180px;
    }

    body.qr-app-page .qr-field input,
    body.qr-app-page .qr-field select,
    body.qr-app-page .qr-field textarea,
    body.qr-app-page .qr-address-control input {
        font-size: 16px !important;
        min-height: 52px;
    }
}

@media (prefers-reduced-motion: reduce) {
    @keyframes rzStepFwd { from { opacity: 0; } to { opacity: 1; } }
    @keyframes rzStepBack { from { opacity: 0; } to { opacity: 1; } }
    body.qr-app-page .qr-date-option.is-selected { transform: none; }
}

/* ================================================================
   İKON & GÖRSEL — kurumsal sakinlik
================================================================ */
body.qr-app-page .qr-bot-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px !important;
    background: #0B1B31 !important;
    border: 1px solid rgba(11, 27, 49, .12) !important;
    box-shadow: 0 6px 16px rgba(7, 24, 46, .12) !important;
    color: #fff !important;
}
body.qr-app-page .qr-bot-avatar b {
    font-style: normal !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    transform: none !important;
}
body.qr-app-page .qr-bot-avatar:after {
    display: none !important;
}

body.qr-app-page .qr-plan-icon {
    background: #F1F5F9 !important;
    color: #334155 !important;
    border: 1px solid var(--rz-line);
}
body.qr-app-page .qr-plan-icon.deposit {
    background: #ECFDF5 !important;
    color: #047857 !important;
    border-color: #A7F3D0;
}
body.qr-app-page .qr-plan-icon.full {
    background: #EFF6FF !important;
    color: #1D4ED8 !important;
    border-color: #BFDBFE;
}

body.qr-app-page .qr-review-payment {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    overflow: hidden;
    padding: 14px 14px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #07172d, #102b4c) !important;
    box-shadow: 0 14px 30px rgba(7, 23, 45, .18) !important;
}
body.qr-app-page .qr-payment-icon {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
    font-size: 15px !important;
}
body.qr-app-page .qr-payment-copy {
    min-width: 0;
}
body.qr-app-page .qr-payment-copy small {
    color: #C5D2E3 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    line-height: 1.3;
}
body.qr-app-page .qr-payment-copy strong {
    margin-top: 3px !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -.02em;
}
body.qr-app-page .qr-payment-copy em {
    margin-top: 4px !important;
    color: #93A4BB !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-style: normal !important;
    line-height: 1.35;
}
body.qr-app-page .qr-payment-lock {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 96px;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 5px 7px !important;
    border-radius: 10px !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
}
body.qr-app-page .qr-payment-lock img {
    display: block;
    width: auto;
    max-width: 82px;
    height: 22px;
    max-height: 22px;
    object-fit: contain;
}
@media (max-width: 420px) {
    body.qr-app-page .qr-review-payment {
        grid-template-columns: 36px minmax(0, 1fr) !important;
        gap: 10px !important;
    }
    body.qr-app-page .qr-payment-icon {
        width: 36px !important;
        height: 36px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }
    body.qr-app-page .qr-payment-lock {
        grid-column: 1 / -1;
        justify-self: start;
        max-width: none;
        padding: 6px 8px !important;
    }
    body.qr-app-page .qr-payment-lock img {
        max-width: 96px;
        height: 24px;
        max-height: 24px;
    }
}

body.qr-app-page .qr-intro-badge {
    background: #F1F5F9 !important;
    color: #334155 !important;
    border: 1px solid var(--rz-line);
    border-radius: 10px !important;
}
body.qr-app-page .qr-intro-badge i {
    color: var(--rz-brand);
}
body.qr-app-page .qr-intro-card-media img {
    object-position: center 40%;
}

@media (max-width: 767px) {
    body.qr-app-page .qr-secure-panel .qr-payment-trustbar {
        grid-template-columns: 1fr;
    }
}

/* Üstteki kurumsal şerit kaldırıldı — güven logoları intro/ödeme adımında */
body.qr-app-page .qr-corp-microbar { display: none !important; }

/* Telefon: gerçek bayrak + alan kodu (alanın yanında) */
body.qr-app-page .qr-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}
body.qr-app-page .qr-phone-row {
    display: grid;
    grid-template-columns: minmax(112px, 132px) minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
}
body.qr-app-page .qr-country-picker {
    position: relative;
}
body.qr-app-page .qr-country-toggle {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    border: 1px solid var(--rz-line);
    border-radius: 14px;
    background: #fff;
    color: var(--rz-ink);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body.qr-app-page .qr-country-toggle:hover,
body.qr-app-page .qr-country-picker.is-open .qr-country-toggle,
body.qr-app-page .qr-country-toggle:focus-visible {
    border-color: rgba(227, 6, 19, .45);
    box-shadow: 0 0 0 3px rgba(227, 6, 19, .08);
    outline: none;
}
body.qr-app-page .qr-country-toggle img,
body.qr-app-page .qr-country-option img {
    display: block;
    width: 28px;
    height: 20px;
    flex: 0 0 28px;
    object-fit: cover;
    border-radius: 3px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
}
body.qr-app-page .qr-country-toggle [data-country-code-label] {
    flex: 1;
    text-align: left;
    letter-spacing: .01em;
}
body.qr-app-page .qr-country-toggle > i {
    color: #94a3b8;
    font-size: 10px;
    transition: transform .18s ease;
}
body.qr-app-page .qr-country-picker.is-open .qr-country-toggle > i {
    transform: rotate(180deg);
}
body.qr-app-page .qr-country-list {
    position: absolute;
    z-index: 40;
    top: calc(100% + 6px);
    left: 0;
    width: min(300px, 86vw);
    max-height: 260px;
    overflow: auto;
    padding: 6px;
    border: 1px solid var(--rz-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(7, 24, 46, .16);
}
body.qr-app-page .qr-country-option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 10px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--rz-ink);
    cursor: pointer;
    text-align: left;
}
body.qr-app-page .qr-country-option:hover,
body.qr-app-page .qr-country-option[aria-selected="true"] {
    background: #FFF1F2;
}
body.qr-app-page .qr-country-name {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    font-weight: 700;
}
body.qr-app-page .qr-country-dial {
    color: var(--rz-brand);
    font-size: 12px;
    font-weight: 800;
}
body.qr-app-page .qr-phone-row #phone {
    min-width: 0;
    width: 100%;
}
body.qr-app-page .qr-field-phone.is-invalid .qr-country-toggle,
body.qr-app-page .qr-field-phone.is-invalid #phone {
    border-color: #dc2626;
}

@media (max-width: 420px) {
    body.qr-app-page .qr-phone-row {
        grid-template-columns: 118px minmax(0, 1fr);
        gap: 6px;
    }
    body.qr-app-page .qr-country-toggle {
        padding: 0 8px;
        gap: 6px;
        font-size: 12px;
    }
    body.qr-app-page .qr-country-toggle img {
        width: 24px;
        height: 17px;
        flex-basis: 24px;
    }
}

/* ================================================================
   MARKA KİMLİĞİ — form başlığındaki gerçek logo
================================================================ */
body.qr-app-page .qr-brand-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}
body.qr-app-page .qr-brand-logo img {
    display: block;
    width: auto;
    height: 34px;
    object-fit: contain;
}
body.qr-app-page .qr-assistant-stage {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding-left: 14px;
    margin-left: 2px;
    border-left: 1px solid var(--rz-line);
}
body.qr-app-page .qr-assistant-stage small {
    color: var(--rz-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Dil seçici — kompakt açılır menü (mobil + masaüstü) */
body.qr-app-page .qr-lang-switch {
    position: relative;
    flex: 0 0 auto;
    margin-inline-start: auto;
    margin-inline-end: 8px;
}
body.qr-app-page .qr-lang-switch > summary {
    list-style: none;
}
body.qr-app-page .qr-lang-switch > summary::-webkit-details-marker {
    display: none;
}
body.qr-app-page .qr-lang-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(241, 245, 249, .95);
    border: 1px solid var(--rz-line);
    color: var(--rz-ink);
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
body.qr-app-page .qr-lang-trigger img,
body.qr-app-page .qr-lang-flag {
    display: block;
    flex: 0 0 auto;
    width: 18px;
    height: 12px;
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .1);
    background: #e2e8f0;
}
body.qr-app-page .qr-lang-option .qr-lang-flag {
    width: 20px;
    height: 14px;
}
body.qr-app-page .qr-lang-trigger b {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
}
body.qr-app-page .qr-lang-caret {
    display: block;
    flex: 0 0 auto;
    color: var(--rz-muted);
    transition: transform .18s ease;
}
body.qr-app-page .qr-lang-switch[open] .qr-lang-trigger {
    background: #fff;
    box-shadow: 0 2px 8px rgba(7, 24, 46, .1);
}
body.qr-app-page .qr-lang-switch[open] .qr-lang-caret {
    transform: rotate(180deg);
}
body.qr-app-page .qr-lang-menu {
    position: absolute;
    top: calc(100% + 8px);
    inset-inline-end: 0;
    z-index: 120;
    display: grid;
    gap: 2px;
    min-width: 168px;
    padding: 6px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--rz-line);
    box-shadow: 0 16px 40px rgba(7, 24, 46, .16);
}
body.qr-app-page .qr-lang-option {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 10px;
    color: var(--rz-ink);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
}
body.qr-app-page .qr-lang-option img {
    display: block;
    flex: 0 0 auto;
    width: 20px;
    height: 14px;
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, .1);
    background: #e2e8f0;
}
body.qr-app-page .qr-lang-option span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.qr-app-page .qr-lang-option b {
    color: var(--rz-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
}
body.qr-app-page .qr-lang-option:hover,
body.qr-app-page .qr-lang-option:focus-visible {
    background: #F8FAFC;
    outline: none;
}
body.qr-app-page .qr-lang-option.is-active {
    background: #EFF6FF;
    color: #1D4ED8;
}
body.qr-app-page .qr-lang-option.is-active b {
    color: #1D4ED8;
}
@media (max-width: 767px) {
    body.qr-app-page .qr-lang-switch {
        margin-inline-end: 6px;
    }
    body.qr-app-page .qr-lang-trigger {
        min-height: 32px;
        padding: 4px 8px;
        gap: 5px;
    }
    body.qr-app-page .qr-lang-menu {
        min-width: min(200px, calc(100vw - 28px));
        inset-inline-end: -4px;
    }
    body.qr-app-page .qr-brand-logo img {
        height: 28px;
    }
    body.qr-app-page .qr-assistant-stage {
        padding-left: 10px;
        margin-left: 0;
    }
    body.qr-app-page .qr-assistant-stage small {
        font-size: 11px !important;
    }
}

/* Arapça (RTL) rezervasyon formu */
body.qr-app-page.qr-rtl .qr-assistant-stage {
    padding-left: 0;
    padding-right: 14px;
    margin-left: 0;
    margin-right: 2px;
    border-left: 0;
    border-right: 1px solid var(--rz-line);
}
body.qr-app-page.qr-rtl .qr-wizard-back .fa-arrow-left,
body.qr-app-page.qr-rtl .qr-wizard-next .fa-arrow-right {
    transform: scaleX(-1);
}

/* ================================================================
   MASAÜSTÜ — yapışkan özet paneli ve geniş form
================================================================ */
@media (min-width: 851px) {
    /* Flex, grid'e tercih edildi: yan panel herhangi bir nedenle gizlenirse
       form kartı boş sütun bırakmadan tüm genişliği kaplar. */
    body.qr-app-page .qr-shell {
        display: flex !important;
        width: min(1240px, calc(100% - 48px));
        align-items: flex-start;
        gap: 28px;
    }
    body.qr-app-page .qr-shell > .qr-form-card {
        min-width: 0;
        flex: 1 1 auto;
    }

    /* rezervasyon.css masaüstünde bu paneli tamamen gizliyordu. */
    body.qr-app-page .qr-info {
        display: block !important;
        flex: 0 0 clamp(320px, 30%, 392px);
        position: sticky;
        top: 96px;
        overflow: hidden;
        border: 1px solid var(--rz-line) !important;
        border-radius: 24px !important;
        background: var(--rz-card) !important;
        box-shadow: 0 18px 50px rgba(7, 24, 46, .09) !important;
    }
    body.qr-app-page .qr-info-media {
        position: relative;
        height: 168px;
    }
    body.qr-app-page .qr-info-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    body.qr-app-page .qr-info-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(7, 24, 46, .05) 40%, rgba(7, 24, 46, .72));
    }
    body.qr-app-page .qr-info-licence {
        position: absolute;
        z-index: 2;
        right: 14px;
        bottom: 12px;
        left: 14px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 7px 10px;
        border-radius: 10px;
        background: rgba(255, 255, 255, .95);
        color: var(--rz-ink);
        font-size: 11.5px;
        font-weight: 800;
        letter-spacing: .01em;
    }
    body.qr-app-page .qr-info-licence img {
        width: 22px;
        height: 22px;
        object-fit: contain;
    }
    body.qr-app-page .qr-info-body {
        padding: 20px !important;
    }
    body.qr-app-page .qr-side-kicker {
        display: inline-block;
        margin-bottom: 6px;
        color: var(--rz-brand-hover);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
    }
    body.qr-app-page .qr-side-head h2 {
        margin: 0 0 16px !important;
        color: var(--rz-ink) !important;
        font-size: 19px !important;
        font-weight: 800 !important;
        line-height: 1.3;
        letter-spacing: -.02em;
    }

    body.qr-app-page .qr-side-summary {
        display: grid;
        margin: 0;
        overflow: hidden;
        border: 1px solid var(--rz-line);
        border-radius: 14px;
    }
    body.qr-app-page .qr-side-row {
        display: grid;
        grid-template-columns: minmax(0, auto) minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 11px 13px;
    }
    body.qr-app-page .qr-side-row + .qr-side-row {
        border-top: 1px solid var(--rz-line);
    }
    body.qr-app-page .qr-side-row dt {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        color: var(--rz-muted);
        font-size: 12.5px;
        font-weight: 650;
        white-space: nowrap;
    }
    body.qr-app-page .qr-side-row dt i {
        width: 14px;
        color: #94A3B8;
        font-size: 12px;
        text-align: center;
    }
    body.qr-app-page .qr-side-row dd {
        margin: 0;
        color: var(--rz-ink);
        font-size: 13px;
        font-weight: 750;
        text-align: right;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.qr-app-page .qr-side-total {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: 10px;
        padding: 13px 14px;
        border-radius: 14px;
        background: var(--rz-ink);
        color: #fff;
    }
    body.qr-app-page .qr-side-total span {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    body.qr-app-page .qr-side-total b {
        font-size: 13px;
        font-weight: 700;
    }
    body.qr-app-page .qr-side-total em {
        color: #94A3B8;
        font-size: 11.5px;
        font-style: normal;
        font-weight: 600;
    }
    body.qr-app-page .qr-side-total strong {
        font-size: 1.3rem;
        font-weight: 800;
        letter-spacing: -.03em;
        font-variant-numeric: tabular-nums;
    }

    body.qr-app-page .qr-side-assurances {
        display: grid;
        gap: 10px;
        margin: 16px 0 0;
        padding: 0;
        list-style: none;
    }
    body.qr-app-page .qr-side-assurances li {
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        color: #334155;
        font-size: 12.5px;
        font-weight: 600;
        line-height: 1.45;
        letter-spacing: -.01em;
    }
    body.qr-app-page .qr-side-assurances .qr-assure-ico {
        display: grid;
        width: 28px;
        height: 28px;
        place-items: center;
        border-radius: 9px;
        background: #F1F5F9;
        border: 1px solid #E2E8F0;
        color: #0F172A;
    }
    body.qr-app-page .qr-side-assurances .qr-assure-ico svg {
        display: block;
    }

    body.qr-app-page .qr-side-brands {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px;
        margin-top: 16px;
        padding-top: 14px;
        border-top: 1px solid var(--rz-line);
    }
    body.qr-app-page .qr-side-brands span {
        display: grid;
        height: 34px;
        place-items: center;
        padding: 4px 8px;
        border: 1px solid var(--rz-line);
        border-radius: 9px;
        background: #fff;
    }
    body.qr-app-page .qr-side-brands img {
        display: block;
        width: auto;
        max-height: 20px;
        object-fit: contain;
    }

    body.qr-app-page .qr-side-support {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        align-items: center;
        gap: 11px;
        margin-top: 14px;
        padding: 11px 12px;
        border: 1px solid var(--rz-line);
        border-radius: 14px;
        background: var(--rz-soft);
        transition: border-color .16s ease, background .16s ease;
    }
    body.qr-app-page .qr-side-support:hover {
        border-color: rgba(227, 6, 19, .3);
        background: #FFF7F7;
    }
    body.qr-app-page .qr-side-support-icon {
        display: grid;
        width: 38px;
        height: 38px;
        place-items: center;
        border-radius: 11px;
        background: var(--rz-brand);
        color: #fff;
        font-size: 14px;
    }
    body.qr-app-page .qr-side-support small {
        display: block;
        color: var(--rz-muted);
        font-size: 11.5px;
        font-weight: 650;
    }
    body.qr-app-page .qr-side-support b {
        display: block;
        margin-top: 1px;
        color: var(--rz-ink);
        font-size: 14px;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
    }

    /* Form kartı — daha ferah masaüstü ritmi */
    body.qr-app-page .qr-form-card {
        padding: 30px 32px 32px !important;
        border: 1px solid var(--rz-line) !important;
        border-radius: 24px !important;
        box-shadow: 0 18px 50px rgba(7, 24, 46, .09) !important;
    }
    body.qr-app-page .qr-assistant-head {
        margin: -30px -32px 20px !important;
        padding: 18px 32px !important;
        border-radius: 24px 24px 0 0 !important;
    }
    body.qr-app-page .qr-step-heading h2 {
        font-size: 1.85rem !important;
        line-height: 1.16 !important;
    }
    body.qr-app-page .qr-step-heading p {
        max-width: 58ch;
        font-size: 14.5px !important;
        line-height: 1.6 !important;
    }

    /* İletişim adımı iki sütun: ad + telefon yan yana, e-posta tam genişlik */
    body.qr-app-page .qr-person-section .qr-simple-section-body {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 18px;
        align-items: start;
    }
    body.qr-app-page .qr-person-section .qr-field-email {
        grid-column: 1 / -1;
    }

    /* Tarih şeridi masaüstünde daha okunur */
    body.qr-app-page .qr-date-option {
        width: 78px;
        min-width: 78px;
        height: 104px;
    }

    /* Ödeme planları ve güven paneli yan yana okunur kalsın */
    body.qr-app-page .qr-secure-panel {
        padding: 18px 20px;
    }
}

@media (min-width: 1200px) {
    body.qr-app-page .qr-form-card {
        padding: 34px 38px 36px !important;
    }
    body.qr-app-page .qr-assistant-head {
        margin: -34px -38px 22px !important;
        padding: 18px 38px !important;
    }
}

/* ================================================================
   MASAÜSTÜ KART RİTMİ (≥768px)
   Kart yüzeyi (arka plan + kenarlık + gölge) yukarıda koşulsuz
   veriliyor, iç boşluk ve köşe yarıçapı ise yalnızca 767px altında
   tanımlıydı. 768px ve üzerinde bloklar köşesiz, boşluksuz beyaz
   levha gibi görünüyor ve başlık/şerit hairline kenarlığa yapışıyordu.
   Aşağıdaki blok mobildeki kart dilini masaüstüne taşır.
================================================================ */
@media (min-width: 768px) {
    body.qr-app-page .qr-date-field,
    body.qr-app-page .qr-time-field,
    body.qr-app-page .qr-location-field,
    body.qr-app-page .qr-simple-section {
        padding: 18px 20px !important;
        border-radius: 20px !important;
    }

    /* Mobil özet çubuğu yalnızca ≤767px'te konumlandırılıyor; 768–850px
       bandında stilsiz beyaz bir şerit olarak görünüyordu. Bilgiyi zaten
       yan panel ve canlı tutar veriyor. */
    body.qr-app-page .qr-mobile-summary-bar {
        display: none !important;
    }

    /* Tur seçici kendi iç boşluğunu taşıyor; yalnızca 20px'lik ortak
       sol hizaya çekiliyor ki tarih kartıyla aynı eksende dursun. */
    body.qr-app-page .qr-tour-chooser {
        border-radius: 20px !important;
    }
    body.qr-app-page .qr-tour-chooser > summary {
        padding: 16px 20px !important;
    }
    body.qr-app-page .qr-tour-chooser-body {
        padding: 0 20px 18px !important;
    }

    /* İsteğe bağlı bloklar (ek bilgiler): iç boşluk yine yalnızca mobil
       kuralda vardı, masaüstünde alanlar kenarlığa yapışıyordu.
       Katılımcı bloğu kendi boşluğunu taşıdığı için hariç tutulur. */
    body.qr-app-page .qr-optional:not(.qr-participants-optional) > summary {
        padding: 0 20px !important;
    }
    body.qr-app-page .qr-optional:not(.qr-participants-optional) > .qr-optional-fields {
        padding: 0 20px 18px !important;
    }

    /* Adım 1 dikey ritmi: bloklar arası tek bir boşluk değeri */
    body.qr-app-page .qr-step-slot {
        display: grid;
        gap: 16px;
    }
    body.qr-app-page .qr-step-slot > .qr-time-field,
    body.qr-app-page .qr-step-slot > .qr-guest-block {
        margin-top: 0 !important;
    }
    body.qr-app-page .qr-live-total {
        margin-top: 16px;
        padding: 16px 20px;
        border-radius: 20px;
    }

    /* Katılımcı sayacı: başlık ve satırlar tek kartın içinde,
       satırlar arası ince ayırıcıyla. */
    body.qr-app-page .qr-guest-block {
        padding: 18px 20px;
        border: 1px solid var(--rz-line);
        border-radius: 20px;
        background: var(--rz-card);
        box-shadow: var(--rz-shadow-sm);
    }
    body.qr-app-page .qr-guest-block .qr-guest-groups {
        margin-top: 0 !important;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    body.qr-app-page .qr-guest-block .qr-guest-groups .qr-counter {
        padding: 14px 0 !important;
    }

    /* Tarih şeridi: oklar yuvarlak ve kartın kenarından ayrık,
       kenarda kalan yarım kart sert kesilmek yerine soluyor. */
    body.qr-app-page .qr-date-picker {
        grid-template-columns: 40px minmax(0, 1fr) 40px;
        gap: 12px;
    }
    body.qr-app-page .qr-date-rail {
        padding: 6px 2px 14px;
        -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
        mask-image: linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 14px), transparent 100%);
    }
    body.qr-app-page .qr-date-arrow {
        width: 40px;
        height: 40px;
        border: 1px solid var(--rz-line-strong);
        border-radius: 50%;
        background: #fff;
        color: #475569;
        font-size: 12px;
        box-shadow: var(--rz-shadow-sm);
        transition: border-color .18s ease, background .18s ease, color .18s ease;
    }
    body.qr-app-page .qr-date-arrow:hover {
        border-color: var(--rz-brand);
        background: #FFF1F2;
        color: var(--rz-brand);
    }
    body.qr-app-page .qr-date-option {
        width: 72px;
        min-width: 72px;
        height: 98px;
        box-shadow: 0 1px 2px rgba(7, 24, 46, .04) !important;
    }
    body.qr-app-page .qr-date-option.is-selected {
        box-shadow: 0 0 0 2px var(--rz-brand), 0 8px 18px rgba(227, 6, 19, .14) !important;
    }
    body.qr-app-page .qr-date-hint {
        margin-top: 2px;
    }

    /* Aksiyon satırı: mobildeki sabit çubuk stili masaüstünde kartın
       içinde asılı beyaz bir şerit gibi duruyordu. */
    body.qr-app-page .qr-wizard-step > .qr-wizard-actions {
        margin-top: 22px !important;
        padding-top: 20px !important;
        justify-content: flex-end !important;
        background: transparent !important;
        border-top: 1px solid var(--rz-line) !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    body.qr-app-page .qr-wizard-step > .qr-wizard-actions .qr-wizard-back {
        margin-inline-end: auto !important;
    }
    body.qr-app-page .qr-wizard-step > .qr-wizard-actions .qr-wizard-next,
    body.qr-app-page .qr-wizard-step > .qr-wizard-actions .qr-submit {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 264px;
        padding: 0 28px !important;
    }
    /* Sonsuz dönen parıltı masaüstünde reklam bandı gibi duruyordu. */
    body.qr-app-page .qr-wizard-next::after,
    body.qr-app-page .qr-submit::after {
        display: none !important;
    }
}

/* ================================================================
   TİPOGRAFİ TABANI — okunabilir alt sınır
   rezervasyon.css'te mikro metinler 5-10px ve 900/950 ağırlıkta
   tanımlıydı (mobilde 5px'e kadar iniyordu). Sayfaya yüklenen Manrope
   400-800 taşıdığı için 900/950 zaten sentetik kalınlaşmaya düşüyor;
   metin hem okunmuyor hem sıkışmış görünüyordu.
   Kural: hiçbir metin 11px altına inmez, mikro metin ağırlığı 800'ü
   geçmez. Ölçek: eyebrow 11 · meta 12 · ikincil 12.5-13 · gövde 13 ·
   başlık 14-15.5 · tutar 14-15.
================================================================ */

/* --- Tur seçici başlığı: seçili tur artık ürün kartı gibi okunur --- */
body.qr-app-page .qr-tour-chooser > summary > span {
    gap: 14px;
}
body.qr-app-page .qr-chooser-thumb {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border-radius: 14px;
    background: var(--rz-soft);
    object-fit: cover;
}
body.qr-app-page .qr-tour-chooser > summary small {
    color: var(--rz-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .07em;
    text-transform: uppercase;
}
body.qr-app-page .qr-tour-chooser > summary strong {
    color: var(--rz-ink) !important;
    font-size: 15.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    line-height: 1.3;
}
body.qr-app-page .qr-chooser-meta {
    color: var(--rz-muted) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.35;
}
body.qr-app-page .qr-chooser-meta b {
    color: var(--rz-fg) !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
body.qr-app-page .qr-tour-chooser > summary em {
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--rz-line);
    border-radius: 999px;
    background: var(--rz-soft);
    color: var(--rz-brand-hover) !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-tour-chooser > summary em i {
    font-size: 10px;
}

/* --- Paket kartları --- */
body.qr-app-page .qr-package-badge {
    padding: 6px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
}
body.qr-app-page .qr-package-title strong {
    font-size: 17px !important;
    font-weight: 800 !important;
}
body.qr-app-page .qr-package-title em {
    padding: 5px 9px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .03em;
}
body.qr-app-page .qr-package-activity-title {
    margin-top: 8px !important;
    color: var(--rz-brand-hover) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}
body.qr-app-page .qr-package-body > small {
    color: var(--rz-muted) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}
body.qr-app-page .qr-package-services span {
    padding: 6px 9px !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
}

/* Yaş/fiyat skalası: 6px etiket + 9px tutar okunmuyordu */
body.qr-app-page .qr-package-age-scale {
    gap: 8px !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
}
body.qr-app-page .qr-package-age-scale > span {
    gap: 3px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
}
body.qr-app-page .qr-package-age-scale small {
    color: var(--rz-muted) !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
body.qr-app-page .qr-package-age-scale b {
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

/* --- "Diğer turlarımız" / "İncelediğiniz tur" listeleri --- */
body.qr-app-page .qr-other-tours > summary strong {
    font-size: 14.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
}
body.qr-app-page .qr-other-tours > summary small {
    margin-top: 3px !important;
    color: var(--rz-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4;
}
body.qr-app-page .qr-other-tours > summary em {
    gap: 8px;
    padding: 7px 11px;
    border: 1px solid var(--rz-line);
    border-radius: 999px;
    background: var(--rz-soft);
    color: var(--rz-brand-hover) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-other-tour label > span > strong {
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    line-height: 1.3 !important;
}
body.qr-app-page .qr-other-tour label > span > small {
    color: var(--rz-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}
body.qr-app-page .qr-other-tour label > span > b {
    color: var(--rz-brand-hover) !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
}

/* --- Paket kapsamı panelleri --- */
body.qr-app-page .qr-content-title small {
    color: var(--rz-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.qr-app-page .qr-content-title strong {
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.02em;
}
body.qr-app-page .qr-content-title em {
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
}
body.qr-app-page .qr-compact-includes span b {
    font-size: 12px !important;
    font-weight: 700 !important;
}
body.qr-app-page .qr-content-foot {
    color: var(--rz-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
}

/* --- Tarih kartları --- */
body.qr-app-page .qr-date-option small {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
}
body.qr-app-page .qr-date-option strong {
    font-size: 26px !important;
    font-weight: 800 !important;
}
body.qr-app-page .qr-date-option span {
    font-size: 11.5px !important;
    font-weight: 650 !important;
}
body.qr-app-page .qr-date-option.is-unavailable:after {
    padding: 3px 5px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .02em;
}

/* Ay geçişi: 45 günlük şeritte "31 Ağu -> 01 Eyl" fark edilmiyordu */
body.qr-app-page .qr-date-month {
    display: flex;
    width: 30px;
    min-width: 30px;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    margin: 0 2px;
    border-left: 1px dashed var(--rz-line-strong);
    color: var(--rz-muted);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
}

/* --- Alan ipuçları, hatalar, rozetler --- */
body.qr-app-page .qr-field-hint {
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}
body.qr-app-page .qr-label-note {
    font-size: 11.5px !important;
    font-weight: 650 !important;
}
body.qr-app-page .qr-step-error {
    font-size: 12.5px !important;
    font-weight: 700 !important;
}
body.qr-app-page .qr-contact-error-summary small {
    font-size: 12.5px !important;
    font-weight: 600 !important;
}
body.qr-app-page .qr-location-heading em {
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
}
body.qr-app-page .qr-assistant-step-count {
    font-size: 11.5px !important;
}
body.qr-app-page .qr-lang-trigger b,
body.qr-app-page .qr-lang-option b {
    font-size: 11.5px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-wizard-next > span small {
    font-size: 11.5px !important;
    font-weight: 650 !important;
}

/* --- Özet / kontrol adımı --- */
body.qr-app-page .qr-review-cover span {
    padding: 6px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .04em;
}
body.qr-app-page .qr-review-package-copy small {
    color: var(--rz-muted) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body.qr-app-page .qr-review-package-copy span {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
}
body.qr-app-page .qr-review-ready {
    padding: 6px 11px !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-consent-status .waiting,
body.qr-app-page .qr-consent-status .approved {
    font-size: 11.5px !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-bank-next-brand span {
    font-size: 11.5px !important;
    font-weight: 700 !important;
}
body.qr-app-page .qr-side-kicker,
body.qr-app-page .qr-intro-badge {
    font-size: 11.5px !important;
    font-weight: 750 !important;
}

/* Mobilde rezervasyon.css aynı metinleri 5-7px'e indiriyordu. */
@media (max-width: 767px) {
    body.qr-app-page .qr-package-badge {
        max-width: none !important;
        font-size: 10.5px !important;
        line-height: 1.3 !important;
    }
    body.qr-app-page .qr-package-title strong { font-size: 16px !important; }
    body.qr-app-page .qr-package-title em { font-size: 10.5px !important; }
    body.qr-app-page .qr-package-activity-title { font-size: 11.5px !important; }
    body.qr-app-page .qr-package-body > small { font-size: 12px !important; }
    body.qr-app-page .qr-package-services span { font-size: 11px !important; }
    body.qr-app-page .qr-package-age-scale small { font-size: 10.5px !important; }
    body.qr-app-page .qr-package-age-scale b { font-size: 13px !important; }
    body.qr-app-page .qr-compact-includes span b { font-size: 11.5px !important; }
    body.qr-app-page .qr-content-foot { font-size: 11.5px !important; }
    body.qr-app-page .qr-chooser-thumb {
        width: 48px;
        height: 48px;
        flex: 0 0 48px;
        border-radius: 12px;
    }
    body.qr-app-page .qr-tour-chooser > summary strong { font-size: 14.5px !important; }
    body.qr-app-page .qr-tour-chooser > summary em {
        padding: 7px 10px;
        font-size: 11.5px !important;
    }
    body.qr-app-page .qr-chooser-meta { font-size: 11.5px !important; }
}

/* --- Hareket saati şeridi --- */
body.qr-app-page .qr-time-option {
    min-height: 62px !important;
    padding: 10px 16px !important;
    gap: 3px !important;
}
body.qr-app-page .qr-time-option b {
    font-size: 15.5px !important;
    font-weight: 800 !important;
    font-variant-numeric: tabular-nums;
}
body.qr-app-page .qr-time-option small {
    color: var(--rz-muted) !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
}
body.qr-app-page .qr-time-option.is-selected small {
    color: var(--rz-brand-hover) !important;
    font-weight: 750 !important;
}
body.qr-app-page .qr-time-hint {
    font-size: 12px !important;
    font-weight: 650 !important;
}
/* Manrope 800'ün üstünü taşımıyor; 900/950 sentetik kalınlaşma üretiyordu. */
body.qr-app-page .qr-req,
body.qr-app-page .qr-assistant-step-count b {
    font-weight: 800 !important;
}

/* Seçili tur satırı tek satırda kalsın: uzun tur adı ve meta bilgisi
   sarmalanınca başlık 122px'e kadar büyüyordu. */
body.qr-app-page .qr-tour-chooser > summary > span,
body.qr-app-page .qr-tour-chooser > summary b {
    min-width: 0;
    flex: 1 1 auto;
}
body.qr-app-page .qr-tour-chooser > summary em {
    flex: 0 0 auto;
}
body.qr-app-page .qr-chooser-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Tur seçicideki paket kartlarında fiyat skalası gizliydi; misafir Combo
   Tur ile Sadece Rafting arasında fiyata bakmadan seçim yapmak zorundaydı.
   Etiketler artık okunur boyutta olduğu için skala geri açılıyor. */
body.qr-app-page.qr-reservation-v2 .qr-tour-chooser .qr-package-age-scale {
    display: grid !important;
}

/* rezervasyon.css'teki `.qr-tour-chooser > summary b` kuralı summary
   içindeki HER <b>'yi dikey flex kutusuna çeviriyor; meta satırındaki
   fiyat <b>'si de kutulaşıp satırı üçe bölüyordu. */
body.qr-app-page .qr-chooser-meta b {
    display: inline !important;
}

@media (max-width: 767px) {
    /* Mobilde tur kartının gövdesine 140px kalıyor; üç sütunlu yaş/fiyat
       skalası 33px'lik hücrelere sıkışıyordu. Aynı bilgi alt alta üç
       satırda (etiket solda, tutar sağda) rahat okunuyor. */
    body.qr-app-page .qr-package-age-scale {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 6px !important;
    }
    body.qr-app-page .qr-package-age-scale > span {
        flex-direction: row !important;
        align-items: center;
        justify-content: space-between;
        gap: 8px !important;
        padding: 7px 9px !important;
    }
    /* Daralan hücrede "0–5 yaş" iki satıra bölünüyordu; ayrıca paket
       açıklaması için konan `.qr-package small{min-height:42px}` kuralı
       bu etiketleri de 42px'e şişiriyordu. */
    body.qr-app-page .qr-package-age-scale > span small,
    body.qr-app-page .qr-package-age-scale > span b {
        flex: 0 0 auto;
        min-height: 0 !important;
        white-space: nowrap;
    }
    body.qr-app-page .qr-package-title {
        flex-wrap: wrap;
        row-gap: 6px;
    }
    /* Seçili tur satırında "Turu değiştir" metni yerini şerite bırakır;
       daralan alanda tur adı ve fiyat okunur kalsın. */
    body.qr-app-page .qr-chooser-cta-text {
        display: none;
    }
    body.qr-app-page .qr-tour-chooser > summary em {
        display: grid;
        width: 34px;
        min-width: 34px;
        height: 34px;
        place-items: center;
        padding: 0;
    }
    body.qr-app-page .qr-tour-chooser > summary em i {
        font-size: 11px;
    }
}

/* Küçük telefonlarda tur kartının görsel sütunu 118px'te kalıyordu:
   rezervasyon.css'te 390px ve 340px için daha dar sütunlar tanımlı ama
   767px bloğundaki 118px'lik kural dosyada daha sonra geldiği için hep
   o kazanıyordu. 320px'te metin sütununa 68px kalıyor, fiyat etiketleri
   hücreden taşıyordu. */
@media (max-width: 390px) {
    body.qr-app-page .qr-package label {
        grid-template-columns: 104px minmax(0, 1fr) !important;
    }
    body.qr-app-page .qr-package-age-scale > span {
        flex-direction: column !important;
        align-items: flex-start;
        gap: 2px !important;
    }
}
@media (max-width: 340px) {
    body.qr-app-page .qr-package label {
        grid-template-columns: 88px minmax(0, 1fr) !important;
    }
}

/* ================================================================
   BÖLÜM BAŞLIKLARI — çıplak etiket yerine ikonlu başlık
   Temel şablonda bölüm başlıklarının ikonu vardı, v3 katmanı onu
   `display:none` ile gizleyince geriye tek başına duran bir etiket
   kaldı ("Tur Tarihi *" + alt satır). Başlıklar artık marka renkli
   ikon kutusu, başlık ve durum çipiyle birlikte okunuyor.
================================================================ */
body.qr-app-page .qr-sec-ico {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    align-self: center;
    place-items: center;
    border: 1px solid #FECDD3;
    border-radius: 13px;
    background: linear-gradient(150deg, #FFF5F5, #FFF1F2);
    color: var(--rz-brand);
    font-size: 15px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
}
body.qr-app-page .qr-sec-head {
    align-items: center;
}
body.qr-app-page .qr-sec-copy > label,
body.qr-app-page .qr-sec-copy > strong {
    font-size: 1.0625rem !important;
}

/* Durum çipi: nokta gri iken tarih seçilmemiş, yeşile dönünce seçilmiş */
body.qr-app-page #selectedDateText {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
body.qr-app-page #selectedDateText::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #94A3B8;
}
body.qr-app-page #selectedDateText.has-date::before {
    background: var(--rz-success);
    box-shadow: 0 0 0 3px rgba(5, 150, 105, .16);
}

@media (max-width: 767px) {
    body.qr-app-page .qr-sec-ico {
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        border-radius: 11px;
        font-size: 14px;
    }
    /* Dar ekranda başlık + çip aynı satırda sıkışıyordu. */
    body.qr-app-page .qr-date-title {
        flex-wrap: wrap;
        row-gap: 10px;
    }
    body.qr-app-page .qr-date-title #selectedDateText {
        order: 3;
        width: 100%;
        justify-content: center;
    }
}

/* Dar ekranda üst bardaki adım adı ("Tur ve tarih") logo, dil ve 1/3
   çipiyle aynı satıra sığmayıp "Tur ve tar…" diye kesiliyordu. Adım
   bilgisini ilerleme çubuğu ve 1/3 çipi zaten veriyor; metin ekrandan
   kaldırılır ama aria-live duyurusu için erişilebilir kalır. */
@media (max-width: 420px) {
    body.qr-app-page .qr-assistant-stage {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }
}

/* ================================================================
   ADIM BAŞLIĞI HİYERARŞİSİ + TUTAR ÇAPASI
================================================================ */
@media (min-width: 768px) {
    /* Adım adı masaüstünde üç kez tekrarlanıyordu: üst barda
       "TUR, TARİH VE KİŞİ", adım çipinde "Tur, tarih & kişi", bir de
       başlığın üstündeki kırmızı etikette aynı metin. Çip şeridi zaten
       adımı işaretlediği için etiket kalkıyor ve H2 tek odak oluyor.
       (767px altında çip şeridi gizli olduğundan etiket orada kalır.) */
    body.qr-app-page .qr-wizard-step > .qr-step-heading > .qr-step-kicker {
        display: none;
    }
    body.qr-app-page .qr-step-heading {
        margin-bottom: 20px;
    }
    body.qr-app-page .qr-step-heading h2 {
        font-size: 1.9rem !important;
        letter-spacing: -.035em;
    }

    /* Yan paneldeki koyu "Toplam tutar" kartı sayfanın en güçlü öğesi;
       formdaki tutar ise beyaz kartlar arasında kayboluyordu. İkisi artık
       aynı yüzeyi paylaşıyor ve ödeme butonunun üstünde çapa oluşturuyor. */
    body.qr-app-page .qr-live-total {
        border: 0;
        background: var(--rz-ink);
        box-shadow: 0 14px 32px rgba(7, 24, 46, .18);
    }
    body.qr-app-page .qr-live-total-copy b {
        color: #fff;
    }
    body.qr-app-page .qr-live-total-copy em {
        color: #94A3B8;
    }
    body.qr-app-page .qr-live-total strong {
        color: #fff;
        font-size: 1.5rem;
    }
}

/* Zorunlu alan yıldızı başlığın yanında fazla sert duruyordu. */
body.qr-app-page .qr-req {
    color: #EF4444 !important;
    font-size: .8em;
    vertical-align: 2px;
}
