/* A small native foundation for the Shopify section export. */
html { font-size:16px; scroll-padding-bottom:100px; }
body { margin:0; line-height:1.5; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
svg { max-width:100%; }
[hidden] { display:none !important; }
#MainContent { padding-bottom:20px; }
#MainContent .pdp-layout { max-width:1240px; }
#MainContent .pdp-layout__gallery { min-width:0; }
#MainContent .pdp-layout__info { min-width:0; }
#MainContent .pmg__slide img { width:100%; height:100%; object-fit:contain; background:#f7f8fa; }
#MainContent .pmg__track { overflow-x:auto; touch-action:pan-x pan-y; scroll-snap-type:x mandatory; }
#MainContent .pmg__thumb img { width:100%; height:100%; object-fit:cover; }
#MainContent .pi__chip { margin:0 0 22px; padding:14px; gap:12px; display:grid; grid-template-columns:32px minmax(0,1fr); }
#MainContent .pi__chip-photo { width:32px; height:32px; background:#eff4f7; color:#102a4c; }

#MainContent .pi__chip-quote { margin:0; font-size:13px; line-height:1.55; }
#MainContent .pi__chip-cite { margin-top:7px; font-size:11px; }
#MainContent .pi__chip-verified { position:static; grid-column:2; justify-self:start; margin:3px 0 0; padding:0; border:0; background:none; }
#MainContent .pi__rating { gap:8px; }
#MainContent .pi__rating-stars { flex:none; width:82px; height:17px; }
#MainContent .pi__trust-line { display:flex; flex-wrap:wrap; white-space:normal; justify-content:center; gap:6px 14px; margin:12px 0 0; font-size:11px; line-height:1.5; }
#main-add-to-cart.abl-pdp-cta { width:100%; display:flex; align-items:center; justify-content:center; gap:10px; background:#0A1628; color:#fff; border:none; border-radius:10px; cursor:pointer; padding:18px; font:600 15.5px/1.6 'General Sans',sans-serif; margin:0 0 12px; text-decoration:none; }
#main-add-to-cart.abl-pdp-cta:hover { background:#132743; }
#MainContent .abl-pdp-charge { margin:10px 0 0; min-height:18px; text-align:center; line-height:1.5; font-size:12px; }
.abl-pdp-sticky { z-index:40; }
.abl-pdp-sticky .abl-pdp-cta { color:#fff; background:#0a1628; }
#MainContent .ba__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px)/3); grid-template-columns:none; align-items:start; overflow-x:auto; gap:20px; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; touch-action:pan-x pan-y; padding-bottom:0; scrollbar-width:none; }
#MainContent .ba__card { width:auto; min-width:0; scroll-snap-align:start; }
#MainContent .ba__images { height:210px; min-height:0; overflow:hidden; }
#MainContent .ba__img-wrap { height:100%; }
#MainContent .ba__images img { width:100%; height:100%; max-height:210px; object-fit:cover; }
#MainContent .prv__summary-stars { display:inline-flex; align-items:center; gap:2px; vertical-align:middle; }
#MainContent .prv__summary-stars svg { width:16px; height:16px; fill:#0a1628; flex:none; }
#MainContent .prv__top .prv__stars { width:70px; height:12px; flex:none; }
#MainContent .prv__avatar { width:44px; height:44px; }
#MainContent .prv__name svg { width:12px; height:12px; flex:none; }
#MainContent [data-abl-review-grid] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; gap:16px; align-items:start; }
#MainContent [data-abl-review-grid]>* { grid-row-end:auto !important; margin:0; width:100%; min-width:0; }
/* Review photos: same as the live theme (2-up grid of 4:3 thumbnails, 16:10 when single). */
#MainContent .ablrv__photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; width:100%; }
#MainContent .ablrv__photos[data-count="1"] { grid-template-columns:1fr; }
#MainContent .ablrv__photos img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px; background:#eef1f4; }
#MainContent .ablrv__photos[data-count="1"] img { aspect-ratio:16/10; }
#MainContent .results-timeline__image img { display:block; width:100%; max-height:440px; object-fit:contain; }
#MainContent .ppr__media img { display:block; width:100%; max-height:460px; object-fit:contain; }
#MainContent .pmech__graphic img { width:120px; height:120px; object-fit:contain; }
#MainContent .pmech__fig img { display:block; width:100%; max-height:330px; object-fit:contain; }
#MainContent .phow__step img { width:100%; max-height:280px; object-fit:contain; }
#MainContent .ing-dive__trigger-img img { width:54px; height:54px; object-fit:cover; }
#MainContent dialog:not([open]) { display:none; }
#MainContent dialog[open] { position:fixed; inset:0; margin:auto; z-index:1000; opacity:1 !important; transform:none !important; pointer-events:auto; max-width:min(560px,calc(100vw - 32px)); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); }
#MainContent dialog::backdrop { background:rgba(10,22,40,.5); opacity:1 !important; }
#MainContent .wiw-modal[open] { display:flex; flex-direction:column; }

#MainContent [data-wiw-close],#MainContent [data-abl-review-close] { position:relative; z-index:2; width:40px; height:40px; min-width:40px; min-height:40px; cursor:pointer; touch-action:manipulation; }
#MainContent .ablrv dialog[open] { padding:0; overflow-y:auto; border:0; border-radius:14px; }
#MainContent .ablrv__dialog-inner { padding:24px; }
#MainContent .ablrv dialog img { max-width:100%; max-height:360px; height:auto; object-fit:contain; }
@media(max-width:989px) {
 #MainContent .ba__track { grid-auto-columns:min(84vw,360px); gap:14px; }
 #MainContent .pdp-layout__gallery { max-width:600px; margin:0 auto; width:100%; }
 #MainContent .pdp-layout__info { padding:24px 20px 0; }
 #MainContent .pi__chip { margin-top:0; }
 #MainContent [data-abl-review-grid] { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:749px) {
 #MainContent .prv__grid { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-flow:row; grid-auto-columns:auto; gap:16px; overflow:visible; padding-bottom:0; }
 #MainContent .prv__card { width:100%; min-width:0; }
 #MainContent [data-abl-review-grid] { grid-template-columns:1fr; gap:16px; }
 /* Reviews feed keeps the live two-column mobile layout. */
 #MainContent .ablrv__grid[data-abl-review-grid] { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 #MainContent .ablrv__photos { gap:4px; }
 #MainContent .ablrv__photos img { border-radius:6px; }
 #MainContent .ppr__media img,#MainContent .results-timeline__image img { max-height:340px; }
 #MainContent .pi__trust-line { font-size:11px; }
}

#MainContent .wiw-modal__head { flex:none; }
#MainContent .wiw-modal__list { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
#MainContent dialog[open] { height:fit-content; }
#MainContent .wiw-modal__panel { position:relative; display:flex; flex-direction:column; min-height:0; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); padding:24px; }
#MainContent .wiw-modal__heading { flex:none; padding-right:44px; }
#MainContent [data-wiw-close],#MainContent [data-abl-review-close] { position:absolute; top:12px; right:12px; width:40px; height:40px; padding:9px; background:#fff; border:1px solid #e0e4e8; border-radius:50%; }
#MainContent [data-wiw-close] svg,#MainContent [data-abl-review-close] svg { display:block; width:20px; height:20px; }

/* Keep exported sections in normal flow and use a single carousel surface. */
#MainContent .ban-template--21378321940589__batch_notice { margin:18px 0 0; clear:both; }
#MainContent .ba { padding:28px 0; }
#MainContent .ba__card { height:auto; padding-bottom:18px; }
#MainContent .ba__carousel { overflow:hidden; }
#MainContent .ba__track::-webkit-scrollbar,
#MainContent .prv__grid::-webkit-scrollbar,
#MainContent .pmg__track::-webkit-scrollbar { display:none; }
#MainContent .pmg__track { scrollbar-width:none; }
#MainContent .fcg-section { padding:32px 0; }
#MainContent .fcg-section .fcg-section { padding:0; }
#MainContent .fcg-inner { height:auto; min-height:0; gap:0; }
#MainContent .fcg-lockup { position:static; height:auto; flex-shrink:0; }
#MainContent .fcg-num { font-size:clamp(32px,8vw,44px); line-height:1.15; }
#MainContent .fcg-lab { line-height:1.5; letter-spacing:.12em; }
#MainContent .fcg-body { position:static; clear:both; }
#MainContent .fcg-check { align-items:flex-start; line-height:1.5; }
.abl-pdp-sticky>div { min-width:0; flex-direction:column; align-items:flex-start; gap:2px; }
.abl-pdp-sticky [data-abl-sticky-price] { font-size:12px; color:#57616e; }
.abl-pdp-sticky .abl-pdp-cta:hover { background:#132743; }
#main-add-to-cart.abl-pdp-cta[aria-disabled="true"] { opacity:1; background:#0a1628; cursor:wait; }
#MainContent [data-abl-tier-price][data-loading="true"] { display:block; width:65px; height:18px; border-radius:3px; background:#e6ebf1; color:transparent; }
#MainContent .abl-pdp-charge { color:#66707b; }
@media(max-width:749px) {
 #MainContent .pdp-layout__info { padding:20px 16px 0; }
 #MainContent .pi__chip { padding:12px; gap:9px; margin-bottom:16px; }
 #MainContent .fcg-inner { padding:24px 18px; }
 #MainContent .fcg-checks { gap:12px; }
 .abl-pdp-sticky { padding-bottom:max(10px,env(safe-area-inset-bottom)); }
 .abl-pdp-sticky .abl-pdp-cta { min-width:136px; }
}
