/* ============================================================
   UCan2 Property Solutions — client theme tokens
   Palette from design/assets/styles.css :root
   Loads after vendor/base CSS. Remaps shared booking/PMS variables
   so locked booking/checkout/payment pages pick up client colours
   and fonts with ZERO markup edits.
   ============================================================ */

:root {
  /* ---- UCan2 source palette ---- */
  --ucan2-navy:   #021832;
  --ucan2-navy-2: #06284b;
  --ucan2-red:    #c81d1e;
  --ucan2-paper:  #f4f1e8;
  --ucan2-white:  #ffffff;
  --ucan2-ink:    #16202b;
  --ucan2-muted:  #65707c;
  --ucan2-gold:   #b79a55;
  --ucan2-line:   #16202b29;

  --ucan2-display: "Gilda Display", Georgia, serif;
  --ucan2-sans:    "Barlow", Arial, sans-serif;
  --ucan2-label:   "Montserrat", Arial, sans-serif;

  /* ---- Shared booking/property variables mapped to UCan2 ---- */
  --green:        #021832;
  --green-dark:   #011226;
  --green-light:  #65707c;
  --green-pale:   #f4f1e8;
  --gold:         #b79a55;
  --gold-light:   #f5e7b6;
  --silver:       #65707c;
  --silver-light: #ebe7dc;
  --cream:        #f4f1e8;
  --cream-dk:     #ebe7dc;
  --brown:        #b79a55;
  --brown-mid:    #65707c;
  --white:        #ffffff;
  --text-dark:    #16202b;
  --text-mid:     #65707c;
  --text-dull:    #34404d;
  --text-muted:   #65707c;

  --heading-font: "Gilda Display", Georgia, serif;
  --body-font:    "Barlow", Arial, sans-serif;
  --font-third:   "Montserrat", Arial, sans-serif;
}

/* Soften base/bootstrap bleed on marketing pages */
body.client-theme-ucan2 {
  font-family: var(--ucan2-sans);
  color: var(--ucan2-ink);
  background: var(--ucan2-paper);
}

/* Remove the solid/near-solid navy bar behind the fixed nav on subpages.
   Keep the scrolled cream state; at the top the header should float over the hero. */
body.client-theme-ucan2.design-shell-page .site-header,
body.client-theme-ucan2.subpage .site-header,
body.client-theme-ucan2.property-detail-page .site-header {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none;
  /* Drop the divider line — it made the dark hero top look like a second nav bar. */
  border-bottom-color: transparent !important;
  /* Hug the logo/links so no empty dark strip sits under the nav row. */
  min-height: 72px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

body.client-theme-ucan2.design-shell-page .site-header.is-scrolled,
body.client-theme-ucan2.subpage .site-header.is-scrolled,
body.client-theme-ucan2.property-detail-page .site-header.is-scrolled {
  background: #f4f1e8f5 !important;
  background-image: none !important;
  box-shadow: 0 14px 45px #02183214;
  border-bottom-color: #0218321f !important;
  min-height: 68px !important;
}

/* Soften the solid black band under the nav: keep readability for title text,
   but let the hero media show through in the header overlay zone. */
body.client-theme-ucan2 .subpage-hero__shade {
  background:
    linear-gradient(90deg, rgba(1, 15, 32, 0.48) 0%, rgba(1, 15, 32, 0.22) 52%, rgba(1, 15, 32, 0.05) 100%),
    linear-gradient(180deg, rgba(1, 15, 32, 0.12) 0%, rgba(1, 15, 32, 0.05) 18%, transparent 36%, rgba(1, 15, 32, 0.7) 100%) !important;
}

body.client-theme-ucan2 .subpage-hero__media img,
body.client-theme-ucan2 .subpage-hero__media video {
  filter: saturate(0.9) brightness(0.92) !important;
}

/* Hide any leftover Home breadcrumb chips in hero content */
body.client-theme-ucan2 .subpage-hero .breadcrumb,
body.client-theme-ucan2 .property-detail-hero .breadcrumb {
  display: none !important;
}

body.client-theme-ucan2 h1,
body.client-theme-ucan2 h2,
body.client-theme-ucan2 h3 {
  font-family: var(--ucan2-display);
  font-weight: 400;
}

/* Design-shell marketing pages: neutralize Bootstrap reboot so approved CSS wins */
body.client-theme-ucan2.design-shell-page {
  margin: 0;
  line-height: inherit;
}
body.client-theme-ucan2.design-shell-page *,
body.client-theme-ucan2.design-shell-page *::before,
body.client-theme-ucan2.design-shell-page *::after {
  box-sizing: border-box;
}
body.client-theme-ucan2.design-shell-page img,
body.client-theme-ucan2.design-shell-page svg,
body.client-theme-ucan2.design-shell-page video {
  vertical-align: middle;
}
body.client-theme-ucan2.design-shell-page a {
  text-decoration: none;
}
body.client-theme-ucan2.design-shell-page h1,
body.client-theme-ucan2.design-shell-page h2,
body.client-theme-ucan2.design-shell-page h3,
body.client-theme-ucan2.design-shell-page h4,
body.client-theme-ucan2.design-shell-page h5,
body.client-theme-ucan2.design-shell-page h6,
body.client-theme-ucan2.design-shell-page p {
  margin-top: 0;
}
body.client-theme-ucan2.design-shell-page button,
body.client-theme-ucan2.design-shell-page input,
body.client-theme-ucan2.design-shell-page select,
body.client-theme-ucan2.design-shell-page textarea {
  font: inherit;
}
/* Scrolled header CTA must stay cream/gold like approved design (not navy) */
body.client-theme-ucan2.design-shell-page .site-header.is-scrolled .header-book,
body.client-theme-ucan2.design-shell-page .header-book {
  background: #f5e7b6 !important;
  color: #021832 !important;
  border-color: transparent !important;
}
body.client-theme-ucan2.design-shell-page .header-book:hover {
  background: var(--ucan2-red, #c81d1e) !important;
  color: #fff !important;
}

/* Hide master mansion spacer when UCan2 fixed header is in use */
body.client-theme-ucan2 .mansion-header-offset {
  display: none !important;
}

/* Keep sticky book CTA on brand red (property/booking surfaces only) */
body.client-theme-ucan2 .vr-sticky-book-now {
  background: var(--ucan2-red) !important;
  color: var(--ucan2-white) !important;
  font-family: var(--ucan2-label);
  border-radius: 0;
}

/* Property-detail / stays / booking surfaces — token bridge only.
   Full property-detail layout lives in css/property-detail.css. */
body.client-theme-ucan2.property-detail-page,
body.client-theme-ucan2 .property-detail-page {
  background: var(--ucan2-paper);
  color: var(--ucan2-ink);
}

body.client-theme-ucan2 .booking-widget,
body.client-theme-ucan2 .get-quote-box,
body.client-theme-ucan2 .quote-widget,
body.client-theme-ucan2 [class*="get-quote"] {
  font-family: var(--ucan2-sans);
}

body.client-theme-ucan2 .booking-widget .btn,
body.client-theme-ucan2 .get-quote-box .btn,
body.client-theme-ucan2 button[type="submit"].btn-primary,
body.client-theme-ucan2 .btn-book,
body.client-theme-ucan2 .reserve-btn {
  background: var(--ucan2-red) !important;
  border-color: var(--ucan2-red) !important;
  color: #fff !important;
  font-family: var(--ucan2-label);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

body.client-theme-ucan2 .checkout-page,
body.client-theme-ucan2 .payment-page,
body.client-theme-ucan2 .booking-confirmed-page {
  font-family: var(--ucan2-sans);
  color: var(--ucan2-ink);
}
