:root {
  --cyan: #019ebb;
  --cyan-light: #61c1db;
  --navy: #10203b;
  --ice: #edfafd;
  --cream: #f8f7f2;
  --ink: #112039;
  --muted: #627080;
  --line: rgba(16, 32, 59, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
#produkty, #situace, #balicky, #duvera, #poradna, #kontakt { scroll-margin-top:92px; }
body { margin: 0; background: #fff; color: var(--ink); font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }

.topbar { background: var(--navy); color: #fff; font-size: 12px; letter-spacing: .04em; }
.topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; opacity: .9; }
.header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); box-shadow: 0 10px 30px rgba(16,32,59,.09); backdrop-filter: blur(16px); transition:box-shadow .3s, background .3s; }
.header.is-scrolled { background:rgba(255,255,255,.98); box-shadow:0 15px 38px rgba(16,32,59,.15); }
.nav { height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 14px; position:relative; transition:height .35s ease; }
.header.is-scrolled .nav { height:48px; }
.brand-logo-shell { width: 126px; height: 36px; position:relative; display:block; flex:0 0 auto; transition:width .45s cubic-bezier(.2,.8,.2,1), height .45s cubic-bezier(.2,.8,.2,1); }
.brand-logo-shell img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:left center; transition:opacity .3s, transform .45s cubic-bezier(.2,.8,.2,1); }
.brand-logo-symbol { opacity:0; transform:scale(.65) rotate(-16deg); }
.header.is-scrolled .brand-logo-shell { width:36px; height:36px; }
.header.is-scrolled .brand-logo-full { opacity:0; transform:scale(.72) translateX(-12px); }
.header.is-scrolled .brand-logo-symbol { opacity:1; transform:scale(1) rotate(0); }
.desktop-nav { position:absolute; left:50%; transform:translateX(-50%); display: flex; align-items: center; justify-content:center; gap: clamp(11px, 1.4vw, 23px); font-size: clamp(10.5px, 1vw, 13px); font-weight: 750; white-space:nowrap; }
.desktop-nav a { position: relative; }
.desktop-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:2px; background:var(--cyan); transition:.25s; }
.desktop-nav a:hover:after { right:0; }
.desktop-nav > a.is-active, .nav-dropdown.is-active > .nav-dropdown-trigger { color:var(--cyan); }
.desktop-nav > a.is-active:after, .nav-dropdown.is-active > .nav-dropdown-trigger:after { right:0; height:3px; border-radius:3px; }
.nav-actions { display: flex; align-items: center; gap: 8px; margin-left:auto; }
.icon-action, .mobile-menu { border: 0; background: transparent; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; color: var(--ink); }
.phone-action { font-size: 11px; font-weight: 700; padding-right: 7px; }
.cart { position: relative; width: 36px; height: 36px; justify-content: center; border: 1px solid var(--line); border-radius: 50%; }
.account-nav { position:relative; padding:9px 0; margin:-9px 0; }
.account-action { width:36px; height:36px; justify-content:center; border:1px solid var(--line); border-radius:50%; background:#fff; }
.account-action:hover { color:var(--cyan); border-color:rgba(1,158,187,.35); }
.account-nav-menu { position:absolute; top:calc(100% + 5px); right:-48px; width:260px; padding:15px; display:grid; gap:5px; border:1px solid rgba(16,32,59,.09); border-radius:17px; background:rgba(255,255,255,.98); box-shadow:0 22px 55px rgba(16,32,59,.17); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s,transform .2s,visibility .2s; backdrop-filter:blur(14px); }
.account-nav-menu:before { content:""; position:absolute; left:0; right:0; top:-12px; height:13px; }
.account-nav:hover .account-nav-menu,.account-nav:focus-within .account-nav-menu { opacity:1; visibility:visible; transform:translateY(0); }
.account-nav-menu > span { color:var(--cyan); text-transform:uppercase; letter-spacing:.12em; font-size:9px; font-weight:900; }
.account-nav-menu > strong { margin-bottom:7px; color:var(--navy); font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.account-nav-menu > a { min-height:40px; padding:0 11px; display:flex; align-items:center; gap:9px; border-radius:10px; color:var(--navy); font-size:12px; font-weight:800; }
.account-nav-menu > a:hover { color:var(--cyan); background:var(--ice); }
.account-nav-menu > a svg { width:16px; }
.cart-count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; border-radius: 20px; background: var(--cyan); color: #fff; display:grid; place-items:center; font-size:10px; font-weight:800; }
.mobile-menu { display: none; }
.mobile-nav-backdrop { position:fixed; inset:0; z-index:69; border:0; background:rgba(7,17,31,.48); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s,visibility .25s; backdrop-filter:blur(2px); }
.mobile-nav-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.mobile-nav-panel { position:fixed; z-index:70; top:0; right:0; width:min(380px,92vw); height:100dvh; padding:0 22px 24px; display:flex; flex-direction:column; background:#fff; box-shadow:-28px 0 70px rgba(16,32,59,.23); transform:translateX(105%); visibility:hidden; transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility .3s; }
.mobile-nav-panel.is-open { transform:translateX(0); visibility:visible; }
.mobile-nav-header { min-height:76px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.mobile-nav-header strong { font-size:22px; }
.mobile-nav-header button { width:40px; height:40px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--navy); }
.mobile-nav-panel nav { flex:1 1 auto; padding:16px 0; display:grid; align-content:start; gap:2px; overflow-y:auto; }
.mobile-nav-panel nav > span { margin:17px 10px 6px; color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.mobile-nav-panel nav > span:first-child { margin-top:0; }
.mobile-nav-panel nav a { min-height:42px; padding:0 10px; display:flex; align-items:center; border-radius:10px; font-size:13px; font-weight:800; }
.mobile-nav-panel nav a:hover { color:var(--cyan); background:var(--ice); }
.mobile-nav-phone { min-height:50px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:999px; color:#fff; background:var(--navy); font-size:13px; font-weight:850; }
.cart-backdrop { position:fixed; inset:0; z-index:90; border:0; background:rgba(7,17,31,.48); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s,visibility .25s; backdrop-filter:blur(2px); }
.cart-backdrop.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.cart-drawer { position:fixed; z-index:100; top:0; right:0; width:min(440px,100%); height:100dvh; display:flex; flex-direction:column; background:#fff; box-shadow:-28px 0 70px rgba(16,32,59,.23); transform:translateX(105%); visibility:hidden; transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility .32s; }
.cart-drawer.is-open { transform:translateX(0); visibility:visible; }
.cart-drawer-header { min-height:96px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.cart-drawer-header span { color:var(--cyan); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.cart-drawer-header h2 { margin:3px 0 0; font-size:25px; }
.cart-drawer-header button { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--navy); cursor:pointer; }
.cart-empty { margin:auto 0; padding:36px; text-align:center; }
.cart-empty > span { width:72px; height:72px; margin:0 auto 20px; border-radius:50%; display:grid; place-items:center; background:var(--ice); color:var(--cyan); }
.cart-empty h3 { margin:0 0 9px; font-size:22px; }
.cart-empty p { margin:0 auto 22px; max-width:310px; color:var(--muted); font-size:13px; line-height:1.65; }
.cart-empty a { min-height:48px; padding:0 19px; border-radius:999px; display:inline-flex; align-items:center; background:var(--navy); color:#fff; font-size:12px; font-weight:850; }
.cart-items { flex:1 1 auto; padding:8px 24px; overflow-y:auto; }
.cart-item { position:relative; padding:16px 30px 16px 0; display:grid; grid-template-columns:82px 1fr; gap:14px; border-bottom:1px solid var(--line); }
.cart-item-image { width:82px; height:82px; padding:6px; border-radius:14px; display:grid; place-items:center; background:var(--ice); }
.cart-item-image img { width:100%; height:100%; object-fit:contain; }
.cart-item-copy { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.cart-item-copy > a { font-size:13px; font-weight:850; }
.cart-item-copy > strong { font-size:15px; }
.cart-item-controls { height:30px; display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:999px; }
.cart-item-controls button { width:30px; height:30px; border:0; display:grid; place-items:center; background:#fff; color:var(--navy); cursor:pointer; }
.cart-item-controls span { min-width:25px; text-align:center; font-size:11px; font-weight:850; }
.cart-remove { position:absolute; right:0; top:18px; border:0; background:transparent; color:#9aa7b8; cursor:pointer; }
.cart-shipping-status { margin:12px 24px; padding:14px; display:flex; align-items:center; gap:12px; border-radius:15px; background:var(--ice); color:var(--cyan); }
.cart-shipping-status div { display:grid; gap:3px; }
.cart-shipping-status strong { color:var(--navy); font-size:12px; }
.cart-shipping-status span { color:var(--muted); font-size:10px; }
.cart-totals { padding:20px 24px 26px; border-top:1px solid var(--line); box-shadow:0 -12px 30px rgba(16,32,59,.04); }
.cart-totals > div { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:15px; }
.cart-totals > div strong { font-size:22px; }
.cart-totals small { display:block; margin:7px 0 16px; color:var(--muted); }
.cart-checkout-button { width:100%; min-height:52px; border:0; border-radius:999px; display:flex; align-items:center; justify-content:center; background:var(--cyan); color:#fff; font-weight:850; cursor:pointer; }
.nav-dropdown { position:relative; padding:16px 0; margin:-16px 0; }
.nav-dropdown-trigger { display:flex; align-items:center; gap:4px; }
.nav-dropdown-trigger svg { transition:transform .22s; }
.nav-dropdown-menu { position:absolute; top:calc(100% + 7px); left:50%; min-width:230px; padding:10px; border:1px solid rgba(16,32,59,.09); border-radius:16px; background:rgba(255,255,255,.98); box-shadow:0 22px 55px rgba(16,32,59,.17); opacity:0; visibility:hidden; transform:translate(-50%,-9px); transition:opacity .2s, transform .25s, visibility .2s; backdrop-filter:blur(14px); }
.nav-dropdown-menu:before { content:""; position:absolute; left:0; right:0; top:-12px; height:13px; }
.nav-dropdown-menu a { display:block; padding:10px 12px; border-radius:9px; font-size:12px; color:var(--ink); transition:background .18s, color .18s, transform .18s; }
.nav-dropdown-menu a:after { display:none; }
.nav-dropdown-menu a:hover { background:var(--ice); color:var(--cyan); transform:translateX(3px); }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-dropdown:hover .nav-dropdown-trigger svg, .nav-dropdown:focus-within .nav-dropdown-trigger svg { transform:rotate(180deg); }
.desktop-nav .contact-button { padding:0; border-radius:0; background:transparent; color:inherit; box-shadow:none; }
.desktop-nav .contact-button:after { display:block; }
.desktop-nav .contact-button:hover { background:transparent; transform:none; }

.hero { position: relative; overflow: hidden; background: linear-gradient(110deg, var(--navy) 0 49%, #f2fbfd 49% 100%); min-height: 650px; }
.hero:after { content:""; position:absolute; inset:auto 0 0 50%; height:35%; background: linear-gradient(0deg,rgba(97,193,219,.17),transparent); pointer-events:none; }
.hero-grid { min-height: 650px; display:grid; grid-template-columns: 44% 56%; position:relative; z-index:1; }
.hero-copy { color:#fff; display:flex; flex-direction:column; justify-content:center; padding: 42px 68px 38px 0; }
.eyebrow, .kicker { text-transform: uppercase; font-size: 12px; font-weight: 850; letter-spacing: .17em; color: var(--cyan); }
.eyebrow { color:#bceffa; display:flex; align-items:center; gap:10px; }
.eyebrow span { width:34px; height:2px; background:var(--cyan-light); }
h1,h2,h3,p { margin-top:0; }
.hero h1 { margin: 19px 0 22px; font-family: Impact, "Arial Narrow", sans-serif; font-weight: 500; font-size: clamp(60px, 6.2vw, 92px); line-height: 1.1; text-transform: uppercase; letter-spacing: .025em; }
.hero h1 em { color: var(--cyan-light); font-style:normal; }
.hero-copy > p { max-width: 550px; margin-bottom:29px; color:#d5dde8; font-size:17px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { min-height:52px; padding:0 23px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; font-size:14px; font-weight:800; transition: transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--cyan); color:#fff; box-shadow:0 12px 30px rgba(1,158,187,.28); }
.button.primary:hover { background:#02abc9; }
.button.secondary { color:#fff; border:1px solid rgba(255,255,255,.28); }
.hero-proof { display:flex; align-items:center; gap:13px; margin-top:36px; }
.hero-proof p { margin:0; color:#aebbd0; font-size:12px; line-height:1.5; }
.hero-proof strong { color:#fff; }
.avatars { width:49px; height:49px; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--navy); border:4px solid rgba(255,255,255,.18); font-weight:900; font-size:13px; }

.hero-visual { position:relative; min-width:0; display:flex; align-items:center; justify-content:center; }
.hero-visual:before { content:""; position:absolute; width:480px; height:480px; background:radial-gradient(circle,#fff 0 52%,rgba(97,193,219,.24) 53%,transparent 70%); border-radius:50%; }
.orbit { position:absolute; border:1px solid rgba(1,158,187,.22); border-radius:50%; }
.orbit-one { width:540px; height:540px; }
.orbit-two { width:640px; height:640px; border-style:dashed; animation:spin 30s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.product-stage { position:relative; width:100%; height:560px; }
.hero-product { position:absolute; object-fit:contain; opacity:0; filter:drop-shadow(0 28px 24px rgba(16,32,59,.18)); will-change:transform,opacity; }
.hero-product-left { width:39%; height:auto; left:7%; top:90px; transform:rotate(-9deg); }
.hero-product-center { width:43%; height:auto; left:29%; top:42px; z-index:3; }
.hero-product-right { width:38%; height:auto; right:1%; top:105px; transform:rotate(8deg); }
.product-stage.is-static .hero-product { opacity:1; }
.product-stage.is-ready .hero-product-left { animation:hero-enter-left .82s cubic-bezier(.2,.8,.2,1) .08s forwards; }
.product-stage.is-ready .hero-product-center { animation:hero-enter-top .88s cubic-bezier(.2,.8,.2,1) .22s forwards; }
.product-stage.is-ready .hero-product-right { animation:hero-enter-right .82s cubic-bezier(.2,.8,.2,1) .38s forwards; }
@keyframes hero-enter-left { from { opacity:0; transform:translate3d(-62vw,25px,0) scale(.78) rotate(-20deg); } to { opacity:1; transform:translate3d(0,0,0) scale(1) rotate(-9deg); } }
@keyframes hero-enter-top { from { opacity:0; transform:translate3d(0,-58vh,0) scale(.8) rotate(3deg); } to { opacity:1; transform:translate3d(0,0,0) scale(1) rotate(0deg); } }
@keyframes hero-enter-right { from { opacity:0; transform:translate3d(62vw,25px,0) scale(.78) rotate(20deg); } to { opacity:1; transform:translate3d(0,0,0) scale(1) rotate(8deg); } }
.floating-label { position:absolute; z-index:5; top:74px; right:32px; padding:9px 15px; border-radius:999px; background:#fff; color:var(--cyan); text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:900; box-shadow:0 8px 30px rgba(16,32,59,.1); transform:rotate(5deg); }
.floating-note { position:absolute; z-index:5; left:45px; bottom:72px; display:flex; align-items:center; gap:8px; padding:13px 17px; background:rgba(255,255,255,.88); color:var(--navy); border:1px solid #fff; border-radius:15px; box-shadow:0 15px 35px rgba(16,32,59,.12); font-size:12px; font-weight:800; backdrop-filter:blur(10px); }
.floating-note svg { color:var(--cyan); }

.trust-strip { background:#fff; border-bottom:1px solid var(--line); box-shadow:0 8px 24px rgba(16,32,59,.04); }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); min-height:108px; align-items:center; }
.trust-grid > div { display:flex; align-items:center; gap:14px; padding:0 34px; border-right:1px solid var(--line); }
.trust-grid > div:first-child { padding-left:0; }
.trust-grid > div:last-child { border-right:0; }
.trust-icon { flex:0 0 42px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--ice); color:var(--cyan); font-weight:900; }
.trust-grid p { margin:0; line-height:1.35; }
.trust-grid strong { display:block; font-size:13px; }
.trust-grid small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }

.section { padding:30px 0; }
.products-section { background:#fff; padding-top:26px; }
.section-heading { margin-bottom:26px; }
.split-heading { display:grid; grid-template-columns:1fr 420px; align-items:end; gap:30px; }
.section-heading h2, .bundle-copy h2, .story-grid h2 { font-family:Impact, "Arial Narrow", sans-serif; text-transform:uppercase; font-weight:500; letter-spacing:.01em; font-size:clamp(40px,5vw,64px); line-height:1.12; margin:12px 0 0; }
.split-heading > p { color:var(--muted); line-height:1.65; margin:0 0 4px; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product-card { border:1px solid var(--line); border-radius:26px; overflow:hidden; background:#fff; transition:transform .25s, box-shadow .25s; }
.product-card:hover { transform:translateY(-6px); box-shadow:0 24px 55px rgba(16,32,59,.1); }
.card-media { height:365px; position:relative; display:grid; place-items:center; overflow:hidden; }
.product-card.ice .card-media { background:linear-gradient(145deg,#f2fcff,#dff7fb); }
.product-card.aqua .card-media { background:linear-gradient(145deg,#e8f9fb,#caedf3); }
.product-card.night .card-media { background:linear-gradient(145deg,#eaf7fa,#d0eef4); }
.card-media:after { content:""; position:absolute; width:250px; height:250px; border-radius:50%; border:1px solid rgba(1,158,187,.18); }
.card-media > a { position:relative; z-index:2; width:100%; height:100%; display:grid; place-items:center; }
.card-media img { position:relative; width:auto; height:70%; max-width:72%; object-fit:contain; filter:drop-shadow(0 18px 16px rgba(16,32,59,.15)); }
.product-card.ice .card-media img { height:61%; max-width:63%; transform:translateY(-12px); }
.product-card.aqua .card-media img, .product-card.night .card-media img { height:70%; max-width:72%; transform:translateY(7px); }
.card-chip { position:absolute; z-index:4; left:18px; top:18px; padding:8px 11px; background:rgba(255,255,255,.82); border-radius:999px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--navy); backdrop-filter:blur(8px); }
.heart-button { position:absolute; z-index:4; right:16px; top:16px; width:38px; height:38px; display:grid; place-items:center; border:0; border-radius:50%; background:#fff; color:var(--navy); cursor:pointer; }
.card-copy { padding:24px; }
.card-copy > span { color:var(--cyan); font-size:11px; font-weight:800; }
.card-copy h3 { font-size:22px; margin:7px 0 9px; letter-spacing:-.02em; }
.card-copy > p { min-height:46px; color:var(--muted); font-size:13px; line-height:1.6; }
.card-buy { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); padding-top:18px; }
.card-buy strong { font-size:20px; }
.card-buy > a { display:flex; align-items:center; gap:8px; border:0; border-radius:999px; background:var(--navy); color:#fff; padding:11px 15px; font-size:12px; font-weight:800; cursor:pointer; }

.needs-section { background:var(--cream); }
.centered { text-align:center; max-width:700px; margin-left:auto; margin-right:auto; }
.centered p { color:var(--muted); margin:16px auto 0; }
.needs-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.need-card { min-height:165px; padding:24px; border-radius:20px; background:#fff; border:1px solid rgba(16,32,59,.08); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; transition:.25s; }
.need-card:hover { border-color:var(--cyan-light); transform:translateY(-4px); }
.need-card > span { width:50px; height:50px; border-radius:14px; display:grid; place-items:center; background:var(--ice); color:var(--cyan); font-size:20px; }
.need-card > span svg { width:29px; height:29px; }
.need-card h3 { margin:0 0 7px; font-size:16px; }
.need-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.need-card > svg { color:var(--cyan); }

.bundle-section { padding-top:38px; background:#fff; }
.bundle-card { min-height:580px; border-radius:34px; overflow:hidden; background:linear-gradient(120deg,#0d1c35,#14385b); color:#fff; display:grid; grid-template-columns:48% 52%; position:relative; }
.bundle-card:before { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(97,193,219,.18); border-radius:50%; right:-130px; top:-150px; }
.bundle-copy { padding:42px 0 38px 74px; position:relative; z-index:2; }
.kicker.light { color:#84d7e8; }
.bundle-copy h2 { font-size:clamp(42px,4.5vw,62px); margin:14px 0 22px; }
.bundle-copy > p { max-width:500px; color:#c4d1df; line-height:1.65; }
.bundle-copy ul { list-style:none; padding:0; margin:25px 0 30px; display:grid; gap:12px; color:#e3edf6; font-size:13px; }
.bundle-copy li { display:flex; align-items:center; gap:10px; }
.bundle-copy li svg { color:var(--cyan-light); }
.button.white { background:#fff; color:var(--navy); }
.bundle-image { position:relative; display:grid; place-items:center; min-width:0; }
.bundle-image img { width:88%; height:88%; object-fit:contain; filter:drop-shadow(0 30px 30px rgba(0,0,0,.28)); position:relative; z-index:2; }

.story-section { background:#fff; padding-bottom:56px; }
.story-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:end; }
.story-grid h2 { margin-top:13px; }
.story-grid p { color:var(--muted); font-size:17px; line-height:1.75; }
.story-grid a { display:inline-flex; align-items:center; gap:8px; color:var(--cyan); font-size:13px; font-weight:800; }
.home-advice-section { background:#f8fcfd; scroll-margin-top:80px; }
.home-advice-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:58px; align-items:center; }
.home-advice-copy h2 { max-width:590px; margin:12px 0 16px; font-family:Impact,"Arial Narrow",sans-serif; text-transform:uppercase; font-weight:500; font-size:clamp(40px,4.6vw,62px); line-height:1.12; letter-spacing:.01em; }
.home-advice-copy p { max-width:550px; margin-bottom:23px; color:var(--muted); font-size:15px; line-height:1.7; }
.home-advice-copy .button.primary { background:var(--navy); color:#fff; }
.home-advice-copy .button.primary:hover { background:#182d4d; }
.home-advice-links { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.home-advice-links > a { min-height:126px; padding:20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; border:1px solid rgba(16,32,59,.08); border-radius:20px; background:#fff; box-shadow:0 14px 35px rgba(16,32,59,.05); transition:transform .22s,border-color .22s,box-shadow .22s; }
.home-advice-links > a:hover { transform:translateY(-3px); border-color:rgba(1,158,187,.4); box-shadow:0 18px 38px rgba(16,32,59,.09); }
.home-advice-links > a > svg:first-child { width:42px; height:42px; padding:10px; border-radius:13px; background:var(--ice); color:var(--cyan); }
.home-advice-links > a > svg:last-child { width:18px; color:var(--cyan); }
.home-advice-links span { display:grid; gap:5px; }
.home-advice-links strong { font-size:14px; }
.home-advice-links small { color:var(--muted); font-size:11px; line-height:1.45; }
.contact-section { background:var(--navy); color:#fff; padding:26px 0; scroll-margin-top:90px; }
.contact-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.contact-inner h2 { margin:8px 0 0; font-family:Impact, "Arial Narrow", sans-serif; text-transform:uppercase; font-weight:500; font-size:34px; line-height:1.12; letter-spacing:.02em; }
.contact-actions { display:flex; gap:12px; flex-wrap:wrap; }
.contact-actions a { min-height:48px; display:inline-flex; align-items:center; gap:9px; padding:0 19px; border-radius:999px; background:#fff; color:var(--navy); font-size:13px; font-weight:850; }
.contact-actions a:last-child { background:var(--cyan); color:#fff; }
.scroll-to-top { position:fixed; z-index:60; right:24px; bottom:24px; width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:var(--cyan); color:#fff; box-shadow:0 14px 30px rgba(16,32,59,.25); border:3px solid #fff; transition:transform .2s,background .2s; }
.scroll-to-top:hover { transform:translateY(-3px); background:var(--navy); }
.whatsapp-inline-icon, .footer-whatsapp-icon, .contact-whatsapp-icon { flex:0 0 auto; object-fit:contain; }

/* Product and bundle detail pages */
.detail-page { background:#fff; }
.detail-hero { padding:18px 0 36px; background:linear-gradient(135deg,#f8fdfe,#eaf8fb); overflow:hidden; }
.back-link { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; font-weight:750; margin-bottom:15px; }
.detail-hero-grid { display:grid; grid-template-columns:54% 46%; align-items:center; min-height:550px; }
.detail-product-visual { height:510px; position:relative; display:grid; place-items:center; overflow:hidden; }
.detail-product-visual:before { content:""; position:absolute; width:440px; height:440px; background:#fff; border-radius:50%; box-shadow:0 30px 80px rgba(16,32,59,.08); }
.detail-orbit { position:absolute; width:535px; height:535px; border:1px dashed rgba(1,158,187,.23); border-radius:50%; }
.detail-product-visual img { width:64%; height:64%; object-fit:contain; position:relative; z-index:2; filter:drop-shadow(0 20px 20px rgba(16,32,59,.15)); }
.product-gallery-carousel { min-width:0; padding-bottom:10px; align-self:start; margin-top:-8px; }
.gallery-main { position:absolute; inset:0; z-index:3; width:100%; height:100%; padding:18px 82px 96px; box-sizing:border-box; border:0; background:transparent; display:grid; place-items:center; cursor:zoom-in; overflow:hidden; }
.gallery-image-frame { position:relative; display:block; width:100%; height:100%; }
.gallery-main .gallery-image-frame img { inset:0; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; object-position:center; position:absolute; transform:none; transition:opacity .2s ease, transform .3s ease; }
.gallery-main:hover img { transform:scale(1.012); }
.gallery-expand { position:absolute; right:8%; bottom:8%; z-index:5; display:flex; align-items:center; gap:7px; padding:9px 12px; border-radius:999px; background:rgba(255,255,255,.88); color:var(--navy); box-shadow:0 8px 25px rgba(16,32,59,.1); font-size:10px; font-weight:850; backdrop-filter:blur(10px); }
.gallery-arrow { position:absolute; top:50%; z-index:6; width:44px; height:44px; margin-top:-22px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.9); color:var(--navy); display:grid; place-items:center; cursor:pointer; box-shadow:0 10px 25px rgba(16,32,59,.09); }
.gallery-arrow.previous { left:4%; }
.gallery-arrow.next { right:4%; }
.gallery-arrow:hover { background:var(--cyan); color:#fff; }
.gallery-thumbnails { min-height:82px; margin-top:4px; padding:5px 8px 8px; display:flex; justify-content:center; gap:9px; overflow-x:auto; scrollbar-width:thin; position:relative; z-index:8; }
.gallery-thumbnails button { flex:0 0 76px; width:76px; height:76px; padding:5px; border:1px solid var(--line); border-radius:13px; background:#fff; cursor:pointer; opacity:.68; transition:opacity .2s,border-color .2s,transform .2s; }
.gallery-thumbnails button:hover, .gallery-thumbnails button.is-active { opacity:1; border-color:var(--cyan); transform:translateY(-2px); }
.gallery-thumbnail-frame { position:relative; display:block; width:100%; height:100%; }
.gallery-thumbnails .gallery-thumbnail-frame img { inset:0; width:100%; height:100%; object-fit:contain; object-position:center; position:absolute; }
.gallery-lightbox { position:fixed; inset:0; z-index:200; padding:45px 90px; background:rgba(7,17,31,.94); display:grid; place-items:center; backdrop-filter:blur(10px); }
.gallery-lightbox[hidden] { display:none; }
.gallery-lightbox > img { max-width:90vw; max-height:86vh; width:auto; height:auto; object-fit:contain; filter:drop-shadow(0 30px 60px rgba(0,0,0,.4)); }
.gallery-lightbox > span { position:absolute; bottom:20px; color:#fff; font-size:12px; font-weight:800; }
.lightbox-close, .lightbox-arrow { position:absolute; z-index:3; width:48px; height:48px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(255,255,255,.1); color:#fff; display:grid; place-items:center; cursor:pointer; }
.lightbox-close { top:24px; right:26px; }
.lightbox-arrow { top:50%; margin-top:-24px; }
.lightbox-arrow.previous { left:25px; }
.lightbox-arrow.next { right:25px; }
.lightbox-close:hover, .lightbox-arrow:hover { background:var(--cyan); }
.detail-summary { padding:30px 0 30px 30px; position:relative; z-index:2; }
.detail-summary h1 { margin:13px 0 7px; font-family:Impact,"Arial Narrow",sans-serif; font-weight:500; text-transform:uppercase; font-size:clamp(54px,6vw,82px); line-height:1.1; }
.detail-summary h2 { max-width:520px; font-size:21px; line-height:1.35; margin-bottom:20px; }
.detail-summary > p { max-width:560px; color:var(--muted); font-size:15px; line-height:1.72; }
.detail-price { margin:27px 0 17px; font-size:30px; font-weight:900; color:var(--navy); }
.detail-price small { display:block; font-size:10px; color:var(--muted); font-weight:600; margin-top:3px; }
.detail-purchase { display:flex; gap:11px; }
.quantity { height:52px; display:flex; align-items:center; border:1px solid var(--line); border-radius:999px; background:#fff; overflow:hidden; }
.quantity button { width:42px; height:100%; border:0; background:transparent; cursor:pointer; font-size:19px; }
.quantity span { width:25px; text-align:center; font-weight:800; }
.add-to-cart { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 24px; border:0; border-radius:999px; background:var(--cyan); color:#fff; font-weight:850; cursor:pointer; box-shadow:0 12px 28px rgba(1,158,187,.24); }
.detail-delivery { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:17px; color:var(--muted); font-size:11px; font-weight:750; }
.detail-delivery > span { display:flex; align-items:center; gap:8px; min-height:38px; }
.detail-delivery svg { box-sizing:content-box; flex:0 0 auto; width:18px; height:18px; padding:8px; border:1px solid rgba(1,158,187,.2); border-radius:50%; background:#fff; color:var(--cyan); box-shadow:0 7px 18px rgba(16,32,59,.05); }
.detail-service-logo { box-sizing:border-box; flex:0 0 auto; width:36px; height:36px; display:grid; place-items:center; overflow:hidden; border:1.5px solid var(--cyan); border-radius:50%; background:#fff; box-shadow:0 7px 18px rgba(16,32,59,.05); }
.detail-service-logo img { width:100%; height:100%; object-fit:contain; }
.detail-service-logo.is-packeta img { object-fit:cover; }
.detail-service-logo.is-global-payments img { width:88%; height:88%; }
.detail-pharmacy-availability { margin-top:12px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.detail-pharmacy-availability > span { color:var(--muted); font-size:10px; font-weight:800; }
.detail-pharmacy-availability > div { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.detail-pharmacy-logo { width:46px; height:46px; padding:5px; display:grid; place-items:center; overflow:hidden; border:1.5px solid var(--cyan); border-radius:50%; background:#fff; box-shadow:0 6px 16px rgba(16,32,59,.05); transition:transform .2s ease,box-shadow .2s ease; }
.detail-pharmacy-logo:hover { transform:translateY(-3px); box-shadow:0 10px 22px rgba(16,32,59,.1); }
.detail-pharmacy-availability img { width:88%; height:74%; object-fit:contain; }
.detail-benefits { padding:22px 0 24px; }
.detail-heading { max-width:760px; margin-bottom:18px; }
.detail-heading h2, .detail-two-column h2, .bundle-value-grid h2 { font-family:Impact,"Arial Narrow",sans-serif; font-weight:500; text-transform:uppercase; font-size:clamp(42px,5vw,66px); line-height:1.12; margin:12px 0 0; }
.detail-benefits .detail-heading { max-width:none; display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); align-items:end; gap:24px; }
.detail-benefits .detail-heading h2 { margin:0; font-size:clamp(36px,4vw,52px); }
.benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.benefit-grid > div { min-height:76px; padding:15px 17px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; border:0; border-radius:15px; }
.benefit-grid > div:nth-child(3n+1) { background:var(--navy); color:#fff; }
.benefit-grid > div:nth-child(3n+2) { background:var(--cyan); color:#fff; }
.benefit-grid > div:nth-child(3n+3) { background:#e8f8fb; color:var(--navy); }
.benefit-grid span { color:var(--cyan-light); font-size:10px; font-weight:900; letter-spacing:.1em; }
.benefit-grid > div:nth-child(3n+2) span { color:#fff; }
.benefit-grid > div:nth-child(3n+3) span { color:var(--cyan); }
.benefit-grid strong { font-size:13px; line-height:1.35; }
.detail-situations { padding:7px 0; background:#f5fbfc; }
.detail-two-column { display:grid; grid-template-columns:.8fr 1.2fr; gap:12px; align-items:stretch; }
.detail-two-column > div:first-child { padding:22px; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.detail-two-column p { color:var(--muted); line-height:1.7; }
.check-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.check-list > div { min-height:62px; padding:15px; display:flex; align-items:center; gap:10px; border-radius:14px; background:#fff; font-size:13px; font-weight:750; }
.check-list svg { flex:0 0 auto; color:var(--cyan); }
.detail-info { padding:7px 0; background:#f5fbfc; }
.info-grid { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:12px; }
.info-grid article { min-height:0; height:auto; padding:18px 20px; border-radius:15px; background:var(--navy); color:#fff; }
.info-grid article:nth-child(2) { background:var(--cyan); }
.info-grid article:nth-child(3) { grid-column:1 / -1; background:#e8f8fb; color:var(--navy); }
.info-grid svg { width:21px; height:21px; color:var(--cyan-light); }
.info-grid article:nth-child(2) svg { color:#fff; }
.info-grid h3 { margin:7px 0 7px; font-size:20px; }
.info-grid p, .info-grid ol { margin:0; color:rgba(255,255,255,.76); font-size:14px; line-height:1.5; }
.info-grid p { padding-left:0; }
.info-grid article:nth-child(3) ol { counter-reset:usage-step; padding:0; color:var(--muted); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.info-grid article:nth-child(3) ol { grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); }
.info-grid article:nth-child(3) li { counter-increment:usage-step; min-width:0; min-height:64px; padding:10px; display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:8px; border:1px solid rgba(1,158,187,.12); border-radius:12px; background:#fff; list-style:none; line-height:1.4; }
.info-grid article:nth-child(3) li::before { content:counter(usage-step); width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:#e8f8fb; color:var(--cyan); font-size:10px; font-weight:900; }

/* Jemné značkové grafiky v čistých textových sekcích. */
.products-section,
.story-section,
.home-advice-section,
.detail-benefits,
.detail-info,
.bundle-overview-list,
.content-section,
.about-values,
.certificates-section,
.advice-topics,
.faq-section,
.process-section,
.contact-page-section,
.company-contact { position:relative; isolation:isolate; overflow:hidden; }
.products-section > .shell,
.story-section > .shell,
.home-advice-section > .shell,
.detail-benefits > .shell,
.detail-info > .shell,
.bundle-overview-list > .shell,
.content-section > .shell,
.about-values > .shell,
.certificates-section > .shell,
.advice-topics > .shell,
.faq-section > .shell,
.process-section > .shell,
.contact-page-section > .shell,
.company-contact > .shell { position:relative; z-index:1; }
.products-section::before,
.story-section::before,
.home-advice-section::before,
.detail-benefits::before,
.detail-info::before,
.bundle-overview-list::before,
.content-section::before,
.about-values::before,
.certificates-section::before,
.advice-topics::before,
.faq-section::before,
.process-section::before,
.contact-page-section::before,
.company-contact::before { content:""; position:absolute; z-index:0; pointer-events:none; background-repeat:no-repeat; background-position:center; background-size:contain; opacity:.16; }
.products-section::before { width:390px; height:390px; right:-28px; top:-72px; background-image:url("/decor/dermaplick-bear-cropped.png"); }
.story-section::before { width:390px; height:300px; right:-60px; top:-35px; background-image:url("/decor/spiranto-bear-cropped.png"); }
.home-advice-section::before {
  display:block;
  inset:0;
  width:100%;
  height:100%;
  background:linear-gradient(112deg,
    rgba(1,158,187,.16) 0%,
    rgba(1,158,187,.12) 45%,
    rgba(97,193,219,.22) 45.15%,
    rgba(97,193,219,.10) 56%,
    rgba(97,193,219,0) 82%);
  background-size:cover;
  opacity:1;
}
.detail-page { --detail-watermark:url("/decor/dermaplick-bear-cropped.png"); }
.detail-page.product-happy-mom-touch { --detail-watermark:url("/decor/happy-mom-bears-cropped.png"); }
.detail-page.product-spiranto-patch { --detail-watermark:url("/decor/spiranto-bear-cropped.png"); }
.detail-benefits::before { width:440px; height:330px; right:-88px; top:16px; background-image:var(--detail-watermark); }
.detail-info::before { width:300px; height:230px; left:-72px; bottom:-52px; background-image:var(--detail-watermark); }
.bundle-overview-list::before { width:390px; height:300px; right:-62px; top:12px; background-image:url("/decor/dermaplick-bear-cropped.png"); }
.content-section::before { width:380px; height:300px; right:-86px; top:15px; background-image:url("/decor/dermaplick-bear-cropped.png"); }
.about-values::before { width:360px; height:275px; left:-70px; bottom:-72px; background-image:url("/decor/dermaplick-bear-cropped.png"); }
.certificates-section::before { display:none; }
.advice-topics::before { display:none; }
.faq-section::before { width:380px; height:290px; right:-65px; bottom:-62px; background-image:url("/decor/spiranto-bear-cropped.png"); }
.process-section::before { width:330px; height:250px; right:-75px; top:-35px; background-image:url("/decor/dermaplick-bear-cropped.png"); }
.contact-page-section::before { display:none; }
.company-contact::before { display:none; }
.detail-gallery { padding:40px 0 52px; background:#f7fcfd; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.gallery-grid > div { height:390px; border-radius:23px; overflow:hidden; background:#fff; border:1px solid var(--line); }
.gallery-grid img { width:100%; height:100%; object-fit:contain; transition:transform .35s; }
.gallery-grid > div:hover img { transform:scale(1.04); }
.product-bundle-strip { padding:15px 0 12px; border-bottom:1px solid rgba(16,32,59,.07); background:#edf9fb; }
.product-bundle-strip-heading { margin-bottom:10px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.product-bundle-strip-heading > div { display:flex; align-items:baseline; gap:13px; }
.product-bundle-strip-heading .kicker { white-space:nowrap; }
.product-bundle-strip-heading h2 { margin:0; font-size:17px; line-height:1.2; }
.product-bundle-strip-heading > a { color:var(--cyan); font-size:10px; font-weight:850; white-space:nowrap; }
.product-bundle-strip-list { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.product-bundle-mini-card { min-width:0; height:116px; padding:7px 9px 7px 6px; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:5px; overflow:hidden; border:1px solid rgba(16,32,59,.08); border-radius:15px; background:#fff; box-shadow:0 7px 20px rgba(16,32,59,.045); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.product-bundle-mini-card:hover { transform:translateY(-3px); border-color:rgba(1,158,187,.35); box-shadow:0 10px 24px rgba(16,32,59,.09); }
.product-bundle-mini-image { width:72px; height:94px; display:grid; place-items:center; overflow:hidden; border-radius:11px; background:linear-gradient(145deg,#f7fdfe,#e3f6f9); }
.product-bundle-mini-image img { width:100%; height:100%; object-fit:contain; }
.product-bundle-mini-copy { min-width:0; height:100%; padding:7px 0; display:flex; flex-direction:column; justify-content:space-between; }
.product-bundle-mini-copy strong { color:var(--navy); font-size:10px; font-weight:800; line-height:1.25; }
.product-bundle-mini-copy b { color:var(--cyan); font-size:19px; line-height:1; white-space:nowrap; }
.product-overview-section { padding:12px 0 7px; background:#f5fbfc; }
.product-overview-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:12px; align-items:stretch; }
.product-overview-grid > div { padding:22px; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.product-overview-grid .product-prose { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.product-overview-grid .product-prose p { width:100%; max-width:760px; margin:3px auto; }
.product-overview-grid h2, .product-technology-copy h2, .product-safety-grid h2 { margin:12px 0 0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(40px,4.8vw,64px); font-weight:500; line-height:1.1; text-transform:uppercase; }
.product-prose p, .product-technology-copy p { color:var(--muted); font-size:15px; line-height:1.75; }
.product-prose p:last-child, .product-technology-copy p:last-child { margin-bottom:0; }
.product-technology-section { padding:7px 0; background:#f5fbfc; }
.product-technology-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:12px; align-items:stretch; }
.product-technology-copy { padding:22px; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.product-technology-copy h2 { margin-bottom:20px; }
.product-technology-points { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.product-technology-points span { min-height:48px; padding:10px 11px; display:flex; align-items:flex-start; gap:7px; border:1px solid rgba(1,158,187,.13); border-radius:12px; background:#eff9fb; color:var(--navy); font-size:10px; font-weight:750; line-height:1.4; }
.product-technology-points svg { flex:0 0 auto; margin-top:1px; color:var(--cyan); }
.product-callout { padding:28px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; border:1px solid rgba(1,158,187,.2); border-radius:22px; background:#e8f8fb; text-align:center; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.product-callout > svg { flex:0 0 auto; width:31px; height:31px; color:var(--cyan); }
.product-callout > div { width:100%; display:flex; flex-direction:column; align-items:center; }
.product-callout h3 { margin:2px 0 12px; font-size:24px; line-height:1.3; }
.product-callout p { max-width:560px; margin:0 auto; color:var(--muted); font-size:15px; line-height:1.7; }
.product-callout ul { width:min(100%,600px); margin:18px auto 0; padding:16px 0 0; display:grid; gap:10px; border-top:1px solid rgba(1,158,187,.18); list-style:none; }
.product-callout li { display:flex; align-items:flex-start; justify-content:center; gap:8px; color:var(--navy); font-size:12.5px; font-weight:750; line-height:1.45; text-align:center; }
.product-callout li svg { flex:0 0 auto; margin-top:1px; color:var(--cyan); }
.product-composition-section { padding:7px 0; background:#f5fbfc; }
.product-composition-section .detail-heading { max-width:none; display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); align-items:end; gap:24px; }
.product-composition-section .detail-heading { margin-bottom:7px; padding:18px 20px; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.product-composition-section .detail-heading h2 { margin:0; font-size:clamp(36px,4vw,52px); }
.ingredient-grid { margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ingredient-grid.ingredient-count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ingredient-grid article { min-height:245px; padding:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:20px; background:#f8fcfd; text-align:center; }
.ingredient-grid svg { color:var(--cyan); }
.ingredient-grid h3 { margin:15px 0 9px; font-size:18px; }
.ingredient-grid p { max-width:300px; margin:0 auto; color:var(--muted); font-size:12px; line-height:1.65; }
.composition-columns { margin-top:0; display:grid; grid-template-columns:minmax(250px,.58fr) minmax(0,1.42fr); align-items:stretch; gap:12px; }
.composition-columns.is-single { grid-template-columns:1fr; }
.composition-columns.is-free-only { grid-template-columns:1fr; margin-top:10px; }
.composition-columns article { min-height:0; height:100%; padding:18px 20px; border-radius:15px; background:var(--navy); color:#fff; display:flex; align-content:center; justify-content:center; flex-wrap:wrap; gap:10px; }
.composition-columns article:nth-child(2), .composition-columns article.composition-free-from { background:var(--ice); color:var(--navy); }
.composition-columns h3 { flex:0 0 100%; margin:0 0 5px; font-size:21px; text-align:center; }
.composition-columns span { min-height:52px; padding:9px 12px; display:flex; flex:1 1 150px; align-items:center; justify-content:center; gap:6px; border-radius:14px; background:rgba(255,255,255,.11); font-size:13px; font-weight:780; text-align:center; }
.composition-columns article:nth-child(2) span, .composition-columns article.composition-free-from span { background:#fff; }
.composition-columns svg { color:var(--cyan-light); }
.composition-columns:not(.is-single) article:first-child span { flex-basis:calc(50% - 5px); }
.composition-columns:not(.is-single) article:nth-child(2) span { flex-basis:calc(25% - 8px); }
.composition-columns.is-free-only article:first-child span { flex-basis:100%; }
.composition-columns.is-single article { padding:18px 20px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.composition-columns.is-single h3 { grid-column:1 / -1; margin-bottom:2px; font-size:21px; }
.composition-columns.is-single span { min-height:56px; justify-content:center; border-radius:14px; background:rgba(255,255,255,.12); font-size:14px; text-align:center; }
.product-safety-section { padding:7px 0; background:#f5fbfc; }
.product-safety-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:12px; align-items:stretch; }
.product-safety-grid > div:first-child { padding:28px 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; text-align:center; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.product-safety-grid > div:first-child > svg { margin-bottom:15px; color:#c48019; }
.product-safety-grid > div:first-child > p { max-width:440px; margin:20px auto 0; color:var(--muted); line-height:1.7; }
.product-warning-list { display:grid; gap:10px; }
.product-warning-list p { margin:0; padding:15px 17px; display:flex; align-items:flex-start; gap:10px; border:1px solid rgba(16,32,59,.08); border-radius:14px; background:#fff; color:var(--muted); font-size:13px; line-height:1.55; box-shadow:0 8px 24px rgba(16,32,59,.04); }
.product-warning-list svg { flex:0 0 auto; margin-top:2px; color:var(--cyan); }
.product-faq-section { padding:7px 0; background:#f5fbfc; }
.product-faq-section .faq-layout { display:block; }
.product-faq-section .faq-layout > div:first-child { padding:18px 20px; display:grid; grid-template-columns:180px minmax(0,1fr) minmax(260px,.65fr); align-items:end; gap:22px; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.product-faq-section .faq-layout > div:first-child h2 { margin:0; font-size:clamp(36px,4vw,52px); }
.product-faq-section .faq-layout > div:first-child p { margin:0; }
.product-faq-section .faq-list { margin-top:7px; display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.product-faq-section .faq-list details { padding:0 16px; border:1px solid rgba(16,32,59,.08); border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(16,32,59,.04); }
.product-faq-section .faq-list summary { min-height:58px; padding:12px 0; border:0; font-size:13px; }
.product-faq-section .faq-list details p { padding:0 20px 13px 0; font-size:12px; }
.where-to-buy-section { padding:7px 0 12px; background:#f5fbfc; }
.where-to-buy-heading { display:grid; grid-template-columns:.85fr 1.15fr; align-items:end; gap:70px; margin-bottom:20px; }
.where-to-buy-heading h2 { margin:8px 0 0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(38px,4.6vw,60px); font-weight:500; line-height:1.08; text-transform:uppercase; }
.where-to-buy-heading > p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.where-to-buy-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.where-to-buy-card { min-height:0; padding:22px; display:grid; grid-template-columns:42px 1fr; align-items:start; gap:15px; border:1px solid rgba(16,32,59,.08); border-radius:20px; background:#fff; }
.where-to-buy-card h3, .pharmacy-availability h3 { margin:2px 0 8px; font-size:19px; }
.where-to-buy-card p, .pharmacy-availability p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.online-pharmacy-card > div { height:100%; display:flex; flex-direction:column; }
.online-pharmacy-card .partner-logo-row { flex:1; align-content:center; justify-content:center; margin-top:10px; padding-top:12px; }
.where-to-buy-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#fff; }
.online-pharmacy-card .where-to-buy-icon, .pharmacy-availability .where-to-buy-icon { background:var(--cyan); }
.wholesale-card { grid-column:1 / -1; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; background:linear-gradient(110deg,#fff 0%,#fff 58%,#edf9fb 100%); }
.wholesale-card .where-to-buy-icon { background:var(--cyan); }
.wholesale-card p { max-width:760px; }
.wholesale-card .where-to-buy-action { white-space:nowrap; background:var(--cyan); }
.direct-shop-card ul { margin:14px 0 16px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:7px 13px; list-style:none; }
.direct-shop-card li { display:flex; align-items:flex-start; gap:6px; color:var(--navy); font-size:10px; font-weight:750; line-height:1.4; }
.direct-shop-card li svg { flex:0 0 auto; color:var(--cyan); }
.where-to-buy-action { min-height:40px; width:max-content; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 16px; border-radius:999px; background:var(--navy); color:#fff; font-size:11px; font-weight:850; }
.partner-logo-row { margin-top:15px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.partner-logo-circle { position:relative; width:78px; height:78px; padding:7px; display:grid; place-items:center; overflow:hidden; border:2px solid var(--cyan); border-radius:50%; background:#fff; color:var(--navy); text-align:center; box-shadow:0 7px 18px rgba(16,32,59,.06); transition:transform .2s ease,box-shadow .2s ease; }
.partner-logo-circle:hover { transform:translateY(-3px); box-shadow:0 11px 24px rgba(16,32,59,.11); }
.partner-logo-circle strong { max-width:74px; font-size:12px; line-height:1.08; }
.partner-logo-circle > img { position:static; width:88%; height:74%; object-fit:contain; }
.partner-logo-circle.is-benu strong { color:#e30613; font-size:17px; letter-spacing:.05em; }
.partner-logo-circle.is-alphega strong { color:#2767a4; }
.partner-logo-circle.is-magistra strong { color:#6c2b87; font-size:11px; }
.partner-logo-circle.is-magistra > img { position:static; width:92%; height:80%; object-fit:contain; }
.partner-logo-circle.is-alliance strong { color:#345b83; font-size:10px; }
.partner-logo-circle.is-phoenix strong { color:#df2027; font-size:13px; letter-spacing:.04em; }
.pharmacy-availability { margin-top:14px; padding:20px 22px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:26px; border-radius:20px; background:var(--navy); color:#fff; }
.pharmacy-availability-copy { display:grid; grid-template-columns:42px 1fr; align-items:start; gap:15px; }
.pharmacy-availability p { color:rgba(255,255,255,.7); }
.distribution-partners { padding-left:26px; border-left:1px solid rgba(255,255,255,.13); }
.distribution-partners .kicker { color:var(--cyan-light); }
.distribution-partners > p { margin-top:5px; }
.partner-logo-row.is-distributors { margin-top:12px; }
.partner-logo-row.is-distributors .partner-logo-circle { width:78px; height:78px; }
.detail-bottom-cta { padding:32px 0; background:var(--navy); color:#fff; }
.detail-bottom-cta .shell { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.detail-bottom-cta h2 { margin:9px 0 0; font-family:Impact,"Arial Narrow",sans-serif; font-weight:500; text-transform:uppercase; font-size:38px; line-height:1.12; }
.detail-bottom-cta a { min-height:52px; display:inline-flex; align-items:center; gap:9px; padding:0 22px; border-radius:999px; background:var(--cyan); color:#fff; font-size:13px; font-weight:850; white-space:nowrap; }
.bundle-detail-hero { background:linear-gradient(135deg,#f4fcfd,#e2f6fa); }
.bundle-product-visual { padding:0; box-sizing:border-box; }
.bundle-product-visual img { position:absolute; inset:28px; width:calc(100% - 56px); height:calc(100% - 56px); max-width:none; max-height:none; padding:0; box-sizing:border-box; object-fit:contain; object-position:center; }

/* Bundle overview */
.bundle-overview-page { background:#f5fbfc; }
.bundle-overview-hero { overflow:hidden; padding:40px 0 42px; background:linear-gradient(120deg,#0d1c35,#14385b); color:#fff; }
.bundle-overview-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 520px; align-items:center; gap:30px; }
.bundle-overview-hero h1 { margin:14px 0 20px; max-width:800px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(58px,7vw,104px); font-weight:500; line-height:1.08; text-transform:uppercase; }
.bundle-overview-hero p { max-width:680px; margin:0; color:#c7d5e3; font-size:17px; line-height:1.7; }
.bundle-overview-stat { min-width:260px; display:flex; align-items:center; gap:17px; padding:24px 28px; border:1px solid rgba(255,255,255,.18); border-radius:24px; background:rgba(255,255,255,.06); backdrop-filter:blur(12px); }
.bundle-overview-stat strong { color:var(--cyan-light); font-family:Impact,"Arial Narrow",sans-serif; font-size:74px; font-weight:500; line-height:1; }
.bundle-overview-stat span { color:#fff; font-size:13px; font-weight:750; line-height:1.5; }
.bundle-overview-mascot { height:500px; margin:-35px -30px -38px 0; display:flex; align-items:flex-end; justify-content:center; }
.bundle-overview-mascot img { width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 24px 30px rgba(0,0,0,.22)); }
.bundle-overview-list { padding:36px 0 48px; }
.bundle-overview-list .shell { display:grid; gap:28px; }
.bundle-overview-card { min-height:470px; display:grid; grid-template-columns:48% 52%; overflow:hidden; border:1px solid rgba(16,32,59,.09); border-radius:30px; background:#fff; box-shadow:0 16px 45px rgba(16,32,59,.06); }
.bundle-overview-card.is-reversed { grid-template-columns:52% 48%; }
.bundle-overview-card.is-reversed .bundle-overview-image { order:2; }
.bundle-overview-image { position:relative; min-width:0; display:grid; place-items:center; overflow:hidden; background:linear-gradient(145deg,#e7f8fb,#caeef4); }
.bundle-overview-image:before { content:""; position:absolute; width:420px; height:420px; border:1px dashed rgba(1,158,187,.25); border-radius:50%; }
.bundle-overview-image > span { position:absolute; top:26px; left:28px; z-index:3; color:rgba(16,32,59,.18); font-family:Impact,"Arial Narrow",sans-serif; font-size:54px; }
.bundle-overview-image img { position:relative; z-index:2; width:82%; height:82%; object-fit:contain; filter:drop-shadow(0 24px 25px rgba(16,32,59,.16)); transition:transform .35s ease; }
.bundle-overview-image:hover img { transform:scale(1.035); }
.bundle-overview-copy { display:flex; flex-direction:column; justify-content:center; padding:38px 52px; }
.bundle-overview-copy h2 { margin:11px 0 15px; font-size:clamp(36px,4.1vw,58px); line-height:1.12; }
.bundle-overview-copy > p { max-width:600px; margin-bottom:22px; color:var(--muted); font-size:15px; line-height:1.7; }
.bundle-overview-contents { display:flex; flex-wrap:wrap; gap:8px; }
.bundle-overview-contents span { display:flex; align-items:center; gap:7px; padding:8px 11px; border-radius:999px; background:var(--ice); color:var(--navy); font-size:11px; font-weight:750; }
.bundle-overview-contents svg { color:var(--cyan); }
.bundle-overview-buy { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:30px; padding-top:22px; border-top:1px solid var(--line); }
.bundle-overview-buy > div { display:grid; }
.bundle-overview-buy strong { font-size:28px; }
.bundle-overview-buy small { color:var(--muted); font-size:10px; }
.bundle-overview-buy > a { min-height:50px; display:inline-flex; align-items:center; gap:9px; padding:0 20px; border-radius:999px; background:var(--navy); color:#fff; font-size:12px; font-weight:850; transition:transform .2s,background .2s; }
.bundle-overview-buy > a:hover { transform:translateY(-2px); background:var(--cyan); }
.bundle-shipping { margin-top:14px; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.bundle-contents-mini { display:flex; flex-wrap:wrap; gap:8px; margin:19px 0 4px; }
.bundle-contents-mini span { display:flex; align-items:center; gap:6px; padding:8px 11px; border-radius:999px; background:#fff; color:var(--navy); font-size:11px; font-weight:800; box-shadow:0 5px 15px rgba(16,32,59,.06); }
.bundle-contents-mini svg { color:var(--cyan); }
.bundle-value-section { padding:50px 0; }
.bundle-value-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }
.bundle-value-grid > div:first-child > svg { color:var(--cyan); margin-bottom:18px; }
.bundle-value-grid p { color:var(--muted); line-height:1.7; }
.bundle-content-list { display:grid; gap:12px; }
.bundle-content-list > div { min-height:76px; padding:15px 19px; border:1px solid var(--line); border-radius:16px; display:flex; align-items:center; gap:15px; }
.bundle-content-list span { width:38px; height:38px; border-radius:50%; background:var(--ice); display:grid; place-items:center; color:var(--cyan); font-size:12px; font-weight:900; }
.bundle-situations { background:#eff9fb; }
.bundle-products-intro { padding:54px 0; background:linear-gradient(120deg,#0d1c35,#14385b); color:#fff; text-align:center; }
.bundle-products-intro h2 { max-width:900px; margin:12px auto 14px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(42px,5vw,68px); font-weight:500; line-height:1.08; text-transform:uppercase; }
.bundle-products-intro > .shell > p { max-width:760px; margin:0 auto; color:#c7d5e3; font-size:15px; line-height:1.7; }
.bundle-products-intro nav { margin-top:26px; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.bundle-products-intro nav a { min-height:48px; padding:7px 17px 7px 8px; display:flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.17); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; font-size:12px; font-weight:850; transition:transform .2s ease,background .2s ease; }
.bundle-products-intro nav a:hover { transform:translateY(-2px); background:rgba(255,255,255,.15); }
.bundle-products-intro nav span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:var(--cyan); color:#fff; font-size:10px; }
.bundle-product-details { scroll-margin-top:80px; background:#f5fbfc; }
.bundle-product-details + .bundle-product-details { border-top:12px solid var(--navy); }
.bundle-product-details.product-happy-mom-touch { --detail-watermark:url("/decor/happy-mom-bears-cropped.png"); }
.bundle-product-details.product-spiranto-patch { --detail-watermark:url("/decor/spiranto-bear-cropped.png"); }
.bundle-product-chapter { padding:34px 0 18px; background:linear-gradient(135deg,#fff,#eaf8fb); }
.bundle-product-chapter-grid { min-height:310px; display:grid; grid-template-columns:330px minmax(0,1fr); align-items:center; gap:42px; padding:28px 42px; overflow:hidden; border:1px solid rgba(16,32,59,.09); border-radius:28px; background:#fff; box-shadow:0 18px 46px rgba(16,32,59,.07); }
.bundle-product-chapter-image { height:250px; display:grid; place-items:center; border-radius:22px; background:linear-gradient(145deg,#e9f9fb,#d4f1f6); }
.bundle-product-chapter-image img { width:88%; height:88%; object-fit:contain; filter:drop-shadow(0 18px 20px rgba(16,32,59,.15)); }
.bundle-product-chapter-meta { margin-bottom:17px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.bundle-product-chapter-meta span, .bundle-product-chapter-meta strong { padding:7px 11px; border-radius:999px; font-size:10px; font-weight:850; }
.bundle-product-chapter-meta span { background:var(--ice); color:var(--cyan); }
.bundle-product-chapter-meta strong { background:var(--navy); color:#fff; }
.bundle-product-chapter h2 { margin:8px 0 5px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(46px,5vw,72px); font-weight:500; line-height:1.02; text-transform:uppercase; }
.bundle-product-chapter h3 { margin:0 0 12px; font-size:20px; font-weight:500; }
.bundle-product-chapter p { max-width:760px; margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.bundle-product-chapter a { width:max-content; min-height:42px; margin-top:18px; padding:0 16px; display:inline-flex; align-items:center; gap:8px; border-radius:999px; background:var(--cyan); color:#fff; font-size:11px; font-weight:850; }

.site-footer { background:#0b192e; color:#fff; }
.footer-main { display:grid; grid-template-columns:1.25fr .7fr 1.15fr 1.15fr; gap:36px; padding:30px 0 24px; }
.footer-brand > a:first-child > img { width:155px; height:auto; filter:brightness(0) invert(1); object-fit:contain; object-position:left; }
.footer-brand p { max-width:300px; margin:16px 0; color:#aebbd0; font-size:12px; line-height:1.6; }
.footer-socials { display:flex; gap:9px; }
.footer-socials a { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.15); border-radius:50%; color:#fff; font-size:13px; }
.footer-socials a:hover { border-color:var(--cyan); background:var(--cyan); }
.footer-socials img { width:20px; height:20px; filter:none; object-fit:contain; }
.footer-lower { border-top:1px solid rgba(255,255,255,.12); }
.footer-lower-grid { min-height:92px; display:grid; grid-template-columns:minmax(430px,.9fr) minmax(0,1.5fr); align-items:center; gap:34px; padding:14px 0; }
.footer-certificates { display:flex; align-items:center; gap:12px; }
.footer-certificates > div { display:grid; gap:3px; margin-right:auto; }
.footer-certificates span { color:#8dd7e7; font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.footer-certificates strong { color:#fff; font-size:13px; }
.footer-certificates > a:not(:last-child) { width:34px; height:47px; padding:2px; background:#fff; border-radius:4px; overflow:hidden; }
.footer-certificates > a:not(:last-child) img { width:100%; height:100%; object-fit:contain; }
.footer-certificates > a:last-child { margin-left:4px; color:#fff; font-size:11px; font-weight:800; text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-column h2 { margin:2px 0 6px; color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.footer-column a, .footer-column span { color:#aebbd0; font-size:12px; line-height:1.45; }
.footer-column a:hover { color:#fff; }
.footer-column .footer-wholesale-link { width:100%; margin:0 0 7px; padding:11px 12px; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:9px; border:1px solid rgba(97,193,219,.32); border-radius:12px; background:rgba(1,158,187,.11); color:#fff; }
.footer-wholesale-link > svg { color:var(--cyan-light); }
.footer-column .footer-wholesale-link > span { display:grid; gap:2px; color:#fff; }
.footer-wholesale-link strong { font-size:11px; line-height:1.25; }
.footer-wholesale-link small { color:#9eb0c7; font-size:9px; line-height:1.25; }
.footer-column .footer-wholesale-link:hover { border-color:rgba(97,193,219,.62); background:rgba(1,158,187,.2); }
.footer-contact a, .footer-contact span { display:flex; align-items:flex-start; gap:8px; }
.footer-contact svg { flex:0 0 auto; color:var(--cyan-light); margin-top:1px; }
.footer-help { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; align-content:start; }
.footer-help h2 { grid-column:1 / -1; }
.footer-legal { display:grid; gap:11px; padding-left:28px; border-left:1px solid rgba(255,255,255,.09); }
.footer-legal p { margin:0; color:#8e9bb0; font-size:10px; line-height:1.55; }
.footer-legal > div { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:6px 12px; color:#728097; font-size:10px; }
.footer-legal > div span + span::before { content:"•"; margin-right:12px; color:#4f6079; }

.subpage-hero { padding:46px 0 44px; background:radial-gradient(circle at 78% 30%,rgba(97,193,219,.25),transparent 32%),var(--navy); color:#fff; }
.subpage-hero.has-visual { padding:0; overflow:hidden; }
.subpage-hero-grid { position:relative; }
.subpage-hero.has-visual .subpage-hero-grid { min-height:390px; display:grid; grid-template-columns:1.28fr .72fr; align-items:center; gap:35px; }
.subpage-hero-copy { position:relative; z-index:2; padding:22px 0; }
.subpage-hero h1 { max-width:900px; margin:15px 0 20px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(54px,7vw,92px); font-weight:500; line-height:1.1; text-transform:uppercase; }
.subpage-hero p { max-width:720px; margin:0; color:#cbd5e3; font-size:17px; line-height:1.7; }
.subpage-hero-visual { align-self:end; position:relative; height:380px; display:flex; align-items:flex-end; justify-content:center; }
.subpage-hero-visual img { position:relative; z-index:2; width:min(100%,410px); height:auto; max-height:370px; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 28px 35px rgba(0,0,0,.22)); }
.subpage-hero-halo { position:absolute; width:320px; height:320px; bottom:5%; border-radius:50%; background:radial-gradient(circle,rgba(97,193,219,.32),rgba(1,158,187,.08) 55%,transparent 72%); }
.content-section { padding:40px 0; }
.about-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.about-intro h2, .faq-layout h2, .form-layout h2 { margin:12px 0 0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(42px,5vw,66px); font-weight:500; line-height:1.12; text-transform:uppercase; }
.about-intro p { color:var(--muted); line-height:1.8; }
.about-values { padding:12px 0 42px; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.values-grid article { padding:29px; border:1px solid var(--line); border-radius:22px; }
.values-grid svg { color:var(--cyan); }
.values-grid h2 { margin:24px 0 10px; font-size:18px; }
.values-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.about-manufacturer { padding:42px 0; background:var(--navy); color:#fff; }
.about-manufacturer-grid { display:grid; grid-template-columns:1fr .8fr; gap:85px; align-items:center; }
.about-manufacturer h2 { margin:10px 0 16px; font-family:Impact,"Arial Narrow",sans-serif; font-size:58px; line-height:1.12; font-weight:500; text-transform:uppercase; }
.about-manufacturer p { color:#c7d0df; line-height:1.7; }
.about-quote { padding:35px; border-radius:24px; background:rgba(255,255,255,.08); }
.certificates-section { padding:48px 0 54px; background:#f5fbfc; scroll-margin-top:90px; }
.certificates-heading { display:grid; grid-template-columns:1fr .7fr; gap:80px; align-items:end; margin-bottom:26px; }
.certificates-heading h2 { margin:12px 0 0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(48px,5vw,70px); line-height:1.12; font-weight:500; text-transform:uppercase; }
.certificates-heading > p { color:var(--muted); line-height:1.75; }
.certificates-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1040px; margin:0 auto; }
.certificates-grid > a { padding:24px; border:1px solid var(--line); border-radius:26px; background:#fff; display:grid; grid-template-columns:220px 1fr; gap:30px; align-items:center; color:var(--navy); box-shadow:0 18px 50px rgba(16,32,59,.06); transition:transform .25s,box-shadow .25s; }
.certificates-grid > a:hover { transform:translateY(-5px); box-shadow:0 25px 55px rgba(16,32,59,.11); }
.certificates-grid > a > img { width:100%; height:310px; object-fit:contain; border:1px solid #edf1f4; }
.certificates-grid span { display:grid; gap:9px; align-content:center; }
.certificates-grid strong { font-size:22px; }
.certificates-grid small { color:var(--muted); line-height:1.55; }
.certificates-grid svg { color:var(--cyan); margin-top:10px; }
.page-cta { padding:28px 0; background:var(--cyan); color:#fff; }
.page-cta .shell { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.page-cta h2 { margin:8px 0 0; font-family:Impact,"Arial Narrow",sans-serif; font-size:40px; line-height:1.12; font-weight:500; text-transform:uppercase; }
.page-cta a { min-height:50px; padding:0 20px; display:inline-flex; align-items:center; gap:8px; border-radius:999px; background:#fff; color:var(--navy); font-size:13px; font-weight:850; }
.advice-topics { padding:32px 0 12px; }
.topic-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.topic-grid a { min-height:160px; padding:23px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); border-radius:20px; background:#fff; font-weight:800; }
.topic-grid a > svg:first-child { color:var(--cyan); }
.topic-grid a > svg:last-child { align-self:flex-end; }
.topic-grid a:hover { box-shadow:0 18px 45px rgba(16,32,59,.09); transform:translateY(-3px); }
.faq-section { padding:36px 0 48px; }
.faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; }
.faq-layout > div:first-child > p { color:var(--muted); line-height:1.7; }
.faq-layout a { color:var(--cyan); font-weight:800; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { padding:21px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-weight:800; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--cyan); font-size:24px; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { padding:0 40px 20px 0; color:var(--muted); line-height:1.7; }
.advice-faq-layout { display:block; }
.advice-faq-layout > div:first-child { padding:18px 20px; display:grid; grid-template-columns:170px minmax(0,1fr) minmax(280px,.7fr); align-items:center; gap:22px; border:1px solid rgba(16,32,59,.08); border-radius:22px; background:#fff; box-shadow:0 12px 34px rgba(16,32,59,.05); }
.advice-faq-layout > div:first-child h2 { margin:0; font-size:clamp(36px,4vw,52px); }
.advice-faq-layout > div:first-child p { margin:0; }
.advice-faq-list { margin-top:8px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; border-top:0; }
.advice-faq-column { border-top:1px solid var(--line); }
.advice-faq-list summary { min-height:54px; padding:13px 14px; font-size:13px; line-height:1.35; }
.advice-faq-list details p { margin:0; padding:0 38px 14px 14px; font-size:12px; line-height:1.6; }
.content-grid { display:grid; grid-template-columns:270px 1fr; gap:75px; align-items:start; }
.content-aside { position:sticky; top:100px; padding:24px; display:flex; flex-direction:column; gap:7px; border-radius:18px; background:var(--ice); font-size:12px; line-height:1.45; }
.content-aside a { color:var(--cyan); font-weight:800; }
.legal-copy { max-width:800px; }
.draft-note { margin-bottom:38px; padding:18px; display:flex; gap:12px; border:1px solid #f3d58a; border-radius:14px; background:#fff9e8; color:#6b571d; }
.draft-note svg { flex:0 0 auto; }
.draft-note p { margin:0; font-size:12px; line-height:1.6; }
.legal-copy article { padding:0 0 32px; margin-bottom:32px; border-bottom:1px solid var(--line); }
.legal-copy h2 { font-size:25px; }
.legal-copy p, .legal-copy li { color:var(--muted); line-height:1.75; }
.legal-copy ul { padding:0; display:grid; gap:10px; list-style:none; }
.legal-copy li { display:flex; gap:9px; }
.legal-copy li svg { flex:0 0 auto; color:var(--cyan); margin-top:5px; }
.process-section { padding:34px 0; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.process-grid article { padding:24px; border:1px solid var(--line); border-radius:20px; }
.process-grid svg { color:var(--cyan); }
.process-grid span { float:right; color:var(--cyan); font-size:11px; font-weight:900; }
.process-grid h2 { margin:21px 0 8px; font-size:17px; }
.process-grid p { margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
.complaint-policy-section { padding:54px 0; background:#f5fbfc; }
.complaint-policy-heading { margin-bottom:22px; display:flex; align-items:end; justify-content:space-between; gap:24px; }
.complaint-policy-heading h2 { margin:0; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(36px,4vw,58px); font-weight:500; line-height:1; text-transform:uppercase; }
.complaint-policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.complaint-policy-grid article { padding:24px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.complaint-policy-grid .complaint-policy-wide { grid-column:1 / -1; }
.complaint-policy-grid h3 { margin:0 0 10px; font-size:19px; }
.complaint-policy-grid p, .withdrawal-form-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
.complaint-policy-grid address, .withdrawal-form-card address { margin-top:16px; display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:12px; font-style:normal; line-height:1.5; }
.complaint-policy-grid address strong, .withdrawal-form-card address strong { color:var(--navy); }
.complaint-policy-grid address a, .withdrawal-form-card address a { color:var(--cyan); font-weight:800; }
.withdrawal-form-card { margin-top:14px; padding:28px; display:grid; grid-template-columns:1.25fr .75fr; align-items:center; gap:48px; border-radius:22px; background:var(--navy); color:#fff; }
.withdrawal-form-card h2 { margin:8px 0 10px; font-size:30px; color:#fff; }
.withdrawal-form-card p, .withdrawal-form-card address { color:rgba(255,255,255,.74); }
.withdrawal-form-card address { margin:0; padding-left:24px; border-left:1px solid rgba(255,255,255,.16); }
.withdrawal-form-card address strong { color:#fff; }
.withdrawal-form-card > div > a { margin-top:18px; min-height:44px; width:max-content; padding:0 18px; display:flex; align-items:center; gap:8px; border-radius:999px; background:var(--cyan); color:#fff; font-size:12px; font-weight:850; }
.form-section { padding:42px 0; background:var(--cream); }
.form-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; }
.form-layout > div:first-child p { color:var(--muted); line-height:1.7; }
.complaint-form { padding:30px; display:grid; gap:17px; border-radius:24px; background:#fff; box-shadow:0 20px 55px rgba(16,32,59,.08); }
.complaint-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.complaint-form label { display:grid; gap:7px; color:var(--navy); font-size:12px; font-weight:800; }
.complaint-form input, .complaint-form select, .complaint-form textarea { width:100%; border:1px solid rgba(16,32,59,.16); border-radius:11px; background:#fff; padding:12px 13px; color:var(--navy); font:inherit; font-weight:500; outline:none; }
.complaint-form input:focus, .complaint-form select:focus, .complaint-form textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(1,158,187,.1); }
.form-consent { grid-template-columns:auto 1fr !important; align-items:center; font-weight:600 !important; }
.form-consent input { width:17px; height:17px; }
.form-help { margin:0; display:flex; gap:8px; color:var(--muted); font-size:11px; line-height:1.55; }
.form-help svg { flex:0 0 auto; color:var(--cyan); }
.complaint-form button { min-height:52px; border:0; border-radius:999px; background:var(--cyan); color:#fff; display:flex; align-items:center; justify-content:center; gap:9px; font-weight:850; cursor:pointer; }
.form-success { margin:0; color:#167b64; font-size:12px; font-weight:750; text-align:center; }
.contact-page-section { padding:36px 0; }
.contact-page-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.contact-page-grid > a { min-height:190px; padding:26px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); border-radius:22px; background:#fff; transition:transform .2s,box-shadow .2s; }
.contact-page-grid > a:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(16,32,59,.09); }
.contact-page-grid > a > svg { color:var(--cyan); }
.contact-page-grid span { display:flex; flex-direction:column; gap:7px; }
.contact-page-grid small { color:var(--cyan); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.contact-page-grid strong { font-size:17px; }
.contact-page-grid em { color:var(--muted); font-size:11px; font-style:normal; }
.company-contact { padding:40px 0; background:var(--cream); }
.company-contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.company-contact h2 { margin:12px 0 18px; font-family:Impact,"Arial Narrow",sans-serif; font-size:56px; line-height:1.12; font-weight:500; text-transform:uppercase; }
.company-contact p { display:flex; gap:8px; color:var(--muted); line-height:1.6; }
.company-contact p svg { flex:0 0 auto; color:var(--cyan); }
.company-contact dl { margin:0; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff; }
.company-contact dl div { padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.company-contact dl div:nth-child(2n) { border-right:0; }
.company-contact dl div:nth-last-child(-n+2) { border-bottom:0; }
.company-contact dt { margin-bottom:6px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.company-contact dd { margin:0; font-size:13px; font-weight:800; }

/* Local checkout demo */
.checkout-page { min-height:100vh; background:#f5fafb; }
.checkout-heading { padding:46px 0 42px; background:var(--navy); color:#fff; }
.checkout-heading .kicker { font-size:13px; }
.checkout-heading h1 { margin:10px 0 28px; font-family:Impact,"Arial Narrow",sans-serif; font-size:72px; line-height:1.08; font-weight:500; text-transform:uppercase; }
.checkout-progress { max-width:820px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:14px; color:#8f9db1; font-size:15px; font-weight:800; }
.checkout-progress span { flex:0 0 40px; width:40px; height:40px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:grid; place-items:center; font-size:15px; }
.checkout-progress span.is-complete, .checkout-progress span.is-active { border-color:var(--cyan); background:var(--cyan); color:#fff; }
.checkout-progress strong { color:#c9d4e1; white-space:nowrap; }
.checkout-progress i { width:74px; height:2px; background:rgba(255,255,255,.2); }
.checkout-demo-message { margin-top:24px; padding:16px 20px; border:1px solid #9fe0ce; border-radius:16px; display:flex; align-items:center; gap:13px; background:#eaffe9; color:#167b64; }
.checkout-demo-message div { display:grid; gap:3px; }
.checkout-demo-message span { font-size:12px; }
.checkout-empty { margin:52px auto; padding:60px; border:1px solid var(--line); border-radius:24px; background:#fff; text-align:center; }
.checkout-empty > svg { color:var(--cyan); }
.checkout-empty h2 { margin:15px 0 7px; }
.checkout-empty p { color:var(--muted); }
.checkout-empty a { min-height:48px; padding:0 19px; border-radius:999px; display:inline-flex; align-items:center; background:var(--navy); color:#fff; font-weight:850; }
.checkout-layout { padding-top:48px; padding-bottom:78px; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(420px,.8fr); gap:36px; align-items:start; }
.checkout-form-column { display:grid; gap:24px; }
.checkout-account-choice { padding:22px 24px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:17px; border:1px solid rgba(1,158,187,.23); border-radius:22px; background:var(--ice); }
.checkout-account-choice > span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--cyan); }
.checkout-account-choice > div:nth-child(2) { display:grid; gap:4px; }
.checkout-account-choice strong { font-size:17px; }
.checkout-account-choice p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.checkout-account-choice > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.checkout-account-choice a { min-height:40px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border-radius:999px; background:var(--navy); color:#fff; font-size:11px; font-weight:850; }
.checkout-account-choice a + a { color:var(--navy); background:#fff; border:1px solid var(--line); }
.checkout-account-choice.is-signed-in { background:#edfbf6; border-color:#a8dfc9; }
.checkout-account-choice.is-signed-in > a { background:#167b64; }
.checkout-panel { padding:36px; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:0 14px 40px rgba(16,32,59,.045); }
.checkout-panel-title { margin-bottom:29px; display:flex; align-items:flex-start; gap:18px; }
.checkout-panel-title > span { flex:0 0 44px; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--cyan); color:#fff; font-size:16px; font-weight:900; }
.checkout-panel-title h2 { margin:2px 0 5px; font-size:26px; }
.checkout-panel-title p { margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.checkout-fields { display:grid; gap:20px; }
.checkout-fields.two-columns { grid-template-columns:1fr 1fr; }
.checkout-fields label, .checkout-note-panel > label:first-child { display:grid; gap:10px; color:var(--navy); font-size:15px; font-weight:800; }
.checkout-fields input, .checkout-fields select, .checkout-note-panel textarea { width:100%; min-height:62px; padding:15px 17px; border:1px solid rgba(16,32,59,.17); border-radius:14px; background:#fff; color:var(--navy); font:inherit; font-size:16px; outline:none; }
.checkout-fields input:focus, .checkout-fields select:focus, .checkout-note-panel textarea:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(1,158,187,.09); }
.checkout-note-panel textarea { resize:vertical; }
.full-field { grid-column:1 / -1; }
.checkout-options { display:grid; gap:15px; }
.checkout-options label { min-height:102px; padding:18px 21px; border:1px solid var(--line); border-radius:19px; display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:16px; cursor:pointer; transition:border-color .2s,background .2s; }
.checkout-options label.is-selected { border-color:var(--cyan); background:var(--ice); }
.checkout-options input { width:23px; height:23px; accent-color:var(--cyan); }
.checkout-options svg { width:29px; height:29px; color:var(--cyan); }
.checkout-options label > span { display:grid; gap:5px; }
.checkout-options strong { font-size:17px; }
.checkout-options small { color:var(--muted); font-size:13px; line-height:1.45; font-weight:500; }
.checkout-options b { font-size:16px; }
.checkout-note-panel { display:grid; gap:23px; }
.checkout-consent { display:grid; grid-template-columns:auto 1fr; align-items:start; gap:13px; color:var(--muted); font-size:14px; line-height:1.6; }
.checkout-consent input { width:20px; height:20px; margin-top:2px; accent-color:var(--cyan); }
.checkout-consent a { color:var(--cyan); font-weight:800; text-decoration:underline; }
.checkout-summary { position:sticky; top:92px; padding:36px; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:0 18px 50px rgba(16,32,59,.07); }
.checkout-summary h2 { margin:0 0 24px; font-size:28px; }
.checkout-summary-items { display:grid; }
.checkout-summary-items article { padding:18px 0; display:grid; grid-template-columns:82px 1fr auto; align-items:center; gap:16px; border-bottom:1px solid var(--line); }
.checkout-summary-items article > div { position:relative; width:82px; height:82px; padding:5px; border-radius:15px; display:grid; place-items:center; background:var(--ice); }
.checkout-summary-items img { width:100%; height:100%; object-fit:contain; }
.checkout-summary-items article > div span { position:absolute; right:-6px; top:-6px; min-width:27px; height:27px; padding:0 6px; border-radius:20px; display:grid; place-items:center; background:var(--navy); color:#fff; font-size:12px; font-weight:850; }
.checkout-summary-items p { margin:0; display:grid; gap:4px; }
.checkout-summary-items p strong { font-size:16px; }
.checkout-summary-items p small { color:var(--muted); font-size:13px; }
.checkout-summary-items article > b { font-size:16px; }
.checkout-summary dl { margin:25px 0; display:grid; gap:15px; }
.checkout-summary dl div { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:16px; }
.checkout-summary dd { margin:0; color:var(--navy); font-weight:800; }
.checkout-summary .checkout-total { margin-top:7px; padding-top:21px; border-top:1px solid var(--line); color:var(--navy); font-size:24px; font-weight:900; }
.checkout-summary .checkout-total dd { font-size:32px; }
.checkout-pay-button { width:100%; min-height:70px; border:0; border-radius:999px; background:var(--cyan); color:#fff; font-size:18px; font-weight:900; cursor:pointer; box-shadow:0 12px 27px rgba(1,158,187,.2); }
.checkout-security { margin-top:20px; display:flex; align-items:center; justify-content:center; gap:11px; color:var(--muted); font-size:12px; line-height:1.5; text-align:left; }
.checkout-security svg { color:var(--cyan); }

/* Customer account */
.account-access-page,.account-page { min-height:100vh; background:#f3fafc; }
.account-access-shell { min-height:calc(100vh - 52px); padding:70px 24px; display:grid; place-items:center; background:radial-gradient(circle at 18% 18%,rgba(97,193,219,.22),transparent 28%),radial-gradient(circle at 82% 80%,rgba(1,158,187,.12),transparent 26%); }
.account-access-card { width:min(100%,580px); padding:45px; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:0 25px 70px rgba(16,32,59,.1); }
.account-access-icon { width:64px; height:64px; margin-bottom:22px; display:grid; place-items:center; border-radius:20px; background:var(--ice); color:var(--cyan); }
.account-access-icon svg { width:30px; height:30px; }
.account-access-card h1 { margin:10px 0 12px; font-family:Impact,"Arial Narrow",sans-serif; text-transform:uppercase; font-size:52px; font-weight:500; line-height:1; }
.account-access-card > p { color:var(--muted); font-size:14px; line-height:1.65; }
.account-form { margin-top:24px; display:grid; gap:17px; }
.account-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.account-form label { display:grid; gap:8px; color:var(--navy); font-size:12px; font-weight:850; }
.account-form input { width:100%; min-height:58px; padding:13px 16px; border:1px solid rgba(16,32,59,.18); border-radius:13px; color:var(--navy); background:#fff; font:inherit; font-size:16px; outline:none; }
.account-form input:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(1,158,187,.1); }
.account-form > button:not(.account-text-button) { min-height:58px; padding:0 20px; display:flex; align-items:center; justify-content:center; gap:9px; border:0; border-radius:999px; color:#fff; background:var(--cyan); font-weight:900; cursor:pointer; }
.account-text-button { border:0; background:transparent; color:var(--cyan); font-size:12px; font-weight:850; cursor:pointer; }
.account-preview-code { padding:14px 16px; display:flex; align-items:center; gap:11px; border:1px solid #a8dfc9; border-radius:13px; color:#167b64; background:#edfbf6; font-size:12px; }
.account-preview-code span { display:flex; flex-wrap:wrap; gap:4px; }
.account-form-error { margin:0; color:#b42318; font-size:12px; }
.account-switch { margin-top:27px; padding-top:22px; display:grid; gap:7px; border-top:1px solid var(--line); }
.account-switch p { margin:0; color:var(--muted); font-size:12px; }
.account-switch a { color:var(--cyan); font-weight:850; }
.account-empty { min-height:620px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
.account-empty > svg { width:62px; height:62px; padding:15px; border-radius:20px; color:var(--cyan); background:#fff; box-shadow:0 16px 40px rgba(16,32,59,.08); }
.account-empty h1 { margin:22px 0 8px; font-size:42px; }
.account-empty p { color:var(--muted); }
.account-empty > a { min-height:50px; padding:0 20px; display:flex; align-items:center; gap:8px; border-radius:999px; color:#fff; background:var(--cyan); font-weight:850; }
.account-hero { padding:58px 0; color:#fff; background:radial-gradient(circle at 82% 35%,rgba(97,193,219,.35),transparent 28%),var(--navy); }
.account-hero h1 { margin:10px 0 8px; font-family:Impact,"Arial Narrow",sans-serif; text-transform:uppercase; font-size:58px; font-weight:500; }
.account-hero p { margin:0; color:#c6d2e0; }
.account-dashboard { padding-top:40px; padding-bottom:75px; display:grid; grid-template-columns:280px 1fr; align-items:start; gap:28px; }
.account-sidebar { padding:27px; display:flex; flex-direction:column; align-items:center; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 14px 40px rgba(16,32,59,.05); }
.account-avatar { width:72px; height:72px; margin-bottom:13px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--cyan); }
.account-avatar svg { width:34px; height:34px; }
.account-sidebar > strong { font-size:17px; }
.account-sidebar > span { margin-top:4px; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.account-sidebar nav { width:100%; margin:24px 0 18px; padding:16px 0; display:grid; gap:5px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.account-sidebar nav a,.account-sidebar > button { min-height:43px; padding:0 12px; display:flex; align-items:center; gap:10px; border:0; border-radius:10px; background:transparent; color:var(--navy); font-size:12px; font-weight:800; cursor:pointer; }
.account-sidebar nav a.is-active,.account-sidebar nav a:hover { color:var(--cyan); background:var(--ice); }
.account-sidebar svg { width:17px; }
.account-sidebar > button { width:100%; color:#a33b34; }
.account-main { display:grid; gap:23px; }
.account-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.account-stat-grid article { min-height:150px; padding:23px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); border-radius:22px; background:#fff; }
.account-stat-grid svg { color:var(--cyan); }
.account-stat-grid span { margin-top:auto; color:var(--muted); font-size:11px; }
.account-stat-grid strong { margin-top:5px; font-size:16px; overflow-wrap:anywhere; }
.account-latest { padding:29px; border:1px solid var(--line); border-radius:24px; background:#fff; }
.account-latest h2 { margin:7px 0 22px; font-size:28px; }
.account-latest > article { min-height:68px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:25px; border-top:1px solid var(--line); }
.account-latest > article > div { display:grid; gap:3px; }
.account-latest > article span { color:var(--muted); font-size:11px; }
.account-latest > article b { padding:7px 10px; border-radius:999px; color:#167b64; background:#edfbf6; font-size:10px; }
.account-no-orders { min-height:170px; padding:25px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-radius:18px; background:var(--ice); color:var(--muted); }
.account-no-orders svg { color:var(--cyan); }
.account-no-orders p { margin:9px 0; }
.account-no-orders a { color:var(--cyan); font-weight:850; }
.orders-page { min-height:650px; padding-top:55px; padding-bottom:75px; }
.orders-page h1 { margin:10px 0 28px; font-family:Impact,"Arial Narrow",sans-serif; text-transform:uppercase; font-size:60px; font-weight:500; }
.orders-back { margin-bottom:34px; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; font-weight:800; }
.orders-back svg { width:17px; }
.orders-list { display:grid; gap:12px; }
.orders-list article { min-height:92px; padding:19px 23px; display:grid; grid-template-columns:minmax(250px,1fr) auto auto auto; align-items:center; gap:30px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.orders-list article > div { display:flex; align-items:center; gap:14px; }
.orders-list article > div > svg { width:42px; height:42px; padding:10px; border-radius:13px; color:var(--cyan); background:var(--ice); }
.orders-list article > div span { display:grid; gap:4px; }
.orders-list small,.orders-list article > span { color:var(--muted); font-size:11px; }
.orders-list b { padding:7px 10px; border-radius:999px; color:#167b64; background:#edfbf6; font-size:10px; }

/* Administration preview */
.admin-login-page { min-height:100vh; padding:45px 20px; display:grid; place-items:center; background:radial-gradient(circle at 25% 18%,rgba(1,158,187,.22),transparent 26%),linear-gradient(135deg,#0d1c35,#14385b); }
.admin-login-card { width:min(100%,500px); padding:42px; border:1px solid rgba(255,255,255,.14); border-radius:30px; background:#fff; box-shadow:0 30px 90px rgba(0,0,0,.3); }
.admin-login-logo { width:145px; height:45px; margin-bottom:30px; display:block; }
.admin-login-logo img { width:100%; height:100%; object-fit:contain; object-position:left center; }
.admin-lock { width:60px; height:60px; margin-bottom:20px; display:grid; place-items:center; border-radius:19px; color:var(--cyan); background:var(--ice); }
.admin-login-card h1 { margin:9px 0 10px; font-size:34px; }
.admin-login-card > p { color:var(--muted); font-size:13px; line-height:1.6; }
.admin-login-form { margin-top:24px; display:grid; gap:16px; }
.admin-login-form label { display:grid; gap:8px; color:var(--navy); font-size:12px; font-weight:850; }
.admin-login-form label span { display:flex; align-items:center; gap:7px; }
.admin-login-form label svg { width:15px; }
.admin-login-form input { width:100%; min-height:56px; padding:13px 15px; border:1px solid rgba(16,32,59,.17); border-radius:13px; color:var(--navy); font:inherit; outline:none; }
.admin-login-form input:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(1,158,187,.1); }
.admin-login-form button { min-height:56px; display:flex; align-items:center; justify-content:center; gap:9px; border:0; border-radius:999px; color:#fff; background:var(--navy); font-weight:900; cursor:pointer; }
.admin-login-form button svg { width:18px; }
.admin-config-message { margin-top:16px; padding:14px; display:flex; align-items:flex-start; gap:10px; border:1px solid #f0cf8c; border-radius:13px; color:#8a5d09; background:#fff8e8; font-size:11px; line-height:1.55; }
.admin-config-message svg { flex:0 0 auto; width:18px; }
.admin-preview-link { min-height:44px; margin-top:15px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:999px; color:var(--cyan); background:var(--ice); font-size:11px; font-weight:850; }
.admin-preview-link svg { width:17px; }
.admin-preview-page { min-height:100vh; display:grid; grid-template-columns:250px 1fr; background:#f4f8fa; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:30px 22px; display:flex; flex-direction:column; color:#fff; background:var(--navy); }
.admin-logo { width:145px; height:42px; padding:5px 9px; display:block; border-radius:10px; background:#fff; }
.admin-logo img { width:100%; height:100%; object-fit:contain; }
.admin-mode { width:max-content; margin-top:20px; padding:7px 10px; display:flex; align-items:center; gap:7px; border-radius:999px; color:#aeeaf4; background:rgba(97,193,219,.12); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.admin-mode svg { width:14px; }
.admin-sidebar nav { margin-top:35px; display:grid; gap:6px; }
.admin-sidebar nav a,.admin-logout { min-height:45px; padding:0 13px; display:flex; align-items:center; gap:11px; border-radius:11px; color:#b9c6d7; font-size:12px; font-weight:800; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.is-active { color:#fff; background:rgba(255,255,255,.1); }
.admin-sidebar nav svg,.admin-logout svg { width:18px; }
.admin-logout { margin-top:auto; color:#ffcfca; }
.admin-content { min-width:0; padding:35px; }
.admin-content > header { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.admin-content h1 { margin:7px 0 5px; font-size:36px; }
.admin-content header p { margin:0; color:var(--muted); font-size:13px; }
.admin-profile { display:flex; align-items:center; gap:11px; }
.admin-profile > span { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--cyan); font-weight:900; }
.admin-profile div { display:grid; gap:3px; }
.admin-profile strong { font-size:12px; }
.admin-profile small { color:var(--muted); font-size:9px; }
.admin-preview-banner { margin-top:25px; padding:15px 18px; display:flex; align-items:center; gap:12px; border:1px solid #b9dfe8; border-radius:14px; color:#17677a; background:#eafbfe; font-size:11px; }
.admin-preview-banner svg { width:20px; }
.admin-preview-banner span { display:flex; flex-wrap:wrap; gap:5px; }
.admin-stats { margin-top:20px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.admin-stats article { min-height:155px; padding:21px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(16,32,59,.035); }
.admin-stats svg { color:var(--cyan); }
.admin-stats span { margin-top:auto; color:var(--muted); font-size:10px; }
.admin-stats strong { margin:4px 0 2px; font-size:25px; }
.admin-stats small { color:#97a4b4; font-size:9px; }
.admin-orders { margin-top:20px; padding:25px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.admin-section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; }
.admin-section-heading h2 { margin:6px 0 0; font-size:25px; }
.admin-section-heading label { min-width:270px; min-height:43px; padding:0 13px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:11px; }
.admin-section-heading label svg { width:17px; color:var(--muted); }
.admin-section-heading input { width:100%; border:0; outline:none; color:var(--navy); font:inherit; font-size:11px; }
.admin-table { margin-top:20px; min-width:790px; }
.admin-orders { overflow-x:auto; }
.admin-table-head,.admin-table article { display:grid; grid-template-columns:1.1fr 1.25fr .7fr .7fr .55fr; align-items:center; gap:18px; }
.admin-table-head { min-height:38px; padding:0 13px; color:var(--muted); background:#f7fafb; border-radius:9px; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-table article { min-height:72px; padding:11px 13px; border-bottom:1px solid var(--line); font-size:11px; }
.admin-table article > div { display:grid; gap:3px; }
.admin-table article small { color:var(--muted); font-size:9px; }
.admin-customer-type { color:var(--muted); }
.admin-status { width:max-content; padding:6px 9px; border-radius:999px; color:#805b09; background:#fff7df; font-size:9px; }
.admin-status.status-odeslana { color:#167b64; background:#edfbf6; }
.admin-status.status-prijata { color:#17677a; background:#eafbfe; }
.admin-panel-section { margin-top:20px; padding:25px; scroll-margin-top:20px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.admin-customer-cards,.admin-product-cards,.admin-settings-grid { margin-top:20px; display:grid; gap:12px; }
.admin-customer-cards article { min-height:68px; padding:12px 14px; display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:14px; border:1px solid var(--line); border-radius:14px; }
.admin-customer-cards article > span { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--cyan); font-weight:900; }
.admin-customer-cards article > div { display:grid; gap:3px; }
.admin-customer-cards small { color:var(--muted); }
.admin-customer-cards b { padding:6px 9px; border-radius:999px; color:#17677a; background:var(--ice); font-size:9px; }
.admin-customer-cards p { margin:0; font-weight:900; }
.admin-product-cards { grid-template-columns:repeat(3,1fr); }
.admin-product-cards article { min-height:125px; padding:20px; display:grid; grid-template-columns:auto 1fr; align-items:start; gap:13px; border:1px solid var(--line); border-radius:17px; }
.admin-product-cards article > svg { width:39px; height:39px; padding:9px; border-radius:12px; color:var(--cyan); background:var(--ice); }
.admin-product-cards article > div { display:grid; gap:4px; }
.admin-product-cards small { color:var(--muted); line-height:1.4; }
.admin-product-cards b { grid-column:2; font-size:17px; }
.admin-settings-grid { grid-template-columns:repeat(3,1fr); }
.admin-settings-grid article { padding:20px; display:grid; grid-template-columns:auto 1fr; align-items:start; gap:13px; border:1px solid var(--line); border-radius:17px; }
.admin-settings-grid article > svg { color:var(--cyan); }
.admin-settings-grid article > div { display:grid; gap:6px; }
.admin-settings-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.5; }
.admin-settings-grid article > span { grid-column:2; width:max-content; padding:6px 9px; display:flex; align-items:center; gap:5px; border-radius:999px; color:#167b64; background:#edfbf6; font-size:9px; font-weight:850; }
.admin-settings-grid article > span svg { width:12px; }
.admin-settings-grid article > span.is-planned { color:#805b09; background:#fff7df; }
.admin-login-page + .site-footer,.admin-preview-page + .site-footer { display:none; }

/* Thank-you page */
.thank-you-page { background:#f4fafc; }
.thank-you-hero { overflow:hidden; background:radial-gradient(circle at 82% 35%,rgba(97,193,219,.32),transparent 30%),linear-gradient(120deg,#0d1c35,#14385b); color:#fff; }
.thank-you-grid { min-height:520px; display:grid; grid-template-columns:minmax(0,1fr) 460px; align-items:center; gap:50px; }
.thank-you-copy { position:relative; z-index:2; padding:60px 0; }
.thank-you-check { width:70px; height:70px; margin-bottom:22px; display:grid; place-items:center; border-radius:50%; background:var(--cyan); color:#fff; box-shadow:0 16px 35px rgba(1,158,187,.28); }
.thank-you-copy h1 { max-width:820px; margin:13px 0 20px; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(60px,7vw,108px); font-weight:500; line-height:.98; text-transform:uppercase; }
.thank-you-copy > p { max-width:670px; margin:0; color:#d5dde8; font-size:17px; line-height:1.7; }
.thank-you-actions { margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.thank-you-contact-link { color:#fff; font-size:13px; font-weight:850; text-decoration:underline; text-underline-offset:5px; }
.thank-you-mascot { align-self:end; height:500px; display:flex; align-items:flex-end; justify-content:center; }
.thank-you-mascot img { width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 24px 30px rgba(0,0,0,.22)); }
.thank-you-details { padding:42px 0 58px; }
.thank-you-demo-note { margin-bottom:25px; padding:18px 22px; display:flex; align-items:center; gap:15px; border:1px solid rgba(1,158,187,.2); border-radius:18px; background:#e5f7fa; color:var(--cyan); }
.thank-you-demo-note p { margin:0; display:grid; gap:3px; }
.thank-you-demo-note strong { color:var(--navy); font-size:14px; }
.thank-you-demo-note span { color:var(--muted); font-size:12px; line-height:1.55; }
.post-purchase-account { margin-bottom:25px; padding:20px 22px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; border:1px solid rgba(1,158,187,.25); border-radius:18px; background:var(--ice); }
.post-purchase-account > svg { width:42px; height:42px; padding:10px; border-radius:13px; color:#fff; background:var(--cyan); }
.post-purchase-account > div { display:grid; gap:4px; }
.post-purchase-account span { color:var(--muted); font-size:11px; line-height:1.5; }
.post-purchase-account a { min-height:43px; padding:0 15px; display:flex; align-items:center; gap:7px; border-radius:999px; color:#fff; background:var(--navy); font-size:11px; font-weight:850; }
.post-purchase-account a svg { width:16px; }
.thank-you-steps { max-width:900px; margin-inline:auto; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.thank-you-steps article { position:relative; min-height:220px; padding:30px; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 14px 40px rgba(16,32,59,.05); }
.thank-you-steps article > svg { width:30px; height:30px; color:var(--cyan); }
.thank-you-steps article > span { position:absolute; right:25px; top:24px; color:#d8f3f7; font-family:Impact,"Arial Narrow",sans-serif; font-size:54px; line-height:1; }
.thank-you-steps h2 { margin:22px 0 10px; font-size:21px; }
.thank-you-steps p { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }

.welcome-video-layer { position:fixed; inset:0; z-index:100; overflow:hidden; background:transparent; pointer-events:none; opacity:1; transition:opacity .4s ease, visibility .4s ease; }
.welcome-video-layer.is-leaving { opacity:0; visibility:hidden; pointer-events:none; }
.welcome-video-player { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:transparent; pointer-events:none; }
.welcome-video-skip { position:absolute; right:clamp(18px,3vw,44px); top:clamp(18px,3vw,38px); min-height:42px; padding:0 18px; border:1px solid rgba(16,32,59,.18); border-radius:999px; background:rgba(255,255,255,.85); color:var(--navy); font-size:12px; font-weight:850; cursor:pointer; pointer-events:auto; backdrop-filter:blur(12px); box-shadow:0 8px 30px rgba(16,32,59,.09); }
.welcome-video-skip:hover { background:#fff; }

@media (max-width: 1240px) {
  .phone-action span { display:none; }
}

@media (max-width: 820px) {
  .desktop-nav { display:none; }
  .phone-action,
  .account-action,
  .cart,
  .mobile-menu { width:44px; min-width:44px; height:44px; padding:0; justify-content:center; }
  .mobile-menu { display:inline-flex; }
}

@media (max-width: 900px) {
  .hero { background:linear-gradient(180deg,var(--navy) 0 51%,#f2fbfd 51% 100%); }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { min-height:570px; padding-right:0; text-align:center; align-items:center; }
  .hero-visual { min-height:610px; }
  .product-stage { max-width:740px; }
  .trust-grid { grid-template-columns:1fr; padding:15px 0; }
  .trust-grid > div { border-right:0; border-bottom:1px solid var(--line); padding:20px 0; }
  .trust-grid > div:last-child { border-bottom:0; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .product-card:last-child { grid-column:1 / -1; max-width:50%; justify-self:center; }
  .needs-grid { grid-template-columns:repeat(2,1fr); }
  .bundle-card { grid-template-columns:1fr; }
  .bundle-copy { padding:60px; }
  .bundle-image { height:450px; }
  .detail-hero-grid { grid-template-columns:1fr; }
  .detail-product-visual { height:500px; }
  .product-gallery-carousel { padding-bottom:25px; }
  .detail-summary { padding:20px 0; }
  .detail-two-column, .bundle-value-grid { grid-template-columns:1fr; gap:45px; }
  .product-overview-grid, .product-technology-grid, .product-safety-grid { grid-template-columns:1fr; gap:35px; }
  .ingredient-grid, .ingredient-grid.ingredient-count-3 { grid-template-columns:repeat(2,1fr); }
  .benefit-grid, .info-grid { grid-template-columns:repeat(2,1fr); }
  .detail-benefits .detail-heading, .product-composition-section .detail-heading { grid-template-columns:1fr; align-items:start; gap:8px; }
  .product-faq-section .faq-layout > div:first-child { grid-template-columns:1fr; align-items:start; gap:8px; }
  .where-to-buy-heading { grid-template-columns:1fr; align-items:start; gap:10px; }
  .where-to-buy-grid { grid-template-columns:1fr; }
  .pharmacy-availability { grid-template-columns:1fr; }
  .distribution-partners { padding:18px 0 0; border-top:1px solid rgba(255,255,255,.13); border-left:0; }
  .info-grid article:last-child { grid-column:1 / -1; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid > div:last-child { grid-column:1 / -1; max-width:50%; width:100%; justify-self:center; }
  .product-bundle-strip-list { grid-template-columns:repeat(7,156px); overflow-x:auto; padding:0 2px 8px; scroll-snap-type:x proximity; scrollbar-width:thin; }
  .product-bundle-mini-card { scroll-snap-align:start; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-help { display:flex; }
  .footer-lower-grid { grid-template-columns:1fr; gap:14px; }
  .footer-legal { padding:14px 0 0; border-top:1px solid rgba(255,255,255,.09); border-left:0; }
  .values-grid, .topic-grid, .process-grid { grid-template-columns:repeat(2,1fr); }
  .complaint-policy-heading { display:block; }
  .complaint-policy-heading h2 { margin-top:10px; }
  .withdrawal-form-card { grid-template-columns:1fr; gap:24px; }
  .withdrawal-form-card address { padding:20px 0 0; border-top:1px solid rgba(255,255,255,.16); border-left:0; }
  .home-advice-grid { grid-template-columns:1fr; gap:30px; }
  .certificates-heading { grid-template-columns:1fr; gap:12px; align-items:start; }
  .certificates-grid { grid-template-columns:1fr; max-width:680px; }
  .about-intro, .about-manufacturer-grid, .faq-layout, .form-layout, .content-grid { grid-template-columns:1fr; gap:45px; }
  .content-aside { position:static; }
  .subpage-hero.has-visual .subpage-hero-grid { grid-template-columns:1fr 330px; }
  .subpage-hero-visual { height:410px; }
  .contact-page-grid { grid-template-columns:repeat(2,1fr); }
  .bundle-overview-hero-grid { grid-template-columns:1fr; gap:35px; }
  .bundle-overview-stat { width:max-content; }
  .bundle-overview-mascot { height:400px; margin:0; }
  .bundle-overview-card, .bundle-overview-card.is-reversed { grid-template-columns:1fr; }
  .bundle-overview-card.is-reversed .bundle-overview-image { order:0; }
  .bundle-overview-image { min-height:420px; }
  .bundle-product-chapter-grid { grid-template-columns:250px minmax(0,1fr); gap:28px; padding:24px; }
  .bundle-product-chapter-image { height:230px; }
  .thank-you-grid { grid-template-columns:1fr 340px; gap:20px; }
  .thank-you-mascot { height:390px; }
}

@media (max-width: 700px) {
  .shell { width:min(100% - 30px, 1240px); }
  .topbar-inner span:first-child { display:none; }
  .topbar-inner { justify-content:center; }
  .nav { height:70px; }
  .brand-logo-shell { width:123px; height:42px; }
  .header.is-scrolled .brand-logo-shell { width:40px; height:40px; }
  .phone-action span { display:none; }
  .hero { min-height:0; background:var(--navy); }
  .hero-grid { min-height:0; display:flex; flex-direction:column; }
  .hero-copy { position:relative; z-index:3; min-height:0; padding:34px 0 28px; }
  .hero h1 { margin:13px 0 14px; font-size:48px; line-height:1.02; }
  .hero-copy > p { margin:0 0 16px; font-size:14px; line-height:1.5; }
  .hero-proof { margin-top:16px; }
  .hero-visual { position:relative; z-index:2; left:auto; right:auto; bottom:auto; min-height:330px; height:330px; background:#f2fbfd; box-shadow:0 0 0 100vmax #f2fbfd; clip-path:inset(0 -100vmax); }
  .product-stage { height:330px; }
  .hero-product-left { width:43%; left:0; top:35px; }
  .hero-product-center { width:45%; left:27%; top:3px; }
  .hero-product-right { width:41%; right:-2%; top:43px; }
  .orbit-one { width:285px; height:285px; }
  .orbit-two { width:345px; height:345px; }
  .floating-label { top:8px; right:5px; }
  .floating-note { left:15px; bottom:12px; }
  .section { padding:48px 0; }
  .split-heading { grid-template-columns:1fr; }
  .section-heading h2, .bundle-copy h2, .story-grid h2 { font-size:43px; }
  .product-grid { grid-template-columns:1fr; }
  .product-card:last-child { grid-column:auto; max-width:none; }
  .card-media { height:340px; }
  .complaint-policy-section { padding:42px 0; }
  .complaint-policy-grid { grid-template-columns:1fr; }
  .complaint-policy-grid .complaint-policy-wide { grid-column:auto; }
  .withdrawal-form-card { padding:24px; }
  .withdrawal-form-card > div > a { width:100%; justify-content:center; }
  .needs-grid { grid-template-columns:1fr; }
  .need-card { min-height:120px; }
  .bundle-section { padding-top:40px; }
  .bundle-card { width:calc(100% - 22px); border-radius:26px; }
  .bundle-copy { padding:44px 28px 24px; }
  .bundle-image { height:340px; }
  .bundle-overview-hero { padding:58px 0; }
  .bundle-overview-hero h1 { font-size:56px; }
  .bundle-overview-stat { min-width:0; width:100%; }
  .bundle-overview-mascot { height:330px; margin:0; }
  .bundle-overview-list { padding:38px 0 62px; }
  .bundle-overview-card { border-radius:24px; }
  .bundle-overview-image { min-height:330px; }
  .bundle-overview-copy { padding:34px 25px; }
  .bundle-overview-buy { align-items:flex-start; flex-direction:column; }
  .bundle-overview-buy > a { width:100%; justify-content:center; }
  .bundle-products-intro { padding:45px 0; }
  .bundle-products-intro nav { align-items:stretch; flex-direction:column; }
  .bundle-products-intro nav a { justify-content:flex-start; }
  .bundle-product-chapter { padding:24px 0 14px; }
  .bundle-product-chapter-grid { grid-template-columns:1fr; gap:22px; padding:20px; border-radius:23px; }
  .bundle-product-chapter-image { height:250px; }
  .bundle-product-chapter h2 { font-size:48px; }
  .story-grid { grid-template-columns:1fr; gap:30px; }
  .home-advice-links { grid-template-columns:1fr; }
  .contact-inner { align-items:flex-start; flex-direction:column; }
  .detail-hero { padding-bottom:65px; }
  .detail-product-visual { height:390px; }
  .bundle-product-visual img { inset:18px; width:calc(100% - 36px); height:calc(100% - 36px); }
  .detail-product-visual:before { width:300px; height:300px; }
  .detail-orbit { width:350px; height:350px; }
  .gallery-expand { right:4%; bottom:4%; }
  .gallery-arrow { width:40px; height:40px; }
  .gallery-arrow.previous { left:1%; }
  .gallery-arrow.next { right:1%; }
  .gallery-thumbnails { justify-content:flex-start; }
  .gallery-lightbox { padding:55px 15px; }
  .lightbox-arrow.previous { left:12px; }
  .lightbox-arrow.next { right:12px; }
  .detail-summary h1 { font-size:52px; }
  .product-bundle-strip { padding:13px 0 9px; }
  .product-bundle-strip-heading { align-items:flex-start; }
  .product-bundle-strip-heading > div { display:block; }
  .product-bundle-strip-heading h2 { margin-top:3px; font-size:15px; }
  .product-bundle-strip-heading > a { padding-top:2px; }
  .product-bundle-strip-list { margin-right:-15px; grid-template-columns:repeat(7,148px); }
  .product-bundle-mini-card { height:108px; grid-template-columns:65px minmax(0,1fr); }
  .product-bundle-mini-image { width:65px; height:86px; }
  .product-bundle-mini-copy b { font-size:18px; }
  .detail-purchase { align-items:stretch; flex-direction:column; }
  .quantity { width:130px; justify-content:space-between; }
  .benefit-grid, .info-grid, .gallery-grid { grid-template-columns:1fr; }
  .info-grid article:nth-child(3) ol { grid-template-columns:1fr; }
  .benefit-grid > div { min-height:64px; }
  .product-faq-section .faq-list { grid-template-columns:1fr; }
  .advice-faq-layout > div:first-child { grid-template-columns:1fr; align-items:start; gap:8px; }
  .advice-faq-list { grid-template-columns:1fr; gap:0; }
  .where-to-buy-section { padding:25px 0 27px; }
  .where-to-buy-card { padding:18px; }
  .wholesale-card { grid-template-columns:40px minmax(0,1fr); }
  .wholesale-card .where-to-buy-action { grid-column:2; width:100%; margin-top:2px; }
  .direct-shop-card ul { grid-template-columns:1fr; }
  .partner-logo-circle { width:74px; height:74px; }
  .pharmacy-availability { padding:18px; }
  .info-grid article:last-child, .gallery-grid > div:last-child { grid-column:auto; max-width:none; }
  .check-list { grid-template-columns:1fr; }
  .gallery-grid > div { height:330px; }
  .ingredient-grid, .ingredient-grid.ingredient-count-3, .composition-columns { grid-template-columns:1fr; }
  .composition-columns:not(.is-single) article:nth-child(2) span { flex-basis:calc(50% - 8px); }
  .composition-columns.is-single article { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-bottom-cta .shell { align-items:flex-start; flex-direction:column; }
  .welcome-video-player { width:100vw; height:100vh; }
  .subpage-hero { padding:64px 0; }
  .subpage-hero.has-visual { padding:0; }
  .subpage-hero.has-visual .subpage-hero-grid { min-height:auto; grid-template-columns:1fr; gap:0; }
  .subpage-hero-copy { padding:60px 0 15px; }
  .subpage-hero-visual { height:290px; }
  .subpage-hero-visual img { max-height:300px; }
  .subpage-hero h1 { font-size:52px; }
  .subpage-hero p { font-size:15px; }
  .content-section, .faq-section, .form-section { padding:58px 0; }
  .certificates-grid > a { padding:18px; grid-template-columns:105px minmax(0,1fr); gap:18px; }
  .certificates-grid > a > img { height:170px; }
  .certificates-grid strong { font-size:18px; }
  .footer-main { grid-template-columns:1fr; gap:28px; padding:38px 0 30px; }
  .footer-lower-grid { min-height:0; padding:22px 0; }
  .footer-certificates { flex-wrap:wrap; }
  .footer-certificates > div { width:100%; }
  .footer-legal > div, .page-cta .shell { align-items:flex-start; flex-direction:column; justify-content:center; }
  .footer-legal > div span + span::before { display:none; }
  .values-grid, .topic-grid, .process-grid { grid-template-columns:1fr; }
  .complaint-form .form-row { grid-template-columns:1fr; }
  .complaint-form { padding:22px; }
  .about-manufacturer h2 { font-size:46px; }
  .page-cta h2 { font-size:34px; }
  .contact-page-grid, .company-contact-grid { grid-template-columns:1fr; gap:30px; }
  .company-contact dl { grid-template-columns:1fr; }
  .company-contact dl div { border-right:0; }
  .company-contact dl div:nth-last-child(2) { border-bottom:1px solid var(--line); }
  .thank-you-grid { grid-template-columns:1fr; min-height:0; }
  .thank-you-copy { padding:50px 0 20px; }
  .thank-you-copy h1 { font-size:58px; }
  .thank-you-mascot { height:330px; }
  .thank-you-steps { grid-template-columns:1fr; }
  .post-purchase-account { grid-template-columns:auto 1fr; }
  .post-purchase-account a { grid-column:1 / -1; justify-content:center; }
  .checkout-heading { padding:38px 0 34px; }
  .checkout-heading h1 { font-size:56px; }
  .checkout-progress { max-width:270px; display:grid; grid-template-columns:40px minmax(0,1fr); justify-content:start; gap:9px 12px; }
  .checkout-progress i { display:none; }
  .checkout-progress strong { align-self:center; white-space:normal; font-size:12px; }
  .checkout-layout { padding-top:28px; padding-bottom:48px; }
  .checkout-panel,.checkout-summary { padding:23px 18px; border-radius:21px; }
  .checkout-fields.two-columns { grid-template-columns:1fr; }
  .full-field { grid-column:auto; }
  .checkout-options label { padding:16px; grid-template-columns:auto 1fr auto; gap:11px; }
  .checkout-options label > input { grid-row:1 / span 2; }
  .checkout-options label > svg { display:none; }
  .checkout-options label > span { min-width:0; }
  .checkout-options b { font-size:13px; }
  .checkout-summary-items article { grid-template-columns:64px minmax(0,1fr) auto; gap:10px; }
  .checkout-summary-items article > div { width:64px; height:64px; }
  .checkout-empty { padding:38px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
  .welcome-video-layer { display:none; }
  .product-stage .hero-product { opacity:1 !important; }
}

@media (max-width:900px) {
  .checkout-layout { grid-template-columns:1fr; }
  .checkout-summary { position:static; }
  .checkout-account-choice { grid-template-columns:auto 1fr; }
  .checkout-account-choice > div:last-child,.checkout-account-choice > a { grid-column:1 / -1; justify-self:stretch; }
  .checkout-account-choice > div:last-child a { flex:1; }
  .account-dashboard { grid-template-columns:1fr; }
  .account-sidebar { align-items:flex-start; }
  .account-sidebar nav { grid-template-columns:repeat(3,1fr); }
  .account-stat-grid { grid-template-columns:1fr 1fr; }
  .account-stat-grid article:last-child { grid-column:1 / -1; }
  .admin-preview-page { grid-template-columns:76px 1fr; }
  .admin-sidebar { padding:22px 12px; align-items:center; }
  .admin-logo { width:48px; overflow:hidden; }
  .admin-logo img { width:130px; max-width:none; object-position:left center; }
  .admin-mode span,.admin-sidebar nav a:not(.is-active) span { display:none; }
  .admin-mode { padding:7px; }
  .admin-sidebar nav a,.admin-logout { width:46px; padding:0; justify-content:center; font-size:0; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .admin-product-cards,.admin-settings-grid { grid-template-columns:1fr; }
}

@media (max-width:700px) {
  .account-nav-menu { right:-50px; width:240px; }
  .account-access-shell { padding:35px 15px; }
  .account-access-card { padding:30px 22px; border-radius:24px; }
  .account-access-card h1 { font-size:43px; }
  .account-form-row { grid-template-columns:1fr; }
  .checkout-account-choice { padding:18px; }
  .checkout-account-choice > span { display:none; }
  .checkout-account-choice { grid-template-columns:1fr; }
  .checkout-account-choice > div:last-child { grid-column:auto; justify-content:stretch; }
  .checkout-account-choice > div:last-child a { width:100%; }
  .account-hero h1 { font-size:45px; }
  .account-sidebar nav { grid-template-columns:1fr; }
  .account-stat-grid { grid-template-columns:1fr; }
  .account-stat-grid article:last-child { grid-column:auto; }
  .account-latest > article { padding:14px 0; grid-template-columns:1fr auto; }
  .account-latest > article > strong { grid-column:1 / -1; }
  .orders-page h1 { font-size:48px; }
  .orders-list article { grid-template-columns:1fr auto; gap:12px; }
  .orders-list article > span { display:none; }
  .orders-list article > strong { grid-column:1 / -1; }
  .admin-login-card { padding:30px 22px; }
  .admin-preview-page { display:block; }
  .admin-sidebar { position:relative; width:100%; height:auto; padding:15px; flex-direction:row; gap:15px; }
  .admin-logo { width:145px; height:42px; overflow:visible; flex:0 0 auto; }
  .admin-logo img { width:100%; max-width:100%; object-position:center; }
  .admin-sidebar nav,.admin-mode { display:none; }
  .admin-logout { width:auto; margin:0 0 0 auto; padding:0 12px; font-size:10px; }
  .admin-content { padding:25px 15px; }
  .admin-content > header { align-items:flex-start; }
  .admin-profile div { display:none; }
  .admin-stats { grid-template-columns:1fr; }
  .admin-section-heading { align-items:stretch; flex-direction:column; }
  .admin-section-heading label { min-width:0; }
  .admin-customer-cards article { grid-template-columns:auto 1fr auto; }
  .admin-customer-cards p { grid-column:2 / -1; }
}
