/* ==================================================================
 * Engle Haven — visual upgrade layer
 *
 * Sits on top of the Elementor-built pages and the base theme tokens.
 * Targets Elementor's stable class names and the theme's own classes.
 * Applies 2026 luxury-hospitality web craft: fluid type, generous
 * rhythm, refined motion, image finesse, micro-detail.
 * ================================================================== */

/* ---- 1. Fluid type scale ----------------------------------------- *
 * Headings scale smoothly with the viewport — no abrupt mobile jumps.
 * Elementor sets per-widget font-size; we override the heading widget
 * sizes site-wide with clamp() and let Elementor's colour stand. */
.elementor-widget-heading .elementor-heading-title {
    text-wrap: balance;
    letter-spacing: 0.012em;
}

/* h1 — hero display */
.elementor-widget-heading .elementor-heading-title.elementor-size-xxl,
.elementor-element h1.elementor-heading-title {
    font-size: clamp(2.6rem, 1.6rem + 3.6vw, 4.4rem) !important;
    line-height: 1.08 !important;
    font-weight: 500 !important;
}

/* h2 — section titles */
.elementor-element h2.elementor-heading-title {
    font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem) !important;
    line-height: 1.14 !important;
}

/* h3 — card / row titles */
.elementor-element h3.elementor-heading-title {
    font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.8rem) !important;
    line-height: 1.2 !important;
}

/* The gold eyebrow label — airy, refined tracking */
.elementor-element h6.elementor-heading-title {
    letter-spacing: 0.34em !important;
    text-indent: 0.34em;
    font-size: clamp(0.66rem, 0.6rem + 0.2vw, 0.78rem) !important;
}

/* Body copy — comfortable measure, no orphans */
.elementor-widget-text-editor {
    text-wrap: pretty;
}
.elementor-widget-text-editor p {
    font-size: clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
}

/* ---- 2. Section rhythm — more air -------------------------------- *
 * Luxury reads as breathing room. Every section band carries the
 * `eh-band` class; scale its vertical padding fluidly with clamp().
 * !important overrides Elementor's inline px padding. */
.e-con.eh-band {
    padding-top: clamp(4rem, 2.6rem + 6vw, 8rem) !important;
    padding-bottom: clamp(4rem, 2.6rem + 6vw, 8rem) !important;
    padding-left: clamp(1.25rem, 5vw, 4rem) !important;
    padding-right: clamp(1.25rem, 5vw, 4rem) !important;
}

/* Inner content wraps — a touch more rhythm between stacked widgets. */
.e-con.eh-band > .e-con-inner > .elementor-widget + .elementor-widget {
    margin-top: 0.35rem;
}

/* ---- 3. Sticky header — refined on scroll ------------------------ *
 * Hello's header is .site-header; give it a translucent, blurred,
 * shadowed state once the page is scrolled (class added by JS). */
.site-header {
    transition: background-color 0.35s ease, box-shadow 0.35s ease,
                backdrop-filter 0.35s ease, padding 0.35s ease;
}
.site-header.eh-header-scrolled {
    background-color: rgba(15, 20, 15, 0.86) !important;
    -webkit-backdrop-filter: saturate(140%) blur(12px);
    backdrop-filter: saturate(140%) blur(12px);
    box-shadow: 0 10px 36px rgba(0, 0, 0, 0.42);
}

/* The supplied logo PNG has the monogram flush to the top edge of the
   image; give the header branding vertical breathing room so the mark
   never reads as clipped against the header edge. */
.site-header .header-inner {
    padding-block: clamp(0.9rem, 0.7rem + 0.6vw, 1.5rem);
}
.site-header .site-logo img {
    display: block;
}

/* Nav links — refined hover with a gold underline grow */
.site-header .site-navigation .menu li a,
.site-header .elementor-nav-menu li a {
    position: relative;
    letter-spacing: 0.06em;
    font-size: 0.86rem;
    transition: color 0.25s ease;
}
.site-header nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 1px;
    background: var(--eh-haven-gold, #C8941E);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
}
.site-header nav a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* ---- 4. Hero craft ----------------------------------------------- *
 * A slow, almost-imperceptible scale on hero background images —
 * cinematic life without distraction. */
@keyframes eh-kenburns {
    from { transform: scale(1.04); }
    to   { transform: scale(1.12); }
}
.e-con.e-parent[style*="min-height"] {
    overflow: hidden;
}
.e-con.e-parent[style*="min-height"]::before {
    animation: eh-kenburns 18s ease-out forwards;
}
@media (prefers-reduced-motion: reduce) {
    .e-con.e-parent[style*="min-height"]::before,
    .eh-hero__cue span { animation: none; }
}

/* ---- 4b. The home hero composition ------------------------------- */
.eh-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 100svh;
    padding: clamp(6rem, 5rem + 8vw, 10rem) clamp(1.25rem, 5vw, 3rem);
}

/* Layered scrim — darker at the foot for text grounding, soft at top. */
.eh-hero__scrim {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to bottom,
            rgba(15, 20, 15, 0.34) 0%,
            rgba(15, 20, 15, 0.20) 38%,
            rgba(15, 20, 15, 0.62) 78%,
            rgba(15, 20, 15, 0.92) 100%
        ),
        radial-gradient(
            ellipse 70% 55% at 50% 52%,
            rgba(15, 20, 15, 0) 0%,
            rgba(15, 20, 15, 0.5) 100%
        );
    z-index: 1;
}

.eh-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 760px;
}

.eh-hero__logo {
    width: clamp(108px, 80px + 6vw, 156px);
    height: auto;
    margin: 0 auto clamp(1.25rem, 1rem + 1.4vw, 2.25rem);
    filter: drop-shadow(0 4px 26px rgba(0, 0, 0, 0.65));
}

.eh-hero__eyebrow {
    margin: 0 0 1.1rem;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 0.78rem;
    letter-spacing: 0.32em;
    text-indent: 0.32em;
    text-transform: uppercase;
    color: var(--eh-gold-soft, #E0B654);
}

.eh-hero__title {
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    font-size: clamp(2.5rem, 1.5rem + 4vw, 4.6rem);
    line-height: 1.07;
    letter-spacing: 0.01em;
    color: #F8F4EC;
    text-wrap: balance;
    text-shadow: 0 2px 30px rgba(0, 0, 0, 0.5);
}

.eh-hero__rule {
    display: block;
    width: 64px;
    height: 1px;
    margin: clamp(1.4rem, 1rem + 1vw, 2rem) auto;
    background: linear-gradient(
        to right,
        transparent,
        var(--eh-haven-gold, #C8941E),
        transparent
    );
}

.eh-hero__sub {
    margin: 0 auto;
    max-width: 520px;
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 0.95rem + 0.4vw, 1.16rem);
    line-height: 1.7;
    color: #D9DED4;
}

.eh-hero__cta {
    display: inline-block;
    margin-top: clamp(1.8rem, 1.4rem + 1.4vw, 2.8rem);
    padding: 1.05rem 2.6rem;
    background: var(--eh-haven-gold, #C8941E);
    color: #1A211C;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    font-size: 0.86rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    box-shadow: 0 10px 34px rgba(200, 148, 30, 0.32);
    transition: transform 0.3s ease, background-color 0.3s ease,
                box-shadow 0.3s ease;
}
.eh-hero__cta:hover {
    transform: translateY(-2px);
    background: var(--eh-gold-soft, #E0B654);
    box-shadow: 0 16px 42px rgba(200, 148, 30, 0.42);
}

/* Scroll cue — a slow gold tick at the foot of the hero. */
.eh-hero__cue {
    position: absolute;
    left: 50%;
    bottom: 2rem;
    transform: translateX(-50%);
    z-index: 2;
    width: 1px;
    height: 56px;
    background: rgba(244, 239, 230, 0.2);
    overflow: hidden;
}
.eh-hero__cue span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: var(--eh-haven-gold, #C8941E);
    animation: eh-cue 2.4s ease-in-out infinite;
}
@keyframes eh-cue {
    0%   { transform: translateY(-100%); }
    60%  { transform: translateY(250%); }
    100% { transform: translateY(250%); }
}

/* ---- 5. Image finesse -------------------------------------------- *
 * Photos in cards and rows lift gently on hover; carousels and
 * gallery tiles get a slow zoom. */
.elementor-widget-image img,
.elementor-widget-image-carousel .swiper-slide img {
    transition: transform 0.85s cubic-bezier(0.2, 0.7, 0.2, 1),
                filter 0.5s ease;
}
.elementor-widget-image:hover img {
    transform: scale(1.03);
}

/* HTML-widget photo cards — image zoom + border warm-up on hover */
[data-eh-reveal] a:hover img,
.eh-card:hover img {
    transform: scale(1.045);
}
[data-eh-reveal] img {
    transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}
[data-eh-reveal] a {
    overflow: hidden;
}
[data-eh-reveal] a:hover {
    border-color: rgba(200, 148, 30, 0.62) !important;
    transform: translateY(-3px);
}

/* ---- 6. Buttons — quiet luxury ----------------------------------- */
.elementor-widget-button .elementor-button {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease,
                background-color 0.3s ease;
    box-shadow: 0 6px 22px rgba(200, 148, 30, 0.16);
}
.elementor-widget-button .elementor-button:hover {
    transform: translateY(-2px);
    background-color: var(--eh-gold-soft, #E0B654) !important;
    box-shadow: 0 12px 34px rgba(200, 148, 30, 0.32);
}
.elementor-widget-button .elementor-button .elementor-button-text {
    position: relative;
    z-index: 1;
}

/* ---- 7. Carousel + accordion polish ------------------------------ */
.elementor-widget-image-carousel .elementor-swiper-button {
    color: var(--eh-haven-gold, #C8941E);
    background: rgba(15, 20, 15, 0.7);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    backdrop-filter: blur(4px);
    transition: background-color 0.25s ease;
}
.elementor-widget-image-carousel .elementor-swiper-button:hover {
    background: rgba(200, 148, 30, 0.92);
    color: #1A211C;
}
.elementor-widget-image-carousel .swiper-pagination-bullet {
    background: var(--eh-mist-sage, #8A9A8B);
    opacity: 0.5;
}
.elementor-widget-image-carousel .swiper-pagination-bullet-active {
    background: var(--eh-haven-gold, #C8941E);
    opacity: 1;
}

/* Nested accordion — gold rule, comfortable padding */
.elementor-widget-n-accordion .e-n-accordion-item {
    border-bottom: 1px solid rgba(200, 148, 30, 0.22);
    transition: background-color 0.25s ease;
}
.elementor-widget-n-accordion .e-n-accordion-item-title {
    padding-block: 1.25rem;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] {
    background: rgba(200, 148, 30, 0.04);
}

/* ---- 7b. Photo gallery — custom CSS-grid ------------------------- *
 * Built with HTML-widget grids of linked photos. Clean, full-width,
 * even tiles; lightbox.js handles the overlay. */
.eh-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    width: 100%;
}
.eh-gallery-cell {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    cursor: pointer;
}
.eh-gallery-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.eh-gallery-cell::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(15, 20, 15, 0);
    transition: background-color 0.35s ease;
}
.eh-gallery-cell:hover img {
    transform: scale(1.06);
}
.eh-gallery-cell:hover::after {
    background: rgba(200, 148, 30, 0.14);
}
@media (max-width: 760px) {
    .eh-gallery-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
    .eh-gallery-grid { grid-template-columns: 1fr; }
}

/* ---- 7c. Lightbox overlay ---------------------------------------- */
.eh-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4vmin;
    background: rgba(8, 11, 8, 0.94);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.eh-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}
.eh-lightbox img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}
.eh-lightbox__close {
    position: absolute;
    top: 2rem;
    right: 2.4rem;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: #F4EFE6;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transition: color 0.2s ease;
}
.eh-lightbox__close:hover { color: var(--eh-haven-gold, #C8941E); }

/* ---- 8. Image-compare slider — frame finish ---------------------- */
/* The barron_compare widget is a flex child of an Elementor container;
   its content is absolutely positioned, so it has no intrinsic width
   and collapses. Force it (and the .bc-compare wrapper) to fill. */
.elementor-widget-barron_compare,
.elementor-widget-barron_compare .elementor-widget-container,
.elementor-widget-barron_compare .bc-compare {
    width: 100%;
}
.bc-compare-frame {
    border-radius: 3px;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5);
}

/* ---- 9. Footer — quieter, refined -------------------------------- */
.site-footer {
    border-top: 1px solid rgba(200, 148, 30, 0.2);
}
.site-footer .site-navigation .menu li a {
    letter-spacing: 0.05em;
    font-size: 0.82rem;
    transition: color 0.25s ease;
}
.site-footer .site-navigation .menu li a:hover {
    color: var(--eh-haven-gold, #C8941E);
}
.site-footer .copyright {
    letter-spacing: 0.08em;
    font-size: 0.78rem;
}

/* ---- 10. Selection + scrollbar accents --------------------------- */
::selection {
    background: rgba(200, 148, 30, 0.32);
    color: #F4EFE6;
}

/* ---- 11. Reveal timing refinement -------------------------------- *
 * Slightly longer, softer easing than the base theme default. */
.eh-reveal-start {
    transition: opacity 0.9s cubic-bezier(0.2, 0.7, 0.2, 1),
                transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}

/* ---- 12. Mobile finesse ------------------------------------------ */
@media (max-width: 767px) {
    .site-header .header-inner {
        padding-block: 0.5rem;
    }
    /* Tighten oversized hero text padding on small screens */
    .e-con.e-parent[style*="min-height"] {
        --eh-hero-pad-x: 1.25rem;
    }
}

/* ==================================================================
 * 13. DEPTH & MATERIAL — the layer that lifts the site off flat.
 *
 * The pages were structurally right but visually flat: uniform dark
 * bands, borderless cards sitting ON the background. This section adds
 * real material — layered surfaces, elevation shadows, a film-grain
 * texture, gold glow, and a mountain-ridge band seam.
 * ================================================================== */

/* --- 13a. Page-wide film grain + atmospheric wash ------------------ *
 * A faint SVG noise texture over the whole page kills the flat-paint
 * look. A radial gold wash at the top gives the page a light source. */
body.eh::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    /* fractal-noise grain, very low opacity */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    opacity: 0.035;
    mix-blend-mode: overlay;
}
body.eh .wp-site-blocks,
body.eh #content,
body.eh .site-header,
body.eh .site-footer {
    position: relative;
    z-index: 1;
}

/* --- 13b. Section bands — DEEP, so lighter cards pop off them ----- *
 * Bands are pushed dark on purpose: the contrast between a deep band
 * and a lighter card surface is what creates visible depth. A soft
 * gold wash at the top edge gives each band a light source. */
.e-con.eh-band {
    position: relative;
    background-color: #0E120D !important;
    background-image:
        radial-gradient(
            ellipse 75% 50% at 50% 0%,
            rgba(200, 148, 30, 0.07) 0%,
            rgba(200, 148, 30, 0) 65%
        ),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.35) 0%,
            rgba(0, 0, 0, 0) 22%,
            rgba(0, 0, 0, 0) 78%,
            rgba(0, 0, 0, 0.4) 100%
        ) !important;
    isolation: isolate;
}
/* Every other band lifts slightly warmer — a visible section rhythm. */
.e-con.eh-band:nth-of-type(even) {
    background-color: #141A13 !important;
    background-image:
        radial-gradient(
            ellipse 85% 55% at 50% 100%,
            rgba(200, 148, 30, 0.05) 0%,
            rgba(200, 148, 30, 0) 65%
        ),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.32) 0%,
            rgba(0, 0, 0, 0) 25%
        ) !important;
}

/* A hairline gold seam between bands — the mountain-ridge motif as a
   divider, drawn with a gradient so it glows faintly at the centre. */
.e-con.eh-band::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(420px, 60%);
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        rgba(200, 148, 30, 0.55),
        transparent
    );
}

/* --- 13c. Cards — raised surfaces with REAL contrast -------------- *
 * The card surface is markedly lighter than the deep band beneath it
 * (~#2A3328 on ~#0E120D). That value gap — not the shadow alone — is
 * what makes the card read as raised. A gold top-edge accent and a
 * strong drop shadow finish the elevation. */
[data-eh-reveal] a,
.eh-card {
    position: relative;
    background-color: #2A3328 !important;
    background-image: linear-gradient(170deg, rgba(255,255,255,0.05) 0%, rgba(0,0,0,0.18) 100%) !important;
    border: 1px solid rgba(200, 148, 30, 0.22) !important;
    border-radius: 6px;
    box-shadow:
        0 1px 0 rgba(244, 239, 230, 0.09) inset,
        0 26px 50px -20px rgba(0, 0, 0, 0.85),
        0 8px 18px -8px rgba(0, 0, 0, 0.7);
    transition:
        transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1),
        box-shadow 0.4s ease,
        border-color 0.4s ease;
}
/* Gold top-edge accent — a hairline of light along the card's top. */
[data-eh-reveal] a::before,
.eh-card::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 14%;
    right: 14%;
    height: 2px;
    background: linear-gradient(
        to right,
        transparent,
        rgba(200, 148, 30, 0.75),
        transparent
    );
    opacity: 0;
    transition: opacity 0.4s ease;
}
[data-eh-reveal] a:hover,
.eh-card:hover {
    transform: translateY(-8px);
    border-color: rgba(200, 148, 30, 0.7) !important;
    box-shadow:
        0 1px 0 rgba(244, 239, 230, 0.14) inset,
        0 40px 70px -22px rgba(0, 0, 0, 0.9),
        0 0 54px -10px rgba(200, 148, 30, 0.34);
}
[data-eh-reveal] a:hover::before,
.eh-card:hover::before {
    opacity: 1;
}

/* --- 13d. Stat tiles + drive-time tiles — carved, not flat -------- *
 * The flex/grid tile blocks get an inset surface so the gold rules
 * between them read as carved seams, and the whole block gets a frame
 * with depth. Targets the inline-styled tile groups. */
[data-eh-reveal] [style*="display:flex"][style*="background:rgba(244,239,230"],
[data-eh-reveal] [style*="grid-template-columns:repeat(4,1fr)"],
[data-eh-reveal] [style*="grid-template-columns:repeat(2,1fr)"] {
    border-radius: 4px;
    overflow: hidden;
    box-shadow:
        0 20px 44px -22px rgba(0, 0, 0, 0.75),
        0 0 0 1px rgba(200, 148, 30, 0.14);
}
/* Each individual tile — a soft top-light so the surface has form.
   :not(a) so this never touches the grid CARD links (13c owns those —
   the card surface must stay markedly lighter than the band). */
[data-eh-reveal] div[style*="background:#1A211C"],
[data-eh-reveal] div[style*="background:#0F140F"] {
    background-image:
        linear-gradient(180deg, rgba(244, 239, 230, 0.05), rgba(244, 239, 230, 0)) !important;
    transition: background-color 0.3s ease;
}

/* --- 13e. Photo cards / image tiles — framed with depth ----------- */
[data-eh-reveal] [style*="border:1px solid rgba(244,239,230"] {
    border-color: rgba(200, 148, 30, 0.14) !important;
    border-radius: 4px;
    overflow: hidden;
    box-shadow:
        0 16px 36px -18px rgba(0, 0, 0, 0.7);
    transition: transform 0.4s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.4s ease;
}
[data-eh-reveal] [style*="border:1px solid rgba(244,239,230"]:hover {
    transform: translateY(-5px);
    box-shadow:
        0 28px 56px -20px rgba(0, 0, 0, 0.82),
        0 0 36px -10px rgba(200, 148, 30, 0.2);
}

/* --- 13f. Carousels + compare slider — lifted off the page -------- */
.elementor-widget-image-carousel .swiper-slide img {
    border-radius: 3px;
    box-shadow: 0 22px 50px -22px rgba(0, 0, 0, 0.78);
}
.bc-compare-frame {
    box-shadow:
        0 40px 90px -30px rgba(0, 0, 0, 0.85),
        0 0 0 1px rgba(200, 148, 30, 0.18) !important;
}
.eh-gallery-cell {
    border-radius: 3px;
    box-shadow: 0 16px 38px -20px rgba(0, 0, 0, 0.7);
    transition: transform 0.5s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.4s ease;
}
.eh-gallery-cell:hover {
    box-shadow:
        0 26px 56px -22px rgba(0, 0, 0, 0.82),
        0 0 34px -10px rgba(200, 148, 30, 0.24);
}

/* --- 13g. FAQ accordion — a surfaced panel, not bare rules -------- */
.elementor-widget-n-accordion .e-n-accordion {
    background: linear-gradient(180deg, #21281F 0%, #181D16 100%);
    border: 1px solid rgba(200, 148, 30, 0.16);
    border-radius: 5px;
    overflow: hidden;
    box-shadow:
        0 20px 46px -22px rgba(0, 0, 0, 0.7),
        0 1px 0 rgba(244, 239, 230, 0.04) inset;
}
.elementor-widget-n-accordion .e-n-accordion-item {
    border-bottom: 1px solid rgba(200, 148, 30, 0.12);
    padding-inline: clamp(0.6rem, 2vw, 1.4rem);
}
.elementor-widget-n-accordion .e-n-accordion-item:last-child {
    border-bottom: 0;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] {
    background: rgba(200, 148, 30, 0.05);
}

/* --- 13h. Buttons — material, glow, depth ------------------------- */
.elementor-widget-button .elementor-button,
.eh-hero__cta {
    background-image: linear-gradient(180deg, #D9A434 0%, #C8941E 100%) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.25) inset,
        0 14px 30px -12px rgba(200, 148, 30, 0.5),
        0 4px 10px -4px rgba(0, 0, 0, 0.5) !important;
}
.elementor-widget-button .elementor-button:hover,
.eh-hero__cta:hover {
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.35) inset,
        0 20px 44px -14px rgba(200, 148, 30, 0.62),
        0 0 36px -6px rgba(200, 148, 30, 0.4) !important;
}

/* --- 13i. The gold eyebrow — a glow so it reads as a jewel -------- */
.elementor-element h6.elementor-heading-title {
    text-shadow: 0 0 18px rgba(200, 148, 30, 0.35);
}

/* --- 13j. Hero — deepen the foot so it sinks into section 1 ------- */
.eh-hero__scrim {
    background:
        linear-gradient(
            to bottom,
            rgba(15, 20, 15, 0.30) 0%,
            rgba(15, 20, 15, 0.16) 36%,
            rgba(15, 20, 15, 0.66) 76%,
            rgba(22, 28, 23, 1) 100%
        ),
        radial-gradient(
            ellipse 70% 55% at 50% 50%,
            rgba(15, 20, 15, 0) 0%,
            rgba(15, 20, 15, 0.55) 100%
        ) !important;
}

/* --- 13k. Section detail rows (spa) — surface + seam -------------- *
 * The alternating photo/detail rows get a faint surface tint on the
 * text side so the row reads as a panel, not a void. */
.e-con.eh-band .e-con-inner .elementor-widget-text-editor p {
    color: #C4CBC0;
}

@media (prefers-reduced-motion: reduce) {
    [data-eh-reveal] a,
    .eh-card,
    .eh-gallery-cell {
        transition: none;
    }
}
