/* ========================================
   CHLOREX — Design System v2
   ======================================== */
:root {
    --azul: #1a2e4a;
    --azul-claro: #2a4a7f;
    --verde: #1db954;
    --verde-oscuro: #15a044;
    --oscuro: #0d1b2a;
    --gris: #f5f7fa;
    --gris-medio: #e0e6ed;
    --texto: #2c3e50;
    --texto-claro: #6b7280;
    --blanco: #ffffff;
    --rojo: #e53935;
    --font-tit: 'Montserrat', sans-serif;
    --font-bod: 'Open Sans', sans-serif;
    --shadow: 0 4px 24px rgba(26,46,74,.1);
    --shadow-lg: 0 8px 48px rgba(26,46,74,.16);
    --radius: 12px;
    --radius-sm: 8px;
    --trans: .3s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-bod);color:var(--texto);line-height:1.65;background:var(--blanco);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{max-width:1160px;margin:0 auto;padding:0 24px}

/* ====== BUTTONS ====== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:50px;font-family:var(--font-tit);font-weight:700;font-size:.88rem;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;transition:all var(--trans);border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--verde);color:var(--blanco);border-color:var(--verde)}
.btn-primary:hover{background:var(--verde-oscuro);border-color:var(--verde-oscuro);transform:translateY(-2px);box-shadow:0 8px 24px rgba(29,185,84,.35)}
.btn-outline{background:transparent;color:var(--blanco);border-color:rgba(255,255,255,.5)}
.btn-outline:hover{background:rgba(255,255,255,.1);border-color:var(--blanco)}
.btn-outline-light{background:transparent;color:var(--blanco);border-color:rgba(255,255,255,.6)}
.btn-outline-light:hover{background:var(--blanco);color:var(--azul)}
.btn-outline-dark{background:transparent;color:var(--azul);border-color:var(--azul)}
.btn-outline-dark:hover{background:var(--azul);color:var(--blanco)}
.btn-lg{padding:18px 36px;font-size:.95rem}

/* ====== HEADER ====== */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all var(--trans)}
#site-header.scrolled{background:rgba(13,27,42,.97);backdrop-filter:blur(12px);padding:12px 0;box-shadow:0 2px 20px rgba(0,0,0,.3)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-logo{font-family:var(--font-tit);font-weight:900;font-size:1.5rem;color:var(--blanco);letter-spacing:.1em;text-transform:uppercase}
.site-logo span{color:var(--verde)}
#primary-nav ul{display:flex;gap:4px;align-items:center}
#primary-nav ul li a{color:rgba(255,255,255,.85);font-family:var(--font-tit);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;border-radius:var(--radius-sm);transition:all var(--trans)}
#primary-nav ul li a:hover{color:var(--verde)}
.header-cta .btn{padding:10px 20px;font-size:.78rem}
#nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
#nav-toggle span{width:24px;height:2px;background:var(--blanco);border-radius:2px;transition:all var(--trans)}

/* ====== HERO (HOME) ====== */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px}
.hero-img-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,27,42,.88) 0%,rgba(26,46,74,.75) 50%,rgba(13,42,22,.7) 100%);z-index:1}
.hero-content{position:relative;z-index:2;max-width:700px}
.hero-badge{display:inline-block;background:rgba(29,185,84,.2);color:var(--verde);border:1px solid rgba(29,185,84,.4);padding:6px 16px;border-radius:50px;font-size:.72rem;font-family:var(--font-tit);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px}
.hero-text h1{font-family:var(--font-tit);font-size:3rem;font-weight:900;color:var(--blanco);line-height:1.1;margin-bottom:24px}
.hero-text h1 .highlight{color:var(--verde)}
.hero-sub{color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.7;margin-bottom:36px;max-width:580px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:2}
.hero-scroll span{display:block;width:24px;height:38px;border:2px solid rgba(255,255,255,.3);border-radius:12px;position:relative}
.hero-scroll span::before{content:'';position:absolute;top:6px;left:50%;width:4px;height:8px;background:var(--verde);border-radius:2px;transform:translateX(-50%);animation:scroll-anim 2s ease infinite}
@keyframes scroll-anim{0%,100%{opacity:1;top:6px}50%{opacity:.3;top:16px}}

/* ====== PAGE HERO (SUBPAGES) ====== */
.page-hero{position:relative;padding:140px 0 80px;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,27,42,.9) 0%,rgba(26,46,74,.8) 100%);z-index:1}
.page-hero .container{position:relative;z-index:2}
.page-hero .section-tag{color:var(--verde)}
.page-hero h1{font-family:var(--font-tit);font-size:2.6rem;font-weight:900;color:var(--blanco);line-height:1.15;margin:12px 0 20px;max-width:780px}
.page-hero p{color:rgba(255,255,255,.8);font-size:1.05rem;max-width:640px;line-height:1.7}
.page-hero--producto{background:var(--azul);padding:100px 0 32px}
.page-hero--producto .page-hero-overlay{background:none}
.breadcrumb{font-size:.85rem;color:rgba(255,255,255,.6)}
.breadcrumb a{color:rgba(255,255,255,.85);font-weight:600}
.breadcrumb a:hover{color:var(--verde)}
.breadcrumb span{margin:0 6px}

/* ====== SECTION COMMONS ====== */
section{padding:96px 0}
.content-section{padding:80px 0}
.content-section--dark{background:var(--azul)}
.content-section--light{background:var(--gris)}
.section-header{text-align:center;max-width:760px;margin:0 auto 56px}
.section-header h2{font-family:var(--font-tit);font-size:2.1rem;font-weight:800;color:var(--azul);line-height:1.2;margin-bottom:16px}
.section-header.light h2{color:var(--blanco)}
.section-header p{color:var(--texto-claro);font-size:1rem}
.section-header.light p{color:rgba(255,255,255,.75)}
.section-tag{display:inline-block;color:var(--verde);font-family:var(--font-tit);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}

/* ====== FADE IN ====== */
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:none}

/* ====== TRUST BAR ====== */
.trust-bar{padding:24px 0;background:var(--azul)}
.trust-items{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:20px}
.trust-item{display:flex;align-items:center;gap:14px;color:var(--blanco)}
.trust-ico{display:flex;align-items:center;color:var(--verde)}
.trust-ico .icon{width:28px;height:28px}
.trust-item div{display:flex;flex-direction:column}
.trust-item strong{font-family:var(--font-tit);font-size:.85rem;font-weight:700}
.trust-item small{font-size:.75rem;color:rgba(255,255,255,.55);margin-top:2px}

/* ====== LANDING SECTIONS ====== */
.section-problema{padding:96px 0;background:var(--gris)}
.section-patogenos{padding:96px 0;background:var(--azul)}
.section-mecanismo{padding:96px 0;background:var(--blanco)}
.section-dosis{padding:96px 0;background:var(--azul)}
.section-empleo{padding:96px 0;background:var(--gris)}
.section-producto{padding:96px 0;background:var(--blanco)}
.section-specs{padding:96px 0;background:var(--gris)}
.section-faq{padding:96px 0;background:var(--blanco)}
.ico-ok{color:var(--verde);font-weight:700;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}
.ico-ok .icon{width:20px;height:20px}
.ico-x{color:var(--rojo);margin-right:4px;display:inline-flex;vertical-align:middle}
.ico-x .icon{width:18px;height:18px}
.icon{flex-shrink:0}
.problema-cta .icon{width:20px;height:20px;vertical-align:middle;margin-right:6px;display:inline}
.comp-col h3 .icon{width:20px;height:20px;vertical-align:middle;margin-right:4px}
.producto-badges .icon{width:14px;height:14px;vertical-align:middle;margin-right:2px}

/* ====== PRODUCTO LAYOUT ====== */
.producto-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.producto-imagen img{max-width:100%;border-radius:var(--radius)}
.producto-info h2{font-family:var(--font-tit);font-size:2rem;font-weight:800;color:var(--azul);margin-bottom:16px;line-height:1.2}
.producto-desc{color:var(--texto-claro);margin-bottom:24px;line-height:1.7}
.producto-tabla{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.88rem}
.producto-tabla tr{border-bottom:1px solid var(--gris-medio)}
.producto-tabla td{padding:10px 8px}
.producto-tabla td:first-child{font-family:var(--font-tit);font-weight:700;color:var(--azul);width:42%}
.producto-tabla td:last-child{color:var(--texto-claro)}
.producto-precio-bloque{margin-bottom:24px;padding:20px;background:var(--gris);border-radius:var(--radius-sm)}
.precio-consultar{display:block;font-family:var(--font-tit);font-size:1.8rem;font-weight:900;color:var(--verde-oscuro);margin:8px 0}
.producto-precio-bloque small{display:block;font-size:.78rem;color:var(--texto-claro)}
.producto-acciones{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.producto-badges{display:flex;flex-wrap:wrap;gap:8px}
.producto-badges span{font-size:.75rem;color:var(--verde-oscuro);font-family:var(--font-tit);font-weight:600;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:50px;padding:4px 10px}

/* ====== PASOS GRID ====== */
.pasos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.paso-card{text-align:center;background:var(--blanco);border-radius:var(--radius);padding:32px 20px;box-shadow:var(--shadow);transition:transform var(--trans)}
.paso-card:hover{transform:translateY(-4px)}
.section-link{text-align:center;margin-top:48px}

/* ====== EL PROBLEMA ====== */
.problema-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-bottom:40px}
.problema-item{background:var(--blanco);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--trans),box-shadow var(--trans)}
.problema-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.problema-img{height:200px;overflow:hidden;background:var(--gris-medio)}
.problema-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.problema-item:hover .problema-img img{transform:scale(1.04)}
.problema-body{padding:24px 28px}
.problema-body h3{font-family:var(--font-tit);font-size:1rem;font-weight:700;color:var(--azul);margin-bottom:10px}
.problema-body p{font-size:.9rem;color:var(--texto-claro);line-height:1.6}
.problema-cta{text-align:center;background:rgba(29,185,84,.1);border:1px solid rgba(29,185,84,.3);border-radius:var(--radius);padding:20px 32px;font-family:var(--font-tit);font-weight:700;color:var(--azul);font-size:1rem}

/* ====== PATÓGENOS ====== */
.patogenos-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.patogeno-big{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;transition:all var(--trans)}
.patogeno-big:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.patogeno-img{height:180px;overflow:hidden;background:rgba(255,255,255,.04)}
.patogeno-img img{width:100%;height:100%;object-fit:cover}
.patogeno-body{padding:24px}
.patogeno-body h3{font-family:var(--font-tit);font-size:.95rem;font-weight:700;color:var(--blanco);margin-bottom:10px}
.patogeno-body p{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:14px}
.patogeno-dosis{display:inline-block;background:rgba(29,185,84,.2);border:1px solid rgba(29,185,84,.4);color:var(--verde);padding:5px 12px;border-radius:50px;font-size:.75rem;font-family:var(--font-tit);font-weight:700}

/* ====== MECANISMO COMPARATIVA ====== */
.mecanismo-comparativa{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}
.comp-col{border-radius:var(--radius);padding:32px}
.comp-mal{background:#fff5f5;border:1px solid #fecaca}
.comp-bien{background:#f0fdf4;border:1px solid #bbf7d0}
.comp-col h3{font-family:var(--font-tit);font-size:1rem;font-weight:700;margin-bottom:20px}
.comp-mal h3{color:var(--rojo)}
.comp-bien h3{color:var(--verde-oscuro)}
.comp-col ul li{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.05);font-size:.88rem;line-height:1.5}
.comp-col ul li:last-child{border-bottom:none}
.comp-mal ul li{color:#7f1d1d}
.comp-bien ul li{color:#14532d}
.mecanismo-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mec-feat{background:var(--gris);border-radius:var(--radius);padding:28px 24px;border-top:3px solid var(--verde)}
.mec-ico{display:flex;color:var(--verde);margin-bottom:14px}
.mec-ico .icon{width:32px;height:32px}
.mec-feat h4{font-family:var(--font-tit);font-size:.92rem;font-weight:700;color:var(--azul);margin-bottom:10px}
.mec-feat p{font-size:.85rem;color:var(--texto-claro);line-height:1.6}

/* ====== DOSIS ====== */
.dosis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.dosis-card{background:var(--blanco);border:1px solid var(--gris-medio);border-radius:var(--radius);padding:32px 28px;transition:all var(--trans)}
.dosis-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--verde)}
.dosis-icono{display:flex;color:var(--verde);margin-bottom:16px}
.dosis-icono .icon{width:36px;height:36px}
.dosis-card h3{font-family:var(--font-tit);font-size:1rem;font-weight:700;color:var(--azul);margin-bottom:12px}
.dosis-card p{font-size:.88rem;color:var(--texto-claro);line-height:1.6;margin-bottom:16px}
.dosis-valor{display:inline-block;background:rgba(29,185,84,.1);border:1px solid rgba(29,185,84,.3);color:var(--verde-oscuro);padding:6px 14px;border-radius:50px;font-size:.8rem;font-family:var(--font-tit);font-weight:700}

/* ====== PASOS ====== */
.pasos-horizontal{display:flex;align-items:flex-start;gap:0}
.paso{flex:1;text-align:center;padding:0 20px}
.paso-sep{font-size:1.8rem;color:var(--verde);padding-top:20px;flex-shrink:0}
.paso-num{width:60px;height:60px;background:var(--azul);color:var(--blanco);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-tit);font-size:1.3rem;font-weight:900;margin:0 auto 16px}
.paso h3{font-family:var(--font-tit);font-size:.95rem;font-weight:700;color:var(--azul);margin-bottom:10px}
.paso p{font-size:.85rem;color:var(--texto-claro);line-height:1.6}

/* ====== PRODUCT PAGE ====== */
.product-main{padding:60px 0 80px}
.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.product-photo{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%}
.product-title{font-family:var(--font-tit);font-size:1.8rem;font-weight:800;color:var(--azul);line-height:1.2;margin-bottom:16px}
.product-excerpt{color:var(--texto-claro);margin-bottom:24px;font-size:.92rem;line-height:1.7}
.product-specs-mini{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.88rem}
.product-specs-mini tr{border-bottom:1px solid var(--gris-medio)}
.product-specs-mini td{padding:10px 8px}
.product-specs-mini td:first-child{font-family:var(--font-tit);font-weight:700;color:var(--azul);width:42%}
.product-specs-mini td:last-child{color:var(--texto-claro)}
.product-price-box{margin-bottom:20px;padding:20px;background:var(--gris);border-radius:var(--radius-sm)}
.price-display{font-family:var(--font-tit);font-size:2rem;font-weight:900;color:var(--azul);margin-bottom:4px}
.price-consultar{color:var(--verde-oscuro)}
.product-price-box small{font-size:.8rem;color:var(--texto-claro)}
.product-presupuesto{display:flex;width:100%;justify-content:center;margin-top:12px}
.product-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;margin-bottom:8px}
.product-badges span{font-size:.75rem;color:var(--verde-oscuro);font-family:var(--font-tit);font-weight:600;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:50px;padding:4px 10px}
.product-nota{font-size:.78rem;color:var(--texto-claro);font-style:italic;margin-top:4px}
.product-description-content{max-width:800px;margin:0 auto;font-size:.95rem;line-height:1.8;color:var(--texto-claro)}
.product-description-content h2{font-family:var(--font-tit);font-size:1.2rem;font-weight:700;color:var(--azul);margin:28px 0 12px}
.product-description-content ul{margin-left:20px;list-style:disc}
.product-description-content li{margin-bottom:8px}
/* WooCommerce overrides */
.woocommerce div.product form.cart{margin-bottom:0}
.woocommerce div.product form.cart .button{background:var(--verde)!important;border-color:var(--verde)!important;border-radius:50px!important;font-family:var(--font-tit)!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.03em!important;padding:14px 28px!important;font-size:.88rem!important;transition:all var(--trans)!important}
.woocommerce div.product form.cart .button:hover{background:var(--verde-oscuro)!important;transform:translateY(-2px);box-shadow:0 8px 24px rgba(29,185,84,.35)!important}
.woocommerce div.product form.cart .quantity input{border:2px solid var(--gris-medio);border-radius:var(--radius-sm);padding:10px;width:80px;font-family:var(--font-bod)}

/* ====== SPECS TABLE ====== */
.specs-wrapper{overflow-x:auto}
.specs-table-3col{width:100%;border-collapse:collapse;background:var(--blanco);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:.88rem}
.specs-table-3col thead tr{background:var(--azul);color:var(--blanco)}
.specs-table-3col thead th{padding:16px 20px;font-family:var(--font-tit);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;text-align:left}
.specs-table-3col tbody tr:nth-child(odd){background:var(--blanco)}
.specs-table-3col tbody tr:nth-child(even){background:var(--gris)}
.specs-table-3col tbody td{padding:14px 20px;border-bottom:1px solid var(--gris-medio)}
.specs-table-3col tbody td:first-child{font-family:var(--font-tit);font-weight:700;color:var(--azul)}

/* ====== FAQ ====== */
.faq-list{max-width:840px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--gris-medio)}
.faq-question{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;font-family:var(--font-tit);font-weight:700;font-size:.92rem;color:var(--azul);transition:color var(--trans)}
.faq-question:hover{color:var(--verde)}
.faq-toggle{font-size:1.4rem;color:var(--verde);flex-shrink:0;line-height:1;transition:transform var(--trans)}
.faq-item.open .faq-toggle{transform:rotate(45deg)}
.faq-answer{display:none;padding:0 0 22px;color:var(--texto-claro);font-size:.92rem;line-height:1.7}
.faq-item.open .faq-answer{display:block}

/* ====== CTA FINAL ====== */
.cta-final{background:linear-gradient(135deg,var(--oscuro) 0%,var(--azul) 60%,#0d3d20 100%);text-align:center;padding:100px 0}
.cta-final h2{font-family:var(--font-tit);font-size:2.2rem;font-weight:900;color:var(--blanco);margin-bottom:20px;line-height:1.2}
.cta-final p{color:rgba(255,255,255,.75);font-size:1.05rem;margin-bottom:36px;max-width:600px;margin-left:auto;margin-right:auto}
.cta-actions{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}

/* ====== FOOTER ====== */
.site-footer{background:var(--oscuro);color:rgba(255,255,255,.7);padding:80px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:48px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer-brand .logo{font-family:var(--font-tit);font-weight:900;font-size:1.3rem;color:var(--blanco);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;display:block}
.footer-brand .logo span{color:var(--verde)}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:260px}
.footer-col h4{font-family:var(--font-tit);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blanco);margin-bottom:18px}
.footer-col ul{display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{font-size:.85rem;transition:color var(--trans)}
.footer-col ul li a:hover{color:var(--verde)}
.footer-contact-item{font-size:.85rem;margin-bottom:10px}
.footer-contact-item a:hover{color:var(--verde)}
.footer-bottom{padding:24px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.78rem}
.footer-legal{display:flex;gap:20px}
.footer-legal a:hover{color:var(--verde)}

/* ====== RESPONSIVE ====== */
@media(max-width:1024px){
    .mecanismo-features{grid-template-columns:repeat(2,1fr)}
    .patogenos-cards{grid-template-columns:1fr 1fr}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
    section,.content-section{padding:64px 0}
    #primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--oscuro);padding:16px 24px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
    #primary-nav.open{display:block}
    #primary-nav ul{flex-direction:column;gap:4px}
    #nav-toggle{display:flex}
    .header-cta{display:none}
    .hero-text h1{font-size:2.2rem}
    .page-hero h1{font-size:1.8rem}
    .producto-layout{grid-template-columns:1fr;gap:32px}
    .pasos-grid{grid-template-columns:repeat(2,1fr)}
    .problema-grid{grid-template-columns:1fr}
    .patogenos-cards{grid-template-columns:1fr}
    .mecanismo-comparativa{grid-template-columns:1fr}
    .mecanismo-features{grid-template-columns:1fr 1fr}
    .dosis-grid{grid-template-columns:1fr}
    .pasos-horizontal{flex-direction:column;align-items:center}
    .paso-sep{transform:rotate(90deg);padding:0}
    .product-grid{grid-template-columns:1fr;gap:32px}
    .section-header h2{font-size:1.7rem}
    .cta-final h2{font-size:1.7rem}
    .footer-grid{grid-template-columns:1fr;gap:28px}
    .specs-table-3col thead th,.specs-table-3col tbody td{padding:10px 12px;font-size:.8rem}
}
@media(max-width:480px){
    .hero-text h1{font-size:1.8rem}
    .hero-actions,.cta-actions,.producto-acciones{flex-direction:column}
    .pasos-grid{grid-template-columns:1fr 1fr}
    .cta-actions{align-items:center}
    .mecanismo-features{grid-template-columns:1fr}
    .trust-items{flex-direction:column;gap:16px;align-items:flex-start}
    .section-header h2{font-size:1.4rem}
    .footer-bottom{flex-direction:column;text-align:center}
    .footer-legal{flex-wrap:wrap;justify-content:center}
}

/* ========================================
   WOOCOMMERCE PAGES
   ======================================== */
.woo-main{padding:120px 0 80px;max-width:1160px;margin:0 auto;padding-left:24px;padding-right:24px}
.woocommerce table.shop_table{border:1px solid var(--gris-medio);border-radius:var(--radius);overflow:hidden;border-collapse:collapse;width:100%}
.woocommerce table.shop_table th{background:var(--azul);color:var(--blanco);font-family:var(--font-tit);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:16px 20px}
.woocommerce table.shop_table td{padding:16px 20px;border-bottom:1px solid var(--gris-medio);vertical-align:middle;font-size:.9rem}
.woocommerce .cart_totals h2{font-family:var(--font-tit);font-size:1.3rem;font-weight:800;color:var(--azul);margin-bottom:16px}
.woocommerce .quantity .qty{border:2px solid var(--gris-medio);border-radius:var(--radius-sm);padding:8px 12px;width:70px;font-family:var(--font-bod);font-size:.9rem;text-align:center}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button{background:var(--verde)!important;color:var(--blanco)!important;border:none!important;border-radius:50px!important;font-family:var(--font-tit)!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.03em!important;padding:14px 28px!important;font-size:.85rem!important;cursor:pointer!important;transition:all var(--trans)!important}
.woocommerce .button:hover,.woocommerce button.button:hover{background:var(--verde-oscuro)!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(29,185,84,.35)!important}
.woocommerce .button.alt,.woocommerce button.button.alt{background:var(--azul)!important}
.woocommerce .button.alt:hover{background:var(--azul-claro)!important}
.woocommerce .coupon .input-text{border:2px solid var(--gris-medio);border-radius:var(--radius-sm);padding:12px 16px;font-family:var(--font-bod)}
.woocommerce form .form-row label{font-family:var(--font-tit);font-weight:600;font-size:.85rem;color:var(--azul);margin-bottom:6px;display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:2px solid var(--gris-medio);border-radius:var(--radius-sm);padding:12px 16px;font-family:var(--font-bod);font-size:.9rem;width:100%;transition:border-color var(--trans)}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row select:focus{border-color:var(--verde);outline:none}
.woocommerce-checkout #order_review_heading{font-family:var(--font-tit);font-size:1.3rem;font-weight:800;color:var(--azul);margin:32px 0 16px}
.woocommerce-checkout #payment{background:var(--gris);border-radius:var(--radius);padding:24px}
.woocommerce-checkout #payment .place-order .button{width:100%;padding:18px!important;font-size:1rem!important}
.woocommerce-message{background:#f0fdf4;border-left:4px solid var(--verde);padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:24px}
.woocommerce-error{background:#fef2f2;border-left:4px solid var(--rojo);padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:24px}
.woocommerce-info{background:var(--gris);border-left:4px solid var(--azul-claro);padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:24px}

/* ========================================
   GENERIC PAGE
   ======================================== */
.page-template-default .entry-content,.page-template-default main{padding:120px 0 80px;max-width:840px;margin:0 auto;padding-left:24px;padding-right:24px}
.page-template-default .entry-content h1,.page-template-default main h1{font-family:var(--font-tit);font-size:2rem;font-weight:800;color:var(--azul);margin-bottom:24px}
.page-template-default .entry-content h2,.page-template-default main h2{font-family:var(--font-tit);font-size:1.4rem;font-weight:700;color:var(--azul);margin:32px 0 12px}
.page-template-default .entry-content p,.page-template-default main p{color:var(--texto-claro);line-height:1.8;margin-bottom:16px}
.page-template-default .entry-content ul,.page-template-default main ul{margin-left:24px;list-style:disc;margin-bottom:16px}
.page-template-default .entry-content li,.page-template-default main li{margin-bottom:8px;color:var(--texto-claro)}

/* ========================================
   BLOG
   ======================================== */
.page-hero--blog{padding:140px 0 80px;position:relative;overflow:hidden}
.blog-main{padding:60px 0 80px}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.posts-grid article{background:var(--blanco);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform var(--trans),box-shadow var(--trans);display:flex;flex-direction:column}
.posts-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.entry-thumbnail{height:200px;overflow:hidden}
.entry-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.posts-grid article:hover .entry-thumbnail img{transform:scale(1.04)}
.posts-grid .entry-header{padding:20px 24px 8px}
.posts-grid .entry-meta{font-size:.72rem;color:var(--texto-claro);font-family:var(--font-tit);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}
.posts-grid .entry-title{font-family:var(--font-tit);font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:0}
.posts-grid .entry-title a{color:var(--azul);transition:color var(--trans)}
.posts-grid .entry-title a:hover{color:var(--verde)}
.posts-grid .entry-summary{padding:8px 24px 16px;font-size:.85rem;color:var(--texto-claro);line-height:1.6;flex-grow:1}
.posts-grid .entry-read-more{padding:0 24px 20px}
.read-more-link{font-family:var(--font-tit);font-size:.78rem;font-weight:700;color:var(--verde);text-transform:uppercase;letter-spacing:.05em;transition:color var(--trans)}
.read-more-link:hover{color:var(--verde-oscuro)}
.pagination{margin-top:48px;text-align:center}
/* Single post */
.post-hero{position:relative;overflow:hidden}
.single-post-article .entry-title{font-family:var(--font-tit);font-size:2.4rem;font-weight:900;color:var(--blanco);line-height:1.15;max-width:780px}
.single-post-article .entry-content{padding:60px 24px 40px;max-width:840px;margin:0 auto}
.single-post-article .entry-content h2{font-family:var(--font-tit);font-size:1.5rem;font-weight:700;color:var(--azul);margin:36px 0 14px}
.single-post-article .entry-content h3{font-family:var(--font-tit);font-size:1.15rem;font-weight:700;color:var(--azul);margin:28px 0 10px}
.single-post-article .entry-content p{color:var(--texto);line-height:1.85;margin-bottom:18px;font-size:1rem}
.single-post-article .entry-content ul,.single-post-article .entry-content ol{margin:0 0 18px 28px;list-style:disc}
.single-post-article .entry-content li{margin-bottom:8px;line-height:1.7}
.single-post-article .entry-content strong{color:var(--azul)}
.post-nav a{font-family:var(--font-tit);font-size:.85rem;font-weight:600;color:var(--verde);transition:color var(--trans)}
.post-nav a:hover{color:var(--verde-oscuro)}
@media(max-width:768px){.posts-grid{grid-template-columns:1fr}.single-post-article .entry-title{font-size:1.6rem}}
