:root{--blue:#1c4379;--dark:#101426;--muted:#6b7280;--bg:#ffffff;--soft:#f4f6fb;}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Sohne','Söhne','Neue Haas Grotesk Text Pro','Neue Haas Grotesk','Helvetica Now Text','Helvetica Now','Helvetica Neue',Helvetica,Arial,sans-serif;}
body{color:var(--dark);background:var(--bg);line-height:1.5;}
button,input,select,textarea{font-family:inherit;}
a{text-decoration:none;color:inherit;}
.hidden{display:none !important;}
.container{max-width:1240px;margin:0 auto;padding:0 24px;}
.theme-toggle-btn{border:none;border-radius:0;padding:0;background:transparent;color:#1f2937;font-size:12px;font-weight:800;letter-spacing:.04em;min-width:auto;box-shadow:none;}
.theme-toggle-btn:hover{background:transparent;border-color:transparent;box-shadow:none;}

body.dark-mode{background:radial-gradient(circle at 20% -10%,rgba(  28,  67,  121,.18),transparent 35%),radial-gradient(circle at 85% 0%,rgba(  28,  67,  121,.14),transparent 30%),#070b16;color:#dbe7ff;}
body.dark-mode{--ui-glow:0 0 0 1px rgba(125,211,252,.26),0 0 14px rgba(  28,  67,  121,.28),0 0 26px rgba(  28,  67,  121,.24);}
body.dark-mode .notice-bar{background:#050913;color:#dbe7ff;}
body.dark-mode .bar{background:linear-gradient(90deg,#1c4379,#1c4379);}
body.dark-mode header{background:rgba(8,12,24,var(--header-bg-alpha,1));border-bottom:1px solid rgba(  28,  67,  121,.32);}
body.dark-mode nav.menu a,body.dark-mode .icons,body.dark-mode .logo-pep,body.dark-mode .logo-sub{color:#dbe7ff;}
body.dark-mode .logo-x{color:#60a5fa;}
body.dark-mode .menu-dropdown{background:#0f172b;border-color:#1e2a49;box-shadow:0 20px 40px rgba(0,0,0,.35);}
body.dark-mode .menu-dropdown a:hover{background:#15213f;color:#93c5fd;}
body.dark-mode .mobile-nav-toggle,body.dark-mode .search-wrap{background:#0f172b;border-color:#243359;color:#dbe7ff;}
body.dark-mode .search-wrap input{color:#dbe7ff;}
body.dark-mode .badge{background:#0f1b34;border-color:#1e335f;color:#93c5fd;}
body.dark-mode .hero-best,body.dark-mode .product-card,body.dark-mode .hero-best-card,body.dark-mode .product-detail-copy,body.dark-mode .product-detail-tabs-section,body.dark-mode .product-savings-chart,body.dark-mode .product-rail-section,body.dark-mode .account-card,body.dark-mode .policy-page-card,body.dark-mode .review-form,body.dark-mode .shop-hero-modern{background:#0f172b;border-color:#223154;box-shadow:0 14px 32px rgba(0,0,0,.3);}
body.dark-mode .product-card{box-shadow:var(--ui-glow);}
body.dark-mode .shop-categories{background:#0f172b;border-color:#223154;box-shadow:0 14px 32px rgba(0,0,0,.3);}
body.dark-mode .shop-search-panel label,body.dark-mode .shop-categories h3{color:#dbe7ff;}
body.dark-mode .shop-search-panel{border:1px solid rgba(125,211,252,.32);border-radius:14px;padding:10px;background:rgba(15,23,43,.72);box-shadow:var(--ui-glow);}
body.dark-mode .shop-search-input{background:#0f172b;border-color:#2c3f66;color:#dbe7ff;box-shadow:none;}
body.dark-mode .shop-search-input:focus{border-color:#1c4379;box-shadow:0 0 0 4px rgba(  28,  67,  121,.2);}
body.dark-mode .qty span{color:#eef4ff;}
body.dark-mode .qty-stepper{background:#0b1222;border-color:#2c3f66;}
body.dark-mode .qty-stepper input{background:#0b1222;color:#eef4ff;}
body.dark-mode .qty-stepper-btn{background:#05070d;color:#ffffff;}
body.dark-mode .qty-stepper-btn:hover{background:#0a101d;color:#ffffff;}
body.dark-mode .product-savings-chart h2{color:#eef4ff;}
body.dark-mode .product-savings-chart .sub{color:#b9c8e8;}
body.dark-mode .savings-table th{color:#c5d5f3;border-bottom-color:#2b3d63;}
body.dark-mode .savings-table td{color:#e2ebff;border-bottom-color:#233154;}
body.dark-mode .savings-table td:last-child{color:#7fb1ff;}
body.dark-mode .hero,body.dark-mode .section,body.dark-mode .about,body.dark-mode .review-collage{background:transparent;}
body.dark-mode .hero p,body.dark-mode .section .sub,body.dark-mode .product-detail-summary,body.dark-mode .product-card .excerpt,body.dark-mode .cart-item .info .pr,body.dark-mode .auth-sub,body.dark-mode .signed-box p,body.dark-mode .gate-hint{color:#a8b7d8;}
body.dark-mode .product-card h3,body.dark-mode .section h2,body.dark-mode .product-detail-copy h1,body.dark-mode .rail-head h2,body.dark-mode .shop-banner h1,body.dark-mode .faq .q,body.dark-mode .product-modal-info h3{color:#eef4ff;}
body.dark-mode .logo-sub,
body.dark-mode .hero-best-title,
body.dark-mode .hero-review-text,
body.dark-mode .featured-category-strip.category-strip .pill,
body.dark-mode .product-card-meta,
body.dark-mode .shop-search-panel label,
body.dark-mode .shop-categories h3,
body.dark-mode .product-breadcrumb,
body.dark-mode .product-detail-dose,
body.dark-mode .product-detail-qty,
body.dark-mode .product-detail-tab-panel p,
body.dark-mode .product-detail-tab-panel li,
body.dark-mode .savings-table th,
body.dark-mode .card .label-secondary,
body.dark-mode .review-form label,
body.dark-mode .policy-copy p,
body.dark-mode .policy-copy li,
body.dark-mode .account-order-items li,
body.dark-mode .account-form label,
body.dark-mode .auth-form label,
body.dark-mode .auth-divider,
body.dark-mode .auth-close,
body.dark-mode .signed-box p{color:#d7e3fb;}
body.dark-mode .dose-option,
body.dark-mode .sort-select,
body.dark-mode .shop-search-input,
body.dark-mode .product-detail-tab-panel h4,
body.dark-mode .savings-table td,
body.dark-mode .pill,
body.dark-mode .auth-tab,
body.dark-mode .google-auth-btn{color:#eef4ff;}
body.dark-mode .product-detail-price .price-normal,
body.dark-mode .auth-sub,
body.dark-mode .gate-hint,
body.dark-mode .product-card .excerpt,
body.dark-mode .cart-item .info .pr{color:#b9c8e8;}
body.dark-mode .shop-banner{background:linear-gradient(135deg,#1c4379,#1c4379);box-shadow:0 14px 34px rgba(14,39,105,.45);}
body.dark-mode .shop-banner p{color:#d6e6ff;}
body.dark-mode .product-card-media,body.dark-mode .product-modal-image,body.dark-mode .product-detail-media{background:linear-gradient(135deg,#111a31,#0c1428);}
body.dark-mode .backdrop{background:rgba(0,0,0,.6);}
body.dark-mode .drawer,body.dark-mode .product-modal-card,body.dark-mode .auth-modal-card,body.dark-mode .modal{background:#0f172b;color:#dbe7ff;border:1px solid #223154;}
body.dark-mode .drawer-head,body.dark-mode .drawer-foot,body.dark-mode .cart-item{border-color:#223154;}
body.dark-mode .auth-modal-backdrop{background:rgba(0,0,0,.7);}
body.dark-mode footer{background:#060b16;}
body.dark-mode .copy,body.dark-mode .footer-small,body.dark-mode .footer-disclaimer p,body.dark-mode .policy-links a{color:#b9c8e8;}
body.dark-mode .theme-toggle-btn{background:transparent;border-color:transparent;color:#dbe7ff;box-shadow:none;}

body.dark-mode .btn.ghost,
body.dark-mode .pill,
body.dark-mode .policy-btn,
body.dark-mode .rail-link,
body.dark-mode .google-auth-btn,
body.dark-mode .auth-tab,
body.dark-mode .sort-select,
body.dark-mode .qty button,
body.dark-mode .dose-option,
body.dark-mode .featured-category-strip.category-strip .pill,
body.dark-mode .icon-btn:not(.theme-toggle-btn):not(.cart-btn){
	background:#05070d;
	color:#ffffff;
	border-color:#2c3f66;
}

body.dark-mode .btn.ghost:hover,
body.dark-mode .pill:hover,
body.dark-mode .policy-btn:hover,
body.dark-mode .rail-link:hover,
body.dark-mode .google-auth-btn:hover,
body.dark-mode .auth-tab:hover,
body.dark-mode .sort-select:hover,
body.dark-mode .qty button:hover,
body.dark-mode .dose-option:hover,
body.dark-mode .featured-category-strip.category-strip .pill:hover,
body.dark-mode .icon-btn:not(.theme-toggle-btn):not(.cart-btn):hover{
	background:#0a101d;
	color:#ffffff;
	border-color:#4566a6;
}

body.dark-mode .featured-category-strip.category-strip .pill.active,
body.dark-mode .pill.active{
	background:linear-gradient(135deg,#1c4379 0%,#1c4379 100%);
	color:#ffffff;
	border-color:#1c4379;
}

body.dark-mode .btn,
body.dark-mode .pill,
body.dark-mode .policy-btn,
body.dark-mode .rail-link,
body.dark-mode .icon-btn,
body.dark-mode .qty button,
body.dark-mode .dose-option,
body.dark-mode .auth-tab,
body.dark-mode .google-auth-btn,
body.dark-mode .sort-select,
body.dark-mode button{
	box-shadow:none;
}

body.dark-mode .btn:hover,
body.dark-mode .pill:hover,
body.dark-mode .policy-btn:hover,
body.dark-mode .rail-link:hover,
body.dark-mode .icon-btn:hover,
body.dark-mode .qty button:hover,
body.dark-mode .dose-option:hover,
body.dark-mode .auth-tab:hover,
body.dark-mode .google-auth-btn:hover,
body.dark-mode .sort-select:hover,
body.dark-mode button:hover{
	box-shadow:none;
}

body.dark-mode .product-card .btn,
body.dark-mode .product-card button,
body.dark-mode .product-card a,
body.dark-mode .product-card [class*="btn"]{
	box-shadow:none;
}

body.dark-mode .product-card:hover{box-shadow:var(--ui-glow);}

/* Dark-mode surface contrast: avoid light panels with unreadable pairings. */
body.dark-mode .hero-review-card{background:#0f172b;border-color:#223154;box-shadow:0 10px 24px rgba(0,0,0,.28);}
body.dark-mode .hero-review-text{color:#d7e3fb;}
body.dark-mode .hero-review-author{color:#93c5fd;}
body.dark-mode .qa{background:#0f172b;border-color:#223154;}
body.dark-mode .qa .q{color:#eef4ff;}
body.dark-mode .qa .a{color:#b9c8e8;}
body.dark-mode .review-form input,
body.dark-mode .review-form select,
body.dark-mode .review-form textarea,
body.dark-mode .auth-form input,
body.dark-mode .auth-form select,
body.dark-mode .modal select{background:#0b1222;color:#eef4ff;border-color:#2c3f66;}
body.dark-mode .review-form input::placeholder,
body.dark-mode .review-form textarea::placeholder,
body.dark-mode .auth-form input::placeholder{color:#8fa4ca;}
body.dark-mode .auth-divider span{background:#0f172b;color:#b9c8e8;}
body.dark-mode .signed-box{background:#0b1222;border-color:#2a3a5f;}
body.dark-mode .product-detail-badge{background:#0b1222;color:#eef4ff;border:1px solid #2c3f66;}

/* Keep account page contrast consistent in dark mode. */
body.dark-mode .account-order-card{background:#0b1222;border-color:#2a3a5f;}
body.dark-mode .account-order-head h4,
body.dark-mode .account-order-total{color:#eef4ff;}
body.dark-mode .account-order-date{color:#b9c8e8;}
body.dark-mode .account-order-status{background:#11203d;color:#93c5fd;}
body.dark-mode .account-form input,
body.dark-mode .account-form textarea{background:#0b1222;color:#eef4ff;border-color:#2c3f66;}
body.dark-mode .account-form input::placeholder,
body.dark-mode .account-form textarea::placeholder{color:#8fa4ca;}
body.dark-mode .account-divider{border-top-color:#2a3a5f;}
body.dark-mode .account-summary-card,
body.dark-mode .account-address-card,
body.dark-mode .account-order-detail-block,
body.dark-mode .account-order-card{background:#0b1222;border-color:#2a3a5f;}
body.dark-mode .account-order-hero{background:linear-gradient(180deg,#0b1222 0%,#0f1930 100%);border-color:#2a3a5f;}
body.dark-mode .account-summary-label,
body.dark-mode .account-order-meta,
body.dark-mode .account-item-dose,
body.dark-mode .account-address-card p,
body.dark-mode .account-security-note p{color:#b9c8e8;}
body.dark-mode .account-summary-value,
body.dark-mode .account-card h3,
body.dark-mode .account-head h2,
body.dark-mode .account-address-head h4,
body.dark-mode .account-order-head h4,
body.dark-mode .account-order-number,
body.dark-mode .account-order-table td,
body.dark-mode .account-order-detail-block h4{color:#eef4ff;}
body.dark-mode .account-order-date,
body.dark-mode .account-order-customer p,
body.dark-mode .account-order-totals p{color:#c8d6f2;}
body.dark-mode .account-order-totals p.grand{color:#eef4ff;border-top-color:#30456f;}
body.dark-mode .account-order-table th{color:#93a9d6;border-bottom-color:#2a3a5f;}
body.dark-mode .account-timeline li{background:#0f172b;border-color:#2c3f66;color:#b9c8e8;}
body.dark-mode .account-timeline li.done{background:#0c1d1a;border-color:#1f5142;color:#8ee3bf;}
body.dark-mode .account-timeline li.current{background:#12203c;border-color:#2b4f93;color:#d6e6ff;}
body.dark-mode .account-default-badge{background:#11203d;color:#93c5fd;}
body.dark-mode .account-nav-item{background:#0b1222;border-color:#2c3f66;color:#eef4ff;}
body.dark-mode .account-nav-item.active{background:linear-gradient(135deg,#1c4379 0%,#1c4379 100%);border-color:#1c4379;color:#fff;}
body.dark-mode .account-nav-item.danger{background:#2a1215;border-color:#7f1d1d;color:#fecaca;}

body.dark-mode .checkout-card{background:#0b1222;border-color:#2a3a5f;box-shadow:none;}
body.dark-mode .checkout-kicker{color:#93c5fd;}
body.dark-mode .checkout-card-head p,
body.dark-mode .checkout-form label span,
body.dark-mode .checkout-summary-variant,
body.dark-mode .checkout-summary-each,
body.dark-mode .checkout-note{color:#9fb0d6;}
body.dark-mode .checkout-card-head h2,
body.dark-mode .checkout-summary-name,
body.dark-mode .checkout-summary-price,
body.dark-mode .checkout-totals > div.total{color:#eef4ff;}
body.dark-mode .checkout-form input,
body.dark-mode .checkout-promo-row input{background:#0f172b;border-color:#2c3f66;color:#eef4ff;}
body.dark-mode .checkout-form input:focus{box-shadow:0 0 0 3px rgba(  28,  67,  121,.2);}
body.dark-mode .checkout-payment-option{background:#0f172b;border-color:#2c3f66;}
body.dark-mode .checkout-payment-option small,
body.dark-mode .checkout-trust li,
body.dark-mode .checkout-totals > div{color:#c7d4f0;}
body.dark-mode .checkout-summary-item{border-bottom-color:#223154;}
body.dark-mode .checkout-summary-item .thumb{border-color:#2c3f66;}
body.dark-mode .checkout-summary-qty button{background:#0b1222;border-color:#2c3f66;color:#dbe7ff;}
body.dark-mode .checkout-promo,
body.dark-mode .checkout-totals{border-top-color:#223154;}
body.dark-mode .checkout-secure-msg{background:#10213d;border-color:#24457f;color:#d5e5ff;}

body.dark-mode #reviews button,
body.dark-mode #reviews .btn,
body.dark-mode #reviews .star-btn{
	box-shadow:none;
}

/* Remove glow from policy links section in dark mode. */
body.dark-mode .policy-links .policy-btn,
body.dark-mode .policy-links .policy-btn:hover,
body.dark-mode .policy-links a,
body.dark-mode .policy-links a:hover{
	box-shadow:none;
}
.notice-bar{background:#101426;color:#fff;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;padding:10px 24px;}
.bar{background:var(--blue);color:#fff;font-size:14px;font-weight:600;overflow:hidden;white-space:nowrap;padding:10px 0;}
.bar .track{display:inline-block;animation:scroll 22s linear infinite;}
.bar span{margin:0 40px;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
header{position:sticky;top:0;background:rgba(255,255,255,var(--header-bg-alpha,1));z-index:50;border-bottom:1px solid #eee;transition:background-color .22s linear;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
.logo{font-weight:800;letter-spacing:-0.5px;display:inline-flex;align-items:flex-start;}
.logo-image{display:block;height:56px;width:auto;max-width:280px;object-fit:contain;background:transparent;}
.logo-mark{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:0.9;position:relative;overflow:hidden;padding-right:8px;}
.logo-mark::before{display:none;}
.logo-word{display:inline-flex;align-items:baseline;gap:2px;}
.logo-pep{color:#000000;font-size:30px;font-weight:700;text-transform:lowercase;transition:transform .2s ease;}
.logo-x{background:linear-gradient(180deg, #000000, #35639f, #5fbdc6, #35639f, #000000);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-size:48px;font-weight:900;line-height:0.8;display:inline-block;animation:logoPulse 2.2s ease-in-out infinite;}
.logo-sub{font-size:10px;font-weight:700;letter-spacing:0.18em;color:#000000;text-transform:uppercase;margin-top:2px;animation:logoSubFade 2.2s ease-in-out infinite;}
@keyframes logoShine{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
@keyframes logoPulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.06);opacity:.95;}}
@keyframes logoSubFade{0%,100%{opacity:.9;transform:translateY(0);}50%{opacity:1;transform:translateY(-1px);}}
nav.menu{display:flex;gap:30px;font-weight:600;font-size:15px;align-items:center;}
nav.menu a:hover{color:var(--blue);}
.menu-item{position:relative;display:flex;align-items:center;}
.menu-link{display:inline-flex;align-items:center;gap:8px;}
.menu-caret{font-size:11px;line-height:1;transform:translateY(1px);}
.menu-dropdown{position:absolute;top:calc(100% + 14px);left:0;min-width:220px;padding:12px 0;border:1px solid #e4e8f3;border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.12);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease;z-index:90;}
.menu-item:hover .menu-dropdown,.menu-item:focus-within .menu-dropdown,.menu-item.open .menu-dropdown{opacity:1;pointer-events:auto;transform:translateY(0);}
.menu-dropdown a{display:block;padding:10px 16px;font-size:14px;font-weight:600;white-space:nowrap;}
.menu-dropdown a:hover{background:#f5f7ff;color:var(--blue);}
.icons{display:flex;gap:18px;font-size:18px;color:#333;align-items:center;}
.icon-btn{background:none;border:none;padding:0;color:inherit;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.icon-btn svg{width:20px;height:20px;display:block;}
.mobile-nav-toggle{display:none;border:1px solid #d7dbe8;border-radius:10px;width:42px;height:42px;background:#fff;}
.search-wrap{display:flex;align-items:center;gap:8px;border:1px solid #d7dbe8;border-radius:999px;padding:6px 10px;background:#fff;transition:all .2s ease;}
.search-wrap input{border:none;outline:none;font-size:14px;width:0;padding:0;transition:width .2s ease;background:transparent;color:#111;}
.search-wrap.active{box-shadow:0 0 0 3px rgba(  28,  67,  121,.12);}
.search-wrap.active input{width:170px;padding:0 2px;}
.hero{padding:70px 0 40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:40px;align-items:start;}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border:1px solid #e3e8f5;color:var(--blue);font-weight:600;font-size:14px;padding:8px 16px;border-radius:999px;}
.badge .dot{width:9px;height:9px;background:#22c55e;border-radius:50%;}
.hero h1{font-size:60px;line-height:1.05;font-weight:800;letter-spacing:-1.5px;margin:24px 0;}
.hero h1 .accent{color:var(--blue);}
.hero p{color:var(--muted);font-size:18px;max-width:460px;margin-bottom:28px;}
.btns{display:flex;gap:14px;}
.btn{padding:16px 28px;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:10px;}
.btn-sm{padding:10px 14px;font-size:13px;min-height:38px;}
.btn.primary{background:var(--blue);color:#fff;}
.btn.primary:hover{background:#2536b8;}
.btn.ghost{background:var(--soft);color:var(--dark);}
.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none;}
.hero-best{border:1px solid #e6ebf7;border-radius:22px;padding:16px;background:linear-gradient(180deg,#f8faff 0%,#ffffff 100%);box-shadow:0 12px 32px rgba(15,23,42,.06);margin-top:34px;}
.hero-best-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.hero-best-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);}
.hero-best-slider{position:relative;padding:0 18px;}
.hero-best-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid #d8deef;border-radius:999px;background:#fff;color:#1f2a44;font-size:16px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 6px 18px rgba(15,23,42,.15);}
.hero-best-arrow-left{left:0;}
.hero-best-arrow-right{right:0;}
.hero-best-arrow:hover{background:#f3f6ff;border-color:#c7d2ef;}
.hero-best-rail{display:block;will-change:transform,opacity;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1);}
.hero-best-rail.is-exit-left{transform:translateX(-18px);opacity:0;}
.hero-best-rail.is-exit-right{transform:translateX(18px);opacity:0;}
.hero-best-rail.is-enter-left{transform:translateX(-18px);opacity:0;}
.hero-best-rail.is-enter-right{transform:translateX(18px);opacity:0;}
.hero-best-card{border:1px solid #e9edfa;border-radius:16px;padding:0;background:#fff;display:block;overflow:hidden;}
.hero-best-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.1);}
.hero-best-image{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;border-radius:0;background:#eff3fc;display:block;}
.hero-best-title{font-size:13px;font-weight:700;line-height:1.35;margin:10px 0 3px;color:#111827;}
.hero-best-price{font-size:12px;font-weight:700;color:var(--blue);}
.hero-art{position:relative;height:440px;background:radial-gradient(circle at 66% 32%,#d9e5ff 0%,#edf3ff 44%,#f7f9ff 72%,#ffffff 100%);border-radius:24px;overflow:hidden;border:none;}
.hero-art::before,.hero-art::after{content:"";position:absolute;pointer-events:none;}
.hero-art::before{inset:0;background:radial-gradient(circle at 72% 24%,rgba(255,255,255,.85),rgba(255,255,255,0) 55%),radial-gradient(circle at 20% 78%,rgba(  28,  67,  121,.1),rgba(  28,  67,  121,0) 60%);} 
.hero-art::after{inset:10px;border-radius:18px;box-shadow:inset 0 28px 60px rgba(255,255,255,.28);}
.review-collage{width:100%;overflow:hidden;padding:22px 0 26px;background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%);border-top:1px solid #edf0f6;border-bottom:1px solid #edf0f6;}
.review-collage-track{display:flex;gap:16px;width:max-content;animation:reviewCollageHorizontal 30s linear infinite;padding-inline:24px;}
.hero-review-card{flex:0 0 min(340px,78vw);background:rgba(255,255,255,.88);border:1px solid rgba(216,225,250,.9);border-radius:16px;padding:16px 16px 14px;box-shadow:0 10px 26px rgba(20,30,70,.12);backdrop-filter:blur(4px);}
.hero-review-stars{font-size:13px;color:#f5b301;letter-spacing:.12em;margin-bottom:8px;}
.hero-review-text{font-size:13px;line-height:1.6;color:#1f2937;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.hero-review-author{font-size:12px;font-weight:700;color:#1c4379;}
@keyframes reviewCollageHorizontal{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #eee;margin-top:40px;padding-top:36px;max-width:520px;}
.stats .n{font-size:40px;font-weight:800;color:var(--blue);}
.stats .l{color:var(--muted);font-size:15px;}
.section{padding:70px 0;}
.section h2{font-size:38px;font-weight:800;letter-spacing:-1px;text-align:center;}
.section .sub{text-align:center;color:var(--muted);margin:12px auto 46px;max-width:520px;}
.featured-category-title{text-align:center;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#1c4379;margin-bottom:12px;}
.featured-category-strip.category-strip{width:100%;max-width:1240px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:0 auto 18px;padding:0;overflow:visible;scroll-snap-type:none;}
.featured-category-strip.category-strip .pill{min-width:0;text-align:center;white-space:normal;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:64px;line-height:1.1;padding:12px 8px;border-radius:12px;border:1px solid #dbe3f4;background:linear-gradient(180deg,#ffffff 0%,#f6f9ff 100%);font-size:13px;font-weight:700;color:#243045;box-shadow:0 6px 18px rgba(15,23,42,.06);scroll-snap-align:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease;}
.featured-category-strip.category-strip .pill:hover{transform:translateY(-2px);border-color:#b9c8eb;box-shadow:0 10px 24px rgba(  28,  67,  121,.14);}
.featured-category-strip.category-strip .pill.active{background:linear-gradient(135deg,#1c4379 0%,#1c4379 100%);border-color:#1c4379;color:#fff;box-shadow:0 10px 26px rgba(  28,  67,  121,.35);}

@media(max-width:1100px){
	.featured-category-strip.category-strip{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media(max-width:760px){
	.featured-category-strip.category-strip{
		display:flex;
		flex-wrap:nowrap;
		grid-template-columns:none;
		overflow-x:auto;
		overflow-y:hidden;
		scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch;
		padding:0 4px 6px;
	}
	.featured-category-strip.category-strip .pill{
		flex:0 0 auto;
		min-width:132px;
		white-space:nowrap;
		scroll-snap-align:start;
	}
}
.featured-products-foot{display:flex;justify-content:center;margin:22px 0 0;}

.featured-products-foot .btn{min-width:260px;justify-content:center;position:relative;z-index:0;isolation:isolate;overflow:visible;background:linear-gradient(135deg,#1c4379 0%,#1c4379 45%,#1c4379 100%);color:#fff;border:1px solid rgba(147,197,253,.55);box-shadow:0 10px 24px rgba(  28,  67,  121,.38),0 0 0 1px rgba(255,255,255,.16) inset;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;}
.featured-products-foot .btn::before{content:"";position:absolute;inset:-14px;z-index:-1;border-radius:14px;background:radial-gradient(circle at 50% 50%,rgba(  28,  67,  121,.48),rgba(  28,  67,  121,0) 72%);filter:blur(8px);opacity:.95;transition:opacity .2s ease,transform .2s ease;pointer-events:none;}
.featured-products-foot .btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(  28,  67,  121,.46),0 0 0 1px rgba(255,255,255,.2) inset;filter:saturate(1.08);}
.featured-products-foot .btn:hover::before{opacity:1;transform:scale(1.03);}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.page-shop .grid-shop{grid-template-columns:repeat(3,1fr);gap:24px;}
.product-card{border:1px solid #edf0f6;border-radius:24px;overflow:hidden;background:#fff;transition:.25s ease, transform .25s ease;display:flex;flex-direction:column;}
.product-card{cursor:pointer;}
.product-card:hover{box-shadow:0 22px 60px rgba(31,41,55,.12);transform:translateY(-6px);}
.product-card-media{height:220px;background:linear-gradient(135deg,#eef1fc,#f7f8fd);overflow:hidden;padding:0;}
.product-card-media img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;display:block;}
.product-card-body{padding:24px;display:flex;flex-direction:column;gap:16px;flex:1;}
.product-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#6b7280;}
.product-card-meta .label{background:#eef7ff;color:var(--blue);padding:8px 12px;border-radius:999px;font-weight:700;}
.product-card h3{font-size:22px;line-height:1.15;margin:0;}
.stock-note{margin:0;color:#475569;font-size:13px;font-weight:600;}
.stock-note.loading{color:#64748b;font-weight:700;letter-spacing:.01em;}
.stock-note.low-stock{color:#b45309;}
.stock-note.sold-out{color:#b91c1c;font-weight:800;letter-spacing:.02em;}
.stock-note.in-stock{color:#166534;}
.product-card .excerpt{color:var(--muted);font-size:14px;line-height:1.7;flex:1;}
.product-card-footer{display:grid;gap:16px;}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.price{font-size:22px;font-weight:800;color:var(--blue);}
.product-card-actions{display:flex;gap:12px;}
.product-card-actions .btn{flex:1;}
.product-card-actions .add-btn,.product-card-actions .quick-btn{margin-top:0;width:100%;min-height:46px;padding:12px 14px;display:inline-flex;align-items:center;justify-content:center;}
.product-card-actions .btn.ghost{background:#f8f9ff;color:var(--dark);border:1px solid #d7dbe8;}
.cart-table{display:grid;gap:16px;margin-top:24px;}
.checkout-section{padding-top:12px;}
.checkout-head{margin-bottom:18px;}
.checkout-head h1{font-size:42px;line-height:1.06;letter-spacing:-.03em;}
.checkout-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1c4379;margin-bottom:8px;}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:start;}
.checkout-main{display:grid;gap:14px;}
.checkout-side{position:sticky;top:112px;}
.checkout-card{background:#fff;border:1px solid #e6ecf7;border-radius:18px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.05);}
.page-checkout .checkout-layout,
.page-checkout .checkout-main,
.page-checkout .checkout-side,
.page-checkout .checkout-card,
.page-checkout .checkout-summary-card,
.page-checkout .checkout-summary-item,
.page-checkout .checkout-summary-item > div,
.page-checkout .checkout-promo-row,
.page-checkout .checkout-payment-option,
.page-checkout .checkout-payment-option > span{min-width:0;}
.checkout-card-head{margin-bottom:14px;}
.checkout-card-head h2{font-size:22px;line-height:1.15;margin:0 0 6px;letter-spacing:-.02em;}
.checkout-card-head p{font-size:13px;color:#64748b;margin:0;}
.checkout-form{display:grid;gap:10px;}
.checkout-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.checkout-form-row-3{grid-template-columns:1fr 1fr 1fr;}
.checkout-form label{display:grid;gap:6px;}
.checkout-form label span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;}
.checkout-form input{width:100%;padding:12px;border:1px solid #d7dbe8;border-radius:10px;background:#fff;font-size:14px;transition:border-color .2s ease, box-shadow .2s ease;}
.checkout-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(  28,  67,  121,.12);}
.checkout-payments{display:grid;gap:10px;}
.checkout-payment-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe3f2;border-radius:12px;padding:12px;background:#f9fbff;cursor:pointer;}
.checkout-payment-option input{margin-top:3px;accent-color:var(--blue);}
.checkout-payment-option strong{display:block;font-size:14px;line-height:1.25;}
.checkout-payment-option small{display:block;font-size:12px;color:#64748b;margin-top:4px;line-height:1.4;}
.checkout-payment-option--disabled{opacity:0.5;cursor:not-allowed;}
.checkout-payment-option--disabled input{cursor:not-allowed;}
.checkout-coming-soon{font-size:10px;font-weight:600;letter-spacing:.04em;background:#e2e8f0;color:#64748b;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle;text-transform:uppercase;}
/* Zelle checkout panel */
.zelle-instructions{border:1px solid #dbe3f2;border-radius:12px;padding:16px;background:#f0f7ff;margin-top:2px;}

/* Shipping method cards */
.shipping-rates-list{display:grid;gap:10px;}
.shipping-rate-card{display:flex;gap:12px;align-items:flex-start;border:1px solid #dbe3f2;border-radius:12px;padding:14px;background:#f9fbff;cursor:pointer;transition:border-color .15s,background .15s;}
.shipping-rate-card:hover{border-color:#2f62ad;background:#f0f7ff;}
.shipping-rate-card.selected{border-color:#1c4379;background:#eff6ff;box-shadow:0 0 0 2px #bfdbfe;}
.shipping-rate-card input[type="radio"]{margin-top:3px;accent-color:var(--blue);flex-shrink:0;}
.shipping-rate-details{display:grid;gap:3px;min-width:0;}
.shipping-rate-name{font-size:14px;font-weight:700;color:#1e293b;}
.shipping-rate-price{font-size:14px;font-weight:600;color:#374151;}
.shipping-rate-free{font-size:14px;font-weight:700;color:#15803d;}
.shipping-rate-price-orig{font-size:12px;color:#64748b;margin-left:2px;}
.shipping-rate-eta{font-size:12px;color:#64748b;margin-top:1px;}
.shipping-rate-free-note{font-size:11px;font-weight:600;color:#15803d;background:#dcfce7;border-radius:4px;padding:1px 6px;display:inline-block;margin-top:2px;}
.shipping-rate-upgrade-note{font-size:11px;color:#92400e;background:#fef3c7;border-radius:4px;padding:1px 6px;display:inline-block;margin-top:2px;}
.shipping-rates-state{padding:10px 0;}
.shipping-rates-loading-text{font-size:13px;color:#64748b;font-style:italic;}
.shipping-rates-error-state p{font-size:13px;color:#b91c1c;margin-bottom:8px;}
.shipping-rates-prompt-text{font-size:13px;color:#64748b;}
@media(max-width:600px){.shipping-rate-card{padding:12px 10px;gap:10px;}}
.zelle-instructions-title{font-size:15px;font-weight:700;margin:0 0 10px;color:#1e3a5f;}
.zelle-steps{padding-left:20px;display:grid;gap:8px;font-size:13px;color:#374151;line-height:1.55;}
.zelle-id-row{display:inline-flex;align-items:center;gap:8px;margin-top:4px;}
.zelle-copy-btn{font-size:11px;padding:2px 8px;border:1px solid #3b82f6;border-radius:6px;background:#eff6ff;color:#1d4ed8;cursor:pointer;white-space:nowrap;}
.zelle-copy-btn:hover{background:#dbeafe;}
.zelle-warning{font-size:12px;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;padding:8px 12px;margin-top:10px;line-height:1.5;}
.zelle-pre-order-note{font-size:12px;color:#374151;margin-top:8px;font-style:italic;}
/* Zelle order confirmation panel */
.zelle-conf-panel{border:2px solid #3b82f6;border-radius:14px;padding:24px;background:#eff6ff;margin-top:24px;}
.zelle-conf-heading{font-size:20px;font-weight:700;color:#1e3a5f;margin:0 0 8px;}
.zelle-conf-sub{font-size:14px;color:#374151;margin:0 0 18px;}
.zelle-conf-grid{display:grid;gap:10px;margin-bottom:18px;}
.zelle-conf-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px;background:#fff;border:1px solid #bfdbfe;border-radius:10px;}
.zelle-conf-label{font-size:12px;font-weight:600;color:#64748b;min-width:140px;}
.zelle-conf-value{display:flex;align-items:center;gap:8px;font-size:15px;}
.zelle-conf-instruction{font-size:14px;color:#1e3a5f;margin-bottom:12px;line-height:1.6;}
/* Zelle admin panel */
.zelle-admin-send{font-size:13px;background:#fef9c3;border:1px solid #fcd34d;border-radius:8px;padding:8px 10px;margin-top:10px;}
.zelle-confirm-btn{background:#f59e0b;color:#fff;border:none;padding:8px 18px;border-radius:8px;font-weight:700;cursor:pointer;font-size:14px;}
.zelle-confirm-btn:hover{background:#d97706;}
/* Zelle account order detail */
.account-zelle-instructions{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:14px;margin-top:12px;font-size:13px;display:grid;gap:6px;line-height:1.55;}
.account-zelle-title{font-size:14px;margin-bottom:4px;}
.account-zelle-warn{font-size:12px;color:#92400e;background:#fef3c7;border-radius:6px;padding:6px 10px;margin-top:4px;}
.checkout-note{font-size:12px;color:#64748b;line-height:1.4;min-height:16px;}
.checkout-note.error{color:#b91c1c;}
.checkout-trust h3{font-size:17px;margin-bottom:8px;}
.checkout-trust ul{padding-left:18px;display:grid;gap:8px;}
.checkout-trust li{font-size:13px;color:#374151;line-height:1.5;}
.checkout-main .co{width:100%;justify-content:center;}
.checkout-summary-card{display:grid;gap:12px;}
.checkout-summary-items{margin-top:0;gap:10px;max-height:44vh;overflow:auto;padding-right:2px;}
.checkout-summary-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #eef2f8;}
.checkout-summary-item:last-child{border-bottom:none;}
.checkout-summary-item .thumb{width:58px;height:58px;border-radius:10px;background:linear-gradient(135deg,#eef1fc,#f7f8fd);border:1px solid #e7edf8;background-size:cover;background-position:center;}
.checkout-summary-name{font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere;word-break:break-word;}
.checkout-summary-variant{font-size:12px;color:#64748b;margin-top:2px;}
.checkout-summary-each{font-size:12px;color:#64748b;margin-top:4px;}
.checkout-summary-qty{display:flex;align-items:center;gap:6px;margin-top:8px;}
.checkout-summary-qty button{width:26px;height:26px;border:1px solid #d7dbe8;border-radius:7px;background:#fff;font-weight:700;cursor:pointer;}
.checkout-summary-qty span{min-width:18px;text-align:center;font-size:13px;font-weight:700;}
.checkout-summary-price{font-size:14px;font-weight:800;color:#0f172a;white-space:nowrap;padding-top:2px;}
.checkout-summary-remove{display:inline-flex;border:none;background:none;color:#b91c1c;font-size:12px;padding:0;margin-top:6px;cursor:pointer;}
.checkout-promo{display:grid;gap:8px;border-top:1px solid #edf2f8;padding-top:12px;}
.checkout-promo label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;}
.checkout-promo-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;}
.checkout-promo-row input{padding:10px 12px;border:1px solid #d7dbe8;border-radius:10px;font-size:14px;}
.checkout-totals{display:grid;gap:8px;border-top:1px solid #edf2f8;padding-top:12px;}
.checkout-totals > div{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#334155;}
.checkout-totals > div.total{font-size:18px;font-weight:800;color:#101426;padding-top:6px;border-top:1px dashed #d5deeb;}
.checkout-secure-msg{font-size:12px;color:#475569;background:#f7fbff;border:1px solid #d8e7ff;border-radius:10px;padding:9px 10px;line-height:1.4;}
.page-checkout .checkout-note,
.page-checkout #checkoutError,
.page-checkout #promoCodeMessage,
.page-checkout .checkout-secure-msg,
.page-checkout .checkout-totals > div span,
.page-checkout .checkout-totals > div strong{overflow-wrap:anywhere;word-break:break-word;}
.shop-banner{text-align:center;padding:28px 24px 18px;margin-bottom:12px;border-radius:24px;background:linear-gradient(135deg,#1c4379,#1c4379);color:#fff;box-shadow:0 12px 30px rgba(  28,  67,  121,.18);}
.shop-banner h1{font-size:56px;line-height:0.95;margin:0 0 10px;font-weight:900;letter-spacing:0.14em;text-transform:uppercase;color:#fff;}
.shop-banner p{margin:0;color:rgba(255,255,255,.95);font-size:17px;font-weight:500;}
.shop-hero-modern{background:#f8fbff;border:1px solid #e8eef7;border-radius:20px;padding:12px 16px 14px;display:grid;grid-template-columns:1fr;gap:10px;align-items:center;margin-bottom:12px;}
.shop-search-panel{display:grid;gap:10px;}
.shop-search-panel label{font-size:13px;font-weight:700;color:#374151;}
.shop-search-input{width:100%;padding:12px 14px;border:1px solid #d7dbe8;border-radius:12px;background:#fff;color:#111;font-size:14px;font-weight:500;outline:none;box-shadow:0 4px 12px rgba(15,23,42,.05);}
.shop-search-input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(  28,  67,  121,.12);}
.shop-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start;}
.shop-categories{position:sticky;top:118px;background:#f8fbff;border:1px solid #e8eef7;border-radius:16px;padding:14px;}
.shop-categories h3{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1f2937;margin:0 0 10px;}
.pill-list-vertical{display:grid;gap:8px;}
.pill-list-vertical .pill{width:100%;justify-content:flex-start;padding:10px 12px;}
.shop-tools{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;align-items:end;margin:0 0 12px;}
.shop-tools .shop-search-panel{margin:0;}
.shop-tools .sort-group{margin:0;max-width:none;}
.shop-results .grid-shop{grid-template-columns:repeat(3,minmax(0,1fr));}
.product-page{padding:32px 24px 72px;}
.product-breadcrumb{display:flex;align-items:center;gap:10px;color:#6b7280;font-size:14px;margin-bottom:24px;flex-wrap:wrap;}
.product-breadcrumb a:hover{color:var(--blue);}
.product-detail-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px;align-items:stretch;margin-bottom:28px;}
.product-detail-shell.is-loading .product-detail-copy{opacity:.82;}
.product-detail-media{position:relative;min-height:520px;border-radius:32px;background:linear-gradient(135deg,#edf3ff 0%,#f8fbff 55%,#fff 100%);border:1px solid #e5ebfb;overflow:hidden;display:flex;align-items:flex-end;padding:28px;}
.product-detail-media::before,.product-detail-media::after{content:"";position:absolute;border-radius:50%;background:rgba(  28,  67,  121,.08);}
.product-detail-media::before{width:260px;height:260px;top:44px;left:32px;}
.product-detail-media::after{width:180px;height:180px;right:56px;bottom:96px;}
.product-detail-media.has-product-image::before,.product-detail-media.has-product-image::after{display:none;}
.product-detail-orb{width:240px;height:240px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0%,#c8d6ff 48%,#1c4379 100%);box-shadow:0 30px 90px rgba(  28,  67,  121,.28);position:relative;z-index:1;}
.product-detail-media.has-product-image .product-detail-orb{display:none;}
.product-detail-badge{position:relative;z-index:1;margin-left:auto;background:#fff;color:var(--dark);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:12px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(16,20,38,.12);}
.product-detail-copy{background:#fff;border:1px solid #edf0f6;border-radius:32px;padding:32px;box-shadow:0 20px 50px rgba(15,23,42,.06);display:flex;flex-direction:column;justify-content:center;}
.product-detail-copy h1{font-size:48px;line-height:1.02;letter-spacing:-1.8px;margin:10px 0 12px;}
.product-detail-price{font-size:34px;line-height:1;font-weight:900;color:var(--blue);margin-bottom:18px;}
.product-detail-price .price-normal,.product-modal-price .price-normal{font-size:.64em;color:#6b7280;text-decoration:line-through;margin-right:10px;font-weight:700;}
.product-detail-price .price-discount,.product-modal-price .price-discount{font-size:1em;color:var(--blue);font-weight:900;}
.product-detail-summary{font-size:17px;line-height:1.7;color:var(--muted);margin-bottom:28px;}
	.product-detail-purchase{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;}
	.product-detail-inputs{display:grid;gap:12px;align-items:start;}
	.product-detail-actions{display:flex;align-items:end;gap:10px;margin-left:auto;}
	.product-detail-actions .btn{white-space:nowrap;}
.product-detail-dose{display:grid;gap:8px;font-weight:700;font-size:14px;color:#374151;}
.dose-options{display:flex;gap:12px;flex-wrap:wrap;}
.dose-option{padding:14px 18px;border:2px solid #d7dbe8;border-radius:14px;font-size:16px;background:#fff;color:#111;font-weight:700;cursor:pointer;transition:all .2s ease;}
.dose-option{min-height:44px;}
.dose-option:hover{border-color:var(--blue);background:#f3f7ff;}
.dose-option.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.product-detail-dose select{width:180px;padding:14px;border:1px solid #d7dbe8;border-radius:14px;font-size:16px;background:#fff;color:#111;}
.product-detail-dose select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(  28,  67,  121,.12);}
.product-detail-dose select option[disabled]{color:#9ca3af;}
.product-detail-qty{display:grid;gap:8px;font-weight:700;font-size:14px;color:#374151;}
.qty-stepper{display:inline-flex;align-items:center;border:1px solid #d7dbe8;border-radius:14px;background:#fff;overflow:hidden;}
.qty-stepper-btn{width:36px;height:44px;border:none;background:#f8faff;color:#111827;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.qty-stepper-btn:hover{background:#eef3ff;color:var(--blue);}
.qty-stepper-btn:active{background:#e5ecff;}
.qty-stepper input{width:48px;height:44px;border:none;background:#fff;text-align:center;font-size:16px;font-weight:700;color:#111827;padding:0;}
.qty-stepper input:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(  28,  67,  121,.18);}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.qty-stepper input[type=number]{-moz-appearance:textfield;appearance:textfield;}
.product-detail-qty .qty-stepper{width:120px;}
.product-detail-tabs-section{border:1px solid #edf0f6;border-radius:28px;padding:28px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.05);margin-bottom:34px;}
.product-disclaimer-caption{margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.product-detail-tab-panel p{font-size:16px;line-height:1.8;color:#4b5563;max-width:900px;}
.product-detail-tab-panel h4{font-size:18px;line-height:1.25;letter-spacing:-.3px;margin:16px 0 8px;color:#111827;}
.product-detail-tab-panel ul{padding-left:22px;display:grid;gap:8px;margin:8px 0 12px;}
.product-detail-tab-panel li{font-size:15px;line-height:1.7;color:#4b5563;}
.product-savings-chart{border:1px solid #edf0f6;border-radius:24px;padding:24px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.05);margin-bottom:30px;}
.product-savings-chart h2{font-size:30px;line-height:1.08;letter-spacing:-.8px;text-align:left;margin-bottom:8px;}
.product-savings-chart .sub{margin:0 0 16px;color:var(--muted);text-align:left;max-width:none;}
.savings-table-wrap{overflow-x:auto;}
.savings-table{width:100%;border-collapse:collapse;min-width:320px;}
.savings-table th,.savings-table td{padding:12px 10px;border-bottom:1px solid #eef2f8;text-align:left;font-size:14px;}
.savings-table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-weight:800;}
.savings-table td{font-weight:700;color:#111827;}
.savings-table td:last-child{color:var(--blue);}
.product-rail-section{padding:18px 0 10px;}
.rail-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px;}
.rail-head h2{font-size:34px;line-height:1.05;letter-spacing:-1px;text-align:left;}
.rail-kicker{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;}
.rail-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#101426;color:#fff;font-size:14px;font-weight:700;white-space:nowrap;}
.rail-link:hover{background:#2536b8;}
.grid-rail{grid-template-columns:repeat(3,1fr);}
/* Rails render a 4th product so mobile can show a complete 2x2 grid.
   Every wider breakpoint keeps the established 3-card row. */
.grid-rail > :nth-child(4){display:none;}
.product-rail-related{padding-top:6px;}
.hero-copy h1{font-size:44px;line-height:1.05;max-width:520px;}
.hero-copy p{color:var(--muted);max-width:520px;}
.category-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 0 6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.category-strip::-webkit-scrollbar{height:8px;}
.category-strip::-webkit-scrollbar-track{background:transparent;}
.category-strip::-webkit-scrollbar-thumb{background:rgba(  28,  67,  121,.25);border-radius:999px;}
.category-strip .pill{flex:0 0 auto;scroll-snap-align:start;}
.pill{padding:8px 14px;border-radius:999px;border:1px solid #d7dbe8;background:#fff;color:#111;cursor:pointer;transition:all .2s ease;font-size:14px;}
.pill.active,.pill:hover{background:var(--blue);color:#fff;border-color:transparent;}
.sort-group{align-items:flex-start;min-width:200px;}
.sort-group label{font-size:13px;font-weight:700;color:#374151;}
.sort-select{width:100%;padding:10px 14px;border:1px solid #d7dbe8;border-radius:12px;background:#fff;color:#111;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(15,23,42,.05);outline:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, #1c4379 50%), linear-gradient(135deg, #1c4379 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px);background-size:6px 6px, 6px 6px;background-repeat:no-repeat;}
.sort-select:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(  28,  67,  121,.12);}
.cart-table{display:grid;gap:18px;margin:32px 0;}
.drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
@media(max-width:1024px){.grid{grid-template-columns:1fr 1fr;}.page-shop .grid-shop{grid-template-columns:1fr 1fr;}.shop-hero-modern{grid-template-columns:1fr;}.hero-copy h1{font-size:36px;}.hero{grid-template-columns:1fr;}}
@media(max-width:1024px){.shop-layout{grid-template-columns:1fr;}.shop-categories{position:static;}.pill-list-vertical{grid-template-columns:repeat(2,minmax(0,1fr));}.shop-tools{grid-template-columns:1fr;}.shop-tools .sort-group{max-width:none;}}
@media(max-width:1024px){.checkout-layout{grid-template-columns:1fr;}.checkout-side{position:static;}}
@media(max-width:720px){.grid{grid-template-columns:1fr;}.shop-hero-modern{padding:24px;}.product-card{border-radius:20px;}.filter-bar{flex-direction:column;align-items:flex-start;}.drawer-foot{flex-direction:column;align-items:stretch;}.hero-copy h1{font-size:32px;}.review-collage{padding:18px 0 22px;}.review-collage-track{gap:12px;padding-inline:18px;}.hero-review-card{flex-basis:74vw;padding:12px 12px 10px;}}
@media(max-width:720px){.checkout-card{padding:14px;}.checkout-form-row,.checkout-form-row-3{grid-template-columns:1fr;}.checkout-summary-items{max-height:none;}.checkout-layout{gap:14px;}}
@media(max-width:720px){.checkout-head h1{font-size:34px;}}

@media(max-width:768px){
	.page-checkout .checkout-form input,
	.page-checkout .checkout-promo-row input,
	.page-checkout .checkout-note{font-size:16px;}
	.page-checkout .checkout-summary-qty button{width:32px;height:32px;}
	.page-checkout .checkout-main{gap:12px;}
	.page-checkout .checkout-side{position:static;top:auto;}
}

@media(max-width:560px){
	.page-checkout .checkout-promo-row{grid-template-columns:1fr;}
	.page-checkout #applyPromoBtn{width:100%;justify-content:center;}
}

@media(max-width:480px){
	.page-checkout .checkout-head h1{font-size:clamp(30px,9.2vw,34px);line-height:1.08;}
	.page-checkout .checkout-layout{gap:12px;}
	.page-checkout .checkout-card{padding:12px;}
	.page-checkout .checkout-summary-item{grid-template-columns:52px minmax(0,1fr);gap:8px;}
	.page-checkout .checkout-summary-item .thumb{width:52px;height:52px;}
	.page-checkout .checkout-summary-price{grid-column:2;grid-row:2;justify-self:end;padding-top:4px;}
	.page-checkout .checkout-summary-qty{flex-wrap:wrap;}
	.page-checkout .checkout-totals > div{font-size:13px;}
	.page-checkout .checkout-totals > div.total{font-size:17px;}
	.page-checkout .checkout-main .co{min-height:46px;}
}

@media(max-width:360px){
	.page-checkout .checkout-card{padding:10px;}
	.page-checkout .checkout-summary-item{gap:7px;}
}
.card .img{height:220px;background:linear-gradient(135deg,#eef1fc,#f7f8fd);border-bottom:1px solid #f0f4fb;}
.card .body{padding:24px;display:flex;flex-direction:column;gap:16px;flex:1;}
.tag{display:inline-flex;font-size:12px;font-weight:700;letter-spacing:.5px;padding:7px 12px;border-radius:999px;background:#eef7ff;color:var(--blue);margin-bottom:8px;}
.card h3{font-size:20px;line-height:1.2;margin-bottom:6px;}
.card .from{color:var(--muted);font-size:14px;}
.card .from b{color:var(--dark);}
.card .excerpt{color:var(--muted);font-size:14px;line-height:1.7;}
.card .price-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;}
.card .price{font-size:20px;font-weight:800;color:var(--blue);}
.card .buy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.card .buy-row .btn{flex:1;}
.card .label-secondary{font-size:13px;color:#6b7280;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-weight:600;font-size:14px;}
.field input{padding:14px;border:1px solid #d7dbe8;border-radius:10px;font-size:15px;}
.field input:focus{outline:none;border-color:var(--blue);}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tcard{border:1px solid #eee;border-radius:18px;padding:28px;background:#fff;}
.tcard .stars{color:#f5b301;font-size:18px;margin-bottom:14px;}
.tcard p{font-size:15px;color:#333;margin-bottom:18px;}
.tcard .who{font-weight:700;font-size:15px;}
.tcard .who span{display:block;color:var(--muted);font-weight:400;font-size:13px;}.review-form{max-width:820px;margin:0 auto 24px;display:grid;gap:16px;border:1px solid #eee;border-radius:18px;padding:24px;background:#fff;}
.review-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.review-form label{display:grid;gap:8px;font-weight:600;font-size:14px;color:var(--dark);} 
.review-form input,.review-form select,.review-form textarea{width:100%;padding:14px;border:1px solid #d7dbe8;border-radius:10px;font-size:15px;}
.review-form textarea{min-height:120px;resize:vertical;}
.review-form button{justify-self:start;}
.review-empty{color:var(--muted);text-align:center;padding:24px 0;}
.star-picker{display:flex;gap:6px;align-items:center;min-height:46px;}
.star-btn{background:none;border:none;padding:0;font-size:28px;line-height:1;cursor:pointer;color:#d1d5db;transition:transform .15s ease,color .15s ease;}
.star-btn:hover,.star-btn:focus-visible{transform:scale(1.1);outline:none;}
.star-btn.active{color:#f5b301;}.faq{max-width:820px;margin:0 auto;}
.qa{border:1px solid #eee;border-radius:12px;margin-bottom:14px;overflow:hidden;background:#fff;}
.qa .q{padding:20px 24px;font-weight:700;font-size:17px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.qa .q .ico{color:var(--blue);font-size:22px;transition:.2s;}
.qa .a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted);padding:0 24px;}
.qa.open .a{max-height:200px;padding:0 24px 22px;}
.qa.open .q .ico{transform:rotate(45deg);}
.contact{background:var(--dark);color:#fff;}
.contact h2{color:#fff;}
.contact .sub{color:#aab0cc;}
.cform{max-width:640px;margin:0 auto;display:grid;gap:16px;}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.cform input,.cform textarea{width:100%;padding:15px;border-radius:10px;border:1px solid #2a3050;background:#191f38;color:#fff;font-size:15px;}
.cform input::placeholder,.cform textarea::placeholder{color:#8890b0;}
.cform textarea{min-height:130px;resize:vertical;}
.cform button{justify-self:start;}
.form-msg{color:#7ee0a0;font-weight:600;display:none;}
.about{background:var(--soft);}
.about .container{display:grid;grid-template-columns:1fr;gap:50px;align-items:center;}
.about h2{text-align:left;}
.about p{color:var(--muted);margin-top:18px;font-size:17px;}
.about .art{height:340px;background:radial-gradient(circle at 40% 40%,#e2e8fb,#fff);border-radius:24px;}
footer{background:var(--dark);color:#c4c9dd;padding:56px 0 30px;}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
footer h4{color:#fff;margin-bottom:16px;font-size:16px;}
footer li{list-style:none;margin:8px 0;font-size:14px;}
footer .logo{color:#fff;margin-bottom:14px;}
footer .logo .logo-mark{overflow:visible;}
footer .logo .logo-mark::before{display:none;}
footer .logo .logo-x,
footer .logo .logo-sub{animation:none;}
footer .logo .logo-pep,
footer .logo .logo-x,
footer .logo .logo-sub{transform:none;}
.terms-section{border-top:1px solid #2a3050;margin-top:24px;padding-top:24px;color:#c4c9dd;font-size:13px;line-height:1.7;}
.terms-section h4{color:#fff;margin-bottom:12px;font-size:16px;}
.terms-section p,.terms-section li{margin-bottom:8px;}
.terms-section ol{padding-left:18px;}
.terms-section ul{padding-left:18px;margin:6px 0 0;}
.copy{padding-top:22px;font-size:13px;text-align:center;}

/* Home footer layout */
.footer-top{display:flex;justify-content:flex-start;align-items:flex-start;gap:clamp(28px,4vw,56px);}
.footer-brand-contact{display:flex;align-items:flex-start;gap:24px;}
.footer-brand-contact .logo{order:1;margin-bottom:0;}
.footer-contact{order:2;margin-left:40px;}
.footer-contact h4{font-weight:800;}
.footer-small{font-size:13px;color:#c4c9dd;line-height:1.6;margin:0 0 8px;}
.footer-small a{color:#d8def8;}
.footer-small a:hover{color:#fff;}
.footer-contact address{font-style:normal;margin:0;}
.footer-link-columns{display:flex;align-items:flex-start;gap:clamp(24px,3.5vw,44px);}
.footer-quick-links h4,.footer-policies h4{font-weight:800;margin-bottom:12px;}
.footer-quick-links{margin-left:0;}
.footer-link-list{display:flex;flex-direction:column;gap:10px;}
.footer-inline-link{font-size:13px;font-weight:700;color:#d8def8;transition:color .2s ease;}
.footer-inline-link:hover{color:#fff;text-decoration:underline;}
.footer-disclaimer{margin-top:24px;padding-top:18px;}
.footer-disclaimer p{font-size:12px;line-height:1.7;color:#aeb6d3;}
.policy-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:14px;padding-top:14px;}
.policy-btn{font-size:12px;font-weight:600;color:#d8def8;}
.policy-btn:hover{color:#fff;text-decoration:underline;}
@media(max-width:900px){.hero,.about .container{grid-template-columns:1fr;}.grid{grid-template-columns:1fr 1fr;}.hero h1{font-size:44px;}.fgrid,.tgrid{grid-template-columns:1fr;}.cform .row{grid-template-columns:1fr;}}

@media(max-width:900px){
	.container{padding:0 18px;}
	.nav{padding:12px 0;position:relative;}
	.mobile-nav-toggle{display:inline-flex;}
	nav.menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 10px);flex-direction:column;gap:6px;background:#fff;border:1px solid #e4e8f3;border-radius:16px;padding:10px;box-shadow:0 16px 42px rgba(15,23,42,.14);z-index:80;}
	nav.menu.open{display:flex;}
	nav.menu a,.menu-link{padding:10px 12px;border-radius:10px;}
	nav.menu a:hover,.menu-link:hover{background:#f5f7ff;}
	.menu-item{display:block;}
	.menu-caret{display:none;}
	.menu-dropdown{display:none !important;}
}

@media(max-width:900px){
	body.dark-mode nav.menu{background:#0f172b;border-color:#223154;box-shadow:0 16px 42px rgba(0,0,0,.45);}
	body.dark-mode nav.menu a,
	body.dark-mode .menu-link{color:#eef4ff;}
	body.dark-mode nav.menu a:hover,
	body.dark-mode .menu-link:hover{background:#15213f;color:#ffffff;}
}

@media(max-width:900px){
	.footer-top,.footer-brand-contact,.footer-link-columns{flex-direction:column;gap:18px;}
	.footer-brand-contact .logo{order:1;}
	.footer-contact{order:2;margin-left:0;}
	.footer-link-columns{width:100%;}
}

@media(max-width:720px){
	.notice-bar{font-size:12px;padding:8px 14px;}
	.logo-image{height:40px;max-width:220px;}
	.logo-pep{font-size:24px;}
	.logo-x{font-size:38px;}
	.logo-sub{font-size:9px;letter-spacing:.12em;}
	.icons{gap:10px;}
	.icon-btn{min-width:42px;min-height:42px;}
	.search-wrap{padding:4px 8px;}
	.search-wrap.active input{width:120px;}
	.hero{padding:22px 0 16px;gap:16px;}
	.hero-best{padding:12px;margin-top:0;}
	.hero-best-slider{padding:0 14px;}
	.hero h1{font-size:33px;letter-spacing:-1px;margin:10px 0 12px;}
	.hero p{font-size:14px;margin-bottom:14px;max-width:none;}
	.btns{flex-direction:column;align-items:stretch;}
	.btn{padding:12px 16px;font-size:14px;justify-content:center;}
	.hero-art{height:220px;}
	.stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:18px;max-width:none;}
	.stats .n{font-size:24px;}
	.stats .l{font-size:13px;}
	.review-collage{padding:14px 0 16px;}
	.review-collage-track{gap:10px;padding-inline:14px;}
	.hero-review-card{flex-basis:70vw;padding:11px 11px 9px;border-radius:14px;}
	.section{padding:38px 0;}
	.section h2{font-size:27px;}
	.section .sub{margin:8px auto 22px;font-size:13px;line-height:1.55;}
	.grid{gap:16px;}
	.product-card-media{height:auto;aspect-ratio:19/10;padding:0;display:flex;align-items:center;justify-content:center;}
	.product-card-media img{width:100%;height:100%;margin:0;object-fit:contain;object-position:center;border-radius:0;display:block;}
	.product-card-body{padding:14px;gap:10px;}
	.product-card-meta{font-size:12px;}
	.product-card-meta .label{padding:6px 10px;}
	.product-card h3{font-size:18px;}
	.price{font-size:20px;}
	.product-card-actions{flex-direction:column;}
	.shop-banner{padding:16px 14px 12px;}
	.shop-banner h1{font-size:34px;letter-spacing:.08em;}
	.shop-banner p{font-size:13px;}
	.product-page{padding:16px 0 40px;}
	.product-breadcrumb{font-size:13px;gap:8px;}
	.product-detail-media{min-height:260px;padding:16px;}
	.product-detail-orb{width:150px;height:150px;}
	.product-detail-copy{padding:20px;border-radius:20px;}
	.product-detail-copy h1{font-size:28px;}
	.product-detail-price{font-size:24px;}
	.product-detail-summary{font-size:14px;margin-bottom:16px;}
	.product-detail-tabs-section{padding:18px;border-radius:18px;}
	.rail-head h2{font-size:22px;}
	.review-form{padding:14px;}
	.review-row{grid-template-columns:1fr;}
	.qa .q{padding:14px;font-size:15px;}
	.qa .a{padding:0 14px 0;font-size:14px;}
	.qa.open .a{padding:0 14px 14px;font-size:14px;}
	.about .container{gap:24px;}
	.about h2{font-size:28px;}
	.about p{font-size:15px;}
	.about .art{height:220px;}
	footer{padding:42px 0 22px;}
	.footer-top{gap:16px;}
	.footer-brand-contact{gap:14px;}
	.footer-contact h4,.footer-quick-links h4,.footer-policies h4{margin-bottom:10px;font-size:15px;}
	.footer-small,.footer-inline-link{font-size:12px;}
	.footer-disclaimer{margin-top:18px;padding-top:14px;}
	.footer-disclaimer p{font-size:11px;line-height:1.6;}
	.policy-links{gap:10px;justify-content:flex-start;}
}

@media(max-width:430px){
	.container{padding:0 14px;}
	.hero{padding:18px 0 14px;gap:14px;}
	.hero h1{font-size:30px;}
	.hero p{font-size:13px;}
	.hero-art{height:180px;}
	.btn{font-size:13px;padding:11px 14px;}
	.stats{grid-template-columns:1fr;gap:10px;margin-top:16px;padding-top:16px;}
	.stats .n{font-size:22px;}
	.review-collage{padding:12px 0 14px;}
	.review-collage-track{padding-inline:12px;}
	.hero-review-card{flex-basis:78vw;}
	.section{padding:34px 0;}
	.section h2{font-size:25px;}
	.section .sub{margin-bottom:18px;}
	.product-card-media{height:auto;aspect-ratio:19/10;padding:0;}
	.product-card h3{font-size:17px;}
	.product-detail-media{min-height:220px;}
	.product-detail-copy h1{font-size:26px;}
	.product-detail-price{font-size:22px;}
	.shop-banner h1{font-size:30px;}
	.stats{grid-template-columns:1fr;}
	.search-wrap.active input{width:100px;}
	.product-modal{padding:12px;}
	.product-modal-card{padding:18px;border-radius:16px;}
	.product-modal-body{grid-template-columns:1fr;gap:12px;}
	.product-modal-image{height:190px;}
	.product-modal-info h3{font-size:22px;}
	.drawer{width:100%;max-width:100%;}
	.drawer-head,.drawer-body,.drawer-foot{padding-left:16px;padding-right:16px;}
	.drawer-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom));}
	.toast{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(120px);width:auto;}
	.toast.show{transform:translateY(0);}
	.policy-page-shell{padding:20px 0 44px;}
	.policy-page-card{padding:18px;border-radius:18px;}
	.policy-page-card h1{font-size:28px;}
	.policy-copy h2{font-size:18px;}
	.account-page{padding:12px 0 42px;}
	.account-head h2{font-size:28px;}
	.account-card{padding:14px;}
	.auth-modal-card{width:calc(100% - 20px);margin:12px auto;padding:16px;border-radius:16px;}
	.auth-modal-card h3{font-size:22px;}
}

.policy-page-shell{padding:42px 24px 76px;}
.policy-page-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid #e6eaf5;border-radius:28px;padding:36px;box-shadow:0 22px 60px rgba(15,23,42,.06);}
.policy-page-card h1{font-size:44px;line-height:1.04;letter-spacing:-1.4px;margin-bottom:14px;}
.policy-page-card .policy-intro{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:26px;}
.policy-copy{display:grid;gap:18px;}
.policy-copy section{display:grid;gap:8px;}
.policy-copy h2{font-size:22px;line-height:1.2;text-align:left;letter-spacing:-.4px;}
.policy-copy p,.policy-copy li{font-size:15px;line-height:1.75;color:#374151;}
.policy-copy ul{padding-left:20px;display:grid;gap:8px;}
.policy-back-link{display:inline-flex;margin-top:28px;font-size:14px;font-weight:700;color:var(--blue);}
.policy-back-link:hover{text-decoration:underline;}

.account-page{padding:26px 24px 70px;}
.account-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start;}
.account-card{background:#fff;border:1px solid #e5eaf5;border-radius:20px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.05);}
.account-sidebar{position:sticky;top:118px;}
.account-sidebar-head h1{font-size:32px;letter-spacing:-.8px;line-height:1.05;}
.account-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#1c4379;margin-bottom:8px;}
.account-nav{display:grid;gap:8px;margin-top:16px;}
.account-nav-item{border:1px solid #d7ddeb;background:#fff;color:#111827;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:all .2s ease;}
.account-nav-item:hover{border-color:#b9c8eb;background:#f7f9ff;}
.account-nav-item.active{background:linear-gradient(135deg,#1c4379 0%,#1c4379 100%);border-color:#1c4379;color:#fff;}
.account-nav-item.danger{margin-top:8px;color:#b91c1c;background:#fff7f7;border-color:#fecaca;}
.account-main{display:grid;gap:16px;}
.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.account-head h2{font-size:40px;letter-spacing:-1px;line-height:1.05;}
.account-sub{margin:6px 0 0;max-width:620px;}
.account-panel{display:none;gap:16px;}
.account-panel.active{display:grid;}
.account-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.account-summary-card{background:#fff;border:1px solid #e5eaf5;border-radius:16px;padding:16px;}
.account-summary-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;}
.account-summary-value{margin-top:8px;font-size:24px;font-weight:800;line-height:1.1;color:#101426;word-break:break-word;}
.account-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;}
.account-card h3{font-size:22px;margin:0;}
.account-empty{color:var(--muted);font-size:14px;}
.account-orders{display:grid;gap:12px;}
.account-order-card{border:1px solid #e5eaf5;border-radius:14px;padding:14px;background:#fafbff;display:grid;gap:10px;}
.account-order-head{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.account-order-head h4{font-size:15px;margin:0;}
.account-order-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:#475569;}
.account-order-actions{display:flex;justify-content:flex-end;}
.account-order-status{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize;}
.account-order-status.info{background:#eef2ff;color:#1c4379;}
.account-order-status.success{background:#ecfdf3;color:#166534;}
.account-order-status.danger{background:#fef2f2;color:#b91c1c;}
.account-order-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid #e5eaf5;border-radius:16px;padding:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);}
.account-order-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-weight:700;margin:0 0 6px;}
.account-order-number{margin:0;font-size:26px;line-height:1.1;letter-spacing:-.03em;color:#101426;}
.account-order-date{margin:8px 0 0;font-size:13px;color:#475569;}
.account-order-hero-meta{display:grid;justify-items:end;gap:10px;}
.account-order-customer p{font-size:13px;color:#334155;margin:0 0 6px;text-align:right;}
.account-order-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;}
.account-order-detail-block{border:1px solid #e8edf7;border-radius:14px;padding:14px;background:#fff;}
.account-order-detail-block h4{font-size:16px;margin:0 0 10px;}
.account-order-detail-block p{font-size:14px;color:#334155;margin:0 0 8px;}
.account-order-side{display:grid;gap:14px;align-content:start;}
.account-order-table-wrap{overflow-x:auto;}
.account-order-table{width:100%;border-collapse:collapse;min-width:420px;}
.account-order-table th,.account-order-table td{padding:10px 8px;border-bottom:1px solid #edf2f8;text-align:left;font-size:13px;color:#1f2937;vertical-align:top;}
.account-order-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;}
.account-order-totals{margin-top:12px;border-top:1px solid #e5eaf5;padding-top:10px;display:grid;gap:8px;}
.account-order-totals p{display:flex;justify-content:space-between;align-items:center;margin:0;font-size:14px;color:#334155;}
.account-order-totals p.grand{font-size:16px;color:#101426;padding-top:4px;border-top:1px dashed #d4ddeb;}
.account-item-dose{display:block;margin-top:2px;font-size:12px;color:#6b7280;}
.account-timeline{list-style:none;padding:0;display:grid;gap:8px;}
.account-timeline li{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:#f8faff;border:1px solid #e4ecfb;font-size:13px;color:#64748b;}
.account-timeline li.done{background:#ecfdf3;border-color:#bbf7d0;color:#166534;}
.account-timeline li.current{background:#eef2ff;border-color:#bfdbfe;color:#1c4379;font-weight:700;}
.account-timeline li small{font-size:12px;opacity:.9;}
.account-form{display:grid;gap:10px;}
.account-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.account-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#1f2937;}
.account-form input,.account-form textarea{width:100%;padding:12px;border:1px solid #d7dbe8;border-radius:10px;font-size:14px;font-family:inherit;}
.account-form textarea{resize:vertical;}
.account-form input:focus,.account-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(  28,  67,  121,.12);}
.account-form-actions{display:flex;gap:10px;flex-wrap:wrap;}
.account-checkbox-row{display:flex !important;align-items:center;gap:8px;}
.account-checkbox-row input{width:16px;height:16px;accent-color:var(--blue);}
.account-divider{border:none;border-top:1px solid #e5e7ef;margin:14px 0;}
.account-security-note p{font-size:14px;color:#334155;margin-bottom:8px;}
.account-address-list{display:grid;gap:12px;}
.account-address-card{border:1px solid #e5eaf5;border-radius:14px;padding:14px;background:#fafbff;display:grid;gap:8px;}
.account-address-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.account-address-head h4{font-size:15px;margin:0;}
.account-address-card p{font-size:14px;color:#334155;}
.account-default-badge{padding:4px 10px;border-radius:999px;background:#eef2ff;color:#1c4379;font-size:12px;font-weight:700;}
.account-address-actions{display:flex;gap:8px;flex-wrap:wrap;}
.account-locked .account-nav-item,
.account-locked .account-panel,
.account-locked #accountLogoutBtn{display:none !important;}

@media(max-width:720px){
	.policy-page-shell{padding:26px 24px 56px;}
	.policy-page-card{padding:24px;border-radius:22px;}
	.policy-page-card h1{font-size:34px;}
	.policy-copy h2{font-size:20px;}
	.account-page{padding:16px 0 50px;}
	.account-shell{grid-template-columns:1fr;gap:12px;}
	.account-sidebar{position:static;}
	.account-sidebar-head h1{font-size:26px;}
	.account-nav{grid-template-columns:1fr 1fr;}
	.account-nav-item{font-size:13px;padding:11px 10px;text-align:center;}
	.account-nav-item.danger{grid-column:1 / -1;}
	.account-main{gap:12px;}
	.account-head{flex-direction:column;align-items:flex-start;gap:8px;}
	.account-head h2{font-size:30px;}
	.account-summary-grid{grid-template-columns:1fr 1fr;}
	.account-summary-value{font-size:20px;}
	.account-card{padding:16px;}
	.account-card h3{font-size:20px;}
	.account-card-head{align-items:flex-start;}
	.account-order-head{flex-direction:column;align-items:flex-start;gap:8px;}
	.account-order-status{align-self:flex-start;}
	.account-order-meta{flex-direction:column;gap:6px;}
	.account-order-actions{justify-content:flex-start;}
	.account-order-hero{flex-direction:column;align-items:flex-start;}
	.account-order-hero-meta{justify-items:start;}
	.account-order-customer p{text-align:left;}
	.account-order-detail-grid{grid-template-columns:1fr;}
	.account-form-row{grid-template-columns:1fr;}
	.account-form .btn{width:100%;justify-content:center;}
	.account-form-actions{display:grid;grid-template-columns:1fr;}
	.account-form input,.account-form textarea{min-height:44px;}
	.account-form textarea{min-height:110px;}
}

/* Entry disclaimer modal */
.overlay{position:fixed;inset:0;background:rgba(16,20,38,.75);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;}
.overlay.hidden{display:none;}
.modal{background:#fff;border-radius:20px;max-width:520px;width:100%;padding:40px;box-shadow:0 30px 80px rgba(0,0,0,.4);}
.modal .ml{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:22px;margin-bottom:6px;}
.modal .ml .ic{width:34px;height:34px;background:var(--blue);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;}
.modal h2{font-size:26px;font-weight:800;letter-spacing:-.5px;margin:14px 0 8px;text-align:left;}
.modal p.intro{color:var(--muted);font-size:15px;margin-bottom:22px;}
.check{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;font-size:15px;line-height:1.4;cursor:pointer;}
.check input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue);cursor:pointer;}
.modal .field{margin-bottom:22px;}
.modal select{width:100%;padding:14px;border:1px solid #d7dbe8;border-radius:10px;font-size:15px;background:#fff;cursor:pointer;}
.modal select:focus{outline:none;border-color:var(--blue);}
.modal .enter{width:100%;justify-content:center;}
.modal .enter:disabled{background:#c3c8e0;cursor:not-allowed;}
.gate-hint{min-height:20px;margin-top:10px;color:#6b7280;font-size:13px;line-height:1.35;text-align:left;}
.modal .decline{display:block;text-align:center;color:var(--muted);font-size:13px;margin-top:16px;cursor:pointer;background:none;border:none;width:100%;}
.modal .legal{color:var(--muted);font-size:12px;margin-top:18px;text-align:center;}
body.locked{overflow:hidden;}

@media(max-width:720px){
	.overlay{align-items:flex-start;padding:14px;overflow:auto;-webkit-overflow-scrolling:touch;}
	.modal{padding:20px;max-height:calc(100dvh - 28px);overflow:auto;}
}

/* Interactive: cart, buttons, toast */
.icons span{cursor:pointer;transition:.15s;}
.icons span:hover{color:var(--blue);}
.cart-btn{position:relative;}
.cart-count{position:absolute;top:-8px;right:-10px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.card .body{display:flex;flex-direction:column;}
.add-btn{margin-top:14px;width:100%;padding:11px;border:none;border-radius:10px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:.15s;}
.add-btn:hover{background:#2536b8;}
.add-btn.added{background:#16a34a;}
.add-btn:disabled{opacity:.55;cursor:not-allowed;}
.product-modal{position:fixed;inset:0;background:rgba(16,20,38,.72);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1200;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.product-modal.show{opacity:1;pointer-events:auto;}
.product-modal-card{position:relative;background:#fff;border-radius:24px;max-width:760px;width:100%;padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.25);} 
.product-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;cursor:pointer;color:#666;}
.product-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;}
.product-modal-image{height:280px;border-radius:20px;background:linear-gradient(135deg,#eef1fc,#f7f8fd);} 
.product-modal-info h3{font-size:28px;margin:8px 0 6px;}
.product-modal-price{font-size:22px;font-weight:800;color:var(--blue);margin-bottom:12px;}
.product-modal-description{color:var(--muted);margin-bottom:16px;line-height:1.6;}
.product-stock-note{margin:-8px 0 12px;font-size:13px;font-weight:700;color:#475569;}
.product-stock-note.loading{color:#64748b;}
.product-stock-note.low-stock{color:#b45309;}
.product-stock-note.sold-out{color:#b91c1c;}
.product-modal-qty{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.product-modal-qty .qty-stepper{width:120px;border-radius:10px;}
.product-modal-qty .qty-stepper-btn{height:40px;}
.product-modal-qty .qty-stepper input{height:40px;font-size:15px;}
.drawer{position:fixed;top:0;right:0;height:100%;width:380px;max-width:90vw;background:#fff;box-shadow:-10px 0 40px rgba(0,0,0,.2);z-index:1100;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;}
.drawer.open{transform:translateX(0);}
.drawer-head{padding:22px 24px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;}
.drawer-head h3{font-size:20px;font-weight:800;}
.drawer-head .x{cursor:pointer;font-size:24px;color:#666;background:none;border:none;}
.drawer-body{flex:1;overflow-y:auto;padding:16px 24px;}
.cart-empty{color:var(--muted);text-align:center;margin-top:40px;}
.cart-item{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #f0f0f0;}
.cart-item .thumb{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,#eef1fc,#f7f8fd);flex:0 0 auto;}
.cart-item .info{flex:1;}
.cart-item .info .nm{font-weight:700;font-size:15px;}
.cart-item .info .pr{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:8px;}
.cart-item .info .pr .price-normal{color:#94a3b8;text-decoration:line-through;font-weight:700;}
.cart-item .info .pr .price-discount{color:var(--blue);font-weight:800;}
.qty{display:flex;align-items:center;gap:8px;margin-top:6px;}
.qty button{width:24px;height:24px;border:1px solid #d7dbe8;background:#fff;border-radius:6px;cursor:pointer;font-weight:700;}
.qty span{min-width:20px;text-align:center;font-weight:600;}
.cart-item .rm{color:#db2777;background:none;border:none;cursor:pointer;font-size:13px;}
.drawer-foot{padding:22px 24px;border-top:1px solid #eee;}
.drawer-foot .tot{display:flex;justify-content:space-between;font-weight:800;font-size:19px;margin-bottom:16px;}
.drawer-foot .cart-savings{flex-basis:100%;margin:-8px 0 12px;font-size:13px;font-weight:700;color:#166534;}
.drawer-foot .co{width:100%;justify-content:center;}
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1050;opacity:0;pointer-events:none;transition:.3s;}
.backdrop.show{opacity:1;pointer-events:auto;}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);background:var(--dark);color:#fff;padding:14px 24px;border-radius:12px;font-weight:600;z-index:1200;transition:transform .3s ease;box-shadow:0 12px 30px rgba(0,0,0,.3);}
.toast.show{transform:translateX(-50%) translateY(0);}

@media(max-width:1024px){
	.product-detail-shell{grid-template-columns:1fr;}
	.product-detail-copy h1{font-size:40px;}
	.grid-rail{grid-template-columns:1fr 1fr;}
}

@media(max-width:720px){
	.product-page{padding:22px 24px 56px;}
	.product-detail-media{min-height:360px;padding:22px;}
	.product-detail-orb{width:180px;height:180px;}
	.product-detail-copy{padding:24px;border-radius:24px;}
	.product-detail-copy h1{font-size:34px;}
	.product-detail-price{font-size:28px;}
	.product-detail-tabs-section{padding:22px;border-radius:22px;}
	.product-savings-chart{padding:18px;border-radius:18px;}
	.product-savings-chart h2{font-size:24px;}
	.rail-head{flex-direction:column;align-items:flex-start;}
	.rail-head h2{font-size:28px;}
	.grid-rail{grid-template-columns:1fr;}
	.product-detail-purchase{align-items:stretch;}
	.product-detail-inputs{width:100%;}
	.product-detail-actions{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
	.dose-options{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
	.product-detail-dose select,.product-detail-qty .qty-stepper,.product-detail-purchase .btn{width:100%;}
	.product-modal{padding:14px;}
	.product-modal-card{max-height:calc(100vh - 28px);overflow:auto;}
	.product-modal-body{grid-template-columns:1fr;align-items:flex-start;}
	.product-modal-image{height:220px;}
}

/* Account auth */
.icon-btn.signed-in{color:var(--blue);}
.auth-modal{position:fixed;inset:0;z-index:1300;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.auth-modal.show{opacity:1;pointer-events:auto;}
.auth-modal-backdrop{position:absolute;inset:0;background:rgba(16,20,38,.72);}
.auth-modal-card{position:relative;max-width:520px;width:calc(100% - 28px);margin:50px auto;background:#fff;border-radius:20px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.32);max-height:calc(100vh - 100px);overflow:auto;}
.auth-close{position:absolute;top:12px;right:12px;border:none;background:none;color:#6b7280;font-size:26px;cursor:pointer;line-height:1;}
.auth-modal-card h3{font-size:28px;line-height:1.1;margin-bottom:8px;letter-spacing:-.5px;}
.auth-sub{color:#6b7280;font-size:14px;margin-bottom:16px;}
.auth-tabs{display:flex;gap:8px;margin-bottom:14px;}
.auth-tab{flex:1;padding:10px 12px;border:1px solid #d7dbe8;background:#f8f9ff;color:#111;border-radius:10px;font-weight:700;cursor:pointer;}
.auth-tab.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.google-auth-btn{width:100%;padding:12px 14px;border:1px solid #d7dbe8;border-radius:10px;background:#fff;color:#111;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;}
.google-auth-btn:hover{border-color:#b8c2e4;background:#f8faff;}
.google-auth-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;}
.google-auth-icon svg{width:18px;height:18px;display:block;}
.auth-divider{position:relative;text-align:center;font-size:12px;color:#6b7280;margin:12px 0;}
.auth-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e5e7ef;}
.auth-divider span{position:relative;background:#fff;padding:0 10px;}
.auth-form{display:grid;gap:10px;}
.auth-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#1f2937;}
.auth-form input,.auth-form select{width:100%;padding:12px;border:1px solid #d7dbe8;border-radius:10px;font-size:14px;}
.auth-form input:focus,.auth-form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(  28,  67,  121,.12);}
.auth-form .btn{justify-content:center;margin-top:6px;}
.auth-message{min-height:20px;font-size:13px;margin-top:12px;}
.auth-message.error{color:#b42318;}
.auth-message.success{color:#166534;}
.signed-box{display:grid;gap:8px;padding:14px;border:1px solid #e5e7ef;border-radius:12px;background:#fafbff;}
.signed-box p{font-size:14px;color:#1f2937;}

.public-announcement-bar{background:var(--blue);color:#fff;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;padding:11px 20px;}
.public-header{position:sticky;top:0;background:rgba(255,255,255,.96);z-index:50;border-bottom:1px solid #e5ebf5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.public-header .nav{padding:16px 0;gap:18px;}
.public-menu{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700;color:#111827;}
.public-menu a:hover{color:var(--blue);}
.public-account-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #d7dbe8;border-radius:999px;color:#111827;background:#fff;transition:border-color .2s ease,color .2s ease,background-color .2s ease;}
.public-account-link:hover{border-color:var(--blue);color:var(--blue);background:#f8fbff;}
.public-account-link svg{width:20px;height:20px;display:block;}

.public-landing{min-height:calc(100vh - 220px);padding:44px 0 60px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 42%,#f8fafc 100%);display:flex;align-items:center;}
.public-hero{display:grid;grid-template-columns:minmax(0,760px);gap:28px;justify-content:center;align-items:center;width:100%;}
.public-hero-copy,.public-hero-card,.public-info-card{background:#fff;border:1px solid #e6ecf7;border-radius:24px;box-shadow:0 16px 38px rgba(15,23,42,.06);}
.public-hero-copy{padding:34px;text-align:center;}
.public-hero-copy h1{font-size:54px;line-height:1.02;letter-spacing:-1.4px;margin:18px auto 16px;max-width:640px;}
.public-hero-copy p{font-size:17px;line-height:1.7;color:#64748b;max-width:600px;margin:0 auto 24px;}
.public-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.public-hero-card{padding:28px;display:grid;gap:18px;}
.public-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0;}
.public-hero-card h2,.public-info-card h2{font-size:28px;line-height:1.08;letter-spacing:-.8px;margin:0;}
.public-hero-card p,.public-info-card p,.public-info-card li{font-size:15px;line-height:1.7;color:#475569;}
.public-checklist{display:grid;gap:10px;padding:0;margin:0;list-style:none;}
.public-checklist li{padding-left:28px;position:relative;}
.public-checklist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--blue);font-weight:800;}
.public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px;}
.public-info-card{padding:26px;}

.auth-page{background:#f4f6fb;min-height:100vh;display:flex;flex-direction:column;}
.auth-page-shell{flex:1;display:grid;place-items:center;padding:42px 16px 56px;}
.auth-page-card{width:min(100%,420px);background:#fff;border:1px solid #e2e8f3;border-radius:24px;box-shadow:0 18px 44px rgba(15,23,42,.08);padding:28px;}
.auth-page-card h1{font-size:34px;line-height:1.05;letter-spacing:-.8px;margin:0 0 8px;}
.auth-page-switch{font-size:14px;color:#64748b;margin:0 0 20px;}
.auth-page-switch a,.auth-inline-link{color:var(--blue);font-weight:700;}
.auth-page-switch a:hover,.auth-inline-link:hover{text-decoration:underline;}
.auth-page-form{display:grid;gap:12px;}
.auth-page-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#1f2937;}
.auth-page-form input,.auth-page-form select{width:100%;padding:13px 14px;border:1px solid #d7dbe8;border-radius:12px;font-size:14px;background:#fff;color:#111827;}
.auth-page-form input:focus,.auth-page-form select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(28,67,121,.12);}
.password-input-wrap{position:relative;display:flex;align-items:center;}
.password-input-wrap input{padding-right:48px;}
.password-toggle{position:absolute;right:10px;border:none;background:none;color:#64748b;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.password-toggle:hover{color:var(--blue);}
.auth-page-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#475569;}
.auth-page-row label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#475569;}
.auth-page-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--blue);}
.auth-page-helper{font-size:12px;line-height:1.65;color:#64748b;margin:2px 0 0;}
.auth-page-helper a{color:var(--blue);font-weight:700;}
.auth-inline-error{min-height:18px;font-size:12px;line-height:1.4;color:#b42318;}
.auth-page-message{min-height:20px;font-size:13px;line-height:1.5;margin-top:2px;}
.auth-page-message.error{color:#b42318;}
.auth-page-message.success{color:#166534;}
.auth-page-actions .btn,.auth-page-form .btn,.auth-page-form .google-auth-btn{width:100%;justify-content:center;}
.auth-page-divider{position:relative;text-align:center;font-size:12px;color:#64748b;margin:6px 0;}
.auth-page-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e5e7ef;}
.auth-page-divider span{position:relative;background:#fff;padding:0 10px;}
.auth-dev-link{margin-top:10px;font-size:12px;line-height:1.5;color:#475569;word-break:break-word;}
.auth-dev-link a{color:var(--blue);font-weight:700;}

/* Visual refresh: logo-aligned palette + sharper corners */
:root{--blue:#1c4379;--dark:#1f2937;--muted:#64748b;--bg:#f8fafc;--soft:#eef2f7;}

header{border-bottom:1px solid #dbe3ef;}
.notice-bar{background:#1f2937;}
.bar{background:var(--blue);}
.shop-banner{background:linear-gradient(135deg,#1c4379,#1c4379);}
footer{background:#1f2937;}

.btn{border-radius:8px;}
.pill,.tag,.rail-link,.policy-btn,.badge,.sort-select{border-radius:8px;}
.search-wrap,.menu-dropdown,.shop-hero-modern,.shop-banner{border-radius:10px;}

.product-card,.product-modal-card,.review-form,.tcard,.qa,.account-card,.policy-page-card{border-radius:12px;}
.product-card-media img,.hero-best-card,.hero-review-card,.product-detail-badge,.product-modal-image{border-radius:10px;}
.hero-best,.product-detail-copy,.product-detail-tabs-section,.product-savings-chart,.product-detail-media,.about .art{border-radius:12px;}
.drawer{border-radius:0;}

.product-detail-qty input,.product-detail-dose select,.review-form input,.review-form select,.review-form textarea,.field input,.auth-form input,.auth-form select,.account-form input,.account-form textarea,.product-modal-qty input{border-radius:8px;}

.mobile-nav-toggle{border-radius:8px;}
.menu-item:hover .menu-dropdown,.menu-item:focus-within .menu-dropdown,.menu-item.open .menu-dropdown{transform:translateY(0);}

@media(max-width:720px){
	.auth-modal-card{margin:20px auto;padding:18px;max-height:calc(100vh - 40px);}
	.auth-modal-card h3{font-size:24px;}
	.public-header .nav{padding:14px 0;}
	.public-menu{gap:14px;font-size:13px;}
	.public-hero{grid-template-columns:1fr;gap:18px;}
	.public-landing{min-height:calc(100vh - 180px);}
	.public-hero-copy,.public-hero-card,.public-info-card{padding:22px;border-radius:20px;}
	.public-hero-copy h1{font-size:36px;letter-spacing:-1px;}
	.public-hero-copy p{font-size:15px;}
	.public-grid{grid-template-columns:1fr;gap:14px;}
	.auth-page-shell{padding:26px 14px 42px;}
	.auth-page-card{padding:22px;border-radius:20px;}
	.auth-page-card h1{font-size:28px;}
	.product-card .product-card-media img{border-radius:0;}
}

/* Mobile optimization pass */
@media(max-width:900px){
	html{-webkit-text-size-adjust:100%;}
	body{overflow-x:hidden;}
	.container{max-width:100%;}
	#products #productGrid{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
	#products #productGrid .product-card{flex:0 0 min(280px,82vw);scroll-snap-align:start;}
	nav.menu{max-height:72vh;overflow:auto;-webkit-overflow-scrolling:touch;}
	.menu-dropdown{max-height:42vh;overflow:auto;-webkit-overflow-scrolling:touch;}
	.savings-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

@media(max-width:430px){
	.product-detail-actions{grid-template-columns:1fr;}
	.btn,.icon-btn,.mobile-nav-toggle,.hero-best-arrow,.pill,.policy-btn{min-height:44px;}
	input,select,textarea{font-size:16px;}
	.search-wrap{min-height:44px;}
	.search-wrap.active input{width:118px;}
	.product-modal-card,.auth-modal-card{max-height:calc(100vh - 24px);overflow:auto;}
	.drawer{height:100dvh;}
	.review-collage,.section,.about,.product-page,.policy-page-shell,.account-page{overflow-x:clip;}
	.product-card-actions .btn{min-height:42px;}
	.toast{max-width:calc(100% - 20px);}
}

/* iPhone tuning: preserve desktop-like proportions and density */
@media(max-width:430px){
	.container{padding:0 16px;}
	.section{padding:44px 0;}
	.section h2{font-size:28px;}
	.section .sub{font-size:14px;margin-bottom:24px;}

	.hero{padding:28px 0 20px;gap:20px;}
	.hero h1{font-size:36px;line-height:1.06;letter-spacing:-1.1px;margin:14px 0 16px;}
	.hero p{font-size:15px;line-height:1.6;margin-bottom:18px;}
	.btns{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;}
	.btn{font-size:14px;padding:12px 16px;justify-content:center;}
	.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;padding-top:20px;}
	.stats .n{font-size:clamp(11px,3.4vw,14px);line-height:1.16;letter-spacing:-.1px;white-space:normal;}
	.stats .l{font-size:10px;line-height:1.28;}

	.hero-best{margin-top:10px;padding:12px;}
	.hero-best-slider{padding:0 12px;}
	.hero-best-arrow{width:30px;height:30px;font-size:14px;}
	.hero-best-card{padding:0;}
	.hero-best-title{font-size:12px;}

	.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
	.page-shop .grid-shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
	.grid-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
	/* 2 x 2: reveal the 4th card so the grid has no empty cell. */
	.grid-rail > :nth-child(4){display:flex;}
	/* "View All" spans the rail, flush with the grid edges below it. */
	.rail-head{align-items:stretch;}
	.rail-link{width:100%;align-self:stretch;}
	.product-card{border-radius:18px;}
	.product-card-media{height:auto;aspect-ratio:19/10;padding:0;}
	.product-card-body{padding:12px;gap:8px;}
	.product-card h3{font-size:16px;line-height:1.2;}
	.product-card .excerpt{font-size:13px;line-height:1.5;}
	.product-card-actions{flex-direction:row;gap:8px;}
	.product-card-actions .btn{padding:10px 10px;font-size:12px;}

	body.cart-open{overflow:hidden;}
	.shop-banner{padding:18px 14px 14px;}
	.shop-banner h1{font-size:36px;letter-spacing:.1em;}
	.shop-banner p{font-size:14px;}
	.checkout-section{padding-top:14px;}
	.review-collage{padding:14px 0 16px;}
	.review-collage-track{padding-inline:12px;}
	.hero-review-card{flex-basis:74vw;}

	.product-page{padding:18px 0 46px;}
	.product-detail-media{min-height:280px;}
	.product-detail-copy{padding:20px;}
	.checkout-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:22px;align-items:start;}
	.checkout-main{display:grid;gap:16px;}
	.checkout-side{position:sticky;top:104px;display:grid;gap:14px;}
	.checkout-card{background:#fff;border:1px solid #e6ecf7;border-radius:16px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.05);}
	.product-detail-copy h1{font-size:30px;}
	.product-detail-price{font-size:26px;}
	.product-detail-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;line-height:1.15;}
	.checkout-card-head{margin-bottom:14px;}
	.product-detail-price .price-normal{margin-right:0;font-size:.62em;}
	.product-detail-dose select{font-size:14px;padding:12px;}
	.product-detail-qty .qty-stepper input{font-size:14px;}
	.dose-option{font-size:14px;padding:12px;}
	.product-savings-chart{padding:14px;border-radius:16px;}
	.product-savings-chart h2{font-size:21px;}
	.product-savings-chart .sub{font-size:13px;line-height:1.5;}
	.savings-table{min-width:0;table-layout:fixed;}
	.savings-table th,.savings-table td{padding:9px 6px;font-size:12px;}
	.savings-table th{font-size:10px;letter-spacing:.04em;}

	.policy-page-shell{padding:26px 0 48px;}
	.policy-page-card{padding:22px;border-radius:20px;}
	.policy-page-card h1{font-size:30px;}
}

@media(max-width:393px){
	.checkout-main .co{width:100%;justify-content:center;}
	.stats{gap:8px;}
	.stats .n{font-size:10.5px;line-height:1.15;}
	.checkout-summary-items{margin-top:0;gap:10px;max-height:46vh;overflow:auto;padding-right:2px;}
	.stats .l{font-size:9.5px;line-height:1.25;}
}

/* ============================================================
   MOBILE PHONE OPTIMIZATION (<=480px) - shop page category list
   Turn the sidebar vertical/2-col pill list into a single
   horizontal scrollable row (matches homepage strip behavior).
   ============================================================ */
@media (max-width: 480px) {
  .shop-categories {
    position: static;
    padding: 12px;
    overflow: hidden;
    max-width: 100%;
  }
  .shop-categories .pill-list.pill-list-vertical {
    display: flex !important;
    grid-template-columns: none !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    gap: 8px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    max-width: 100%;
  }
  .shop-categories .pill-list.pill-list-vertical::-webkit-scrollbar {
    height: 0 !important;
    width: 0 !important;
    display: none !important;
    background: transparent !important;
  }
  .shop-categories .pill-list.pill-list-vertical .pill {
    width: auto !important;
    flex: 0 0 auto;
    white-space: nowrap;
    justify-content: center;
    scroll-snap-align: start;
  }
}

/* Mobile quantity selector fixes */
@media (max-width: 720px) {
  .product-detail-qty .qty-stepper,
  .product-modal-qty .qty-stepper {
    width: max-content;
    max-width: 100%;
    justify-self: start;
  }
	/* keep the quantity number solid black + fully opaque on mobile */
	.product-detail-qty .qty-stepper input,
	.product-modal-qty .qty-stepper input,
	.qty-stepper input {
		color: #000;
		-webkit-text-fill-color: #000;
		opacity: 1;
	}
}
@media (pointer: coarse) {
  .qty-stepper {
    touch-action: manipulation;
  }
  .qty-stepper-btn {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  .qty-stepper input {
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    font-size: 16px;
  }
}

/* Cart and checkout refresh overrides */
body.cart-open{overflow:hidden;}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

.checkout-section{padding-top:14px;}
.checkout-head{margin-bottom:20px;}
.checkout-head h1{font-size:44px;line-height:1.04;letter-spacing:-.03em;}
.checkout-item-count{margin-top:8px;font-size:13px;color:#475569;font-weight:600;}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:22px;align-items:start;}
.checkout-layout.is-empty{grid-template-columns:minmax(0,1fr);}
.checkout-main{display:grid;gap:16px;}
.checkout-side{position:sticky;top:104px;display:grid;gap:14px;}
.checkout-card{border-radius:16px;}
.checkout-cart-card{display:grid;gap:14px;}
.checkout-free-ship{border:1px solid #d9e3f5;background:#f8fbff;border-radius:12px;padding:10px 12px;}
.checkout-free-ship p{font-size:13px;font-weight:700;color:#1c4379;line-height:1.35;}
.checkout-free-ship-track{margin-top:8px;height:8px;border-radius:999px;background:#dce7f6;overflow:hidden;}
.checkout-free-ship-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1c4379,#2f62ad);transition:width .4s cubic-bezier(.4,0,.2,1);}
.checkout-free-ship-track.is-qualified span{background:linear-gradient(90deg,#16a34a,#22c55e);}
.checkout-free-ship-track.is-qualified{background:#dcfce7;}
.shipping-free-badge{display:inline-block;font-size:13px;font-weight:700;color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:6px;padding:1px 8px;letter-spacing:.02em;}
.account-shipping-free{font-weight:700;color:#15803d;}
.checkout-summary-items{max-height:46vh;}
.checkout-summary-item{padding:14px 0;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;}
.checkout-summary-item .thumb{width:64px;height:64px;border-radius:12px;}
.checkout-summary-content{display:grid;gap:4px;}
.checkout-summary-content.is-pending{opacity:.65;}
.checkout-summary-name{font-size:15px;line-height:1.3;}
.checkout-summary-each{font-size:12px;}
.checkout-stock-warning{margin:2px 0 0;font-size:12px;color:#9a3412;font-weight:700;}
.checkout-summary-qty{margin-top:8px;display:inline-flex;align-items:center;gap:8px;border:1px solid #d5deec;border-radius:10px;padding:4px 6px;background:#fbfdff;}
.checkout-summary-qty button{width:30px;height:30px;border:1px solid #d0d9ea;border-radius:8px;background:#fff;font-size:18px;line-height:1;}
.checkout-summary-qty button:disabled{opacity:.5;cursor:not-allowed;}
.checkout-summary-qty span{min-width:22px;font-size:14px;}
.checkout-summary-remove{margin-top:7px;color:#9f1239;font-weight:700;}
.checkout-summary-remove:disabled{opacity:.5;cursor:not-allowed;}
.checkout-summary-price{font-size:15px;padding-top:0;}
.checkout-cart-footer-links{padding-top:6px;border-top:1px solid #edf2f8;}
.checkout-continue-link{font-size:13px;font-weight:700;color:#1c4379;text-decoration:none;}
.checkout-continue-link:hover{text-decoration:underline;}
.checkout-totals-card{display:grid;gap:12px;}
.checkout-continue-card{padding:14px;}
.checkout-continue-card .co{width:100%;justify-content:center;}
.checkout-totals{gap:10px;}
.checkout-tax-note{margin:0;font-size:12px;color:#64748b;line-height:1.4;}
.checkout-promo-applied{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:#f3f8ff;border:1px solid #d5e5ff;}
.checkout-promo-applied span{font-size:12px;font-weight:700;color:#1c4379;letter-spacing:.03em;text-transform:uppercase;}
.checkout-promo-remove{border:none;background:transparent;color:#9f1239;font-size:12px;font-weight:700;cursor:pointer;padding:2px 0;}
.checkout-empty-state{padding:28px 22px;text-align:center;display:grid;justify-items:center;align-content:center;gap:10px;min-height:clamp(320px,58vh,560px);}
.checkout-empty-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#1c4379;}
.checkout-empty-icon svg{width:28px;height:28px;}
.checkout-empty-state h2{font-size:30px;line-height:1.1;letter-spacing:-.02em;margin:2px 0;}
.checkout-empty-state p{margin:0;color:#64748b;max-width:44ch;}
.checkout-empty-state .co{margin-top:6px;min-width:220px;}
.page-checkout.is-empty-cart .checkout-head{margin-bottom:12px;}
.page-checkout.is-empty-cart .checkout-main{max-width:100%;}
.page-checkout.is-empty-cart .checkout-empty-state{width:100%;}
.page-checkout button:focus-visible,
.page-checkout a:focus-visible,
.page-checkout input:focus-visible{outline:2px solid #1c4379;outline-offset:2px;}
.page-checkout .btn.is-disabled{opacity:.65;cursor:not-allowed;}

.drawer{width:440px;max-width:calc(100vw - 24px);box-shadow:-18px 0 48px rgba(15,23,42,.22);z-index:1210;transform:translateX(104%);transition:transform .28s ease;overflow:hidden;}
.drawer-head{padding:18px 22px;border-bottom:1px solid #e8edf7;background:#fff;}
.drawer-head h2{font-size:16px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#1e293b;}
.drawer-head .x{color:#475569;line-height:1;}
.mini-cart-progress{margin:14px 22px 0;border:1px solid #d7e3f4;background:#f8fbff;border-radius:12px;padding:10px 12px;}
.mini-cart-progress p{font-size:13px;font-weight:700;color:#1c4379;line-height:1.3;}
.mini-cart-progress-track{margin-top:8px;height:8px;border-radius:999px;background:#dce7f6;overflow:hidden;}
.mini-cart-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#1c4379,#2f62ad);transition:width .4s cubic-bezier(.4,0,.2,1);}
.mini-cart-progress-track.is-qualified span{background:linear-gradient(90deg,#16a34a,#22c55e);}
.mini-cart-progress-track.is-qualified{background:#dcfce7;}
.drawer-body{padding:12px 22px 16px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;}
.cart-item{border-bottom:1px solid #edf2f8;}
.cart-item .thumb{width:56px;height:56px;border-radius:12px;background-size:cover;background-position:center;border:1px solid #e2e8f0;}
.drawer-foot{padding:14px 12px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e8edf7;background:#fff;flex:0 0 auto;margin-top:auto;position:sticky;bottom:0;z-index:2;box-shadow:0 -12px 22px rgba(15,23,42,.06);}
.mini-cart-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch;width:100%;}
.mini-cart-actions > a,
.mini-cart-actions > button{
	width:100%;
	min-height:48px;
	height:48px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:12px 14px;
	border-radius:12px;
	font-size:14px;
	font-weight:700;
	line-height:1;
}
.mini-cart-actions > a:focus-visible,
.mini-cart-actions > button:focus-visible{
	outline:2px solid #1c4379;
	outline-offset:2px;
}
.cart-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:1200;opacity:0;pointer-events:none;transition:opacity .2s ease;}
.cart-overlay.show{opacity:1;pointer-events:auto;}

@media(max-width:720px){
	.checkout-head h1{font-size:36px;}
	.checkout-item-count{font-size:12px;}
	.checkout-layout{grid-template-columns:1fr;gap:14px;}
	.checkout-side{position:static;top:auto;}
	.checkout-summary-items{max-height:none;}
	.checkout-summary-item{grid-template-columns:56px minmax(0,1fr);gap:10px;}
	.checkout-summary-item .thumb{width:56px;height:56px;}
	.checkout-summary-price{grid-column:2;justify-self:end;}
	.checkout-empty-state{padding:28px 16px;}
	.checkout-empty-state h2{font-size:26px;}
	.checkout-promo-row{grid-template-columns:1fr;}
	#applyPromoBtn{width:100%;justify-content:center;}
	.drawer{width:100%;max-width:100%;}
	.drawer-head,.drawer-body,.drawer-foot{padding-left:16px;padding-right:16px;}
	.mini-cart-progress{margin:12px 16px 0;}
	.mini-cart-actions{grid-template-columns:1fr;gap:12px;}
}

@media(max-width:420px){
	.checkout-head h1{font-size:32px;}
	.checkout-card{padding:12px;}
	.checkout-summary-qty button{width:32px;height:32px;}
	.checkout-summary-remove{font-size:13px;}
	.checkout-empty-state .co{width:100%;min-width:0;}
	.page-checkout.is-empty-cart .checkout-head{margin-bottom:10px;}
}

@media (prefers-reduced-motion: reduce){
	.checkout-free-ship-track span,
	.mini-cart-progress-track span{transition:width .4s cubic-bezier(.4,0,.2,1);}
}

body.dark-mode .checkout-free-ship{background:#10213d;border-color:#26497f;}
body.dark-mode .checkout-free-ship p{color:#d5e5ff;}
body.dark-mode .checkout-free-ship-track{background:#20365f;}
body.dark-mode .mini-cart-progress{background:#10213d;border-color:#26497f;}
body.dark-mode .mini-cart-progress p{color:#dbe7ff;}
body.dark-mode .mini-cart-progress-track{background:#20365f;}
body.dark-mode .cart-overlay{background:rgba(2,6,23,.7);}
body.dark-mode .checkout-empty-icon{background:#13284b;color:#cfe0ff;}
body.dark-mode .checkout-promo-applied{background:#10213d;border-color:#294d87;}
body.dark-mode .checkout-promo-applied span{color:#d3e5ff;}

.address-suggestion{padding:14px 0;}
.address-suggestion-head{margin-bottom:12px;}
.address-verified-badge{display:inline-block;font-size:12px;font-weight:700;color:#15803d;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;padding:4px 12px;margin-bottom:8px;}
.address-suggestion-lead{font-size:13px;color:#374151;margin:6px 0 0;}
.address-suggestion-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;}
.address-suggestion-card{border:1px solid #dbe3f2;border-radius:12px;padding:14px;background:#f9fbff;}
.address-suggestion-card.is-suggested{border-color:#15803d;background:#f0fdf4;}
.address-suggestion-card h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 8px;}
.address-suggestion-body{font-style:normal;font-size:14px;line-height:1.5;color:#1e293b;}
.address-suggestion-actions{display:flex;flex-wrap:wrap;gap:10px;}
@media(max-width:600px){.address-suggestion-cols{grid-template-columns:1fr;}}

/* GLP-3RT only: its source image is 1:1 while every other product image is ~19:10.
   On mobile the card media box is 19/10 with object-fit:contain, so the square image
   letterboxes and shows empty side gutters. Its own backdrop is a purely vertical
   gradient (uniform left-to-right), so we repaint that exact gradient on the media box
   behind the gutters: the card reads edge-to-edge with the whole vial still visible -
   nothing cropped, scaled, stretched or repositioned. */
@media (max-width: 720px) {
	.product-card-media:has(img[alt^="GLP-3RT"]) {
		background: linear-gradient(180deg,
			#e6e5ea 0%,
			#e9e7ed 10%,
			#edebf1 20%,
			#f4f3f7 30%,
			#f7f7f9 40%,
			#f7f7f9 50%,
			#f9f9fb 62%,
			#f9fafc 72%,
			#f7f7f9 82%,
			#f7f7f9 92%,
			#f6f6f8 100%);
	}
}

/* Quantity Savings chart relocated inside the product purchase box */
.product-detail-copy .product-detail-purchase .product-savings-chart{flex:1 1 100%;width:100%;max-width:100%;min-width:0;margin:20px 0 0;padding:18px 0 0;background:transparent;border:0;border-top:1px solid #edf0f6;border-radius:0;box-shadow:none;}
.product-detail-copy .product-detail-purchase .product-savings-chart h2{font-size:19px;line-height:1.2;letter-spacing:-.2px;text-align:left;margin:0 0 6px;}
.product-detail-copy .product-detail-purchase .product-savings-chart .sub{font-size:13px;line-height:1.5;margin:0 0 12px;max-width:none;}
.product-detail-copy .product-detail-purchase .savings-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.product-detail-copy .product-detail-purchase .savings-table{width:100%;min-width:0;table-layout:fixed;}
.product-detail-copy .product-detail-purchase .savings-table th,.product-detail-copy .product-detail-purchase .savings-table td{padding:9px 8px;font-size:13px;}
.product-detail-copy .product-detail-purchase .savings-table th{font-size:11px;letter-spacing:.05em;}
body.dark-mode .product-detail-copy .product-detail-purchase .product-savings-chart{background:transparent;border:0;border-top:1px solid #223154;box-shadow:none;}
@media(max-width:560px){
.product-detail-copy .product-detail-purchase .product-savings-chart{margin-top:16px;padding-top:14px;}
.product-detail-copy .product-detail-purchase .product-savings-chart h2{font-size:17px;}
.product-detail-copy .product-detail-purchase .savings-table th,.product-detail-copy .product-detail-purchase .savings-table td{padding:8px 6px;font-size:12px;}
.product-detail-copy .product-detail-purchase .savings-table th{font-size:10px;letter-spacing:.04em;}
}

/* Consolidated checkout summary: shipping method, payment, agreements, place order */
.page-checkout .checkout-side{position:static;top:auto;}
.checkout-totals > .checkout-summary-shipping{display:block;}
.checkout-summary-shipping,.checkout-summary-payment,.checkout-agreements{min-width:0;}
.checkout-summary-shipping{margin:4px 0 2px;padding-top:12px;border-top:1px dashed #d5deeb;}
.checkout-summary-payment{margin-top:14px;padding-top:14px;border-top:1px solid #edf2f8;}
.checkout-summary-subhead{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#475569;margin:0 0 10px;}
.checkout-summary-shipping .shipping-rates-state{margin:0 0 8px;}
.checkout-summary-shipping .shipping-rates-list,.checkout-summary-payment .checkout-payments{width:100%;}
.checkout-summary-shipping .shipping-rate-card,.checkout-summary-payment .checkout-payment-option{width:100%;min-width:0;}
.checkout-summary-payment .zelle-instructions{margin-top:12px;}
.checkout-agreements{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f8;}
.checkout-agreement{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.55;color:#475569;cursor:pointer;}
.checkout-agreement input[type="checkbox"]{flex:0 0 auto;width:16px;height:16px;margin-top:2px;accent-color:var(--blue);cursor:pointer;}
.checkout-agreement > span{min-width:0;overflow-wrap:anywhere;}
.checkout-agreement a{color:var(--blue);text-decoration:underline;font-weight:700;}
.checkout-agreements.is-invalid .checkout-agreement{color:#b42318;}
.checkout-agreements.is-invalid input[type="checkbox"]{outline:2px solid #f04438;outline-offset:2px;}
.checkout-agreement-hint{font-size:12px;color:#b45309;margin:0;}
.checkout-side .btn.primary.co{width:100%;justify-content:center;}
body.dark-mode .checkout-summary-shipping{border-top-color:#223154;}
body.dark-mode .checkout-summary-payment,body.dark-mode .checkout-agreements{border-top-color:#223154;}
body.dark-mode .checkout-summary-subhead{color:#9fb4dd;}
body.dark-mode .checkout-agreement{color:#c7d4f0;}
body.dark-mode .checkout-agreement a{color:#7fb1ff;}
body.dark-mode .checkout-agreement-hint{color:#f3c07b;}
@media(max-width:720px){
.checkout-summary-shipping,.checkout-summary-payment,.checkout-agreements{margin-top:12px;padding-top:12px;}
.checkout-agreement{font-size:12px;}
}

/* ── Card rail ───────────────────────────────────────────────────────────── */
.card-panel{margin-top:14px;}
.card-frame-wrap{border:1px solid #dbe3ef;border-radius:8px;background:#fff;padding:12px;min-height:64px;}
.card-frame-boot{color:var(--muted);font-size:14px;padding:10px 2px;}
.card-msg{margin-top:8px;font-size:14px;color:#127c2b;min-height:18px;}
.card-msg.is-error{color:#b00020;}
.card-note{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.45;}
.checkout-payment-option--disabled{opacity:.55;}
.checkout-payment-option--disabled input{cursor:not-allowed;}
body.dark-mode .card-frame-wrap{background:#0b1220;border-color:rgba(125,211,252,.22);}
body.dark-mode .card-note,body.dark-mode .card-frame-boot{color:#93a4c4;}

/* 3DS challenge: a backdrop only. The card frame itself is restyled in place —
   it is never moved in the DOM, because re-parenting an iframe reloads it and
   would destroy the bank's challenge mid-flight. */
.threeds-overlay{position:fixed;inset:0;z-index:2147482000;}
.threeds-overlay[hidden]{display:none;}
.threeds-backdrop{position:absolute;inset:0;background:rgba(8,12,24,.62);backdrop-filter:blur(2px);}
.threeds-panel{position:absolute;left:50%;top:calc(50% - min(320px,44vh) - 74px);transform:translateX(-50%);
  text-align:center;color:#fff;width:min(440px,94vw);}
.threeds-title{font-size:16px;font-weight:700;margin-bottom:4px;}
.threeds-sub{font-size:13px;opacity:.85;}
/* === order confirmation page (scoped: .page-order-confirm) === */
.page-order-confirm{max-width:820px;margin:0 auto;padding:0 24px;}
.page-order-confirm .oc-wrap{padding:44px 0 64px;display:flex;flex-direction:column;gap:14px;}
.page-order-confirm .oc-head{text-align:center;margin-bottom:6px;}
.page-order-confirm .oc-check{width:46px;height:46px;margin:0 auto 16px;border-radius:50%;border:2px solid #16a34a;color:#16a34a;display:flex;align-items:center;justify-content:center;}
.page-order-confirm .oc-check svg{width:22px;height:22px;}
.page-order-confirm .oc-title{font-size:28px;line-height:1.15;letter-spacing:-.01em;margin:0 0 8px;color:var(--dark);}
.page-order-confirm .oc-sub{margin:0;font-size:15px;line-height:1.55;color:var(--muted);}
.page-order-confirm .oc-card{background:#fff;border:1px solid #e6e9f0;border-radius:14px;box-shadow:0 1px 2px rgba(16,20,38,.04);}
.page-order-confirm .oc-summary{padding:18px 20px;}
.page-order-confirm .oc-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #eef0f5;}
.page-order-confirm .oc-item:first-child{padding-top:2px;}
.page-order-confirm .oc-item:last-child{border-bottom:0;padding-bottom:14px;}
.page-order-confirm .oc-thumb{width:82px;height:82px;flex:0 0 82px;border-radius:10px;object-fit:cover;background:var(--soft);border:1px solid #eef0f5;}
.page-order-confirm .oc-item-info{flex:1 1 auto;min-width:0;}
.page-order-confirm .oc-item-name{font-size:15px;font-weight:700;line-height:1.3;color:var(--dark);overflow-wrap:anywhere;}
.page-order-confirm .oc-item-variant{font-weight:600;color:var(--muted);}
.page-order-confirm .oc-item-qty{margin-top:5px;font-size:13px;color:var(--muted);}
.page-order-confirm .oc-item-price{margin-left:auto;font-size:15px;font-weight:700;color:var(--dark);white-space:nowrap;}
.page-order-confirm .oc-totals{border-top:1px solid #eef0f5;padding-top:14px;display:flex;flex-direction:column;gap:10px;}
.page-order-confirm .oc-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:14px;color:var(--muted);}
.page-order-confirm .oc-row > span:last-child{color:var(--dark);font-weight:600;white-space:nowrap;}
.page-order-confirm .oc-row-total{border-top:1px solid #eef0f5;margin-top:2px;padding-top:14px;font-size:17px;font-weight:800;color:var(--dark);}
.page-order-confirm .oc-row-total > span:last-child{font-size:18px;font-weight:800;}
.page-order-confirm .oc-info{display:flex;align-items:center;gap:14px;padding:14px 18px;}
.page-order-confirm .oc-info-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--soft);color:var(--muted);display:flex;align-items:center;justify-content:center;}
.page-order-confirm .oc-info-icon svg{width:17px;height:17px;}
.page-order-confirm .oc-info-text{display:flex;flex-direction:column;gap:3px;min-width:0;}
.page-order-confirm .oc-info-label{font-size:12px;line-height:1.2;color:var(--muted);}
.page-order-confirm .oc-info-value{font-size:15px;font-weight:700;line-height:1.25;color:var(--dark);overflow-wrap:anywhere;}
.page-order-confirm .oc-cta{width:100%;justify-content:center;margin-top:12px;padding:15px 24px;font-size:15px;border-radius:12px;}
.page-order-confirm .oc-link{display:block;text-align:center;padding:10px 8px 0;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;}
.page-order-confirm .oc-link:hover{color:var(--blue);}
.page-order-confirm .oc-note{margin:0;padding:10px 0;font-size:14px;color:var(--muted);}
.page-order-confirm .zelle-conf-panel{margin:0;}
@media(max-width:640px){
  .page-order-confirm{padding:0 18px;}
  .page-order-confirm .oc-wrap{padding:28px 0 44px;gap:12px;}
  .page-order-confirm .oc-check{width:42px;height:42px;margin-bottom:14px;}
  .page-order-confirm .oc-title{font-size:23px;}
  .page-order-confirm .oc-sub{font-size:14px;}
  .page-order-confirm .oc-summary{padding:14px 16px;}
  .page-order-confirm .oc-item{gap:12px;padding:12px 0;}
  .page-order-confirm .oc-thumb{width:74px;height:74px;flex-basis:74px;}
  .page-order-confirm .oc-item-name{font-size:14px;}
  .page-order-confirm .oc-item-qty{font-size:12px;}
  .page-order-confirm .oc-item-price{font-size:14px;}
  .page-order-confirm .oc-row-total{font-size:16px;}
  .page-order-confirm .oc-row-total > span:last-child{font-size:17px;}
  .page-order-confirm .oc-info{padding:12px 14px;gap:12px;}
  .page-order-confirm .oc-cta{padding:14px 20px;}
}
body.dark-mode .page-order-confirm .oc-card{background:#0f172b;border-color:#223154;box-shadow:none;}
body.dark-mode .page-order-confirm .oc-item{border-bottom-color:#1c2a49;}
body.dark-mode .page-order-confirm .oc-totals,body.dark-mode .page-order-confirm .oc-row-total{border-top-color:#1c2a49;}
body.dark-mode .page-order-confirm .oc-title,body.dark-mode .page-order-confirm .oc-item-name,body.dark-mode .page-order-confirm .oc-item-price,body.dark-mode .page-order-confirm .oc-info-value,body.dark-mode .page-order-confirm .oc-row > span:last-child,body.dark-mode .page-order-confirm .oc-row-total{color:#eef4ff;}
body.dark-mode .page-order-confirm .oc-sub,body.dark-mode .page-order-confirm .oc-item-qty,body.dark-mode .page-order-confirm .oc-info-label,body.dark-mode .page-order-confirm .oc-row,body.dark-mode .page-order-confirm .oc-note,body.dark-mode .page-order-confirm .oc-item-variant{color:#a8b7d8;}
body.dark-mode .page-order-confirm .oc-thumb,body.dark-mode .page-order-confirm .oc-info-icon{background:#0b1222;border-color:#223154;}
/* === end order confirmation page === */
