/* Dark Cinematic theme (overrides base) */
:root {
    --maroon: #F5EFE6; --maroon-deep: #000; --saffron: #F59E0B; --saffron-hover: #FBBF24; --marigold: #FBBF24;
    --gold: #3A2F25; --gold-soft: #4A3C2E; --cream: #0E0B0A; --cream-2: #17120F; --card: rgba(255, 255, 255, .035);
    --ink: #F5EFE6; --muted: #A8A29E; --line: #2A221C; --green: #34D399;
    --font-display: 'Sora', system-ui, sans-serif; --font-serif: 'Sora', system-ui, sans-serif; --font-body: 'Manrope', system-ui, sans-serif;
    --hero-overlay: linear-gradient(180deg, rgba(14, 11, 10, .2) 0%, rgba(14, 11, 10, .55) 55%, rgba(14, 11, 10, .96) 100%), linear-gradient(90deg, rgba(14, 11, 10, .75), rgba(14, 11, 10, 0) 70%);
    --shadow: 0 1px 0 rgba(255, 255, 255, .04) inset;
    --shadow-hover: 0 0 0 1px rgba(245, 158, 11, .45), 0 24px 60px rgba(245, 158, 11, .14);
}
body.site { background: #0E0B0A; color: var(--ink); }
body.site::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .05; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"); }
.site main, .site-footer { position: relative; z-index: 1; }
.site h1, .site h2, .site h3, .site h4, .section-title, .block-title, .cta-inner h2 { text-transform: none !important; letter-spacing: -.03em; font-weight: 800; color: var(--ink); }
.text-muted { color: var(--muted) !important; }
.cta-band::before, .site-header::after, .page-hero::after, .tour-hero::after, .site-footer::before, .stats-card::before, .booking-card::before { display: none; }
.has-mandala::before, .has-mandala::after { opacity: .07; }
.hero-frame, .hero-arch, .arch-frame, .arch-frame img, .gallery-item { -webkit-mask: none; mask: none; }

.btn-site, .btn-site-outline, .btn-site-light, .btn-site-gold { border-radius: .8rem; text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 700; }
.btn-site, .btn-site-gold { background: var(--saffron); border-color: var(--saffron); color: #120c06 !important; box-shadow: 0 0 30px rgba(245, 158, 11, .35); }
.btn-site:hover, .btn-site:focus, .btn-site-gold:hover { background: var(--marigold); border-color: var(--marigold); color: #120c06 !important; box-shadow: 0 0 44px rgba(245, 158, 11, .5); }
.btn-site-outline { border-color: rgba(245, 239, 230, .25); color: var(--ink); }
.btn-site-outline:hover { background: var(--ink); color: #0E0B0A; border-color: var(--ink); }
.topbar { background: #000; color: var(--muted); border-bottom: 1px solid var(--line); }
.topbar a { color: var(--muted); }
.topbar i { color: var(--saffron); }
.site-header { background: rgba(14, 11, 10, .78); border-bottom-color: var(--line); }
.site-logo { background: #F5EFE6; padding: 5px 12px; border-radius: .7rem; height: 50px; }
.site-header .nav-link { color: var(--ink); text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 600; }
.site-header .nav-link:hover, .site-header .nav-link.active { color: var(--saffron); }
.site-header .nav-link::after { border-radius: 50%; transform: translateX(-50%) scale(0); box-shadow: 0 0 10px var(--saffron); }
.site-header .nav-link:hover::after, .site-header .nav-link.active::after { transform: translateX(-50%) scale(1); }
.nav-phone { color: var(--ink) !important; }
.navbar-toggler { color: var(--ink); }

.hero { padding-top: 1.5rem; }
.hero-frame { padding: 1px; background: linear-gradient(140deg, rgba(245, 158, 11, .8), rgba(245, 158, 11, 0) 40%, rgba(245, 158, 11, .5)); border-radius: 2rem; box-shadow: 0 0 80px rgba(245, 158, 11, .12); }
.hero-arch { border-radius: 2rem; min-height: 640px; align-items: flex-end; padding: 6rem 4.5rem 7rem; }
.hero h1 { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1; text-transform: uppercase !important; background: linear-gradient(180deg, #fff 30%, #FBBF24); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.eyebrow, .eyebrow.dark { color: var(--saffron); }
.stats-card { background: rgba(23, 18, 15, .85); backdrop-filter: blur(18px); border-color: var(--line); border-radius: 1.25rem; box-shadow: 0 30px 80px rgba(0, 0, 0, .5); }
.stat { border-color: var(--line) !important; text-align: left; }
.stat strong { color: var(--saffron); font-family: var(--font-display); font-weight: 800; }

.section-cream { background: #120E0C; }
.section-head { flex-direction: row; justify-content: space-between; align-items: flex-end; text-align: left; flex-wrap: wrap; }
.section-head > div { align-items: flex-start; }
.section-head .btn { margin-top: 0; }
.section-title::after { display: block; width: 56px; height: 3px; margin: 1rem 0 0; background: var(--saffron); border-radius: 3px; box-shadow: 0 0 18px var(--saffron); }
#about .section-title::after { margin-left: 0; }
.tour-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); justify-content: stretch; }
.price-pill small { margin-right: auto; margin-left: .3rem; }
.tour-card { background: var(--card); backdrop-filter: blur(14px); border-color: var(--line); border-radius: 1.4rem; text-align: left; padding: .7rem .7rem 1.3rem; }
.tour-card:hover { border-color: rgba(245, 158, 11, .5); }
.tour-card > :not(.tour-card-media):not(.seat-flag) { padding-left: .6rem; padding-right: .6rem; }
.arch-frame { padding: 0; background: none; border-radius: 1rem; overflow: hidden; position: relative; }
.arch-frame::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(14, 11, 10, .7)); pointer-events: none; }
.tour-card-media { aspect-ratio: 4 / 3.4; }
.seat-flag { top: 1.4rem; right: 1.4rem; background: rgba(14, 11, 10, .7); backdrop-filter: blur(10px); color: var(--green); border: 1px solid rgba(52, 211, 153, .4); }
.seat-flag.is-low { color: var(--saffron); border-color: rgba(245, 158, 11, .5); background: rgba(14, 11, 10, .7); }
.date-chip { margin: 1rem 0 0; text-transform: none; letter-spacing: .04em; color: var(--saffron); }
.tour-card-title a { color: var(--ink); }
.tour-card-title a:hover { color: var(--saffron); }
.tour-card-info, .tour-card-meta, .tour-card-desc { color: var(--muted); }
.seat-meter-bar { background: #241c16; border: 0; }
.seat-meter-bar span { background: linear-gradient(90deg, var(--saffron), #FDE68A); box-shadow: 0 0 12px rgba(245, 158, 11, .6); }
.price-pill { background: rgba(245, 158, 11, .1); border: 1px solid rgba(245, 158, 11, .35); color: var(--saffron) !important; border-radius: .8rem; justify-content: space-between; margin: 1.1rem .6rem 0; }
.price-pill:hover { background: var(--saffron); color: #120c06 !important; }

.about-media { border-radius: 1.6rem; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 0 0 1px var(--line), 0 30px 80px rgba(0,0,0,.6); }
.why-item, .contact-card, .panel, .empty-state, .highlight-list li, .booking-card { background: var(--card); border-color: var(--line); border-radius: 1.1rem; }
.why-item:hover, a.contact-card:hover { border-color: rgba(245, 158, 11, .5); }
.why-item i, .contact-card i { background: rgba(245, 158, 11, .12); color: var(--saffron); border-radius: .9rem; }
.why-item h4 { color: var(--ink); }
.contact-card { text-align: left; align-items: flex-start; color: var(--ink) !important; }
.contact-card small { color: var(--saffron); }
.cta-band { background: linear-gradient(120deg, #1d140d, #0E0B0A); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cta-inner p { color: var(--muted); }

.page-hero { text-align: left; padding: 7rem 0 5rem; }
.page-hero h1, .tour-hero h1 { text-transform: none; }
.pill { background: transparent; border-color: var(--line); color: var(--ink) !important; }
.pill.active { background: var(--saffron); border-color: var(--saffron); color: #120c06 !important; }
.filter-pills, .tour-subnav .container { justify-content: flex-start; }
.tour-subnav { background: rgba(14, 11, 10, .9); backdrop-filter: blur(12px); }
.tour-subnav a { text-transform: none; letter-spacing: 0; color: var(--muted); }
.tour-facts { background: rgba(14, 11, 10, .55); border-color: rgba(245, 158, 11, .3); border-radius: 1rem; }
.tour-facts small { color: var(--saffron); }
.tour-hero-tags span { border-color: rgba(245, 239, 230, .2); }
.crumbs a { color: #E7DED3; }
.enquiry-result.alert-success { background: rgba(52, 211, 153, .1); border-color: rgba(52, 211, 153, .35); color: #A7F3D0; }
.enquiry-result.alert-danger { background: rgba(248, 113, 113, .1); border-color: rgba(248, 113, 113, .35); color: #FECACA; }
.site .alert-warning { background: rgba(245, 158, 11, .1); border-color: rgba(245, 158, 11, .35); color: #FDE68A; }
.block-title::after { background: linear-gradient(90deg, rgba(245, 158, 11, .6), transparent); }
.rich-text, .accordion-body { color: #D6CFC6; }
.highlight-list i { color: var(--saffron); }
.accordion.itinerary .accordion-item, .accordion.faq .accordion-item { background: var(--card); border-color: var(--line); border-radius: 1rem !important; }
.accordion-button, .accordion-body { background: transparent; color: var(--ink); }
.accordion-button:not(.collapsed) { background: rgba(245, 158, 11, .08); color: var(--saffron); }
.accordion-button::after { filter: invert(1) brightness(1.6); }
.day-badge { background: var(--saffron); color: #120c06; border-radius: 50rem; text-transform: none; }
.inc-box { border-color: var(--line); border-radius: 1.1rem; }
.inc-box.inc { background: rgba(52, 211, 153, .06); }
.inc-box.exc { background: rgba(248, 113, 113, .06); }
.inc-box.exc h4 { color: #FCA5A5; }
.gallery-item { border-radius: 1rem; overflow: hidden; aspect-ratio: 1; }
.gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
.booking-card { background: rgba(23, 18, 15, .9); backdrop-filter: blur(18px); box-shadow: 0 0 0 1px rgba(245, 158, 11, .25), 0 30px 80px rgba(0, 0, 0, .5); }
.booking-price strong { color: var(--saffron); font-weight: 800; }
.booking-seats { background: rgba(255, 255, 255, .04); }
.seat-stats strong, .booking-form-title { color: var(--ink); }
.booking-alt a { background: transparent; border-color: var(--line); color: var(--ink); }
.enquiry-form .form-control, .enquiry-form .form-select { background-color: #0E0B0A; border-color: var(--line); color: var(--ink); border-radius: .7rem; }
.enquiry-form .form-control::placeholder { color: #6b625b; }
.enquiry-form .form-control:focus, .enquiry-form .form-select:focus { background-color: #0E0B0A; color: var(--ink); border-color: var(--saffron); box-shadow: 0 0 0 .2rem rgba(245, 158, 11, .15); }
.enquiry-form .form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23F5EFE6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
.map-wrap { border-color: var(--line); }
.map-placeholder { background: var(--card); }

.site-footer { background: #000; border-top: 1px solid var(--line); color: var(--muted); }
.site-footer h6 { font-family: var(--font-body); color: var(--ink); letter-spacing: .14em; font-size: .78rem; }
.footer-links a, .footer-contact a { color: var(--muted); }
.footer-links a:hover { color: var(--saffron); }
.footer-contact i { color: var(--saffron); }
.footer-social a { border-color: var(--line); }
.footer-social a:hover { background: var(--saffron); color: #120c06; }
.footer-bottom { border-color: var(--line); }
@media (max-width: 575.98px) {
    .hero-arch { padding: 5rem 1.4rem 6rem; min-height: 560px; border-radius: 1.4rem; }
    .hero-frame { border-radius: 1.4rem; }
    .tour-grid { grid-template-columns: 1fr; }
}
