
:root{
  --cream:#F7F1E3;
  --cream-2:#EFE6D0;
  --ink:#0E2418;
  --ink-2:#1F3A28;
  --muted:#6C6B62;
  --leaf:#22873F;
  --leaf-dark:#1B6E33;
  --leaf-2:#3AB456;
  --lime:#B6E547;
  --amber:#E8A93A;
  --sun:#F5D174;
  --terra:#C77B54;
  --peach:#FBEAE0;
  --mint:#DDF5E1;
  --line:rgba(14,36,24,0.10);
  --max:1240px;
  --r-sm:6px;
  --r:10px;
  --r-lg:14px;
  --font-display:'Archivo','Arial Narrow',sans-serif;
  --font-body:'Archivo',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --display-stretch:75%;
  --focus:0 0 0 3px #fff, 0 0 0 6px var(--leaf);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--cream);
  color:var(--ink);
  line-height:1.55;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.serif{font-family:var(--font-display);font-stretch:var(--display-stretch)}

/* Grain texture overlay */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.05 0 0 0 0 0.14 0 0 0 0 0.09 0 0 0 0.04 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  opacity:0.5;
  mix-blend-mode:multiply;
}

/* NAV */
nav.top{
  position:sticky;top:0;z-index:50;
  background:rgba(247,241,227,0.85);
  backdrop-filter:blur(14px) saturate(1.4);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--line);
}
nav.top .inner{
  max-width:var(--max);margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:600;font-size:22px;letter-spacing:-0.03em}
.logo img{width:36px;height:36px;border-radius:50%;background:#fff;padding:2px}
nav .links{display:flex;gap:28px;align-items:center}
nav .links a{font-size:14px;color:var(--muted);font-weight:500;transition:color .15s}
nav .links a:hover{color:var(--ink)}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:999px;
  font-size:14px;font-weight:600;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s;
  white-space:nowrap;
}
.btn-primary{background:var(--ink);color:var(--cream)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(14,36,24,0.25)}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-lime:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(182,229,71,0.4)}
.btn-ghost{color:var(--ink);border:1.5px solid var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn .arr{transition:transform .2s;font-weight:700}
.btn:hover .arr{transform:translateX(4px)}
@media(max-width:820px){nav .links a:not(.btn){display:none}}

/* HERO */
.hero{
  max-width:var(--max);margin:0 auto;padding:80px 24px 60px;
  position:relative;
  display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;
}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:40px}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,135,63,0.6)}50%{box-shadow:0 0 0 8px rgba(34,135,63,0)}}
.hero h1{
  font-family:var(--font-display);font-stretch:var(--display-stretch);
  font-size:clamp(48px,7.5vw,96px);
  font-weight:400;line-height:0.95;
  letter-spacing:-0.035em;
  margin-bottom:28px;
}
.hero h1 .italic{font-weight:300}
.hero h1 .highlight{
  color:var(--leaf);
  position:relative;
  white-space:nowrap;
}
.hero h1 .highlight::after{
  content:'';position:absolute;left:-2%;right:-2%;bottom:0.05em;height:0.18em;
  background:var(--lime);z-index:-1;border-radius:4px;
  opacity:0.65;
  transform:skew(-8deg,-1deg);
}
.hero .lead{
  font-size:clamp(17px,1.7vw,20px);color:var(--ink-2);
  max-width:520px;margin-bottom:40px;line-height:1.5;
}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hero .cta-row .btn{padding:16px 26px;font-size:15px}

/* Hero visual (right side) */
.hero-visual{
  position:relative;
  height:520px;
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:900px){.hero-visual{height:340px;margin-top:20px}}
.hero-svg{width:100%;height:100%;position:relative;z-index:2}
.hero-svg .spin-slow{animation:spin 40s linear infinite;transform-origin:center}
.hero-svg .spin-med{animation:spin 25s linear infinite reverse;transform-origin:center}
.hero-svg .sway{animation:sway 6s ease-in-out infinite;transform-origin:bottom center}
.hero-svg .float{animation:floaty 5s ease-in-out infinite}
.hero-svg .float-2{animation:floaty 6s ease-in-out infinite -2s}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero-blob{
  position:absolute;inset:0;z-index:1;
  filter:blur(1px);
  opacity:0.85;
}
.hero-blob svg{width:100%;height:100%}

/* Marquee ticker */
.marquee{
  background:var(--ink);color:var(--cream);
  padding:24px 0;overflow:hidden;
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.marquee-track{
  display:flex;gap:60px;animation:scroll 40s linear infinite;
  white-space:nowrap;width:max-content;
}
.marquee span{
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:28px;font-weight:400;
  display:flex;align-items:center;gap:60px;
  letter-spacing:-0.02em;
}
.marquee span em{color:var(--lime);font-style:italic}
.marquee .dot{width:8px;height:8px;background:var(--lime);border-radius:50%;flex-shrink:0}
@keyframes scroll{to{transform:translateX(-50%)}}

/* SECTIONS */
section{padding:100px 24px;position:relative}
.container{max-width:var(--max);margin:0 auto}
.section-head{margin-bottom:60px;max-width:760px}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:0.14em;
  color:var(--leaf);text-transform:uppercase;margin-bottom:20px;
}
.section-eyebrow::before{content:'';width:24px;height:2px;background:var(--leaf);border-radius:2px}
h2{
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;
  font-size:clamp(38px,5.5vw,68px);line-height:1;
  letter-spacing:-0.035em;margin-bottom:24px;
}
h2 .italic{color:var(--leaf)}
.section-head p{font-size:18px;color:var(--muted);line-height:1.55;max-width:600px}

/* CIENCIA — dark warm forest bento */
#ciencia{background:transparent}
.science-wrap{
  background:var(--ink);color:var(--cream);
  border-radius:var(--r-lg);padding:80px 60px;
  position:relative;overflow:hidden;
}
@media(max-width:820px){.science-wrap{padding:56px 24px}}
.science-wrap::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(182,229,71,0.15) 0%,transparent 70%);
  pointer-events:none;
}
.science-wrap .section-eyebrow{color:var(--lime)}
.science-wrap .section-eyebrow::before{background:var(--lime)}
.science-wrap h2{color:var(--cream)}
.science-wrap h2 .italic{color:var(--lime)}
.science-wrap .section-head p{color:rgba(247,241,227,0.75)}
.science-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  position:relative;z-index:2;
}
@media(max-width:820px){.science-grid{grid-template-columns:1fr}}
.science-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--r);padding:28px;
  transition:background .25s, border-color .25s, transform .25s;
  position:relative;overflow:hidden;
}
.science-card:hover{background:rgba(255,255,255,0.07);border-color:rgba(182,229,71,0.3);transform:translateY(-4px)}
.science-card.big{grid-row:span 2}
.science-card svg{width:44px;height:44px;margin-bottom:20px}
.science-card h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:22px;font-weight:500;margin-bottom:10px;letter-spacing:-0.015em}
.science-card p{font-size:14px;color:rgba(247,241,227,0.7);line-height:1.55}
.science-card.big h3{font-size:28px}
.science-card.big p{font-size:16px}

/* PRODUCTOS — 3x2 grid */
.products-bento{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
@media(max-width:900px){.products-bento{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.products-bento{grid-template-columns:1fr}}
.product-card{
  border-radius:var(--r);padding:32px 28px;
  position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1);
  cursor:pointer;
  display:flex;flex-direction:column;
  min-height:280px;
  border:1px solid rgba(14,36,24,0.06);
}
.product-card:hover{transform:translateY(-6px)}
.product-card .decor{
  position:absolute;bottom:-20px;right:-20px;
  width:180px;height:180px;opacity:0.15;
  pointer-events:none;
}
.product-card .cat{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;
  padding:6px 12px;border-radius:999px;
  background:rgba(255,255,255,0.6);
  margin-bottom:18px;align-self:flex-start;
}
.product-card h3{
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;
  font-size:40px;line-height:0.95;margin-bottom:12px;letter-spacing:-0.03em;
}
.product-card .desc{font-size:15px;color:var(--ink-2);margin-bottom:24px;flex-grow:1;opacity:0.85}
.product-card .pres{
  display:flex;gap:6px;margin-bottom:20px;
}
.product-card .pres span{
  font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;
  background:rgba(14,36,24,0.08);
}
.product-card .cta{
  display:inline-flex;align-items:center;gap:6px;
  font-size:14px;font-weight:700;
  padding-top:18px;border-top:1.5px solid rgba(14,36,24,0.15);
  position:relative;z-index:2;
}
.product-card .cta .arr{transition:transform .2s}
.product-card:hover .cta .arr{transform:translateX(6px)}

/* ASESOR */
#asesor{background:transparent}
.advisor-wrap{
  background:linear-gradient(135deg,var(--mint) 0%, var(--cream) 100%);
  border-radius:var(--r-lg);
  padding:80px 60px;
  max-width:920px;margin:0 auto;
  text-align:center;position:relative;overflow:hidden;
}
@media(max-width:820px){.advisor-wrap{padding:48px 24px}}
.advisor-wrap::before{
  content:'';position:absolute;top:-80px;left:-80px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,135,63,0.15) 0%,transparent 70%);
}
.advisor-wrap h2{margin-bottom:16px;position:relative}
.advisor-wrap>p{color:var(--muted);font-size:18px;margin-bottom:36px;max-width:520px;margin-left:auto;margin-right:auto;position:relative}
.advisor-panel{
  background:#fff;border-radius:var(--r);padding:36px;
  text-align:left;box-shadow:0 20px 40px -20px rgba(14,36,24,0.15);
  position:relative;z-index:2;
}
.advisor-progress{
  height:6px;background:rgba(14,36,24,0.08);border-radius:999px;overflow:hidden;
  margin-bottom:28px;
}
.advisor-progress-bar{
  height:100%;background:var(--leaf);width:0%;
  transition:width .5s cubic-bezier(.34,1.56,.64,1);
  border-radius:999px;
}
.advisor-question{font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em}
.advisor-title{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:32px;font-weight:400;line-height:1.1;margin-bottom:28px;letter-spacing:-0.02em}
.advisor-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:600px){.advisor-options{grid-template-columns:1fr}}
.advisor-opt{
  padding:18px 22px;background:var(--cream);border:1.5px solid transparent;
  border-radius:14px;font-size:15px;font-weight:600;text-align:left;
  transition:all .18s;
  color:var(--ink);
}
.advisor-opt:hover{border-color:var(--leaf);background:#fff;transform:translateY(-2px)}
.advisor-opt:active{transform:scale(0.98)}
.advisor-result{
  padding:40px;background:var(--ink);color:var(--cream);border-radius:var(--r);text-align:left;
  position:relative;overflow:hidden;
}
.advisor-result::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(182,229,71,0.2) 0%,transparent 70%);
}
.advisor-result .badge{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.12em;
  color:var(--lime);text-transform:uppercase;margin-bottom:14px;
}
.advisor-result h3{
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;
  font-size:56px;line-height:0.95;margin-bottom:20px;letter-spacing:-0.03em;
}
.advisor-result p{color:rgba(247,241,227,0.8);font-size:16px;margin-bottom:28px;max-width:520px}
.advisor-result .btn{background:var(--lime);color:var(--ink)}
.advisor-result .reset{
  color:rgba(247,241,227,0.6);font-size:13px;margin-left:16px;text-decoration:underline;
}

/* CULTIVOS — interactive bento */
.crops-header{
  display:flex;justify-content:space-between;align-items:end;
  margin-bottom:40px;flex-wrap:wrap;gap:20px;
}
.crops-hint{
  font-size:14px;color:var(--muted);
  display:flex;align-items:center;gap:8px;
}
.crops-hint::before{content:'👆';font-size:18px}
.crops-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:12px;
}
.crop-tile{
  padding:24px 20px;background:#fff;border:1px solid var(--line);
  border-radius:16px;text-align:left;
  transition:all .2s cubic-bezier(.34,1.56,.64,1);
  cursor:pointer;
  display:flex;flex-direction:column;gap:10px;
  font-family:inherit;
}
.crop-tile:hover{
  border-color:var(--leaf);transform:translateY(-3px);
  box-shadow:0 12px 24px -12px rgba(14,36,24,0.15);
}
.crop-tile .emoji{font-size:28px;line-height:1}
.crop-tile .name{font-size:14px;font-weight:600;color:var(--ink)}
.crop-tile .count{font-size:11px;color:var(--muted);font-weight:500}

/* Crop detail panel */
.crop-detail{
  margin-top:40px;
  background:#fff;border-radius:var(--r-lg);
  padding:48px;
  border:1px solid var(--line);
  display:none;
  animation:slideDown .4s cubic-bezier(.34,1.56,.64,1);
}
@keyframes slideDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.crop-detail{padding:28px}}
.crop-detail.active{display:block}
.crop-detail-head{
  display:flex;align-items:center;gap:20px;
  padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:32px;
}
.crop-detail-emoji{
  width:64px;height:64px;font-size:36px;border-radius:16px;
  background:var(--mint);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.crop-detail h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:38px;font-weight:400;letter-spacing:-0.025em;line-height:1;margin-bottom:6px}
.crop-detail-head p{color:var(--muted);font-size:14px}
.crop-detail-close{
  margin-left:auto;background:var(--cream);border:none;
  width:40px;height:40px;border-radius:50%;font-size:20px;color:var(--ink);
  display:flex;align-items:center;justify-content:center;
}
.crop-detail-close:hover{background:var(--cream-2)}
.crop-products{display:grid;gap:16px}
.crop-product{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  padding:20px 24px;background:var(--cream);border-radius:14px;
  transition:background .15s;
}
.crop-product:hover{background:var(--cream-2)}
@media(max-width:600px){.crop-product{grid-template-columns:1fr;gap:8px}}
.crop-product-badge{
  width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:18px;
  color:#fff;
}
.crop-product-info h4{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:22px;font-weight:500;letter-spacing:-0.015em;margin-bottom:2px}
.crop-product-info p{font-size:13px;color:var(--muted);font-weight:500}
.crop-product-dose{
  font-size:13px;font-weight:600;padding:8px 14px;background:#fff;border-radius:10px;
  border:1px solid var(--line);text-align:right;line-height:1.35;
}
@media(max-width:600px){.crop-product-dose{text-align:left}}

/* CONTACTO */
#contacto{background:transparent;padding-bottom:120px}
.contact-wrap{
  background:#fff;border-radius:var(--r-lg);padding:60px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;
  border:1px solid var(--line);
}
@media(max-width:820px){.contact-wrap{grid-template-columns:1fr;padding:36px;gap:40px}}
.contact-info h2{margin-bottom:24px}
.contact-info>p{color:var(--muted);font-size:17px;margin-bottom:36px;max-width:400px}
.contact-item{
  display:flex;gap:16px;align-items:flex-start;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.contact-item:last-child{border:none}
.contact-item .ico{
  width:44px;height:44px;border-radius:var(--r-sm);background:var(--mint);
  color:var(--leaf);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.contact-item .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;font-weight:700;margin-bottom:4px}
.contact-item .val{font-size:16px;font-weight:600}
.contact-item a.val:hover{color:var(--leaf)}
form.contact-form{background:var(--cream);padding:40px;border-radius:var(--r);position:relative;overflow:hidden}
form.contact-form::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,209,116,0.3) 0%,transparent 70%);
}
form .row{margin-bottom:16px;position:relative}
form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
form label{display:block;font-size:11px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px}
form input, form textarea{
  width:100%;padding:14px 16px;border:1.5px solid transparent;border-radius:12px;
  background:#fff;font-family:inherit;font-size:15px;color:var(--ink);
  transition:border-color .15s, box-shadow .15s;
}
form input:focus, form textarea:focus{
  outline:none;border-color:var(--leaf);box-shadow:0 0 0 3px rgba(34,135,63,0.12);
}
form textarea{resize:vertical;min-height:100px}
form .submit{
  width:100%;background:var(--ink);color:var(--cream);padding:16px;border-radius:12px;
  font-size:15px;font-weight:700;margin-top:8px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), background .2s;
}
form .submit:hover{transform:translateY(-2px);background:var(--leaf)}
.form-note{font-size:12px;color:var(--muted);margin-top:14px;text-align:center}

/* FOOTER */
footer{background:var(--ink);color:var(--cream);padding:80px 24px 32px;position:relative}
.foot-grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;
  padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,0.1);
}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:36px}}
.foot-col h4{font-size:12px;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;margin-bottom:20px;color:rgba(247,241,227,0.5)}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:12px;font-size:14px;color:rgba(247,241,227,0.75)}
.foot-col a{transition:color .15s}
.foot-col a:hover{color:var(--lime)}
.foot-brand{max-width:340px}
.foot-brand .logo{color:var(--cream);margin-bottom:20px}
.foot-brand p{font-size:14px;color:rgba(247,241,227,0.65);line-height:1.6}
.foot-bottom{
  max-width:var(--max);margin:0 auto;padding-top:28px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  font-size:13px;color:rgba(247,241,227,0.4);
}

/* WhatsApp floating */
.wa-float{
  position:fixed;bottom:24px;right:24px;z-index:100;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 32px rgba(37,211,102,0.4);
  transition:transform .25s cubic-bezier(.16,1,.3,1);
  animation:pulseFloat 2.5s ease-in-out infinite;
}
.wa-float:hover{transform:scale(1.12)}
@keyframes pulseFloat{
  0%,100%{box-shadow:0 12px 32px rgba(37,211,102,0.4), 0 0 0 0 rgba(37,211,102,0.5)}
  50%{box-shadow:0 12px 32px rgba(37,211,102,0.4), 0 0 0 16px rgba(37,211,102,0)}
}

/* Reveal on load */
@keyframes riseIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.reveal{animation:riseIn .8s cubic-bezier(.16,1,.3,1) both}
.reveal-2{animation:riseIn .8s cubic-bezier(.16,1,.3,1) .1s both}
.reveal-3{animation:riseIn .8s cubic-bezier(.16,1,.3,1) .2s both}

/* ===================== TIENDA ===================== */

/* Botón carrito en la navegación */
.cart-toggle{
  position:relative;width:44px;height:44px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1.5px solid var(--line);color:var(--ink);
  transition:transform .2s cubic-bezier(.16,1,.3,1), border-color .2s;
}
.cart-toggle:hover{transform:translateY(-2px);border-color:var(--ink)}
.cart-toggle.bump{animation:bump .45s cubic-bezier(.16,1,.3,1)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.cart-count{
  position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;
  border-radius:999px;background:var(--leaf);color:#fff;
  font-size:11px;font-weight:800;line-height:20px;text-align:center;
}
.cart-count[hidden]{display:none}
@media(max-width:820px){nav .links{gap:12px}}
@media(max-width:420px){.nav-contact{display:none}}

/* Tarjetas de producto con compra */
.product-card{cursor:default}
.product-card h3 button{font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}
.product-card h3 button:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.price-tag{font-size:13px;font-weight:700;margin-bottom:14px;color:var(--ink-2)}
.price-tag.quote{color:var(--muted);font-weight:600}
.pres-picker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;position:relative;z-index:2}
.pres-picker button{
  font-size:12px;font-weight:700;padding:7px 12px;border-radius:9px;
  background:rgba(255,255,255,0.55);border:1.5px solid rgba(14,36,24,0.12);
  transition:background .15s,border-color .15s,color .15s;
}
.pres-picker button:hover{border-color:var(--ink)}
.pres-picker button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.buy-row{
  display:flex;gap:10px;align-items:center;
  padding-top:18px;border-top:1.5px solid rgba(14,36,24,0.15);
  position:relative;z-index:2;
}
.qty{
  display:inline-flex;align-items:center;background:#fff;border-radius:999px;
  border:1.5px solid rgba(14,36,24,0.12);flex-shrink:0;
}
.qty button{width:34px;height:38px;font-size:18px;font-weight:700;border-radius:999px}
.qty button:hover{background:var(--cream)}
.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty span{min-width:22px;text-align:center;font-weight:700;font-size:14px}
.add-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 16px;border-radius:999px;background:var(--ink);color:var(--cream);
  font-size:14px;font-weight:700;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), background .2s, box-shadow .2s;
}
.add-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(14,36,24,0.22)}
.add-btn:disabled{opacity:.6;cursor:progress;transform:none;box-shadow:none}
.add-btn.done{background:var(--leaf)}
.link-more{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;
  color:var(--ink-2);position:relative;z-index:2;align-self:flex-start;
}
.link-more:hover{color:var(--leaf)}
.link-more .arr{transition:transform .2s}
.link-more:hover .arr{transform:translateX(4px)}

/* Cultivos: agregar desde el detalle */
.crop-product{grid-template-columns:auto 1fr auto auto}
.crop-product .mini-add{
  padding:9px 14px;border-radius:999px;background:var(--ink);color:var(--cream);
  font-size:13px;font-weight:700;white-space:nowrap;
}
.crop-product .mini-add:hover{background:var(--leaf)}
@media(max-width:600px){.crop-product{grid-template-columns:1fr}.crop-product .mini-add{justify-self:start}}

/* Asesor: acciones */
.advisor-result .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:relative}
.advisor-result .btn-outline-light{border:1.5px solid rgba(247,241,227,0.4);color:var(--cream)}
.advisor-result .btn-outline-light:hover{border-color:var(--cream)}
.advisor-result .reset{margin-left:4px}

/* Modal ficha de producto */
.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(14,36,24,0.55);backdrop-filter:blur(4px)}
.modal-panel{
  position:relative;background:var(--cream);border-radius:var(--r-lg);
  width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;
  padding:44px;box-shadow:0 40px 80px -20px rgba(14,36,24,0.45);
  animation:riseIn .35s cubic-bezier(.16,1,.3,1);
}
@media(max-width:600px){.modal-panel{padding:28px 20px}}
.modal-close,.drawer-close{
  width:40px;height:40px;border-radius:50%;background:#fff;font-size:22px;line-height:1;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.modal-close{position:absolute;top:16px;right:16px}
.modal-close:hover,.drawer-close:hover{background:var(--cream-2)}
.pm-head{padding:28px;border-radius:var(--r);margin-bottom:28px}
.pm-head .cat{
  display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  padding:6px 12px;border-radius:999px;background:rgba(255,255,255,0.7);margin-bottom:14px;
}
.pm-head h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;font-size:clamp(40px,6vw,56px);line-height:.95;letter-spacing:-.03em;margin-bottom:12px}
.pm-head p{font-size:16px;color:var(--ink-2)}
.pm-section{margin-bottom:26px}
.pm-section h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px}
.pm-section p{font-size:15px;color:var(--ink-2)}
.pm-benefits{list-style:none;display:grid;gap:8px}
.pm-benefits li{display:flex;gap:10px;font-size:15px}
.pm-benefits li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--leaf);margin-top:8px;flex-shrink:0}
.pm-doses{display:grid;gap:8px}
.pm-doses div{
  display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:14px;
  padding:12px 16px;background:#fff;border-radius:12px;font-size:14px;
}
.pm-doses b{font-weight:700}
@media(max-width:520px){.pm-doses div{grid-template-columns:1fr;gap:2px}}
.pm-buy{
  position:sticky;bottom:-44px;margin:0 -44px -44px;padding:20px 44px 28px;
  background:linear-gradient(to top,var(--cream) 75%,rgba(247,241,227,0));
}
@media(max-width:600px){.pm-buy{bottom:-28px;margin:0 -20px -28px;padding:20px 20px 24px}}
.pm-buy .pres-picker{margin-bottom:12px}
.pm-buy .buy-row{border-top:none;padding-top:0}

/* Carrito lateral */
.drawer-backdrop{position:fixed;inset:0;z-index:200;background:rgba(14,36,24,0.45);animation:fadeIn .25s ease}
.drawer-backdrop[hidden]{display:none}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:210;width:min(440px,100%);
  background:var(--cream);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.16,1,.3,1);
  box-shadow:-30px 0 60px -30px rgba(14,36,24,0.4);
}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
.drawer-title{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;font-size:30px;letter-spacing:-.02em;line-height:1;margin:0}
.drawer-body{flex:1;overflow:auto;padding:16px 24px}
.drawer-foot{padding:20px 24px 24px;border-top:1px solid var(--line);background:#fff}
.drawer-foot:empty{display:none}
.cart-empty{text-align:center;padding:60px 10px;color:var(--muted)}
.cart-empty .ico{
  width:72px;height:72px;border-radius:50%;background:var(--mint);color:var(--leaf);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.cart-empty p{margin-bottom:20px}
.cart-item{
  display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);
}
.cart-item:last-child{border-bottom:none}
.cart-item .badge{
  width:48px;height:48px;border-radius:14px;color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:20px;font-weight:500;
}
.cart-item h4{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:19px;letter-spacing:-.01em;line-height:1.1}
.cart-item .meta{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.cart-item .line-price{font-size:13px;font-weight:700;margin-top:6px}
.cart-item .controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.cart-item .qty button{width:30px;height:32px;font-size:16px}
.cart-item .remove{font-size:12px;color:var(--muted);text-decoration:underline}
.cart-item .remove:hover{color:var(--terra)}
.cart-item.busy{opacity:.5;pointer-events:none}
.cart-summary{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:15px}
.cart-summary b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:24px;font-weight:500}
.cart-note{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.45}
.cart-actions{display:grid;gap:10px}
.cart-actions .btn{justify-content:center;padding:15px 20px;font-size:15px}
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(37,211,102,0.35)}
.cart-actions .view-cart{text-align:center;font-size:13px;color:var(--muted);text-decoration:underline;padding-top:4px}
.cart-error{background:var(--peach);color:#7a3a1c;border-radius:var(--r-sm);padding:12px 14px;font-size:13px;margin-bottom:12px}

/* Aviso flotante */
.toast{
  position:fixed;left:50%;bottom:28px;z-index:400;
  transform:translate(-50%,24px);opacity:0;pointer-events:none;
  background:var(--ink);color:var(--cream);padding:14px 20px;border-radius:999px;
  font-size:14px;font-weight:600;display:flex;gap:12px;align-items:center;
  box-shadow:0 20px 40px -12px rgba(14,36,24,0.5);
  transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1);
  max-width:calc(100% - 32px);
}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast button{color:var(--lime);font-weight:700;text-decoration:underline;white-space:nowrap}

body.no-scroll{overflow:hidden}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* ===================== v1.1: ciencia interactiva ===================== */
.fine{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px}

/* Cifras del hero */
.hero-stats{display:grid;grid-template-columns:repeat(3,auto);gap:28px;margin-top:40px;justify-content:start}
.hero-stats div{border-left:2px solid var(--lime);padding-left:14px}
.hero-stats dt{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--ink)}
.hero-stats dd{font-size:13px;color:var(--muted);max-width:150px;margin-top:6px;line-height:1.35}
@media(max-width:520px){.hero-stats{grid-template-columns:1fr 1fr;gap:20px}}

/* Tarjeta de producto v2 */
.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}
.card-top .cat{margin-bottom:0}
.app-pill{font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;border:1.5px solid rgba(14,36,24,0.15);white-space:nowrap}
.stat-line{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.stat-line b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:30px;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.stat-line span{font-size:13px;color:var(--ink-2);line-height:1.3}

/* Laboratorio */
.lab{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:40px}
@media(max-width:700px){.lab{padding:24px 18px}}
.lab-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.lab-tabs button{
  padding:10px 16px;border-radius:999px;background:var(--cream);font-size:14px;font-weight:600;
  border:1.5px solid transparent;transition:border-color .15s,background .15s,color .15s;
}
.lab-tabs button:hover{border-color:var(--leaf)}
.lab-tabs button[aria-selected="true"]{background:var(--ink);color:var(--cream)}
.lab-body{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:48px;align-items:start}
@media(max-width:820px){.lab-body{grid-template-columns:1fr;gap:24px}}
.lab-explainer h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;font-size:34px;letter-spacing:-.02em;line-height:1;margin-bottom:12px}
.lab-explainer p{color:var(--ink-2);font-size:15px}
.lab-chart{display:grid;gap:10px}
.lab-row{
  display:grid;grid-template-columns:130px 1fr 110px;gap:16px;align-items:center;text-align:left;
  padding:12px 14px;border-radius:14px;transition:background .15s;
}
.lab-row:hover{background:var(--cream)}
.lab-name{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:19px;font-weight:500;line-height:1.1}
.lab-name small{display:block;font-family:var(--font-body);font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}
.lab-bar{height:14px;background:var(--cream-2);border-radius:999px;overflow:hidden}
.lab-bar i{display:block;height:100%;border-radius:999px;width:0;transition:width .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 70ms)}
.lab-chart.grown .lab-bar i{width:var(--w)}
.lab-val{font-size:14px;font-weight:700;text-align:right;white-space:nowrap}
@media(max-width:560px){.lab-row{grid-template-columns:1fr auto;gap:8px 12px}.lab-bar{grid-column:1/-1;grid-row:2}}

/* Confianza: franja tipo pie de ficha técnica, no cajas de marketing */
.trust{padding-top:0;padding-bottom:0}
.trust-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line);
}
@media(max-width:900px){.trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.trust-grid{grid-template-columns:1fr}}
.trust-item{
  padding:22px 24px;border-left:1px solid var(--line);
  display:flex;flex-direction:column;gap:5px;
}
.trust-item:first-child{border-left:none}
@media(max-width:900px){.trust-item:nth-child(odd){border-left:none}.trust-item:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:520px){.trust-item{border-left:none !important;border-top:1px solid var(--line)}.trust-item:first-child{border-top:none}}
.trust-item b{display:block;font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:24px;letter-spacing:-.02em;margin-bottom:6px;color:var(--leaf)}
.trust-item span{font-size:14px;color:var(--ink-2);line-height:1.45}

/* Calculadora de programa */
.prog{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;box-shadow:0 20px 40px -20px rgba(14,36,24,0.15);--cols:230px repeat(4,minmax(0,1fr)) 190px}
@media(max-width:700px){.prog{padding:24px 16px}}
.prog-controls{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;margin-bottom:32px}
@media(max-width:820px){.prog-controls{grid-template-columns:1fr;gap:20px}}
.prog-field>label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}
.prog-field select{
  width:100%;padding:14px 40px 14px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--cream);
  font-family:inherit;font-size:16px;font-weight:600;color:var(--ink);
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 6l4 4 4-4' fill='none' stroke='%230E2418' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;background-size:14px;
}
.prog-field select:focus,.prog-ha-num input:focus{outline:none;border-color:var(--leaf);box-shadow:0 0 0 3px rgba(34,135,63,0.12)}
.prog-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.prog-quick button{font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--cream);border:1.5px solid transparent}
.prog-quick button:hover{border-color:var(--leaf)}
.prog-quick button[aria-pressed="true"]{border-color:var(--ink);background:#fff}
.prog-ha{display:flex;align-items:center;gap:16px}
.prog-ha input[type=range]{flex:1;accent-color:var(--leaf)}
.prog-ha-num{display:flex;align-items:center;gap:6px;font-weight:700}
.prog-ha-num input{width:96px;padding:12px;border-radius:12px;border:1.5px solid var(--line);background:var(--cream);font-family:inherit;font-size:18px;font-weight:700;color:var(--ink)}
.prog-stagehead{
  display:grid;grid-template-columns:var(--cols);gap:8px;padding:0 16px 10px;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:center;
}
.prog-rows{display:grid;gap:10px}
.prog-row{
  display:grid;grid-template-columns:var(--cols);gap:8px;align-items:center;
  padding:16px;border-radius:16px;background:var(--pbg);border:1px solid rgba(14,36,24,0.06);
  transition:opacity .2s, filter .2s, box-shadow .15s, transform .15s;
}
.prog-row:not(.off):hover{box-shadow:0 10px 22px -14px rgba(14,36,24,.35);transform:translateY(-1px)}
.prog-row.off{opacity:.45;filter:grayscale(.6)}
.prog-prod{display:flex;align-items:center;gap:10px;cursor:pointer}
.prog-prod input{width:18px;height:18px;accent-color:var(--ink);flex-shrink:0}
.prog-prod .badge{
  width:38px;height:38px;border-radius:11px;color:#fff;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:17px;
}
.prog-prod b{display:block;font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:19px;line-height:1.1}
.prog-prod small{font-size:11px;color:var(--muted);font-weight:600}
.prog-stage{height:30px;border-radius:8px;background:rgba(14,36,24,0.04);position:relative;display:flex;align-items:center;justify-content:center}
.prog-stage.on{background:var(--pc)}
.prog-stage i{width:8px;height:8px;border-radius:50%;background:#fff}
.prog-stage i.off{width:14px;height:2px;border-radius:1px;background:rgba(14,36,24,.16)}
.prog-stage em{display:none}
.prog-qty{text-align:right;line-height:1.2}
.prog-total{display:block;font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:26px;letter-spacing:-.02em}
.prog-total.small{font-size:15px;font-family:var(--font-body);font-weight:700}
.prog-packs{font-size:12px;color:var(--ink-2);font-weight:600}
.prog-detail{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px dashed rgba(14,36,24,0.15);margin-top:4px}
.prog-detail p{font-size:13px;color:var(--ink-2);flex:1;min-width:220px}
.prog-ctrls{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.prog-slider{display:grid;gap:4px;font-size:12px;color:var(--ink-2);min-width:200px}
.prog-slider input{accent-color:var(--pc)}
.prog-apps{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink-2)}
.prog-apps .qty button{width:30px;height:32px;font-size:16px}
.calc-link{font-size:12px;font-weight:700;color:var(--leaf);text-decoration:underline;text-underline-offset:3px;margin-left:4px}
@media(max-width:900px){
  .prog-stagehead{display:none}
  .prog-row{grid-template-columns:repeat(4,1fr)}
  .prog-prod{grid-column:1/-1}
  .prog-qty{grid-column:1/-1;text-align:left;order:3}
  .prog-stage{height:auto;min-height:30px;padding:4px;font-size:10px}
  .prog-stage em{display:block;font-style:normal;font-weight:700;color:#fff;text-align:center;line-height:1.1}
  .prog-stage i:not(.off){display:none}
  .prog-detail{order:4}
}
.prog-summary{margin-top:24px;padding:28px;border-radius:var(--r);background:var(--ink);color:var(--cream)}
.prog-figures{display:flex;flex-wrap:wrap;gap:16px 40px;margin-bottom:18px}
.prog-figures b{display:block;font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;font-size:42px;line-height:1;letter-spacing:-.03em;color:var(--lime)}
.prog-figures span{font-size:13px;color:rgba(247,241,227,0.75)}
.prog-note{font-size:14px;color:rgba(247,241,227,0.85);margin-bottom:18px}
.prog-actions{display:flex;flex-wrap:wrap;gap:12px}
.prog-actions .btn-primary{background:var(--lime);color:var(--ink)}
.prog-actions .btn:disabled{opacity:.7;cursor:progress}
.prog-summary .fine{color:rgba(247,241,227,0.55);margin-top:16px}
.prog-empty{color:rgba(247,241,227,0.8)}

/* Ficha con pestañas */
.pm-sub{font-size:15px;color:var(--ink-2);margin-top:-4px}
.pm-head h3 sup{font-size:.35em;vertical-align:super;margin-left:2px}
.pm-stat{display:flex;align-items:baseline;gap:12px;margin:16px 0}
.pm-stat b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:500;font-size:44px;line-height:1;letter-spacing:-.03em}
.pm-stat span{font-size:14px;color:var(--ink-2)}
.pm-badges{display:flex;flex-wrap:wrap;gap:6px}
.pm-badges span{font-size:11px;font-weight:700;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,0.7)}
.pm-badges .tox-low{background:var(--mint);color:#15602c}
.pm-badges .tox-mid{background:#FCF1D9;color:#7a5413}
.pm-tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--line);margin-bottom:22px;overflow-x:auto}
.pm-tabs button{padding:12px 16px;font-size:14px;font-weight:700;color:var(--muted);border-bottom:2.5px solid transparent;margin-bottom:-1.5px;white-space:nowrap}
.pm-tabs button[aria-selected="true"]{color:var(--ink);border-color:var(--leaf)}
.pm-panel{min-height:180px}
.pm-desc{font-size:15px;color:var(--ink-2);margin-bottom:18px}
.pm-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:22px 0 10px}
.pm-feats{list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink-2)}
.pm-feats li::before{content:'→ ';color:var(--leaf);font-weight:700}
.comp-list{display:grid;gap:6px}
.comp-row{display:grid;grid-template-columns:minmax(120px,190px) 1fr 110px;gap:14px;align-items:center;padding:8px 12px;background:#fff;border-radius:10px;font-size:14px}
.comp-bar{height:8px;background:var(--cream-2);border-radius:999px;overflow:hidden}
.comp-bar i{display:block;height:100%;border-radius:999px}
.comp-val{text-align:right;white-space:nowrap}
@media(max-width:520px){.comp-row{grid-template-columns:1fr auto}.comp-bar{grid-column:1/-1;grid-row:2}.comp-row.text .comp-bar{display:none}}
.dose-table{display:grid;gap:6px}
.dose-row{display:grid;grid-template-columns:minmax(120px,170px) 120px 1fr;gap:14px;padding:12px 14px;background:#fff;border-radius:12px;font-size:14px;align-items:start}
.dose-row.head{background:none;padding:0 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dose-val{font-weight:700;white-space:nowrap}
@media(max-width:560px){.dose-row{grid-template-columns:1fr auto}.dose-row>span:last-child{grid-column:1/-1}.dose-row.head{display:none}}
.safe-list{display:grid;gap:8px}
.safe-list div{padding:12px 14px;background:#fff;border-radius:12px}
.safe-list dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}
.safe-list dd{font-size:14px;color:var(--ink-2)}
.pm-docs{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pm-docs a{font-size:13px;font-weight:700;padding:10px 14px;border-radius:10px;background:#fff;border:1.5px solid var(--line)}
.pm-docs a:hover{border-color:var(--ink)}
.pm-docs a::before{content:'↓ ';color:var(--leaf)}

/* Asesor v2 */
.advisor-options{grid-template-columns:repeat(2,1fr)}
.advisor-dose{
  position:relative;display:grid;gap:2px;padding:16px 18px;border-radius:14px;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);margin-bottom:18px;max-width:560px;
}
.advisor-dose span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--lime)}
.advisor-dose b{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:400;font-size:28px}
.advisor-dose em{font-style:normal;font-size:14px;color:rgba(247,241,227,0.75)}
.advisor-combo{font-size:15px}
.advisor-combo button{color:var(--lime);font-weight:700;text-decoration:underline}
.advisor-result h3{font-size:clamp(40px,7vw,56px)}

/* Cultivos v2 */
.crop-detail-head .crop-calc{margin-left:auto}
.crop-detail-head .crop-detail-close{margin-left:0}
@media(max-width:600px){.crop-detail-head{flex-wrap:wrap}.crop-detail-head .crop-calc{order:3;margin-left:0}}
.crop-product-info h4 a:hover{color:var(--leaf)}

.prog-cost{display:block;font-size:13px;font-weight:700;color:var(--leaf);margin-top:2px}
.prog-cost.quote{color:var(--muted);font-weight:600}
.price-tag:not(.quote){font-size:15px;color:var(--ink)}

/* ===================== v1.3: estética "ficha técnica" ===================== */
body{font-family:var(--font-body);font-stretch:100%;letter-spacing:-.003em}
body::before{display:none}

/* Titulares: condensados, pesados, sin cursivas decorativas */
.hero h1{font-weight:800;text-transform:uppercase;line-height:.88;letter-spacing:-.012em;font-size:clamp(52px,8.2vw,112px)}
.hero h1 .italic{font-weight:500}
.hero h1 .highlight::after{bottom:.02em;height:.14em;transform:none;border-radius:0;opacity:.85}
h2{font-weight:750;line-height:.92;letter-spacing:-.012em;font-size:clamp(40px,5.8vw,74px)}
.product-card h3{font-weight:800;font-size:44px;line-height:.9;text-transform:uppercase;letter-spacing:-.005em}
.science-card h3,.crop-detail h3,.lab-explainer h3{font-weight:700}
.science-card.big h3{font-size:30px}
.advisor-title{font-weight:700;letter-spacing:-.01em}
.advisor-result h3,.pm-head h3{font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.9}
.drawer-title{font-weight:800;text-transform:uppercase;letter-spacing:0}
.cart-item h4,.crop-product-info h4,.prog-prod b,.lab-name{font-weight:700}
.logo{font-weight:800;font-size:24px;letter-spacing:-.01em}
.trust-item b{font-weight:800;text-transform:uppercase;font-size:22px;letter-spacing:0}

/* Rótulos y datos en monoespaciada */
.section-eyebrow,.product-card .cat,.pm-head .cat,.app-pill,.advisor-question,.advisor-result .badge,
.advisor-dose span,.pm-h,.pm-section h4,.safe-list dt,.dose-row.head,.prog-field>label,.prog-stagehead,
.contact-item .lbl,form label,.foot-col h4,.pm-badges span,.lab-name small{
  font-family:var(--font-mono);letter-spacing:.04em;
}
.section-eyebrow{font-size:12px;font-weight:600;color:var(--leaf)}
.section-eyebrow::before{width:8px;height:8px;border-radius:0}
.hero-stats dt,.stat-line b,.pm-stat b,.lab-val,.comp-val,.dose-val,.prog-total,.prog-cost,.prog-figures b,
.price-tag,.cart-summary b,.crop-product-dose,.advisor-dose b,.qty span,.prog-packs,.line-price,.cart-count,.crop-tile .count{
  font-family:var(--font-mono);font-stretch:100%;letter-spacing:-.02em;
}
.hero-stats dt{font-size:34px;font-weight:500}
.hero-stats div{border-left-width:3px}
.stat-line b{font-size:24px;font-weight:600}
.pm-stat b{font-size:36px;font-weight:600}
.prog-total{font-size:22px;font-weight:600}
.prog-figures b{font-size:34px;font-weight:500}
.advisor-dose b{font-size:24px;font-weight:600}
.cart-summary b{font-size:20px;font-weight:600}
.price-tag{font-size:15px;font-weight:600}
.crop-product-dose{font-size:12px}

/* Formas: esquinas técnicas en lugar de pastillas */
.btn{border-radius:6px;font-weight:650;letter-spacing:.005em}
.add-btn,.mini-add,.qty,.cart-toggle,.prog-field select,.prog-ha-num input,form input,form textarea,form .submit{border-radius:6px}
.qty button{border-radius:4px}
.product-card .cat,.pm-head .cat,.app-pill,.pres-picker button,.lab-tabs button,.prog-quick button,.pm-badges span,
.advisor-opt,.crop-tile,.cart-count,.toast{border-radius:4px}
.product-card .cat,.pm-head .cat{background:rgba(255,255,255,0.75);font-size:10.5px}
.pres-picker button{font-family:var(--font-mono);font-weight:500}
.lab-bar,.lab-bar i,.comp-bar,.comp-bar i,.advisor-progress,.advisor-progress-bar{border-radius:2px}
.prog-stage{border-radius:3px}
.product-card{border:1px solid rgba(14,36,24,0.10)}
.product-card:hover{transform:translateY(-3px)}
.product-card .decor{opacity:.09}
.toast{border-radius:6px}
.cart-toggle{width:42px;height:42px}

/* Marquee como banda de etiqueta */
.marquee{padding:18px 0}
.marquee span{font-family:var(--font-display);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:26px;letter-spacing:.01em}
.marquee span em{font-style:normal}
.marquee .dot{border-radius:0;width:7px;height:7px}

/* Cultivos: puntos de color por producto en lugar de emojis */
.crops-hint::before{content:none}
.crop-tile{gap:12px}
.crop-tile .name{font-size:15px;font-weight:700}
.crop-dots{display:flex;gap:4px}
.crop-dots i{width:10px;height:10px;display:block}
.crop-detail-emoji{font-family:var(--font-mono);font-size:28px;font-weight:600;background:var(--ink);color:var(--lime);border-radius:6px}

/* ===================== v1.4: sistema de botones, UX y secciones de conversión ===================== */

/* Foco visible para teclado en todo el sitio */
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:3px solid var(--leaf);outline-offset:2px}
.prog-summary :focus-visible,.advisor-result :focus-visible,footer :focus-visible{outline-color:var(--lime)}
.skip-link{position:absolute;left:12px;top:-60px;z-index:500;background:var(--ink);color:#fff;padding:12px 16px;border-radius:6px;font-weight:600}
.skip-link:focus{top:12px}

/* Texto solo para lectores de pantalla (regla estándar de WP/WooCommerce): esta plantilla no carga el CSS del tema, así que hay que definirla aquí o el texto queda visible. */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;
  overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
  background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);
  clip:auto!important;clip-path:none;color:#111;display:block;font-size:14px;font-weight:700;
  height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000;
}

/* ---------- Botones: tres variantes, tres tamaños ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 22px;border-radius:8px;border:1.5px solid transparent;
  font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:0;line-height:1.1;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;
}
.btn:hover{transform:none}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn .arr{transition:transform .15s ease}
.btn:hover .arr{transform:translateX(3px)}
.btn-lg{min-height:56px;padding:0 28px;font-size:16px}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px}
.btn-block{width:100%}

/* Primario: la acción de compra, en el verde de la marca */
.btn-primary{background:var(--leaf);color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.14)}
.btn-primary:hover{background:var(--leaf-dark);color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.14),0 8px 18px -8px rgba(34,135,63,.6)}
/* Secundario: contorno sobre fondo claro */
.btn-secondary,.btn-ghost{background:#fff;color:var(--ink);border-color:rgba(14,36,24,.22)}
.btn-secondary:hover,.btn-ghost:hover{background:#fff;color:var(--ink);border-color:var(--ink)}
/* Sobre fondo oscuro */
.btn-lime{background:var(--lime);color:var(--ink);box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}
.btn-lime:hover{background:#c6ef63;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12),0 8px 18px -8px rgba(182,229,71,.6)}
.advisor-result .btn-outline-light,.prog-summary .btn-wa{background:transparent;color:var(--cream);border-color:rgba(247,241,227,.35);box-shadow:none}
.advisor-result .btn-outline-light:hover,.prog-summary .btn-wa:hover{border-color:var(--cream);background:rgba(255,255,255,.06)}
.prog-actions .btn-primary{background:var(--lime);color:var(--ink)}
.prog-actions .btn-primary:hover{background:#c6ef63;color:var(--ink)}
.prog-actions .btn{flex:0 0 auto;min-height:56px;padding:0 26px;font-size:16px}
/* WhatsApp en fondo claro */
.btn-wa{background:#fff;color:#0f7a3a;border-color:rgba(37,211,102,.55)}
.btn-wa:hover{background:#effcf3;border-color:#25D366;color:#0f7a3a}
.btn-wa::before{content:'';width:18px;height:18px;flex-shrink:0;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.9 11.9 0 005.68 1.45h.01c6.55 0 11.89-5.34 11.89-11.9A11.82 11.82 0 0012.05 0zm0 21.8h-.01a9.87 9.87 0 01-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 01-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88a9.88 9.88 0 019.88 9.89c0 5.45-4.43 9.88-9.88 9.88zm5.42-7.4c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.91-2.21-.24-.58-.49-.5-.67-.51h-.57a1.1 1.1 0 00-.8.37c-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.62.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.28-.2-.57-.35z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.9 11.9 0 005.68 1.45h.01c6.55 0 11.89-5.34 11.89-11.9A11.82 11.82 0 0012.05 0zm0 21.8h-.01a9.87 9.87 0 01-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 01-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88a9.88 9.88 0 019.88 9.89c0 5.45-4.43 9.88-9.88 9.88zm5.42-7.4c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.91-2.21-.24-.58-.49-.5-.67-.51h-.57a1.1 1.1 0 00-.8.37c-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.07c.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.62.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.28-.2-.57-.35z'/></svg>") center/contain no-repeat;
}
@media(max-width:560px){.cta-row .btn,.steps-cta .btn,.prog-actions .btn,.advisor-result .actions .btn{width:100%}}

/* ---------- Navegación ---------- */
nav.top .inner{gap:16px}
nav .links{gap:4px}
nav .links a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:6px;font-size:14px;font-weight:500;color:var(--ink-2)}
nav .links a:hover{background:rgba(14,36,24,.06);color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:8px}
.cart-toggle{
  width:auto;height:44px;padding:0 14px 0 12px;gap:8px;border-radius:8px;
  background:var(--ink);color:var(--cream);border:none;font-weight:600;font-size:14px;
}
.cart-toggle:hover{transform:none;background:var(--ink-2)}
.cart-toggle .cart-count{position:static;min-width:22px;height:22px;line-height:22px;background:var(--lime);color:var(--ink);border-radius:4px}
.menu-toggle{display:none;width:44px;height:44px;border-radius:8px;border:1.5px solid rgba(14,36,24,.18);background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
nav.top.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
nav.top.menu-open .menu-toggle span:nth-child(2){opacity:0}
nav.top.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media(max-width:960px){
  .menu-toggle{display:flex}
  nav .links{
    display:none;position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;
    background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 20px 30px -20px rgba(14,36,24,.3);
  }
  nav .links a,nav .links a:not(.btn){display:block;padding:14px 8px;font-size:17px;border-bottom:1px solid var(--line);border-radius:0}
  nav.top.menu-open .links{display:flex}
}
@media(max-width:420px){.cart-toggle .cart-label{display:none}.cart-toggle{padding:0 12px}}

/* ---------- Hero ---------- */
.h1-kicker{
  display:flex;align-items:center;gap:10px;margin-bottom:28px;
  font-family:var(--font-mono);font-stretch:100%;font-size:13px;font-weight:500;letter-spacing:.04em;
  text-transform:none;color:var(--ink-2);line-height:1.2;
}
.h1-kicker .dot{width:8px;height:8px;background:var(--leaf);flex-shrink:0;animation:pulse 2s ease-in-out infinite}
.hero .lead strong{color:var(--ink);font-weight:700}
.hero-assurances{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-size:14px;color:var(--ink-2)}
.hero-assurances li{display:flex;align-items:center;gap:8px}
.hero-assurances li::before{content:'';width:16px;height:16px;flex-shrink:0;border-radius:4px;background:var(--leaf) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
@media(max-width:900px){.hero-visual{height:220px;margin-top:0}.hero{gap:24px}}

/* ---------- Tarjeta de producto ---------- */
.product-card{padding:28px 24px 24px}
.product-card h3 a,.product-card h3 button{color:inherit;text-decoration:none}
.product-card h3 a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.price-tag{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.price-tag b{font-family:var(--font-mono);font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.price-tag small{font-family:var(--font-body);font-size:13px;color:var(--ink-2);font-weight:500}
.price-tag.quote b{font-family:var(--font-body);font-size:16px;font-weight:700;color:var(--ink-2)}
/* Presentación como control segmentado */
.pres-picker{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;margin-bottom:12px;border:1.5px solid rgba(14,36,24,.18);border-radius:8px;overflow:hidden;background:#fff}
.pres-picker button{min-height:44px;border:none;border-radius:0;background:transparent;font-size:14px;font-weight:600;color:var(--ink-2)}
.pres-picker button+button{border-left:1.5px solid rgba(14,36,24,.12)}
.pres-picker button:hover{background:rgba(14,36,24,.05);border-color:rgba(14,36,24,.12)}
.pres-picker button[aria-pressed="true"]{background:var(--ink);color:#fff}
.pres-picker button:focus-visible{box-shadow:inset 0 0 0 3px var(--leaf);border-radius:0}
/* Cantidad + agregar */
.buy-row{gap:8px;padding-top:0;border-top:none}
.qty{height:48px;border:1.5px solid rgba(14,36,24,.18);border-radius:8px;background:#fff}
.qty button{width:44px;height:100%;font-size:20px;font-weight:500;border-radius:6px;color:var(--ink)}
.qty button:hover:not(:disabled){background:rgba(14,36,24,.06)}
.qty span{min-width:28px;font-size:15px}
.add-btn{
  min-height:48px;gap:8px;border-radius:8px;background:var(--leaf);color:#fff;font-size:15px;font-weight:600;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.14);
}
.add-btn:hover{transform:none;background:var(--leaf-dark);box-shadow:inset 0 -2px 0 rgba(0,0,0,.14),0 8px 18px -8px rgba(34,135,63,.6)}
.add-btn:active{transform:translateY(1px)}
.add-btn.done{background:var(--ink)}
.add-btn:disabled{opacity:.6;cursor:not-allowed}
.link-more{margin-top:16px;padding:8px 0;font-size:14px;font-weight:600;color:var(--leaf-dark);text-decoration:underline;text-decoration-color:rgba(27,110,51,.35);text-underline-offset:4px}
.link-more:hover{color:var(--ink);text-decoration-color:currentColor}

/* Botones pequeños y enlaces de acción */
.mini-add{min-height:40px;padding:0 16px;border-radius:8px;background:#fff;color:var(--ink);border:1.5px solid rgba(14,36,24,.22);font-weight:600}
.mini-add:hover{background:#fff;border-color:var(--ink)}
.calc-link{display:inline-flex;align-items:center;min-height:32px;color:var(--leaf-dark)}
.advisor-opt{min-height:60px;border-radius:8px;border:1.5px solid rgba(14,36,24,.12);background:#fff;font-size:16px}
.advisor-opt:hover{border-color:var(--leaf);transform:none;box-shadow:0 6px 14px -8px rgba(14,36,24,.3)}
.advisor-result .reset{min-height:44px;padding:0 8px}
.prog-quick button{min-height:40px;padding:0 14px;font-size:13px;border-radius:6px;border:1.5px solid rgba(14,36,24,.12)}
.lab-tabs button{min-height:44px;border-radius:6px}
.pm-tabs button{min-height:48px}
.cart-item .qty{height:40px}
.cart-item .qty button{width:36px}
.cart-item .remove{min-height:32px}
.crop-detail-close,.modal-close,.drawer-close{width:44px;height:44px;border-radius:8px;border:1.5px solid rgba(14,36,24,.12)}

/* WhatsApp flotante: no tapa botones ni paneles */
.wa-float{width:56px;height:56px;bottom:20px;right:20px;animation:none}
body.no-scroll .wa-float{display:none}
@media(max-width:600px){.wa-float{width:52px;height:52px;bottom:16px;right:16px}main{padding-bottom:40px}}

/* ---------- Cómo comprar ---------- */
.steps-section{padding-top:40px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.step-n{display:inline-block;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--leaf);border:1.5px solid var(--leaf);border-radius:4px;padding:4px 8px;margin-bottom:18px}
.steps h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:700;font-size:26px;line-height:1;margin-bottom:10px}
.steps p{font-size:15px;color:var(--ink-2)}
.steps-cta{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Preguntas frecuentes ---------- */
.faq-wrap{display:grid;grid-template-columns:minmax(260px,1fr) 1.6fr;gap:48px;align-items:start}
@media(max-width:900px){.faq-wrap{grid-template-columns:1fr;gap:8px}}
.faq-list{display:grid;gap:8px}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;list-style:none;min-height:64px}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-family:var(--font-body);font-stretch:100%;font-size:17px;font-weight:650;line-height:1.3;margin:0}
.faq summary:hover h3{color:var(--leaf-dark)}
.faq-icon{position:relative;width:28px;height:28px;flex-shrink:0;border-radius:6px;background:var(--cream)}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;left:8px;right:8px;top:13px;height:2px;background:var(--ink);transition:transform .2s}
.faq-icon::after{transform:rotate(90deg)}
.faq[open] .faq-icon::after{transform:rotate(0)}
.faq p{padding:0 22px 22px;font-size:15px;color:var(--ink-2);line-height:1.6;max-width:680px}

/* ---------- Pie de página ---------- */
.foot-col .foot-h{font-family:var(--font-mono);font-stretch:100%;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:20px;color:rgba(247,241,227,.5)}
footer address{font-style:normal}
footer address li{line-height:1.5}
.foot-col a{display:inline-block;padding:3px 0}

/* Contacto */
.contact-form .btn-block{margin-top:8px}
form input,form textarea{min-height:48px;border:1.5px solid rgba(14,36,24,.12)}

/* Hero compacto: título, propuesta y botones visibles en la primera pantalla */
.hero{padding:44px 24px 56px;grid-template-columns:1.4fr 1fr;gap:40px}
.hero h1{font-size:clamp(44px,6vw,86px);margin-bottom:22px}
.h1-kicker{margin-bottom:20px}
.hero .lead{max-width:560px;margin-bottom:28px;font-size:clamp(16px,1.5vw,19px)}
.hero-visual{height:440px}
.hero-stats{margin-top:32px}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:28px}.hero-visual{height:240px}}
@media(max-width:600px){.hero-visual{display:none}}

.add-btn{white-space:nowrap;padding:0 14px}
@media(max-width:420px){.add-btn .add-long{display:none}}

/* Áreas táctiles mínimas de 44 px en enlaces y controles secundarios */
.logo{min-height:44px}
.link-more{min-height:44px;display:inline-flex;align-items:center}
.prog-apps .qty{height:44px}
.prog-apps .qty button{width:42px;height:100%}
.advisor-combo button{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.crop-product-info h4 a{display:inline-flex;align-items:center;min-height:44px}
.contact-item .val{display:inline-flex;align-items:center;min-height:44px}

/* ---------- Ajustes de alineación en celular ---------- */
/* Botones: el texto puede partirse en dos líneas en pantallas angostas, siempre centrado */
@media(max-width:560px){
  .btn{white-space:normal;text-align:center;padding:12px 18px;line-height:1.25}
  .prog-actions .btn,.btn-lg{padding:14px 18px}
}

/* Contacto: columnas que no se desbordan */
.contact-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-item>div:last-child{min-width:0}
.contact-item .val{overflow-wrap:anywhere}
@media(max-width:820px){
  .contact-wrap{grid-template-columns:minmax(0,1fr);padding:28px 20px;gap:32px}
  form.contact-form{padding:24px 18px}
}
@media(max-width:480px){form .two{grid-template-columns:1fr}}

/* Calculadora: resumen con margen uniforme */
@media(max-width:600px){
  .prog-summary{padding:22px 18px}
  .prog-figures{gap:14px 28px}
  .prog-figures b{font-size:28px}
  .prog-actions{flex-direction:column;align-items:stretch}
}

/* Asesor: una columna en celular, sin márgenes dobles */
@media(max-width:600px){
  .advisor-wrap{padding:36px 16px}
  .advisor-panel{padding:22px 16px}
  .advisor-options{grid-template-columns:1fr}
  .advisor-title{font-size:26px}
  .advisor-result{padding:24px 18px}
  .advisor-result .actions{flex-direction:column;align-items:stretch}
  .advisor-result .reset{align-self:center}
}

@media(max-width:600px){.prog-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.prog-figures>div{min-width:0}.prog-figures>div:nth-child(4){grid-column:1/-1;padding-top:14px;border-top:1px solid rgba(247,241,227,.15)}.prog-figures span{display:block;line-height:1.35;margin-top:4px}}

/* ===================== v2: sitio de varias páginas ===================== */

/* Hero: ficha técnica real en vez de ilustración decorativa */
.hero-spec{
  width:100%;max-width:400px;background:var(--ink);color:var(--cream);
  border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:32px 30px;
}
.hero-spec-top{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(247,241,227,.55);padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1);
}
.hero-spec-top .dot{width:7px;height:7px;background:var(--lime);flex-shrink:0;animation:pulse 2s ease-in-out infinite}
.hero-spec-top span:last-child{margin-left:auto;color:rgba(247,241,227,.35)}
.hero-spec-name{
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;
  text-transform:uppercase;font-size:clamp(26px,3vw,32px);line-height:.95;margin-bottom:24px;
}
.hero-spec-rows{display:grid;gap:14px}
.hero-spec-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 16px}
.hero-spec-row dt{font-size:13px;color:rgba(247,241,227,.7)}
.hero-spec-row dd{display:flex;align-items:center;gap:10px;justify-self:end}
.hero-spec-row b{font-family:var(--font-mono);font-size:15px;font-weight:600;min-width:48px;text-align:right}
.hero-spec-row .comp-bar{width:64px;background:rgba(255,255,255,.14)}
.hero-spec-foot{
  display:flex;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);font-family:var(--font-mono);font-size:11.5px;color:rgba(247,241,227,.6);
}
@media(max-width:900px){.hero-spec{max-width:none}}

/* Franja de datos del hero: encabezado de reporte, no cifras flotando bajo el texto */
.hero-data-strip{background:var(--ink);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.hero-data-strip .hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:0;justify-content:stretch;
}
.hero-data-strip .hero-stats div{border-left:1px solid rgba(255,255,255,.12);border-top:none;padding:20px 24px}
.hero-data-strip .hero-stats div:first-child{border-left:none}
.hero-data-strip .hero-stats dt{
  font-family:var(--font-mono);font-stretch:100%;color:var(--lime);
  font-size:30px;font-weight:600;letter-spacing:-.01em;line-height:1;
}
.hero-data-strip .hero-stats dd{font-size:12.5px;color:rgba(247,241,227,.65);max-width:none;margin-top:6px;line-height:1.35}
@media(max-width:640px){
  .hero-data-strip .hero-stats{grid-template-columns:1fr}
  .hero-data-strip .hero-stats div{border-left:none;border-top:1px solid rgba(255,255,255,.12)}
  .hero-data-strip .hero-stats div:first-child{border-top:none}
}

.preview-bar{background:var(--amber);color:var(--ink);text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:600;padding:8px 16px}
nav .links a[aria-current="page"]{color:var(--ink);font-weight:700;box-shadow:inset 0 -2px 0 var(--leaf)}
@media(max-width:960px){nav .links a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--leaf);padding-left:14px}}
section{padding:80px 24px}
@media(max-width:700px){section{padding:56px 16px}}

/* Encabezado de página interior */
.page-head{padding:40px 24px 8px}
@media(max-width:700px){.page-head{padding:28px 16px 0}}
.page-head h1{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;text-transform:uppercase;font-size:clamp(40px,6vw,76px);line-height:.9;letter-spacing:-.01em;margin:14px 0 18px;max-width:14ch}
.page-lead{font-size:clamp(16px,1.5vw,19px);color:var(--ink-2);max-width:640px;line-height:1.5}
.page-lead a{color:var(--leaf-dark);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.crumbs a{color:var(--ink-2);text-decoration:underline;text-decoration-color:rgba(14,36,24,.25);text-underline-offset:3px;padding:6px 0}
.crumbs a:hover{color:var(--ink)}
.page-calculadora #programa .section-head{display:none}
.page-calculadora #programa,.page-ciencia #ciencia{padding-top:32px}

/* Tarjetas compactas de producto: toda la tarjeta es un enlace */
.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:960px){.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.products-grid{grid-template-columns:1fr}}
.products-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.products-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.products-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.products-grid.compact{grid-template-columns:1fr}}
.pcard{
  display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-sm);
  background:var(--pbg);border:1px solid var(--line);color:var(--ink);text-decoration:none;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.pcard:hover{border-color:var(--pc)}
.pcard:hover{box-shadow:0 14px 28px -18px rgba(14,36,24,.45);transform:translateY(-2px)}
.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.pcard .cat{color:var(--pc-text);background:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:4px}
.pcard .app-pill{font-size:11px}
.pcard-name{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;font-size:40px;line-height:.9;overflow-wrap:break-word}
.pcard-stat{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--muted);line-height:1.3;padding-top:8px;border-top:1px dashed var(--line)}
.pcard-stat b{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--pc-text)}
.pcard-desc{font-size:14.5px;color:var(--ink-2);line-height:1.5;flex:1}
.products-grid.compact .pcard{padding:20px}
.products-grid.compact .pcard-name{font-size:30px}
.pcard-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-top:14px;margin-top:4px;border-top:1.5px solid rgba(14,36,24,.12)}
.pcard-price{font-family:var(--font-mono);font-size:14px;font-weight:600}
.pcard-price.quote{font-family:var(--font-body);font-weight:700;color:var(--ink-2)}
.pcard-cta{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:8px;background:var(--ink);color:#fff;font-size:14px;font-weight:600}
.pcard:hover .pcard-cta{background:var(--leaf)}

/* Acceso rápido a la calculadora */
.calc-teaser-box{
  display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;
  background:var(--ink);color:var(--cream);border-radius:var(--r-lg);padding:48px;
}
@media(max-width:900px){.calc-teaser-box{grid-template-columns:1fr;padding:32px 20px;gap:24px}}
.calc-teaser-box .section-eyebrow{color:var(--lime)}
.calc-teaser-box .section-eyebrow::before{background:var(--lime)}
.calc-teaser-box h2{color:var(--cream);margin-bottom:14px}
.calc-teaser-box p{color:rgba(247,241,227,.8);font-size:16px;max-width:460px}
.calc-teaser-form{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:20px}
.calc-teaser-form .btn{grid-column:1/-1}
@media(max-width:420px){.calc-teaser-form{grid-template-columns:1fr}}
.ct-field label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(247,241,227,.6);margin-bottom:8px}
.ct-field select,.ct-field input{width:100%;min-height:52px;padding:0 14px;border-radius:8px;border:1.5px solid rgba(255,255,255,.18);background:#fff;color:var(--ink);font-family:inherit;font-size:16px;font-weight:600}

/* Banda de llamada a la acción */
.cta-band-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);border-radius:var(--r-lg);padding:40px 48px}
@media(max-width:700px){.cta-band-box{padding:28px 20px}}
.cta-band-box h2{color:var(--cream);margin:0;font-size:clamp(32px,4vw,52px)}
.cta-band-actions{display:flex;flex-wrap:wrap;gap:12px}
.cta-band-secondary{background:transparent;color:var(--cream);border-color:rgba(247,241,227,.35)}
.cta-band-secondary:hover{border-color:var(--cream);color:var(--cream)}
@media(max-width:560px){.cta-band-actions{width:100%}.cta-band-actions .btn{width:100%}}

/* ---------- Página de producto ---------- */
.pdp{padding:28px 24px 0}
@media(max-width:700px){.pdp{padding:20px 16px 0}}
.pdp .container{max-width:var(--max);margin:0 auto}
.pdp-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"hero buy" "body buy";gap:24px 40px;margin-top:16px;align-items:start}
.pdp-hero{grid-area:hero;background:var(--pbg);border-radius:var(--r-lg);padding:36px;border:1px solid rgba(14,36,24,.08)}
.pdp-buy{grid-area:buy;position:sticky;top:88px}
.pdp-body{grid-area:body;min-width:0}
@media(max-width:960px){
  .pdp-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "buy" "body"}
  .pdp-buy{position:static}
  .pdp-hero{padding:24px 20px}
}
.pdp-hero-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.pdp-hero .cat{color:var(--pc-text);background:rgba(255,255,255,.75);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:4px}
.pdp-hero h1{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;text-transform:uppercase;font-size:clamp(52px,8vw,96px);line-height:.85;letter-spacing:-.005em}
.pdp-hero h1 sup{font-size:.28em;vertical-align:super;margin-left:2px}
.pdp-sub{font-size:16px;color:var(--ink-2);margin-top:10px}
.pdp-stat{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:20px 0 12px}
.pdp-stat b{font-family:var(--font-mono);font-size:clamp(32px,4vw,44px);font-weight:600;color:var(--pc-text);letter-spacing:-.03em;line-height:1}
.pdp-stat span{font-size:15px;color:var(--ink-2)}
.pdp-lead{font-size:17px;line-height:1.5;color:var(--ink);max-width:620px}
.pdp-badges{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.pdp-badges li{font-family:var(--font-mono);font-size:11.5px;font-weight:500;padding:6px 10px;border-radius:4px;background:rgba(255,255,255,.75)}
.pdp-badges .tox-low{background:var(--mint);color:#15602c}
.pdp-badges .tox-mid{background:#FCF1D9;color:#7a5413}

.buy-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:0 20px 40px -28px rgba(14,36,24,.35)}
.buy-card .price-tag b{font-size:28px}
.buy-card .buy-row{flex-wrap:nowrap}
.buy-assurances{list-style:none;display:grid;gap:8px;margin:18px 0 8px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.buy-assurances li{display:flex;gap:8px;align-items:center}
.buy-assurances li::before{content:'';width:16px;height:16px;flex-shrink:0;border-radius:4px;background:var(--leaf) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.2l2.6 2.6L12 5.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
.buy-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--leaf-dark)}
.buy-link:hover{color:var(--ink)}

.pdp-toc{display:flex;gap:4px;overflow-x:auto;margin:8px 0 8px;padding-bottom:4px;border-bottom:1.5px solid var(--line)}
.pdp-toc a{flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font-size:14px;font-weight:600;color:var(--ink-2);border-radius:6px}
.pdp-toc a:hover{background:rgba(14,36,24,.06);color:var(--ink)}
.pdp-sec{padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:84px}
.pdp-sec:last-child{border-bottom:none}
.pdp-sec h2{font-size:clamp(30px,3.6vw,44px);margin-bottom:18px}
.pdp-sec h3{font-family:var(--font-mono);font-stretch:100%;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:26px 0 10px}
.pdp-desc{font-size:16px;color:var(--ink-2);line-height:1.6;margin-bottom:18px;max-width:680px}
.pdp-benefits{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:700px){.pdp-benefits{grid-template-columns:1fr}}
.pdp-benefits li{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);font-size:15px;line-height:1.4}
.pdp-benefits li::before{content:'';width:10px;height:10px;margin-top:5px;flex-shrink:0;background:var(--pc)}
.pdp-feats{list-style:none;display:grid;gap:6px;font-size:15px;color:var(--ink-2)}
.pdp-feats li::before{content:'→ ';color:var(--pc-text);font-weight:700}
.pdp .comp-bar i{background:var(--pc)}
.pdp .comp-row{padding:10px 14px}
.pdp .fine a{color:var(--leaf-dark);text-decoration:underline}
.pdp-related{padding:56px 24px 80px}
.pdp-related h2{margin-bottom:24px;font-size:clamp(30px,3.6vw,44px)}
@media(max-width:700px){.pdp-related{padding:40px 16px 64px}}

/* Calculadora: fila destacada al llegar desde un producto */
.prog-row.focus{outline:2px solid var(--pc);outline-offset:2px}

.dose-row .calc-link{min-height:44px;display:inline-flex;align-items:center}

/* ---------- Páginas por cultivo ---------- */
.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media(max-width:560px){.page-actions .btn{width:100%}}
.crop-program{padding-top:48px}
.crop-program h2,.crop-products h2,.crop-others h2{font-size:clamp(30px,3.6vw,44px);margin-bottom:22px}
.stage-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media(max-width:900px){.stage-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.stage-board{grid-template-columns:1fr}}
.stage-col{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px}
.stage-name{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:2px}
.stage-chip{display:flex;flex-direction:column;gap:2px;min-height:48px;justify-content:center;padding:10px 12px;border-radius:8px;background:var(--pbg);color:var(--ink);text-decoration:none;transition:box-shadow .15s,transform .15s}
.stage-chip:hover{box-shadow:0 6px 14px -8px rgba(14,36,24,.45);transform:translateY(-1px)}
.stage-chip b{font-size:15px;font-weight:700}
.stage-chip span{font-family:var(--font-mono);font-size:12px;color:var(--ink-2)}
.stage-empty{font-size:13px;color:var(--muted);padding:10px 2px}
.crop-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:12px}
@media(max-width:360px){.crop-cards{grid-template-columns:1fr}}
.crop-card{display:flex;flex-direction:column;gap:12px;background:var(--pbg);border:1px solid rgba(14,36,24,.08);border-radius:var(--r);padding:22px}
.crop-card-head{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center}
.crop-card .cat{color:var(--pc-text);background:rgba(255,255,255,.75);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:4px}
.crop-card h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;font-size:36px;line-height:.9;margin:0}
.crop-card h3 a{color:inherit;text-decoration:none}
.crop-card h3 a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.crop-card .pcard-stat{margin:0}
.crop-dose{display:grid;gap:6px;flex:1}
.crop-dose div{background:rgba(255,255,255,.7);border-radius:8px;padding:10px 12px}
.crop-dose dt{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.crop-dose dd{font-size:14px;line-height:1.4}
.crop-dose div:first-child dd{font-family:var(--font-mono);font-size:16px;font-weight:600}
.crop-card-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding-top:12px;border-top:1.5px solid rgba(14,36,24,.12)}
.crop-card-actions{display:flex;gap:8px}
.crop-card-actions .btn{min-height:44px}
.crop-links{display:flex;flex-wrap:wrap;gap:8px}
.crop-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:6px;background:#fff;border:1.5px solid rgba(14,36,24,.14);font-size:14px;font-weight:600;color:var(--ink)}
.crop-links a:hover{border-color:var(--leaf);color:var(--leaf-dark)}
.crop-links-home{align-items:center;margin-top:18px}
.crop-links-home>span{font-size:14px;color:var(--ink-2);margin-right:4px}
.crop-others{padding-top:24px}
.crop-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.crop-index-card{display:flex;flex-direction:column;gap:8px;min-height:170px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.crop-index-card:hover{border-color:var(--leaf);box-shadow:0 14px 28px -18px rgba(14,36,24,.45);transform:translateY(-2px)}
.crop-index-name{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;font-size:30px;line-height:.95}
.crop-index-about{font-size:14px;color:var(--ink-2);flex:1}
.crop-index-foot{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--leaf-dark)}
.crop-index .crop-dots i{width:12px;height:12px}
.pdp .dose-row b a{color:inherit;text-decoration:underline;text-decoration-color:rgba(14,36,24,.25);text-underline-offset:3px}

.crop-card h3 a,.pdp .dose-row b a{display:inline-flex;align-items:center;min-height:44px}

/* ---------- Páginas legales ---------- */
.legal-title{max-width:none !important;font-size:clamp(36px,5vw,60px) !important}
.legal{padding-top:24px}
.legal-body{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:40px 44px;font-size:16px;line-height:1.7;color:var(--ink-2)}
@media(max-width:700px){.legal-body{padding:24px 18px;font-size:15.5px}}
.legal-body h2{font-family:var(--font-body);font-stretch:100%;font-size:21px;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--ink);margin:34px 0 10px}
.legal-body h2:first-child{margin-top:0}
.legal-body p{margin:0 0 14px}
.legal-body ul{margin:0 0 16px 1.2em;display:grid;gap:6px}
.legal-body strong{color:var(--ink)}
.legal-body a{color:var(--leaf-dark);text-decoration:underline;text-underline-offset:3px}
.foot-legal{display:flex;flex-wrap:wrap;gap:4px 18px}
.foot-legal a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
.foot-legal a:hover{color:var(--lime)}
.foot-credit{width:100%;text-align:center;font-size:12.5px;color:rgba(247,241,227,.5);padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}

/* ===================== Catálogo: buscador + grid nativo de WooCommerce ===================== */
.shop-search-section{padding:0 0 60px}
.shop-search{
  display:flex;align-items:center;gap:0;max-width:560px;margin-bottom:28px;
  border:1.5px solid var(--ink);border-radius:var(--r-sm);overflow:hidden;background:#fff;
}
.shop-search .search-field{
  flex:1;border:none;padding:14px 18px;font-family:var(--font-body);font-size:15px;color:var(--ink);background:transparent;min-width:0;
}
.shop-search .search-field:focus{outline:none}
.shop-search-btn{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;flex-shrink:0;background:var(--ink);color:var(--cream);
}
.shop-search-btn:hover{background:var(--leaf)}
.shop-cats{display:flex;flex-wrap:wrap;gap:8px}
.shop-cats a{
  font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.02em;
  padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);
  transition:border-color .15s,color .15s;
}
.shop-cats a:hover{border-color:var(--ink);color:var(--ink)}

/* El grid nativo [products] de WooCommerce, mismo lenguaje visual que .pcard */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}
/* Colores de marca por producto (mismos valores que .pcard/.pdp), enganchados por ID: la clase post-N de WooCommerce no cambia aunque se reasignen categorías. */
.woocommerce ul.products li.product.post-29{--pc:#22873F;--pc-text:#1f7d3a;--pbg:#E7F5E9}
.woocommerce ul.products li.product.post-33{--pc:#C77B54;--pc-text:#9c5633;--pbg:#FBEAE0}
.woocommerce ul.products li.product.post-37{--pc:#8B5A2B;--pc-text:#8B5A2B;--pbg:#F4EBDC}
.woocommerce ul.products li.product.post-41{--pc:#E8A93A;--pc-text:#926311;--pbg:#FCF1D9}
.woocommerce ul.products li.product.post-45{--pc:#556B2F;--pc-text:#556B2F;--pbg:#EDF2DC}
.woocommerce ul.products li.product.post-47{--pc:#8B4358;--pc-text:#8B4358;--pbg:#F5E1E6}
.woocommerce ul.products li.product{
  position:relative;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:var(--pbg,#fff);transition:border-color .15s,box-shadow .15s,transform .15s;
}
.woocommerce ul.products li.product:hover{border-color:var(--pc,var(--line));box-shadow:0 14px 28px -18px rgba(14,36,24,.45);transform:translateY(-2px)}
.woocommerce ul.products li.product img{display:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;font-size:28px;line-height:1;
  margin:0 0 10px;text-transform:uppercase;letter-spacing:-.01em;color:var(--pc-text,var(--ink));
}
.woocommerce ul.products li.product .price{
  display:block;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--ink-2);margin-bottom:16px;
}
.woocommerce ul.products li.product .price .espiral-cotizar{color:var(--muted);font-family:var(--font-body);font-weight:600}
.woocommerce ul.products li.product > a.woocommerce-loop-product__link{text-decoration:none;flex:1;display:block}
.woocommerce ul.products li.product .ast-on-card-button{display:none}
.woocommerce ul.products li.product a.button.add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 20px;border-radius:8px;margin-top:auto;
  background:var(--ink);color:var(--cream)!important;font-family:var(--font-body);font-size:14px;font-weight:600;text-decoration:none;
  transition:background .15s;
}
.woocommerce ul.products li.product a.button.add_to_cart_button:hover{background:var(--leaf)}
.woocommerce ul.products li.product a.added_to_cart{
  display:inline-block;margin-top:10px;font-size:12.5px;color:var(--leaf-dark);text-decoration:underline;text-underline-offset:3px;
}
.contact-cta{display:flex;flex-direction:column;gap:14px;justify-content:center}
.contact-cta-lead{font-size:15px;color:var(--ink-2);line-height:1.5;margin-bottom:6px}

/* ===================== Recursos: fichas y etiquetas en PDF ===================== */
.docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.docs-grid{grid-template-columns:1fr}}
.doc-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff}
.doc-card .cat{align-self:flex-start;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:5px 9px;border-radius:4px;background:var(--mint);color:var(--ink-2)}
.doc-card h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;font-size:26px;line-height:1;text-transform:uppercase;letter-spacing:-.01em;margin:0}
.doc-links{display:flex;flex-direction:column;gap:6px}
.doc-links a{font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:underline;text-decoration-color:rgba(14,36,24,.25);text-underline-offset:3px}
.doc-links a:hover{color:var(--ink)}
.doc-product-link{margin-top:auto;font-size:13px;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:4px}
.doc-product-link:hover{color:var(--leaf)}

/* ===================== Nosotros: historia de marca ===================== */
.about-story{max-width:760px}
.about-story p{font-size:16px;color:var(--ink-2);line-height:1.7;margin-bottom:18px}
.about-story p:last-child{margin-bottom:0}
.about-story p strong{color:var(--ink)}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:700px){.mv-grid{grid-template-columns:1fr}}
.mv-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.mv-card p{font-size:16px;color:var(--ink-2);line-height:1.6;margin-top:10px}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.values-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.values-grid{grid-template-columns:1fr}}
.value-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm)}
.value-card h3{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;font-size:19px;letter-spacing:-.005em;margin-bottom:8px}
.value-card p{font-size:14px;color:var(--ink-2);line-height:1.5}
.manifesto{padding:48px;background:var(--ink);color:var(--cream);border-radius:var(--r);position:relative;overflow:hidden}
.manifesto::before{content:'';position:absolute;top:-60px;right:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(182,229,71,0.18) 0%,transparent 70%)}
.manifesto .section-eyebrow{color:var(--lime);position:relative}
.manifesto .section-eyebrow::before{background:var(--lime)}
.manifesto-list{position:relative;margin-top:20px;display:grid;gap:14px;max-width:640px}
.manifesto-list li{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:clamp(19px,2.4vw,26px);font-weight:400;line-height:1.3;letter-spacing:-.01em;list-style:none;padding-left:28px;position:relative}
.manifesto-list li::before{content:'—';position:absolute;left:0;color:var(--lime)}
