:root {
            --cor-primaria: #ffc107;
            --bg-page: #090909;
            --bg-panel: rgba(18, 18, 18, 0.92);
            --bg-panel-soft: rgba(255, 255, 255, 0.04);
            --text-main: #f5f1e8;
            --text-soft: rgba(245, 241, 232, 0.68);
            --border-soft: rgba(255, 255, 255, 0.08);
        }

        body {
            min-height: 100vh;
            margin: 0;
            color: var(--text-main);
            font-family: 'Montserrat', -apple-system, 'Segoe UI', sans-serif;
            background:
                radial-gradient(circle at top left, rgba(255, 215, 0, 0.18), transparent 28%),
                radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.08), transparent 22%),
                linear-gradient(135deg, #070707 0%, #151515 45%, #090909 100%);
        }

        /* Premium display font for headings + brand (booking, public cards) */
        .public-brand span,
        h1, h2, h3,
        .booking-step-title,
        .booking-page-shell h1,
        .booking-page-shell h2 {
            font-family: 'Playfair Display', Georgia, serif;
        }

        .public-shell {
            min-height: 100vh;
            padding: 32px 0 48px;
            max-width: 1320px;
        }

        .public-topbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            margin-bottom: 24px;
        }

        .public-brand {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            color: var(--text-main);
            text-decoration: none;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .public-brand span {
            font-size: clamp(0.95rem, 1.9vw, 2rem);
        }

        .public-brand img {
            width: 52px;
            height: 52px;
            object-fit: contain;
            filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3));
        }

        .public-actions {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .public-card {
            background: var(--bg-panel);
            border: 1px solid var(--border-soft);
            border-radius: 28px;
            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38);
            backdrop-filter: blur(18px);
            overflow: hidden;
        }

        @media (max-width: 992px) {
            .public-shell {
                padding-top: 16px;
                padding-bottom: 26px;
            }

            .public-card {
                border-radius: 20px;
            }
        }

        .btn-outline-gold {
            border: 1px solid rgba(255, 215, 0, 0.45);
            color: var(--text-main);
            background: transparent;
        }

        .btn-outline-gold:hover {
            background: rgba(255, 215, 0, 0.12);
            color: var(--text-main);
            border-color: rgba(255, 215, 0, 0.65);
        }

        .btn-gold {
            background: var(--cor-primaria);
            color: #000;
            border: none;
            font-weight: 700;
        }

        .btn-gold:hover {
            color: #000;
            filter: brightness(1.05);
        }

        @media (max-width: 768px) {
            .public-shell {
                padding-top: 10px;
                padding-bottom: 14px;
            }

            .public-topbar {
                flex-direction: column;
                align-items: stretch;
                margin-bottom: 10px;
                gap: 8px;
            }

            .public-brand {
                justify-content: flex-start;
                gap: 8px;
            }

            .public-brand img {
                width: 38px;
                height: 38px;
            }

            .public-brand span {
                font-size: 0.9rem;
            }

            .public-actions {
                justify-content: stretch;
                gap: 6px;
            }

            .public-actions > * {
                flex: 1 1 auto;
                min-height: 40px;
            }

            .public-booking-page .public-actions {
                display: none;
            }

            .public-booking-page .public-topbar {
                margin-bottom: 6px;
                align-items: center;
            }

            .public-booking-page .public-brand {
                width: 100%;
                justify-content: center;
            }
        }

        @media (max-width: 520px) {
            .public-brand span {
                letter-spacing: 0.03em;
                font-size: 0.98rem;
            }

            .public-actions {
                flex-direction: column;
            }

            .public-actions > * {
                width: 100%;
            }

            .public-card {
                border-radius: 16px;
            }
        }

        @media (max-width: 430px) {
            .public-shell {
                padding-top: 6px;
                padding-bottom: 10px;
            }

            .public-topbar {
                margin-bottom: 6px;
                gap: 6px;
            }

            .public-brand {
                gap: 8px;
            }

            .public-brand img {
                width: 30px;
                height: 30px;
            }

            .public-brand span {
                font-size: 0.78rem;
                letter-spacing: 0.01em;
            }

            .public-actions {
                display: none;
            }

            .public-card {
                border-radius: 12px;
            }
        }
