
:root{--g:#0d6b3d;--g2:#084b2c;--lime:#e9f5df;--ink:#183026;--muted:#66736d;--bg:#fbfcf8;--line:#e2e8e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}
header{height:82px;display:flex;align-items:center;gap:30px;padding:10px max(5vw,24px);background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}.brand img{width:58px;height:58px;object-fit:contain}.brand b{font-size:19px}.brand small{display:block;color:var(--g);font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:1.4px}
nav{display:flex;gap:24px}nav a{color:var(--ink);text-decoration:none;font-weight:650;font-size:14px}.cartBtn,.tools button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 15px;font-weight:800;color:var(--ink)}#cartCount{background:var(--g);color:white;border-radius:20px;padding:2px 7px}
.hero{min-height:560px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:60px max(7vw,30px);background:radial-gradient(circle at 85% 30%,#e3f5c8,transparent 30%),linear-gradient(135deg,#f7fbef,#fff)}
.pill,.eyebrow{color:var(--g);font-weight:900;letter-spacing:1.4px;font-size:12px}.hero h1{font-size:clamp(48px,6.5vw,88px);line-height:.95;margin:20px 0}.hero h1 em{font-style:normal;color:var(--g)}.hero p{font-size:18px;line-height:1.6;color:var(--muted);max-width:650px}
.heroActions{display:flex;gap:12px;margin:28px 0}.primary,.secondary{padding:15px 22px;border-radius:14px;font-weight:900;text-decoration:none;border:0;font-size:15px}.primary{background:var(--g);color:#fff}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
.trust{display:flex;gap:18px;flex-wrap:wrap;color:#52645b;font-size:13px;font-weight:700}.heroLogo{text-align:center}.heroLogo img{width:min(430px,90%);filter:drop-shadow(0 25px 30px #1c4f2b25)}
.toolbar{padding:70px max(5vw,24px) 24px;display:flex;align-items:end;justify-content:space-between;gap:25px}.toolbar h2,.steps h2{font-size:38px;margin:8px 0}.toolbar p{color:var(--muted)}.tools{display:flex;gap:8px}.tools input{min-width:230px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;font-size:15px}
.grid{padding:10px max(5vw,24px) 80px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 30px #0b4f2510}.photo{height:210px;background:#f0f5ee;position:relative}.photo img{width:100%;height:100%;object-fit:cover}.unit{position:absolute;top:12px;left:12px;background:#ffffffed;padding:6px 10px;border-radius:20px;font-size:11px;font-weight:900;text-transform:uppercase}.info{padding:17px}.info h3{margin:0 0 5px;font-size:18px}.info .sub{color:var(--muted);font-size:12px}.priceRow{display:flex;justify-content:space-between;align-items:center;margin:18px 0}.price{font-size:23px;font-weight:950;color:var(--g)}.price.admin{outline:2px dashed #f3a52b;padding:5px;border-radius:8px;cursor:pointer}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;overflow:hidden}.qty button{border:0;background:#f5f7f4;width:34px;height:34px;font-size:19px}.qty span{width:34px;text-align:center;font-weight:800}.add{width:100%;border:0;background:var(--g);color:#fff;border-radius:12px;padding:12px;font-weight:900}
.steps{padding:70px max(7vw,30px);background:#eff7e9;text-align:center}.stepGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.stepGrid article{background:#fff;border-radius:22px;padding:30px}.stepGrid article>b{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--g);color:#fff}.benefits{padding:70px max(7vw,30px);text-align:center;background:var(--g2);color:#fff}.benefits h2{font-size:42px;margin:0 0 10px}
footer{display:flex;align-items:center;gap:12px;padding:28px max(5vw,24px);background:#062e1c;color:#fff}footer img{width:52px}footer small{display:block;opacity:.7}footer span{margin-left:auto;opacity:.7;font-size:12px}
.overlay{display:none;position:fixed;inset:0;background:#061b1290;z-index:50}.overlay.show{display:block}.cart{position:absolute;right:0;top:0;height:100%;width:min(440px,100%);background:#fff;padding:24px;overflow:auto}.cartHead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.cartHead h2{margin:4px 0 18px}.cartHead button{border:0;background:none;font-size:22px}.cartItem{display:grid;grid-template-columns:60px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.cartItem img{width:60px;height:60px;border-radius:12px;object-fit:cover}.cartItem small{color:var(--muted)}.remove{border:0;background:none;color:#a33}.total{display:flex;justify-content:space-between;font-size:22px;padding:22px 0}.pay,.whatsapp{width:100%;padding:15px;border:0;border-radius:13px;font-weight:900;margin-bottom:9px}.pay{background:var(--g);color:#fff}.whatsapp{background:#e7f7ed;color:#126b3c}.paymentNote{text-align:center;color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:60px 10px}
.adminBar{display:none;position:fixed;left:50%;transform:translateX(-50%);bottom:18px;background:#17251f;color:#fff;z-index:40;border-radius:16px;padding:12px 16px;gap:15px;align-items:center;box-shadow:0 10px 30px #0004}.adminBar.show{display:flex}.adminBar span{font-size:12px;opacity:.8}.adminBar button{border:0;border-radius:8px;padding:7px 12px}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:45px}.heroLogo{display:none}.grid{grid-template-columns:repeat(2,1fr)}.toolbar{align-items:stretch;flex-direction:column}.tools{flex-wrap:wrap}.tools input{flex:1}.stepGrid{grid-template-columns:1fr}.hero h1{font-size:54px}}
@media(max-width:520px){header{height:72px;padding:8px 14px}.brand img{width:48px;height:48px}.brand div{display:none}.cartBtn{padding:10px}.hero{min-height:520px;padding:45px 20px}.hero h1{font-size:48px}.hero p{font-size:16px}.trust{gap:10px}.toolbar{padding:55px 16px 20px}.toolbar h2{font-size:32px}.tools{display:grid;grid-template-columns:1fr}.tools input{min-width:0}.grid{padding:5px 14px 60px;grid-template-columns:1fr 1fr;gap:10px}.photo{height:145px}.info{padding:12px}.info h3{font-size:15px}.price{font-size:18px}.priceRow{display:block}.qty{width:max-content;margin-top:10px}.adminBar{width:calc(100% - 20px);flex-wrap:wrap}.adminBar span{display:none}footer{flex-wrap:wrap}footer span{width:100%;margin:0}}

/* v2 branding */
.brand img{width:68px;height:68px;display:block;object-fit:contain}
.brand div{display:block!important}
.heroLogo img{max-height:430px;object-fit:contain}
@media(max-width:520px){
 .brand img{width:54px;height:54px}
 .brand b{font-size:16px}.brand small{font-size:8px}
 .hero{padding-top:34px}
}


/* v4: acceso propietario + PWA */
.ownerModal{display:none;position:fixed;inset:0;background:#061b12b8;z-index:80;align-items:center;justify-content:center;padding:18px}
.ownerModal.show{display:flex}
.ownerCard{width:min(430px,100%);background:#fff;border-radius:24px;padding:28px;position:relative;box-shadow:0 25px 80px #0006}
.ownerCard>img{width:82px;height:82px;object-fit:contain;display:block;margin:0 auto 8px}
.ownerCard h2{font-size:30px;margin:6px 0 8px;text-align:center}
.ownerCard>p{text-align:center;color:var(--muted);line-height:1.5;margin:0 0 22px}
.ownerCard label{display:block;font-size:12px;font-weight:900;margin:13px 0 6px}
.ownerCard input{width:100%;border:1px solid var(--line);border-radius:13px;padding:14px;font-size:16px;outline:none}
.ownerCard input:focus{border-color:var(--g);box-shadow:0 0 0 3px #0d6b3d18}
.ownerClose{position:absolute;right:15px;top:15px;border:0;background:#f1f4f1;width:34px;height:34px;border-radius:50%;font-size:16px}
.ownerLoginBtn{width:100%;border:0;margin-top:18px;cursor:pointer}
.ownerLoginBtn:disabled{opacity:.65}
.ownerMessage{display:block;min-height:22px;margin-top:10px;text-align:center;color:#a12d2d;font-size:13px}
.ownerMessage.ok{color:var(--g)}
.adminBar>div{display:flex;gap:6px;align-items:center}
@media(max-width:520px){
  .ownerCard{padding:23px 18px}
  .ownerCard h2{font-size:26px}
  .adminBar>div span{display:none}
}
