/* HERO con SLIDER */
    .hero-wrap{border-bottom:1px solid var(--line);background:#fff}
    .slider{position:relative;overflow:hidden;isolation:isolate}
    .slides{display:flex;transition:transform .6s ease}
    .slide{
      min-width:100%;
      height:58vh;
      max-height:700px;
      position:relative;
      display:grid;
      place-items:center;
      color:#fff
    }
    .slide::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.48));
      z-index:0
    }
    .slide img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}

    .hero-content{position:relative;z-index:1;text-align:center;padding:0 16px;max-width:980px;margin:auto}
    .hero-content h1{font-size:clamp(28px,3.8vw,48px);margin:0 0 10px;font-weight:800;letter-spacing:.2px}
    .hero-content p{margin:8px 0 16px;color:#e7ecf7}

    /* Controles del slider */
    .ctrl{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
      background:rgba(255,255,255,.15);backdrop-filter:blur(6px);
      border:1px solid rgba(255,255,255,.25);color:#fff;
      width:42px;height:42px;border-radius:10px;display:grid;place-items:center;cursor:pointer
    }
    .ctrl:hover{background:rgba(255,255,255,.22)}
    .ctrl.prev{left:14px}
    .ctrl.next{right:14px}
    .dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}
    .dot{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);cursor:pointer}
    .dot.active{background:#fff}

    /* KPIs */
    .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 22px}
    .kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
    .kpi strong{font-size:20px}

    .section{padding:32px 0;border-bottom:1px solid var(--line);background:var(--bg)}
    .section-head h2{margin:0 0 6px;font-size:clamp(22px,2.6vw,28px)}
    .section-head p.muted{margin:0 0 18px;color:var(--muted)}

    .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
    .card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
    .thumb{aspect-ratio:16/9;overflow:hidden;background:#eef2f7}
    .thumb img{width:100%;height:100%;object-fit:cover}
    .body{padding:14px}
    .body h3{margin:0 0 6px;font-size:18px}
    .body p{margin:0 0 10px;color:#45556d}

    .chips{display:flex;flex-wrap:wrap;gap:10px;margin:0}
    .chip{display:inline-block;padding:10px 12px;border-radius:999px;background:#eef2f7;color:var(--ink);border:1px solid var(--line);font-weight:700}

    .columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
    .panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
    .panel h3{margin:0 0 8px}

    .cta-band{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
    .cta-band p{margin:0;color:#45556d}

    .small{font-size:13px;color:#6b7a90}

    /* Offset anclas (por sticky header) */
    :target::before{content:"";display:block;height:64px;margin:-64px 0 0}

    /* WhatsApp FAB */
    .whatsapp-fab{
      position:fixed;right:16px;bottom:16px;background:#25D366;color:#fff;
      padding:13px 16px;border-radius:999px;font-weight:800;box-shadow:0 10px 30px rgba(37,211,102,.35);z-index:50
    }
    .whatsapp-fab span{display:none}
    @media (min-width:420px){.whatsapp-fab span{display:inline;margin-left:8px}}

/* Extensiones para páginas internas (servicios) */
  .grid{display:grid;gap:16px}
  .list{margin:0;padding-left:18px}
  .list li{margin:6px 0}
  .imgwrap{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#eef2f7}
  .imgwrap img{display:block;width:100%;height:220px;object-fit:cover}
  figcaption{font-size:13px;color:var(--muted);margin-top:8px}
  .icono{width:50px;height:50px}

/* Componentes — Videovigilancia (camaras-vigilancia) */
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr}}
@media (max-width:840px){
      .accordion-layout{grid-template-columns:1fr}
    }
@media (max-width:860px){.pkg-grid{grid-template-columns:1fr}}
.hero .wrap{display:grid;
      grid-template-columns:1.2fr .8fr;
      gap:16px;
      align-items:center;}
.hero .pills{display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin:10px 0 16px;}
.pill{display:inline-flex;
      align-items:center;
      gap:6px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:#f8fafc;
      font-size:13px;
      color:var(--muted);}
.pill strong{color:var(--ink)}
.hero-actions{display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:10px 0 4px;}
.btn-main{display:inline-flex;flex-direction:column;align-items:flex-start;
      padding:11px 15px;border-radius:12px;font-weight:700;border:0;
      background:linear-gradient(135deg,var(--accent),#ff8533);color:#fff;
      box-shadow:0 10px 26px rgba(255,102,0,.32);cursor:pointer;
      font-size:14px;}
.btn-main small{font-weight:400;font-size:12px;opacity:.9}
.btn-secundary{display:inline-flex;flex-direction:column;align-items:flex-start;
      padding:11px 15px;border-radius:12px;font-weight:700;border:0;
      background:linear-gradient(10deg,#06172b);color:#fff;
      box-shadow:0 10px 26px rgba(255,102,102,.32);cursor:pointer;
      font-size:14px;}
.hero-note{font-size:13px;color:var(--muted);margin:8px 0 0}
.hero .media{aspect-ratio:16/9;
      overflow:hidden;
      border-radius:18px;
      border:1px solid var(--line);
      background:#eef2f7;
      position:relative;}
.hero .media img{width:100%;height:100%;object-fit:fill}
.hero-tag{position:absolute;left:12px;top:12px;
      background:rgba(10,42,67,.9);color:#e5edf7;
      padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;}
.hero-badges{position:absolute;left:12px;bottom:12px;
      display:flex;flex-wrap:wrap;gap:6px;}
.hero-badge{background:rgba(255,255,255,.9);
      color:var(--ink);
      border-radius:999px;
      padding:3px 7px;
      font-size:11px;
      border:1px solid rgba(148,163,184,.7);}
.section.alt{background:#fff}
.cols-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card-title{font-weight:700;font-size:15px}
.badge{font-size:11px;text-transform:uppercase;letter-spacing:.12em;
      border-radius:999px;padding:4px 7px;
      border:1px solid var(--line);background:#f1f5f9;color:var(--muted);
      white-space:nowrap;}
.card-tagline{font-size:13px;color:var(--muted);margin-top:4px}
.card-img{margin-top:8px;border-radius:14px;overflow:hidden;
      border:1px solid var(--line);background:#eef2f7;}
/* ACCORDION DETALLES */
    .accordion{display:grid;gap:10px;margin-top:10px}
details.accordion-item{background:#fff;
      border-radius:14px;
      border:1px solid var(--line);
      padding:4px 10px 8px;}
details.accordion-item summary{cursor:pointer;list-style:none;
      display:flex;align-items:center;justify-content:space-between;
      gap:10px;padding:6px 0;
      font-size:14px;}
details.accordion-item summary::-webkit-details-marker{display:none}
.accordion-label{display:flex;flex-direction:column;gap:2px}
.accordion-title{font-weight:600}
.accordion-sub{font-size:12px;color:var(--muted)}
.accordion-chevron{font-size:16px;color:var(--muted);transition:transform .18s ease}
details[open] .accordion-chevron{transform:rotate(90deg)}
.accordion-layout{display:grid;
      grid-template-columns:minmax(0,2fr) minmax(0,1.2fr);
      gap:14px;
      align-items:flex-start;}
.accordion-image{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#eef2f7;}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11px}
.tag{padding:3px 7px;border-radius:999px;border:1px solid var(--line);
      background:#f1f5f9;color:var(--muted);}
/* PAQUETES (DETAILS) */
    .scenario-title{font-size:18px;margin:16px 0 4px}
.scenario-note{font-size:13px;color:var(--muted);margin:0 0 10px}
.package-list{display:grid;gap:8px;margin-bottom:10px}
details.pkg{background:#fff;
      border-radius:14px;
      border:1px solid var(--line);
      padding:4px 10px 8px;}
details.pkg summary{cursor:pointer;list-style:none;
      display:flex;align-items:center;justify-content:space-between;
      gap:10px;padding:5px 0;
      font-size:14px;}
details.pkg summary::-webkit-details-marker{display:none}
.pkg-main{display:flex;flex-direction:column;gap:2px}
.pkg-name{font-weight:600}
.pkg-meta{font-size:12px;color:var(--muted)}
.pkg-badge{font-size:11px;border-radius:999px;padding:4px 8px;
      border:1px solid var(--accent);
      background:rgba(255,102,0,.06);
      color:var(--accent);
      white-space:nowrap;}
.pkg-grid{display:grid;
      grid-template-columns:minmax(0,2fr) minmax(0,1.3fr);
      gap:14px;
      margin-top:4px;}
.pkg-items ul{margin:4px 0 8px;padding-left:18px}
.pkg-items li{margin-bottom:4px}
.pkg-image{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#eef2f7;}
.pkg-tag-row{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;margin-top:4px}
.pkg-tag{padding:3px 7px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:var(--muted);}
/* FAQ */
    .faq-list{display:grid;gap:8px;margin-top:10px}
details.faq{background:#fff;
      border-radius:14px;
      border:1px solid var(--line);
      padding:4px 10px 8px;}
details.faq summary{cursor:pointer;list-style:none;
      padding:6px 0;
      font-size:14px;
      font-weight:600;}
details.faq summary::-webkit-details-marker{display:none}
details.faq p{font-size:13px;
      color:var(--muted);
      margin:4px 0 8px;}
.inline-list{padding-left:18px;font-size:14px;color:var(--muted)}
.inline-list li{margin-bottom:3px}


/* =========================
   Catálogo (catalogo.php)
   ========================= */
.hero-catalogo{background:#fff;border-bottom:1px solid var(--line)}
.hero-catalogo .wrap{grid-template-columns:1.25fr .75fr}
@media (max-width:920px){.hero-catalogo .wrap{grid-template-columns:1fr}}

.searchbar{
  display:flex;
  gap:10px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  max-width:720px;
}
.searchbar input{
  flex:1;
  border:0;
  outline:none;
  font-size:15px;
  padding:10px 10px;
  background:transparent;
}
.searchbar button{white-space:nowrap}

.search-results{
  display:none;
  margin-top:10px;
  max-width:720px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 16px 50px rgba(10,42,67,.12);
}
.search-results.open{display:block}
.search-item{
  display:flex;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.search-item:last-child{border-bottom:0}
.search-item:hover{background:#f8fafc}
.search-item img{
  width:44px;height:44px;border-radius:12px;object-fit:cover;
  border:1px solid var(--line);background:#eef2f7;
}
.search-item .meta{min-width:0}
.search-item .name{font-weight:800;line-height:1.2}
.search-item .sub{font-size:12px;color:var(--muted);margin-top:2px}
.search-item .right{margin-left:auto;display:flex;align-items:center}

.pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;border-radius:999px;
  border:1px solid var(--line);
  background:#f1f5f9;
  font-size:12px;color:var(--muted);
}
.badge-soft{
  display:inline-flex;align-items:center;
  padding:4px 8px;border-radius:999px;
  border:1px solid rgba(255,102,0,.35);
  background:rgba(255,102,0,.08);
  color:var(--accent);
  font-size:12px;font-weight:800;
}
.hint-row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}

.promo{
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#eef2f7;
  box-shadow:0 16px 50px rgba(10,42,67,.10);
}
.promo img{width:100%;height:100%;object-fit:cover}

.section-alt{background:#fff}
.tiles{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.tiles-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tiles-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

.tile{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  display:block;
  transition:transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}
.tile:hover{
  transform:translateY(-2px);
  border-color:rgba(255,102,0,.35);
  box-shadow:0 18px 45px rgba(10,42,67,.10);
}
.tile-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.tile-icon{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:rgba(255,102,0,.10);
  border:1px solid rgba(255,102,0,.22);
  font-size:20px;
}
.tile-tag{
  font-size:12px;
  font-weight:800;
  color:var(--muted);
  border:1px solid var(--line);
  background:#f8fafc;
  padding:6px 10px;
  border-radius:999px;
}
.tile h3{margin:0 0 6px;font-size:18px}
.tile p{margin:0;color:#45556d}

.chips-catalogo{margin-top:14px}

.chip:hover{border-color:rgba(255,102,0,.35);background:rgba(255,102,0,.06)}

/* =========================
   Catálogos (computo / videovigilancia)
   ========================= */
.catalog-top{background:#fff;border-bottom:1px solid var(--line)}
.catalog-top .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:center}
@media (max-width:920px){.catalog-top .wrap{grid-template-columns:1fr}}

.filters-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}
.filters-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filters-right{display:flex;gap:8px;align-items:center}

.input{width:min(520px,100%);padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;outline:none}
.select{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;outline:none}

.chip.active{border-color:var(--accent);background:rgba(255,102,0,.08);color:var(--ink)}

.product-grid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(var(--cols,4), minmax(0,1fr));
}
@media (max-width:980px){
  .product-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width:560px){
  .product-grid{grid-template-columns:1fr}
}

/* Filtros en desplegables (details) */
.filters-panel{margin-top:14px}
.filter-dd{background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px 12px}
.filter-dd + .filter-dd{margin-top:10px}
.filter-dd summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:900}
.filter-dd summary::-webkit-details-marker{display:none}
.filter-dd .dd-muted{font-size:12px;color:var(--muted);font-weight:700}
.filter-dd-body{padding-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.chip .count{opacity:.8;font-weight:900}

/* Control de columnas (botonera) */
.cols-toggle{display:flex;gap:6px;align-items:center}
.cols-toggle a{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:10px;
  border:1px solid var(--line);background:#fff;font-weight:900;color:var(--ink)
}
.cols-toggle a.active{border-color:rgba(255,102,0,.55);background:rgba(255,102,0,.10)}
.p-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:transform .08s ease, box-shadow .08s ease}
.p-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(10,42,67,.10)}
.p-thumb{aspect-ratio:16/10;background:#fff;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.p-thumb img{width:100%;height:100%;object-fit:contain;padding:10px}

/* Thumb tweaks by cols (para que no se recorten) */
.product-grid.cols-1 .p-thumb{aspect-ratio:16/9}
.product-grid.cols-2 .p-thumb{aspect-ratio:16/9}
.product-grid.cols-5 .p-thumb img,
.product-grid.cols-6 .p-thumb img{padding:6px}

.p-body{padding:12px 12px 10px}
.p-title{margin:0 0 6px;font-size:15px;line-height:1.2;font-weight:800}
.p-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.p-badge{font-size:11px;border-radius:999px;padding:4px 8px;border:1px solid var(--line);background:#f1f5f9;color:var(--muted)}
.p-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:auto;padding:0 12px 12px}
.p-price{font-weight:900;font-size:18px}
.p-subprice{font-size:12px;color:var(--muted)}

.modal{position:fixed;inset:0;z-index:80;display:none;background:rgba(0,0,0,.55);padding:18px}
.modal.open{display:flex;align-items:center;justify-content:center}
.modal-card{width:min(980px,100%);background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 60px rgba(0,0,0,.25)}
.modal-head{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.modal-title{margin:0;font-size:16px;font-weight:900;line-height:1.2}
.modal-close{border:1px solid var(--line);background:#fff;border-radius:12px;cursor:pointer;width:38px;height:38px;display:grid;place-items:center;font-weight:900}
.modal-body{padding:14px;max-height:min(72vh,720px);overflow:auto}
.modal-body .qv{font-size:14px;line-height:1.45;color:#24384f}
.modal-body .qv img{max-width:100%;height:auto}

/* Quick View media */
.qv-media{margin:10px 0 12px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.qv-media img{display:block;width:100%;height:240px;object-fit:contain;padding:10px;background:#fff}
@media (max-width:560px){.qv-media img{height:200px}}

.modal-foot{padding:12px 14px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
/* Precio destacado en el modal */


/* Precio destacado en el modal (Quick View) */
.modal-price{
  font-family: inherit;
  font-size: 24px;
  font-weight: 900;
  color: var(--accent);
  background: rgba(255,102,0,.10);
  border: 1px solid rgba(255,102,0,.25);
  padding: 10px 14px;
  border-radius: 14px;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  line-height: 1;
  margin-top: 10px;
}

.modal-price::before{
  content: "Precio:";
  font-size: 12px;
  font-weight: 900;
  color: var(--ink);
  opacity: .85;
  letter-spacing: .02em;
}

.chk{display:inline-flex;gap:8px;align-items:center}
.chk input{transform:translateY(1px)}
.pager{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.pager a{padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.10);text-decoration:none}
.pager a.active{border-color: rgba(255,102,0,.45); background: rgba(255,102,0,.10)}




/* === Sidebar filters (left) === */
.filters-panel{
  max-width:320px;
  float:left;
  position:sticky;
  top:110px;
  margin-top:14px;
}
.product-grid{ margin-left:340px; }
.pagination, .pager{ margin-left:340px; }
@media (max-width: 980px){
  .filters-panel{ float:none; max-width:none; position:relative; top:auto; }
  .product-grid{ margin-left:0; }
  .pagination, .pager{ margin-left:0; }
}


/* =========================================
   WCAM-like Sidebar Filters (override)
   ========================================= */

/* Sidebar wrapper */
.filters-panel{
  max-width: 300px;
  float: left;
  position: sticky;
  top: 96px;               /* ajusta según tu header sticky */
  margin-top: 16px;
  padding: 0;
}

/* Grid pushed to the right of sidebar */
.product-grid{ margin-left: 320px; }
.pagination, .pager{ margin-left: 320px; }

@media (max-width: 980px){
  .filters-panel{
    float: none;
    max-width: none;
    position: relative;
    top: auto;
  }
  .product-grid,
  .pagination, .pager{ margin-left: 0; }
}

/* Each filter group as a WCAM-like panel */
.filter-dd{
  background:#fff;
  border:1px solid var(--line);
  border-radius: 6px;
  padding:0;
  overflow:hidden;
  box-shadow: 0 6px 18px rgba(10,42,67,.06);
}
.filter-dd + .filter-dd{ margin-top: 12px; }

/* Panel header */
.filter-dd summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 12px 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  background: #f5f7fb;
  border-bottom: 1px solid var(--line);
  color: #1b2b40;
}
.filter-dd summary::-webkit-details-marker{display:none}

/* +/- indicator like collapsible */
.filter-dd summary:after{
  content: "+";
  width: 22px; height: 22px;
  display:grid; place-items:center;
  border: 1px solid var(--line);
  border-radius: 6px;
  background:#fff;
  font-weight: 900;
  color:#1b2b40;
}
.filter-dd[open] summary:after{ content: "–"; }

/* Optional small muted line under header (if present) */
.filter-dd .dd-muted{
  font-size: 12px;
  color: var(--muted);
  font-weight: 700;
  text-transform:none;
  letter-spacing: 0;
}

/* Body becomes a vertical list */
.filter-dd-body{
  padding: 10px 10px 12px;
  display:block;
}

/* Chips become checkbox-like rows */
.filter-dd-body .chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:10px;

  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid transparent;
  background: transparent;

  font-weight: 700;
  font-size: 13px;
  text-decoration:none;
  color: #1b2b40;
}

/* left checkbox */
.filter-dd-body .chip::before{
  content:"";
  width: 14px; height: 14px;
  border-radius: 3px;
  border: 1px solid rgba(10,42,67,.35);
  background: #fff;
  flex: 0 0 auto;
}

/* counter to the right */
.filter-dd-body .chip .count{
  margin-left:auto;
  font-weight: 900;
  color: var(--muted);
  opacity: 1;
}

/* hover and active */
.filter-dd-body .chip:hover{
  background: #f8fafc;
  border-color: rgba(10,42,67,.12);
}
.filter-dd-body .chip.active{
  background: rgba(10,42,67,.06);
  border-color: rgba(10,42,67,.16);
}
.filter-dd-body .chip.active::before{
  background: rgba(255,102,0,.14);
  border-color: rgba(255,102,0,.55);
  box-shadow: inset 0 0 0 2px rgba(255,102,0,.25);
}

/* Category chips row at top (if you still show category as chips) */
.filters-left .chip{
  border-radius: 8px;
  padding: 8px 10px;
}

/* Tighten filters title zone if you have a label like "Filtros con contadores" */
.filters-panel h3, .filters-panel .panel-title{
  margin: 0 0 10px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
}

/* Make sidebar spacing visually similar */
.filters-panel .filter-dd:first-child{ margin-top: 0; }



/* --- QV: imagen más grande --- */
.qv-media{margin:12px 0 14px}
.qv-media img{width:100%;height:320px;object-fit:contain;border-radius:16px;background:rgba(255,255,255,.04)}
@media (min-width: 720px){
  .qv-media img{height:380px;}
}

.media.media-contain img,
.media .img-contain{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center;
  background:#eef2f7;
}
/* Ajuste: imágenes completas en tarjetas/figuras (usar class="img-contain") */
.imgwrap img.img-contain,
.card-img img.img-contain{
  object-fit:contain !important;
  background:#eef2f7;
}
