:root{
  --rojo:#e4022b;
  --rojo-oscuro:#c40024;
  --rojo-claro:#ffe9ec;
  --verde:#007d3f;
  --azul:#2968c8;
  --tinta:#1a1a1a;
  --gris:#565d66;
  --gris-2:#6b7280;
  --gris-linea:#e6e6e6;
  --fondo:#ededed;
  --panel:#ffffff;
  --radio:8px;
  --sombra:0 2px 8px rgba(0,0,0,.10);
  --sombra-hover:0 6px 20px rgba(0,0,0,.16);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:Roboto,-apple-system,"Segoe UI",Arial,sans-serif;
  background:var(--fondo);color:var(--tinta);font-size:14px;line-height:1.45;
  /* Footer pegado abajo aunque el contenido sea corto. Los overlays (mini-cart,
     sheets) son position:fixed, así que este flex no los afecta. */
  min-height:100vh;display:flex;flex-direction:column;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit}
.container{max-width:1280px;margin:0 auto;padding:0 20px}

/* ===== Accesibilidad ===== */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:8px;top:-56px;z-index:400;background:#fff;color:var(--tinta);
  border:1px solid var(--gris-linea);border-radius:6px;padding:9px 16px;font-weight:600;
  box-shadow:var(--sombra);transition:top .15s ease}
.skip-link:focus{top:8px}
/* Foco visible por defecto (los componentes con su propio :focus-visible lo pisan). */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--rojo);outline-offset:2px;border-radius:2px}
.pdp-stage:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}

/* ===== Header (rojo) ===== */
.fv-header{position:sticky;top:0;z-index:50}
.fv-top{background:var(--rojo);color:#fff}
.fv-top .container{display:flex;align-items:center;gap:24px;padding:14px 20px}
.fv-logo{display:flex;align-items:center;flex-shrink:0}
.fv-logo-full{height:44px;width:auto;display:block}   /* web: lockup completo — ajustá el height a gusto */
.fv-logo-mark{display:none}                            /* el símbolo solo aparece en mobile */
.fv-search{flex:1;position:relative;display:flex;background:#fff;border-radius:999px;max-width:640px}
.fv-search input{flex:1;border:0;outline:0;padding:11px 20px;font-size:14px;color:#333;border-radius:999px 0 0 999px}
.fv-search button{border:0;background:#fff;color:#8a8f98;padding:0 18px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:0 999px 999px 0}
.fv-search button:hover{color:#5f636b}

/* Dropdown de sugerencias */
.search-suggest{
  position:absolute;top:calc(100% + 8px);left:0;right:0;
  background:#fff;border:1px solid var(--gris-linea);border-radius:12px;
  box-shadow:0 14px 38px rgba(0,0,0,.20);overflow:hidden;z-index:60;
  max-height:min(74vh,560px);overflow-y:auto;color:var(--tinta)
}
.search-suggest .ss-row{display:flex;align-items:center;gap:12px;padding:10px 16px}
.search-suggest a.ss-row:hover,.search-suggest .ss-row.is-active{background:#f5f5f5}
.ss-sug .ss-mag{display:flex;color:var(--gris-2);flex-shrink:0}
.ss-sug-label{font-size:14px;color:#555}
.ss-sug-label strong{color:var(--tinta);font-weight:700}
.ss-sec{padding:12px 16px 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--gris-2);border-top:1px solid var(--gris-linea)}
.ss-item img,.ss-item .ss-noimg{width:46px;height:46px;object-fit:contain;border:1px solid var(--gris-linea);border-radius:8px;background:#fff;flex-shrink:0}
.ss-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.ss-name{font-size:13px;line-height:1.35;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-name strong{font-weight:700;color:var(--tinta)}
.ss-priceline{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ss-price{font-size:14px;font-weight:700}
.ss-was{font-size:11px;color:var(--gris-2);text-decoration:line-through}
.ss-off{font-size:11px;font-weight:700;color:#fff;background:var(--verde);padding:1px 6px;border-radius:4px}
.ss-all{font-size:13px;color:var(--azul);background:#fafafa;border-top:1px solid var(--gris-linea);font-weight:600}
.ss-empty{padding:16px;font-size:13px;color:var(--gris)}
.fv-actions{display:flex;align-items:center;gap:22px;margin-left:auto}
.fv-actions a{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.15;white-space:nowrap}
.fv-actions .ico{font-size:20px}
.fv-actions small{display:block;font-size:11px;color:#fff}
.fv-cart{position:relative;display:block;color:#fff}
.fv-cart-ico{width:24px;height:24px;display:block}
.fv-help{color:#fff}
.fv-help-ico{width:19px;height:19px;display:block}
.fv-cart .badge{position:absolute;top:-8px;left:13px;background:#ffd100;color:#1a1a1a;font-weight:700;
  font-size:11px;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px}

/* Mini-carrito (hover) */
.fv-cart-wrap{position:relative}
.mini-cart{
  position:absolute;top:calc(100% + 14px);right:0;width:340px;
  background:#fff;color:var(--tinta);border:1px solid var(--gris-linea);
  border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.22);
  z-index:60;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .14s,transform .14s,visibility .14s;
}
.mini-cart::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.fv-cart-wrap:hover .mini-cart,
.fv-cart-wrap:focus-within .mini-cart{opacity:1;visibility:visible;transform:translateY(0)}
.mini-cart-head{display:flex;justify-content:space-between;align-items:baseline;padding:13px 16px;border-bottom:1px solid var(--gris-linea)}
.mini-cart-head a{color:var(--azul);font-weight:700;font-size:14px}
.mini-cart-head span{font-size:12px;color:var(--gris)}
.mini-cart-items{max-height:320px;overflow-y:auto}
.mini-cart-item{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid #f0f0f0}
.mci-thumb{width:52px;height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--gris-linea);border-radius:8px;overflow:hidden;padding:4px}
.mci-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mci-name{font-size:12.5px;line-height:1.35;color:#333;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mci-price{display:flex;align-items:baseline;gap:7px}
.mci-price strong{font-size:14px}
.mci-off{font-size:11px;color:var(--verde);font-weight:700}
.mci-qty{font-size:11px;color:var(--gris)}
.mci-del{background:none;border:0;cursor:pointer;font-size:15px;opacity:.6;align-self:flex-start;padding:2px}
.mci-del:hover{opacity:1}
.mini-cart-foot{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.mcf-total{display:flex;justify-content:space-between;font-size:15px;margin-bottom:2px}
.mini-cart-bar{display:none}

/* ===== Sub-nav (blanca) + mega menú ===== */
.fv-sub{background:#fff;border-bottom:1px solid var(--gris-linea);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.fv-sub .container{display:flex;align-items:stretch;gap:6px}
.fv-sub a.promo{display:flex;align-items:center;padding:0 14px;font-size:13px;color:#333}
.fv-sub a.promo:hover{color:var(--rojo)}
.fv-sub a.promo.destacada{color:var(--rojo);font-weight:700}

.fv-catmenu{position:relative}
.fv-catbtn{display:flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;
  padding:14px 18px;font-size:14px;font-weight:700;color:var(--rojo)}
.fv-catbtn .bars{display:inline-flex;flex-direction:column;gap:3px}
.fv-catbtn .bars i{width:18px;height:2px;background:var(--rojo);border-radius:2px}
.fv-catmenu:hover .fv-catpanel,
.fv-catmenu.open .fv-catpanel{display:grid}

.fv-catpanel{
  display:none;position:absolute;top:100%;left:0;
  grid-template-columns:280px 1fr;min-width:900px;max-width:1040px;
  background:#fff;border:1px solid var(--gris-linea);border-top:3px solid var(--rojo);
  border-radius:0 0 10px 10px;box-shadow:var(--sombra-hover);overflow:hidden;
}
.fv-roots{list-style:none;margin:0;padding:8px 0;background:#fafafa;border-right:1px solid var(--gris-linea)}
.fv-roots li>a{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:11px 20px;font-size:13.5px;color:#333}
.fv-roots li.active>a,.fv-roots li>a:hover{background:#fff;color:var(--rojo);font-weight:600;box-shadow:inset 3px 0 0 var(--rojo)}
.fv-roots li>a .chev{color:var(--gris-2)}

.fv-subs{position:relative;padding:22px 26px}
.fv-subwrap{display:none}
.fv-subwrap.active{display:block}
.fv-subwrap h4{margin:0 0 14px;font-size:15px}
.fv-subwrap h4 a{color:var(--rojo)}
.fv-subgrid{columns:3;column-gap:26px}
.fv-subgrid a{display:block;padding:7px 0;font-size:13px;color:#444;break-inside:avoid}
.fv-subgrid a:hover{color:var(--rojo);text-decoration:underline}

/* ===== Layout general ===== */
main{padding:22px 0 60px;flex:1 0 auto}
.section-title{font-size:20px;font-weight:700;margin:28px 0 14px}
.breadcrumb{font-size:12px;color:var(--gris);margin-bottom:14px}
.breadcrumb a:hover{color:var(--rojo)}
.flash{background:#e7f7ec;border:1px solid var(--verde);color:#0a7a3d;padding:11px 15px;border-radius:var(--radio);margin-bottom:16px}

/* Hero */
.hero{background:linear-gradient(120deg,var(--rojo),#ff5a5f);color:#fff;border-radius:12px;padding:38px;margin-bottom:8px}
.hero h1{margin:0 0 8px;font-size:30px}
.hero p{margin:0;opacity:.95}

/* Chips de subcategorías */
.subchips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 20px}
.subchips a{background:#fff;border:1px solid var(--gris-linea);border-radius:999px;padding:7px 14px;font-size:13px}
.subchips a:hover,.subchips a.active{background:var(--rojo);color:#fff;border-color:var(--rojo)}

/* ===== Grilla + cards ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{position:relative;background:var(--panel);border:1px solid var(--gris-linea);border-radius:var(--radio);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:var(--sombra-hover)}
.card:hover .name{color:var(--rojo)}
/* Toda la card es clickable: el link del título se estira sobre la card entera.
   Cualquier <a>/<button> extra que se agregue adentro debe llevar position:relative + z-index:2. */
.card .name::after{content:"";position:absolute;inset:0;z-index:1}
.card .body :where(a:not(.name),button){position:relative;z-index:2}
.card .thumb{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:18px;background:#fff}
.card .thumb img{width:100%;height:100%;object-fit:contain}
.card .body{padding:12px 16px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.badge-off{align-self:flex-start;background:var(--verde);color:#fff;font-weight:700;font-size:11px;padding:2px 7px;border-radius:4px}
.card .brand{font-size:11px;color:var(--gris-2);text-transform:uppercase;letter-spacing:.4px}
.card .name{font-size:13.5px;line-height:1.35;color:#333;min-height:37px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:2px}
.price-old{font-size:12px;color:var(--gris-2);text-decoration:line-through}
.price-off{font-size:12px;color:var(--verde);font-weight:700}
.price{font-size:21px;font-weight:700}
.installments{font-size:12px;color:var(--verde)}
.ship-free{font-size:12px;color:var(--verde);font-weight:700}
.no-stock{font-size:12px;color:var(--rojo);font-weight:700}

/* ===== Listado con filtros ===== */
.layout-cols{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start}
.filters{background:#fff;border:1px solid var(--gris-linea);border-radius:var(--radio);padding:18px}
.filters h3{margin:0 0 12px;font-size:14px}
.filters label{display:block;font-size:13px;margin:7px 0}
.filters input[type=number]{width:100%;padding:8px;border:1px solid var(--gris-linea);border-radius:6px}
.filters .row{display:flex;gap:8px}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px;flex-wrap:wrap}
.toolbar select{padding:9px;border:1px solid var(--gris-linea);border-radius:6px;background:#fff}

/* ===== Facetas ===== */
.filters-title{font-size:15px;margin:0 0 4px}
.facet{border-top:1px solid var(--gris-linea);padding:14px 0}
.facet h3{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:#444}
.facet-list{display:flex;flex-direction:column;gap:2px;max-height:230px;overflow:auto}
.facet-opt{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 4px;border-radius:6px;cursor:pointer}
.facet-opt:hover{background:#f6f6f6}
.facet-opt input{margin:0;accent-color:var(--rojo)}
.facet-opt span{flex:1;color:#333}
.facet-opt em{font-style:normal;color:var(--gris-2);font-size:12px}
.facet-sub{display:block;font-size:12px;color:var(--gris);margin:10px 0 6px}
.price-range .row{display:flex;gap:8px}

.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}
.active-filters .af-label{font-size:13px;color:var(--gris);font-weight:600}
.chip-remove{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--rojo);
  color:var(--rojo);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}
.chip-remove span{font-size:11px}
.chip-remove:hover{background:var(--rojo-claro)}
.chip-clear{align-self:center;font-size:12px;color:var(--gris);text-decoration:underline}

/* ===== Etiquetas de producto ===== */
.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:2px}
.tag{background:#334155;color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;
  letter-spacing:.3px;padding:2px 7px;border-radius:4px;line-height:1.5}

.btn{display:inline-block;background:var(--rojo);color:#fff;border:0;border-radius:999px;
  padding:12px 22px;font-size:14px;font-weight:700;cursor:pointer;text-align:center;transition:filter .15s}
.btn:hover{filter:brightness(.93)}
.btn-block{width:100%}
.btn-lg{padding:15px 26px;font-size:16px}
.btn-ghost{background:#fff;border:1px solid var(--rojo);color:var(--rojo)}
.btn-dark{background:#fff;border:1px solid var(--gris-linea);color:#333}

/* ===== Ficha de producto ===== */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:38px;background:#fff;border:1px solid var(--gris-linea);border-radius:12px;padding:30px}
.pdp .gallery-main{aspect-ratio:1;border:1px solid var(--gris-linea);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:22px}
.pdp .gallery-main img{width:100%;height:100%;object-fit:contain}

/* ===== Galería de la ficha ===== */
/* Escritorio: tira vertical de miniaturas + imagen grande; se cambia al pasar el mouse. */
.pdp-gallery{position:relative;display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:start}
.pdp-gallery--single{display:block}
.pdp-thumbs{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto}
.pdp-thumb{width:66px;height:66px;flex:0 0 auto;border:1px solid var(--gris-linea);border-radius:8px;
  background:#fff;padding:5px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pdp-thumb img{width:100%;height:100%;object-fit:contain}
.pdp-thumb:hover,.pdp-thumb.is-active{border-color:var(--rojo)}
.pdp-thumb:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}
.pdp-stage{position:relative;aspect-ratio:1;border:1px solid var(--gris-linea);border-radius:10px;overflow:hidden}
.pdp-slide{margin:0;position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:24px}
.pdp-slide.is-active{display:flex}
.pdp-slide img{width:100%;height:100%;object-fit:contain}
.pdp-counter{display:none}
.pdp-dots{display:none}
.pdp h1{font-size:23px;margin:6px 0 2px;font-weight:700}
.pdp .price{font-size:34px;margin:14px 0 4px}
.pdp .desc{margin-top:20px;font-size:14px;line-height:1.7;color:#444;white-space:pre-line}
.qty{display:flex;align-items:center;gap:12px;margin:18px 0}
.qty input{width:66px;padding:9px;border:1px solid var(--gris-linea);border-radius:6px;text-align:center}
.pdp-buybox{display:flex;flex-direction:column;gap:10px;max-width:340px}
.pdp-buy{position:relative}

/* ===== Favoritos (corazón) ===== */
.fav-form{display:contents}
.fav-btn{border:1px solid var(--gris-linea);background:rgba(255,255,255,.94);color:#8a8a8a;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;
  border-radius:50%;transition:color .15s,box-shadow .15s,transform .1s;-webkit-tap-highlight-color:transparent}
.fav-btn svg{width:19px;height:19px;display:block}
.fav-btn:hover{color:var(--rojo);box-shadow:0 2px 10px rgba(0,0,0,.14)}
.fav-btn:active{transform:scale(.9)}
.fav-btn.is-on{color:var(--rojo)}
.fav-btn.is-on svg{fill:currentColor}
.fav-btn:focus-visible{outline:2px solid var(--rojo);outline-offset:2px}
.fav-btn--card{position:absolute;top:8px;right:8px;z-index:3;width:34px;height:34px}
.fav-btn--pdp{position:absolute;top:0;right:0;width:42px;height:42px}
.fav-btn--pdp svg{width:22px;height:22px}
.pdp-buy>h1{padding-right:52px}

/* Accesos de cuenta en la barra blanca, alineados a la derecha */
.fv-sub-account{display:flex;margin-left:auto}
.fv-sub-account a.promo{gap:6px}
.fv-sub-account .fav-count{background:var(--rojo);color:#fff;font-weight:700;font-size:11px;line-height:1;
  min-width:17px;height:17px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
.fv-sub-account .fav-count[hidden]{display:none}

/* Opciones elegibles del producto (color, talle, medida…) */
.pdp-opt{margin:14px 0 0}
.pdp-opt-label{display:block;font-size:13px;font-weight:600;color:#444;margin-bottom:7px}
.opt-chips{display:flex;flex-wrap:wrap;gap:8px}
.opt-chip{position:relative;cursor:pointer}
.opt-chip input{position:absolute;opacity:0;width:0;height:0}
.opt-chip span{display:inline-block;padding:8px 14px;border:1px solid var(--gris-linea);border-radius:999px;
  font-size:13px;background:#fff;color:#333;transition:border-color .12s,background .12s}
.opt-chip:hover span{border-color:var(--rojo)}
.opt-chip input:checked+span{border-color:var(--rojo);background:var(--rojo-claro);color:var(--rojo-oscuro);font-weight:600}
.opt-chip input:focus-visible+span{outline:2px solid var(--rojo);outline-offset:2px}

/* ===== Carrito / checkout ===== */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}
.cart-table{width:100%;background:#fff;border:1px solid var(--gris-linea);border-radius:var(--radio);border-collapse:collapse}
.cart-table th,.cart-table td{padding:13px 15px;text-align:left;border-bottom:1px solid var(--gris-linea);vertical-align:middle}
.cart-table th{background:#fafafa;font-size:11px;text-transform:uppercase;color:var(--gris)}
.cart-table .thumb{width:56px;height:56px;display:flex;align-items:center;justify-content:center}
.summary{background:#fff;border:1px solid var(--gris-linea);border-radius:var(--radio);padding:20px}
.summary h2{margin:0 0 10px;font-size:17px;font-weight:700}
.summary .line{display:flex;justify-content:space-between;margin:9px 0}
.summary .total{font-size:20px;font-weight:700;border-top:1px solid var(--gris-linea);padding-top:12px;margin-top:12px}
.field{margin-bottom:12px}
.field label{display:block;font-size:13px;margin-bottom:4px;color:#444}
.field input,.field textarea{width:100%;padding:11px;border:1px solid var(--gris-linea);border-radius:6px;font-size:14px;font-family:inherit}
.field label>input:not([type=checkbox]):not([type=radio]),.field label>select,.field label>textarea{display:block;margin-top:4px}
.field .err{color:var(--rojo);font-size:12px;margin-top:3px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.empty{background:#fff;border:1px solid var(--gris-linea);border-radius:var(--radio);padding:48px;text-align:center;color:var(--gris)}

/* Paginación (Bootstrap 5 markup) */
.pagination{display:flex;gap:6px;list-style:none;padding:0;margin:28px 0 0;flex-wrap:wrap}
.page-item .page-link{display:block;padding:9px 13px;border:1px solid var(--gris-linea);border-radius:6px;background:#fff;color:var(--rojo)}
.page-item.active .page-link{background:var(--rojo);color:#fff;border-color:var(--rojo)}
.page-item.disabled .page-link{color:#bbb}

/* ===== Footer ===== */
.fv-footer{background:#fff;border-top:3px solid var(--rojo);margin-top:40px;flex-shrink:0}
.fv-footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:34px 20px}
.fv-footer .cols h2{margin:0 0 12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.fv-footer a{display:block;font-size:13px;color:var(--gris);padding:5px 0}
.fv-footer a:hover{color:var(--rojo)}
.fv-footer .legal{background:#f7f7f7;border-top:1px solid var(--gris-linea);padding:16px 20px;font-size:12px;color:var(--gris);text-align:center}

/* ===== Ficha extendida: secciones, specs, carruseles ===== */
.pdp-section{margin-top:34px;padding-top:26px;border-top:1px solid var(--gris-linea)}
.pdp-section>h2{font-size:19px;font-weight:700;margin:0 0 16px}

.spec-wrap{overflow-x:auto}
.spec-table{width:100%;border-collapse:collapse;font-size:14px}
.spec-table td{padding:10px 14px;border-bottom:1px solid var(--gris-linea);vertical-align:top}
.spec-table tbody:last-child tr:last-child td{border-bottom:0}
.spec-table td.k{color:var(--gris);width:36%;min-width:150px}
.spec-table td.v{color:#222}
.spec-table tr:nth-child(even) td{background:#fafafa}
.spec-group th{
  text-align:left;padding:12px 14px 8px;font-size:12px;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;color:var(--rojo);background:#fff
}
.spec-table tr.spec-group:not(:first-child) th{border-top:1px solid var(--gris-linea);margin-top:6px}

.pdp-desc{max-width:72ch;line-height:1.75;color:#3a3a3a;font-size:14.5px}
.pdp-desc p{margin:0 0 14px}

.carousel-head{margin-bottom:14px}
.carousel-head h2{font-size:19px;font-weight:700;margin:0}

.carousel-wrap{position:relative}
.carousel{
  display:flex;gap:16px;overflow-x:auto;padding:4px 2px 8px;
  scroll-snap-type:x proximity;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.carousel::-webkit-scrollbar{display:none}
.carousel>.card{flex:0 0 210px;scroll-snap-align:start}

.carousel-arrow{
  position:absolute;top:35%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--gris-linea);background:#fff;color:#333;
  font-size:24px;line-height:1;cursor:pointer;z-index:4;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 14px rgba(0,0,0,.20);
  transition:box-shadow .15s,color .15s;
}
.carousel-arrow:hover{color:var(--rojo);box-shadow:0 6px 20px rgba(0,0,0,.28)}
.carousel-arrow--prev{left:2px}
.carousel-arrow--next{right:2px}
.carousel-arrow[hidden]{display:none}

@media(max-width:640px){
  .carousel-arrow{display:none}
  .carousel>.card{flex-basis:70vw;max-width:260px}
  .pdp-section>h2,.carousel-head h2{font-size:17px}
}
@media(prefers-reduced-motion:reduce){ .carousel{scroll-behavior:auto} }
@media(max-width:560px){
  .spec-table td.k{width:42%;min-width:0}
  .spec-table td,.spec-group th{padding-left:10px;padding-right:10px}
}

@media(max-width:1000px){
  .fv-catpanel{min-width:0;width:92vw;grid-template-columns:1fr}
  .fv-roots{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--gris-linea)}
  .fv-roots li>a{white-space:nowrap}
  .fv-subgrid{columns:2}
  .layout-cols{grid-template-columns:1fr}
  .pdp{grid-template-columns:1fr}
  .cart-layout{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .fv-footer .cols{grid-template-columns:1fr 1fr}

  /* Mobile: carrusel de imágenes que se desliza con el dedo + puntos + contador. */
  .pdp-gallery{grid-template-columns:1fr}
  .pdp-thumbs{display:none}
  .pdp-stage{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .pdp-stage::-webkit-scrollbar{display:none}
  .pdp-slide{position:static;display:flex;flex:0 0 100%;scroll-snap-align:center;padding:16px}
  .pdp-counter{display:block;position:absolute;right:10px;top:10px;z-index:2;
    background:rgba(0,0,0,.62);color:#fff;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px}
  .pdp-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:12px}
  .pdp-dot{width:7px;height:7px;border-radius:50%;background:var(--gris-linea);transition:background .15s,transform .15s}
  .pdp-dot.is-active{background:var(--rojo);transform:scale(1.25)}
}
@media(max-width:1000px) and (prefers-reduced-motion:reduce){ .pdp-stage{scroll-behavior:auto} }
@media(max-width:640px){
  .fv-top .container{flex-wrap:wrap;gap:12px}
  .fv-search{order:3;flex-basis:100%;max-width:none}
  .fv-actions{gap:16px}
  .fv-actions small{display:none}
  .fv-subgrid{columns:1}
  .fv-footer .cols{grid-template-columns:1fr}
  .fv-sub a.promo{display:none}
  .fv-catbtn{white-space:nowrap;padding:12px 4px 12px 0}
  .pdp{padding:18px}
  .pdp h1{font-size:19px}
  .pdp .price{font-size:26px}
  .hero{padding:24px}
  .hero h1{font-size:22px}
  .section-title{font-size:18px}
  .cart-table th,.cart-table td{padding:9px 10px;font-size:13px}
}
@media(max-width:520px){
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .card .thumb{padding:10px}
  .card .name{font-size:12.5px;min-height:34px}
  .card .price{font-size:17px}
  .container{padding:0 14px}
}

/* ===== Mi cuenta ===== */
.acc-crumb{font-size:13px;color:var(--gris);margin:18px 0 4px}
.acc-crumb a:hover{color:var(--rojo)}
.acc-title{font-size:30px;font-weight:800;margin:0 0 22px}

.acc-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;max-width:940px}
.acc-hub .hub-card{display:block;background:var(--panel);border:1px solid var(--gris-linea);border-radius:12px;padding:22px 24px;transition:box-shadow .15s,border-color .15s}
.acc-hub .hub-card:hover{box-shadow:var(--sombra-hover);border-color:#d0d0d0}
.acc-hub .hub-ico{width:52px;height:52px;border-radius:50%;background:#f3f0fb;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:12px}
.acc-hub .hub-card h3{margin:0 0 6px;font-size:18px}
.acc-hub .hub-card p{margin:0 0 12px;color:var(--gris);font-size:13.5px}
.acc-hub .hub-card .hub-link{color:var(--azul);font-weight:600;font-size:13.5px}

.acc-layout{display:grid;grid-template-columns:210px 1fr;gap:32px;align-items:start;max-width:1000px}
.acc-side{display:flex;flex-direction:column;gap:2px}
.acc-side a,.acc-side button{text-align:left;background:none;border:0;cursor:pointer;font-size:15px;color:var(--tinta);padding:12px 4px;border-radius:6px}
.acc-side a:hover{color:var(--rojo)}
.acc-side a.on{font-weight:800}
.acc-panel{background:var(--panel);border:1px solid var(--gris-linea);border-radius:10px;padding:26px 28px}

.acc-read{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0 0 22px}
.acc-read .k{font-size:13px;color:var(--gris);font-weight:700}
.acc-read .v{font-size:15px;margin-top:2px}
.acc-read .full{grid-column:1/-1}

.addr-card{border:1px solid var(--gris-linea);border-radius:10px;padding:16px 18px;margin-bottom:12px}
.addr-card.is-default{border-color:var(--verde)}
.addr-card .tag{display:inline-block;font-size:11px;font-weight:700;color:var(--verde);border:1px solid var(--verde);border-radius:999px;padding:1px 8px;margin-left:8px}
.addr-card .acts{display:flex;gap:14px;margin-top:10px;font-size:13px}
.addr-card .acts button{background:none;border:0;color:var(--azul);cursor:pointer;padding:0;font-size:13px}
.addr-card .acts button.danger{color:var(--rojo)}

.buy-card{background:var(--panel);border:1px solid var(--gris-linea);border-radius:12px;padding:18px 20px;margin:0 auto 16px;max-width:620px}
.buy-card .buy-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--gris-linea);padding-bottom:12px;margin-bottom:12px}
.buy-card .buy-total{font-weight:800}
.buy-card .buy-code{color:var(--gris);font-size:13px;margin-top:2px}
.buy-card .buy-date{color:var(--gris);font-size:13px;white-space:nowrap}
.buy-item{display:flex;gap:14px;align-items:flex-start;padding:6px 0}
.buy-item .buy-thumb{width:66px;height:66px;flex-shrink:0;border:1px solid var(--gris-linea);border-radius:8px;display:flex;align-items:center;justify-content:center;padding:5px;background:#fff}
.buy-item .buy-name{font-weight:700;margin:4px 0 2px}
.buy-item .buy-qty{color:var(--gris);font-size:13px}
.buy-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;background:#eef;color:#3730a3}
.buy-badge.entregado{background:#dcfce7;color:#166534}
.buy-badge.cancelado{background:#fee2e2;color:#991b1b}
.buy-badge.enviado{background:#e0e7ff;color:#3730a3}
.buy-badge.preparando{background:#fae8ff;color:#86198f}
.buy-badge.pagado{background:#dbeafe;color:#1e40af}
.buy-badge.pendiente{background:#fef9c3;color:#854d0e}
.buy-card .buy-acts{display:flex;gap:16px;align-items:center;border-top:1px solid var(--gris-linea);padding-top:12px;margin-top:6px}
.buy-card .buy-acts .link{color:var(--azul);font-weight:600}

.help-hero{text-align:center;max-width:620px;margin:10px auto 26px}
.help-hero h1{font-size:26px;margin:0 0 16px}
.help-search{width:100%;padding:13px 16px;border:1px solid var(--gris-linea);border-radius:10px;font-size:15px;font-family:inherit}
.help-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;max-width:940px;margin:0 auto}
.help-cats details{background:var(--panel);border:1px solid var(--gris-linea);border-radius:10px;padding:14px 18px}
.help-cats summary{cursor:pointer;font-weight:700;list-style:none}
.help-cats summary::-webkit-details-marker{display:none}
.help-cats .cat-desc{color:var(--gris);font-size:13px;margin-top:3px}
.help-cats .cat-body{margin-top:10px;font-size:13.5px;color:#333;line-height:1.6}

@media (max-width:820px){
  .acc-layout{grid-template-columns:1fr;gap:16px}
  .acc-side{flex-direction:row;flex-wrap:wrap;gap:8px}
  .acc-read{grid-template-columns:1fr}
}

.check{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:14px}
.check input{width:auto;margin:0}

/* ===== Banner superior configurable ===== */
.top-banner{margin-bottom:12px}
.top-banner img{border-radius:12px}
.top-banner-text{background:linear-gradient(120deg,var(--tinta),#333);color:#fff;border-radius:12px;padding:16px 24px;font-weight:700;font-size:16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.top-banner-text span{font-weight:400;font-size:13px;opacity:.85}
.hero.hero--img{background-size:cover;background-position:center}

/* ===== Carrito: celdas con clases (reemplaza estilos inline) ===== */
.cart-table .ct-prod{display:flex;align-items:center;gap:10px}
.cart-table .ct-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ct-opts{font-size:12px;color:var(--gris)}
.mci-opts{font-size:11px;color:var(--gris)}
.cart-table .ct-thumb{width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cart-table .ct-qty{display:flex;gap:6px}
.cart-table .ct-qty input{width:64px;padding:6px;border:1px solid var(--gris-linea);border-radius:4px}
.cart-table td[data-th]::before{display:none}

/* ===== Mobile: header en una fila + drawers + carrito apilado ===== */
.fv-burger{display:none}
.mnav{display:none}
.fv-drawer-back{display:none}
/* La cabecera del drawer (botón ✕ / volver) es solo mobile: en desktop no debe
   entrar como ítem del grid del mega-menú, o descoloca .fv-roots / .fv-subs. */
.fv-drawer-head{display:none}

@media(max-width:900px){
  /* evita el scroll horizontal que generan los drawers fuera de pantalla */
  html,body{overflow-x:hidden}

  /* --- barra superior ---
     Contrato que garantiza que el buscador nunca pise al carrito:
       · una sola fila, sin wrap
       · hamburguesa, logo y carrito = flex:0 0 auto (nunca crecen ni se achican)
       · buscador = flex:1 1 0 + min-width:0 (único elástico; parte de 0 y solo
         ocupa el espacio sobrante; se achica antes de empujar a nadie)
       · gap fijo entre elementos + overflow-x:clip como red de seguridad */
  .fv-top .container{display:flex;flex-wrap:nowrap;align-items:center;gap:10px;padding:9px 12px;overflow:visible}
  .fv-burger{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#fff;cursor:pointer;padding:0}
  .fv-burger svg{width:26px;height:26px}
  .fv-logo{flex:0 0 auto;margin-right:2px}
  .fv-logo-full{display:none}
  .fv-logo-mark{display:block;height:30px;width:auto}
  .fv-search{order:0;flex:1 1 0;min-width:0;max-width:none;margin:0}
  .fv-search input{min-width:0;padding:9px 14px;font-size:15px}
  .fv-search button{flex:0 0 auto;padding:0 12px}
  .fv-actions{flex:0 0 auto;margin-left:0;gap:0}
  .fv-actions>a,.fv-actions>form{display:none}
  .fv-actions .fv-cart-wrap{display:block;flex:0 0 auto}
  .fv-actions .fv-cart{padding:0 2px}
  .fv-actions .fv-cart-ico{width:26px;height:26px}

  /* --- barra de subcategorías reemplazada por el drawer --- */
  .fv-sub{border:0;box-shadow:none}
  .fv-sub .container{padding:0}
  .fv-catbtn{display:none}
  .fv-sub a.promo{display:none}

  /* --- backdrops compartidos --- */
  .fv-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;border:0}

  /* --- drawer de categorías (izquierda) --- */
  .fv-catmenu:hover .fv-catpanel{display:none}
  .fv-catmenu.open .fv-catpanel{display:block}
  .fv-catpanel{
    position:fixed;top:0;left:0;bottom:0;height:100%;
    width:86vw;max-width:360px;min-width:0;grid-template-columns:1fr;
    border:0;border-radius:0;box-shadow:0 0 40px rgba(0,0,0,.4);
    overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:210;
  }
  .fv-drawer-head{display:flex;align-items:center;padding:8px 8px 0}
  .fv-drawer-close{background:none;border:0;font-size:20px;color:#333;cursor:pointer;padding:8px;line-height:1;margin-left:auto}
  .fv-drawer-back{background:none;border:0;color:#333;cursor:pointer;padding:8px;line-height:1;display:inline-flex}
  .fv-drawer-back[hidden]{display:none}

  /* el mega-menú de escritorio no se usa en mobile: se reemplaza por .mnav */
  .fv-catpanel .fv-roots,
  .fv-catpanel .fv-subs{display:none}

  .mnav{display:block}
  .mnav-panel{display:none}
  .mnav-panel.active{display:block}
  .mnav-phead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px 8px}
  .mnav-phead strong{font-size:16px}
  .mnav-phead a{color:var(--azul);font-weight:600;font-size:14px;flex-shrink:0}
  .mnav-list{list-style:none;margin:0;padding:2px 0}
  .mnav-list a,.mnav-list .mnav-into{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;
    padding:15px 18px;font-size:15px;color:#333;background:none;border:0;text-align:left;cursor:pointer;
    border-bottom:1px solid #f1f1f1;font-family:inherit}
  .mnav-list .mnav-into:active{background:#fafafa}
  .mnav-list .chev{color:var(--gris-2);font-size:17px}
  .mnav-list .mnav-account{font-weight:700;border-bottom:1px solid var(--gris-linea)}
  .mnav-sep{height:8px;background:#f3f3f3;margin:4px 0}
  .mnav-sep + li a,.mnav-list .mnav-sep ~ li a{color:#333}

  /* --- mini-carrito como drawer (derecha) --- */
  .mini-cart{
    display:none;position:fixed;top:0;right:0;bottom:0;left:auto;height:100%;
    width:88vw;max-width:380px;min-width:0;margin:0;border-radius:0;
    opacity:1;visibility:visible;overflow-y:auto;
    box-shadow:0 0 40px rgba(0,0,0,.4);z-index:210;
  }
  .mini-cart::before{display:none}
  .fv-cart-wrap:hover .mini-cart,
  .fv-cart-wrap:focus-within .mini-cart{display:none}
  .fv-cart-wrap.open .mini-cart{display:block}
  .mini-cart-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--gris-linea)}
  .mini-cart-bar a{color:var(--azul);font-weight:700}
  .mini-cart-close{background:none;border:0;font-size:20px;color:#333;cursor:pointer;padding:4px;line-height:1}
  .mini-cart-head{display:none}
  .mini-cart-items{max-height:none}
  .mini-cart-item{padding:14px 16px}
  .mci-name{font-size:14px;-webkit-line-clamp:3}
  .mini-cart-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--gris-linea)}

  /* --- página del carrito: filas apiladas --- */
  .cart-table thead{display:none}
  .cart-table,.cart-table tbody{display:block;border:0}
  .cart-table tr{display:block;background:#fff;border:1px solid var(--gris-linea);border-radius:var(--radio);padding:14px;margin-bottom:12px}
  .cart-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border:0}
  .cart-table .ct-prod{align-items:flex-start;margin-bottom:8px}
  .cart-table .ct-name{font-size:14px}
  .cart-table td[data-th]:not(.ct-prod)::before{content:attr(data-th);font-size:12px;color:var(--gris);font-weight:700;text-transform:uppercase}
  .cart-table .ct-qty{flex:0 0 auto}
  .cart-table .ct-remove{padding-top:10px}
  .cart-table .ct-remove .btn{width:100%}
}

/* ===== Filtros: acordeón + hoja en mobile ===== */
.filters-backdrop,.filters-sheet-head,.filters-sheet-foot,.mfilter{display:none}
.facet summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px}
.facet summary::-webkit-details-marker{display:none}
.facet summary h3{flex:1;margin:0}
.facet summary::after{content:"";flex-shrink:0;width:8px;height:8px;border:solid var(--gris-2);border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-3px;display:none}
.facet[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.facet .facet-cur{display:none}
.facet-sort{display:none}
.switch{display:flex;align-items:center;gap:8px;font-size:13px;padding:5px 4px;cursor:pointer}
.switch span{flex:1;color:#333}
.switch i{display:none}
.switch input{margin:0;accent-color:var(--rojo)}

@media(max-width:900px){
  .toolbar-sort{display:none}

  .mfilter{display:flex;flex-direction:column;gap:8px;padding:12px 0;margin-bottom:8px;border-bottom:1px solid var(--gris-linea)}
  .mfilter-btn{align-self:center;display:inline-flex;align-items:center;gap:8px;background:none;border:0;
    font-weight:800;font-size:15px;letter-spacing:.5px;color:var(--rojo-oscuro);cursor:pointer}
  .mfilter-count{text-align:center;background:#f3f3f3;color:var(--gris);padding:9px;border-radius:8px;font-size:13px}

  .filters-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:220}
  .filters-backdrop[hidden]{display:none}
  .filters{
    position:fixed;left:0;right:0;top:0;bottom:0;z-index:230;
    border:0;border-radius:0;padding:0;margin:0;
    display:flex;flex-direction:column;overflow-y:auto;
    transform:translateY(100%);transition:transform .25s ease;
  }
  .filters.open{transform:translateY(0)}
  /* Se oculta a la vista pero se deja en el árbol de accesibilidad para no romper
     el orden de encabezados (el sheet ya muestra su propio título "Filtros"). */
  .filters-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .filters-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;
    border-bottom:1px solid var(--gris-linea);position:sticky;top:0;background:#fff;z-index:2}
  .filters-sheet-head strong{font-size:18px}
  .filters-x{background:none;border:0;font-size:20px;color:#333;cursor:pointer;padding:4px;line-height:1}

  .filters .facet,.filters .facet-toggles{padding:14px 18px;border-top:0;border-bottom:1px solid var(--gris-linea)}
  .facet summary::after{display:block}
  .facet summary h3{font-size:14px;text-transform:none;letter-spacing:0}
  .facet .facet-cur{display:block;font-size:12px;color:var(--gris);margin-top:2px}
  .facet summary{flex-wrap:wrap}
  .facet-sort{display:block}
  .facet-list{max-height:none}

  .filters-sheet-foot{display:flex;flex-direction:column;gap:10px;padding:14px 18px;margin-top:auto;
    position:sticky;bottom:0;background:#fff;border-top:1px solid var(--gris-linea)}

  .facet-toggles .switch{justify-content:space-between;padding:11px 0;font-size:14px}
  .switch input{position:absolute;opacity:0;pointer-events:none}
  .switch i{display:block;width:42px;height:24px;border-radius:999px;background:#ccc;position:relative;transition:.15s;flex-shrink:0}
  .switch i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s}
  .switch input:checked + i{background:var(--rojo)}
  .switch input:checked + i::after{transform:translateX(18px)}
}

/* ===== Cupones de descuento ===== */
.flash.flash-error{background:#fdeaea;border-color:var(--rojo);color:#b3001b}
.coupon-box{margin-top:12px;padding-top:12px;border-top:1px dashed var(--gris-linea)}
.coupon-form{display:flex;gap:8px}
.coupon-form input{flex:1 1 auto;min-width:0;padding:9px 10px;border:1px solid var(--gris-linea);border-radius:var(--radio);font-size:14px}
.coupon-form .btn{flex:0 0 auto}
.coupon-applied{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e7f7ec;border:1px solid var(--verde);color:#0a7a3d;padding:9px 12px;border-radius:var(--radio);font-size:13px}
.coupon-applied form{margin:0}
.linkish{background:none;border:0;color:#0a7a3d;text-decoration:underline;cursor:pointer;font-size:13px;padding:0}

/* ===== Vista lista / cuadrícula del catálogo ===== */
.view-toggle{display:inline-flex;gap:2px;background:#fff;border:1px solid var(--gris-linea);border-radius:8px;padding:3px;flex:0 0 auto}
.view-toggle button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;border:0;background:none;color:var(--gris-2);cursor:pointer;border-radius:6px}
.view-toggle button:hover{color:#333}
.view-toggle button.active{background:var(--rojo);color:#fff}

.grid.as-list{display:flex;flex-direction:column;gap:12px}
.grid.as-list .card{flex-direction:row;align-items:stretch}
.grid.as-list .card .thumb{flex:0 0 190px;width:190px;aspect-ratio:auto;border-right:1px solid var(--gris-linea)}
.grid.as-list .card .body{flex:1;padding:16px 20px;gap:5px}
.grid.as-list .card .name{min-height:0;font-size:15px;-webkit-line-clamp:3}
.grid.as-list .card .price{font-size:22px}

@media(max-width:700px){
  .grid.as-list .card .thumb{flex-basis:116px;width:116px;padding:10px}
  .grid.as-list .card .body{padding:12px 14px}
  .grid.as-list .card .name{font-size:13.5px}
  .grid.as-list .card .price{font-size:18px}
}

/* Descripción del producto: solo en vista lista */
.card-desc{display:none}
.grid.as-list .card-desc{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:13px;color:var(--gris);line-height:1.5;margin:3px 0 5px
}
@media(max-width:700px){ .grid.as-list .card-desc{-webkit-line-clamp:3;font-size:12.5px} }

/* ===== Página de ayuda ===== */
.help-page{max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--gris-linea);
  border-radius:var(--radio);padding:26px 30px}
.help-page h1{margin:0 0 4px;font-size:24px}
.help-lead{color:var(--gris);margin:0 0 6px}
.help-page section{padding:18px 0;border-top:1px solid var(--gris-linea)}
.help-page section:first-of-type{border-top:0}
.help-page h2{font-size:17px;margin:0 0 8px;scroll-margin-top:90px}
.help-page p,.help-page ol{margin:0 0 8px}
.help-page ol{padding-left:20px}
.help-page li{margin:3px 0}
@media(max-width:700px){ .help-page{padding:20px 18px} }

/* Categoría destacada en la portada: borde rojo + sticker "NUEVO" */
.card--cat-badge{outline:2px solid var(--rojo);outline-offset:-1px}
.cat-badge{
  position:absolute;top:8px;right:8px;z-index:3;pointer-events:none;
  width:56px;height:56px;padding:6px;
  display:grid;place-items:center;
  background:var(--rojo);color:#fff;
  font-weight:800;font-size:10px;line-height:1.05;letter-spacing:.3px;
  text-transform:uppercase;text-align:center;word-break:break-word;
  transform:rotate(-8deg);
  clip-path:polygon(50% 0%,61% 12%,76% 6%,78% 22%,94% 24%,87% 39%,100% 50%,87% 61%,94% 76%,78% 78%,76% 94%,61% 88%,50% 100%,39% 88%,24% 94%,22% 78%,6% 76%,13% 61%,0% 50%,13% 39%,6% 24%,22% 22%,24% 6%,39% 12%);
}

/* Producto "lote" (palets/liquidación): aviso de contenido variable */
.lote-box{
  margin-top:14px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;
  border-radius:var(--radio);padding:11px 14px;font-size:13px;
}
.lote-box strong{display:block;margin-bottom:2px;font-size:14px}
.lote-box p{margin:0}
.lote-hint{
  display:inline-block;font-size:11px;font-weight:700;color:#9a3412;
  background:#fff7ed;border:1px solid #fdba74;border-radius:4px;padding:1px 6px;margin-top:2px;
}

/* Escala de grados de «Palets» (categoría de liquidación) */
.grade-info{
  background:#fff;border:1px solid var(--gris-linea);border-radius:var(--radio);
  padding:16px 18px;margin-bottom:16px;font-size:13px;
}
.grade-info h2{font-size:15px;margin:0 0 10px}
.grade-info table{width:100%;border-collapse:collapse}
.grade-info td{padding:5px 8px 5px 0;vertical-align:top;border-top:1px solid var(--gris-linea)}
.grade-info tr:first-child td{border-top:0}
.grade-info .grade-tag{
  display:inline-block;min-width:20px;text-align:center;color:#fff;font-weight:800;
  border-radius:4px;padding:2px 7px;font-size:12px;
}
