/* 1.8: navigation, complete product photos and readable mobile controls. */
:root { --header-height: 80px; --admin-height: 0px; }
html { scroll-padding-top: calc(var(--header-height) + var(--admin-height) + 16px); }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #247bf1; outline-offset: 4px; }
.admin-bar { --admin-height: 32px; }
.site-header { position: sticky; top: var(--admin-height); z-index: 18; width: 100%; height: var(--header-height); padding-inline: max(24px, calc((100% - 1180px) / 2)); gap: 20px; border-bottom: 1px solid var(--line); }
.main-nav { gap: clamp(16px, 2vw, 28px); font-size: 16px; }
.main-nav a { display: inline-flex; align-items: center; min-height: 48px; white-space: nowrap; }
.main-nav a[aria-current] { color: var(--blue); text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 2px; }
.logo, .header-actions { flex-shrink: 0; }
.cart-button { min-height: 44px; font-size: 13px; }
.cart-count { font-size: 12px; }
.site-main, .site-main > section, .section-shell > *, .cs-page-shell > *, .formula-grid > * { min-width: 0; }
.cs-navigation-trail { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; margin: 0 0 24px; color: var(--muted); font-size: 14px; }
.cs-back-link, .cs-checkout-steps a { display: inline-flex; align-items: center; min-height: 44px; }
.cs-back-link:hover, .cs-checkout-steps [aria-current] { color: var(--blue); }
.cs-checkout-steps { display: flex; align-items: center; gap: 12px; }
.cs-shop-page > .cs-navigation-trail { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.cs-shop-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cs-shop-page ul.products li.product .button { min-height: 48px; font-size: 14px; }
.cs-shop-page .woocommerce-ordering select { min-height: 44px; font-size: 14px; max-width: 100%; }
.cs-shop-page nav.woocommerce-pagination ul li a, .cs-shop-page nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; }
.back-to-top { position: fixed; right: 24px; bottom: 88px; z-index: 16; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--navy); font-size: 24px; box-shadow: 0 3px 14px #062b5910; }
.cart-open .back-to-top, .cart-open .chat-launcher, .cart-open .chat-panel { visibility: hidden; }
.section-kicker, .eyebrow, .offer-kicker, .offer-visual-kicker, .offer-recommended span { font-size: 12px; }
.offer-choice small, .offer-choice em, .offer-choice i, .offer-visual-note, .proof-grid small, .video-link small,
.quick-order-option span, .quick-order-option small, .quick-order-benefits, .safety-line, .safety-line b,
.shop-product-meta, .shop-product-tag, .footer-bottom, .chat-head small, .chat-consent, .chat-field, .chat-status { font-size: 12px; line-height: 1.5; }
.offer-choice strong, .offer-choice b { font-size: 14px; }
.offer-choice { min-height: 98px; padding: 13px 10px; gap: 7px; }
.offer-choice > span { min-width: 0; }
.offer-choice i { top: -11px; padding: 2px 7px; }
.offer-list { gap: 16px; }
.offer-panel { min-width: 0; }
.offer-panel h2 { font-size: clamp(24px, 2.6vw, 32px); overflow-wrap: anywhere; }
.offer-recommended { margin-bottom: 20px; }
.quick-order-submit { min-height: 48px; font-size: 14px; }
.quick-order-option { min-height: 112px; }
.quick-order-benefits { color: #c9dbef; }
.quick-order-option small { color: #c9dbef; }
.safety-line { line-height: 1.6; }
.shop-product-copy > p { min-height: 0; font-size: 14px; line-height: 1.6; }
.shop-product-link { min-height: 44px; align-items: center; font-size: 14px; }
.shop-add, .shop-catalog-button { min-height: 48px; font-size: 14px; }
.shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.shop-product-card { min-width: 0; }
.shop-product-copy { padding: 20px; }
.shop-product-copy h3 { font-size: 21px; }
.shop-product-tag { position: static; max-width: 100%; margin: 0; padding: 0; border-radius: 0; text-align: center; letter-spacing: .04em; order: -1; }
.shop-product-media { display: flex; flex-direction: column; gap: 18px; min-height: 268px; padding: 22px 20px 16px; background: #fff; }
.shop-product-bottles { width: 100%; height: 200px; flex: none; }
.shop-product-bottles img, .shop-product-bottles[data-count="2"] img, .shop-product-bottles[data-count="3"] img { height: 200px; object-fit: contain; object-position: center; }
.shop-swipe-controls { display: none; }
.hero-content .hero-text, .hero-content .video-link small { color: #fff; }
.hero-content h1 em { color: #b9d9ff; }
.hero-content .eyebrow { color: #c5e0ff; }
.hero-media-overlay { background: linear-gradient(90deg, rgba(3,25,53,.67), rgba(4,31,65,.49) 55%, rgba(5,35,72,.12)), linear-gradient(0deg, rgba(3,25,53,.18), transparent 48%); }
.hero-product-card { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
.offer-visual { min-width: 0; }
.offer-bottles { width: 100%; }
.offer-bottles .hero-bottle, .offer-bottles[data-count="1"] .hero-bottle, .offer-bottles[data-count="3"] .hero-bottle { object-fit: contain; transform: none; filter: none; box-shadow: none; }
.slider-arrow, .hero-slider-arrow { min-width: 44px; min-height: 44px; }
.slider-dots, .hero-slider-dots { gap: 0; }
.hero-slider-dots { padding: 0 4px; }
.slider-dot, .hero-slider-dot, .hero-slider-dot.is-active { position: relative; width: 44px; height: 44px; border: 0; background: transparent; box-shadow: none; }
.slider-dot::after, .hero-slider-dot::after { content: ''; position: absolute; width: 8px; height: 8px; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 10px; background: #c1d1e3; }
.slider-dot.is-active::after { background: var(--blue); }
.hero-slider-dot::after { background: #ffffff80; }
.hero-slider-dot.is-active::after { width: 22px; background: #fff; }
.result-collection picture { aspect-ratio: auto; background: transparent; }
.result-collection img { height: auto; object-fit: contain; }
.results-note { margin: 16px 0 0; color: var(--muted); font-size: 13px; }
.review-card { background: #fff; box-shadow: none; }
.steps-grid p { font-size: 15px; line-height: 1.65; }
.steps-grid h3 { font-size: 24px; }
.formula-copy p { line-height: 1.7; }
.entry-content { max-width: 820px; }
.entry-content p, .entry-content li { overflow-wrap: anywhere; line-height: 1.75; }

/* Drawer has a bounded scrolling area, including with many line items. */
.cart-drawer { width: min(560px, 100%); top: var(--admin-height); height: calc(100dvh - var(--admin-height)); z-index: 30; visibility: hidden; }
.cart-drawer.is-open { visibility: visible; }
.cart-overlay { z-index: 29; }
.cart-drawer [data-cart-content] { flex: 1; min-height: 0; overflow: hidden; }
.cart-header { flex: none; padding: 20px 24px; }
.cart-close { min-width: 44px; min-height: 44px; }
.cs-cart-content { min-height: 0; }
.cs-cart-items { min-height: 0; padding: 0 24px; overscroll-behavior: contain; }
.cs-cart-item { grid-template-columns: 104px minmax(0, 1fr) auto; gap: 10px 14px; padding: 18px 0; }
.cs-cart-thumb { grid-row: span 2; width: 104px; height: 116px; min-width: 0; display: flex; align-items: center; justify-content: center; padding: 6px; overflow: visible; background: #fff; }
.cs-cart-thumb img, .cs-cart-full-image { display: block; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: center !important; transform: none !important; filter: none !important; box-shadow: none !important; }
.cs-cart-bottles { display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%; height: 100%; min-width: 0; background: #fff; }
.cs-cart-bottles img { flex: 1 1 0; min-width: 0; width: 0 !important; height: 100% !important; object-fit: contain !important; object-position: center !important; filter: none !important; box-shadow: none !important; }
.cs-cart-copy strong { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.cs-cart-copy small, .cs-cart-copy .variation { font-size: 12px; margin: 0; }
.cs-cart-price { font-size: 14px; }
.cs-cart-quantity { gap: 6px; }
.cs-quantity-controls { gap: 6px; }
.cs-quantity-controls button { width: 44px; height: 44px; }
.cs-quantity-controls > span { min-width: 16px; text-align: center; }
.cs-cart-remove { min-height: 44px; padding: 4px 8px; font-size: 12px; }
.cs-cart-actions { padding: 16px 24px max(12px, env(safe-area-inset-bottom)); }
.cs-cart-total { gap: 12px; margin-bottom: 12px; }
.cs-cart-total strong { font-size: 20px; }
.cs-cart-buttons a { min-height: 48px; font-size: 13px; padding: 8px; text-align: center; }
.cs-continue-shopping { display: block; width: 100%; min-height: 44px; border: 0; padding: 8px; background: transparent; color: var(--navy); font-size: 13px; }
.woocommerce table.cart td.product-thumbnail { width: 120px; }
.woocommerce table.cart td.product-thumbnail img { width: 100% !important; height: 116px !important; object-fit: contain !important; }
.woocommerce table.cart td.product-thumbnail .cs-cart-bottles { height: 116px; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { object-fit: contain !important; object-position: center !important; width: 100% !important; height: 100% !important; background: #fff; }
.wc-block-cart-item__image a { display: block; width: 100%; height: 116px; }
.wc-block-components-order-summary-item__image { height: 80px !important; }
.woocommerce-product-gallery img { object-fit: contain !important; background: #fff; }
.woocommerce-product-gallery img.cs-original-bottle { height: 520px; }
.chat-panel { visibility: hidden; max-height: calc(100dvh - 120px); }
.chat-panel.is-open { visibility: visible; }
.chat-launcher-icon { font-size: 20px; line-height: 1; }
.chat-launcher::before { display: none; }
.chat-message { font-size: 14px; }
.chat-message time { font-size: 12px; }
.chat-close, .chat-send { min-width: 44px; min-height: 44px; }
.chat-field input, .chat-compose textarea { font-size: 16px; }
.footer-bottom { color: #bfd0e5; }
.footer-bottom a, .footer-contact a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer { padding-bottom: 96px; }

@media (max-width: 1100px) {
  .main-nav { display: none; }
  .menu-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; font-size: 26px; }
  .main-nav.is-open { position: absolute; display: flex; flex-direction: column; align-items: stretch; gap: 0; top: calc(100% + 8px); left: 16px; right: 16px; max-height: calc(100dvh - var(--header-height) - var(--admin-height) - 24px); overflow-y: auto; padding: 8px 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 12px 30px #062b5918; font-size: 18px; }
  .main-nav.is-open a { width: 100%; min-height: 52px; border-bottom: 1px solid var(--line); }
  .main-nav.is-open a:last-child { border: 0; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .hero-product-card { display: block; }
  .offer-visual { min-height: 310px; }
  .offer-panel { padding: 12px 4px; }
  .hero-content { padding-inline: 28px; }
}
@media (max-width: 900px) {
  .cs-shop-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-product-card { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
  .shop-grid { gap: 14px; }
  .shop-product-copy { padding: 16px; }
  .shop-product-copy h3 { font-size: 18px; }
  .shop-product-media { padding-inline: 12px; }
  .shop-product-tag { font-size: 11px; }
}
@media (max-width: 782px) { .admin-bar { --admin-height: 46px; } }
@media (max-width: 680px) {
  .hero-product-card { display: block; }
  .shop-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 88%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; gap: 14px; padding: 4px 0 14px; margin-top: 14px; scrollbar-width: thin; }
  .shop-product-card { scroll-snap-align: start; }
  .shop-swipe-controls { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 20px; color: var(--muted); font-size: 13px; }
  .shop-swipe-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--navy); }
  .shop-swipe-controls button:disabled { opacity: .35; cursor: default; }
  .shop-product-copy h3 { font-size: 21px; }
  .shop-product-tag { font-size: 12px; }
}
@media (max-width: 600px) {
  .cs-shop-page ul.products { grid-template-columns: minmax(0, 1fr); }
  :root { --header-height: 68px; }
  body { padding-bottom: 0; }
  .admin-bar { --admin-height: 0px; }
  .site-header { width: 100%; padding-inline: 16px; gap: 8px; }
  .site-header .logo { font-size: 18px; }
  .header-actions { gap: 4px; }
  .cart-button { font-size: 12px; padding: 8px; }
  .section-shell { width: calc(100% - 32px); }
  .hero-content { min-height: 590px; padding: 32px 22px 86px; }
  .hero-content h1 { font-size: clamp(34px, 10.8vw, 48px); overflow-wrap: normal; }
  .hero-content .hero-text { font-size: 15px; }
  .hero-content .hero-list { font-size: 13px; }
  .hero-media-overlay { background: linear-gradient(90deg, rgba(3,25,53,.70), rgba(4,31,65,.39)), linear-gradient(0deg, rgba(3,25,53,.17), transparent 60%); }
  .hero-actions { flex-wrap: wrap; }
  .offer-choice { min-height: 90px; padding: 12px; }
  .offer-panel h2 { font-size: 28px; overflow-wrap: normal; }
  .offer-visual-kicker { top: 12px; left: 8px; font-size: 12px; }
  .offer-visual-note { left: 8px; font-size: 12px; }
  .about-section, .results-section, .shop-section, .reviews-section { padding-top: 56px; padding-bottom: 56px; }
  .formula-section, .how-section { padding-block: 56px; }
  .about-grid, .results-showcase, .reviews-grid, .steps-grid { margin-top: 28px; }
  .formula-grid { gap: 30px; }
  .steps-grid h3 { font-size: 23px; margin: 14px 0; }
  .steps-grid p { max-width: none; }
  .steps-grid article { min-height: 0; padding-block: 22px; }
  .safety-line { flex-direction: column; gap: 8px; }
  .quick-order-option { min-height: 116px; }
  .quick-order-options { gap: 8px; }
  .quick-order-option strong { font-size: 16px; }
  .quick-order-benefits { gap: 10px; }
  .cs-cart-item { grid-template-columns: 86px minmax(0, 1fr); gap: 6px 12px; }
  .cs-cart-thumb { width: 86px; height: 114px; grid-row: span 3; }
  .cs-cart-price { grid-column: 2; }
  .cs-cart-quantity { grid-column: 2; flex-wrap: wrap; }
  .cs-cart-items { padding-inline: 16px; }
  .cs-cart-actions { padding-inline: 16px; }
  .cs-cart-total strong { font-size: 18px; }
  .cs-cart-total { align-items: center; }
  .cart-header { padding: 14px 16px; }
  .cs-cart-copy strong { font-size: 14px; }
  .chat-launcher { width: 48px; height: 48px; padding: 0; display: grid; place-items: center; right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); box-shadow: 0 4px 16px #062b5920; }
  .chat-launcher-label { display: none; }
  .chat-launcher-icon { font-size: 24px; }
  .back-to-top { right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); }
  .chat-panel { right: 12px; bottom: calc(74px + env(safe-area-inset-bottom)); width: calc(100% - 24px); }
  .cs-navigation-trail { font-size: 13px; }
  .wc-block-cart-item__image a { height: 100px; }
  .woocommerce table.cart td.product-thumbnail { display: block !important; width: 100%; height: 120px; }
  .woocommerce table.cart td.product-thumbnail::before { display: none; }
  .woocommerce table.cart td.product-thumbnail > a { display: block; width: 120px; height: 116px; margin: auto; }
}
@media (max-width: 380px) {
  .hero-content { padding-inline: 18px; }
  .site-header .logo { font-size: 16px; }
  .quick-order-options { grid-template-columns: 1fr; }
  .quick-order-option { min-height: 90px; }
  .cs-cart-remove { padding-inline: 0; }
}
@media (max-height: 520px) {
  .cart-header { padding-block: 8px; }
  .cart-header .section-kicker { display: none; }
  .cart-header h2 { font-size: 24px; }
  .cs-cart-actions { padding-block: 8px; }
  .cs-continue-shopping { min-height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
