:root{--navy:#002451;--deep:#001c42;--blue:#0868d7;--sky:#eaf5ff;--ink:#071d3e;--muted:#60718a;--line:#dce5ef;--white:#fff;--shadow:0 18px 45px rgba(0,38,85,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}button,input,textarea,select{font:inherit}button,a{transition:.2s ease}a{color:inherit;text-decoration:none}.topbar{height:40px;padding:0 max(4vw,24px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(100deg,#001c42,#003b79);color:#fff;font-size:12px}.site-header{height:116px;padding:0 max(4vw,24px);display:grid;grid-template-columns:245px 1fr 130px;align-items:center;gap:24px;background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #eef2f7}.brand{height:92px;overflow:hidden;display:flex;align-items:center}.brand img{width:218px;transform:scale(1.18)}nav{display:flex;justify-content:center;align-items:center;gap:34px;font-size:14px;font-weight:600}nav a:hover,nav a.active{color:var(--blue)}.header-tools{display:flex;justify-content:flex-end;gap:8px}.header-tools button,.mobile-menu{border:0;background:transparent;color:var(--ink);font-size:27px;cursor:pointer;position:relative}.cart-button b{position:absolute;right:-7px;top:-5px;width:19px;height:19px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px;display:grid;place-items:center}.mobile-menu{display:none}.hero{min-height:570px;background:url('../images/banner.png') center/cover no-repeat;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;padding:55px max(8vw,45px) 90px;position:relative}.hero-copy{max-width:660px}.eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-weight:800}.hero h1,.page-hero h1{font-size:clamp(43px,5vw,70px);line-height:1.04;margin:14px 0;color:#041d43;letter-spacing:-.04em}.hero h2{font-size:24px;color:#1675d8;margin:0 0 24px}.hero p,.page-hero p{font-size:17px;line-height:1.7;max-width:620px;color:#30445f}.hero-vials{width:min(560px,100%);justify-self:center;filter:drop-shadow(0 25px 24px rgba(0,40,88,.18))}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:16px 27px;font-weight:800;cursor:pointer}.primary{background:linear-gradient(120deg,#0757bb,#0878e8);color:#fff;box-shadow:0 10px 24px rgba(8,104,215,.2)}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,104,215,.28)}.secondary{border:1px solid #a7c7e9;color:var(--blue);background:#fff}.wide{width:100%}.benefits{width:min(1400px,88vw);margin:-70px auto 40px;position:relative;z-index:3;background:linear-gradient(110deg,#001b41,#003871);color:#fff;border-radius:26px;padding:33px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 22px 48px rgba(0,29,71,.2)}.benefit{display:grid;grid-template-columns:56px 1fr;gap:17px;align-items:center;padding:0 24px;border-right:1px solid rgba(255,255,255,.15)}.benefit:last-child{border:0}.benefit i{font-style:normal;font-size:38px}.benefit strong{display:block;font-size:14px;margin-bottom:8px}.benefit span{font-size:12px;line-height:1.55;color:#d3e3f7}.section{padding:70px max(5vw,35px)}.section.soft{background:#f7faff}.section-head{max-width:1400px;margin:0 auto 28px;display:flex;justify-content:space-between;align-items:end;gap:20px}.section-head h2{font-size:30px;margin:6px 0}.section-head p{color:var(--muted)}.filters{max-width:1400px;margin:0 auto 28px;display:flex;gap:10px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:999px;color:var(--muted);cursor:pointer}.filter.active,.filter:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.product-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{border:1px solid var(--line);border-radius:17px;padding:16px;background:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:460px}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-card figure{height:300px;margin:0 0 16px;background:#f5f9fd;border-radius:12px;overflow:hidden;cursor:pointer}.product-card img{width:100%;height:100%;object-fit:cover}.product-card h3{margin:0 0 7px;font-size:17px}.product-card .strength{font-size:12px;color:var(--muted);margin-bottom:8px}.product-card .card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.product-card .price{font-size:18px;font-weight:800}.icon-button{border:1px solid #b9d3ed;background:#fff;color:var(--blue);width:40px;height:40px;border-radius:10px;cursor:pointer}.icon-button:hover{background:var(--blue);color:#fff}.mini-label{position:absolute;top:29px;left:29px;background:rgba(255,255,255,.92);color:var(--blue);padding:6px 9px;border-radius:6px;font-size:10px;font-weight:800}.page-hero{min-height:390px;background:url('../images/banner.png') center/cover no-repeat;display:flex;align-items:center;padding:55px max(8vw,45px)}.page-hero .content{max-width:630px}.page-hero h1{font-size:52px}.dark-strip{max-width:1400px;margin:20px auto;border-radius:22px;background:linear-gradient(100deg,#001c43,#00346b);color:#fff;padding:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.dark-strip strong{display:block;font-size:21px}.dark-strip span{font-size:12px;color:#d9e8f8}.about-grid,.contact-grid,.product-detail,.checkout-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.info-card{padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(0,40,80,.05)}.info-card h3{font-size:21px}.info-card p,.info-card li{color:#52657e;line-height:1.7}.lab-photo{min-height:420px;background:linear-gradient(rgba(235,246,255,.1),rgba(235,246,255,.1)),url('../images/banner.png') center/cover;border-radius:24px;display:grid;place-items:center}.lab-photo img{width:70%;filter:drop-shadow(0 18px 30px rgba(0,38,85,.2))}.values-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.faq{max-width:1200px;margin:auto}.faq-item{border:1px solid var(--line);border-radius:15px;margin:12px 0;background:#fff;overflow:hidden}.faq-q{width:100%;border:0;background:#fff;padding:25px;text-align:left;color:var(--ink);font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.faq-a{display:none;padding:0 25px 24px;color:#52657e;line-height:1.65}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q{color:var(--blue)}.contact-grid{align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.field{width:100%;border:1px solid var(--line);border-radius:10px;padding:15px;background:#fff}.field:focus{outline:2px solid #badcff;border-color:var(--blue)}textarea.field{min-height:150px;resize:vertical}.contact-line{display:grid;grid-template-columns:42px 1fr;gap:15px;margin:24px 0}.contact-line i{font-style:normal;width:42px;height:42px;border:1px solid #9ec7f1;border-radius:50%;display:grid;place-items:center;color:var(--blue)}.breadcrumb{max-width:1400px;margin:auto;padding:28px 5vw 0;color:var(--muted);font-size:13px}.product-detail{padding:35px max(5vw,35px) 70px;align-items:start}.product-gallery{display:grid;grid-template-columns:90px 1fr;gap:20px}.thumbs img{width:80px;height:100px;object-fit:cover;border:1px solid var(--line);border-radius:10px;margin-bottom:11px}.main-product-image{width:100%;height:650px;object-fit:contain;background:#f5f9fd;border-radius:18px}.product-info h1{font-size:44px;margin:0 0 8px}.product-info .big-strength{font-size:22px;color:var(--blue);font-weight:800}.facts{list-style:none;padding:14px 0;border-bottom:1px solid var(--line)}.facts li{margin:13px 0}.facts li:before{content:'✓';color:var(--blue);font-weight:800;margin-right:10px}.big-price{font-size:32px;color:#0868d7;font-weight:800}.buy-row{display:flex;gap:14px;margin:25px 0}.qty{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.qty button,.qty span{border:0;background:#fff;padding:14px}.tabs{max-width:1400px;margin:0 auto 70px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.tab-buttons{display:flex;gap:0;border-bottom:1px solid var(--line)}.tab-buttons button{padding:17px 22px;border:0;background:#fff;color:var(--muted);cursor:pointer}.tab-buttons button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.tab-content{padding:32px;line-height:1.7;color:#50627a;min-height:170px;background:linear-gradient(90deg,#fff,#f7fbff)}.file-list{max-width:1200px;margin:auto}.file-row{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:18px;border:1px solid var(--line);padding:17px 20px;border-radius:13px;margin:11px 0;background:#fff}.file-row i{font-style:normal;font-size:28px;color:var(--blue)}.file-row button{border:0;background:#edf6ff;color:var(--blue);padding:10px 14px;border-radius:8px;cursor:pointer}.checkout-grid{align-items:start}.order-line{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.mp-box{border:2px solid #35aee8;border-radius:14px;padding:20px;background:#f6fcff}.mp-logo{font-size:23px;font-weight:800;color:#168acc}.notice{padding:14px 17px;border-radius:10px;background:#fff8df;color:#705b11;font-size:13px;line-height:1.5}.success{max-width:700px;margin:80px auto;text-align:center;padding:50px;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow)}.success i{font-style:normal;font-size:65px;color:#18a86b}.drawer{position:fixed;right:-440px;top:0;z-index:60;width:min(430px,92vw);height:100vh;background:#fff;padding:28px;box-shadow:-20px 0 60px rgba(0,24,60,.18);transition:.3s;overflow:auto}.drawer.open{right:0}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer-head button{border:0;background:none;font-size:32px;cursor:pointer}.overlay{display:none;position:fixed;inset:0;background:rgba(0,19,44,.4);z-index:55}.overlay.open{display:block}.cart-item{display:grid;grid-template-columns:70px 1fr 28px;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.cart-item img{width:70px;height:84px;object-fit:cover;border-radius:8px}.cart-item button{border:0;background:none;color:#9b4550;cursor:pointer}.cart-total{display:flex;justify-content:space-between;padding:25px 0;font-size:20px}.toast{position:fixed;right:30px;bottom:30px;z-index:80;background:#001f48;color:#fff;padding:15px 22px;border-radius:12px;opacity:0;transform:translateY(15px);pointer-events:none}.toast.show{opacity:1;transform:none}footer{background:#001b3e;color:#fff;padding:60px max(5vw,35px) 20px}.footer-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:45px}.footer-grid a,.footer-grid p{display:block;color:#c7d8eb;font-size:13px;line-height:1.7}.footer-logo{width:190px;background:#fff;border-radius:10px}.footer-bottom{max-width:1400px;margin:35px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:12px;color:#9fb4ca}
@media(max-width:1050px){.site-header{grid-template-columns:200px 1fr}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:25px;box-shadow:var(--shadow)}.site-header nav.open{display:flex}.header-tools{display:none}.mobile-menu{display:block;justify-self:end}.hero{grid-template-columns:1fr;padding-top:35px}.hero-vials{width:420px}.benefits,.product-grid{grid-template-columns:repeat(2,1fr)}.benefit{border:0}.about-grid,.contact-grid,.product-detail,.checkout-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.product-gallery{max-width:700px}.topbar span:last-child{display:none}}
@media(max-width:650px){.topbar{font-size:10px}.topbar strong{display:none}.site-header{height:88px}.brand{height:72px}.brand img{width:160px}.hero{padding:45px 24px 80px}.hero h1{font-size:43px}.hero h2{font-size:18px}.benefits{grid-template-columns:1fr;margin-top:-45px;padding:20px}.product-grid,.values-grid,.dark-strip{grid-template-columns:1fr}.section{padding:50px 20px}.page-hero{padding:45px 24px}.page-hero h1{font-size:40px}.product-card{min-height:420px}.product-card figure{height:270px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.product-gallery{grid-template-columns:1fr}.thumbs{display:none}.main-product-image{height:480px}.product-info h1{font-size:36px}.tab-buttons{overflow:auto}.tab-buttons button{white-space:nowrap}.topbar{justify-content:center}.buy-row{flex-direction:column}}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.benefit i{display:grid;place-items:center}.benefit i svg{width:42px;height:42px}.card-desc{font-size:12px;color:var(--muted);line-height:1.5}.stock{font-size:12px;font-weight:700;color:#17834f;margin:8px 0}.stock.low{color:#c47a00}.soldout{opacity:.68}.bac-note{margin-top:10px;padding:8px;border-radius:8px;background:#eef6ff;color:#0757bb;font-size:11px}.icon-button svg{width:20px;height:20px}.icon-button:disabled,.primary:disabled{opacity:.45;cursor:not-allowed}.kit-card{text-align:center}.lab-icon{color:var(--blue);font-size:38px;display:grid;place-items:center}.admin-link{color:var(--blue)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr;background:#f4f7fb}.admin-side{background:#001f49;color:white;padding:28px 20px;display:flex;flex-direction:column;gap:8px}.admin-side img{width:180px;background:white;border-radius:14px;margin-bottom:20px}.admin-side a{padding:12px 14px;border-radius:10px}.admin-side a:hover{background:rgba(255,255,255,.1)}.admin-main{padding:36px;min-width:0}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-top h1{margin:5px 0;font-size:34px}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-metrics>div,.admin-card{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.admin-metrics span,.admin-metrics strong{display:block}.admin-metrics strong{font-size:32px;margin-top:8px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.admin-table{display:grid;gap:10px;margin-top:20px}.admin-row{display:grid;grid-template-columns:70px minmax(180px,1fr) 130px 90px auto auto;gap:14px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:12px}.admin-row img{width:60px;height:60px;object-fit:cover;border-radius:10px}.admin-row small{display:block;color:var(--muted);margin-top:4px}.status{padding:7px 10px;border-radius:999px;font-size:12px;text-align:center}.status.on{background:#e7f7ef;color:#127347}.status.off{background:#f2f2f2;color:#777}.danger{border:0;background:#fff0f0;color:#b42318;border-radius:10px;padding:11px;cursor:pointer}.admin-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;background:white;padding:20px;border-radius:16px;border:1px solid var(--line)}.admin-form.vertical{grid-template-columns:1fr;max-width:800px}.admin-form label{font-weight:600}.modal-card{margin-top:25px;background:white;border:1px solid var(--line);border-radius:18px;padding:24px}.modal-card label{font-size:13px;font-weight:600}.modal-card .form-grid{margin-bottom:18px}@media(max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-side{position:static}.admin-metrics{grid-template-columns:1fr 1fr}.admin-row{grid-template-columns:60px 1fr}.admin-form{grid-template-columns:1fr}.admin-main{padding:20px}}
.policy-gate{display:none;position:fixed;inset:0;z-index:999;background:rgba(0,18,43,.78);backdrop-filter:blur(8px);padding:24px;overflow:auto}.policy-gate.open{display:grid;place-items:center}.policy-card{width:min(680px,100%);background:#fff;border-radius:24px;padding:34px;border:1px solid #d9e7f7}.policy-logo{width:180px;margin-bottom:18px}.policy-card h1{font-size:38px;margin:8px 0 10px}.policy-card>p{color:#566a82;line-height:1.6}.policy-points{margin:22px 0;display:grid;gap:10px}.policy-points>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;background:#f4f9ff;border:1px solid #d7e9ff;border-radius:12px;padding:12px}.policy-points span{color:#0868d7;font-weight:800}.policy-points p{margin:0;color:#334963;line-height:1.45}.policy-check{display:flex;gap:11px;align-items:flex-start;margin:14px 0;color:#213750;font-weight:600}.policy-check input{margin-top:4px;transform:scale(1.2)}.policy-exit{width:100%;border:0;background:transparent;color:#7d8794;padding:14px;cursor:pointer}.policy-rejected{text-align:center;padding:50px 10px}.bac-upsell{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;margin:20px 0;padding:16px;border:2px solid #88b9ff;background:#edf5ff;border-radius:15px}.bac-upsell img{width:74px;height:92px;object-fit:contain;background:#fff;border-radius:9px}.bac-upsell strong{display:block;color:#0763dc;font-size:17px}.bac-upsell p{margin:6px 0;color:#69788a;font-size:13px;line-height:1.4}.bac-upsell b{color:#0763dc}.bac-add{white-space:nowrap;padding:13px 16px}.cart-block-warning{display:grid;gap:5px;margin:15px 0;padding:14px;border-radius:12px;background:#fff0f0;border:1px solid #ffc7c7;color:#9e1b1b}.cart-block-warning span{font-size:13px}.primary.disabled{opacity:.45;pointer-events:none}.error-notice{background:#fff0f0;color:#9e1b1b;border:1px solid #ffc7c7}@media(max-width:650px){.policy-card{padding:24px}.policy-card h1{font-size:30px}.bac-upsell{grid-template-columns:60px 1fr}.bac-upsell img{width:60px;height:75px}.bac-upsell .bac-add{grid-column:1/-1;width:100%}}

.header-tools .cart-button svg{width:27px;height:27px}.buy-product{gap:10px}.buy-product svg,.kit-card .primary svg{width:20px;height:20px}.kit-visual{display:flex;align-items:center;justify-content:center;gap:12px;min-height:235px;margin-bottom:20px}.kit-product{width:42%;display:grid;gap:7px;justify-items:center}.kit-product img{width:100%;height:185px;object-fit:contain;background:#f5f9fd;border-radius:14px;border:1px solid var(--line)}.kit-product small{font-weight:700;color:var(--ink);line-height:1.35}.kit-plus{font-size:38px;font-weight:800;color:var(--blue)}.kit-names{min-height:48px}.value-card{text-align:center}.long-copy{line-height:1.8;color:#52657e}.product-lead{font-size:16px;line-height:1.75;color:#435871}.file-row i svg{width:30px;height:30px}.file-meta{color:#6a7a91;font-size:13px;margin-top:4px}.library-note,.legal-copy{max-width:1200px;margin:28px auto 0;padding:18px 22px;border-radius:12px;background:#eef6ff;color:#36506e}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#52657e}.cart-legal{text-align:center;color:#7b8795;font-size:11px;line-height:1.5;margin-top:16px}.drawer .primary{gap:9px}
@media(max-width:650px){.kit-visual{min-height:190px}.kit-product img{height:145px}.kit-plus{font-size:28px}}
/* Identidad visual v5: viales oficiales completos, sin recortes */
.product-card figure{height:340px;background:linear-gradient(180deg,#f4f8fd,#eaf2fb)}
.product-card img{object-fit:contain;padding:8px}
.main-product-image{object-fit:contain;padding:18px;background:linear-gradient(180deg,#f5f9fd,#eaf2fb)}
.thumbs img,.cart-item img,.bac-upsell img{object-fit:contain;background:#f4f8fd}
.hero-vials{max-height:410px;object-fit:contain}
.brand img,.footer-logo,.policy-logo{object-fit:contain;transform:none;background:#fff}

/* v6 — integración visual natural de marca y catálogo */
.site-header{height:96px;grid-template-columns:220px 1fr 130px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.brand{height:76px;overflow:visible}
.brand img{width:205px;height:66px;object-fit:contain;background:transparent!important;transform:none!important}
.footer-logo{width:220px;height:auto;background:transparent!important;border-radius:0!important}
.policy-logo{width:210px;height:auto;background:transparent!important}
.hero{min-height:610px;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 44%,rgba(238,247,255,.62) 100%),url('../images/banner.png');background-position:center;background-size:cover;overflow:hidden}
.hero:after{content:"";position:absolute;right:5%;top:50%;width:min(43vw,610px);aspect-ratio:1;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle,rgba(7,104,215,.16),rgba(7,104,215,.04) 48%,transparent 70%);pointer-events:none}
.hero-copy{position:relative;z-index:2}
.hero-vials{position:relative;z-index:2;width:min(575px,100%);max-height:none;object-fit:contain;filter:drop-shadow(0 30px 25px rgba(0,42,91,.2));transform:translateY(12px)}
.hero h1{max-width:720px}
.product-grid{gap:24px}
.product-card{padding:0;min-height:520px;border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(0,35,78,.06);overflow:hidden}
.product-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(0,35,78,.14)}
.product-card figure{height:310px;margin:0;border-radius:0;background:#dfeafa;overflow:hidden}
.product-card img{width:100%;height:100%;object-fit:cover;padding:0;transition:transform .35s ease}
.product-card:hover figure img{transform:scale(1.025)}
.product-card-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 18px}
.product-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.product-card h3{font-size:18px;margin:0 0 5px;letter-spacing:-.01em}
.product-card .strength{margin:0;color:var(--blue);font-weight:800;letter-spacing:.04em}
.card-desc{font-size:13px;line-height:1.58;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:15px 0 12px;color:#5a6b80}
.stock-pill{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eaf8f1;color:#137247;font-size:11px;font-weight:800}
.stock-pill.low{background:#fff4dc;color:#a46600}.stock-pill.out{background:#f3f4f6;color:#6c7480}
.product-card .stock{display:none}
.product-card .card-bottom{margin-top:auto;padding-top:16px;border-top:1px solid #edf1f5}
.product-card .price{font-size:20px;color:#061f45}
.mini-label{top:16px;left:16px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);box-shadow:0 5px 16px rgba(0,31,71,.1)}
.bac-note{margin:2px 0 10px;padding:9px 11px;border:1px solid #cfe4ff;background:#f1f7ff}
.main-product-image{object-fit:cover;padding:0;background:#dfeafa;border-radius:22px}
.thumbs img,.cart-item img,.bac-upsell img{object-fit:cover;padding:0}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero:after{right:50%;top:auto;bottom:-140px;transform:translateX(50%);width:640px}.hero-vials{width:min(520px,90%);margin-top:25px}}
@media(max-width:650px){.site-header{height:82px;grid-template-columns:170px 1fr}.brand{height:64px}.brand img{width:165px;height:54px}.hero{padding-top:38px}.hero-vials{width:100%;transform:none}.product-card figure{height:330px}.product-card{min-height:510px}}

/* v8 — portada integrada: viales nítidos sin rectángulo blanco */
.hero{
  min-height:620px;
  background:
    radial-gradient(circle at 78% 48%,rgba(34,132,232,.18) 0,rgba(34,132,232,.08) 28%,transparent 58%),
    linear-gradient(110deg,#ffffff 0%,#f8fcff 46%,#e9f5ff 100%);
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.78),rgba(255,255,255,.78)),url('../images/banner.png');
  background-size:cover;
  background-position:center;
  opacity:.22;
  pointer-events:none;
}
.hero:after{
  right:2%;
  width:min(48vw,690px);
  background:radial-gradient(circle,rgba(8,104,215,.13),rgba(8,104,215,.035) 54%,transparent 72%);
}
.hero-vials{
  width:min(650px,100%);
  max-height:520px;
  object-fit:contain;
  filter:drop-shadow(0 28px 24px rgba(0,43,91,.19));
  transform:translateY(15px);
}
@media(max-width:1050px){
  .hero-vials{width:min(620px,96%);max-height:500px}
}
@media(max-width:650px){
  .hero{min-height:auto;background:linear-gradient(180deg,#fff 0%,#edf7ff 100%)}
  .hero-vials{width:115%;max-width:none;margin-left:-7.5%;max-height:390px}
}

/* v9: restauración visual de la portada original */
.hero{
  min-height:570px;
  background:url('../images/banner.png') center/cover no-repeat;
  display:grid;
  grid-template-columns:1.06fr .94fr;
  align-items:center;
  padding:55px max(8vw,45px) 90px;
  position:relative;
  overflow:visible;
}
.hero:before,.hero:after{content:none!important;display:none!important}
.hero-copy{max-width:660px;position:relative;z-index:2}
.hero h1{max-width:none}
.hero-vials{
  position:relative;
  z-index:2;
  width:min(560px,100%);
  max-height:410px;
  object-fit:contain;
  justify-self:center;
  filter:drop-shadow(0 25px 24px rgba(0,40,88,.18));
  transform:none;
  margin:0;
}
@media(max-width:1050px){
  .hero{grid-template-columns:1fr;padding-top:35px}
  .hero-vials{width:420px;max-width:90%;margin-top:25px}
}
@media(max-width:650px){
  .hero{padding:45px 24px 80px;background:url('../images/banner.png') center/cover no-repeat}
  .hero-vials{width:100%;max-width:420px;max-height:330px;margin:20px auto 0}
}


/* v13 — logo superior un poco más grande */
.site-header{grid-template-columns:340px 1fr 130px; height:132px;}
.brand{height:114px;}
.brand img{width:310px !important; transform:none !important;}
.footer-logo-alt{width:250px !important; max-width:100%; height:auto; object-fit:contain; background:transparent !important; border-radius:0 !important;}
@media(max-width:980px){.site-header{grid-template-columns:290px 1fr 130px;height:126px}.brand img{width:270px !important}}
@media(max-width:768px){.site-header{grid-template-columns:1fr auto auto;height:auto;padding:12px max(4vw,16px)}.brand{height:94px}.brand img{width:230px !important}}


/* v14 — logo superior más grande y transparente */
.brand{height:126px !important; overflow:visible !important;}
.brand img, .header-logo-transparent{width:360px !important; height:auto !important; object-fit:contain !important; background:transparent !important; transform:none !important; display:block;}
.site-header{grid-template-columns:390px 1fr 130px !important; height:138px !important;}
@media(max-width:1100px){.site-header{grid-template-columns:330px 1fr 130px !important; height:132px !important}.brand{height:118px !important}.brand img, .header-logo-transparent{width:310px !important}}
@media(max-width:768px){.site-header{grid-template-columns:1fr auto auto !important;height:auto !important;padding:12px max(4vw,16px) !important}.brand{height:100px !important}.brand img, .header-logo-transparent{width:240px !important}}
@media(max-width:650px){.brand{height:92px !important}.brand img, .header-logo-transparent{width:220px !important}}


/* v15 — logo superior recortado, más grande y menú en una sola línea */
.site-header{grid-template-columns:430px 1fr 130px !important; height:138px !important; gap:16px !important;}
.brand{height:126px !important; overflow:visible !important; display:flex !important; align-items:center !important;}
.brand img, .header-logo-transparent{width:400px !important; max-width:none !important; height:auto !important; object-fit:contain !important; background:transparent !important; transform:none !important; display:block;}
nav{gap:22px !important; font-size:12px !important; flex-wrap:nowrap !important; white-space:nowrap !important;}
nav a{white-space:nowrap !important; word-break:keep-all !important;}
@media(max-width:1250px){.site-header{grid-template-columns:360px 1fr 120px !important}.brand img, .header-logo-transparent{width:330px !important}nav{gap:16px !important;font-size:11px !important}}
@media(max-width:1100px){.site-header{grid-template-columns:320px 1fr 120px !important; height:130px !important}.brand{height:112px !important}.brand img, .header-logo-transparent{width:290px !important}nav{gap:12px !important;font-size:10px !important}}
@media(max-width:768px){.site-header{grid-template-columns:1fr auto auto !important;height:auto !important;padding:12px max(4vw,16px) !important}.brand{height:100px !important}.brand img, .header-logo-transparent{width:230px !important}}
@media(max-width:650px){.brand{height:92px !important}.brand img, .header-logo-transparent{width:210px !important}}


/* v16 — corregir logo superior descuadrado */
.site-header{grid-template-columns:310px 1fr 130px !important; height:118px !important; gap:18px !important; align-items:center !important;}
.brand{height:88px !important; overflow:hidden !important; display:flex !important; align-items:center !important; justify-content:flex-start !important;}
.brand img, .header-logo-transparent{width:280px !important; max-width:100% !important; height:auto !important; object-fit:contain !important; background:transparent !important; transform:none !important; display:block !important;}
nav{gap:20px !important; font-size:12px !important; flex-wrap:nowrap !important; white-space:nowrap !important;}
nav a{white-space:nowrap !important; word-break:keep-all !important; line-height:1.15 !important;}
@media(max-width:1250px){.site-header{grid-template-columns:285px 1fr 120px !important; height:114px !important}.brand{height:82px !important}.brand img, .header-logo-transparent{width:255px !important}nav{gap:15px !important;font-size:11px !important}}
@media(max-width:1100px){.site-header{grid-template-columns:250px 1fr 120px !important; height:110px !important}.brand{height:76px !important}.brand img, .header-logo-transparent{width:225px !important}nav{gap:12px !important;font-size:10px !important}}
@media(max-width:768px){.site-header{grid-template-columns:1fr auto auto !important;height:auto !important;padding:12px max(4vw,16px) !important}.brand{height:84px !important}.brand img, .header-logo-transparent{width:205px !important}}
@media(max-width:650px){.brand{height:76px !important}.brand img, .header-logo-transparent{width:185px !important}}


/* v17 — logo superior mejor ajustado, un poco más pequeño y sin cortes */
.site-header{grid-template-columns:340px 1fr 130px !important; height:122px !important; gap:18px !important; align-items:center !important;}
.brand{height:98px !important; overflow:visible !important; display:flex !important; align-items:center !important; justify-content:flex-start !important;}
.brand img, .header-logo-transparent{height:94px !important; width:auto !important; max-width:100% !important; object-fit:contain !important; background:transparent !important; transform:none !important; display:block !important;}
nav{gap:18px !important; font-size:12px !important; flex-wrap:nowrap !important; white-space:nowrap !important;}
nav a{white-space:nowrap !important; word-break:keep-all !important; line-height:1.1 !important;}
@media(max-width:1250px){.site-header{grid-template-columns:310px 1fr 120px !important; height:118px !important}.brand{height:90px !important}.brand img, .header-logo-transparent{height:86px !important}nav{gap:14px !important;font-size:11px !important}}
@media(max-width:1100px){.site-header{grid-template-columns:280px 1fr 120px !important; height:112px !important}.brand{height:82px !important}.brand img, .header-logo-transparent{height:78px !important}nav{gap:11px !important;font-size:10px !important}}
@media(max-width:768px){.site-header{grid-template-columns:1fr auto auto !important;height:auto !important;padding:12px max(4vw,16px) !important}.brand{height:80px !important}.brand img, .header-logo-transparent{height:74px !important; width:auto !important}}
@media(max-width:650px){.brand{height:72px !important}.brand img, .header-logo-transparent{height:66px !important; width:auto !important}}


/* v18 — banner de política más compacto */
.policy-card{width:min(560px,100%) !important; border-radius:20px !important; padding:24px 24px 18px !important;}
.policy-logo{width:150px !important; margin-bottom:10px !important;}
.policy-card h1{font-size:30px !important; margin:4px 0 8px !important;}
.policy-card>p{font-size:14px !important; line-height:1.45 !important;}
.policy-points{margin:14px 0 !important; gap:8px !important;}
.policy-points>div{padding:10px !important; gap:8px !important; border-radius:10px !important;}
.policy-points p{font-size:13px !important; line-height:1.35 !important;}
.policy-check{margin:10px 0 !important; font-size:14px !important;}
#accept-policy.primary.wide{padding:14px 18px !important; margin-top:6px !important;}
.policy-exit{padding:10px !important; font-size:14px !important;}
@media(max-width:650px){.policy-gate{padding:16px !important}.policy-card{width:min(500px,100%) !important;padding:20px 18px 16px !important}.policy-logo{width:130px !important}.policy-card h1{font-size:26px !important}.policy-card>p,.policy-check,.policy-points p,.policy-exit{font-size:13px !important}}

/* WordPress exact integration */
body.admin-bar .site-header{top:32px}.account-button{display:grid;place-items:center;color:var(--ink);font-size:27px}.container{width:min(1400px,90vw);margin:auto}.woocommerce-shell{min-height:70vh}.woocommerce-shell .products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px}.woocommerce-shell .product{width:auto!important}.policy-gate{z-index:100000!important}.site-header nav a{white-space:nowrap}.hero{background-image:url('../images/banner.png')}.page-hero{background-image:url('../images/banner.png')}.lab-photo{background-image:linear-gradient(rgba(235,246,255,.1),rgba(235,246,255,.1)),url('../images/banner.png')}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}

.hero,.page-hero{background-image:var(--ecom-hero-bg)!important}.lab-photo{background-image:linear-gradient(rgba(235,246,255,.1),rgba(235,246,255,.1)),var(--ecom-hero-bg)!important}
