/* =========================================================
   UMBRA MONOLITH — style.css
   No hace falta editar este archivo para cambiar productos,
   precios, textos, logos ni redes sociales: todo eso vive en
   /data/config.json, /data/categorias.json y /data/productos.json
   ========================================================= */

:root{
  --bg:#08070d;
  --panel:#0d0b16;
  --panel-2:#120f1f;
  --panel-border:#3a2b63;
  --line:#241c38;
  --violet:#9b5cff;
  --violet-soft:#7c4fd4;
  --gold:#e8b04b;
  --text:#f2eef9;
  --text-dim:#a89fc2;
  --radius:14px;
  --acento-categoria:#9b5cff;
  --header-h:74px;
  --footer-h:56px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  overflow-x:hidden;
  background:var(--bg);
  background-image:radial-gradient(circle at 15% 0%, rgba(155,92,255,.10), transparent 40%),
                    radial-gradient(circle at 85% 20%, rgba(155,92,255,.08), transparent 45%);
  background-attachment:fixed;
  color:var(--text);
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  line-height:1.5;
  padding-bottom:var(--footer-h);
}
/* Capa de fondo opcional (se activa desde config.json > fondo) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background-image:var(--fondo-imagen, none);
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
  opacity:var(--fondo-opacidad, .18);
  pointer-events:none;
}

h1,h2,h3,.brand-name{font-family:'Space Grotesk', system-ui, sans-serif;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1500px;margin:0 auto;padding:0 20px;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(8,7,13,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--panel-border);
}
.site-header .container{display:flex;align-items:center;gap:16px;padding:14px 20px;}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.brand img{width:44px;height:44px;border-radius:10px;}
.brand-name{font-size:1.1rem;font-weight:700;letter-spacing:.5px;line-height:1.1;}
.brand-name small{display:block;font-size:.6rem;color:var(--text-dim);font-weight:500;letter-spacing:2px;}
.main-nav{
  display:flex;gap:20px;margin-left:auto;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.main-nav::-webkit-scrollbar{display:none;}
.main-nav a{color:var(--text-dim);font-weight:600;font-size:.92rem;transition:color .2s;white-space:nowrap;flex-shrink:0;}
.main-nav a:hover{color:var(--violet);}
.main-nav a.activo{color:var(--violet);}

/* Botón carrito (arriba a la derecha) */
.btn-carrito{
  position:relative;
  display:flex;align-items:center;gap:9px;
  background:var(--violet);
  color:#0a0714;
  border:none;
  padding:11px 18px;
  border-radius:10px;
  font-weight:700;
  font-size:.88rem;
  cursor:pointer;
  transition:background .2s;
  flex-shrink:0;
  margin-left:14px;
}
.btn-carrito:hover{background:#b483ff;}
.btn-carrito svg{width:19px;height:19px;}
.carrito-conteo{
  background:#0a0714;color:#fff;
  min-width:22px;height:22px;
  border-radius:11px;
  display:grid;place-items:center;
  font-size:.74rem;font-weight:700;
  padding:0 6px;
}

/* ---------- HERO (solo portada) ---------- */
.hero{padding:60px 0;border-bottom:1px solid var(--panel-border);overflow:hidden;}
.hero-inner{display:flex;flex-direction:column-reverse;align-items:center;text-align:center;gap:38px;}
.hero-text{max-width:600px;}
.hero-eyebrow{color:var(--violet);font-weight:700;font-size:.78rem;letter-spacing:3px;text-transform:uppercase;margin:0 0 14px;}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 16px;line-height:1.08;}
.hero h1 span{color:var(--violet);}
.hero h1 small{display:block;font-size:.55em;font-weight:500;color:var(--text-dim);margin-top:4px;}
.hero-desc{color:var(--text-dim);font-size:1.05rem;margin:0 auto 26px;}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-hero-primary,.btn-hero-outline{padding:13px 26px;border-radius:10px;font-weight:700;font-size:.92rem;transition:.2s;}
.btn-hero-primary{background:var(--violet);color:#0a0714;}
.btn-hero-primary:hover{background:#b483ff;}
.btn-hero-outline{border:1px solid var(--panel-border);color:var(--text);}
.btn-hero-outline:hover{border-color:var(--violet);color:var(--violet);}
.hero-visual{width:100%;max-width:340px;}
.hero-visual-panel{
  position:relative;border-radius:24px;
  border:1px solid var(--panel-border);
  background:radial-gradient(circle at 30% 20%, rgba(155,92,255,.28), transparent 60%), #14101f;
  padding:22px;
}
.hero-visual-panel img{width:100%;height:auto;border-radius:12px;}

@media(min-width:900px){
  .hero-inner{flex-direction:row;align-items:center;text-align:left;justify-content:space-between;gap:50px;}
  .hero-text{text-align:left;}
  .hero-desc{margin:0 0 26px;}
  .hero-btns{justify-content:flex-start;}
  .hero-visual{flex:0 0 380px;max-width:380px;}
}

/* ---------- TARJETAS DE SECCIÓN (portada) ---------- */
.secciones-portada{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:22px;
  padding:50px 0;
}
.seccion-card{
  border:1px solid var(--panel-border);
  border-radius:var(--radius);
  background:linear-gradient(160deg, rgba(155,92,255,.10), transparent 60%), var(--panel);
  padding:28px;
  transition:transform .2s, border-color .2s;
  display:flex;flex-direction:column;gap:10px;
}
.seccion-card:hover{transform:translateY(-4px);border-color:var(--violet);}
.seccion-card h3{margin:0;font-size:1.35rem;}
.seccion-card p{margin:0;color:var(--text-dim);font-size:.94rem;}
.seccion-card .conteo{margin-top:auto;padding-top:14px;color:var(--violet);font-weight:700;font-size:.85rem;}

/* ---------- LAYOUT CATÁLOGO: sidebar + grid ---------- */
.catalogo-header{padding:34px 0 6px;}
.catalogo-header-texto h1{margin:0 0 6px;font-size:clamp(1.7rem,3.5vw,2.5rem);}
.catalogo-header-texto p{margin:0;color:var(--text-dim);}

.catalogo-header{
  display:flex;
  flex-direction:column;
  gap:16px;
}
@media(min-width:900px){
  .catalogo-header{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:24px;}
  .catalogo-header-texto{flex:1;}
}

/* banner dinámico: cambia de imagen y de color de acento según el filtro activo.
   Ancho y delgado a propósito: no debe ocupar más alto que el bloque de título,
   para no empujar los filtros ni la cuadrícula de productos hacia abajo. */
.catalogo-banner{
  flex:0 0 auto;
  width:100%;
  max-width:420px;
  height:72px;
  border-radius:10px;
  overflow:hidden;
  background:#000;
  border:2px solid var(--acento-categoria);
  transition:border-color .4s ease;
}
@media(min-width:900px){
  .catalogo-banner{width:400px;height:88px;}
}
.catalogo-banner img{
  width:100%;height:100%;
  object-fit:cover;
  opacity:1;
  transition:opacity .3s ease;
}
.catalogo-banner img.sin-imagen{object-fit:contain;padding:8%;opacity:.45;}
.catalogo-banner img.cambiando{opacity:0;}

.catalogo-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  padding:22px 0 60px;
  align-items:start;
}
@media(min-width:1000px){
  .catalogo-layout{grid-template-columns:250px 1fr;}
}

/* --- Sidebar de filtros (fijo al hacer scroll) --- */
.filtros-panel{
  border:1px solid var(--panel-border);
  border-radius:var(--radius);
  background:var(--panel);
  padding:20px;
}
@media(min-width:1000px){
  .filtros-panel{
    position:sticky;
    top:calc(var(--header-h) + 16px);
    max-height:calc(100vh - var(--header-h) - var(--footer-h) - 32px);
    overflow-y:auto;
  }
}
.filtros-panel h2{
  margin:0 0 4px;font-size:.78rem;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--acento-categoria);
  transition:color .35s;
}
.filtro-grupo{margin-top:20px;}
.filtro-grupo > label{
  display:block;font-size:.72rem;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--text-dim);font-weight:700;margin-bottom:9px;
}
.filtro-lista{display:flex;flex-direction:column;gap:6px;}
.filtro-btn{
  text-align:left;
  background:transparent;
  border:1px solid var(--line);
  color:var(--text-dim);
  padding:9px 13px;
  border-radius:9px;
  font-size:.88rem;
  font-weight:600;
  cursor:pointer;
  transition:.18s;
}
.filtro-btn:hover{border-color:var(--violet-soft);color:var(--text);}
.filtro-btn.activo{background:var(--acento-categoria);border-color:var(--acento-categoria);color:#0a0714;transition:background .35s,border-color .35s;}

.filtro-select{
  width:100%;
  background:var(--panel-2);
  border:1px solid var(--line);
  color:var(--text);
  padding:10px 12px;
  border-radius:9px;
  font-size:.88rem;
  cursor:pointer;
}
.filtro-select:hover{border-color:var(--violet-soft);}

.rango-precio{display:flex;gap:8px;align-items:center;}
.rango-precio input{
  width:100%;background:var(--panel-2);border:1px solid var(--line);
  color:var(--text);padding:9px 10px;border-radius:9px;font-size:.85rem;
}
.rango-precio span{color:var(--text-dim);font-size:.8rem;}

.btn-limpiar{
  width:100%;margin-top:18px;
  background:transparent;border:1px solid var(--line);
  color:var(--text-dim);padding:10px;border-radius:9px;
  font-size:.85rem;font-weight:600;cursor:pointer;transition:.18s;
}
.btn-limpiar:hover{border-color:#e2557a;color:#e2557a;}

.filtros-toggle{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:var(--panel);border:1px solid var(--panel-border);
  color:var(--text);padding:12px;border-radius:10px;font-weight:700;
  cursor:pointer;margin-bottom:4px;
}
@media(min-width:1000px){.filtros-toggle{display:none;}}
.filtros-panel.oculto-movil{display:none;}
@media(min-width:1000px){.filtros-panel.oculto-movil{display:block;}}

/* --- Barra de resultados --- */
.resultados-barra{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;margin-bottom:18px;
  color:var(--text-dim);font-size:.88rem;
}

/* --- Grid de productos: 4-5 por fila en escritorio --- */
.grid-productos{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(215px,100%),1fr));
  gap:18px;
}

/* ---------- TARJETA DE PRODUCTO (compacta) ---------- */
.card{
  border:1px solid var(--panel-border);
  border-radius:var(--radius);
  background:var(--panel);
  padding:14px;
  display:flex;flex-direction:column;
  transition:transform .2s, border-color .2s;
  position:relative;
  cursor:pointer;
}
.card:hover{transform:translateY(-3px);border-color:var(--acento-categoria);}

.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px;min-height:22px;}
.card-logo-tcg{height:20px;width:auto;opacity:.9;}

.badge-flag{
  font-size:.6rem;font-weight:700;letter-spacing:1.2px;
  padding:5px 10px;border-radius:6px;
  background:var(--violet);color:#0a0714;white-space:nowrap;
}
.badge-flag.disponible{background:#1f7a4d;color:#fff;}
.badge-flag.agotado{background:#8c2f3d;color:#fff;}
.badge-flag.esencial{background:var(--gold);color:#2a1f05;}

.card-imagen{
  aspect-ratio:1/1;
  border-radius:10px;
  overflow:hidden;
  background:#000;
  margin-bottom:12px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);
  position:relative;
}
.card-imagen img.foto{width:100%;height:100%;object-fit:contain;padding:10px;}
.card-imagen img.foto.sin-imagen{opacity:.5;padding:20px;}
.card-imagen .marca-agua{
  position:absolute;right:8px;bottom:8px;
  width:22%;height:auto;min-width:22px;max-width:38px;padding:0;
  opacity:.5;pointer-events:none;
  filter:drop-shadow(0 0 3px rgba(0,0,0,.6));
}
.card-imagen img.foto.sin-imagen ~ .marca-agua{display:none;}

.card h3{
  margin:0 0 8px;font-size:.98rem;line-height:1.28;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.55em;
}
.card-precio{
  font-family:'Space Grotesk',sans-serif;
  font-size:1.32rem;font-weight:700;margin-bottom:2px;
}
.card-precio small{font-size:.62rem;color:var(--text-dim);font-weight:500;margin-left:4px;letter-spacing:1px;}
.card-subcat{font-size:.72rem;color:var(--text-dim);margin-bottom:12px;}

.btn-agregar{
  margin-top:auto;
  width:100%;
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--violet);color:#0a0714;
  border:none;border-radius:10px;
  padding:11px;font-weight:700;font-size:.87rem;
  cursor:pointer;transition:background .2s;
}
.btn-agregar:hover{background:#b483ff;}
.btn-agregar svg{width:17px;height:17px;}
.btn-agregar.agotado{background:#2a2438;color:var(--text-dim);cursor:not-allowed;}
.btn-agregar.en-carrito{background:#1f7a4d;color:#fff;}

.vacio{
  grid-column:1/-1;text-align:center;color:var(--text-dim);
  padding:70px 20px;border:1px dashed var(--line);border-radius:var(--radius);
}

/* ---------- MODAL DE PRODUCTO (vista detallada) ---------- */
body.modal-abierto{overflow:hidden;}
.modal-fondo{
  position:fixed;inset:0;z-index:150;
  background:rgba(4,3,8,.75);
  backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:.22s;
}
.modal-fondo.abierto{opacity:1;visibility:visible;}

.modal-producto{
  position:fixed;top:50%;left:50%;z-index:160;
  width:min(760px,92vw);
  max-height:88vh;
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:var(--radius);
  opacity:0;visibility:hidden;
  transform:translate(-50%,-50%) scale(.96);
  transition:opacity .22s, transform .22s;
}
.modal-producto.abierto{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}

.modal-scroll{max-height:88vh;overflow-y:auto;padding:26px;}

.modal-cerrar{
  position:absolute;top:14px;right:14px;
  width:34px;height:34px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:9px;
  color:var(--text-dim);font-size:1.4rem;line-height:1;cursor:pointer;
  z-index:5;
}
.modal-cerrar:hover{color:var(--text);border-color:var(--violet);}

.modal-contenido{display:flex;flex-direction:column;gap:22px;padding-right:38px;}
@media(min-width:720px){
  .modal-contenido{flex-direction:row;align-items:flex-start;}
}

.modal-imagen{
  aspect-ratio:1/1;
  border-radius:12px;overflow:hidden;background:#000;
  border:1px solid var(--line);position:relative;
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
@media(min-width:720px){.modal-imagen{width:280px;}}
.modal-imagen img.foto{width:100%;height:100%;object-fit:contain;padding:18px;}
.modal-imagen img.foto.sin-imagen{opacity:.5;padding:34px;}
.modal-imagen .marca-agua{
  position:absolute;right:12px;bottom:12px;
  width:15%;min-width:26px;max-width:50px;height:auto;padding:0;
  opacity:.5;pointer-events:none;
  filter:drop-shadow(0 0 3px rgba(0,0,0,.6));
}
.modal-imagen img.foto.sin-imagen ~ .marca-agua{display:none;}

.modal-info{flex:1;min-width:0;}
.modal-info h2{margin:14px 0 8px;font-size:1.5rem;line-height:1.2;}
.modal-info .card-precio{font-size:1.75rem;}
.modal-info .card-subcat{margin-bottom:6px;}

.modal-caracteristicas{list-style:none;margin:18px 0 22px;padding:0;display:flex;flex-direction:column;gap:13px;}
.modal-caracteristicas li{display:flex;gap:11px;align-items:flex-start;color:var(--text-dim);font-size:.92rem;line-height:1.45;}
.modal-caracteristicas li img{width:20px;height:20px;flex-shrink:0;margin-top:1px;}

.modal-info .btn-agregar{max-width:320px;}

/* ---------- PAGINACIÓN ---------- */
.paginacion{
  display:flex;justify-content:center;align-items:center;gap:7px;
  margin-top:34px;flex-wrap:wrap;
}
.pag-btn{
  min-width:40px;height:40px;padding:0 12px;
  background:var(--panel);border:1px solid var(--line);
  color:var(--text-dim);border-radius:9px;
  font-weight:700;font-size:.87rem;cursor:pointer;transition:.18s;
}
.pag-btn:hover:not(:disabled){border-color:var(--violet);color:var(--text);}
.pag-btn.activo{background:var(--violet);border-color:var(--violet);color:#0a0714;}
.pag-btn:disabled{opacity:.35;cursor:not-allowed;}

/* ---------- CARRITO (panel lateral) ---------- */
.carrito-fondo{
  position:fixed;inset:0;z-index:90;
  background:rgba(4,3,8,.7);
  backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:.25s;
}
.carrito-fondo.abierto{opacity:1;visibility:visible;}

.carrito-panel{
  position:fixed;top:0;right:0;bottom:0;z-index:100;
  width:min(420px,100%);
  background:var(--panel);
  border-left:1px solid var(--panel-border);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .28s ease;
}
.carrito-panel.abierto{transform:translateX(0);}

.carrito-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px;border-bottom:1px solid var(--line);
}
.carrito-head h2{margin:0;font-size:1.15rem;}
.btn-cerrar{
  background:transparent;border:none;color:var(--text-dim);
  font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px;
}
.btn-cerrar:hover{color:var(--text);}

.carrito-items{flex:1;overflow-y:auto;padding:14px 20px;}
.carrito-item{
  display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);
}
.carrito-item img{
  width:58px;height:58px;object-fit:contain;
  background:#000;border-radius:8px;border:1px solid var(--line);
  padding:4px;flex-shrink:0;
}
.carrito-item .info{flex:1;min-width:0;}
.carrito-item .info h4{margin:0 0 3px;font-size:.86rem;line-height:1.3;font-family:'IBM Plex Sans',sans-serif;font-weight:600;}
.carrito-item .info .precio-u{font-size:.78rem;color:var(--text-dim);}
.carrito-item .info .subtotal{font-size:.9rem;font-weight:700;margin-top:4px;}
.cant-control{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap;}
.cant-control button{
  width:26px;height:26px;border-radius:7px;
  background:var(--panel-2);border:1px solid var(--line);
  color:var(--text);font-weight:700;cursor:pointer;line-height:1;
}
.cant-control button:hover{border-color:var(--violet);}
.cant-control span{min-width:22px;text-align:center;font-weight:700;font-size:.88rem;}
.btn-quitar{
  background:transparent;border:none;color:#e2557a;
  font-size:.76rem;cursor:pointer;padding:0 2px;margin-left:auto;
  flex-shrink:0;
}
.btn-quitar:hover{text-decoration:underline;}

.carrito-vacio{text-align:center;color:var(--text-dim);padding:60px 20px;font-size:.92rem;}

.carrito-pie{padding:20px;border-top:1px solid var(--line);background:var(--panel-2);}
.carrito-total{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:14px;
}
.carrito-total span:first-child{color:var(--text-dim);font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;}
.carrito-total span:last-child{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;}
.btn-pedido{
  width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--violet);color:#0a0714;border:none;
  padding:15px;border-radius:11px;font-weight:700;font-size:.98rem;
  cursor:pointer;transition:background .2s;
}
.btn-pedido:hover{background:#b483ff;}
.btn-pedido:disabled{background:#2a2438;color:var(--text-dim);cursor:not-allowed;}
.btn-pedido img{width:20px;height:20px;filter:brightness(0);}
.btn-pedido:disabled img{filter:brightness(0) invert(60%);opacity:.5;}
.carrito-nota{font-size:.75rem;color:var(--text-dim);text-align:center;margin:10px 0 0;}

/* ---------- AVISO FLOTANTE ---------- */
.aviso{
  position:fixed;
  bottom:calc(var(--footer-h) + 16px);
  left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--violet);color:#0a0714;
  padding:13px 24px;border-radius:11px;
  font-weight:700;font-size:.9rem;z-index:120;
  opacity:0;visibility:hidden;transition:.25s;
  box-shadow:0 8px 30px rgba(155,92,255,.4);
}
.aviso.visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

/* ---------- SECCIÓN "POR QUÉ COMPRAR" ---------- */
.seccion{padding:50px 0;scroll-margin-top:calc(var(--header-h) + 10px);}
.porque{
  border:1px solid var(--panel-border);border-radius:var(--radius);
  background:var(--panel);padding:32px;
}
.porque h2{margin:0 0 24px;font-size:1.5rem;}
.porque-item{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start;}
.porque-item:last-child{margin-bottom:0;}
.porque-item h4{margin:0 0 4px;font-size:.9rem;letter-spacing:1px;}
.porque-item p{margin:0;color:var(--text-dim);font-size:.9rem;}

/* ---------- BARRA INFERIOR FIJA ---------- */
.barra-inferior{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  height:var(--footer-h);
  background:rgba(8,7,13,.96);
  backdrop-filter:blur(10px);
  border-top:1px solid var(--panel-border);
  display:flex;align-items:center;
}
.barra-inferior .container{
  display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
}
.barra-info{
  display:flex;gap:18px;align-items:center;
  color:var(--text-dim);font-size:.8rem;
  overflow-x:auto;scrollbar-width:none;white-space:nowrap;
}
.barra-info::-webkit-scrollbar{display:none;}
.barra-info a:hover{color:var(--violet);}
.barra-social{display:flex;gap:9px;flex-shrink:0;}
.barra-social a{
  width:32px;height:32px;border-radius:8px;
  border:1px solid var(--line);
  display:grid;place-items:center;
  color:var(--text-dim);transition:.2s;
}
.barra-social a:hover{border-color:var(--violet);color:var(--violet);}
.barra-social svg{width:15px;height:15px;fill:currentColor;}
@media(max-width:700px){
  .barra-info span:not(:first-child){display:none;}
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:640px){
  .site-header .container{padding:12px 16px;gap:10px;flex-wrap:wrap;}
  .brand img{width:38px;height:38px;}
  .brand-name{font-size:.95rem;}
  .btn-carrito{padding:9px 13px;font-size:.8rem;margin-left:auto;}
  .btn-carrito .txt-carrito{display:none;}
  .main-nav{order:3;width:100%;gap:16px;margin-left:0;padding-bottom:2px;}
  .main-nav a{font-size:.82rem;}
  .grid-productos{grid-template-columns:repeat(auto-fill,minmax(min(155px,100%),1fr));gap:12px;}
  .card{padding:10px;}
  .card h3{font-size:.87rem;}
  .card-precio{font-size:1.1rem;}
}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  html{scroll-behavior:auto;}
}
