/* --------------------------
   Desmar Stables – Dark Theme
   -------------------------- */

:root {
    --bg-body: #1c1c1e;
    --bg-elevated: #2a2a2d;
    --bg-softer: #242426;
    --border-subtle: #3a3a3d;
    --text-main: #f2f2f2;
    --text-subtle: #c4c4c6;
    --accent: #d5b58f; /* optional gold accent */
}


/* Base */

body,
#wrapper,
#content,
.content-wrap,
.section {
    background-color: var(--bg-body) !important;
    background-image: none !important;
}

.bg-white,
.bg-light,
.bg-color,
.bg-contrast-100 {
    background-color: var(--bg-body) !important;
}

.card,
.card-body {
    background-color: var(--bg-elevated) !important;
    border-color: var(--border-subtle) !important;
}

p, li, small {
    color: var(--text-subtle);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--text-main);
}

.section.footer-stick.dark,
#footer {
    background-color: var(--bg-body);
    border-top: 1px solid var(--border-subtle);
}
/* Fix leftover white/very light boxes in sections */
.bg-contrast-100,
.bg-contrast-200,
.bg-contrast-300,
.bg-light,
.bg-white {
    background-color: var(--bg-elevated) !important;
    color: var(--text-main) !important;
}
/* --- Hero video: fade-in + slight zoom --- */

.hero-video-bg video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

    opacity: 0;
    transform: scale(1.03);               /* tiny zoom for a cinematic feel */
    transition:
        opacity 900ms ease-out,
        transform 4s ease-out;
}

/* When ready, fade video in and relax zoom */
.hero-video-section.is-ready .hero-video-bg video {
    opacity: 1;
    transform: scale(1.0);
}

/* Color grading overlay on top of video */
.hero-video-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            to bottom,
            rgba(10, 7, 3, 0.55),
            rgba(3, 3, 5, 0.92)
        ),
        radial-gradient(
            circle at top,
            rgba(255, 255, 255, 0.08),
            transparent 60%
        );
}

/* Hero text fade-in */

.hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    min-height: 100vh;
    padding-top: 5rem;
    padding-bottom: 4rem;

    opacity: 0;
    transform: translateY(15px);
    transition:
        opacity 700ms ease-out 250ms,
        transform 700ms ease-out 250ms;
}

.hero-video-section.is-ready .hero-content {
    opacity: 1;
    transform: translateY(0);
}
/* Coming Soon – ultra subtle header */
body.coming-soon #header.transparent-header #header-wrap {
    background: rgba(28, 28, 30, 0.25); /* very light dark veil */
    backdrop-filter: blur(6px);
    border: none;
    box-shadow: none;
}

/* Shrink header height a bit */
body.coming-soon #header {
    min-height: 70px;
}

/* Lighten menu text so it doesn’t dominate */
body.coming-soon .primary-menu .menu-link > div {
    color: rgba(242, 242, 242, 0.85);
}

/* Logo stays visible but subtle */
body.coming-soon #logo img {
    opacity: 0.9;
}
/* Coming Soon hero nav — ultra transparent */
body.coming-soon #header.transparent-header #header-wrap {
    background: rgba(20, 22, 25, 0.15); /* very subtle */
    backdrop-filter: blur(4px);
    box-shadow: none;
    border: none;
}

/* Reduce vertical footprint */
body.coming-soon #header {
    min-height: 64px;
}

/* Lighten nav text so it blends */
body.coming-soon .primary-menu .menu-link > div {
    color: rgba(255, 255, 255, 0.85);
    font-size: 14px;
    letter-spacing: 0.04em;
}

/* Keep Inquire button subtle */
body.coming-soon .header-misc .button {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.25);
    color: #fff;
}
/* =========================================
   Coming Soon page — hide nav, logo only
   ========================================= */

body.coming-soon .primary-menu,
body.coming-soon .header-misc,
body.coming-soon .primary-menu-trigger {
    display: none !important;
}

/* Center the logo */
body.coming-soon #header-wrap .header-row {
    justify-content: center;
}
/* =========================================
   Coming Soon — logo only + remove header bar
   ========================================= */

body.coming-soon .primary-menu,
body.coming-soon .header-misc,
body.coming-soon .primary-menu-trigger {
  display: none !important;
}

/* Remove the dark bar/background completely */
body.coming-soon #header,
body.coming-soon #header-wrap,
body.coming-soon #header.transparent-header.floating-header #header-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Canvas sometimes inserts a “clone” spacer/background */
body.coming-soon .header-wrap-clone {
  display: none !important;
}

/* Center logo */
body.coming-soon #header-wrap .header-row {
  justify-content: center !important;
}

/* Optional: make header sit over the image without taking space */
body.coming-soon #header {
  position: absolute !important;
  width: 100%;
}
/* =========================================
   Coming Soon — remove header bar completely
   ========================================= */

/* Kill the header background itself */
body.coming-soon #header {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

/* Kill header wrap background */
body.coming-soon #header-wrap {
    background: transparent !important;
}

/* Kill Canvas spacer/clone */
body.coming-soon .header-wrap-clone {
    display: none !important;
}

/* Hide navigation + misc entirely */
body.coming-soon .primary-menu,
body.coming-soon .header-misc,
body.coming-soon .primary-menu-trigger {
    display: none !important;
}

/* Center logo only */
body.coming-soon #header-wrap .header-row {
    justify-content: center !important;
}

/* Let header float over the hero */
body.coming-soon #header {
    position: absolute !important;
    width: 100%;
}
/* Coming Soon — force header fully transparent (override Canvas defaults) */
body.coming-soon header#header.dark,
body.coming-soon header#header.dark #header-wrap,
body.coming-soon header#header.dark.floating-header #header-wrap {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Remove the dark bar effect caused by fixed header height/padding */
body.coming-soon header#header {
  min-height: 0 !important;
  height: auto !important;
}

/* Hide everything except logo (optional: remove logo too if you want) */
body.coming-soon header#header .primary-menu,
body.coming-soon header#header .header-misc,
body.coming-soon header#header .primary-menu-trigger {
  display: none !important;
}

/* Kill the spacer clone (often creates a visible band) */
body.coming-soon header#header .header-wrap-clone {
  display: none !important;
}

/* Put the header over the hero without taking layout space */
body.coming-soon header#header {
  position: absolute !important;
  top: 0; left: 0; right: 0;
}
/* Coming Soon — remove floating header container background */
body.coming-soon.is-expanded-menu #header.transparent-header.floating-header .container,
body.coming-soon #header.transparent-header.floating-header .container {
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
body.coming-soon #header { position: absolute !important; width: 100%; }
body.coming-soon .header-wrap-clone { display: none !important; 
}
.tp-caption a:hover {
  opacity: 0.8;
}
/* Overlay should not block clicks */
.tp-shapewrapper,
.tp-caption.tp-shape {
  pointer-events: none !important;
}
.rs-background-video-layer video {
  will-change: transform;
  transform: translateZ(0);
}

