/* Ocultar panel bÃƒÂºsqueda por defecto (solo se muestra en mobile con clase .open) */
  .busqueda-overlay { display: none !important; }
  .busqueda-overlay.open { display: flex !important; }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ BADGE DESCUENTO Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
  .badge-descuento {
    position:absolute; top:10px; left:10px; z-index:5;
    background:#ef4444; color:#fff; font-size:11px; font-weight:800;
    padding:3px 8px; border-radius:20px; letter-spacing:.3px;
    box-shadow:0 2px 8px rgba(0,0,0,.4);
    pointer-events:none;
  }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ BARRA DE STOCK Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
  .stock-bar-wrap {
    display:flex; align-items:center; gap:8px;
    margin-top:6px;
  }
  .stock-bar {
    flex:1; height:4px; background:rgba(255,255,255,.1); border-radius:4px; overflow:hidden;
  }
  .stock-bar-fill {
    height:100%; border-radius:4px; transition:width .5s;
  }
  .stock-bar-fill.high  { background:#22c55e; }
  .stock-bar-fill.mid   { background:#f59e0b; }
  .stock-bar-fill.low   { background:#ef4444; }
  .stock-bar-label {
    font-size:10px; color:var(--muted); flex-shrink:0;
  }
  @media (max-width:800px) {
    .stock-bar { display:none; }
  }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ CHIPS VARIANTE DESKTOP Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
  .variantes-list {
    display:flex; flex-wrap:wrap; gap:8px; margin-top:6px;
  }
  .var-chip-desktop {
    display:flex; flex-direction:column; align-items:center;
    gap:4px; cursor:pointer; border-radius:10px;
    border:2px solid rgba(255,255,255,.12);
    padding:6px; width:72px; background:rgba(255,255,255,.04);
    transition:border-color .15s, background .15s;
  }
  .var-chip-desktop:hover { border-color:rgba(201,162,39,.5); background:rgba(201,162,39,.06); }
  .var-chip-desktop.selected { border-color:var(--gold); background:rgba(201,162,39,.12); }
  .var-chip-desktop .vcd-img {
    width:48px; height:48px; border-radius:7px; object-fit:cover;
    background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center;
    font-size:20px; overflow:hidden; flex-shrink:0;
  }
  .var-chip-desktop .vcd-img img { width:100%; height:100%; object-fit:cover; }
  .var-chip-desktop .vcd-name {
    font-size:10px; color:var(--text); text-align:center;
    line-height:1.2; max-width:64px; overflow:hidden;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ LIGHTBOX Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
  #lightbox {
    display:none; position:fixed; inset:0; z-index:9999;
    background:rgba(0,0,0,.92); backdrop-filter:blur(6px);
    align-items:center; justify-content:center; flex-direction:column;
    gap:14px;
  }
  #lightbox.open { display:flex; }
  #lb-img-wrap img {
    max-width:90vw; max-height:80vh; object-fit:contain;
    border-radius:10px; box-shadow:0 8px 40px rgba(0,0,0,.6);
  }
  .lb-close {
    position:absolute; top:16px; right:20px;
    background:rgba(255,255,255,.1); border:none; color:#fff;
    font-size:26px; line-height:1; width:40px; height:40px;
    border-radius:50%; cursor:pointer; display:flex;
    align-items:center; justify-content:center;
    transition:background .15s;
  }
  .lb-close:hover { background:rgba(255,255,255,.22); }
  .lb-nav {
    position:absolute; top:50%; transform:translateY(-50%);
    background:rgba(255,255,255,.1); border:none; color:#fff;
    width:44px; height:44px; border-radius:50%; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:background .15s; font-size:20px;
  }
  .lb-nav:hover { background:rgba(201,162,39,.4); }
  .lb-prev { left:14px; }
  .lb-next { right:14px; }
  .lb-counter { color:rgba(255,255,255,.5); font-size:13px; }
  .prod-foto-main { cursor:zoom-in; }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ GRID VIEW Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
  #btn-grid-toggle {
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.6); border-radius:8px; padding:6px 8px;
    cursor:pointer; display:flex; align-items:center; gap:5px;
    font-size:12px; font-weight:600; transition:all .15s;
    flex-shrink:0;
  }
  #btn-grid-toggle:hover, #btn-grid-toggle.active {
    border-color:var(--gold); color:var(--gold); background:rgba(201,162,39,.08);
  }
  /* BotÃƒÂ³n contacto en header desktop */
  #btn-header-contacto {
    display: none;
  }
  #btn-header-contacto:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,162,39,.08); }
  #btn-install-app {
    display:flex; align-items:center; gap:6px;
    background:var(--gold); border:1px solid rgba(232,193,78,.55);
    color:#050505; border-radius:8px; padding:6px 11px;
    cursor:pointer; font-size:12px; font-weight:800; transition:all .15s;
    flex-shrink:0; white-space:nowrap;
    box-shadow:0 4px 16px rgba(201,162,39,.18);
  }
  #btn-install-app:hover { background:var(--gold2); transform:translateY(-1px); }
  #btn-install-app.hidden { display:none !important; }
  /* Ocultar fab flotante en desktop */
  @media (min-width: 801px) {
    .tienda-fab { display:none !important; }
    /* Header: 3 columnas logo|buscar|acciones */
    .site-header { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; padding:0 20px; }
    .header-brand { display:flex; align-items:center; gap:10px; }
    .header-hamburger { display:flex !important; }
    .header-search { flex:none; width:380px; max-width:none; margin:0; }
    .header-actions { margin-left:0; justify-content:flex-end; }
    /* Ocultar lupa en desktop: el buscador ya estÃƒÂ¡ visible */
    .header-search-btn { display:none !important; }
  }
  @media (max-width: 800px) {
#btn-header-contacto { display:none; }
    .header-brand { display:contents; }
    #btn-grid-toggle { display:none !important; }
    /* En mobile nunca usar modo grilla */
    #feed-wrap.grid-mode {
      display:flex !important;
      flex-direction:column !important;
      grid-template-columns:unset !important;
    }
    /* Sidebar filtros: fullscreen en mobile */
    .sidebar-filtros {
      top:0 !important; bottom:0 !important;
      z-index:200 !important;
      padding-bottom:0 !important;
    }
    .sb-header {
      position:sticky; top:0; z-index:2;
      background:var(--dark2);
      border-bottom:1px solid rgba(255,255,255,.08);
      padding:12px 14px;
    }
    .sb-search-bar {
      display:flex; align-items:center; gap:8px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.12);
      border-radius:10px;
      padding:8px 12px;
      width:100%;
    }
    .sb-search-bar svg { flex-shrink:0; color:var(--muted); }
    .sb-search-bar input {
      flex:1; background:none; border:none; outline:none;
      color:var(--text); font-size:15px;
    }
    .sb-search-bar input::placeholder { color:var(--muted); }
    .sb-search-clear {
      background:none; border:none; color:var(--muted);
      cursor:pointer; padding:0; display:flex; align-items:center;
    }
    .sb-close-x { display:none !important; }
    /* Ã¢â€â‚¬Ã¢â€â‚¬ Panel BÃƒÂºsqueda Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
    .busqueda-overlay {
      position:fixed; inset:0; z-index:1100;
      background:rgba(0,0,0,.65);
      display:none; align-items:flex-start; justify-content:center;
    }
    .busqueda-overlay.open { display:flex; }
    .busqueda-panel {
      width:100%; background:var(--dark2);
      border-radius:0 0 18px 18px;
      min-height:0; max-height:min(78vh,580px);
      display:flex; flex-direction:column;
      animation:busqSlide .22s cubic-bezier(.4,0,.2,1);
      box-shadow:0 18px 46px rgba(0,0,0,.42);
    }
    @keyframes busqSlide {
      from { transform:translateY(-100%); opacity:0; }
      to   { transform:translateY(0);     opacity:1; }
    }
    .busqueda-header {
      display:flex; align-items:center; gap:10px;
      padding:14px 16px;
      border-bottom:1px solid rgba(255,255,255,.07);
      background:var(--dark2);
    }
    .busqueda-back {
      background:none; border:none; color:var(--text);
      cursor:pointer; padding:0; display:flex; align-items:center; justify-content:center;
      flex:0 0 44px; width:44px; height:44px;
    }
    .busqueda-input-wrap {
      flex:1; display:flex; align-items:center; gap:8px;
      background:rgba(255,255,255,.08); border-radius:22px; padding:9px 14px;
    }
    .busqueda-input-wrap svg { flex-shrink:0; color:var(--muted); }
    .busqueda-input-wrap input {
      flex:1; background:none; border:none; color:var(--text);
      min-width:0; font-size:15px; font-family:inherit; outline:none;
    }
    .busqueda-input-wrap input::placeholder { color:var(--muted); }
    .busqueda-clear-btn {
      background:none; border:none; color:var(--muted);
      cursor:pointer; padding:0; line-height:1;
      display:flex; align-items:center; justify-content:center;
      flex:0 0 44px; width:44px; height:44px;
      margin:-9px -12px -9px 0;
      visibility:hidden; opacity:0; pointer-events:none;
    }
    .busqueda-clear-btn.is-visible {
      visibility:visible; opacity:1; pointer-events:auto;
    }
    .busqueda-body { flex:0 1 auto; overflow-y:auto; padding:12px 16px 18px; }
    .busqueda-sec-header {
      display:flex; justify-content:space-between; align-items:center;
      margin-bottom:10px; margin-top:16px;
    }
    .busqueda-sec-header:first-child { margin-top:0; }
    .busqueda-sec-label {
      font-size:11px; font-weight:800; color:var(--muted); letter-spacing:.06em;
    }
    .busqueda-sec-btn {
      background:none; border:none; color:var(--gold);
      cursor:pointer; font-size:12px; font-weight:700; font-family:inherit;
    }
    .busqueda-hist-item {
      display:flex; align-items:center; gap:10px;
      min-height:42px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05);
      cursor:pointer; transition:background .1s;
    }
    .busqueda-hist-item:last-child { border-bottom:none; }
    .busqueda-hist-icon { color:var(--muted); flex-shrink:0; }
    .busqueda-hist-texto { flex:1; font-size:14px; }
    .busqueda-hist-del {
      background:none; border:none; color:var(--muted);
      cursor:pointer; font-size:18px; padding:2px 4px;
      line-height:1; transition:color .15s;
    }
    .busqueda-hist-del:hover { color:#ef4444; }
    .busqueda-chips { display:flex; flex-wrap:wrap; gap:8px; }
    .busqueda-chip {
      padding:7px 14px; border-radius:20px;
      background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.22);
      color:var(--gold2); font-size:13px; font-weight:700;
      cursor:pointer; transition:background .15s; font-family:inherit;
    }
    .busqueda-chip:hover { background:rgba(201,162,39,.22); }
    .busqueda-resultados-total { color:var(--muted); font-size:11px; }
    .busqueda-categorias-list,.busqueda-marcas-list { display:grid; gap:4px; }
    .busqueda-categoria,.busqueda-marca {
      display:grid; grid-template-columns:36px minmax(0,1fr) auto;
      width:100%; min-width:0; min-height:48px; padding:6px 8px;
      align-items:center; gap:10px; color:var(--text);
      background:transparent; border:0; border-radius:7px;
      cursor:pointer; font-family:inherit; text-align:left;
    }
    .busqueda-categoria:hover,.busqueda-categoria:focus-visible,
    .busqueda-marca:hover,.busqueda-marca:focus-visible { background:rgba(255,255,255,.07); outline:none; }
    .busqueda-categoria-icon,.busqueda-marca-icon {
      display:grid; width:36px; height:36px; place-items:center;
      color:var(--gold2); background:rgba(201,162,39,.12); border-radius:7px;
    }
    .busqueda-marca-icon { color:#60a5fa; background:rgba(96,165,250,.12); }
    .busqueda-categoria-info,.busqueda-marca-info { display:flex; min-width:0; flex-direction:column; gap:2px; }
    .busqueda-categoria-info strong,.busqueda-marca-info strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
    .busqueda-categoria-info small,.busqueda-categoria-count,.busqueda-marca-count { color:var(--muted); font-size:11px; }
    .busqueda-categoria-count,.busqueda-marca-count { white-space:nowrap; }
    .busqueda-resultados-list { display:grid; gap:4px; }
    .busqueda-resultado {
      display:grid;
      width:100%;
      min-width:0;
      padding:7px;
      grid-template-columns:48px minmax(0,1fr) auto;
      align-items:center;
      gap:10px;
      color:var(--text);
      background:transparent;
      border:0;
      border-radius:7px;
      cursor:pointer;
      font-family:inherit;
      text-align:left;
    }
    .busqueda-resultado:hover,.busqueda-resultado:focus-visible { background:rgba(255,255,255,.07); outline:none; }
    .busqueda-resultado-img {
      display:grid;
      width:48px;
      height:48px;
      place-items:center;
      overflow:hidden;
      background:rgba(255,255,255,.06);
      border-radius:6px;
    }
    .busqueda-resultado-img img { width:100%; height:100%; object-fit:cover; }
    .busqueda-resultado-info { display:flex; min-width:0; flex-direction:column; gap:3px; }
    .busqueda-resultado-info strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
    .busqueda-resultado-info small { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
    .busqueda-resultado-precio { color:var(--gold2); font-size:12px; font-weight:800; white-space:nowrap; }
    .busqueda-vacio {
      text-align:center; color:var(--muted); padding:32px 0;
      font-size:14px;
    }
    /* Reemplaza sb-seguir-btn Ã¢â‚¬â€ ocultar si quedara alguno residual */
    .sb-seguir-btn {
      display:flex !important;
      position:sticky !important;
      bottom:0 !important;
      left:0 !important; right:0 !important;
      border-radius:0 !important;
      margin:0 !important;
      margin-top:auto !important;
      padding:16px 20px !important;
      z-index:3;
      box-shadow:0 -6px 20px rgba(0,0,0,.45);
      border-top:1px solid rgba(201,162,39,.25) !important;
      font-size:16px !important;
      letter-spacing:.3px;
    }
    /* Ocultar barra footer sidebar si quedara */
    .sb-footer-bar { display:none !important; }
  }
  /* Feed en modo grilla */
  #feed-wrap.grid-mode {
    display:grid !important;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));
    grid-auto-rows:430px;
    gap:16px; padding:16px; align-items:stretch;
    overflow-y:auto; height:calc(100dvh - var(--header-h)); scroll-snap-type:none;
  }
  #feed-wrap.grid-mode .prod-card {
    height:100% !important; scroll-snap-align:none;
    border-radius:14px; overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    flex-direction:column; min-height:0; padding:0;
    gap:0; background:var(--dark2);
  }
  #feed-wrap.grid-mode .prod-fotos {
    width:100% !important; max-width:100% !important;
    height:48% !important; flex-shrink:0;
    border-radius:0; padding:0;
  }
  #feed-wrap.grid-mode .prod-foto-main {
    width:100% !important; height:100% !important;
    object-fit:cover !important;
  }
  #feed-wrap.grid-mode .prod-info {
    padding:10px 12px; flex:1; display:flex; flex-direction:column; gap:4px;
  }
  #feed-wrap.grid-mode .prod-nombre {
    font-size:13px !important; font-weight:700;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    display:block; line-height:1.4em;
  }
  #feed-wrap.grid-mode .precio-label { display:none !important; }
  #feed-wrap.grid-mode .prod-desc { display:none; }
  #feed-wrap.grid-mode .prod-breadcrumb { display:none; }
  #feed-wrap.grid-mode .variantes-label,
  #feed-wrap.grid-mode .variantes-list,
  #feed-wrap.grid-mode .prod-vars-row { display:none; }
  #feed-wrap.grid-mode .precios-wrap .modo-tabs { display:none; }
  #feed-wrap.grid-mode .precio-label { display:none !important; }
  #feed-wrap.grid-mode .precio-minorista { font-size:20px !important; }
  /* Iconos inline junto al precio (solo grilla) */
  .grid-inline-btns { display:none; }
  .price-row-wrap { display:contents; } /* neutro fuera de grilla */
  #feed-wrap.grid-mode .price-row-wrap {
    display:flex; align-items:center; gap:6px; contents:none;
  }
  #feed-wrap.grid-mode .precios-wrap { margin-top:0; flex:1; min-width:0; }
  #feed-wrap.grid-mode .grid-inline-btns { display:flex; gap:5px; flex-shrink:0; }
  .gib-btn {
    width:30px; height:30px; border-radius:8px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:all .15s; flex-shrink:0;
  }
  .gib-consultar {
    background:rgba(37,211,102,.12); color:#25d366;
    border:1px solid rgba(37,211,102,.25);
  }
  .gib-consultar:hover { background:rgba(37,211,102,.25); }
  .gib-share {
    background:rgba(255,255,255,.06); color:var(--muted);
    border:1px solid rgba(255,255,255,.12);
  }
  .gib-share:hover { background:rgba(255,255,255,.12); color:var(--text); }
  /* En grilla: ocultar btn-wsp y share de prod-acciones (ya estÃƒÂ¡n junto al precio) */
  #feed-wrap.grid-mode .btn-wsp { display:none !important; }
  #feed-wrap.grid-mode .prod-acciones .prod-share-btn { display:none !important; }
  #feed-wrap.grid-mode .prod-acciones .btn-comments { display:none !important; }
  #feed-wrap.grid-mode .total-bar { display:none !important; }
  #feed-wrap.grid-mode .prod-acciones { margin-top:auto; gap:6px; }
  #feed-wrap.grid-mode .btn-comprar { padding:9px 12px; font-size:12px; }
  #feed-wrap.grid-mode .prod-info-backdrop,
  #feed-wrap.grid-mode .prod-info-popup { display:none !important; }
  #feed-wrap.grid-mode .scroll-indicator { display:none; }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ PRODUCT DETAIL PANEL (foto clic en grilla) Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬Ã¢â€â‚¬ */
  #prod-detail-panel {
    position:fixed; inset:0; z-index:8500;
    background:rgba(0,0,0,.88); backdrop-filter:blur(10px);
    display:none; align-items:center; justify-content:center; padding:24px;
  }
  #prod-detail-panel.open { display:flex; }
  .pdp-inner {
    background:var(--dark2); border-radius:18px;
    border:1px solid rgba(255,255,255,.1);
    max-width:860px; width:100%; max-height:88vh;
    display:flex; overflow:hidden; position:relative;
  }
  .pdp-photo-side {
    width:50%; flex-shrink:0; position:relative;
    background:var(--dark); display:flex; align-items:center; justify-content:center;
  }
  #pdp-img { width:100%; height:100%; object-fit:contain; display:block; max-height:88vh; }
  .pdp-info-side {
    flex:1; padding:28px 24px; overflow-y:auto;
    display:flex; flex-direction:column; gap:12px;
    scrollbar-width:none;
  }
  .pdp-info-side::-webkit-scrollbar { display:none; }
  .pdp-close {
    position:absolute; top:12px; right:12px; z-index:10;
    background:rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.15);
    border-radius:50%; width:34px; height:34px; cursor:pointer;
    color:#fff; font-size:20px; line-height:1;
    display:flex; align-items:center; justify-content:center;
    transition:background .15s;
  }
  .pdp-close:hover { background:rgba(201,162,39,.3); }
  .pdp-nav {
    position:absolute; top:50%; transform:translateY(-50%);
    background:rgba(0,0,0,.55); border:none; color:#fff; cursor:pointer;
    width:38px; height:38px; border-radius:50%; font-size:24px;
    display:flex; align-items:center; justify-content:center;
    transition:background .15s;
  }
  .pdp-nav:hover { background:rgba(0,0,0,.8); }
  .pdp-prev { left:10px; } .pdp-next { right:10px; }
  .pdp-counter {
    position:absolute; bottom:10px; left:50%; transform:translateX(-50%);
    background:rgba(0,0,0,.55); color:#fff; font-size:11px;
    padding:2px 10px; border-radius:10px;
  }
  .pdp-nombre { font-size:20px; font-weight:800; color:var(--text); line-height:1.3; }
  .pdp-precio-label { font-size:11px; color:var(--muted); font-weight:600; letter-spacing:.3px; text-transform:uppercase; }
  .pdp-precio-val { font-size:30px; font-weight:800; color:var(--gold); }
  .pdp-desc { font-size:13px; color:var(--muted); line-height:1.6; }
  .pdp-acciones { display:flex; flex-direction:column; gap:10px; margin-top:auto; padding-top:8px; }
  /* BotÃƒÂ³n compartir mobile-only: solo visible en mobile (en desktop estÃƒÂ¡ en prod-acciones) */
  @media (min-width: 801px) { .share-mobile-only { display:none !important; } }
  /* Sidebar close button (mobile only) */
  .sb-close-x {
    display:none; align-items:center; justify-content:center;
    background:none; border:1px solid rgba(255,255,255,.15);
    border-radius:50%; width:32px; height:32px; cursor:pointer;
    color:var(--muted); flex-shrink:0; transition:all .15s; margin-left:auto;
  }
  .sb-close-x:hover { border-color:var(--gold); color:var(--gold); }
  .sb-seguir-btn {
    display:none; position:fixed; bottom:calc(var(--nav-h) + 12px); left:16px; right:16px;
    z-index:201; background:var(--gold); color:#000;
    border:none; border-radius:12px; padding:14px;
    font-size:15px; font-weight:800; cursor:pointer;
    align-items:center; justify-content:center; gap:8px;
  }
  .sb-seguir-btn:hover { background:var(--gold2); }
  /* Ã¢â€â‚¬Ã¢â€â‚¬ Panel Favoritos items Ã¢â€â‚¬Ã¢â€â‚¬ */
  .fav-item {
    display:flex; gap:12px; align-items:center;
    padding:12px 16px;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .fav-item-img {
    width:58px; height:58px; flex-shrink:0;
    border-radius:10px; object-fit:cover;
    background:var(--dark3);
  }
  .fav-no-img {
    display:flex; align-items:center; justify-content:center;
    font-size:22px;
  }
  .fav-item-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
  .fav-item-nombre {
    font-size:13px; font-weight:700; color:var(--text);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
  .fav-item-precio { font-size:15px; font-weight:800; color:var(--gold); }
  .fav-item-btns { display:flex; gap:8px; margin-top:2px; }
  .fav-btn-wsp {
    display:inline-flex; align-items:center; gap:5px;
    background:rgba(37,211,102,.12); color:#25d366;
    border:1px solid rgba(37,211,102,.25);
    border-radius:8px; padding:5px 10px; font-size:12px; font-weight:700;
    cursor:pointer; text-decoration:none; transition:background .15s;
  }
  .fav-btn-wsp:hover { background:rgba(37,211,102,.22); }
  .fav-btn-quitar {
    display:inline-flex; align-items:center; gap:4px;
    background:rgba(255,255,255,.05); color:var(--muted);
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px; padding:5px 10px; font-size:12px;
    cursor:pointer; transition:all .15s;
  }
  .fav-btn-quitar:hover { background:rgba(255,45,102,.1); color:#ff4d72; border-color:rgba(255,45,102,.3); }
  /* Footer botones panel favoritos */
  .favs-footer-btns {
    display:flex; gap:0;
    border-top:1px solid rgba(255,255,255,.07);
    overflow:hidden; border-radius:0 0 20px 20px;
  }
  .favs-footer-ver, .favs-footer-cerrar {
    flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
    padding:14px 8px; border:none; cursor:pointer;
    font-family:inherit; font-size:13px; font-weight:800;
    letter-spacing:.2px; transition:background .15s;
  }
  .favs-footer-ver {
    background:linear-gradient(135deg,rgba(255,45,102,.18),rgba(255,45,102,.1));
    color:#ff6b8a;
    border-right:1px solid rgba(255,255,255,.07);
  }
  .favs-footer-ver:hover { background:linear-gradient(135deg,rgba(255,45,102,.28),rgba(255,45,102,.18)); }
  .favs-footer-cerrar {
    background:rgba(255,255,255,.04);
    color:rgba(255,255,255,.55);
  }
  .favs-footer-cerrar:hover { background:rgba(255,255,255,.09); color:var(--text); }
  .fly-dot {
    position:fixed; width:14px; height:14px; border-radius:50%;
    background:var(--gold); z-index:9998; pointer-events:none;
    transition:none;
  }
  @keyframes flyToCart {
    0%   { transform:scale(1); opacity:1; }
    70%  { transform:scale(.7); opacity:.9; }
    100% { transform:scale(.3); opacity:0; }
  }
/* UI cleanup and accessibility */
:root {
  --dark: #101112;
  --dark2: #181a1c;
  --dark3: #222529;
  --text: #f5f5f5;
  --muted: #a9adb4;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:where(button, a, input, select, textarea, [role="button"]):focus-visible {
  outline: 3px solid #f2cc55;
  outline-offset: 3px;
  box-shadow: none !important;
}

.site-header {
  background: rgba(16,17,18,.94);
  border-bottom-color: rgba(255,255,255,.07);
  box-shadow: none;
}

.header-search,
.cart-btn,
.btn-header-outline {
  border-color: rgba(255,255,255,.09);
}

.prod-card,
#feed-wrap.grid-mode .prod-card {
  border-color: rgba(255,255,255,.055);
  box-shadow: none;
}

.product-trust {
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.07);
  border-radius: 0;
  color: #bec2c8;
  padding-inline: 0;
}

.prod-acciones .btn-wsp,
.prod-acciones .prod-share-btn,
.grid-inline-btns .gib-btn {
  border-width: 1px;
  box-shadow: none;
}

.btn-comprar {
  box-shadow: 0 3px 12px rgba(201,162,39,.18);
}
.btn-comprar:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 16px rgba(201,162,39,.24);
}

:where(.cmt-close-btn, .drawer-close-btn, .carrito-close-btn, .pdp-close,
       .pdp-nav, .foto-nav, .lb-close, .lb-nav, .header-search-btn,
       .search-close-btn, .busqueda-back, .busqueda-clear-btn,
       .qty-btn, .drawer-qty-btn, .pip-qty-btn, .carrito-qty-btn,
       .carrito-item-del, .busqueda-hist-del) {
  min-width: 44px;
  min-height: 44px;
}

@media (min-width: 801px) {
  #feed-wrap.grid-mode {
    gap: 18px;
    padding: 20px;
  }
  #feed-wrap.grid-mode .prod-info { padding: 13px 14px; }
  .tienda-fab { display: none !important; }
}

@media (max-width: 800px) {
  :where(button, .btn-comprar, .btn-wsp, .cart-btn, [role="button"]) {
    min-height: 44px;
  }
  .bnav-cart-fab {
    animation: none;
    box-shadow: 0 -2px 10px rgba(22,163,74,.25);
    border-width: 1px;
  }
  .bottom-nav { box-shadow: 0 -3px 14px rgba(0,0,0,.3); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Compact welcome dialog */
.modal-bienvenida { max-width:360px; padding:24px; gap:7px; border-radius:20px; border:1px solid rgba(255,255,255,.07); box-shadow:0 18px 56px rgba(0,0,0,.62); }
.bienvenida-emoji { width:72px; height:72px; margin:0 0 4px; }
.bienvenida-logo { display:block; width:72px; height:72px; object-fit:contain; border-radius:14px; }
.bienvenida-titulo { font-size:20px; }
.bienvenida-sub { margin-bottom:10px; line-height:1.45; }
.bienvenida-form { gap:10px; }
.bienvenida-field input { height:46px; }
.bienvenida-btn { height:48px; margin-top:6px; box-shadow:0 4px 14px rgba(201,162,39,.22); }
/* Readable desktop product cards */
@media (min-width: 801px) {
  #feed-wrap.grid-mode {
    grid-template-columns: repeat(auto-fit, minmax(300px, 360px));
    grid-auto-rows: 520px;
    justify-content: start;
    align-content: start;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: rgba(201,162,39,.75) #1a1a1a;
  }
  #feed-wrap.grid-mode .prod-card {
    width: 100%;
    min-width: 0;
    border-radius: 16px;
  }
  #feed-wrap.grid-mode .prod-fotos { height: 54% !important; }
  #feed-wrap.grid-mode .prod-info {
    padding: 14px 16px 16px;
    gap: 7px;
  }
  #feed-wrap.grid-mode .prod-nombre {
    font-size: 16px !important;
    line-height: 1.35;
  }
  #feed-wrap.grid-mode .precio-minorista { font-size: 24px !important; }
  #feed-wrap.grid-mode .product-trust {
    font-size: 11px;
    line-height: 1.45;
    margin-top: 6px;
  }
  #feed-wrap.grid-mode .gib-btn {
    width: 36px;
    height: 36px;
  }
  #feed-wrap.grid-mode .btn-comprar {
    min-height: 46px;
    padding: 11px 16px;
    font-size: 14px;
  }
}

@media (min-width: 801px) and (max-width: 1100px) {
  #feed-wrap.grid-mode {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}
/* Compact card content flow */
@media (min-width: 801px) {
  #feed-wrap.grid-mode { grid-template-columns:repeat(auto-fit,minmax(280px,320px)); grid-auto-rows:440px; }
  #feed-wrap.grid-mode .prod-fotos { height:48% !important; }
  #feed-wrap.grid-mode .prod-info { padding:12px 14px 14px; gap:5px; overflow:hidden; }
  #feed-wrap.grid-mode .prod-precio-quick { display:none !important; }
  #feed-wrap.grid-mode .prod-desc { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:11px; line-height:1.4; color:var(--muted); min-height:0; margin:0; }
  #feed-wrap.grid-mode .price-row-wrap { display:flex; align-items:center; gap:8px; min-height:38px; }
  #feed-wrap.grid-mode .precio-minorista { font-size:22px !important; }
  #feed-wrap.grid-mode .product-trust { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 10px; margin:2px 0 4px; padding:7px 0 0; font-size:9.5px; line-height:1.3; }
  #feed-wrap.grid-mode .prod-acciones { margin-top:auto; }
  #feed-wrap.grid-mode .btn-comprar { min-height:44px; }
}
/* Stock in grid: text only, no redundant progress bar */
@media (min-width: 801px) {
  #feed-wrap.grid-mode .stock-bar { display:none; }
  #feed-wrap.grid-mode .stock-bar-wrap { justify-content:flex-end; margin-top:2px; }
  #feed-wrap.grid-mode .stock-bar-label { font-size:10px; }
}
/* Desktop opinions dialog */
@media (min-width: 801px) {
  .modal-comentarios-wrap { align-items:center; justify-content:center; padding:32px; background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
  .modal-comentarios { width:min(560px,100%); height:min(650px,calc(100dvh - 64px)); max-width:560px; background:var(--dark2); border:1px solid rgba(255,255,255,.09); border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.62); transform:translateY(14px) scale(.98); overflow:hidden; }
  .modal-comentarios-wrap.open .modal-comentarios { transform:translateY(0) scale(1); }
  .cmt-header { padding:14px 18px; }
  .cmt-feed { min-height:170px; padding:14px 18px; }
  .cmt-form { padding:14px 18px 18px; gap:9px; }
  .cmt-textarea { min-height:76px; max-height:120px; }
  .cmt-stars-picker { justify-content:center; }
  .cmt-star { font-size:26px; }
}
.cmt-modal-total { font-size:13px; font-weight:600; color:var(--muted); }
/* Opinions visibility state: fully hidden until opened */
.modal-comentarios-wrap {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.modal-comentarios-wrap.open {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Acciones compactas y condiciones legibles */
.product-trust strong { color: var(--text); font-weight: 700; }
.gib-comments { background: rgba(100,160,255,.10); color: #8bb6ff; border: 1px solid rgba(100,160,255,.24); }
.gib-comments:hover { background: rgba(100,160,255,.20); }
/* Opinions modal: standalone layout on every viewport */
.modal-comentarios-wrap {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10050 !important;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  background: rgba(0,0,0,.72);
}
.modal-comentarios {
  width: 100%;
  max-width: 520px;
  height: min(90dvh, 650px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #1a1a1f;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px 18px 0 0;
  box-shadow: 0 24px 70px rgba(0,0,0,.65);
}
.cmt-header { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.cmt-feed { flex:1 1 auto; overflow-y:auto; }
.cmt-form { flex-shrink:0; }
@media (min-width: 801px) {
  .modal-comentarios-wrap { align-items:center; padding:32px; }
  .modal-comentarios { width:min(560px,100%); max-width:560px; height:min(650px,calc(100dvh - 64px)); border-radius:18px; }
}
/* Compact empty search state */
#feed-wrap.grid-mode .empty-feed,
.empty-feed {
  width: min(420px, calc(100% - 32px));
  height: auto !important;
  min-height: 0;
  margin: clamp(48px, 12vh, 110px) auto 0;
  padding: 28px 24px;
  align-self: start;
  justify-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  color: var(--text);
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  scroll-snap-align: none;
}
.empty-feed-icon {
  width: 58px; height: 58px; display: grid; place-items: center;
  color: var(--gold2); background: rgba(201,162,39,.10);
  border: 1px solid rgba(201,162,39,.22); border-radius: 50%;
}
.empty-feed .empty-feed-icon svg { opacity: 1; }
.empty-feed-copy h2 { margin: 0 0 7px; font-size: 18px; line-height: 1.2; }
.empty-feed-copy p { margin: 0; max-width: 320px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.empty-feed-btn {
  width: auto !important; min-width: 154px; height: 42px !important; min-height: 42px;
  margin: 2px 0 0; padding: 0 18px; flex: 0 0 auto !important;
  border: 1px solid rgba(201,162,39,.38); border-radius: 10px;
  background: rgba(201,162,39,.13); color: var(--gold2);
  font: 700 13px/1 inherit; cursor: pointer;
}
.empty-feed-btn:hover { background: rgba(201,162,39,.22); border-color: var(--gold); }
@media (max-width:800px) { .empty-feed { margin: 36px auto 0; padding: 24px 18px; } }
/* Balanced mobile product card */
@media (max-width: 800px) {
  .prod-fotos {
    flex-basis: calc((100dvh - var(--header-h) - var(--nav-h)) * .70) !important;
    height: calc((100dvh - var(--header-h) - var(--nav-h)) * .70) !important;
    min-height: 0;
  }
  .prod-info {
    justify-content: flex-start;
    padding: 12px 14px 10px;
    gap: 6px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .prod-nombre { font-size: 16px; line-height: 1.25; }
  .precio-minorista { font-size: 23px; line-height: 1.15; }
  .stock-bar-wrap { margin-top: 1px; }
  .product-trust {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px 12px;
    margin: 4px 0 0;
    padding-top: 8px;
    font-size: 10px;
    line-height: 1.35;
  }
  .product-trust span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .prod-side-btns {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    padding: 7px 5px;
    gap: 5px;
  }
}
@media (max-width: 380px), (max-height: 680px) {
  .prod-fotos {
    flex-basis: calc((100dvh - var(--header-h) - var(--nav-h)) * .70) !important;
    height: calc((100dvh - var(--header-h) - var(--nav-h)) * .70) !important;
    min-height: 0;
  }
}
.sb-main-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:#121314;flex:none}.sb-main-tab{height:38px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.55);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.16s}.sb-main-tab:hover{color:#fff;background:rgba(255,255,255,.07)}.sb-main-tab.active{color:#17130a;background:linear-gradient(135deg,#f0ca3b,#d5aa16);border-color:transparent;box-shadow:0 5px 14px rgba(201,162,39,.18)}.bnav-item.filter-active{color:#fbbf24!important}.bnav-item.filter-active #bnav-catalogo-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.35)}
.sb-scroll-area{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(201,162,39,.45) transparent}.sb-scroll-area::-webkit-scrollbar{width:5px}.sb-scroll-area::-webkit-scrollbar-thumb{background:rgba(201,162,39,.45);border-radius:10px}.sb-scroll-area::-webkit-scrollbar-track{background:transparent}
/* Modern category navigation */
.sb-modern-heading{display:flex;align-items:center;gap:11px;min-width:0}.sb-modern-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;color:var(--gold);background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.2);border-radius:11px}.sb-modern-copy{display:flex;flex-direction:column;min-width:0;line-height:1.2}.sb-modern-copy strong{color:#f7f7f7;font-size:14px;font-weight:800}.sb-modern-copy small{margin-top:4px;color:rgba(255,255,255,.48);font-size:11px}.sb-modern-dismiss{width:36px;height:36px;display:grid;place-items:center;flex:none;padding:0;color:rgba(255,255,255,.65);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;transition:.16s}.sb-modern-dismiss:hover,.sb-modern-dismiss:focus-visible{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);outline:none}.sidebar-filtros{background:#121314;border-right:1px solid rgba(255,255,255,.08)}.sidebar-filtros .sb-header{min-height:72px;padding:14px 16px;background:rgba(18,19,20,.98)}.sidebar-filtros .filtro-seccion{padding:17px 12px 6px}.sidebar-filtros .filtro-titulo{margin:0 4px 9px;padding:0;color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.09em}.sidebar-filtros .filtro-titulo::before{display:none}.sidebar-filtros .filtro-item{min-height:45px;margin:0 0 3px;padding:10px 11px;color:rgba(255,255,255,.76);background:transparent;border:1px solid transparent;border-radius:9px;box-shadow:none}.sidebar-filtros .filtro-item:hover{color:#fff;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.07)}.sidebar-filtros .filtro-item.active{color:#fff;background:rgba(201,162,39,.11);border-color:rgba(201,162,39,.22);box-shadow:none}.sidebar-filtros .filtro-item.active::before{content:"";width:6px;height:6px;flex:none;background:var(--gold);border-radius:50%;box-shadow:0 0 0 4px rgba(201,162,39,.12)}.sidebar-filtros .filtro-item.active>svg:first-child{display:none}.sidebar-filtros .filtro-count,.sidebar-filtros .filtro-item.active .filtro-count{min-width:24px;padding:2px 7px;color:rgba(255,255,255,.65);background:rgba(255,255,255,.075);border:0;text-align:center}.sidebar-filtros .filtro-item.active .filtro-count{color:var(--gold2);background:rgba(201,162,39,.14)}.sidebar-filtros .sb-back-bar{padding:12px;background:rgba(255,255,255,.018)}.sidebar-filtros .sb-back-btn{min-height:36px;padding:7px 10px;text-transform:none;letter-spacing:0;border-radius:9px}.sidebar-filtros .sb-nivel-titulo{color:#fff;font-size:12px}.sidebar-filtros .sb-seguir-btn{color:#17130a;background:linear-gradient(135deg,#f0ca3b,#d5aa16)}
@media (min-width:801px){.sidebar-filtros{width:248px}.sidebar-filtros .sb-modern-dismiss{display:none}}
@media (max-width:800px){.sidebar-filtros{width:100vw!important;max-width:none!important;right:0!important;left:0!important;box-shadow:none;overflow:hidden}.sidebar-filtros .sb-header{width:100%;flex:none}.sidebar-filtros .sb-drill-panel{width:100%}.sidebar-filtros .filtro-item{min-height:52px;padding:12px 16px;border-radius:0;border-left:0;border-right:0}.sidebar-filtros .filtro-seccion{padding:18px 0 8px}.sidebar-filtros .filtro-titulo{padding:0 16px;margin-bottom:8px}.sidebar-filtros .sb-back-bar{min-height:58px;padding:10px 16px}.sidebar-filtros .sb-nivel-titulo{max-width:55vw;font-size:13px}.sidebar-filtros .sb-seguir-btn{width:100%;min-height:58px;padding:14px 18px!important}}
/* Precarga compacta del catÃ¡logo */
.loading-card{
  width:100%;
  height:calc(100dvh - var(--header-h));
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  background:var(--dark,#101112);
}
.catalog-loader{
  position:relative;
  width:54px;
  height:54px;
}
.catalog-loader-ring{
  position:absolute;
  inset:0;
  border:4px solid rgba(201,162,39,.14);
  border-top-color:var(--gold,#d4ad22);
  border-right-color:var(--gold,#d4ad22);
  border-radius:50%;
  animation:catalogLoaderSpin .8s linear infinite;
}
.catalog-loader-dot{
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:var(--gold,#d4ad22);
  box-shadow:0 0 18px rgba(220,181,37,.5);
  animation:catalogLoaderPulse 1s ease-in-out infinite alternate;
}
.catalog-loader-text{
  color:rgba(255,255,255,.62);
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
}
@keyframes catalogLoaderSpin{to{transform:rotate(360deg)}}
@keyframes catalogLoaderPulse{to{transform:scale(.65);opacity:.55}}
@media (max-width:800px){
  .loading-card{height:calc(100dvh - var(--header-h) - var(--nav-h));min-height:0}
  .catalog-loader{width:48px;height:48px}
  .catalog-loader-dot{inset:16px}
}
@media (prefers-reduced-motion:reduce){
  .catalog-loader-ring{animation-duration:1.8s}
  .catalog-loader-dot{animation:none}
}
/* Opinions modal polished controls */
.modal-comentarios-wrap {
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text,#f5f5f5);
}
.modal-comentarios {
  background:linear-gradient(180deg,#1b1b20 0%,#151519 100%);
}
.modal-comentarios .cmt-header {
  min-height:64px; padding:0 20px;
  display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.018); flex-shrink:0;
}
.modal-comentarios .cmt-header-title {
  display:flex; align-items:center; gap:9px;
  color:#f5f5f7; font-size:15px; font-weight:800;
}
.modal-comentarios .cmt-header-title svg { color:#8bb6ff; }
.modal-comentarios .cmt-modal-total {
  min-width:22px; padding:2px 7px; border-radius:999px;
  background:rgba(139,182,255,.12); color:#9dc2ff;
  font-size:11px; text-align:center;
}
.modal-comentarios .cmt-close-btn {
  width:36px; height:36px; padding:0; border:1px solid rgba(255,255,255,.09);
  border-radius:10px; background:rgba(255,255,255,.055); color:#b8bac1;
  display:grid; place-items:center; cursor:pointer; font:600 16px/1 inherit;
  transition:background .15s,color .15s,transform .15s;
}
.modal-comentarios .cmt-close-btn:hover { background:rgba(255,255,255,.11); color:#fff; transform:scale(1.03); }
.modal-comentarios .cmt-feed {
  flex:1 1 auto; min-height:0; overflow-y:auto;
  padding:20px; display:flex; flex-direction:column; gap:14px;
  scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.16) transparent;
}
.modal-comentarios .cmt-empty {
  width:100%; margin:auto; padding:34px 20px; box-sizing:border-box;
  text-align:center; color:#9a9ca5; font-size:14px;
}
.modal-comentarios .cmt-empty::before {
  content:'\2606'; display:grid; place-items:center;
  width:58px; height:58px; margin:0 auto 14px;
  border-radius:18px; background:rgba(139,182,255,.08);
  border:1px solid rgba(139,182,255,.15); color:#8bb6ff; font-size:30px;
}
.modal-comentarios .cmt-form {
  padding:18px 20px 20px; border-top:1px solid rgba(255,255,255,.08);
  background:#18181d; display:grid; grid-template-columns:1fr auto;
  gap:12px 16px; flex-shrink:0;
}
.modal-comentarios .cmt-form-title {
  grid-column:1/-1; color:#f0f0f2; font-size:14px; font-weight:800;
}
.modal-comentarios .cmt-textarea {
  grid-column:1/-1; width:100%; min-height:96px; max-height:160px;
  box-sizing:border-box; resize:vertical; padding:13px 14px;
  border:1px solid rgba(255,255,255,.11); border-radius:12px;
  outline:none; background:#101014; color:#f5f5f7;
  font:13px/1.45 inherit; transition:border-color .15s,box-shadow .15s;
}
.modal-comentarios .cmt-textarea::placeholder { color:#6f717a; }
.modal-comentarios .cmt-textarea:focus {
  border-color:rgba(139,182,255,.65); box-shadow:0 0 0 3px rgba(100,160,255,.10);
}
.modal-comentarios .cmt-stars-picker {
  display:flex; align-items:center; gap:5px; min-height:44px;
}
.modal-comentarios .cmt-stars-picker::before {
  content:'Tu puntuaci\00f3n'; margin-right:7px; color:#8f9199; font-size:12px; font-weight:700;
}
.modal-comentarios .cmt-star {
  color:#484a52; font-size:27px; line-height:1; cursor:pointer; user-select:none;
  transition:color .12s,transform .12s;
}
.modal-comentarios .cmt-star.on { color:#f5b700; }
.modal-comentarios .cmt-star:hover { color:#ffd24c; transform:translateY(-1px) scale(1.1); }
.modal-comentarios .btn-publicar-opinion {
  align-self:center; min-height:44px; padding:0 20px; border:0; border-radius:11px;
  background:linear-gradient(135deg,#e8c14e,#c9a227); color:#111;
  font:900 13px/1 inherit; cursor:pointer; box-shadow:0 5px 16px rgba(201,162,39,.20);
  transition:filter .15s,transform .15s;
}
.modal-comentarios .btn-publicar-opinion:hover { filter:brightness(1.07); transform:translateY(-1px); }
.modal-comentarios .btn-publicar-opinion:disabled { opacity:.55; cursor:not-allowed; transform:none; }
@media (max-width:800px) {
  .modal-comentarios { height:92dvh; border-radius:18px 18px 0 0; }
  .modal-comentarios .cmt-header { min-height:58px; padding:0 16px; }
  .modal-comentarios .cmt-feed { padding:16px; }
  .modal-comentarios .cmt-form { padding:14px 16px calc(16px + env(safe-area-inset-bottom)); grid-template-columns:1fr; gap:10px; }
  .modal-comentarios .cmt-form-title,.modal-comentarios .cmt-textarea { grid-column:1; }
  .modal-comentarios .cmt-stars-picker { justify-content:flex-start; }
  .modal-comentarios .btn-publicar-opinion { width:100%; }
}
.sb-home-button {
  width:100%; padding:0; border:0; background:transparent;
  color:inherit; text-align:left; cursor:pointer; font-family:inherit;
  border-radius:11px; transition:background .15s;
}
.sb-home-button:hover,.sb-home-button:focus-visible { background:rgba(201,162,39,.07); outline:none; }
.sb-home-button:hover .sb-modern-icon { background:rgba(201,162,39,.20); border-color:rgba(201,162,39,.38); }

.related-products { width:100%; min-width:0; margin-top:7px; overflow:hidden; }
.related-products-mobile { display:none; }
@media (max-width:800px) {
  .related-products-mobile.prod-mobile-lower {
    display:flex;
    flex:0 0 20%;
    height:20%;
  }
  .prod-fotos .prod-foto-main {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .prod-vars-row.prod-mobile-lower {
    flex:0 0 20%;
    height:20%;
  }
  .prod-info {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-content:center;
    column-gap:10px;
    row-gap:3px;
    flex:0 0 10%;
    height:10%;
    padding:5px 12px;
    overflow:hidden;
  }
  .prod-info-row,
  .prod-info-left { display:contents; }
  .prod-info .prod-nombre {
    grid-column:1 / -1;
    grid-row:1;
    font-size:14px;
    line-height:1.15;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .prod-info .prod-precio-quick {
    grid-column:1;
    grid-row:2;
    align-self:center;
  }
  .prod-info .grid-stock-row {
    position:static;
    grid-column:2;
    grid-row:2;
    align-self:center;
    justify-self:end;
    width:auto;
    margin:0;
  }
  .prod-info .grid-stock-row .stock-bar-wrap {
    justify-content:flex-end;
    margin:0;
    white-space:nowrap;
  }
}
.related-products-title { margin-bottom:5px; color:var(--text); font-size:11px; font-weight:800; }
.related-products-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.related-product { display:flex; min-width:0; max-height:82px; padding:4px; flex-direction:column; color:var(--text); background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:8px; text-align:left; overflow:hidden; }
.related-product:focus-within { border-color:rgba(201,162,39,.5); background:rgba(201,162,39,.07); }
.related-product-img { display:flex; width:100%; height:48px; min-height:48px; align-items:center; justify-content:center; overflow:hidden; margin-bottom:3px; background:rgba(255,255,255,.05); border-radius:5px; }
.related-product-img img { display:block; width:100%; height:100%; max-width:100%; object-fit:cover; }
.related-product-copy { display:flex; min-width:0; padding:0; flex-direction:column; gap:1px; color:inherit; background:transparent; border:0; cursor:pointer; text-align:left; }
.related-product-copy strong { overflow:hidden; color:var(--text); font-size:8px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.related-product-copy small { color:var(--gold2); font-size:8px; font-weight:800; }

/* Desktop grid: five compact product cards per row. */
@media (min-width: 801px) {
  .main-layout,
  .feed-wrap { min-width: 0; }

  .sidebar-filtros { width: 220px; }

  #feed-wrap.grid-mode {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-rows: calc((100dvh - var(--header-h) - 40px) / 2);
    height: calc(100dvh - var(--header-h));
    gap: 12px;
    padding: 14px;
    align-content: start;
    overflow-y: scroll;
    scrollbar-width: thin;
    scrollbar-color: rgba(201,162,39,.75) #1a1a1a;
  }
  #feed-wrap.grid-mode .prod-card {
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: 100% !important;
    border-radius: 14px;
  }

  #feed-wrap.grid-mode .prod-fotos {
    width: 100% !important;
    height: 42% !important;
  }

  #feed-wrap.grid-mode .prod-info {
    min-width: 0;
    padding: 8px 9px 9px;
    gap: 3px;
  }

  #feed-wrap.grid-mode .prod-nombre {
    min-height: 30px;
    font-size: 12.5px !important;
    line-height: 1.35;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  #feed-wrap.grid-mode .price-row-wrap {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
  }
  #feed-wrap.grid-mode .precios-wrap {
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
  }
  #feed-wrap.grid-mode .precio-minorista {
    display: block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    overflow: visible;
    font-size: clamp(15px, 1.05vw, 18px) !important;
    line-height: 1.05;
    letter-spacing: -.45px;
  }
  #feed-wrap.grid-mode .grid-inline-btns {
    flex: 0 0 auto;
    gap: 3px;
  }
  #feed-wrap.grid-mode .prod-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    min-height: 15px;
    color: var(--muted);
    font-size: 9.5px;
    line-height: 1.4;
  }
  #feed-wrap.grid-mode .grid-stock-row {
    min-height: 13px;
    margin-top: -1px;
  }
  #feed-wrap.grid-mode .stock-bar-label {
    font-size: 10px;
    line-height: 1.3;
  }
  /* Pago y envío son datos generales de la tienda: no repetirlos en cada tarjeta. */
  #feed-wrap.grid-mode .product-trust { display: none !important; }
  #feed-wrap.grid-mode .gib-btn { width: 25px; height: 25px; padding: 0; }
  #feed-wrap.grid-mode .gib-btn svg { width: 13px; height: 13px; }
  #feed-wrap.grid-mode .btn-comprar {
    min-height: 34px;
    padding: 6px 5px;
    font-size: 11px;
  }
}
@media (min-width: 801px) {
  #feed-wrap.grid-mode::-webkit-scrollbar { display: block; width: 10px; }
  #feed-wrap.grid-mode::-webkit-scrollbar-track { background: #171717; }
  #feed-wrap.grid-mode::-webkit-scrollbar-thumb {
    background: rgba(201,162,39,.72);
    border: 2px solid #171717;
    border-radius: 999px;
  }
  #feed-wrap.grid-mode::-webkit-scrollbar-thumb:hover { background: var(--gold2); }
}

/* Final polish for the 5 x 2 desktop catalogue. */
@media (min-width: 801px) {
  #feed-wrap.grid-mode {
    height: calc(100dvh - var(--header-h) - 34px);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-rows: calc((100dvh - var(--header-h) - 74px) / 2);
    padding-bottom: 10px;
  }

  #feed-wrap.grid-mode .prod-card {
    position: relative;
    overflow: hidden;
  }

  #feed-wrap.grid-mode .prod-fotos { height: 40% !important; }

  #feed-wrap.grid-mode .prod-info {
    position: static;
    padding: 7px 9px 8px;
    gap: 2px;
    overflow: hidden;
  }

  #feed-wrap.grid-mode .prod-nombre {
    min-height: 29px;
    font-size: 12px !important;
    line-height: 1.25;
  }

  #feed-wrap.grid-mode .prod-desc {
    min-height: 14px;
    margin: 1px 0 2px;
    color: rgba(255,255,255,.52);
    font-size: 9px;
  }

  /* Stock as a compact image badge instead of another content row. */
  #feed-wrap.grid-mode .grid-stock-row {
    position: absolute;
    top: 7px;
    right: 7px;
    z-index: 4;
    min-height: 0;
    margin: 0;
    pointer-events: none;
  }
  #feed-wrap.grid-mode .grid-stock-row .stock-bar-wrap {
    min-height: 22px;
    margin: 0;
    padding: 3px 7px;
    color: #fff;
    background: rgba(8,8,8,.78);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    box-shadow: 0 3px 10px rgba(0,0,0,.3);
    backdrop-filter: blur(5px);
  }
  #feed-wrap.grid-mode .grid-stock-row .stock-bar-label {
    color: #fff;
    font-size: 8.5px;
    font-weight: 700;
  }
  #feed-wrap.grid-mode .grid-stock-row .stock-bar { display: none; }

  #feed-wrap.grid-mode .price-row-wrap { margin-top: auto; }
  #feed-wrap.grid-mode .btn-comprar { min-height: 32px; }
}




/* Search and compact grid cleanup. */
@media (min-width: 801px) {
  .header-search {
    height: 42px;
    padding: 0 8px 0 15px;
    gap: 9px;
    background: #22252a;
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  }
  .header-search:focus-within {
    border-color: rgba(201,162,39,.72);
    box-shadow: 0 0 0 3px rgba(201,162,39,.09);
  }
  .header-search .search-submit-btn,
  .header-search .search-close-btn {
    width: 30px;
    height: 30px;
    padding: 0;
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    border-radius: 50%;
  }
  .header-search .search-submit-btn:hover {
    color: var(--gold2);
    background: rgba(201,162,39,.12);
  }
  .header-search .search-close-btn { color: rgba(255,255,255,.6); }
  .header-search .search-close-btn:hover {
    color: #fff;
    background: rgba(255,255,255,.1);
  }

  #feed-wrap.grid-mode { padding-top: 0; }
  #feed-wrap.grid-mode .prod-card {
    border: 0 !important;
    box-shadow: none !important;
  }
  #feed-wrap.grid-mode .prod-fotos {
    margin: 0 !important;
    border: 0 !important;
  }
  #feed-wrap.grid-mode .prod-info-row { margin: 0; }
  #feed-wrap.grid-mode .prod-nombre {
    min-height: 0;
    margin: 0 0 3px;
  }
  #feed-wrap.grid-mode .prod-info-left { min-height: 0; }
}

/* Single scroll and ten-product paging. */
@media (min-width: 801px) {
  html,
  body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }
  .main-layout {
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
  }
  #feed-wrap.grid-mode {
    overflow-x: hidden;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
  }
  #feed-wrap.grid-mode > .prod-card:nth-child(10n + 1) {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* Full-height ten-product viewport. */
@media (min-width: 801px) {
  #feed-wrap.grid-mode {
    height: calc(100dvh - var(--header-h));
    padding: 8px 14px;
    gap: 10px 12px;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-rows: calc((100dvh - var(--header-h) - 26px) / 2);
  }

  #feed-wrap.grid-mode .prod-card {
    height: 100% !important;
    min-height: 0;
  }

  #feed-wrap.grid-mode .prod-fotos {
    height: 43% !important;
  }

  #feed-wrap.grid-mode .prod-info {
    height: 57%;
    min-height: 0;
  }
}

/* Correct card height without hidden bottom actions. */
@media (min-width: 801px) {
  #feed-wrap.grid-mode {
    height: calc(100dvh - var(--header-h) - 32px);
    padding: 0 14px 4px;
    gap: 10px 12px;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    grid-auto-rows: calc((100dvh - var(--header-h) - 46px) / 2);
  }

  #feed-wrap.grid-mode .prod-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #feed-wrap.grid-mode .prod-fotos {
    width: 100% !important;
    height: 43% !important;
    flex: 0 0 43% !important;
    padding: 0 !important;
  }

  #feed-wrap.grid-mode .prod-info {
    width: 100%;
    height: 57%;
    flex: 1 1 57%;
    min-height: 0;
  }
}
