/* =========================================================================
   HAVEN Commerce — sistema de diseño (inspirado en Andes UX de MercadoLibre:
   tokens centrales → componentes consistentes → voz local)
   Paleta de marca HAVEN: Sacramento, Jade, Pistacho, Burnt Orange.
   ========================================================================= */
:root{
  /* Tokens de color (hoja de marca HAVEN) */
  --deep:#234141;        /* Sacramento */
  --brand:#1C736B;       /* Jade */
  --soft:#9EBFBD;        /* Pistacho */
  --accent:#EB6B47;      /* Burnt Orange */
  --accent-deep:#C9502F;
  --ok:#1F7A4D;
  --paper:#FAFAF7; --surface:#FFFFFF;
  --ink:#1A2323; --ink-2:#3D4C4C; --muted:#71807F;
  --line:#E3E7E5; --line-2:#EEF1EF;
  /* Tokens de forma y tipografía */
  --r-sm:6px; --r:10px; --r-lg:16px; --pill:999px;
  --display:'Sora',sans-serif; --sans:'Inter',sans-serif; --mono:'Montserrat','Inter',sans-serif;
  --shadow:0 20px 50px -34px rgba(35,65,65,.3);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.mono{font-family:var(--mono);font-feature-settings:'tnum';font-weight:700}
.display{font-family:var(--display);font-weight:800;color:var(--deep);font-size:clamp(24px,3vw,34px);letter-spacing:-.01em}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent)}
.btn{display:inline-block;font-family:var(--display);font-weight:700;font-size:14px;padding:.85em 1.6em;border-radius:var(--pill);border:0;cursor:pointer;transition:background .2s;text-align:center}
.btn--accent{background:var(--accent);color:#fff}.btn--accent:hover{background:var(--accent-deep)}
.btn--deep{background:var(--deep);color:#fff}.btn--deep:hover{background:var(--brand)}
.btn--ghost{background:transparent;border:1.5px solid var(--line);color:var(--deep)}.btn--ghost:hover{border-color:var(--deep)}
.btn--block{display:block;width:100%}
.notice{background:var(--line-2);border-radius:var(--r);padding:.8em 1.1em;font-size:13.5px;margin:1rem 0}
.notice.err{background:#F8E4E1;color:#8C2B21}.notice.ok{background:#E2F2E8;color:var(--ok)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
.chips i{font-style:normal;font-size:11px;font-weight:600;background:var(--line-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:.3em .6em;color:var(--ink-2)}
.chips .c-yape{background:#742384;border-color:#742384;color:#fff}
.chips .c-plin{background:#0bb7c2;border-color:#0bb7c2;color:#06303a}

/* Barra utilitaria + header */
.utilbar{background:var(--deep);color:rgba(225,235,233,.85);font-size:12px}
.utilbar__in{display:flex;justify-content:space-between;gap:1rem;padding:.45rem clamp(1rem,4vw,2rem);flex-wrap:wrap}
.utilbar a{color:inherit}.utilbar a:hover{color:#fff}
.utilbar__links{display:flex;gap:1.2rem}
.hd{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
.hd__in{display:flex;align-items:center;gap:1.4rem;padding:.85rem clamp(1rem,4vw,2rem)}
.hd__brand{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:.06em;color:var(--deep)}
.hd__brand small{font-size:10px;color:var(--muted);letter-spacing:.1em}
.hd__search{flex:1;display:flex;max-width:560px;border:1.5px solid var(--line);border-radius:var(--pill);overflow:hidden}
.hd__search input{flex:1;border:0;padding:.6em 1.1em;font-family:var(--sans);background:transparent}
.hd__search input:focus{outline:none}
.hd__search button{border:0;background:var(--deep);color:#fff;padding:0 1rem;cursor:pointer;font-size:16px}
.hd__nav{display:flex;gap:1.2rem;align-items:center;font-size:13.5px;font-weight:600;color:var(--ink-2)}
.hd__count{display:inline-grid;place-items:center;min-width:18px;height:18px;background:var(--accent);color:#fff;border-radius:99px;font-size:10px;font-weight:700;padding:0 4px}

/* Hero + beneficios + grid */
.hero{padding:clamp(1.2rem,3vw,2rem) 0}
.hero__in{display:grid;grid-template-columns:2fr 1fr;gap:14px}
.hero__copy{background:linear-gradient(135deg,var(--deep),#2D5A6E);border-radius:var(--r-lg);padding:clamp(1.6rem,3vw,3rem);color:#fff;display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}
.hero__copy h1{font-family:var(--display);font-size:clamp(28px,3.4vw,44px);font-weight:800;line-height:1.05}
.hero__copy p{color:rgba(200,222,229,.85);font-size:14px}
.hero__copy strong{color:#F4B29A}
.hero__cards{display:grid;gap:14px}
.promo{border-radius:var(--r-lg);padding:1.3rem;color:#fff;display:flex;flex-direction:column;gap:.3rem;justify-content:center;transition:transform .2s}
.promo:hover{transform:translateY(-3px)}
.promo span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.9}
.promo strong{font-family:var(--display);font-size:18px}
.promo--a{background:linear-gradient(135deg,var(--accent),var(--accent-deep))}
.promo--b{background:linear-gradient(135deg,var(--brand),#155F58)}
.benefits{border-block:1px solid var(--line);background:var(--surface)}
.benefits__in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem clamp(1rem,4vw,2rem)}
.benefits strong{display:block;font-size:13px;color:var(--deep)}
.benefits span{font-size:12px;color:var(--muted)}
.sec{padding:clamp(1.6rem,3vw,2.6rem) 0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1.2rem}

/* Tarjeta */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card__media{position:relative;aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(150deg,#E9F0EF,#F5F7F6)}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__ph{font-family:var(--display);font-weight:800;letter-spacing:.2em;color:var(--soft)}
.card__badge{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-family:var(--display);font-size:12px;font-weight:700;padding:3px 8px;border-radius:var(--r-sm)}
.card__body{display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1rem 1.1rem}
.card__cat{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.card h3{font-family:var(--display);font-size:14.5px;line-height:1.3;color:var(--deep)}
.card__pricing s{font-size:12px;color:var(--muted)}
.card__pricing strong{display:block;font-size:19px;color:var(--deep)}
.card__pricing em{font-style:normal;font-size:12px;color:var(--ok);font-weight:600}
.card__cta{margin-top:.6rem;text-align:center;border:1.5px solid var(--deep);border-radius:var(--pill);padding:.55em;font-family:var(--display);font-size:12.5px;font-weight:700;color:var(--deep);transition:all .2s}
.card__cta:hover{background:var(--deep);color:#fff}

/* PDP (Amazon 3 columnas) */
.crumb{font-size:12px;color:var(--muted);padding:1rem clamp(1rem,4vw,2rem) 0}
.pdp{display:grid;grid-template-columns:1.1fr 1fr 320px;gap:1.8rem;align-items:start;padding-top:1rem;padding-bottom:2.5rem}
.pdp__gallery img{border-radius:var(--r-lg);border:1px solid var(--line)}
.pdp__ph{aspect-ratio:4/5;display:grid;place-items:center;background:radial-gradient(120% 120% at 50% 30%,var(--surface),#EDF1F0);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;color:var(--soft)}
.pdp__ph span{font-family:var(--display);font-weight:800;letter-spacing:.25em;font-size:22px}
.pdp__ph small{display:block;color:var(--muted);font-size:11px;margin-top:.5rem}
.pdp__info h1{font-family:var(--display);font-size:clamp(21px,2.4vw,27px);color:var(--deep);line-height:1.25}
.pdp__byline{font-size:12.5px;color:var(--muted);margin:.4rem 0 .8rem}
.pdp__info hr{border:0;border-top:1px solid var(--line);margin:.8rem 0}
.pdp__pricebox{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.pdp__off{font-family:var(--display);font-size:22px;font-weight:800;color:var(--accent)}
.pdp__price{font-size:28px;font-weight:700;color:var(--deep)}
.pdp__pricebox s{font-size:12px;color:var(--muted)}
.pdp__igv{font-size:11px;color:var(--muted)}
.pdp__cuotas{margin-top:.6rem;font-size:13px}.pdp__cuotas strong{color:var(--ok)}
.pdp__dims{margin-top:.5rem;font-size:13px;color:var(--ink-2)}
.pdp__about{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--line-2)}
.pdp__about h2{font-family:var(--display);font-size:15px;color:var(--deep);margin-bottom:.5rem}
.pdp__about li{margin-left:1.1rem;font-size:13px;color:var(--ink-2);padding:.15rem 0}
.pdp__desc{margin-top:1rem;font-size:14px;color:var(--ink-2)}

/* Buy box */
.buybox{position:sticky;top:86px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem;box-shadow:var(--shadow)}
.buybox__price{display:block;font-size:24px;font-weight:700;color:var(--deep)}
.buybox__delivery{margin-top:.8rem;background:#E9F1F0;border-radius:var(--r-sm);padding:.6em .8em;font-size:12.5px;color:var(--ink-2)}
.buybox__zone{font-size:11px;color:var(--muted);margin-top:.4rem}
.buybox__stock{margin-top:.7rem;font-family:var(--display);font-weight:700;color:var(--ok)}
.buybox__stock.is-low{color:var(--accent)}
.buybox__form{display:flex;flex-direction:column;gap:.6rem;margin-top:.8rem}
.buybox__form label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.buybox__form input[type=number]{width:70px;padding:.45em;text-align:center;border:1px solid var(--line);border-radius:var(--r-sm)}
.buybox__secure{margin-top:.7rem;font-size:11px;color:var(--muted);text-align:center}
.buybox__meta{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line-2);font-size:12px}
.buybox__meta div{display:flex;justify-content:space-between;padding:.15rem 0}
.buybox__meta dt{color:var(--muted)}.buybox__meta dd{font-weight:600;color:var(--deep)}
.buybox__pay{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line-2)}
.buybox__pay>span{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.4rem}
.buybox__wa{display:block;text-align:center;margin-top:.9rem;font-size:12.5px;font-weight:700;color:var(--ok)}

/* Carrito + checkout */
.steps{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1.2rem 0 .4rem;font-size:13px;color:var(--muted)}
.steps b{color:var(--deep)}.steps b.on{color:var(--deep)}.steps b.done{color:var(--brand)}
.steps i{width:44px;height:1.5px;background:var(--line)}.steps i.done{background:var(--brand)}
.cartgrid,.cogrid{display:grid;grid-template-columns:1fr 340px;gap:1.6rem;align-items:start;margin:1.2rem 0 2.5rem}
.cartitems,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem}
.citem{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line-2)}
.citem__thumb{width:84px;height:84px;flex:none;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;display:grid;place-items:center;background:var(--line-2);font-family:var(--display);font-size:10px;letter-spacing:.15em;color:var(--soft)}
.citem__thumb img{width:100%;height:100%;object-fit:cover}
.citem__body{flex:1}.citem__body small{font-size:11px;color:var(--muted)}
.citem__body h3{font-family:var(--display);font-size:15px;color:var(--deep)}
.citem__cuotas{font-style:normal;font-size:12px;color:var(--ok);font-weight:600;display:block;margin:.2rem 0 .4rem}
.citem__qty{font-size:12px;color:var(--muted)}
.citem__qty input{width:64px;padding:.4em;text-align:center;border:1px solid var(--line);border-radius:var(--r-sm);margin-left:.4rem}
.citem__total{font-size:16px;color:var(--deep)}
.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem;position:sticky;top:86px}
.summary h2{font-family:var(--display);font-size:16px;color:var(--deep);margin-bottom:.8rem}
.summary .row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:14px}
.summary .row.total{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.8rem;font-family:var(--display);font-weight:800;font-size:16px;color:var(--deep)}
.summary small{display:block;color:var(--muted);font-size:11.5px;margin:.3rem 0 .9rem}
.summary .keep{display:block;text-align:center;margin-top:.7rem;font-size:13px;font-weight:600;color:var(--brand)}
.ship{background:var(--line-2);border-radius:var(--r-sm);padding:.5em .8em;font-size:12px;margin-bottom:.8rem}
.ship.ok{background:#E2F2E8;color:var(--ok);font-weight:600}
.empty{text-align:center;padding:3rem 0}.empty p{margin-bottom:1.2rem;color:var(--muted)}
.copanels{display:flex;flex-direction:column;gap:1.2rem}
.panel h2{font-family:var(--display);font-size:16px;color:var(--deep);display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line-2)}
.panel h2 i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--deep);color:#fff;font-size:12px;font-family:var(--display)}
.panel label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:.8rem}
.panel input,.panel textarea,.panel select{width:100%;padding:.65em .9em;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;margin-top:.25rem}
.panel input:focus,.panel textarea:focus{outline:none;border-color:var(--brand)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.f3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem}
.radio{display:flex;align-items:center;gap:.5rem;font-weight:500!important}
.radio input{width:auto!important;margin:0!important;accent-color:var(--brand)}
.radio.pay{border:1.5px solid var(--line);border-radius:var(--r);padding:.7em .9em;flex-wrap:wrap}
.radio.pay:has(input:checked){border-color:var(--brand);background:#F4F8F7}
.radio.pay span{flex-basis:100%;font-size:11.5px;color:var(--muted);padding-left:1.4rem}
.seg{display:flex;gap:1rem;margin-bottom:.8rem}
.mini{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;font-size:13px;border-bottom:1px solid var(--line-2)}
.mini__q{display:grid;place-items:center;min-width:20px;height:20px;background:var(--deep);color:#fff;border-radius:99px;font-size:10px;font-weight:700}
.mini b{margin-left:auto}
.ssl{text-align:center;font-size:11px;color:var(--muted);margin-top:.7rem}
.thanks{max-width:560px;margin:1rem auto 3rem;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:2.2rem}
.thanks p{margin:.6rem 0}.thanks .btn{margin-top:1rem}
.thanks .keep{display:block;margin-top:1rem;font-size:13px;color:var(--brand);font-weight:600}

/* Footer */
.ft{background:var(--deep);color:rgba(225,235,233,.8);margin-top:2rem}
.ft__in{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2rem clamp(1rem,4vw,2rem)}
.ft__brand{font-family:var(--display);font-size:18px;letter-spacing:.06em;color:#fff}
.ft__tag{font-size:12px;margin-top:.4rem}
.ft__pay>span{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:.5rem;color:#fff}
.ft .chips i{background:rgba(255,255,255,.07);border-color:rgba(158,191,189,.2);color:rgba(225,235,233,.85)}
.ft__legal{padding:1rem clamp(1rem,4vw,2rem);border-top:1px solid rgba(158,191,189,.15);font-size:11.5px}

/* Admin */
.admin{background:#F4F6F5}
.ahd{background:var(--deep);color:#fff}
.ahd__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem clamp(1rem,4vw,2rem);flex-wrap:wrap}
.ahd .hd__brand{color:#fff}
.ahd nav{display:flex;gap:1.1rem;font-size:13px;font-weight:600}
.ahd nav a{color:rgba(225,235,233,.85)}.ahd nav a:hover{color:#fff}
.admin main{padding-top:1.6rem;padding-bottom:3rem}
.alogin{max-width:380px;margin:3rem auto}.alogin .panel{margin-top:1rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:1.2rem 0 1.6rem}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem}
.stat b{display:block;font-size:22px;color:var(--deep)}.stat span{font-size:12px;color:var(--muted)}
.ahead{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.tbl{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);border-collapse:separate;border-spacing:0;overflow:hidden;font-size:13px}
.tbl th{text-align:left;background:var(--line-2);padding:.6rem .8rem;font-family:var(--display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.tbl td{padding:.6rem .8rem;border-top:1px solid var(--line-2);vertical-align:top}
.tbl .low{color:var(--accent);font-weight:700}
.tbl a{color:var(--brand);font-weight:600}
.inline{display:inline}
.aform{max-width:760px}

/* Responsive */
@media(max-width:1080px){.grid{grid-template-columns:repeat(3,1fr)}.pdp{grid-template-columns:1fr 320px}.pdp__gallery{grid-column:1/-1;position:static}}
@media(max-width:860px){
  .hero__in{grid-template-columns:1fr}.hero__cards{grid-template-columns:1fr 1fr}
  .benefits__in{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}
  .pdp{grid-template-columns:1fr}.buybox{position:static}
  .cartgrid,.cogrid{grid-template-columns:1fr}.summary{position:static}
  .stats{grid-template-columns:1fr 1fr}.f3{grid-template-columns:1fr}
  .utilbar__links{display:none}
}
@media(max-width:520px){.grid{grid-template-columns:1fr}.hero__cards{grid-template-columns:1fr}.f2{grid-template-columns:1fr}}

/* =========================================================================
   PANEL ANDES — réplica del lenguaje visual de MercadoLibre (Seller Central)
   Tokens: amarillo ML #FFE600 · azul Andes #3483FA · verde #00A650 ·
   rojo #F23D4F · fondo #EBEBEB · tarjetas blancas r6 sombra suave ·
   texto rgba(0,0,0,.9/.55/.45)
   ========================================================================= */
.andes{
  --an-yellow:#FFE600; --an-blue:#3483FA; --an-blue-dark:#2968C8;
  --an-blue-soft:#E3EDFB; --an-green:#00A650; --an-green-soft:#DFF5E8;
  --an-red:#F23D4F; --an-red-soft:#FDE9EB; --an-orange:#E6A800; --an-orange-soft:#FFF3D1;
  --an-bg:#EBEBEB; --an-card:#FFFFFF; --an-line:rgba(0,0,0,.1);
  --an-ink:rgba(0,0,0,.9); --an-ink2:rgba(0,0,0,.55); --an-ink3:rgba(0,0,0,.45);
  background:var(--an-bg);font-family:'Inter',-apple-system,sans-serif;color:var(--an-ink);font-size:14px
}
/* Topbar amarilla ML */
.an-top{position:sticky;top:0;z-index:60;background:var(--an-yellow);display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.4rem;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.an-top__brand{font-weight:800;font-size:17px;letter-spacing:.05em;color:var(--an-ink)}
.an-top__brand span{font-weight:500;font-size:12px;color:rgba(0,0,0,.55);letter-spacing:0;margin-left:.4rem}
.an-top__right{display:flex;gap:1.2rem;font-size:13px;font-weight:500}
.an-top__right a{color:rgba(0,0,0,.7)}.an-top__right a:hover{color:var(--an-ink)}
/* Shell: sidebar + contenido */
.an-shell{display:flex;min-height:calc(100vh - 46px)}
.an-side{width:210px;flex:none;background:var(--an-card);box-shadow:1px 0 2px rgba(0,0,0,.08);padding:.9rem 0}
.an-side__item{display:flex;align-items:center;gap:.7rem;padding:.65rem 1.3rem;font-size:13.5px;font-weight:500;color:var(--an-ink2);border-left:3px solid transparent;transition:all .15s}
.an-side__item svg{flex:none;opacity:.75}
.an-side__item:hover{background:rgba(0,0,0,.03);color:var(--an-ink)}
.an-side__item.is-on{color:var(--an-blue);border-left-color:var(--an-blue);background:var(--an-blue-soft);font-weight:600}
.an-main{flex:1;padding:1.6rem 2rem;max-width:1080px}
.an-h1,.andes .display{font-family:'Inter',sans-serif;font-size:22px;font-weight:600;color:var(--an-ink);letter-spacing:0;margin-bottom:1rem}
/* Tarjetas Andes */
.an-card,.andes .panel,.andes .stat{background:var(--an-card);border:0;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.12);padding:1.3rem;transition:box-shadow .2s}
.an-card:hover,.andes .stat:hover{box-shadow:0 2px 8px rgba(0,0,0,.15)}
.an-card h2{font-size:15px;font-weight:600;color:var(--an-ink);margin-bottom:.6rem}
.an-help{font-size:12.5px;color:var(--an-ink2);line-height:1.55;margin-bottom:1rem}
.an-cards2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
/* Stats (Resumen ML) */
.andes .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 1.4rem}
.andes .stat b{display:block;font-size:24px;font-weight:600;color:var(--an-ink)}
.andes .stat span{font-size:12px;color:var(--an-ink2)}
/* Botones Andes */
.an-btn,.andes .btn{display:inline-block;background:var(--an-blue);color:#fff;border:0;border-radius:6px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;padding:.65em 1.5em;cursor:pointer;transition:background .15s;text-align:center}
.an-btn:hover,.andes .btn:hover{background:var(--an-blue-dark);color:#fff}
.andes .btn--ghost{background:var(--an-blue-soft);color:var(--an-blue);border:0}
.andes .btn--ghost:hover{background:#D3E3F9;color:var(--an-blue-dark)}
.andes .btn--accent,.andes .btn--deep{background:var(--an-blue)}
.andes .btn--accent:hover,.andes .btn--deep:hover{background:var(--an-blue-dark)}
/* Tabla ML */
.andes .tbl{width:100%;background:var(--an-card);border:0;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.12);border-collapse:separate;border-spacing:0;overflow:hidden;font-size:13px}
.andes .tbl th{text-align:left;background:var(--an-card);padding:.8rem .9rem;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--an-ink3);border-bottom:1px solid var(--an-line)}
.andes .tbl td{padding:.75rem .9rem;border-bottom:1px solid rgba(0,0,0,.06);vertical-align:middle;color:var(--an-ink)}
.andes .tbl tr:last-child td{border-bottom:0}
.andes .tbl tr:hover td{background:rgba(0,0,0,.02)}
.andes .tbl a{color:var(--an-blue);font-weight:500}
.andes .tbl .low{color:var(--an-red);font-weight:700}
/* Pills de estado (chips Andes) */
.an-pill{display:inline-block;font-size:11px;font-weight:600;padding:.3em .8em;border-radius:99px;text-transform:capitalize;margin-bottom:.3rem}
.an-pill--pendiente{background:var(--an-orange-soft);color:#8a6500}
.an-pill--pagado{background:var(--an-green-soft);color:var(--an-green)}
.an-pill--despachado{background:var(--an-blue-soft);color:var(--an-blue)}
.an-pill--entregado{background:var(--an-green);color:#fff}
.an-pill--cancelado{background:var(--an-red-soft);color:var(--an-red)}
/* Formularios Andes */
.andes .panel label,.an-card label{display:block;font-size:12.5px;font-weight:500;color:var(--an-ink2);margin-bottom:.9rem}
.andes .panel input,.andes .panel textarea,.andes .panel select,.an-card input{width:100%;padding:.6em .8em;border:1px solid rgba(0,0,0,.25);border-radius:6px;font-family:'Inter',sans-serif;font-size:14px;margin-top:.3rem;background:#fff;color:var(--an-ink)}
.andes .panel input:focus,.an-card input:focus{outline:none;border-color:var(--an-blue);box-shadow:0 0 0 2px rgba(52,131,250,.2)}
.andes .radio{display:flex;align-items:center;gap:.5rem}
.andes .radio input{width:auto!important;accent-color:var(--an-blue)}
.andes select{padding:.45em .6em;border:1px solid rgba(0,0,0,.25);border-radius:6px;font-size:13px;background:#fff}
.andes .notice{background:var(--an-card);border-left:4px solid var(--an-blue);border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.12);padding:.8em 1em;font-size:13px}
.andes .notice.ok{border-left-color:var(--an-green);background:var(--an-card);color:var(--an-ink)}
.andes .notice.err{border-left-color:var(--an-red);background:var(--an-card);color:var(--an-ink)}
.andes .ahead{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.andes .aform{max-width:820px}
.andes .mono{font-family:'Montserrat','Inter',sans-serif;font-feature-settings:'tnum'}
/* Login */
.an-loginbody{display:grid;place-items:center;min-height:100vh}
.an-loginbody .an-main{padding:0;max-width:none}
.andes .alogin{width:min(380px,92vw);margin:0 auto}
.andes .alogin .display{text-align:center}
@media(max-width:900px){
  .an-shell{flex-direction:column}
  .an-side{width:100%;padding:0}
  .an-side nav{display:flex;overflow-x:auto}
  .an-side__item{border-left:0;border-bottom:3px solid transparent;white-space:nowrap}
  .an-side__item.is-on{border-bottom-color:var(--an-blue)}
  .an-main{padding:1.2rem}
  .an-cards2{grid-template-columns:1fr}
  .andes .stats{grid-template-columns:1fr 1fr}
}

/* ===== Área de cuenta (recorrido tipo Shopify) ===== */
.acc-auth{max-width:440px;margin:1.5rem auto 3rem}
.acc-auth .display{text-align:center;margin-bottom:1rem}
.acc-tabs{display:flex;border:1.5px solid var(--line);border-radius:var(--pill);overflow:hidden;margin-bottom:1.2rem}
.acc-tabs a{flex:1;text-align:center;padding:.6em;font-weight:700;font-size:13.5px;color:var(--muted);font-family:var(--display)}
.acc-tabs a.is-on{background:var(--deep);color:#fff}
.acc-form label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:.9rem}
.acc-form input{width:100%;padding:.65em .9em;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;margin-top:.3rem}
.acc-form input:focus{outline:none;border-color:var(--brand)}
.acc-link{display:block;text-align:center;margin-top:.9rem;font-size:12.5px;font-weight:600;color:var(--brand)}
.acc-note{font-size:12px;color:var(--muted);line-height:1.55;margin-top:.8rem}
.acc{margin-bottom:3rem}
.acc-grid{display:grid;grid-template-columns:190px 1fr;gap:1.4rem;align-items:start;margin-top:1rem}
.acc-nav{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.acc-nav a{padding:.8em 1.1em;font-size:13.5px;font-weight:600;color:var(--ink-2);border-left:3px solid transparent}
.acc-nav a:hover{background:var(--line-2)}
.acc-nav a.is-on{color:var(--brand);border-left-color:var(--brand);background:#F0F6F5}
.acc-body{display:flex;flex-direction:column;gap:.9rem}
.acc-h2{font-family:var(--display);font-size:15px;color:var(--deep);margin-bottom:.8rem}
.acc-order__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line-2)}
.acc-order__head small{display:block;font-size:11.5px;color:var(--muted)}
.acc-order__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;flex-wrap:wrap}
.acc-order__foot>div{display:flex;gap:.6rem}
.acc-addr{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.acc-addr p{font-size:13px;color:var(--ink-2);margin-top:.2rem}
/* Pills de estado en la tienda */
.st{display:inline-block;font-size:11px;font-weight:700;padding:.3em .8em;border-radius:99px;text-transform:capitalize}
.st--pendiente{background:#FFF3D1;color:#8a6500}
.st--pagado{background:#E2F2E8;color:var(--ok)}
.st--despachado{background:#E3EDFB;color:#2968C8}
.st--entregado{background:var(--ok);color:#fff}
.st--cancelado{background:#F8E4E1;color:#B23A2E}
/* Timeline de seguimiento del pedido */
.otrack{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.otrack__step{display:flex;align-items:center;gap:.45rem;font-size:12.5px;font-weight:600;color:var(--muted)}
.otrack__step span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);font-size:11px;background:var(--surface)}
.otrack__step.is-done{color:var(--ok)}
.otrack__step.is-done span{background:var(--ok);border-color:var(--ok);color:#fff}
.otrack i{flex:1;min-width:20px;height:1.5px;background:var(--line)}
.otrack i.is-done{background:var(--ok)}
@media(max-width:760px){.acc-grid{grid-template-columns:1fr}.acc-nav{flex-direction:row;overflow-x:auto}.acc-nav a{white-space:nowrap;border-left:0;border-bottom:3px solid transparent}.acc-nav a.is-on{border-bottom-color:var(--brand)}}

/* ===== Formulario de producto estilo Shopify (2 columnas) ===== */
.shpf{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;max-width:1040px}
.shpf__main,.shpf__side{display:flex;flex-direction:column;gap:16px}
.shpf .an-card label{margin-bottom:.9rem}
.shpf textarea{width:100%;padding:.6em .8em;border:1px solid rgba(0,0,0,.25);border-radius:6px;font-family:'Inter',sans-serif;font-size:14px;margin-top:.3rem;resize:vertical}
.shpf textarea:focus{outline:none;border-color:var(--an-blue);box-shadow:0 0 0 2px rgba(52,131,250,.2)}
.shpf__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.shpf__row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.9rem}
.shpf select{width:100%;margin-top:.3rem;padding:.6em .8em}
.shpf label small{font-weight:400;color:var(--an-ink3)}
/* Vista previa SERP (como Shopify) */
.shpf__serp{border:1px solid rgba(0,0,0,.1);border-radius:6px;padding:.9rem 1rem;margin-bottom:1rem;background:#fff}
.shpf__serp-title{display:block;color:#1a0dab;font-size:16px;line-height:1.3}
.shpf__serp-url{display:block;color:#006621;font-size:12px;margin:.15rem 0}
.shpf__serp-desc{display:block;color:#545454;font-size:12.5px;line-height:1.45}
@media(max-width:900px){.shpf{grid-template-columns:1fr}.shpf__row3{grid-template-columns:1fr}}

/* ===== CHECKOUT (referencia del usuario: patrón Amazon, marca HAVEN) ===== */
.co{background:#eaeded;font-family:'Inter',-apple-system,sans-serif;font-size:14px;color:#0f1111}
.co-top{background:var(--deep);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;height:58px;position:relative}
.co-top__brand{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:.04em;color:#fff}
.co-top__brand .tld{font-size:12px;color:var(--soft);font-weight:600;margin-left:1px}
.co-top__secure{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;font-size:17px;font-weight:500;cursor:default}
.co-top__secure .chev{opacity:.85;font-size:12px}
.co-tooltip{position:absolute;top:44px;left:50%;transform:translateX(-50%);width:320px;background:#fff;color:#0f1111;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.28);padding:14px 16px;font-size:12.5px;line-height:1.5;z-index:40;display:none;font-weight:400}
.co-tooltip::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #fff}
.co-top__secure:hover .co-tooltip,.co-top__secure:focus .co-tooltip{display:block}
.co-top__cart{display:flex;align-items:center;gap:7px;font-weight:600;color:#fff}
.co-top__cart .count{color:var(--accent);font-weight:800}
.co-wrap{max-width:1180px;margin:0 auto;padding:20px 18px 60px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.co-card{background:#fff;border:1px solid #d5d9d9;border-radius:8px;padding:18px 20px;margin-bottom:16px}
.co-card h2{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;margin-bottom:10px;color:#0f1111}
.co-muted{color:#565959}
.co-card label,.co-info label{display:block;font-size:12.5px;font-weight:600;color:#333;margin-bottom:.8rem}
.co-card label small{font-weight:400;color:#565959}
.co .f{border:1px solid #d5d9d9;border-radius:6px;padding:9px 11px;font-size:13px;width:100%;font-family:inherit;margin-top:.3rem}
.co .f:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.co .f2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.co .radio{display:flex;align-items:center;gap:.5rem;font-weight:500}
.co .radio input{accent-color:var(--brand);margin:0}
/* pagos */
.paylist{border-top:1px solid #e7e7e7}
.payopt{display:flex;gap:12px;padding:13px 4px;border-bottom:1px solid #e7e7e7;align-items:flex-start;cursor:pointer;margin-bottom:0!important;font-weight:400!important}
.payopt input{margin-top:3px;accent-color:var(--brand);width:16px;height:16px;flex:none}
.payopt .body{flex:1;display:block}
.payopt .tt{font-weight:600;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:14px}
.payopt .sub{display:block;color:#565959;font-size:12.5px;margin-top:2px;font-weight:400}
.payopt.sel{background:#E6F4F0;border-radius:6px;margin:0 -6px;padding-left:10px;padding-right:10px;border-bottom-color:transparent}
.tag{background:#f0f2f2;border:1px solid #d5d9d9;border-radius:4px;font-size:11px;font-weight:600;color:#333;padding:2px 7px;line-height:1.4;font-style:normal;display:inline-block}
.tag.yape{background:#742384;border-color:#742384;color:#fff}
.tag.mp{background:#00b1ea;border-color:#00b1ea;color:#fff}
.tag.pe{background:#e30613;border-color:#e30613;color:#fff}
.tag.visa{color:#1a1f71}.tag.mc{color:#eb001b}
.panelbox{display:block;margin-top:12px;padding:14px;border:1px dashed #d5d9d9;border-radius:6px;background:#fafafa;font-weight:400}
.yape-wrap{display:flex;gap:16px;align-items:center;font-size:13px;line-height:1.6}
.qr{width:110px;height:110px;border-radius:8px;background:repeating-conic-gradient(#111 0 25%, #fff 0 50%) 0 0/16px 16px;border:6px solid #fff;box-shadow:0 2px 5px rgba(15,17,17,.15);flex:none;position:relative}
.qr::after{content:"";position:absolute;inset:38% 38%;background:#fff;border-radius:4px;box-shadow:0 0 0 2px #111}
.cuotas{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid #d5d9d9;background:#fff;border-radius:6px;padding:8px 12px;font-size:13px;text-align:center;min-width:78px;display:inline-block}
.chip small{display:block;color:#565959;font-size:11px}
/* infobox comprobante */
.co-info{background:#fff;border:1px solid #d5d9d9;border-left:5px solid var(--brand);border-radius:8px;padding:14px 18px;margin-bottom:16px;display:flex;gap:12px}
.co-info>svg{width:20px;height:20px;color:var(--brand);flex:none;margin-top:1px}
.co-info h3{font-size:14px;font-weight:700;margin-bottom:3px}
.co-info p{color:#565959;font-size:13px}
.doc-toggle{display:inline-flex;border:1px solid #d5d9d9;border-radius:6px;overflow:hidden;margin-top:10px}
.doc-toggle button{background:#fff;border:0;padding:6px 16px;font-size:12.5px;font-weight:600;color:#565959;cursor:pointer}
.doc-toggle button[aria-pressed="true"]{background:var(--brand);color:#fff}
.ruc-field{margin-top:10px;display:none;gap:8px;flex-wrap:wrap}
.ruc-field.show{display:flex}
/* llega el ... */
.arrival{font-size:18px;font-weight:700;color:#007600;margin-bottom:6px}
.arrival .cd{color:#b12704;font-weight:600;font-size:13px;display:block;margin-top:2px}
.co-prod{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #e7e7e7;align-items:flex-start}
.co-thumb{width:88px;height:88px;flex:none;border:1px solid #d5d9d9;border-radius:6px;overflow:hidden;display:grid;place-items:center;background:#f0f2f2;font-family:var(--display);font-size:10px;letter-spacing:.15em;color:var(--soft)}
.co-thumb img{width:100%;height:100%;object-fit:cover}
.co-prod .info{flex:1}
.co-prod .title{font-size:14px;line-height:1.4;color:#0f1111;font-weight:500}
.co-prod .title:hover{color:#c7511f}
.co-prod .pprice{font-weight:700;font-size:15px;margin-top:5px}
.co-line{font-size:15px}
.stepper{display:inline-flex;align-items:center;border:1px solid #fcd200;background:#fff;border-radius:99px;box-shadow:0 2px 5px rgba(213,217,217,.5);margin-top:10px;overflow:hidden}
.stepper button{width:36px;height:32px;border:0;background:#fff;font-size:17px;font-weight:600;cursor:pointer}
.stepper button:hover{background:#f7fafa}
.stepper .qty{width:44px;text-align:center;font-weight:600;border:0;border-left:1px solid #d5d9d9;border-right:1px solid #d5d9d9;height:32px;font-size:14px}
.delivery-radio{padding-top:12px}
.delivery-radio label{display:flex;gap:8px;font-size:13px;font-weight:400;margin-bottom:.6rem;align-items:flex-start}
.delivery-radio input{accent-color:var(--brand);margin-top:2px}
.delivery-radio .dfree{color:#007600;font-weight:700;font-size:12px}
/* resumen */
.co-summary{position:sticky;top:16px;background:#fff;border:1px solid #d5d9d9;border-radius:8px;padding:18px 20px}
.place{background:#ffd814;border:1px solid #fcd200;border-radius:99px;width:100%;padding:11px;font-size:14px;font-weight:600;color:#0f1111;box-shadow:0 2px 5px rgba(213,217,217,.6);cursor:pointer;font-family:'Inter',sans-serif}
.place:hover{background:#f7ca00}
.legal{font-size:11.5px;color:#565959;margin-top:12px;line-height:1.5}
.sumline{border-top:1px solid #d5d9d9;margin:14px 0 10px}
.sumrow{display:flex;justify-content:space-between;font-size:13.5px;margin-top:7px}
.sumrow.igv{color:#565959;font-size:12.5px}
.tot{display:flex;justify-content:space-between;font-size:18px;font-weight:700;color:#b12704}
.tot .lbl{color:#0f1111}
.trust{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid #e7e7e7}
.secpay{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#565959;margin-top:11px}
.secpay svg{color:#007600}
@media(max-width:900px){.co-wrap{grid-template-columns:1fr}.co-summary{position:static;order:-1}.co-top__secure{font-size:14px}.co .f2{grid-template-columns:1fr}}

/* ===== Páginas complementarias + footer adidas ===== */
.pg{max-width:820px;margin-bottom:3rem}
.pg-lead{font-size:16.5px;color:var(--ink-2);line-height:1.65;margin:1rem 0 1.4rem;font-weight:500}
.pg-body h2{font-family:var(--display);font-size:18px;color:var(--deep);margin:1.6rem 0 .5rem}
.pg-body p{font-size:14.5px;color:var(--ink-2);line-height:1.7;margin-bottom:.8rem}
.pg-body a{color:var(--brand);font-weight:600}
.pg-cta{margin-top:1.6rem}
.pg-form{max-width:680px;margin-top:1rem}
.pg-form textarea{width:100%;padding:.65em .9em;border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--sans);font-size:14px;margin-top:.25rem;resize:vertical}
.pg-form select{width:100%;padding:.65em .9em;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;margin-top:.25rem;background:#fff}
.ft__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:2.2rem clamp(1rem,4vw,2rem) 1.6rem}
.ft__grid h4{font-family:var(--display);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:.8rem}
.ft__grid a{display:block;font-size:13px;color:rgba(225,235,233,.8);padding:.22rem 0}
.ft__grid a:hover{color:#fff}
.ft__social{display:flex;gap:.7rem}
.ft__social a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(158,191,189,.3);border-radius:50%;color:rgba(225,235,233,.85);transition:all .2s;padding:0}
.ft__social a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.ft__legal{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.ft__legal-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.ft__legal-links a{font-size:11.5px;color:rgba(225,235,233,.75)}
.ft__legal-links a:hover{color:#fff}
@media(max-width:860px){.ft__grid{grid-template-columns:1fr 1fr}}

/* ===== Filtros de catálogo (patrón Easy) + armado ===== */
.cat-head{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.cat-count{font-size:13px;color:var(--muted)}
.cat-layout{display:grid;grid-template-columns:220px 1fr;gap:1.6rem;align-items:start;margin-top:1.2rem}
.grid--cat{grid-template-columns:repeat(3,1fr);margin-top:0}
.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.1rem;position:sticky;top:86px}
.filters__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem}
.filters__head b{font-family:var(--display);font-size:14px;color:var(--deep)}
.filters__head a{font-size:11.5px;color:var(--accent);font-weight:600}
.fgroup{padding:.8rem 0;border-top:1px solid var(--line-2)}
.fgroup h3{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:.5rem}
.fopt{display:block;font-size:13px;color:var(--ink-2);padding:.25rem 0;font-weight:500}
.fopt i{font-style:normal;color:var(--muted);font-size:11.5px}
.fopt:hover{color:var(--brand)}
.fopt.is-on{color:var(--brand);font-weight:700}
.fopt.is-on::before{content:"✓ "}
.frange{display:flex;gap:.4rem;align-items:center}
.frange input{width:70px;padding:.45em .5em;border:1px solid var(--line);border-radius:var(--r-sm);font-size:12px}
.frange .btn{padding:.5em .9em;font-size:12px}
.cat-seo{margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.cat-seo h2{font-family:var(--display);font-size:17px;color:var(--deep);margin-bottom:.6rem}
.cat-seo p{font-size:13.5px;color:var(--ink-2);line-height:1.7;margin-bottom:.7rem;max-width:70ch}
.cat-seo a{color:var(--brand);font-weight:600}
.armado-opt{display:flex;gap:.6rem;align-items:flex-start;background:#F4F8F7;border:1.5px dashed var(--soft);border-radius:var(--r);padding:.7em .9em;cursor:pointer;font-size:12.5px!important;color:var(--ink-2)!important}
.armado-opt input{margin-top:3px;accent-color:var(--brand);width:15px;height:15px;flex:none}
.armado-opt small{color:var(--muted)}
.citem__armado{display:flex;gap:.5rem;align-items:center;font-size:12px;color:var(--ink-2);margin-top:.4rem;cursor:pointer}
.citem__armado input{accent-color:var(--brand)}
.co-armado{font-size:12px;color:var(--ok);font-weight:600;margin-top:3px}
@media(max-width:860px){.cat-layout{grid-template-columns:1fr}.filters{position:static}.grid--cat{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grid--cat{grid-template-columns:1fr}}

/* =========================================================================
   ANDES × HAVEN — el lenguaje visual Andes (geometría 6px, superficies
   blancas con sombra suave, botón sólido + botón suave, estados claros)
   aplicado a TODA la tienda con la paleta corporativa HAVEN.
   Incluye el pulido de microinteracciones: nada de clics "toscos".
   ========================================================================= */

/* --- Microinteracciones globales --- */
html{scroll-behavior:smooth}
a,button,input,select,textarea,.card,.promo,.fopt,.payopt,.chip,.an-side__item{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,
  box-shadow .18s ease,transform .15s ease,opacity .18s ease}
button:active,.btn:active,.place:active,.an-btn:active,.card__cta:active{transform:scale(.97)}
a:active{opacity:.75}
:focus-visible{outline:2.5px solid var(--brand);outline-offset:2px;border-radius:4px}
.co :focus-visible,.andes :focus-visible{outline-color:var(--an-blue, var(--brand))}
img{transition:opacity .25s ease}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* --- Botones: geometría Andes (r6), paleta HAVEN --- */
.btn{border-radius:6px;font-family:'Inter',sans-serif;font-weight:600;letter-spacing:0}
.btn--accent{background:var(--accent);box-shadow:0 1px 2px rgba(201,80,47,.35)}
.btn--accent:hover{background:var(--accent-deep);box-shadow:0 3px 8px rgba(201,80,47,.3)}
.btn--deep{background:var(--brand)}.btn--deep:hover{background:#155F58}
.btn--soft{background:#E6F4F0;color:var(--brand);border:0}
.btn--soft:hover{background:#D5EBE5;color:#155F58}
.btn--ghost{border-radius:6px}
.card__cta{border-radius:6px;border-width:0;background:#E6F4F0;color:var(--brand)}
.card__cta:hover{background:var(--brand);color:#fff}

/* --- Superficies Andes --- */
.card,.panel,.summary,.filters,.acc-nav,.cartitems,.thanks{border:0;box-shadow:0 1px 2px rgba(35,65,65,.14);border-radius:6px}
.card:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(35,65,65,.16)}
.hero__copy,.promo{border-radius:6px}
.hd__search{border-radius:6px}
.hd__search button{transition:background .18s ease}
.panel input,.panel textarea,.acc-form input,.frange input{border-radius:6px}
.panel input:focus,.panel textarea:focus,.acc-form input:focus{box-shadow:0 0 0 2px rgba(28,115,107,.18);border-color:var(--brand)}
.buybox{border:0;box-shadow:0 1px 2px rgba(35,65,65,.14),0 8px 28px -18px rgba(35,65,65,.25);border-radius:6px}
.notice{border-radius:6px;border-left:4px solid var(--brand);background:#fff;box-shadow:0 1px 2px rgba(35,65,65,.12)}
.notice.ok{border-left-color:var(--ok)}.notice.err{border-left-color:#B23A2E}

/* --- PDP 2026 --- */
.pdp2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 320px;gap:1.8rem;align-items:start;padding-top:1rem;padding-bottom:1.4rem}
.pdp2__gallery{display:flex;gap:.7rem;position:sticky;top:86px}
.pdp2__thumbs{display:flex;flex-direction:column;gap:.5rem;width:56px;flex:none}
.pdp2__thumb{width:56px;height:56px;border:1.5px solid var(--line);border-radius:6px;overflow:hidden;padding:0;background:#fff;cursor:pointer}
.pdp2__thumb img{width:100%;height:100%;object-fit:cover}
.pdp2__thumb:hover{border-color:var(--soft)}
.pdp2__thumb.is-on{border-color:var(--brand);box-shadow:0 0 0 1.5px var(--brand)}
.pdp2__main{flex:1;position:relative;background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(35,65,65,.14);overflow:hidden;display:grid;place-items:center;min-height:340px}
.pdp2__main img{width:100%;object-fit:contain;aspect-ratio:1/1}
.pdp2__badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;font-family:var(--display);font-size:13px;font-weight:800;padding:4px 10px;border-radius:6px;z-index:2}
.pdp2__meta{font-size:12.5px;color:var(--muted);display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.pdp2__ratelink{color:var(--muted)}.pdp2__ratelink b{color:var(--ink)}
.pdp2__info h1{font-family:var(--display);font-size:clamp(20px,2.3vw,26px);color:var(--deep);line-height:1.25;margin:.3rem 0}
.pdp2__brand{font-size:12.5px;color:var(--muted)}
.pdp2__brand a{color:var(--brand);font-weight:600}
.pdp2__pricebox{margin:1rem 0;padding:1rem 0;border-block:1px solid var(--line-2)}
.pdp2__pricebox s{font-size:13px;color:var(--muted)}
.pdp2__priceline{display:flex;align-items:baseline;gap:.7rem}
.pdp2__price{font-size:32px;font-weight:700;color:var(--deep)}
.pdp2__off{font-size:15px;color:var(--ok);font-weight:700}
.pdp2__cuotas{font-size:14.5px;color:var(--ok);font-weight:600;margin-top:.2rem}
.pdp2__igv{font-size:11.5px;color:var(--muted);margin-top:.4rem}
.pdp2__igv a{color:var(--brand);font-weight:600}
.pdp2__about h2,.pdp2__specs h2,.pdp2__section h2{font-family:var(--display);font-size:16.5px;color:var(--deep);margin-bottom:.7rem}
.pdp2__about li{margin-left:1.1rem;font-size:13.5px;color:var(--ink-2);padding:.18rem 0;line-height:1.55}
.pdp2__specs{margin-top:1.3rem}
.pdp2__specs table{width:100%;border-collapse:collapse;font-size:13px;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(35,65,65,.12)}
.pdp2__specs th{text-align:left;background:#EFF4F3;color:var(--ink-2);font-weight:600;padding:.6rem .9rem;width:42%}
.pdp2__specs td{background:#fff;padding:.6rem .9rem;color:var(--ink)}
.pdp2__specs tr:nth-child(even) th{background:#E7EFED}
.pdp2__specs tr:nth-child(even) td{background:#FAFCFB}
.bb2__ship{background:#F0F6F5;border-radius:6px;padding:.8rem .9rem;font-size:12.5px;color:var(--ink-2);display:flex;flex-direction:column;gap:.35rem}
.bb2__free{color:var(--ok);font-weight:600}
.bb2__protect{margin:.9rem 0 0;padding:.8rem 0 0;border-top:1px solid var(--line-2);list-style:none;display:flex;flex-direction:column;gap:.5rem}
.bb2__protect li{font-size:12px;color:var(--ink-2);line-height:1.5}
.bb2__protect a{color:var(--brand);font-weight:600}
.pdp2__section{margin:1.6rem auto;padding-top:1.4rem;border-top:1px solid var(--line)}
.pdp2__desc{font-size:14.5px;color:var(--ink-2);line-height:1.75;max-width:76ch}
.pdp2__qsub{font-size:13px;color:var(--muted);margin-bottom:.8rem}
.grid--rel{grid-template-columns:repeat(4,1fr)}
/* Preguntas */
.qa{display:flex;gap:.7rem;max-width:640px}
.qa__input{flex:1;border:1px solid var(--line);border-radius:6px;padding:.75em 1em;font-family:var(--sans);font-size:14px;background:#fff}
.qa__input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px rgba(28,115,107,.18)}
.qa__btn{flex:none}
.qa__hints{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
.qa__hints a{font-size:12px;background:#E6F4F0;color:var(--brand);font-weight:600;border-radius:99px;padding:.4em 1em}
.qa__hints a:hover{background:#D5EBE5}
/* Opiniones */
.stars i{font-style:normal;color:#D8DEDC;font-size:15px}
.stars i.on{color:#F2A93B}
.rev{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}
.rev__summary{position:sticky;top:96px}
.rev__avg{font-size:44px;font-weight:700;color:var(--deep);display:block;line-height:1}
.rev__count{display:block;font-size:12px;color:var(--muted);margin-top:.3rem}
.rev__bars{margin-top:1rem;display:flex;flex-direction:column;gap:.35rem}
.rev__bar{display:flex;align-items:center;gap:.5rem;font-size:11.5px;color:var(--muted)}
.rev__bar i{flex:1;height:7px;background:var(--line-2);border-radius:99px;overflow:hidden}
.rev__bar b{display:block;height:100%;background:#F2A93B;border-radius:99px;transition:width .4s ease}
.rev__item{padding:.9rem 0;border-bottom:1px solid var(--line-2)}
.rev__item header{display:flex;align-items:center;gap:.6rem;font-size:13px}
.rev__item time{color:var(--muted);font-size:11.5px}
.rev__item p{font-size:13.5px;color:var(--ink-2);margin-top:.35rem;line-height:1.6}
.rev__form{margin-top:1.2rem;background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(35,65,65,.12);padding:1.2rem}
.rev__form h3{font-family:var(--display);font-size:14.5px;color:var(--deep);margin-bottom:.6rem}
.rev__stars-in{display:inline-flex;flex-direction:row-reverse;gap:.15rem;margin-bottom:.7rem}
.rev__stars-in input{display:none}
.rev__stars-in label{font-size:26px;color:#D8DEDC;cursor:pointer;transition:color .12s ease,transform .12s ease}
.rev__stars-in label:hover{transform:scale(1.15)}
.rev__stars-in input:checked ~ label,.rev__stars-in label:hover,.rev__stars-in label:hover ~ label{color:#F2A93B}
.rev__fields{display:flex;flex-direction:column;gap:.6rem}
.rev__fields input,.rev__fields textarea{border:1px solid var(--line);border-radius:6px;padding:.65em .9em;font-family:var(--sans);font-size:13.5px}
.rev__fields input:focus,.rev__fields textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px rgba(28,115,107,.18)}
.rev__fields .btn{align-self:flex-start}
@media(max-width:1080px){.pdp2{grid-template-columns:1fr 320px}.pdp2__gallery{grid-column:1/-1;position:static}}
@media(max-width:860px){
  .pdp2{grid-template-columns:1fr}
  .pdp2__gallery{flex-direction:column-reverse}
  .pdp2__thumbs{flex-direction:row;width:auto}
  .rev{grid-template-columns:1fr}.rev__summary{position:static}
  .grid--rel{grid-template-columns:1fr 1fr}
  .qa{flex-direction:column}
}

/* ===== Íconos Lucide + Home 2026 (Easy / Home Depot) ===== */
.ic{vertical-align:-3px;flex:none}
.hd__ico{display:inline-flex;align-items:center;gap:.4rem}
.hd__search button{display:grid;place-items:center}
.bb2__ship p,.bb2__protect li{display:flex;gap:.5rem;align-items:flex-start}
.bb2__ship .ic,.bb2__protect .ic{margin-top:1px;color:var(--brand)}
.bb2__free .ic{color:var(--ok)}
.buybox__wa .ic{vertical-align:-3px}
.an-side__item .ic{stroke-width:1.8}
.sec__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.1rem}
.sec__more{font-size:13px;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:.2rem}
.sec__more:hover{color:#155F58}
.sec--tint{background:#EFF4F3}
/* Hero 2 */
.hero2{background:linear-gradient(135deg,var(--deep) 0%,#1C4A44 55%,var(--brand) 100%);color:#fff;overflow:hidden}
.hero2__in{display:grid;grid-template-columns:1.3fr .8fr;gap:2.5rem;align-items:center;padding-top:3.4rem;padding-bottom:3.4rem}
.hero2__kicker{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);font-weight:700}
.hero2__copy h1{font-family:var(--display);font-size:clamp(30px,4.6vw,52px);line-height:1.08;margin:.7rem 0 1rem;font-weight:800}
.hero2__copy em{font-style:normal;color:#F2B8A2}
.hero2__sub{font-size:15.5px;color:rgba(235,245,243,.88);max-width:46ch;line-height:1.65}
.hero2__sub b{color:#fff}
.hero2__cta{display:flex;gap:.8rem;margin-top:1.6rem;flex-wrap:wrap}
.hero2__cta .btn--soft{background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(4px)}
.hero2__cta .btn--soft:hover{background:rgba(255,255,255,.22);color:#fff}
.hero2__panel{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.hero2__stat{background:rgba(255,255,255,.09);border:1px solid rgba(158,191,189,.25);border-radius:6px;padding:1.1rem;text-align:center;transition:background .2s ease,transform .2s ease}
.hero2__stat:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.hero2__stat b{display:block;font-size:22px;color:#fff}
.hero2__stat span{font-size:11.5px;color:var(--soft)}
.hero2__stat .ic{stroke-width:2.2}
/* Tiles de categoría */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}
.tile{background:#fff;border-radius:6px;box-shadow:0 1px 2px rgba(35,65,65,.14);padding:1rem;text-align:center;display:flex;flex-direction:column;gap:.15rem}
.tile:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(35,65,65,.18)}
.tile__img{display:grid;place-items:center;height:110px;background:#EFF4F3;border-radius:6px;margin-bottom:.6rem;overflow:hidden}
.tile__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.tile:hover .tile__img img{transform:scale(1.06)}
.tile__img i{color:var(--soft)}
.tile__name{font-family:var(--display);font-size:13.5px;font-weight:700;color:var(--deep)}
.tile__n{font-size:11.5px;color:var(--muted)}
.tile--all .tile__img{background:#E6F4F0}
.tile--all .tile__img i{color:var(--brand)}
/* Banners duo */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.duo__card{border-radius:6px;padding:1.7rem;color:#fff;display:flex;flex-direction:column;gap:.45rem;box-shadow:0 1px 2px rgba(35,65,65,.2)}
.duo__card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(35,65,65,.25)}
.duo__card--armado{background:linear-gradient(120deg,var(--accent) 0%,var(--accent-deep) 100%)}
.duo__card--ley{background:linear-gradient(120deg,var(--brand) 0%,var(--deep) 100%)}
.duo__card h3{font-family:var(--display);font-size:18px;font-weight:800}
.duo__card p{font-size:13.5px;color:rgba(255,255,255,.9);line-height:1.6;max-width:52ch}
.duo__card b{font-size:13px;display:inline-flex;align-items:center;gap:.3rem;margin-top:.3rem}
/* Beneficios con ícono */
.benefits div .ic{color:var(--brand);margin-bottom:.3rem}
/* Manifiesto + búsquedas populares */
.manifesto{background:var(--deep);color:#fff}
.manifesto h2{font-family:var(--display);font-size:clamp(15px,1.9vw,19px);letter-spacing:.06em;margin-bottom:.9rem}
.manifesto p{font-size:13.5px;line-height:1.8;color:rgba(225,235,233,.85);max-width:88ch}
.manifesto a{color:var(--soft);font-weight:600;text-decoration:underline}
.pops{margin-top:1.4rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.pops span{font-size:12px;color:var(--soft);margin-right:.3rem}
.pops a{font-size:12px;background:rgba(255,255,255,.08);border:1px solid rgba(158,191,189,.3);color:rgba(225,235,233,.9);border-radius:99px;padding:.35em 1em}
.pops a:hover{background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:900px){.hero2__in{grid-template-columns:1fr}.hero2__panel{grid-template-columns:repeat(4,1fr)}.duo{grid-template-columns:1fr}}
@media(max-width:600px){.hero2__panel{grid-template-columns:1fr 1fr}}
