/** Shopify CDN: Minification failed

Line 1325:0 Unexpected "}"

**/
/* Dipps Trips experiential brand layer */
:root {
  --dipps-teal: #006072;
  --dipps-teal-dark: #004b59;
  --dipps-orange: #FF9015;
  --dipps-aqua: #9FCFCA;
  --dipps-parchment: #f5efe4;
  --dipps-paper: #fffaf0;
  --dipps-ink: #1f2a30;
}

body {
  background:
    radial-gradient(circle at 20% 10%, rgba(255,144,21,.08), transparent 45%),
    radial-gradient(circle at 80% 80%, rgba(0,96,114,.08), transparent 40%),
    var(--dipps-parchment);
  color: var(--dipps-ink);
}

h1, h2, h3, h4, .button {
  font-family: "DIN Condensed", "Oswald", "Arial Narrow", sans-serif !important;
  letter-spacing: .02em;
}

/* Hero */
[data-testid="hero"] {
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 20px 45px rgba(0, 49, 58, .24);
}
[data-testid="hero"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(0,96,114,.95) 0%, rgba(0,96,114,.72) 52%, rgba(0,96,114,.50) 100%),
    radial-gradient(circle at 20% 20%, rgba(159,207,202,.25), transparent 40%);
  z-index: 0;
}
[data-testid="hero"] > * { position: relative; z-index: 1; }

/* Buttons */
/* scoped brand buttons only (avoid header/drawer controls) */
.dipps-video-hero .button,
.dipps-cta .button,
.dipps-sticky-cta .button,
.dipps-hero-panel .button,
.button-primary {
  background: linear-gradient(180deg, #ff9e2f, #ff9015) !important;
  border: 1px solid #e57b00 !important;
  color: #162126 !important;
  font-weight: 700;
  border-radius: 999px;
  padding: .8rem 1.35rem;
  box-shadow: 0 8px 18px rgba(255,144,21,.3);
}
.dipps-video-hero .button:hover, .dipps-cta .button:hover, .dipps-sticky-cta .button:hover, .dipps-hero-panel .button:hover, .button-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(255,144,21,.35);
}
.button-secondary {
  background: transparent !important;
  border-color: rgba(255,255,255,.75) !important;
  color: #fff !important;
}

/* Custom homepage sections */
.dipps-kicker {
  color: var(--dipps-orange);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem;
}

.dipps-shell {
  background: var(--dipps-paper);
  border: 1px solid rgba(0,96,114,.14);
  border-radius: 16px;
  padding: 1.1rem;
  box-shadow: 0 12px 30px rgba(0,0,0,.06);
}

.dipps-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.dipps-card {
  background: #fff;
  border: 1px solid rgba(0,96,114,.16);
  border-radius: 14px;
  padding: 1.1rem;
  position: relative;
  overflow: hidden;
}
.dipps-card::after {
  content: "";
  position: absolute;
  right: -20px;
  top: -20px;
  width: 90px;
  height: 90px;
  background: radial-gradient(circle, rgba(159,207,202,.45), transparent 70%);
}
.dipps-card h3 {
  color: var(--dipps-teal);
  margin: 0 0 .4rem;
}
.dipps-chip {
  display: inline-block;
  background: rgba(0,96,114,.1);
  border: 1px solid rgba(0,96,114,.2);
  color: var(--dipps-teal-dark);
  border-radius: 999px;
  font-size: .78rem;
  padding: .2rem .55rem;
  margin-bottom: .6rem;
}

.dipps-cta {
  background: linear-gradient(145deg, #006072, #004b59);
  color: #fff;
  border-radius: 18px;
  padding: 1.5rem;
  box-shadow: 0 18px 36px rgba(0,75,89,.28);
}
.dipps-cta h2 { color: #fff; margin-top: 0; margin-bottom: .4rem; }
.dipps-cta p { opacity: .97; }

.dipps-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
  margin-top: 1rem;
}
.dipps-fact {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  padding: .75rem;
}
.dipps-fact strong { display:block; font-size:1.2rem; }

.dipps-timeline {
  border-left: 3px solid rgba(0,96,114,.25);
  margin: .8rem 0 0 .4rem;
  padding-left: 1rem;
}
.dipps-timeline li {
  margin: .7rem 0;
}
.dipps-timeline .year {
  color: var(--dipps-orange);
  font-weight: 700;
  margin-right: .45rem;
}

@media (max-width: 989px) {
  .dipps-grid, .dipps-facts { grid-template-columns: 1fr; }
}

/* --- Dipps Trips V2 conversion layer --- */
.dipps-trust-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}
.dipps-trust-pill {
  background: #ffffff;
  border: 1px solid rgba(0,96,114,.16);
  border-radius: 999px;
  padding: .55rem .85rem;
  text-align: center;
  font-size: .86rem;
  color: #1f2a30;
}

.dipps-tour-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: .55rem 0 .7rem;
}
.dipps-tour-badge {
  border: 1px solid rgba(0,96,114,.2);
  background: rgba(0,96,114,.08);
  border-radius: 999px;
  padding: .2rem .55rem;
  font-size: .78rem;
  color: #004b59;
}

.dipps-proof-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
.dipps-quote {
  background: #fff;
  border: 1px solid rgba(0,96,114,.14);
  border-radius: 14px;
  padding: 1rem;
  font-size: .95rem;
  line-height: 1.45;
  box-shadow: 0 8px 20px rgba(0,0,0,.05);
}
.dipps-quote strong { color: #006072; display:block; margin-top:.4rem; font-size:.88rem; }

.dipps-expect-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.dipps-expect {
  background: #fff;
  border: 1px solid rgba(0,96,114,.15);
  border-radius: 12px;
  padding: .9rem;
}
.dipps-expect h4 {
  margin: 0 0 .3rem;
  color: #006072;
}

.dipps-urgent {
  background: linear-gradient(120deg, #ff9015, #ffab4d);
  color: #1b2328;
  border-radius: 14px;
  padding: 1rem 1.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dipps-sticky-book {
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: rgba(0, 75, 89, .96);
  color: #fff;
  border: 1px solid rgba(159,207,202,.35);
  border-radius: 999px;
  padding: .5rem .55rem .5rem .95rem;
  box-shadow: 0 14px 30px rgba(0,0,0,.28);
  backdrop-filter: blur(5px);
}
.dipps-sticky-book p {
  margin: 0;
  font-size: .86rem;
  line-height: 1.2;
}
.dipps-sticky-book .button {
  margin: 0;
  white-space: nowrap;
  padding: .55rem .95rem;
  font-size: .88rem;
}

@media (max-width: 989px) {
  .dipps-trust-row, .dipps-proof-grid, .dipps-expect-grid { grid-template-columns: 1fr; }
}

/* --- Dipps video hero --- */
.dipps-video-hero {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 64svh;
  max-width: min(1600px, calc(100% - 24px));
  margin: 10px auto 0;
  box-shadow: 0 20px 45px rgba(0, 49, 58, .24);
}
.dipps-video-hero__video {
  width: 100%;
  height: 100%;
  min-height: 64svh;
  object-fit: cover;
  object-position: center 42%;
}
.dipps-video-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(0,96,114,.88) 0%, rgba(0,96,114,.60) 48%, rgba(0,96,114,.38) 100%),
    linear-gradient(0deg, rgba(5,18,22,.35), rgba(5,18,22,.15));
}
.dipps-video-hero__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  color: #fff;
  padding-bottom: clamp(26px,6vw,76px);
}
.dipps-video-hero__content h1 {
  color:#fff;
  margin:0 0 .55rem;
  max-width: 13ch;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.dipps-video-hero__content p {
  max-width: 62ch;
  margin:0;
  text-shadow: 0 2px 14px rgba(0,0,0,.3);
}

/* tablets */
@media (max-width: 1200px) {
  .dipps-video-hero,
  .dipps-video-hero__video { min-height: 60svh; }
  .dipps-video-hero__video { object-position: center 38%; }
  .dipps-video-hero__overlay {
    background: linear-gradient(125deg, rgba(0,96,114,.86) 0%, rgba(0,96,114,.58) 52%, rgba(0,96,114,.40) 100%);
  }
}

/* mobile */
@media (max-width: 768px) {
  .dipps-video-hero,
  .dipps-video-hero__video {
    min-height: 68svh;
    border-radius: 14px;
  }
  .dipps-video-hero__video { object-position: 58% 45%; }
  .dipps-video-hero__overlay {
    background:
      linear-gradient(180deg, rgba(0,96,114,.42) 0%, rgba(0,96,114,.78) 62%, rgba(0,75,89,.92) 100%),
      linear-gradient(0deg, rgba(5,18,22,.50), rgba(5,18,22,.12));
  }
  .dipps-video-hero__content {
    justify-content: flex-end;
    padding-bottom: clamp(18px, 7vw, 34px);
  }
  .dipps-video-hero__content h1 {
    font-size: clamp(1.95rem, 10vw, 2.9rem);
    line-height: 1.02;
    max-width: 11ch;
  }
  .dipps-video-hero__content p {
    font-size: .98rem;
    max-width: 34ch;
  }
  .dipps-video-hero__content .button {
    font-size: .86rem;
    padding: .58rem .95rem;
  }
}


/* --- Dipps polish v3 --- */
/* remove clutter */
.dipps-sticky-book { display: none !important; }
@media (max-width: 768px) {
  .dipps-sticky-book { display: flex !important; }
}

/* tighten top whitespace */
.shopify-section:has(.dipps-video-hero) {
  margin-top: -8px;
}

/* hero: less generic, more premium */
.dipps-video-hero {
  min-height: 72svh;
  border-radius: 22px;
  box-shadow: 0 24px 54px rgba(0, 49, 58, .26);
}
.dipps-video-hero__video {
  min-height: 72svh;
  object-position: center 40%;
  transform: scale(1.01);
}
.dipps-video-hero__overlay {
  background:
    radial-gradient(circle at 18% 30%, rgba(18,42,48,.35), transparent 35%),
    linear-gradient(102deg, rgba(7,30,36,.70) 0%, rgba(0,96,114,.52) 44%, rgba(0,96,114,.24) 100%);
}
.dipps-video-hero__content {
  justify-content: center;
  align-items: flex-start;
  padding-bottom: 0;
}

.dipps-hero-panel {
  max-width: 560px;
  padding: clamp(20px, 3vw, 34px);
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(8,34,40,.68), rgba(0,96,114,.32));
  border: 1px solid rgba(159,207,202,.30);
  backdrop-filter: blur(4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.30);
}
.dipps-hero-panel h1 {
  margin: 6px 0 10px;
  color: #fff;
  max-width: 12ch;
  font-size: clamp(2.8rem, 6.2vw, 4.6rem);
  line-height: .95;
  letter-spacing: .01em;
}
.dipps-hero-panel p {
  max-width: 50ch;
  color: rgba(244,251,250,.96);
  font-size: 1.08rem;
}
.dipps-hero-actions {
  display: flex;
  gap: .65rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}
.dipps-hero-actions .button-secondary {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.75) !important;
}

/* trust pills less clinical */
.dipps-trust-pill {
  background: #fffaf2;
  border-color: rgba(0,96,114,.14);
  font-weight: 600;
}

/* mobile fit */
@media (max-width: 768px) {
  .dipps-video-hero,
  .dipps-video-hero__video {
    min-height: 74svh;
    border-radius: 16px;
  }
  .dipps-video-hero__video { object-position: 58% 42%; }
  .dipps-video-hero__content {
    justify-content: flex-end;
    padding-bottom: 18px;
  }
  .dipps-hero-panel {
    max-width: 100%;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(175deg, rgba(6,25,30,.64), rgba(0,96,114,.40));
  }
  .dipps-hero-panel h1 {
    font-size: clamp(2.1rem, 10.2vw, 3rem);
    line-height: .98;
    max-width: 10ch;
  }
  .dipps-hero-panel p { font-size: .95rem; }
}



/* --- Dipps full-bleed hotfix --- */
.shopify-section:has(.dipps-video-hero) {
  margin-top: 0 !important;
}
.shopify-section:has(.dipps-video-hero) .section {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.dipps-video-hero {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.dipps-video-hero__video {
  min-height: 76svh;
}
.dipps-video-hero__content.page-width {
  max-width: min(1280px, 100% - 48px);
  margin: 0 auto;
}
@media (max-width: 768px) {
  .dipps-video-hero__video { min-height: 70svh; }
  .dipps-video-hero__content.page-width { max-width: calc(100% - 28px); }
}



/* --- Dipps header over hero --- */
/* hide announcement strip area */
#shopify-section-header-announcements,
.header-announcements,
[data-section-type="header-announcements"] {
  display: none !important;
}

/* float header over hero */
#shopify-section-header,
.header-wrapper,
.header {
  background: transparent !important;
}

#shopify-section-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
}

body {
  padding-top: 0 !important;
}

/* nav text/icon contrast on video */

#shopify-section-header .header {
  background: linear-gradient(180deg, rgba(5,22,27,.52), rgba(5,22,27,.12)) !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
  backdrop-filter: blur(4px);
}

/* push hero content down so it doesn't clash with nav */
.dipps-video-hero__content {
  padding-top: 88px;
}

@media (max-width: 768px) {
  #shopify-section-header .header {
    background: linear-gradient(180deg, rgba(5,22,27,.66), rgba(5,22,27,.22)) !important;
  }
  .dipps-video-hero__content {
    padding-top: 78px;
  }
}



/* --- Dipps nav glass v2 --- */
/* Nuke announcement bars explicitly */
#shopify-section-header-announcements,
[id*="header_announcements"],
.announcement-bar,
.header-announcements {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Place full header group over hero video */
#shopify-section-header-group,
[id$="__header-group"],
[id*="header-group"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 90 !important;
  background: transparent !important;
}

/* remove top deadspace from main content */
#MainContent,
main#MainContent {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Glass nav bar */
#shopify-section-header-group .header,
[id*="header-group"] .header,
[id*="header-group"] .section-header {
  background: linear-gradient(180deg, rgba(6,22,28,.55), rgba(6,22,28,.20)) !important;
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
}

/* white nav text/icons over video */
#shopify-section-header-group .header *,
[id*="header-group"] .header * {
  color: #f4fbfc !important;
}

/* Keep hero content clear from overlapped nav */
.dipps-video-hero__content {
  padding-top: 102px !important;
}

@media (max-width: 768px) {
  .dipps-video-hero__content { padding-top: 88px !important; }
  #shopify-section-header-group .header,
  [id*="header-group"] .header,
  [id*="header-group"] .section-header {
    background: linear-gradient(180deg, rgba(6,22,28,.68), rgba(6,22,28,.26)) !important;
  }
}



/* --- Dipps sticky nav final --- */
/* true overlay + always visible on scroll */
#shopify-section-header-group,
[id*="header-group"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 120 !important;
  background: transparent !important;
}

/* keep hero/video directly behind nav */
#MainContent,
main#MainContent {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* readable glass bar (always) */
#shopify-section-header-group .header,
[id*="header-group"] .header,
[id*="header-group"] .section-header {
  background: linear-gradient(180deg, rgba(7,23,29,.78), rgba(7,23,29,.48)) !important;
  backdrop-filter: blur(10px) saturate(130%);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  border-bottom: 1px solid rgba(255,255,255,.22) !important;
}

/* force visible nav text/icons */
#shopify-section-header-group .header *,
[id*="header-group"] .header * {
  color: #f5fbfc !important;
  opacity: 1 !important;
}

/* hero content starts below fixed header */
.dipps-video-hero__content {
  padding-top: 96px !important;
}

@media (max-width: 768px) {
  .dipps-video-hero__content { padding-top: 84px !important; }
  #shopify-section-header-group .header,
  [id*="header-group"] .header,
  [id*="header-group"] .section-header {
    background: linear-gradient(180deg, rgba(7,23,29,.86), rgba(7,23,29,.58)) !important;
  }
}



/* --- Dipps nav no-gradient + sticky fix --- */
/* remove grey gradient: use clean glass */
#shopify-section-header-group .header,
[id*="header-group"] .header,
[id*="header-group"] .section-header {
  background: rgba(6, 23, 29, 0.44) !important;
  backdrop-filter: blur(10px) saturate(130%);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  border-bottom: 1px solid rgba(255,255,255,.20) !important;
  box-shadow: none !important;
}

/* force nav text/icon readability */
#shopify-section-header-group .header *,
[id*="header-group"] .header * {
  color: #f5fbfc !important;
  opacity: 1 !important;
}

/* prevent Shopify sticky state from switching to white */
.shopify-section-header-sticky .header,
.shopify-section-header-scrolled .header,
.header--sticky,
.header.is-sticky,
.header[stuck],
[data-stuck="true"] .header,
.scrolled-past-header .header,
body.scrolled .header {
  background: rgba(6, 23, 29, 0.78) !important;
  backdrop-filter: blur(10px) saturate(130%);
  -webkit-backdrop-filter: blur(10px) saturate(130%);
  border-bottom: 1px solid rgba(255,255,255,.24) !important;
}

.shopify-section-header-sticky .header *,
.shopify-section-header-scrolled .header *,
.header--sticky *,
.header.is-sticky *,
.header[stuck] *,
[data-stuck="true"] .header *,
.scrolled-past-header .header * {
  color: #f5fbfc !important;
}



/* --- Dipps keep-nav-visible hotfix --- */
/* prevent theme hide-on-scroll behavior */
#shopify-section-header-group,
[id*="header-group"],
#shopify-section-header,
.header-wrapper,
.header,
.shopify-section-header-sticky,
.header--sticky {
  transform: translateY(0) !important;
  translate: 0 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* if theme toggles hidden classes/attrs on scroll, ignore */
[hidden].header,
.header[hidden],
.header-wrapper[hidden],
.shopify-section-header-hidden,
.header-hidden,
.is-header-hidden,
.header--hidden {
  display: block !important;
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* keep nav fixed and on top at all scroll positions */
#shopify-section-header-group,
[id*="header-group"] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
}

/* readable bar while scrolled */
#shopify-section-header-group .header,
[id*="header-group"] .header {
  background: rgba(6,23,29,.82) !important;
  border-bottom: 1px solid rgba(255,255,255,.22) !important;
}

/* Dipps Trips: Header/Drawer Theme Layer (single source of truth) */
/* Header tone */
#shopify-section-header-group .header,
#header-group .header,
#shopify-section-header .header {
  background: linear-gradient(180deg, rgba(6,22,28,.72), rgba(6,22,28,.46));
  border-bottom: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(6px) saturate(115%);
  -webkit-backdrop-filter: blur(6px) saturate(115%);
}

#shopify-section-header-group .header :is(.header__heading-link, .header__menu-item, .header__icon, .header__icon svg, .account-button__icon, .header-actions__cart-icon svg),
#header-group .header :is(.header__heading-link, .header__menu-item, .header__icon, .header__icon svg, .account-button__icon, .header-actions__cart-icon svg),
#shopify-section-header .header :is(.header__heading-link, .header__menu-item, .header__icon, .header__icon svg, .account-button__icon, .header-actions__cart-icon svg) {
  color: #f4fbfc;
  fill: #f4fbfc;
}

@media (max-width: 989px) {
  /* TRUE drawer panel + overlay behavior */
  .menu-drawer,
  .header-drawer,
  .header-drawer__navigation {
    background: #0f2730 !important;
    color: #f4fbfc !important;
  }

  .menu-drawer::before,
  .header-drawer::before,
  .header-drawer__navigation::before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(5, 16, 21, .42);
    z-index: -1;
  }

  .menu-drawer :is(a, button, .list-menu__item, .menu-drawer__menu-item, .price, .card__heading, .card-information, p, span),
  .header-drawer :is(a, button, .list-menu__item, .menu-drawer__menu-item, .price, .card__heading, .card-information, p, span),
  .menu-drawer svg,
  .header-drawer svg {
    color: #f4fbfc !important;
    fill: #f4fbfc !important;
    opacity: 1 !important;
  }

  /* ensure panel product card is readable on dark */
  .menu-drawer .card,
  .menu-drawer .card-wrapper,
  .menu-drawer .card-information,
  .menu-drawer .card__inner {
    background: transparent !important;
    border-color: rgba(255,255,255,.18) !important;
  }

  /* cart drawer dark theme too */
  .cart-drawer,
  .cart-drawer .drawer,
  .cart-drawer .drawer__inner,
  .cart-drawer .drawer__header,
  .cart-drawer .drawer__contents,
  .cart-drawer .drawer__footer {
    background: #0f2730 !important;
    color: #f4fbfc !important;
  }

  .cart-drawer * { color: #f4fbfc !important; }
}


/* Cart drawer strict fix */
@media (max-width: 989px) {
  cart-drawer,
  .cart-drawer,
  .cart-drawer .drawer,
  .cart-drawer .drawer__inner,
  .cart-drawer .drawer__header,
  .cart-drawer .drawer__contents,
  .cart-drawer .drawer__footer,
  .cart-drawer .cart-item,
  .cart-drawer .totals,
  .cart-drawer .tax-note,
  .cart-drawer .cart-item__details {
    background: #0f2730 !important;
    color: #f4fbfc !important;
    border-color: rgba(255,255,255,.16) !important;
  }

  .cart-drawer :is(h1,h2,h3,h4,p,span,a,button,label,input,textarea,select,strong,small),
  .cart-drawer :is(.cart-item__name,.product-option,.price,.totals__total-value,.totals__subtotal-value,.drawer__close,.quantity__button,.quantity__input),
  .cart-drawer svg,
  .cart-drawer svg * {
    color: #f4fbfc !important;
    fill: #f4fbfc !important;
    stroke: #f4fbfc !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  .cart-drawer .button,
  .cart-drawer .button--primary,
  .cart-drawer .button--secondary {
    background: #ff9e2f !important;
    color: #1a252b !important;
    border: 1px solid #e57b00 !important;
  }
}


/* Dialog root fix: menu/cart drawers were inheriting white base dialog background */
@media (max-width: 989px) {
  .dialog-drawer,
  .dialog-drawer[open],
  .dialog-modal.dialog-drawer,
  .dialog-modal.dialog-drawer[open],
  .dialog-drawer .dialog__content,
  .dialog-drawer .drawer,
  .dialog-drawer .drawer__inner,
  cart-drawer .dialog-drawer,
  header-drawer .dialog-drawer {
    --color-background: #0f2730 !important;
    --color-foreground: #f4fbfc !important;
    --color-foreground-rgb: 244 251 252 !important;
    background: #0f2730 !important;
    color: #f4fbfc !important;
  }

  .dialog-drawer :is(h1,h2,h3,h4,p,span,a,button,label,input,textarea,select,strong,small,svg,path),
  cart-drawer .dialog-drawer :is(h1,h2,h3,h4,p,span,a,button,label,input,textarea,select,strong,small,svg,path),
  header-drawer .dialog-drawer :is(h1,h2,h3,h4,p,span,a,button,label,input,textarea,select,strong,small,svg,path) {
    color: #f4fbfc !important;
    fill: #f4fbfc !important;
    stroke: #f4fbfc !important;
    opacity: 1 !important;
  }
}


/* Cart drawer CTA/icon contrast fixes */
@media (max-width: 989px) {
  .cart-drawer .button,
  .cart-drawer .button .button-text,
  .cart-drawer .cart-items__empty-button,
  .cart-drawer .cart-items__empty-button .button-text {
    color: #1a252b !important;
    fill: #1a252b !important;
    text-shadow: none !important;
  }

  .cart-drawer .drawer__close,
  .cart-drawer .drawer__close svg,
  .cart-drawer .drawer__close svg * {
    color: #1a252b !important;
    fill: #1a252b !important;
    stroke: #1a252b !important;
  }
}


/* RCA hard fix: cart drawer close control + CTA text contrast */
@media (max-width: 989px) {
  /* Keep cart drawer shell dark */
  cart-drawer .dialog-drawer,
  cart-drawer .dialog-drawer[open],
  cart-drawer .dialog-drawer .drawer,
  cart-drawer .dialog-drawer .drawer__inner {
    background: #0f2730 !important;
    color: #f4fbfc !important;
  }

  /* Close button must be transparent, icon visible */
  cart-drawer .drawer__close,
  cart-drawer .dialog-drawer .drawer__close,
  cart-drawer button[aria-label*='Close'] {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #f4fbfc !important;
    fill: #f4fbfc !important;
    stroke: #f4fbfc !important;
    border-radius: 0 !important;
  }

  cart-drawer .drawer__close svg,
  cart-drawer .drawer__close svg * {
    color: #f4fbfc !important;
    fill: #f4fbfc !important;
    stroke: #f4fbfc !important;
    opacity: 1 !important;
  }

  /* Empty-cart CTA text must remain dark on orange button */
  cart-drawer .cart-items__empty-button,
  cart-drawer .cart-items__empty-button .button-text,
  cart-drawer .cart-items__empty-button span {
    color: #1a252b !important;
    fill: #1a252b !important;
    text-shadow: none !important;
    opacity: 1 !important;
  }
}


/* cart drawer close icon must never inherit branded button skin */
cart-drawer .drawer__close,
cart-drawer .drawer__close.button,
cart-drawer .drawer__close.button-primary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #f4fbfc !important;
}










/* === Canonical header/drawer color system (mobile-safe, regression-resistant) === */
:root {
  --dipps-nav-bg: #0f2730;
  --dipps-nav-fg: #f4fbfc;
  --dipps-nav-chip: #0f2730;
  --dipps-nav-chip-border: rgba(255,255,255,.18);
}

/* Header shell */
#shopify-section-header .header {
  background: linear-gradient(180deg, rgba(5,22,27,.52), rgba(5,22,27,.12)) !important;
  border-bottom: 1px solid rgba(255,255,255,.15) !important;
  backdrop-filter: blur(4px);
}

/* Icon/text contrast for all header states */
#shopify-section-header .header :is(.header__heading-link, .header__menu-item, .header__icon, .header__icon svg, .account-button__icon, .header-actions__cart-icon svg) {
  color: var(--dipps-nav-fg) !important;
  fill: var(--dipps-nav-fg) !important;
}

/* Control chips (menu/account/cart buttons) */
#shopify-section-header .header :is(.header__menu-toggle, .header__icon-button, .header__actions button, a.header__icon) {
  background: var(--dipps-nav-chip) !important;
  border-color: var(--dipps-nav-chip-border) !important;
}

/* Keep same colors when any drawer is open */
body:has(.dialog-drawer[open]) #shopify-section-header .header :is(.header__menu-toggle, .header__icon-button, .header__actions button, a.header__icon) {
  background: var(--dipps-nav-chip) !important;
  border-color: var(--dipps-nav-chip-border) !important;
  color: var(--dipps-nav-fg) !important;
  fill: var(--dipps-nav-fg) !important;
}

/* Cart drawer readability */
@media (max-width: 989px) {
  cart-drawer .button,
  .cart-drawer .button,
  .dialog-drawer .button {
    color: var(--dipps-nav-fg) !important;
    border-color: rgba(244,251,252,.35) !important;
  }
}



/* Remove account/profile nav icon */
#header-group a[href*="/account"],
#header-group .account-button,
#header-group .account-button__icon,
#header-group .header-actions__account,
#header-group [aria-label*="Account" i],
#header-group [aria-label*="Log in" i],
#header-group [aria-label*="Profile" i] {
  display: none !important;
}


/* Desktop cart drawer matches mobile scheme */
@media (min-width: 990px) {
  cart-drawer,
  .cart-drawer,
  .dialog-drawer,
  .dialog-drawer[open],
  .cart-drawer .drawer,
  .cart-drawer .drawer__inner,
  .cart-drawer .drawer__header,
  .cart-drawer .drawer__contents,
  .cart-drawer .drawer__footer {
    background: var(--dipps-nav-bg) !important;
    color: var(--dipps-nav-fg) !important;
  }

  .cart-drawer :is(h1,h2,h3,h4,p,span,a,label,strong,small),
  .cart-drawer :is(svg,path) {
    color: var(--dipps-nav-fg) !important;
    fill: var(--dipps-nav-fg) !important;
  }

  .cart-drawer .button,
  cart-drawer .button {
    color: var(--dipps-nav-fg) !important;
    border-color: rgba(244,251,252,.35) !important;
  }
}


/* Cart drawer CTA parity (desktop + mobile) */
.cart-drawer .button,
cart-drawer .button,
.dialog-drawer .button,
.dialog-drawer .button.button-primary {
  background: linear-gradient(180deg, #ff9e2f, #ff9015) !important;
  border: 1px solid #e57b00 !important;
  color: #162126 !important;
  fill: #162126 !important;
  opacity: 1 !important;
}






/* Hero panel position/width tweak v4 */
@media (min-width: 990px) {
  .dipps-video-hero__content {
    padding-top: 36px !important;
  }

  .dipps-video-hero .dipps-hero-panel,
  .dipps-hero-panel {
    margin-top: -96px !important;
    width: min(50vw, 680px) !important;
    max-width: 50vw !important;
  }
}


/* History page — match homepage look & feel */
.dipps-history-page {
  max-width: 1100px;
  margin: 1.5rem auto 3rem;
  padding: 0 1rem;
}

.dipps-history-hero {
  background: linear-gradient(160deg, rgba(9,53,66,.92), rgba(12,76,92,.78));
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
  padding: clamp(1.25rem, 2.4vw, 2.2rem);
  color: #f4fbfc;
  box-shadow: 0 16px 38px rgba(8,40,50,.32);
  margin-bottom: 1rem;
}

.dipps-history-page .dipps-kicker {
  color: #c9e9ef;
  letter-spacing: .12em;
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: .45rem;
}

.dipps-history-hero h1 {
  color: #ffffff;
  margin: 0 0 .5rem;
}

.dipps-history-page .dipps-lead {
  color: #e5f7fa;
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  margin: 0;
}

.dipps-history-card {
  background: rgba(11,67,81,.86);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px;
  padding: clamp(1.1rem, 2.2vw, 2rem);
  color: #eef9fb;
}

.dipps-history-card h2,
.dipps-history-card h3 { color: #ffffff; }
.dipps-history-card p { color: #dff3f7; line-height: 1.72; }

@media (max-width: 989px) {
  .dipps-history-page { margin-top: .75rem; }
  .dipps-history-hero, .dipps-history-card { border-radius: 16px; }
}


.dipps-history-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.dipps-history-gallery figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.12)}
.dipps-history-gallery img{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width: 989px){.dipps-history-gallery{grid-template-columns:1fr;gap:10px}}


/* History page: remove duplicate template page title above custom hero */
.template-page:has(.dipps-history-page) .main-page-title,
.template-page:has(.dipps-history-page) h1.page-title,
.template-page:has(.dipps-history-page) .page-title {
  display: none !important;
}


/* History page duplicate heading removal (fallback selectors) */
body:has(.dipps-history-page) .main-page-title,
body:has(.dipps-history-page) .page-title,
body:has(.dipps-history-page) .title--page,
body:has(.dipps-history-page) .rte > h1:first-child,
body:has(.dipps-history-page) main h1:first-of-type:not(.dipps-history-page h1) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* History page background system (homepage-consistent) */
body:has(.dipps-history-page) {
  background:
    radial-gradient(1200px 500px at 85% 18%, rgba(63,143,163,.22), transparent 60%),
    radial-gradient(900px 420px at 10% 70%, rgba(10,92,112,.22), transparent 60%),
    linear-gradient(180deg, #082a34 0%, #0b3643 42%, #0a2e39 100%) !important;
}

body:has(.dipps-history-page) #MainContent,
body:has(.dipps-history-page) main {
  background: transparent !important;
}

body:has(.dipps-history-page)::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,.02)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
  opacity: .35;
  z-index: 0;
}

.dipps-history-page {
  position: relative;
  z-index: 1;
}

.dipps-history-card {
  background: rgba(10,72,88,.84);
  backdrop-filter: blur(2px);
}

.dipps-inline-figure {
  margin: 1rem 0 1.25rem;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(5,35,43,.45);
}
.dipps-inline-figure img { width:100%; display:block; }
.dipps-inline-figure figcaption {
  color: #cfeaf0;
  font-size: .92rem;
  padding: .6rem .8rem .75rem;
}

@media (max-width: 989px) {
  body:has(.dipps-history-page) {
    background:
      radial-gradient(700px 300px at 80% 12%, rgba(63,143,163,.18), transparent 60%),
      linear-gradient(180deg, #082a34 0%, #0a3340 55%, #092a33 100%) !important;
  }
  .dipps-history-page { padding: 0 .85rem; }
  .dipps-history-card { background: rgba(10,72,88,.9); }
}


/* History full-page background layer (template-agnostic) */
.dipps-history-page {
  position: relative;
  z-index: 1;
  isolation: isolate;
}

.dipps-history-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(1200px 500px at 85% 18%, rgba(63,143,163,.22), transparent 60%),
    radial-gradient(900px 420px at 10% 70%, rgba(10,92,112,.22), transparent 60%),
    linear-gradient(180deg, #082a34 0%, #0b3643 42%, #0a2e39 100%);
}

.dipps-history-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,.02)),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
  opacity: .35;
}

/* Let underlying wrappers be transparent on this page section */
.dipps-history-page,
.dipps-history-page * {
  --history-page-bg-active: 1;
}

@media (max-width: 989px) {
  .dipps-history-page::before {
    background:
      radial-gradient(700px 300px at 80% 12%, rgba(63,143,163,.18), transparent 60%),
      linear-gradient(180deg, #082a34 0%, #0a3340 55%, #092a33 100%);
  }
}


/* FAQ page matches history/home styling */
.dipps-faq-page { position: relative; z-index: 1; isolation: isolate; max-width: 1100px; margin: 1.5rem auto 3rem; padding: 0 1rem; }
.dipps-faq-page::before {
  content:""; position: fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(1200px 500px at 85% 18%, rgba(63,143,163,.22), transparent 60%),
    radial-gradient(900px 420px at 10% 70%, rgba(10,92,112,.22), transparent 60%),
    linear-gradient(180deg, #082a34 0%, #0b3643 42%, #0a2e39 100%);
}
.dipps-faq-page::after {
  content:""; position: fixed; inset:0; z-index:-1; pointer-events:none;
  background: linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,.02)), repeating-linear-gradient(0deg, rgba(255,255,255,.015) 0 1px, transparent 1px 3px);
  opacity:.35;
}
.dipps-faq-hero {
  background: linear-gradient(160deg, rgba(9,53,66,.92), rgba(12,76,92,.78));
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
  padding: clamp(1.25rem,2.4vw,2.2rem);
  color:#f4fbfc;
  box-shadow: 0 16px 38px rgba(8,40,50,.32);
  margin-bottom:1rem;
}
.dipps-faq-card {
  background: rgba(10,72,88,.86);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px;
  padding: clamp(1.1rem,2.2vw,2rem);
  color:#eef9fb;
}
.dipps-faq-card h2,.dipps-faq-card h3,.dipps-faq-card strong { color:#fff; }
.dipps-faq-card p,.dipps-faq-card li { color:#dff3f7; line-height:1.72; }
@media (max-width:989px){ .dipps-faq-page{padding:0 .85rem}.dipps-faq-hero,.dipps-faq-card{border-radius:16px} }


}


/* Navbar brand icon (actual Horizon selector: .header-logo) */
#header-group .header .header-logo {
  display: inline-flex !important;
  align-items: center;
  gap: .75rem;
}
#header-group .header .header-logo::before {
  content: "";
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: url('/cdn/shop/t/1/assets/dipps-favicon.png?v=1777721526') center/cover no-repeat;
  flex: 0 0 56px;
  box-shadow: 0 0 0 2px rgba(255,255,255,.28);
  margin-right: .6rem;
}
@media (max-width: 989px) {
  #header-group .header .header-logo::before {
    width: 42px; height: 42px; flex-basis: 42px;
  }
}


/* Mobile header: logo-only brand mark */
@media (max-width: 989px) {
  #header-group .header .header-logo {
    font-size: 0 !important;
    line-height: 0 !important;
    gap: 0 !important;
  }

  #header-group .header .header-logo::before {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
    margin-right: 0 !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.3);
  }
}


/* Hide top product price on booking product (avoid misleading per-variant headline) */
body:has([action*="/cart/add"] [name="id"][value="59410818269518"]) .price__regular,
body:has([action*="/cart/add"] [name="id"][value="59410818269518"]) [ref="priceContainer"],
body:has([action*="/cart/add"] [name="id"][value="59410818269518"]) .product-price,
body:has([action*="/cart/add"] [name="id"][value="59410818269518"]) .price-list {
  display: none !important;
}




/* Booking product page brand alignment (robust selector for this theme) */
body:has(product-form-component[data-product-id="15768431526222"]) {
  background:
    radial-gradient(1200px 500px at 85% 18%, rgba(63,143,163,.22), transparent 60%),
    radial-gradient(900px 420px at 10% 70%, rgba(10,92,112,.22), transparent 60%),
    linear-gradient(180deg, #082a34 0%, #0b3643 42%, #0a2e39 100%) !important;
}

body:has(product-form-component[data-product-id="15768431526222"]) #MainContent,
body:has(product-form-component[data-product-id="15768431526222"]) main {
  background: transparent !important;
}

body:has(product-form-component[data-product-id="15768431526222"]) .section,
body:has(product-form-component[data-product-id="15768431526222"]) .product,
body:has(product-form-component[data-product-id="15768431526222"]) .product-info,
body:has(product-form-component[data-product-id="15768431526222"]) .product-information,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details {
  background: rgba(10,72,88,.86) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 20px !important;
  color: #eef9fb !important;
}

body:has(product-form-component[data-product-id="15768431526222"]) h1,
body:has(product-form-component[data-product-id="15768431526222"]) h2,
body:has(product-form-component[data-product-id="15768431526222"]) h3,
body:has(product-form-component[data-product-id="15768431526222"]) p,
body:has(product-form-component[data-product-id="15768431526222"]) li,
body:has(product-form-component[data-product-id="15768431526222"]) label,
body:has(product-form-component[data-product-id="15768431526222"]) legend {
  color: #eef9fb !important;
}



/* Variant pills */
body:has(product-form-component[data-product-id="15768431526222"]) .product-form__input input[type='radio'] + label,
body:has(product-form-component[data-product-id="15768431526222"]) .variant-picker__option-values label,
body:has(product-form-component[data-product-id="15768431526222"]) .product-form__input--pill label {
  background: var(--dipps-btn-secondary-bg) !important;
  color: var(--dipps-btn-secondary-text) !important;
  border: 1px solid var(--dipps-btn-secondary-border) !important;
  border-radius: 999px !important;
  min-height: 52px;
}

body:has(product-form-component[data-product-id="15768431526222"]) .product-form__input input[type='radio']:checked + label,
body:has(product-form-component[data-product-id="15768431526222"]) .variant-picker__option-values input:checked + label,
body:has(product-form-component[data-product-id="15768431526222"]) .product-form__input--pill input:checked + label {
  background: var(--dipps-btn-bg) !important;
  color: var(--dipps-btn-text) !important;
  border-color: var(--dipps-btn-border) !important;
  box-shadow: 0 8px 18px rgba(255,144,21,.28);
}

/* Quantity control */
body:has(product-form-component[data-product-id="15768431526222"]) .quantity,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity__button,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity__input {
  background: rgba(8,46,58,.75) !important;
  color: #f4fbfc !important;
  border-color: rgba(255,255,255,.45) !important;
  border-radius: 14px !important;
}

/* Main CTAs */
body:has(product-form-component[data-product-id="15768431526222"]) .product-form__submit,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button,
body:has(product-form-component[data-product-id="15768431526222"]) button[name='add'] {
  background: var(--dipps-btn-bg) !important;
  color: var(--dipps-btn-text) !important;
  border: 1px solid var(--dipps-btn-border) !important;
  border-radius: 999px !important;
  min-height: 56px;
  box-shadow: 0 8px 18px rgba(255,144,21,.30);
}

/* Secondary booking action */
body:has(product-form-component[data-product-id="15768431526222"]) .button--secondary,
body:has(product-form-component[data-product-id="15768431526222"]) .btn--secondary,
body:has(product-form-component[data-product-id="15768431526222"]) .product-form button:not([name='add']):not(.quantity__button) {
  background: var(--dipps-btn-secondary-bg) !important;
  color: var(--dipps-btn-secondary-text) !important;
  border: 1px solid var(--dipps-btn-secondary-border) !important;
  border-radius: 999px !important;
}

/* Disabled/readability state */
body:has(product-form-component[data-product-id="15768431526222"]) button[disabled],
body:has(product-form-component[data-product-id="15768431526222"]) .disabled {
  opacity: .55 !important;
  filter: grayscale(.1);
}



/* specifically target Book your slot action */
body:has(product-form-component[data-product-id="15768431526222"]) .product-form button:not([name='add']):not(.quantity__button),
body:has(product-form-component[data-product-id="15768431526222"]) .button--secondary,
body:has(product-form-component[data-product-id="15768431526222"]) .btn--secondary {
  color: #f4fbfc !important;
  -webkit-text-fill-color: #f4fbfc !important;
  background: rgba(9,53,66,.92) !important;
  border-color: rgba(255,255,255,.65) !important;
}



/* Prevent theme from dimming non-selected/disabled-looking labels */
body:has(product-form-component[data-product-id="15768431526222"]) .disabled,
body:has(product-form-component[data-product-id="15768431526222"]) [aria-disabled="true"],
body:has(product-form-component[data-product-id="15768431526222"]) input[disabled] + label {
  opacity: 1 !important;
}



/* ensure non-selected label never goes white-on-white */
body:has(product-form-component[data-product-id="15768431526222"]) .product-form__input input:not(:checked) + label,
body:has(product-form-component[data-product-id="15768431526222"]) .variant-picker__option-values input:not(:checked) + label {
  background: rgba(12,67,82,.92) !important;
  color: #eef9fb !important;
}

/* Restore 'Book your slot' dynamic checkout button */
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button--unbranded {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button--unbranded {
  background: rgba(9,53,66,.92) !important;
  color: #f4fbfc !important;
  -webkit-text-fill-color: #f4fbfc !important;
  border: 1px solid rgba(255,255,255,.65) !important;
  border-radius: 999px !important;
  min-height: 56px !important;
}





/* Variant buttons (exact Horizon classes) */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label,
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label .variant-option__button-label__text {
  color: var(--dipps-pill-text) !important;
  -webkit-text-fill-color: var(--dipps-pill-text) !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label {
  background: var(--dipps-pill-bg) !important;
  border: 1px solid var(--dipps-pill-border) !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) {
  background: var(--dipps-primary-bg) !important;
  border-color: var(--dipps-primary-border) !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) .variant-option__button-label__text {
  color: var(--dipps-primary-text) !important;
  -webkit-text-fill-color: var(--dipps-primary-text) !important;
}

/* Add to cart */
body:has(product-form-component[data-product-id="15768431526222"]) .add-to-cart-button,
body:has(product-form-component[data-product-id="15768431526222"]) button[name='add'] {
  background: var(--dipps-primary-bg) !important;
  color: var(--dipps-primary-text) !important;
  -webkit-text-fill-color: var(--dipps-primary-text) !important;
  border: 1px solid var(--dipps-primary-border) !important;
  border-radius: 999px !important;
}

/* Book your slot (dynamic checkout unbranded) */
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button--unbranded,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button {
  background: var(--dipps-secondary-bg) !important;
  color: var(--dipps-secondary-text) !important;
  -webkit-text-fill-color: var(--dipps-secondary-text) !important;
  border: 1px solid var(--dipps-secondary-border) !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}

/* Quantity */
body:has(product-form-component[data-product-id="15768431526222"]) .quantity,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity__button,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity__input {
  background: #B8C7CD !important;
  color: #1B2B31 !important;
  border-color: #9FB1B8 !important;
}


/* Booking variant readability hard-fix (Safari-safe, no :has dependency) */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label {
  background: #114B5C !important;
  border: 1px solid #6FA7B6 !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label .variant-option__button-label__text {
  color: #EAF7FA !important;
  -webkit-text-fill-color: #EAF7FA !important;
  opacity: 1 !important;
}

/* Selected option via checked input inside label */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label input:checked ~ .variant-option__button-label__text {
  color: #162126 !important;
  -webkit-text-fill-color: #162126 !important;
  font-weight: 700 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) {
  background: #FF9E2F !important;
  border-color: #E57B00 !important;
}

/* Fallback if :has is not applied reliably */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label input:checked {
  accent-color: #FF9E2F;
}




/* Booking product stable visual layer (single source of truth) */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label {
  background:#114B5C !important;
  border:1px solid #6FA7B6 !important;
  border-radius:999px !important;
  opacity:1 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label .variant-option__button-label__text {
  color:#EAF7FA !important; -webkit-text-fill-color:#EAF7FA !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) {
  background:#FF9E2F !important; border-color:#E57B00 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) .variant-option__button-label__text {
  color:#162126 !important; -webkit-text-fill-color:#162126 !important; font-weight:700 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .add-to-cart-button, 
body:has(product-form-component[data-product-id="15768431526222"]) button[name='add'] {
  background:#FF9E2F !important; color:#162126 !important; -webkit-text-fill-color:#162126 !important;
  border:1px solid #E57B00 !important; border-radius:999px !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button--unbranded {
  background:#0D3E4D !important; color:#F4FBFC !important; -webkit-text-fill-color:#F4FBFC !important;
  border:1px solid #7FB7C6 !important; border-radius:999px !important;
}


/* Booking variant text visibility deterministic fix */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label .variant-option__button-label__text {
  color:#EAF7FA !important;
  -webkit-text-fill-color:#EAF7FA !important;
  opacity:1 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label input:checked ~ .variant-option__button-label__text {
  color:#F4FBFC !important;
  -webkit-text-fill-color:#F4FBFC !important;
  font-weight:700 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) {
  background:#0D3E4D !important;
  border-color:#7FB7C6 !important;
}


/* Dedicated booking CTA (stable across variants) */
body:has(product-form-component[data-product-id="15768431526222"]) .dipps-book-slot-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  width: 100%;
  text-decoration: none !important;
  background: #0D3E4D !important;
  color: #F4FBFC !important;
  -webkit-text-fill-color: #F4FBFC !important;
  border: 1px solid #7FB7C6 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

/* hide dynamic checkout area on this booking product */
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__button,
body:has(product-form-component[data-product-id="15768431526222"]) .shopify-payment-button__more-options {
  display: none !important;
}



/* Booking quantity control explicit interaction colors */
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector {
  color: #1B2B31 !important;
  background-color: #B8C7CD !important;
  border-color: #9FB1B8 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector:hover,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector:focus-within,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector:active {
  color: #162126 !important;
  background-color: #FF9E2F !important;
  border-color: #E57B00 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector .quantity-minus,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector .quantity-plus,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector input[name='quantity'] {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector .quantity-minus:active,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector .quantity-plus:active,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector .quantity-minus:focus-visible,
body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector .quantity-plus:focus-visible {
  background-color: #FF9E2F !important;
  color: #162126 !important;
}


/* Mobile cleanup: remove edge artifacts + heavy header icon blocks */
@media (max-width: 989px) {
  /* Flatten edge gutters/ghost borders on product page panels */
  body:has(product-form-component[data-product-id="15768431526222"]) .section,
  body:has(product-form-component[data-product-id="15768431526222"]) .product,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-info,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-information,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-details {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body:has(product-form-component[data-product-id="15768431526222"]) #MainContent,
  body:has(product-form-component[data-product-id="15768431526222"]) main {
    overflow-x: hidden !important;
  }

  /* Header icon controls: remove dark square blocks */
  #header-group .header :is(.header__icon--menu, .header__icon-button, .header__actions button, a.header__icon) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Footer email field readability spacing */
  .footer .newsletter-form input,
  .footer input[type='email'] {
    background: #e8eef1 !important;
    color: #1b2b31 !important;
    -webkit-text-fill-color: #1b2b31 !important;
  }
}


/* Mobile booking panel breathing room */
@media (max-width: 989px) {
  body:has(product-form-component[data-product-id="15768431526222"]) .product-details,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-information,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-info,
  body:has(product-form-component[data-product-id="15768431526222"]) .section {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
  }

  body:has(product-form-component[data-product-id="15768431526222"]) .product-form-buttons {
    gap: 12px !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }

  body:has(product-form-component[data-product-id="15768431526222"]) .variant-picker,
  body:has(product-form-component[data-product-id="15768431526222"]) .variant-option,
  body:has(product-form-component[data-product-id="15768431526222"]) .quantity-selector-wrapper {
    margin-bottom: 10px !important;
  }

  body:has(product-form-component[data-product-id="15768431526222"]) .product-details > * + * {
    margin-top: 12px !important;
  }

  body:has(product-form-component[data-product-id="15768431526222"]) .product__description,
  body:has(product-form-component[data-product-id="15768431526222"]) .rte,
  body:has(product-form-component[data-product-id="15768431526222"]) .text-block {
    line-height: 1.55 !important;
  }
}


/* Product page cream-panel system to match homepage */
body:has(product-form-component[data-product-id="15768431526222"]) {
  background: #f2f4f1 !important;
}

body:has(product-form-component[data-product-id="15768431526222"]) .product,
body:has(product-form-component[data-product-id="15768431526222"]) .product-info,
body:has(product-form-component[data-product-id="15768431526222"]) .product-information,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details {
  background: #efece3 !important;
  border: 1px solid #d9e1de !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

body:has(product-form-component[data-product-id="15768431526222"]) .product-details > * {
  background: #efece3 !important;
  color: #1f2a2e !important;
}

body:has(product-form-component[data-product-id="15768431526222"]) .product-details h1,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details h2,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details h3,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details p,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details li,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details label,
body:has(product-form-component[data-product-id="15768431526222"]) .product-details legend {
  color: #1f2a2e !important;
  -webkit-text-fill-color: #1f2a2e !important;
}

/* Keep existing booking controls readable on cream */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label {
  background: #ffffff !important;
  border: 1px solid #b7c9c2 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label .variant-option__button-label__text {
  color: #124b5e !important;
  -webkit-text-fill-color: #124b5e !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) {
  background: #ff9e2f !important;
  border-color: #e57b00 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) .variant-option__button-label__text {
  color: #162126 !important;
  -webkit-text-fill-color: #162126 !important;
}

@media (max-width: 989px) {
  body:has(product-form-component[data-product-id="15768431526222"]) .product,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-info,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-information,
  body:has(product-form-component[data-product-id="15768431526222"]) .product-details {
    border-radius: 18px !important;
    margin: 0 10px !important;
  }
}


/* Cream mode variant button readability */
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label,
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label .variant-option__button-label__text {
  color: #0f566b !important;
  -webkit-text-fill-color: #0f566b !important;
  opacity: 1 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label {
  background: #f7fbfc !important;
  border: 1px solid #a8c7cf !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) {
  background: #ff9e2f !important;
  border-color: #e57b00 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label:has(input:checked) .variant-option__button-label__text,
body:has(product-form-component[data-product-id="15768431526222"]) .variant-option__button-label input:checked ~ .variant-option__button-label__text {
  color: #162126 !important;
  -webkit-text-fill-color: #162126 !important;
  font-weight: 700 !important;
}


/* Variant button colors - no :has dependency */
#MainContent .product-details .variant-option--buttons .variant-option__button-label,
#MainContent .product-info .variant-option--buttons .variant-option__button-label,
#MainContent .product-information .variant-option--buttons .variant-option__button-label {
  background: #f7fbfc !important;
  border: 1px solid #a8c7cf !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}

#MainContent .product-details .variant-option--buttons .variant-option__button-label .variant-option__button-label__text,
#MainContent .product-info .variant-option--buttons .variant-option__button-label .variant-option__button-label__text,
#MainContent .product-information .variant-option--buttons .variant-option__button-label .variant-option__button-label__text {
  color: #0f566b !important;
  -webkit-text-fill-color: #0f566b !important;
  opacity: 1 !important;
}

#MainContent .product-details .variant-option--buttons .variant-option__button-label input[type='radio']:checked + .variant-option__button-label__text,
#MainContent .product-info .variant-option--buttons .variant-option__button-label input[type='radio']:checked + .variant-option__button-label__text,
#MainContent .product-information .variant-option--buttons .variant-option__button-label input[type='radio']:checked + .variant-option__button-label__text {
  color: #162126 !important;
  -webkit-text-fill-color: #162126 !important;
  font-weight: 700 !important;
}

#MainContent .product-details .variant-option--buttons .variant-option__button-label:has(input[type='radio']:checked),
#MainContent .product-info .variant-option--buttons .variant-option__button-label:has(input[type='radio']:checked),
#MainContent .product-information .variant-option--buttons .variant-option__button-label:has(input[type='radio']:checked) {
  background: #ff9e2f !important;
  border-color: #e57b00 !important;
}


/* Final selected-variant text contrast fix */
#MainContent .variant-option--buttons .variant-option__button-label:has(input[type='radio']:checked) .variant-option__button-label__text,
#MainContent .variant-option--buttons .variant-option__button-label input[data-current-checked='true'] + .variant-option__button-label__text {
  color: #F4FBFC !important;
  -webkit-text-fill-color: #F4FBFC !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.35) !important;
}

/* Guest matrix booking UI */
.dipps-guest-matrix{display:grid;gap:10px;margin:10px 0 12px}
.dipps-guest-matrix .dipps-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.dipps-guest-matrix .dipps-label{font-weight:700;color:#1f2a2e}.dipps-guest-matrix .dipps-label span{font-weight:600;opacity:.8;margin-left:6px}
.dipps-guest-matrix .dipps-step{display:flex;align-items:center;background:#e8eef1;border:1px solid #b7c9c2;border-radius:14px;overflow:hidden}
.dipps-guest-matrix .dipps-step button{width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;color:#1b2b31}
.dipps-guest-matrix .dipps-step input{width:48px;text-align:center;border:0;background:transparent;color:#1b2b31;font-weight:700}
.dipps-guest-matrix .dipps-meta{display:flex;justify-content:space-between;align-items:center;color:#1f2a2e;padding:2px 2px 0}
.dipps-guest-matrix .dipps-err{min-height:20px;color:#9d2a2a;font-weight:600;font-size:.92rem}


/* Guest matrix stepper alignment refinements */
.dipps-guest-matrix .dipps-step{
  display:grid !important;
  grid-template-columns:48px 1fr 48px !important;
  align-items:center !important;
  min-height:52px;
}
.dipps-guest-matrix .dipps-step button{
  width:48px !important;
  height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  line-height:1 !important;
}
.dipps-guest-matrix .dipps-step input{
  width:100% !important;
  height:48px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center !important;
  padding:0 !important;
  margin:0 !important;
  font-size:38px !important;
  line-height:1 !important;
}


/* FINAL mobile override: compact guest steppers */
@media (max-width: 989px) {
  #dipps-guest-matrix-ui .dipps-step{
    grid-template-columns: 44px 1fr 44px !important;
    min-height: 48px !important;
  }
  #dipps-guest-matrix-ui .dipps-step button{
    width:44px !important;
    height:44px !important;
    font-size: 42px !important;
  }
  #dipps-guest-matrix-ui .dipps-step input{
    height:44px !important;
    font-size: 24px !important;
    font-weight:700 !important;
    line-height:1 !important;
  }
}


/* Matrix final polish: compact + aligned */
@media (max-width: 989px) {
  #dipps-guest-matrix-ui .dipps-row{
    grid-template-columns: 88px 1fr !important;
    column-gap: 10px !important;
    align-items: center !important;
  }
  #dipps-guest-matrix-ui .dipps-label{
    font-size: 12px !important;
    line-height: 1.15 !important;
    text-align: left !important;
  }
  #dipps-guest-matrix-ui .dipps-label span{display:block !important; margin:4px 0 0 !important;}
  #dipps-guest-matrix-ui .dipps-step{
    grid-template-columns: 42px 1fr 42px !important;
    min-height: 44px !important;
    border-radius: 12px !important;
  }
  #dipps-guest-matrix-ui .dipps-step button{
    width:42px !important;
    height:42px !important;
    font-size: 24px !important;
    font-weight:600 !important;
  }
  #dipps-guest-matrix-ui .dipps-step input{
    height:42px !important;
    font-size: 18px !important;
    font-weight:700 !important;
  }
  #dipps-guest-matrix-ui .dipps-meta{font-size: 14px !important;}
}




/* Product page footer contrast + no sticky cart rail */
body:has(product-form-component[data-product-id="15768431526222"]) .footer,
body:has(product-form-component[data-product-id="15768431526222"]) footer {
  color: #e9f4f7 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .footer *,
body:has(product-form-component[data-product-id="15768431526222"]) footer * {
  color: #e9f4f7 !important;
  -webkit-text-fill-color: #e9f4f7 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .footer a,
body:has(product-form-component[data-product-id="15768431526222"]) footer a {
  color: #ffffff !important;
  text-decoration-color: #ffffff !important;
}

/* Defensive: hide any sticky add-to-cart rail surfaced by theme/app on this product page */
body:has(product-form-component[data-product-id="15768431526222"]) .sticky-add-to-cart,
body:has(product-form-component[data-product-id="15768431526222"]) .floating-cart,
body:has(product-form-component[data-product-id="15768431526222"]) .cart-notification,
body:has(product-form-component[data-product-id="15768431526222"]) .cart-drawer-floating,
body:has(product-form-component[data-product-id="15768431526222"]) .product-sticky-bar {
  display: none !important;
}


/* Footer newsletter input text/placeholder contrast */
body:has(product-form-component[data-product-id="15768431526222"]) .footer input[type='email'],
body:has(product-form-component[data-product-id="15768431526222"]) .footer .newsletter-form input,
body:has(product-form-component[data-product-id="15768431526222"]) footer input[type='email'] {
  color: #1b2b31 !important;
  -webkit-text-fill-color: #1b2b31 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) .footer input[type='email']::placeholder,
body:has(product-form-component[data-product-id="15768431526222"]) .footer .newsletter-form input::placeholder,
body:has(product-form-component[data-product-id="15768431526222"]) footer input[type='email']::placeholder {
  color: #1b2b31 !important;
  opacity: .9 !important;
}


/* Footer policy/cookie popover readability */
body:has(product-form-component[data-product-id="15768431526222"]) anchored-popover-component,
body:has(product-form-component[data-product-id="15768431526222"]) anchored-popover-component * {
  color: #1b2b31 !important;
  -webkit-text-fill-color: #1b2b31 !important;
}
body:has(product-form-component[data-product-id="15768431526222"]) anchored-popover-component [role='menu'],
body:has(product-form-component[data-product-id="15768431526222"]) anchored-popover-component .popover,
body:has(product-form-component[data-product-id="15768431526222"]) anchored-popover-component .menu {
  background: #ffffff !important;
  border: 1px solid #d6dde0 !important;
}


/* Footer contrast fix (2026-05-03) */
.footer,
.footer .footer__copyright,
.footer .footer__copyright *,
.footer .footer__column *,
.footer .policies *,
.footer a,
.footer p,
.footer small {
  color: rgba(255,255,255,0.92) !important;
}

.footer a {
  text-decoration-color: rgba(255,255,255,0.72) !important;
}

.footer a:hover,
.footer a:focus-visible {
  color: #ffffff !important;
  text-decoration-color: #ffffff !important;
}


/* Footer contrast hotfix v2 (target Horizon utility classes) */
.footer-utilities__text,
.footer-utilities__text a,
.footer-utilities__group-copyright,
.footer-utilities__group-copyright a,
.policy-list-trigger,
#terms-policies-popover .policy_list a {
  color: #eaf6f8 !important;
}

.footer-utilities__text a,
.footer-utilities__group-copyright a,
.policy-list-trigger {
  text-decoration-color: rgba(234,246,248,0.72) !important;
}

.footer-utilities__text a:hover,
.footer-utilities__group-copyright a:hover,
.policy-list-trigger:hover,
#terms-policies-popover .policy_list a:hover {
  color: #ffffff !important;
  text-decoration-color: #ffffff !important;
}


/* Booking page stepper size fix (2026-05-03) */
#dipps-guest-matrix-ui .dipps-step {
  min-height: 54px !important;
  border-radius: 16px !important;
}
#dipps-guest-matrix-ui .dipps-step button {
  width: 56px !important;
  height: 54px !important;
  font-size: 24px !important;
  line-height: 1 !important;
}
#dipps-guest-matrix-ui .dipps-step input {
  width: 72px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

@media (max-width: 768px) {
  #dipps-guest-matrix-ui .dipps-step {
    min-height: 48px !important;
    border-radius: 14px !important;
  }
  #dipps-guest-matrix-ui .dipps-step button {
    width: 48px !important;
    height: 48px !important;
    font-size: 20px !important;
  }
  #dipps-guest-matrix-ui .dipps-step input {
    width: 56px !important;
    font-size: 18px !important;
  }
}


/* Booking page stepper size tweak v2 (2026-05-03) */
#dipps-guest-matrix-ui .dipps-step {
  min-height: 42px !important;
  border-radius: 12px !important;
}
#dipps-guest-matrix-ui .dipps-step button {
  width: 40px !important;
  height: 42px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
#dipps-guest-matrix-ui .dipps-step input {
  width: 40px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
@media (max-width: 768px) {
  #dipps-guest-matrix-ui .dipps-step { min-height: 40px !important; }
  #dipps-guest-matrix-ui .dipps-step button { width: 38px !important; height: 40px !important; font-size: 15px !important; }
  #dipps-guest-matrix-ui .dipps-step input { width: 36px !important; font-size: 15px !important; }
}


/* Bookeasy popup readability fix (2026-05-03) */
bookeasy-modal,
bookeasy-modal *,
.bookeasy-modal,
.bookeasy-modal * {
  color: #1b2b31 !important;
  -webkit-text-fill-color: #1b2b31 !important;
}

bookeasy-modal label,
.bookeasy-input-field-label,
.bookeasy-input-helpText,
.bookeasy-custom-field-label,
.bookeasy-custom-fields-content label,
bookeasy-inputfield-v2 label {
  color: #1b2b31 !important;
  opacity: 1 !important;
}

bookeasy-modal input::placeholder,
bookeasy-modal textarea::placeholder,
.bookeasy-modal input::placeholder,
.bookeasy-modal textarea::placeholder {
  color: #5a6970 !important;
  opacity: 1 !important;
}


/* Bookeasy popup readability fix v2 (force specific classes) */
.bookeasy-custom-fields-content,
.bookeasy-custom-fields-content *,
.bookeasy-custom-field,
.bookeasy-custom-field *,
.bookeasy-input-box-container,
.bookeasy-input-box-container *,
.bookeasy-input-field-label,
.bookeasy-input-helpText,
.bookeasy-textField-required,
[aria-label='Input Field Label'],
[aria-label='Input Field Help Text'] {
  color: #1b2b31 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #1b2b31 !important;
}

.bookeasy-input-box input,
.bookeasy-input-box textarea,
.bookeasy-input-box select,
.bookeasy-input input,
.bookeasy-input textarea {
  color: #1b2b31 !important;
  -webkit-text-fill-color: #1b2b31 !important;
}

.bookeasy-input-box input::placeholder,
.bookeasy-input-box textarea::placeholder {
  color: #5a6970 !important;
  opacity: 1 !important;
}


/* Collections page square edges fix (2026-05-03) */
body.template-collection .section,
body.template-collection .section-background,
body.template-collection .shopify-section,
body.template-collection .collection,
body.template-collection .collection-products,
body.template-collection .facets,
body.template-collection .footer,
body.template-collection .newsletter,
body.template-collection .newsletter-section {
  border-radius: 0 !important;
}

body.template-collection .card,
body.template-collection .card-wrapper,
body.template-collection .product-card,
body.template-collection .media {
  border-radius: 0 !important;
}


/* Collections page square edges fix v2 (Horizon uses data-template attr) */
body[data-template='collection'] .shopify-section .section,
body[data-template='collection'] .shopify-section .section-background,
body[data-template='collection'] .product-grid-container,
body[data-template='collection'] .collection-wrapper,
body[data-template='collection'] .collection-products-grid,
body[data-template='collection'] .facets,
body[data-template='collection'] .footer-content,
body[data-template='collection'] .newsletter-form,
body[data-template='collection'] .section {
  border-radius: 0 !important;
}

body[data-template='collection'] {
  --style-border-radius-sections: 0px !important;
  --style-border-radius-cards: 0px !important;
}

/* Collections layout + contrast polish v3 (2026-05-03) */
body:has(main[data-template='collection']) #MainContent {
  flex: 0 0 auto !important;
}

body:has(main[data-template='collection']) {
  background: #2f6f7c !important;
}

/* keep collection containers square and consistent */
body:has(main[data-template='collection']) .section,
body:has(main[data-template='collection']) .section-background,
body:has(main[data-template='collection']) .product-grid-container,
body:has(main[data-template='collection']) .collection-wrapper,
body:has(main[data-template='collection']) .shopify-section {
  border-radius: 0 !important;
}

/* footer legal text contrast */
body:has(main[data-template='collection']) .footer-utilities .footer-utilities__text,
body:has(main[data-template='collection']) .footer-utilities .footer-utilities__text a,
body:has(main[data-template='collection']) .footer-utilities .footer-utilities__group-copyright,
body:has(main[data-template='collection']) .footer-utilities .footer-utilities__group-copyright a,
body:has(main[data-template='collection']) .footer-utilities .policy-list-trigger {
  color: #eaf6f8 !important;
  -webkit-text-fill-color: #eaf6f8 !important;
  text-decoration-color: rgba(234,246,248,.72) !important;
}

/* product-card readability on collection page */
main[data-template='collection'] product-card p[role='heading'] {
  color: #eef8fb !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
}

main[data-template='collection'] .dipps-booking-instructions {
  color: #d8eef4 !important;
  font-size: .98rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 768px) {
  main[data-template='collection'] product-card p[role='heading'] {
    font-size: 1.1rem !important;
    line-height: 1.25 !important;
  }

  main[data-template='collection'] .dipps-booking-instructions {
    font-size: .95rem !important;
  }
}

/* Collections layout + contrast polish v4 (2026-05-03) */
/* direct template hook (avoid :has matching ambiguity) */
main#MainContent[data-template='collection'] {
  flex: 0 0 auto !important;
  background: #2f6f7c !important;
}

/* keep collection containers square and consistent */
main#MainContent[data-template='collection'] .section,
main#MainContent[data-template='collection'] .section-background,
main#MainContent[data-template='collection'] .product-grid-container,
main#MainContent[data-template='collection'] .collection-wrapper,
main#MainContent[data-template='collection'] .shopify-section {
  border-radius: 0 !important;
}

/* footer legal text contrast (footer groups are siblings after main) */
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group .footer-utilities__text,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group .footer-utilities__text a,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group .footer-utilities__group-copyright,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group .footer-utilities__group-copyright a,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group .policy-list-trigger,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group .policy-list-trigger * {
  color: #eaf6f8 !important;
  -webkit-text-fill-color: #eaf6f8 !important;
  text-decoration-color: rgba(234,246,248,.72) !important;
}

/* product-card readability */
main#MainContent[data-template='collection'] p[role='heading'] {
  color: #eef8fb !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
}

main#MainContent[data-template='collection'] .dipps-booking-instructions {
  color: #d8eef4 !important;
  font-size: .98rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 768px) {
  main#MainContent[data-template='collection'] p[role='heading'] {
    font-size: 1.1rem !important;
    line-height: 1.25 !important;
  }

  main#MainContent[data-template='collection'] .dipps-booking-instructions {
    font-size: .95rem !important;
  }
}

/* Collections layout + contrast polish v5 (2026-05-03) */
/* Prevent blank vertical filler on collection template */
main#MainContent[data-template='collection'] > .shopify-section:last-child {
  flex-grow: 0 !important;
  min-height: auto !important;
}

main#MainContent[data-template='collection'] {
  background: #2f6f7c !important;
}

/* Ensure footer starts immediately after content on collection template */
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group:first-of-type {
  margin-top: 0 !important;
}

/* stronger footer utility text contrast */
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group.footer-utilities .footer-utilities__text,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group.footer-utilities .footer-utilities__text a,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group.footer-utilities .policy-list-trigger,
main#MainContent[data-template='collection'] ~ .shopify-section-group-footer-group.footer-utilities .footer-utilities__group-copyright {
  color: #f1fbff !important;
  -webkit-text-fill-color: #f1fbff !important;
  text-decoration-color: rgba(241,251,255,.8) !important;
}

/* Product-page navbar parity with homepage (2026-05-03) */
body:has(main[data-template='product']) #header-group,
body:has(main[data-template='product']) #shopify-section-header-group,
body:has(main[data-template='product']) [id*='header-group'] {
  background: transparent !important;
}

body:has(main[data-template='product']) #header-group .header,
body:has(main[data-template='product']) #shopify-section-header-group .header,
body:has(main[data-template='product']) [id*='header-group'] .header,
body:has(main[data-template='product']) [id*='header-group'] .section-header {
  background: linear-gradient(180deg, rgba(6,22,28,.55), rgba(6,22,28,.20)) !important;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
}

body:has(main[data-template='product']) #header-group .header *,
body:has(main[data-template='product']) #shopify-section-header-group .header *,
body:has(main[data-template='product']) [id*='header-group'] .header * {
  color: #f4fbfc !important;
  fill: #f4fbfc !important;
}

/* Product-page navbar parity with homepage v2 (2026-05-03) */
body.template-product #header-group,
body.template-product #shopify-section-header-group,
body.template-product [id*='header-group'] {
  background: transparent !important;
}

body.template-product #header-group .header,
body.template-product #shopify-section-header-group .header,
body.template-product [id*='header-group'] .header,
body.template-product [id*='header-group'] .section-header {
  background: linear-gradient(180deg, rgba(6,22,28,.55), rgba(6,22,28,.20)) !important;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
  backdrop-filter: blur(8px) saturate(130%);
  -webkit-backdrop-filter: blur(8px) saturate(130%);
}

body.template-product #header-group .header *,
body.template-product #shopify-section-header-group .header *,
body.template-product [id*='header-group'] .header * {
  color: #f4fbfc !important;
  fill: #f4fbfc !important;
}

/* Product-page navbar parity with homepage v3 (2026-05-03) */
/* Force same dark nav shell tone seen on homepage */
body.template-product #header-group,
body.template-product #shopify-section-header-group,
body.template-product [id*='header-group'] {
  background: #2f3f47 !important;
}

body.template-product #header-group .header,
body.template-product #shopify-section-header-group .header,
body.template-product [id*='header-group'] .header,
body.template-product [id*='header-group'] .section-header {
  background: linear-gradient(180deg, rgba(47,63,71,.98), rgba(40,55,63,.98)) !important;
  border-bottom: 1px solid rgba(255,255,255,.16) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.template-product #header-group .header :is(.header__heading-link, .header__menu-item, .header__icon, .header__icon svg, .header-actions__cart-icon svg),
body.template-product #header-group .header * {
  color: #f4fbfc !important;
  fill: #f4fbfc !important;
}

/* icon chips same dark style */
body.template-product #header-group .header :is(.header__menu-toggle, .header__icon-button, .header__actions button, a.header__icon) {
  background: #0f2730 !important;
  border-color: rgba(255,255,255,.18) !important;
}
/* [DIPPS-SHOPIFY] Homepage special requests note (2026-05-17) */
.dipps-cta .dipps-contact-note {
  margin: 0.9rem 0 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(223, 238, 235, 0.9);
  text-wrap: balance;
}
/* [DIPPS-SHOPIFY] Header hover white flash fix (2026-05-17) */
#shopify-section-header-group .header:hover,
#shopify-section-header-group .header:focus-within,
[id*="header-group"] .header:hover,
[id*="header-group"] .header:focus-within {
  background: rgba(6, 23, 29, 0.82) !important;
}

#shopify-section-header-group .header a:hover,
#shopify-section-header-group .header button:hover,
#shopify-section-header-group .header summary:hover,
[id*="header-group"] .header a:hover,
[id*="header-group"] .header button:hover,
[id*="header-group"] .header summary:hover {
  background: transparent !important;
  color: #f5fbfc !important;
}
/* [DIPPS-SHOPIFY] Header underlay hover white-flash fix (2026-05-17) */
/* Root cause: Horizon sets transparent header underlay vars to --color-background on hover/focus-within. */
#header-component[transparent][data-transparent-color-scheme]:is(:hover, :focus-within) .header__underlay-closed,
#header-component[transparent][data-transparent-color-scheme]:is(:hover, :focus-within) .header__underlay-open,
#shopify-section-header-group #header-component[transparent][data-transparent-color-scheme]:is(:hover, :focus-within) .header__underlay-closed,
#shopify-section-header-group #header-component[transparent][data-transparent-color-scheme]:is(:hover, :focus-within) .header__underlay-open {
  --color-scheme-top-row: rgba(6, 23, 29, 0.82) !important;
  --color-scheme-bottom-row: rgba(6, 23, 29, 0.82) !important;
}

/* Defensive: lock underlay backgrounds so hover/focus cannot flip to light mode */
#header-component .header__underlay-closed {
  background: linear-gradient(rgba(6, 23, 29, 0.82) 0 var(--top-row-height), rgba(6, 23, 29, 0.82) var(--top-row-height) var(--header-height)) !important;
}

#header-component .header__underlay-open {
  background: linear-gradient(rgba(6, 23, 29, 0.82) 0 var(--top-row-height), rgba(6, 23, 29, 0.82) var(--top-row-height) var(--header-height), rgba(6, 23, 29, 0.92) var(--header-height) 100%) !important;
}
