/* ============================================================================
   Noir — dark boutique, champagne accents. Layers on default.css.
   Black canvas, oversized uppercase titles, cinematic overlay chapters.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;500;600&family=Jost:wght@300;400;500&family=Bellefair&family=Heebo:wght@300;400;500&display=swap');

body.hotel-site.hs-theme-noir {
    --primary-color: #c8a96a;
    --primary-hover: #b39252;
    --primary-color-rgb: 200, 169, 106;
    --accent-color: #c8a96a;

    --hs-ink: #f2ede4;
    --hs-muted: #a39d93;
    --hs-bg: #0f0f10;
    --hs-surface: #18181a;
    --hs-cream: #151516;
    --hs-line: #2c2b2a;
    --hs-accent-hover: #ddc187;
    --hs-on-accent: #0f0f10;
    --hs-dark: #070707;
    --hs-on-dark: #d9d4cb;
    --hs-on-dark-accent: #c8a96a;
    --hs-header-bg: rgba(15,15,16,.86);
    --hs-header-solid: #0f0f10;
    --hs-radius: 0;
    --hs-btn-radius: 0;
    --hs-heading-weight: 400;
    --hs-serif: 'Bodoni Moda', 'Bellefair', Didot, serif;
    --hs-sans: 'Jost', 'Heebo', -apple-system, 'Segoe UI', sans-serif;
}
body.hotel-site.hs-theme-noir a { color: var(--primary-color); }

/* Hero: vertically centred, huge uppercase title */
body.hotel-site.hs-theme-noir .hs-hero { height: 100vh; align-items: center; }
body.hotel-site.hs-theme-noir .hs-hero__scrim { background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.2) 100%); }
[dir="rtl"] body.hotel-site.hs-theme-noir .hs-hero__scrim { background: linear-gradient(270deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.2) 100%); }
body.hotel-site.hs-theme-noir .hs-hero__title { text-transform: uppercase; letter-spacing: .04em; font-size: clamp(3rem, 9vw, 7.5rem); line-height: .95; }
body.hotel-site.hs-theme-noir .hs-hero__eyebrow { color: var(--accent-color); }
body.hotel-site.hs-theme-noir .hs-btn--solid { background: transparent; color: var(--accent-color); border: 1px solid var(--accent-color); }
body.hotel-site.hs-theme-noir .hs-btn--solid:hover { background: var(--accent-color); color: var(--hs-on-accent); }

/* Story */
body.hotel-site.hs-theme-noir .hs-story { background: var(--hs-bg); }
body.hotel-site.hs-theme-noir .hs-story__body { font-style: italic; }
body.hotel-site.hs-theme-noir .hs-rule { width: 1px; height: 64px; }

/* Chapters: full-bleed image with a floating caption panel */
body.hotel-site.hs-theme-noir .hs-chapter { display: block; position: relative; min-height: 92vh; }
body.hotel-site.hs-theme-noir .hs-chapter__img { position: absolute; inset: 0; min-height: 0; filter: saturate(.85) brightness(.8); }
body.hotel-site.hs-theme-noir .hs-chapter__text { position: absolute; bottom: 8vh; inset-inline-start: 6vw; max-width: 520px; background: rgba(15,15,16,.86); backdrop-filter: blur(6px); padding: clamp(2rem, 4vw, 3.2rem); border-top: 1px solid var(--accent-color); }
body.hotel-site.hs-theme-noir .hs-chapter--flip .hs-chapter__text { inset-inline-start: auto; inset-inline-end: 6vw; }
body.hotel-site.hs-theme-noir .hs-chapter__title { text-transform: uppercase; letter-spacing: .03em; }
body.hotel-site.hs-theme-noir .hs-chapter__blurb { color: var(--hs-muted); }

body.hotel-site.hs-theme-noir .hs-gallery { gap: 2px; background: var(--hs-bg); }
body.hotel-site.hs-theme-noir .hs-gallery__cell { filter: grayscale(.35); transition: filter .4s ease, transform .5s ease; }
body.hotel-site.hs-theme-noir .hs-gallery__cell:hover { filter: none; }
body.hotel-site.hs-theme-noir .hs-faq__head { text-transform: uppercase; letter-spacing: .06em; }
body.hotel-site.hs-theme-noir .hs-cta { border-top: 1px solid var(--hs-line); }

/* Inner pages */
body.hotel-site.hs-theme-noir .hs-pagehero { height: 60vh; }
body.hotel-site.hs-theme-noir .hs-pagehero__title { text-transform: uppercase; letter-spacing: .04em; }
body.hotel-site.hs-theme-noir .hs-lead p { color: var(--hs-ink); }
body.hotel-site.hs-theme-noir .hs-card { border-color: var(--hs-line); }
body.hotel-site.hs-theme-noir .hs-card:hover { box-shadow: 0 0 0 1px var(--accent-color); }
body.hotel-site.hs-theme-noir .hs-card__title { text-transform: uppercase; letter-spacing: .03em; }
body.hotel-site.hs-theme-noir .hs-contact__v a { color: var(--hs-ink); border-bottom-color: var(--hs-line); }
body.hotel-site.hs-theme-noir .hs-contact__map iframe { filter: invert(.9) hue-rotate(180deg) grayscale(.4); }

/* Chrome */
body.hotel-site.hs-theme-noir .hs-header { border-bottom-color: var(--hs-line); }
body.hotel-site.hs-theme-noir .hs-header__burger span { background: var(--hs-ink); }
body.hotel-site.hs-theme-noir .hs-header__drawer { border-top-color: var(--hs-line); }
body.hotel-site.hs-theme-noir .hs-header__drawer-link { border-bottom-color: var(--hs-line); }
body.hotel-site.hs-theme-noir .hs-header__book { background: transparent; color: var(--accent-color); border: 1px solid var(--accent-color); }
body.hotel-site.hs-theme-noir .hs-header__book:hover { background: var(--accent-color); color: var(--hs-on-accent); }
body.hotel-site.hs-theme-noir .hs-footer { border-top: 1px solid var(--hs-line); }

/* Booking widget + chain components on the dark canvas */
body.hotel-site.hs-theme-noir .booking-widget { border-color: var(--hs-line) !important; }
body.hotel-site.hs-theme-noir .booking-field-value, body.hotel-site.hs-theme-noir .booking-widget, body.hotel-site.hs-theme-noir .booking-widget * { color: var(--hs-ink); }
body.hotel-site.hs-theme-noir .booking-field:hover { background: #222 !important; }
body.hotel-site.hs-theme-noir .guest-dropdown, body.hotel-site.hs-theme-noir .booking-calendar-popup { background: var(--hs-surface) !important; color: var(--hs-ink) !important; }

@media (max-width: 800px) {
    body.hotel-site.hs-theme-noir .hs-chapter { min-height: 0; display: flex; flex-direction: column; }
    body.hotel-site.hs-theme-noir .hs-chapter__img { position: relative; min-height: 64vw; }
    body.hotel-site.hs-theme-noir .hs-chapter__text { position: relative; inset: auto; bottom: auto; max-width: none; }
}
