/* PROPUESTA LOCAL, NO APLICADA. Cargar DESPUÉS del style.css actual.
   Referencia única: Paperblanks, solo principios visuales; contenido Himawari intacto.
   Hooks verificados en server.js y static/style.css. No requiere cambiar markup.
   No es un reemplazo de style.css. No agrega/oculta textos, hero ni promociones. */
:root{
  --bg:#FCFAF7;--surface:#FFFFFF;--ink:#29232D;--sub:#6B626D;--line:#E9E2E8;
  --violeta:#6B3FA0;--violeta-dark:#54307E;--violeta-ink:#452767;--violeta-soft:#F3EDF7;
  --rosa:#D66BA0;--rosa-dark:#A44575;--rosa-soft:#FBEDF4;
  --crema:#FCFAF7;--crema-line:#E9E2E8;--radius:8px;--radius-sm:6px;
}
body{background:var(--bg);color:var(--ink);line-height:1.6}
header{background:var(--surface);box-shadow:none;border-bottom:1px solid var(--line)}
.anuncio{background:var(--violeta-ink);padding:9px 16px;font-size:12px;font-weight:500;letter-spacing:.035em}
.head-main{max-width:1280px;padding:20px 28px;gap:28px}
header a.logo{flex-shrink:0}
/* El logo original no se sustituye ni se altera. */
.head-search input{border-width:1px;border-color:var(--line);border-radius:5px 0 0 5px;background:var(--bg);font-size:15px}
.head-search button{border-radius:0 5px 5px 0;background:var(--violeta);font-size:14px;font-weight:600}
header nav{gap:24px}
header nav a{font-weight:500;font-size:14px;letter-spacing:.02em}
.cart-btn{background:var(--rosa-soft);color:var(--violeta-ink);box-shadow:none}
.catnav{background:var(--surface);border-top:1px solid var(--line)}
.catnav div{max-width:1280px;padding:0 20px;gap:12px}
.catnav a{font-size:14px;font-weight:500;padding:12px 8px;border-radius:0;letter-spacing:.015em}
main{max-width:1280px;padding:32px 28px 72px}
main h1,main h2,.detalle h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;color:var(--ink);line-height:1.2}
main h1{font-size:34px}main h2{font-size:28px}
.conteo{color:var(--sub);font-size:14px;margin:0 0 24px}
.grid{gap:32px 24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.card.en-oferta{border:1px solid var(--line);border-radius:6px;background:var(--surface);box-shadow:none;animation:none;min-width:0}
.card>a{background:var(--bg)}
.card img,.tira .card img,.grid-rel .card img{height:260px;object-fit:contain;padding:22px;background:var(--bg);transform:none}
.skel-img{height:260px}
.card .body{padding:18px;gap:7px}
.card h3,.card h4{font-family:var(--font-body);font-size:15px;line-height:1.45;font-weight:500;letter-spacing:0;overflow-wrap:anywhere}
.card .precio{color:var(--violeta-ink);font-size:18px;font-weight:600}
.card .body small{font-size:12px}
.card .add-btn{margin-top:auto;min-height:46px;padding:10px 16px;font-size:14px;font-weight:600}
.btn{background:var(--violeta);border-radius:999px;box-shadow:none;font-family:var(--font-body);font-weight:600}
.card .sin-stock{font-size:12px;border-radius:4px;background:var(--bg)}
.card .etiqueta-oferta{border-radius:4px;background:var(--rosa-dark)}
.tienda-layout{gap:36px}.filtros-lat{background:transparent}.filtros-lat .fsec{padding-bottom:20px;border-bottom:1px solid var(--line)}
.filtros-lat .fsec h2{font-family:var(--font-body);letter-spacing:0;font-size:14px}
.filtros-lat select,.fprecio input,.busca-cat input{border-radius:5px;background:#fff}
.busca-cat input{border-radius:5px 0 0 5px}.busca-cat .btn{border-radius:0 5px 5px 0}
.detalle{gap:48px}.detalle img.main,#foto{object-fit:contain;background:var(--bg);border-radius:6px;border-color:var(--line);padding:24px}
.galeria img{border-radius:4px;object-fit:contain}.envio-box{background:var(--bg);border-radius:6px}
#drawer{background:var(--surface)}
.drawer-head{border-bottom:1px solid var(--line)}
.drawer-head h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:26px}
#drawer ul{gap:14px}
#drawer li.citem{grid-template-columns:68px minmax(0,1fr) auto;border-radius:8px;padding:12px;box-shadow:none;gap:10px;background:var(--surface)}
.citem-img{border-radius:5px;background:var(--bg)}.citem-img img{object-fit:contain;transform:none}
.citem-nombre{font-size:13px;font-weight:500;line-height:1.4}.citem-unit{font-size:12px}
#drawer .stepper button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;box-shadow:none}
#drawer .citem-x{min-width:44px;min-height:44px;padding:0}
#drawer .citem-total{font-size:14px}
.drawer-foot{background:var(--surface)}
footer{background:var(--violeta-ink);border-top:0}.foot{max-width:1280px;padding:40px 28px 24px}
@media(hover:hover) and (pointer:fine){
 .card:hover{box-shadow:0 7px 22px rgba(69,39,103,.08);transform:translateY(-2px)}
 .card:hover img{transform:none}.btn:hover{box-shadow:none;background:var(--violeta-dark)}
 .catnav a:hover{background:transparent;text-decoration:underline;text-underline-offset:6px}
}
:focus-visible{outline:3px solid var(--violeta);outline-offset:3px}
@media(max-width:1023px){
 .head-main{gap:18px;padding:16px 22px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
 .card img,.tira .card img,.grid-rel .card img,.skel-img{height:230px}
 header nav{gap:14px}.tienda-layout{gap:24px}
}
@media(max-width:639px){
 .anuncio{font-size:11px;line-height:1.45;padding:8px 16px}
 .head-main{gap:12px;padding:12px 16px 14px}header nav{gap:12px}header nav a{font-size:12px}
 .head-search{flex-basis:100%;order:3}.head-search input{font-size:16px}
 .catnav div{padding:0 10px;gap:4px}.catnav a{font-size:13px;padding:10px 7px}
 main{padding:24px 16px 48px}.conteo{margin-bottom:18px}
 main h1{font-size:28px}main h2{font-size:24px}
 .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .card img,.tira .card img,.grid-rel .card img,.skel-img{height:192px;padding:12px}
 .card .body{padding:12px;gap:7px}.card h3,.card h4{font-size:13px;line-height:1.45}
 .card .precio{font-size:16px}.card .body small{font-size:11px}.card .add-btn{font-size:13px;padding:10px 8px}
 .detalle{gap:24px}.detalle h1{font-size:28px}
 #drawer{border-radius:12px 12px 0 0}.drawer-body{padding:12px}
 #drawer li.citem{grid-template-columns:60px minmax(0,1fr) auto;padding:10px;gap:8px}
 .citem-img{width:60px;height:80px}#drawer .citem-total{font-size:12px}
 .foot{padding:30px 16px 24px}
}
@media(max-width:359px){.head-main{gap:8px}header nav{gap:8px}.card .precio{font-size:15px}#drawer li.citem{grid-template-columns:52px minmax(0,1fr) auto}.citem-img{width:52px}}
@media(prefers-reduced-motion:reduce){.card,.btn{animation:none;transition:none}}
