/* Shared responsive layer for the self-hosted Wix recreation.
   Desktop (>1024px) remains source-faithful; smaller viewports adapt without horizontal overflow. */

html, body {
  max-width: 100%;
}

/* Countdown: four distinct editorial cards, keeping every value paired with its label. */
#comp-mddh7wkb {
  display: none !important;
}

countdown-element {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background: transparent !important;
}

.bbg-countdown-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
}

.bbg-countdown-unit {
  min-width: 0;
  text-align: center;
  padding: 14px 4px 12px;
  border: 1px solid rgba(211,179,184,.52);
  border-radius: 14px;
  background: rgba(255,255,255,.42);
  box-shadow: 0 8px 24px rgba(41,35,37,.035);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.bbg-countdown-value {
  display: block;
  color: #C9A7AD;
  font-family: wfont_f61af8_1b7afc90f48a4aae9bd20dacdb863439,wf_1b7afc90f48a4aae9bd20dacd,"Didot","Bodoni MT",Georgia,serif;
  font-size: clamp(1.7rem, 3.6vw, 2.35rem);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: -.035em;
  white-space: nowrap;
}

.bbg-countdown-label {
  display: block;
  margin-top: 10px;
  color: #4A4042;
  font-family: cinzel,serif;
  font-size: clamp(.58rem, 1.1vw, .72rem);
  line-height: 1.15;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Dedicated mobile navigation. The extracted Wix menu is retained on desktop only. */
.bbg-mobile-nav {
  display: none;
}

/* Tablet / narrow desktop: remove Wix's hard 980px floor and let columns flex. */
@media (max-width: 1024px) {
  :root {
    --site-width: 100vw !important;
  }

  html,
  body,
  #SITE_CONTAINER,
  #site-root,
  #masterPage,
  #PAGES_CONTAINER,
  #SITE_PAGES,
  #SITE_PAGES_TRANSITION_GROUP,
  .CCuraK {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body,
  #SITE_CONTAINER,
  #site-root {
    overflow-x: hidden !important;
  }

  #PAGES_CONTAINER .wixui-section,
  #PAGES_CONTAINER .wixui-column-strip {
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #PAGES_CONTAINER .Ak0vpt {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #PAGES_CONTAINER .FDI5TK {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #PAGES_CONTAINER [data-mesh-id$="inlineContent"],
  #PAGES_CONTAINER [data-mesh-id$="inlineContent-gridContainer"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #PAGES_CONTAINER .wixui-rich-text,
  #PAGES_CONTAINER .wixui-button,
  #PAGES_CONTAINER .wixui-box,
  #PAGES_CONTAINER [data-testid="custom-element"] {
    left: 0 !important;
    max-width: calc(100% - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  #PAGES_CONTAINER wow-image,
  #PAGES_CONTAINER wow-image img {
    max-width: 100% !important;
  }

  #comp-l0ru1v4r {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* Phone layout: preserve content order, but stack side-by-side Wix columns vertically. */
@media (max-width: 720px) {
  #SITE_HEADER {
    width: 100% !important;
  }

  #SITE_HEADER #comp-l0ru1v4r {
    width: 100% !important;
    min-width: 0 !important;
  }

  #SITE_HEADER #comp-l0ru1v4r > .Ak0vpt,
  #SITE_HEADER .Ak0vpt {
    display: block !important;
    width: 100% !important;
  }

  #comp-l0ru1v7y {
    width: 100% !important;
    min-width: 0 !important;
  }

  #comp-l0ru39nb {
    display: none !important;
  }

  [data-mesh-id="comp-l0ru1v7yinlineContent-gridContainer"] {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px 16px 8px !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }

  [data-mesh-id="comp-l0ru1v7yinlineContent-gridContainer"] > #comp-l0ru4nki {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    left: 0 !important;
    margin: 0 !important;
    justify-self: start !important;
    align-self: center !important;
  }

  [data-mesh-id="comp-l0ru1v7yinlineContent-gridContainer"] > #comp-ja9r4na3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    left: 0 !important;
    margin: 0 !important;
    justify-self: start !important;
    align-self: end !important;
  }

  [data-mesh-id="comp-l0ru1v7yinlineContent-gridContainer"] > #comp-ja9r5z76 {
    grid-column: 2 !important;
    grid-row: 2 !important;
    left: 0 !important;
    margin: 0 !important;
    justify-self: start !important;
    align-self: start !important;
  }

  #comp-ja9r4na3 .OR4Nv8,
  #comp-ja9r5z76 .OR4Nv8 {
    font-size: clamp(14px, 4.4vw, 18px) !important;
    line-height: 1.15 !important;
  }

  #comp-j7efzy2t {
    display: none !important;
  }

  .bbg-mobile-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    padding: 4px 14px 12px;
    box-sizing: border-box;
    background: #fff;
    border-top: 1px solid rgba(41,35,37,.035);
    border-bottom: 1px solid rgba(41,35,37,.07);
  }

  .bbg-mobile-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 4px;
    box-sizing: border-box;
    color: #292325;
    font-family: avenir-lt-w01_35-light1475496,Arial,sans-serif;
    font-size: 12px;
    line-height: 1.18;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
  }

  .bbg-mobile-nav a[aria-current="page"] {
    color: #C9A7AD;
    background: rgba(247,235,237,.7);
  }

  .bbg-mobile-nav a:active {
    background: #F7EBED;
  }

  #PAGES_CONTAINER .Ak0vpt {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }

  #PAGES_CONTAINER .FDI5TK {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #PAGES_CONTAINER .wixui-rich-text,
  #PAGES_CONTAINER .wixui-button,
  #PAGES_CONTAINER .wixui-box,
  #PAGES_CONTAINER [data-testid="custom-element"] {
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #PAGES_CONTAINER .wixui-rich-text h1,
  #PAGES_CONTAINER .wixui-rich-text h2,
  #PAGES_CONTAINER .wixui-rich-text h3 {
    overflow-wrap: anywhere;
  }

  #PAGES_CONTAINER .font_2 {
    font-size: clamp(30px, 9vw, 46px) !important;
    line-height: 1.2 !important;
  }

  #PAGES_CONTAINER .font_3 {
    font-size: clamp(24px, 7vw, 30px) !important;
  }

  #PAGES_CONTAINER .font_4 {
    font-size: clamp(24px, 7.5vw, 32px) !important;
  }

  #PAGES_CONTAINER .font_5 {
    font-size: clamp(20px, 6vw, 24px) !important;
  }

  #PAGES_CONTAINER img {
    max-width: 100% !important;
  }

  #comp-mdab7sa9 {
    width: min(100%, 440px) !important;
    max-width: calc(100% - 16px) !important;
    left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .bbg-countdown-grid {
    gap: 6px;
  }

  .bbg-countdown-unit {
    padding: 13px 3px 11px;
    border-radius: 12px;
  }

  .bbg-countdown-value {
    font-size: clamp(1.55rem, 7.3vw, 2rem);
  }

  .bbg-countdown-label {
    margin-top: 8px;
    font-size: clamp(.52rem, 2.15vw, .64rem);
    letter-spacing: .055em;
  }

  /* Image-only sections preserve their recovered source aspect ratio instead
     of inheriting Wix's fixed-height cover crop. */
  #PAGES_CONTAINER .bbg-intrinsic-media {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: var(--bbg-media-aspect) !important;
    overflow: hidden !important;
  }

  #PAGES_CONTAINER .bbg-intrinsic-media > [data-hook="bgLayers"],
  #PAGES_CONTAINER .bbg-intrinsic-media .ROWgFb,
  #PAGES_CONTAINER .bbg-intrinsic-media wow-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #PAGES_CONTAINER .bbg-intrinsic-media wow-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  #PAGES_CONTAINER .bbg-intrinsic-media [data-mesh-id$="inlineContent"],
  #PAGES_CONTAINER .bbg-intrinsic-media [data-mesh-id$="inlineContent-gridContainer"] {
    height: 100% !important;
    min-height: 0 !important;
  }

  /* Keep image-led sections substantial after their companion text columns stack. */
  #PAGES_CONTAINER [data-mesh-id$="inlineContent"][style*="min-height"],
  #PAGES_CONTAINER [data-mesh-id$="inlineContent-gridContainer"][style*="min-height"] {
    min-width: 0 !important;
  }
}


/* Homepage mobile flow: keep recovered images in normal document flow so the
   real footer cannot overtake an image while its aspect ratio is resolving. */
@media (max-width: 720px) {
  #comp-lt8rezqd,
  #comp-lt8rezqe,
  #comp-jbex5qmz,
  #comp-jbex5qng,
  [data-mesh-id="comp-lt8rezqdinlineContent"],
  [data-mesh-id="comp-lt8rezqdinlineContent-gridContainer"],
  [data-mesh-id="comp-lt8rezqeinlineContent"],
  [data-mesh-id="comp-lt8rezqeinlineContent-gridContainer"] {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  #comp-jbex5qmz > .Ak0vpt,
  #comp-jbex5qng > .Ak0vpt {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
  }

  #comp-jbex5qn9,
  #comp-jbex5qnk,
  #comp-jbex5qns {
    position: relative !important;
    float: none !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #comp-jbex5qnk {
    order: 1 !important;
  }

  #comp-jbex5qns {
    order: 2 !important;
  }

  #SITE_FOOTER {
    position: relative !important;
    clear: both !important;
    z-index: 1 !important;
  }

  /* Let the four cards use almost the full phone width while retaining
     breathing room at the edges. */
  #comp-jbex5qnk #comp-mdab7sa9 {
    width: calc(100% - 8px) !important;
    max-width: 448px !important;
  }

  .bbg-countdown-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
  }

  .bbg-countdown-unit {
    padding-left: 2px;
    padding-right: 2px;
  }
}

/* Small phones: keep all six links visible and protect the countdown from crowding. */
@media (max-width: 420px) {
  [data-mesh-id="comp-l0ru1v7yinlineContent-gridContainer"] {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .bbg-mobile-nav {
    padding-left: 8px;
    padding-right: 8px;
  }

  .bbg-mobile-nav a {
    min-height: 40px;
    padding-left: 2px;
    padding-right: 2px;
    font-size: 11px;
  }

  .bbg-countdown-grid {
    gap: 4px;
  }

  .bbg-countdown-unit {
    padding: 12px 2px 10px;
    border-radius: 10px;
  }

  .bbg-countdown-value {
    font-size: clamp(1.42rem, 7vw, 1.75rem);
  }

  .bbg-countdown-label {
    font-size: .49rem;
    letter-spacing: .035em;
  }
}


/* Final mobile homepage corrections: full-width countdown fit and deterministic bell/footer order. */
.bbg-mobile-bell {
  display: none;
}

@media (max-width: 720px) {
  /* The recovered Wix bell column is hidden on phones; a clean intrinsic-ratio
     copy is rendered immediately before SITE_FOOTER instead. */
  #comp-jbex5qns {
    display: none !important;
  }

  .bbg-mobile-bell {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    line-height: 0;
  }

  .bbg-mobile-bell img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 481 / 662;
    object-fit: contain;
    object-position: center;
  }

  #SITE_FOOTER {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    clear: both !important;
  }

  /* Use nearly every available pixel so every value and label stays inside
     its card, including three-digit Days. */
  #comp-jbex5qnk #comp-mdab7sa9,
  #comp-mdab7sa9 {
    width: calc(100vw - 12px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw + 6px) !important;
    margin-right: 6px !important;
  }

  .bbg-countdown-grid {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }

  .bbg-countdown-unit {
    min-width: 0 !important;
    padding: 12px 3px 10px !important;
    box-sizing: border-box !important;
  }

  .bbg-countdown-value {
    max-width: 100% !important;
    font-size: clamp(1.28rem, 6.6vw, 1.72rem) !important;
    letter-spacing: -.055em !important;
    overflow: hidden;
    text-overflow: clip;
  }

  .bbg-countdown-label {
    max-width: 100% !important;
    margin-top: 7px !important;
    font-size: clamp(.43rem, 1.85vw, .55rem) !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: clip;
  }
}

@media (max-width: 360px) {
  .bbg-countdown-grid {
    gap: 3px !important;
  }

  .bbg-countdown-unit {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  .bbg-countdown-value {
    font-size: 1.23rem !important;
  }

  .bbg-countdown-label {
    font-size: .41rem !important;
  }
}


/* Final countdown fit: prioritize the widest content (Days + Seconds) on phones. */
@media (max-width: 720px) {
  #comp-jbex5qnk #comp-mdab7sa9,
  #comp-mdab7sa9 {
    width: calc(100vw - 4px) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw + 2px) !important;
    margin-right: 2px !important;
  }

  .bbg-countdown-grid {
    grid-template-columns:
      minmax(0, 1.14fr)
      minmax(0, .93fr)
      minmax(0, .99fr)
      minmax(0, 1.14fr) !important;
    gap: 3px !important;
  }

  .bbg-countdown-unit {
    min-width: 0 !important;
    padding: 11px 1px 10px !important;
    overflow: hidden !important;
  }

  .bbg-countdown-value {
    display: block !important;
    width: 100% !important;
    font-size: clamp(1.18rem, 6.15vw, 1.58rem) !important;
    letter-spacing: -.06em !important;
    line-height: 1 !important;
    overflow: visible !important;
    text-align: center !important;
  }

  .bbg-countdown-label {
    display: block !important;
    width: 100% !important;
    margin-top: 7px !important;
    padding: 0 !important;
    font-size: clamp(.40rem, 1.62vw, .50rem) !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    text-align: center !important;
    overflow: visible !important;
  }

  .bbg-mobile-bell {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #comp-jbex5qns {
    order: 3 !important;
  }
}

@media (max-width: 390px) {
  .bbg-countdown-grid {
    grid-template-columns:
      minmax(0, 1.17fr)
      minmax(0, .91fr)
      minmax(0, .96fr)
      minmax(0, 1.17fr) !important;
    gap: 2px !important;
  }

  .bbg-countdown-value {
    font-size: clamp(1.10rem, 5.9vw, 1.42rem) !important;
  }

  .bbg-countdown-label {
    font-size: clamp(.38rem, 1.55vw, .47rem) !important;
  }
}


/* Unified countdown: one redesigned element, kept in the original homepage position. */
@media (max-width: 720px) {
  #comp-mdab7sa9.bbg-countdown-primary {
    display: block !important;
    position: relative !important;
    left: 0 !important;
    width: calc(100vw - 16px) !important;
    max-width: 520px !important;
    min-width: 0 !important;
    margin: 14px auto 26px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns:
      minmax(0, 1.18fr)
      minmax(0, .94fr)
      minmax(0, 1fr)
      minmax(0, 1.20fr) !important;
    gap: 8px !important;
    box-sizing: border-box !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-unit {
    min-width: 0 !important;
    width: 100% !important;
    padding: 15px 4px 12px !important;
    box-sizing: border-box !important;
    border-radius: 13px !important;
    overflow: hidden !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-value {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(1.55rem, 6.7vw, 2rem) !important;
    letter-spacing: -.045em !important;
    line-height: 1 !important;
    text-align: center !important;
    overflow: visible !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-label {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 9px !important;
    padding: 0 !important;
    font-size: clamp(.49rem, 1.9vw, .62rem) !important;
    letter-spacing: .01em !important;
    line-height: 1.05 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }
}

@media (max-width: 390px) {
  #comp-mdab7sa9.bbg-countdown-primary {
    width: calc(100vw - 10px) !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-grid {
    grid-template-columns:
      minmax(0, 1.20fr)
      minmax(0, .92fr)
      minmax(0, .98fr)
      minmax(0, 1.22fr) !important;
    gap: 6px !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-unit {
    padding-left: 3px !important;
    padding-right: 3px !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-value {
    font-size: clamp(1.46rem, 6.45vw, 1.8rem) !important;
  }

  #comp-mdab7sa9.bbg-countdown-primary .bbg-countdown-label {
    font-size: clamp(.46rem, 1.78vw, .56rem) !important;
  }
}
