/* ===== Estilo de marca compartido (sistema, ficha técnica y presupuesto online) ===== */
:root{
  --green:#2e9a2f; --green-2:#5cbf2a; --green-d:#1d7a24; --green-dd:#0d3b17; --green-soft:#ebf7e4; --lima:#8dc63f;
  --navy:#0c1f3d; --navy-2:#16305a; --navy-soft:#e9eef7;
  --text:#14213a; --text-2:#4c5a72; --muted:#8792a6; --line:#e3e8ef; --line-2:#eef2f6; --soft:#f6f8fb;
  --bad:#d23f3f; --bad-soft:#fdeeee; --warn:#b76e00; --warn-soft:#fff4e0;
  --shadow:0 2px 10px rgba(12,31,61,.07); --shadow-lg:0 24px 60px rgba(12,31,61,.2);
  --r:12px;
  --fh:"Oswald","Arial Narrow",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:#fff}
body{color:var(--text);font:13.5px/1.55 Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
svg.i{width:16px;height:16px;flex-shrink:0}
.hidden{display:none!important}
.logo-svg,.logo-img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:700;white-space:nowrap;color:var(--text);text-decoration:none;transition:.15s;font-size:13px}
.btn:hover{background:var(--soft);border-color:#ccd5e1}
.btn svg{width:16px;height:16px}
.btn.green{background:linear-gradient(180deg,var(--green-2),var(--green-d));border-color:var(--green-d);color:#fff;box-shadow:0 4px 14px rgba(47,158,53,.3)}
.btn.green:hover{filter:brightness(1.06)}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy-2)}
.btn.wa{background:#25d366;border-color:#1fb457;color:#fff}
.btn.wa:hover{filter:brightness(1.05)}
.btn.danger{color:var(--bad)}
.btn.danger:hover{background:var(--bad-soft);border-color:#f3caca}
.btn.sm{padding:6px 11px;font-size:12px}
.btn.up{text-transform:uppercase;letter-spacing:.03em}
.btn[disabled]{opacity:.6;pointer-events:none}

/* Título de sección con líneas y hoja */
.sec-title{display:flex;align-items:center;justify-content:center;gap:12px;margin:26px 0 16px;font:800 17px/1.2 Montserrat,sans-serif;text-transform:uppercase;color:var(--navy);letter-spacing:.01em;text-align:center}
.sec-title::before,.sec-title::after{content:"";height:2px;width:56px;background:var(--green);border-radius:2px;flex-shrink:0}
.sec-title svg{width:16px;height:16px;color:var(--green);margin-left:-6px;order:1}
.sec-title::after{order:2}

/* Franja de beneficios */
.feats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.feats>div{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 12px;border-right:1px solid var(--line)}
.feats>div:last-child{border-right:0}
.feats svg{width:34px;height:34px;color:var(--green);flex-shrink:0}
.feats b{font-size:11.5px;text-transform:uppercase;color:var(--navy);line-height:1.3;font-weight:800}

/* Mosaicos de categorías */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:12px}
.tile{position:relative;border:0;border-radius:var(--r);color:#fff;padding:18px 10px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;min-height:132px;box-shadow:0 6px 16px rgba(12,31,61,.12);transition:transform .15s,box-shadow .15s;overflow:hidden;text-decoration:none}
.tile::after{content:"";position:absolute;right:-30px;bottom:-30px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.1)}
.tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(12,31,61,.18)}
.tile.on{outline:3px solid #fff;box-shadow:0 0 0 5px var(--navy),0 10px 22px rgba(12,31,61,.2)}
.tile svg.ti{width:44px;height:44px}
.tile b{font-size:12px;text-transform:uppercase;font-weight:800;line-height:1.25;letter-spacing:.02em}
.tile .cnt{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.22);font-size:11px;font-weight:700;padding:0 8px;border-radius:10px}
.tile .go{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;margin-top:auto}
.tile .go svg{width:12px;height:12px;color:var(--navy)}

/* Tarjeta de producto (estilo "Productos destacados") */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s;position:relative}
.pcard:hover{box-shadow:0 10px 26px rgba(12,31,61,.12);transform:translateY(-2px)}
.pcard .img{aspect-ratio:4/3;background:var(--soft);position:relative;overflow:hidden}
.pcard .img img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;padding:6px}
.pcard .img .ph{width:100%;height:100%;display:grid;place-items:center;color:#c2cad6}
.pcard .img .ph svg{width:40px;height:40px}
.pcard .catb{position:absolute;left:8px;top:8px;color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:6px;letter-spacing:.03em}
.pcard .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1;text-align:center}
.pcard .nm{font-weight:800;text-transform:uppercase;color:var(--navy);font-size:12.5px;line-height:1.3}
.pcard .ds{font-size:11.5px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.vlink{display:inline-flex;align-items:center;gap:5px;color:var(--green-d);font-weight:800;font-size:11.5px;text-transform:uppercase;text-decoration:none;letter-spacing:.02em}
.vlink svg{width:13px;height:13px}
.vlink:hover{color:var(--green)}

/* Encabezado y pie públicos */
.pub-head{display:flex;align-items:center;gap:14px;padding:14px max(16px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}
.pub-head .lg{width:58px;height:58px;flex-shrink:0}
.pub-head .nm b{font:700 20px/1.1 var(--fh);color:var(--navy);text-transform:uppercase;letter-spacing:.02em;display:block}
.pub-head .nm small{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.pub-head .sp{flex:1}
.pub-foot{background:var(--green-dd);color:#fff;padding:16px max(16px,calc((100% - 1180px)/2));display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:center;font-size:13px;margin-top:40px}
.pub-foot a,.pub-foot span{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#fff}
.pub-foot svg{width:18px;height:18px;opacity:.9}
.pub-foot a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}

@media (max-width:760px){
  .feats{grid-template-columns:repeat(2,1fr);gap:10px 0}
  .feats>div:nth-child(2){border-right:0}
  .feats>div{justify-content:flex-start}
  .sec-title{font-size:15px}.sec-title::before,.sec-title::after{width:24px}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:10px}
  .pub-head .lg{width:46px;height:46px}.pub-head .nm b{font-size:17px}
}
@media print{
  .pub-head{position:static}
  .btn,.noprint{display:none!important}
  .pub-foot,.tile,.catb,.btn.green{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pcard{box-shadow:none;break-inside:avoid}
}
