        /* ═══════════════════════════════════════════════════════════════════
           CIEL ROOFTOP — BRAND DESIGN SYSTEM
           Primary Gold #d5a573 | Cream #f1e2cb | Navy #182a42
           reserve.php — Arabic RTL
        ═══════════════════════════════════════════════════════════════════ */

        /* ── Design Tokens ─────────────────────────────────────────────── */
        :root {
            /* Background — Brand Deep Navy (from CIEL logo: ~#182a42) */
            --c-void: #182a42;
            /* brand navy minimum */
            --c-surface: #243b5a;
            --c-card: #243b5a;
            --c-card-hover: #2a4468;

            /* Borders */
            --c-border: rgba(213, 165, 115, .10);
            --c-border-lit: rgba(213, 165, 115, .22);

            /* Brand Gold — C17 M36 Y61 K0 → #d5a573 */
            --c-gold: #d5a573;
            --c-gold-dim: #b8845a;
            --c-gold-glow: rgba(213, 165, 115, .18);
            --c-gold-glass: rgba(213, 165, 115, .07);

            /* Brand Cream — C7 M12 Y23 K0 → #f1e2cb */
            --c-cream: #f1e2cb;
            --c-cream-dim: #d4c4a0;

            /* Text */
            --c-text-primary: #f1e2cb;
            --c-text-secondary: #9A8F7E;
            --c-text-muted: #4A4540;

            /* Semantic */
            --c-success: #4caf7d;
            --c-success-bg: rgba(76, 175, 125, .1);
            --c-error: #e07070;
            --c-error-bg: rgba(224, 112, 112, .1);
            --c-warning: #e0b870;
            --c-warning-bg: rgba(224, 184, 112, .1);

            /* Radii */
            --radius-sm: 6px;
            --radius-md: 12px;
            --radius-lg: 20px;
            --radius-xl: 32px;
            --radius-pill: 999px;

            /* Shadows */
            --shadow-card: 0 8px 48px rgba(0, 0, 0, .6);
            --shadow-glow: 0 0 48px rgba(213, 165, 115, .14);

            /* Fonts */
            --font-display: 'Cormorant Garamond', Georgia, serif;
            --font-body: 'Cairo', 'Tajawal', system-ui, sans-serif;

            --transition-base: 220ms cubic-bezier(.4, 0, .2, 1);
            --transition-slow: 420ms cubic-bezier(.4, 0, .2, 1);
        }

        /* ── Reset & Base ───────────────────────────────────────────────── */
        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            background-color: var(--c-void);
            color: var(--c-text-primary);
            font-family: var(--font-body);
            font-size: 15px;
            line-height: 1.65;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            -webkit-font-smoothing: antialiased;
        }

        /* ── Arch ambient glow ───────────────────────────────────────────── */
        /* ── Brand Name Lock ─────────────────────────────────────────── */
        /* Never translate 'CIEL Rooftop'. Preserve English luxury serif     */
        /* even when the page uses Cairo/Tajawal (Arabic) as body font.      */
        .brand-name-lock {
            font-family: 'Cormorant Garamond', 'Garamond', Georgia, serif !important;
            direction: ltr !important;
            display: inline-block;
            unicode-bidi: embed;
            letter-spacing: .06em;
            color: #f1e2cb;
        }

        /* ── Brand Name Lock ─────────────────────────────────────────── */
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            background:
                radial-gradient(ellipse 60% 40% at 50% -10%, rgba(213, 165, 115, .08) 0%, transparent 70%),
                radial-gradient(ellipse 40% 30% at 20% 90%, rgba(213, 165, 115, .04) 0%, transparent 60%);
            z-index: 0;
        }

        /* ── Page layout ────────────────────────────────────────────────── */
        .page-wrapper {
            position: relative;
            z-index: 1;
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 60px 20px 100px;
        }

        /* ── Logo / back link ───────────────────────────────────────────── */
        .site-nav {
            width: 100%;
            max-width: 620px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 48px;
        }

        .site-logo {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
        }

        .site-logo img {
            height: 40px;
            width: auto;
            max-width: 160px;
            object-fit: contain;
        }

        .site-logo-text {
            font-family: var(--font-display);
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--c-gold);
            letter-spacing: .04em;
        }

        .back-link {
            font-size: .82rem;
            color: var(--c-text-secondary);
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 6px;
            transition: color var(--transition-base);
            font-family: 'Cairo', sans-serif;
        }

        .back-link:hover {
            color: var(--c-gold);
        }

        .back-link svg {
            flex-shrink: 0;
        }

        /* ── Page heading ───────────────────────────────────────────────── */
        .page-heading {
            text-align: center;
            margin-bottom: 40px;
        }

        .page-heading .eyebrow {
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .2em;
            text-transform: uppercase;
            color: var(--c-gold);
            margin-bottom: 10px;
            font-family: 'Cairo', sans-serif;
        }

        .page-heading h1 {
            font-family: 'Cairo', sans-serif;
            font-size: clamp(1.8rem, 5vw, 2.8rem);
            font-weight: 700;
            color: var(--c-cream);
            line-height: 1.25;
        }

        .page-heading h1 em {
            font-style: normal;
            color: var(--c-gold);
        }

        .page-heading .subtitle {
            margin-top: 14px;
            color: var(--c-text-secondary);
            font-size: .88rem;
            max-width: 440px;
            margin-inline: auto;
            line-height: 1.7;
        }

        /* ── Arch decorative divider ────────────────────────────────────── */
        .arch-divider {
            width: 48px;
            height: 2px;
            background: linear-gradient(90deg, transparent, var(--c-gold), transparent);
            margin: 16px auto 0;
            border-radius: var(--radius-pill);
        }

        /* ── Form card ──────────────────────────────────────────────────── */
        .reservation-card {
            width: 100%;
            max-width: 620px;
            background: var(--c-card);
            border: 1px solid var(--c-border);
            border-radius: var(--radius-xl);
            box-shadow: var(--shadow-card);
            overflow: hidden;
        }

        /* ── Mobile Touch Targets ───────────────────────────────────────── */
        .cliq-copy-btn,
        .file-preview-remove {
            min-width: 44px;
            min-height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* ── Progress stepper ───────────────────────────────────────────── */
        .stepper {
            display: flex;
            align-items: stretch;
            border-bottom: 1px solid var(--c-border);
            direction: inherit;
        }

        .step {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 18px 8px;
            gap: 6px;
            position: relative;
            transition: background var(--transition-base);
        }

        /* separator on the left side (in RTL, left is the "end") */
        .step+.step::before {
            content: '';
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 1px;
            height: 50%;
            background: var(--c-border);
        }

        .step-number {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            border: 1.5px solid var(--c-border-lit);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: .75rem;
            font-weight: 700;
            color: var(--c-text-muted);
            transition: all var(--transition-base);
            font-family: 'Cairo', sans-serif;
        }

        .step-label {
            font-size: .7rem;
            font-weight: 600;
            letter-spacing: .02em;
            color: var(--c-text-muted);
            transition: color var(--transition-base);
            font-family: 'Cairo', sans-serif;
        }

        .step.active .step-number {
            border-color: var(--c-gold);
            background: var(--c-gold-glass);
            color: var(--c-gold);
            box-shadow: 0 0 14px var(--c-gold-glow);
        }

        .step.active .step-label {
            color: var(--c-gold);
        }

        .step.done .step-number {
            background: var(--c-gold);
            border-color: var(--c-gold);
            color: var(--c-void);
        }

        .step.done .step-label {
            color: var(--c-text-secondary);
        }

        /* ── Form sections ──────────────────────────────────────────────── */
        .form-section {
            padding: 36px 40px;
            display: none;
            animation: fadeSlideIn var(--transition-slow) both;
        }

        .form-section.visible {
            display: block;
        }

        @keyframes fadeSlideIn {
            from {
                opacity: 0;
                transform: translateY(14px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .section-title {
            font-family: 'Cairo', sans-serif;
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--c-cream);
            margin-bottom: 4px;
        }

        .section-subtitle {
            font-size: .82rem;
            color: #CBD5E1;
            margin-bottom: 28px;
            line-height: 1.6;
        }

        /* ── Form grid ──────────────────────────────────────────────────── */
        .form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 18px;
        }

        .form-group {
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .form-group.full {
            grid-column: 1 / -1;
        }

        label {
            font-size: .73rem;
            font-weight: 700;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: #F1E2CB;
            font-family: inherit;
            text-align: start;
        }

        input,
        select,
        textarea {
            background: var(--c-surface);
            border: 1px solid var(--c-border);
            border-radius: var(--radius-md);
            color: var(--c-text-primary);
            font-family: inherit;
            font-size: .93rem;
            padding-block: 12px;
            padding-inline: 16px;
            width: 100%;
            transition: border-color var(--transition-base), box-shadow var(--transition-base);
            outline: none;
            appearance: none;
            -webkit-appearance: none;
            text-align: start;
        }

        input:focus,
        select:focus,
        textarea:focus {
            border-color: var(--c-gold-dim);
            box-shadow: 0 0 0 3px var(--c-gold-glow);
        }

        input::placeholder,
        textarea::placeholder {
            color: var(--c-text-muted);
        }

        input:disabled,
        select:disabled,
        textarea:disabled {
            opacity: 0.6;
            cursor: not-allowed;
            background: rgba(24, 42, 66, 0.4);
        }

        /* Calendar icon on left side for RTL */
        input[type="date"] {
            text-align: start;
        }

        html[dir="rtl"] input[type="date"]::-webkit-calendar-picker-indicator {
            filter: invert(60%) sepia(30%) saturate(500%) hue-rotate(10deg);
            cursor: pointer;
            opacity: .75;
            margin-left: 0;
            margin-right: auto;
            order: -1;
        }

        html[dir="ltr"] input[type="date"]::-webkit-calendar-picker-indicator {
            filter: invert(60%) sepia(30%) saturate(500%) hue-rotate(10deg);
            cursor: pointer;
            opacity: .75;
            margin-right: 0;
            margin-left: auto;
            order: 1;
        }

        /* phone/email inputs remain LTR */
        input[type="tel"],
        input[type="email"] {
            direction: ltr;
            text-align: left;
        }

        /* ── Phone input group with +962 addon ── */
        .phone-input-group {
            display: flex;
            align-items: stretch;
            direction: ltr;
        }

        .phone-input-addon {
            display: flex;
            align-items: center;
            padding: 0 14px;
            background: rgba(213, 165, 115, 0.12);
            border: 1px solid var(--c-border);
            border-right: none;
            border-radius: var(--radius-md) 0 0 var(--radius-md);
            color: #d5a573;
            font-size: .93rem;
            font-weight: 700;
            font-family: inherit;
            letter-spacing: .04em;
            white-space: nowrap;
            user-select: none;
            pointer-events: none;
        }

        .phone-input-group input[type="tel"] {
            flex: 1;
            border-top-left-radius: 0;
            border-bottom-left-radius: 0;
        }

        /* select arrow adapts to RTL/LTR */
        select {
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239A8F7E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            padding-inline-end: 40px;
            padding-inline-start: 16px;
            cursor: pointer;
        }

        html[dir="rtl"] select {
            background-position: left 16px center;
        }

        html[dir="ltr"] select {
            background-position: right 16px center;
        }

        textarea {
            resize: vertical;
            min-height: 80px;
        }

        /* Field error state */
        input.field-error,
        select.field-error,
        textarea.field-error {
            border-color: var(--c-error);
        }

        .field-error-msg {
            font-size: .72rem;
            color: var(--c-error);
            margin-top: 2px;
            display: none;
            text-align: start;
        }

        .field-error-msg.visible {
            display: block;
        }

        /* ── Availability check button ───────────────────────────────────── */
        .btn-check-slot {
            width: 100%;
            margin-top: 24px;
            padding: 15px 24px;
            background: transparent;
            border: 1.5px solid var(--c-gold-dim);
            border-radius: var(--radius-md);
            color: var(--c-gold);
            font-family: 'Cairo', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            letter-spacing: .06em;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: all var(--transition-base);
            position: relative;
            overflow: hidden;
        }

        .btn-check-slot::before {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--c-gold-glass);
            opacity: 0;
            transition: opacity var(--transition-base);
        }

        .btn-check-slot:hover::before {
            opacity: 1;
        }

        .btn-check-slot:hover {
            border-color: var(--c-gold);
            box-shadow: 0 0 24px var(--c-gold-glow);
        }

        .btn-check-slot:active {
            transform: scale(.985);
        }

        .btn-check-slot:disabled {
            opacity: .4;
            cursor: not-allowed;
            transform: none;
        }

        .btn-check-slot .btn-spinner {
            width: 16px;
            height: 16px;
            border: 2px solid rgba(213, 165, 115, .3);
            border-top-color: var(--c-gold);
            border-radius: 50%;
            animation: spin .7s linear infinite;
            display: none;
        }

        .btn-check-slot.loading .btn-spinner {
            display: block;
        }

        .btn-check-slot.loading .btn-text {
            opacity: .6;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        /* ── Slot feedback banner ────────────────────────────────────────── */
        .slot-feedback {
            margin-top: 16px;
            padding: 14px 18px;
            border-radius: var(--radius-md);
            font-size: .85rem;
            display: flex;
            align-items: flex-start;
            gap: 12px;
            opacity: 0;
            transform: translateY(6px);
            transition: all var(--transition-slow);
            pointer-events: none;
        }

        .slot-feedback.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        .slot-feedback.success {
            background: var(--c-success-bg);
            border: 1px solid rgba(76, 175, 125, .25);
            color: var(--c-success);
        }

        .slot-feedback.error {
            background: var(--c-error-bg);
            border: 1px solid rgba(224, 112, 112, .25);
            color: var(--c-error);
        }

        .slot-feedback-icon {
            flex-shrink: 0;
            margin-top: 1px;
        }

        /* ── CliQ payment panel ─────────────────────────────────────────── */
        .cliq-panel {
            margin-top: 28px;
            padding: 24px 26px;
            background: var(--c-gold-glass);
            border: 1px solid rgba(213, 165, 115, .2);
            border-radius: var(--radius-lg);
            opacity: 0;
            max-height: 0;
            overflow: hidden;
            transition: opacity var(--transition-slow), max-height var(--transition-slow);
        }

        .cliq-panel.visible {
            opacity: 1;
            max-height: 420px;
        }

        .cliq-panel-title {
            font-family: 'Cairo', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            color: var(--c-gold);
            margin-bottom: 14px;
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .cliq-detail-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 0;
            border-bottom: 1px solid rgba(213, 165, 115, .1);
            font-size: .88rem;
        }

        .cliq-detail-row:last-of-type {
            border-bottom: none;
        }

        .cliq-detail-label {
            color: var(--c-text-secondary);
            font-size: .78rem;
            letter-spacing: .04em;
        }

        .cliq-detail-value {
            color: var(--c-cream);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 8px;
            direction: ltr;
        }

        .cliq-copy-btn {
            background: none;
            border: none;
            cursor: pointer;
            color: var(--c-gold-dim);
            padding: 4px;
            border-radius: var(--radius-sm);
            transition: color var(--transition-base), background var(--transition-base);
            display: flex;
            align-items: center;
        }

        .cliq-copy-btn:hover {
            color: var(--c-gold);
            background: var(--c-gold-glass);
        }

        .cliq-amount {
            font-family: var(--font-display);
            font-size: 1.7rem;
            font-weight: 600;
            color: var(--c-gold);
            margin-top: 14px;
            text-align: center;
            direction: ltr;
        }

        .cliq-note {
            font-size: .76rem;
            color: var(--c-text-secondary);
            margin-top: 8px;
            text-align: center;
            line-height: 1.6;
        }

        /* ── File upload zone ───────────────────────────────────────────── */
        .upload-zone {
            margin-top: 20px;
            border: 1.5px dashed var(--c-border-lit);
            border-radius: var(--radius-lg);
            padding: 32px 20px;
            text-align: center;
            cursor: pointer;
            transition: all var(--transition-base);
            position: relative;
            background: var(--c-surface);
        }

        .upload-zone:hover,
        .upload-zone.dragover {
            border-color: var(--c-gold-dim);
            background: var(--c-gold-glass);
        }

        .upload-zone input[type="file"] {
            position: absolute;
            inset: 0;
            opacity: 0;
            cursor: pointer;
            width: 100%;
            height: 100%;
            padding: 0;
            border: none;
        }

        .upload-icon {
            color: var(--c-gold-dim);
            margin-bottom: 12px;
        }

        .upload-label-text {
            font-size: .88rem;
            color: var(--c-text-secondary);
            line-height: 1.6;
        }

        .upload-label-text strong {
            color: var(--c-gold);
            font-weight: 600;
        }

        .upload-label-text .upload-hint {
            font-size: .74rem;
            margin-top: 4px;
            color: var(--c-text-muted);
        }

        /* File preview */
        .file-preview {
            margin-top: 14px;
            display: none;
            align-items: center;
            gap: 14px;
            padding: 12px 16px;
            background: var(--c-surface);
            border: 1px solid var(--c-border-lit);
            border-radius: var(--radius-md);
        }

        .file-preview.visible {
            display: flex;
        }

        .file-preview-thumb {
            width: 48px;
            height: 48px;
            border-radius: var(--radius-sm);
            object-fit: cover;
            border: 1px solid var(--c-border-lit);
            flex-shrink: 0;
        }

        .file-preview-info {
            flex: 1;
            min-width: 0;
        }

        .file-preview-name {
            font-size: .83rem;
            color: var(--c-cream);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            direction: ltr;
            text-align: left;
        }

        .file-preview-size {
            font-size: .73rem;
            color: var(--c-text-secondary);
            margin-top: 2px;
        }

        .file-preview-remove {
            background: none;
            border: none;
            cursor: pointer;
            color: var(--c-text-muted);
            padding: 4px;
            border-radius: var(--radius-sm);
            transition: color var(--transition-base);
            display: flex;
            align-items: center;
            flex-shrink: 0;
        }

        .file-preview-remove:hover {
            color: var(--c-error);
        }

        /* ── Submit button ──────────────────────────────────────────────── */
        .btn-submit {
            width: 100%;
            margin-top: 24px;
            padding: 16px 24px;
            background: linear-gradient(135deg, #d5a573 0%, #b8845a 100%);
            border: none;
            border-radius: var(--radius-md);
            color: var(--c-void);
            font-family: 'Cairo', sans-serif;
            font-size: .92rem;
            font-weight: 700;
            letter-spacing: .06em;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            transition: all var(--transition-base);
            box-shadow: 0 4px 28px rgba(213, 165, 115, .28);
        }

        .btn-submit:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 36px rgba(213, 165, 115, .42);
            background: linear-gradient(135deg, #d5a573 0%, #b8845a 100%);
        }

        .btn-submit:active {
            transform: translateY(0);
        }

        .btn-submit:disabled {
            opacity: .5;
            cursor: not-allowed;
            transform: none;
        }

        .btn-submit .btn-spinner {
            width: 18px;
            height: 18px;
            border: 2px solid rgba(15, 30, 48, .25);
            border-top-color: var(--c-void);
            border-radius: 50%;
            animation: spin .7s linear infinite;
            display: none;
        }

        .btn-submit.loading .btn-spinner {
            display: block;
        }

        .btn-submit.loading .btn-text {
            opacity: .7;
        }

        /* ── Global alert banner ────────────────────────────────────────── */
        .global-alert {
            padding: 16px 20px;
            border-radius: var(--radius-md);
            font-size: .88rem;
            line-height: 1.5;
            display: none;
            align-items: flex-start;
            gap: 12px;
            margin-top: 16px;
        }

        .global-alert.visible {
            display: flex;
        }

        .global-alert.success {
            background: var(--c-success-bg);
            border: 1px solid rgba(76, 175, 125, .25);
            color: var(--c-success);
        }

        .global-alert.error {
            background: var(--c-error-bg);
            border: 1px solid rgba(224, 112, 112, .25);
            color: var(--c-error);
        }

        /* ── Success screen ─────────────────────────────────────────────── */
        #success-screen {
            display: none;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 64px 40px;
            animation: fadeSlideIn var(--transition-slow) both;
        }

        #success-screen.visible {
            display: flex;
        }

        .success-icon-wrap {
            width: 72px;
            height: 72px;
            background: var(--c-success-bg);
            border: 1.5px solid rgba(76, 175, 125, .35);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 24px;
            animation: popIn .5s cubic-bezier(.34, 1.56, .64, 1) both;
        }

        @keyframes popIn {
            from {
                transform: scale(.4);
                opacity: 0;
            }

            to {
                transform: scale(1);
                opacity: 1;
            }
        }

        .success-title {
            font-family: 'Cairo', sans-serif;
            font-size: 1.7rem;
            font-weight: 700;
            color: var(--c-cream);
            margin-bottom: 10px;
        }

        .success-subtitle {
            font-size: .88rem;
            color: var(--c-text-secondary);
            max-width: 360px;
            line-height: 1.7;
        }

        .success-ref {
            margin-top: 20px;
            padding: 10px 20px;
            background: var(--c-gold-glass);
            border: 1px solid rgba(213, 165, 115, .2);
            border-radius: var(--radius-pill);
            font-size: .8rem;
            color: var(--c-gold-dim);
        }

        .success-ref strong {
            color: var(--c-gold);
        }

        /* ── Grace period disclaimer note ──────────────────────────── */
        .reservation-disclaimer {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            padding-block: 14px;
            padding-inline: 16px;
            margin-block-start: 20px;
            background: rgba(213, 165, 115, 0.05);
            /* Very subtle gold tint */
            border: 1px solid rgba(213, 165, 115, 0.15);
            /* Soft gold border */
            border-radius: var(--radius-md);
            font-size: .78rem;
            line-height: 1.7;
            color: var(--c-gold-dim);
            text-align: start;
            /* Logical property for LTR/RTL alignment */
        }

        .reservation-disclaimer-icon {
            flex-shrink: 0;
            margin-block-start: 2px;
            color: var(--c-gold-dim);
        }

        .reservation-disclaimer-text {
            font-family: inherit;
            /* Will inherit Cairo for AR, Inter for EN seamlessly */
            color: #CBD5E1;
        }

        /* ── Form divider ───────────────────────────────────────────────── */
        .form-divider {
            border: none;
            border-top: 1px solid var(--c-border);
            margin: 28px 0;
        }

        /* ── Toast notification ─────────────────────────────────────────── */
        .toast {
            position: fixed;
            bottom: 28px;
            left: 28px;
            /* left in RTL = visually right */
            background: var(--c-card);
            border: 1px solid var(--c-border-lit);
            border-radius: var(--radius-md);
            padding: 14px 18px;
            font-size: .83rem;
            color: var(--c-cream);
            box-shadow: var(--shadow-card);
            display: flex;
            align-items: center;
            gap: 10px;
            z-index: 9999;
            opacity: 0;
            transform: translateY(10px);
            transition: all var(--transition-base);
            pointer-events: none;
            font-family: 'Cairo', sans-serif;
        }

        .toast.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* ── Responsive ─────────────────────────────────────────────────── */
        @media (max-width: 600px) {
            .page-wrapper {
                padding: 32px 12px 80px;
            }

            .form-section {
                padding: 28px 22px;
            }

            .form-grid {
                grid-template-columns: 1fr;
            }

            .form-group.full {
                grid-column: 1;
            }

            .site-nav {
                margin-bottom: 32px;
            }
        }