/* ===== Wrapper ===== */
.cb-wrap { background:#f9f9f9; padding:12px 16px; border-radius:8px; margin-bottom:20px; }
#cb-buscador .cb-heading{ font-size:1rem; margin:0 0 8px; }

/* Texto solo para lectores de pantalla */
.cb-sr{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ===== Barra única (todo en una línea) ===== */
.cb-bar{ display:flex; align-items:center; gap:8px; flex-wrap:nowrap; }
.cb-field{ display:block; flex:0 0 auto; }
#cb-buscador .cb-field select{ width:92px; height:36px; padding:0 24px 0 10px; font-size:.95rem; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 8px center !important; }
#cb-buscador .cb-field select:disabled{ opacity:.55; cursor:not-allowed; }
.cb-sep{ color:#9ca3af; font-weight:600; flex:0 0 auto; }

/* Tipos */
.cb-checks{ display:flex; gap:6px; margin-left:8px; padding-left:12px; border-left:1px solid #e5e7eb; flex:0 0 auto; }
.cb-check{ display:flex; align-items:center; gap:5px; height:36px; padding:0 10px; border:1px solid #e5e7eb; border-radius:999px; background:#fff; white-space:nowrap; }
.cb-check label{ margin:0; font-size:.9rem; cursor:pointer; }
.cb-check input{ margin:0; }
.cb-check.cb-faded{ opacity:.4; }

/* ===== Botón buscar (oculto) ===== */
.cb-search-bottom{ display:none !important; }
#cb-buscador #cb-search{ padding:10px 16px; border:0; border-radius:8px; background:#111; color:#fff; font-weight:700; cursor:pointer; }
#cb-buscador #cb-search[disabled]{ opacity:.5; cursor:not-allowed; }

/* ===== Vista + orden (a la derecha de la misma línea) ===== */
.cb-toolbar{ display:flex; align-items:center; gap:8px; margin-left:auto; flex:0 0 auto; }
.cb-viewtoggle{ display:flex; gap:0; }
.cb-view-btn{ height:36px; padding:0 12px; border:1px solid #ddd; background:#fff; cursor:pointer; font-weight:600; font-size:.9rem; }
.cb-view-btn:first-child{ border-radius:8px 0 0 8px; }
.cb-view-btn:last-child{ border-radius:0 8px 8px 0; border-left:0; }
.cb-view-btn.is-active{ background:#111; color:#fff; border-color:#111; }
.cb-sort{ display:flex; align-items:center; }
#cb-buscador .cb-sort select{ height:36px; padding:0 10px; font-size:.9rem; cursor:pointer; }

/* Mensaje de ayuda */
.cb-debug{ margin-top:6px; font-size:.85rem; color:#6b7280; }

/* Tablet: medidas + tipos en una línea, vista/orden debajo */
@media (max-width: 900px){
  .cb-bar{ flex-wrap:wrap; }
  .cb-toolbar{ margin-left:0; width:100%; }
}
/* Móvil: medidas en una línea a ancho completo */
@media (max-width: 560px){
  .cb-field{ flex:1 1 0; min-width:0; }
  #cb-buscador .cb-field select{ width:100%; }
  .cb-checks{ margin-left:0; padding-left:0; border-left:0; width:100%; }
  .cb-toolbar{ justify-content:space-between; }
}

/* ===== Resultados grid/list ===== */
.cb-results{ display:grid; gap:14px; margin-top:10px; }
.cb-results[data-view="grid"]{ grid-template-columns: repeat(2, minmax(320px, 1fr)); }
.cb-results[data-view="list"]{ grid-template-columns: 1fr; }
@media (max-width: 640px){
  .cb-results[data-view="grid"]{ grid-template-columns: 1fr; }
}

/* ===== Tarjeta producto ===== */
.cb-card{ display:flex; align-items:flex-start; background:#fafafa; padding:12px; border-radius:6px; border:1px solid #eee; gap:12px; }

/* Imagen miniatura (estilo genérico; será sobrescrito por los estilos de #cb-results) */
.cb-img img{ width:90px; height:auto; border:1px solid #ccc; border-radius:4px; object-fit:cover; display:block; }

/* Info */
.cb-info{ flex:1; }
.cb-title{ font-weight:600; display:block; margin-bottom:5px; color:#0a66c2; text-decoration:none; }
.cb-title:hover{ text-decoration:underline; }

/* ===== Bloque meta: logo izq + texto der ===== */
.cb-meta{ display:flex; align-items:center; gap:12px; margin:2px 0 6px; }
.cb-meta-logo{ display:flex; align-items:center; justify-content:center; }
.cb-brand-logo{ width:60px; height:auto; border:1px solid #e5e7eb; border-radius:6px; display:block; } /* logo + grande */
.cb-meta-info{ display:flex; flex-direction:column; gap:2px; }
.cb-meta-line{ display:flex; align-items:center; gap:6px; font-size:.92rem; color:#6b7280; }
.cb-meta-label{ font-weight:600; color:#6b7280; }
.cb-ref-link{ color:#0a66c2; text-decoration:none; font-weight:600; }
.cb-ref-link:hover{ text-decoration:underline; }

/* Descripción completa */
#cb-results .cb-desc{ color:#4b5563; font-size:.95rem; margin-top:4px; display:block; overflow:visible; white-space:normal; word-break:break-word; }

/* Precios */
.cb-price{ display:flex; gap:8px; align-items:baseline; margin:6px 0 4px; flex-wrap:wrap; }
.cb-price-regular{ color:#9ca3af; text-decoration:line-through; font-size:.98rem; }
.cb-price-final{ color:#d60000; font-weight:700; font-size:1.02rem; }
.cb-price-discount{ color:#d60000; font-weight:700; font-size:.98rem; }

/* Stock */
.cb-stock{ font-size:.92rem; color:#6b7280; }
.cb-stock.out{ color:#b91c1c; }

/* Acciones */
.cb-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:6px; }
.cb-qty{ display:inline-flex; align-items:center; gap:6px; border:1px solid #ccc; border-radius:4px; background:#fff; padding:2px; }
.cb-qty-input{ width:56px; padding:6px 8px; border:none; outline:none; text-align:center; }
.cb-qty-btn{ appearance:none; -webkit-appearance:none; border:none; background:#f0f0f0; padding:6px 10px; cursor:pointer; border-radius:4px; font-weight:700; line-height:1; }
.cb-qty-btn:hover{ filter:brightness(.95); }

.cb-btn-add{ padding:10px 16px; border:1px solid #000; border-radius:6px; background:#000; color:#fff; font-weight:700; cursor:pointer; }
.cb-btn-add[disabled]{ opacity:.6; cursor:not-allowed; }

.cb-btn{ display:inline-block; padding:10px 14px; border:1px solid #ddd; border-radius:6px; background:#fff; color:#333; font-weight:600; text-decoration:none; }
.cb-btn:hover{ background:#f2f2f2; }

/* Estados */
.cb-loading, .cb-empty, .cb-error{ padding:12px; background:#fafafa; border:1px dashed #ddd; border-radius:8px; }

/* Toast */
.cb-toast{ position:fixed; left:50%; top:20px; transform:translateX(-50%); background:#111; color:#fff; padding:10px 14px; border-radius:6px; opacity:0; pointer-events:none; transition:.25s ease; z-index:9999; }
.cb-toast.show{ opacity:1; }
.cb-toast.error{ background:#c00; }

/* ===== Marca / tooltip ===== */
.cb-brand{ display:inline-flex; align-items:center; gap:6px; position:relative; }
.cb-brand::after{ content:none !important; } /* evita iconos de ¿? del tema */
.cb-tip{
  position:absolute;
  z-index:9999;
  background:#111; color:#fff;
  padding:8px 10px; border-radius:6px; max-width:360px; font-size:.92rem;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  pointer-events:none; opacity:0; transition:opacity .12s ease;
}
.cb-tip.show{ opacity:1; }

/* ===== Modal imagen grande ===== */
.cb-img-modal{ position:fixed; inset:0; display:none; z-index:9998; }
.cb-img-modal.show{ display:block; }
.cb-img-modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.cb-img-modal-dialog{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  background:#000; padding:10px; border-radius:8px; max-width:90vw; max-height:90vh;
}
.cb-img-modal-img{ display:block; max-width:86vw; max-height:80vh; }
.cb-img-modal-close{
  position:absolute; right:-10px; top:-10px;
  width:36px; height:36px; border-radius:999px; border:none;
  background:#fff; color:#111; font-size:22px; font-weight:700; cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}

/* ===== Aislar estilos dentro del wrapper ===== */
#cb-buscador, #cb-buscador * { box-sizing: border-box; }
#cb-buscador .cb-card{ background:#fafafa !important; border:1px solid #eee !important; border-radius:6px !important; }
#cb-buscador .cb-btn-add{ border:1px solid #000 !important; background:#000 !important; color:#fff !important; border-radius:6px !important; font-weight:700 !important; }
#cb-buscador .cb-btn{ border:1px solid #ddd !important; background:#fff !important; color:#333 !important; border-radius:6px !important; font-weight:600 !important; }
#cb-buscador select, #cb-buscador input[type="number"], #cb-buscador .cb-qty-btn{
  -webkit-appearance:none; appearance:none; background:#fff !important; color:#333 !important; border:1px solid #ccc !important; border-radius:4px !important;
}
#cb-buscador .cb-empty, #cb-buscador .cb-loading, #cb-buscador .cb-error{
  background:#fafafa !important; border:1px dashed #ddd !important; color:#333 !important;
}

/* ====== Medidas por llanta en ficha ====== */
.cb-measures{ margin-top:14px; }
.cb-measures-ref{ margin:8px 0 10px; font-size:1.02rem; }

.cb-mgrid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:12px;
}
.cb-mcol{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:0 1px 2px rgba(16,24,40,.06);
  padding:10px;
}
.cb-mcol-title{
  font-weight:700;
  margin-bottom:8px;
  color:#111;
}
.cb-mcol-list{
  list-style:none;
  padding:0; margin:0;
  display:flex; flex-direction:column; gap:6px;
}
.cb-mpill{
  display:inline-block;
  background:#f7f7f7;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:6px 10px;
  font-size:.95rem;
  color:#374151;
  white-space:nowrap;
}

/* ===== Tabla de medidas en ficha dentro de la descripción ===== */
#cb-measures-block { margin-top: 16px; }
#cb-measures-block h3 { margin-bottom: 8px; }
.cb-measures-note { margin-bottom: 8px; color:#555; font-size:.95rem; }

.cb-measures-table-inline th, 
.cb-measures-table-inline td { 
  vertical-align: top; 
}
.cb-sizes-list { 
  margin: 0; 
  padding-left: 18px; 
  list-style: disc; 
}
.cb-sizes-list li { margin: 2px 0; }

.cb-metal-warning{
  margin:8px 0;
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.08);
  border-left:4px solid #b45309;
  background:#fff7ed;
  line-height:1.35;
}

/* ======== Modernización resultados ======== */

/* grid responsive del contenedor de resultados */
#cb-results[data-view="grid"]{
  display: grid;
  grid-template-columns: repeat(2, 1fr) !important;  /* 2 columnas fijas */
  gap: 16px;
}
@media (max-width: 900px){
  #cb-results[data-view="grid"]{ grid-template-columns: 1fr !important; }
}

/* tarjeta base */
#cb-results .cb-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
  transition: transform .12s ease, box-shadow .12s ease;
}
#cb-results .cb-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

/* --- NUEVO: estructura interna para evitar la "tercera columna" --- */
/* En vista GRID la tarjeta es vertical (media arriba, info abajo) */
#cb-results[data-view="grid"] .cb-card{ display:block !important; }
#cb-results .cb-media{ display:flex; flex-direction:column; }

/* En vista LISTA la tarjeta son 2 columnas: media izquierda + info derecha */
#cb-results[data-view="list"] .cb-card{ display:grid !important; grid-template-columns: 260px 1fr; gap:16px; }
#cb-results[data-view="list"] .cb-media{ grid-column: 1 / 2; }
#cb-results[data-view="list"] .cb-info{ grid-column: 2 / 3; }

/* imagen con ratio fijo y badge de descuento */
#cb-results .cb-img{
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;           /* evita saltos de layout */
  background: #f6f7f9;
}
#cb-results .cb-img img{
  width: 100%; height: 100%; object-fit: contain;
}

/* badge de descuento SOLO sobre la foto */
#cb-results .cb-img .cb-badge-discount{
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .85rem;
  background: #ef4444;
  color: #fff;
  box-shadow: 0 2px 8px rgba(239,68,68,.35);
}
/* badge "Envío gratis" SOLO sobre la foto (lado derecho) */
#cb-results .cb-img .cb-badge-ship{
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .85rem;
  background: #10b981;   /* verde */
  color: #fff;
  box-shadow: 0 2px 8px rgba(16,185,129,.35);
  white-space: nowrap;
}
/* neutraliza el % en el bloque de precio, si existiera */
#cb-results .cb-price .cb-price-discount{
  position: static !important;
  background: none !important;
  color: #9ca3af !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: none !important;
}

/* contenido */
#cb-results .cb-info{ padding: 12px 14px 14px; }
#cb-results .cb-title{
  display: block; font-size: 1rem; line-height: 1.3;
  font-weight: 600; margin-bottom: 6px; color: #111827;
  text-decoration: none;
}
#cb-results .cb-title:hover{ text-decoration: underline; }

/* meta fabricante */
#cb-results .cb-meta{ display: grid; grid-template-columns: 56px 1fr !important; gap: 10px; align-items: start; margin: 6px 0 8px; }
#cb-results .cb-meta-logo img{ width: 56px !important; height: 56px !important; object-fit: contain; filter: saturate(.9); }
#cb-results .cb-meta-label{ color:#6b7280; font-size:.85rem; margin-right:6px; }
#cb-results .cb-ref-code .cb-ref-link{ color:#374151; }

/* aviso metálicas */
#cb-results .cb-metal-warning{
  margin: 8px 0; padding: 8px 10px;
  border: 1px solid rgba(0,0,0,.08);
  border-left: 4px solid #b45309;
  background: #fff7ed; line-height: 1.35;
  border-radius: 8px;
}

/* descripción compacta */
#cb-results .cb-desc{
  color:#374151; font-size:.92rem; line-height:1.45;
  margin: 6px 0 10px;
}

/* bloque de precio */
#cb-results .cb-price{
  display:flex; align-items:baseline; gap:8px; margin: 4px 0 6px;
}
#cb-results .cb-price-final{ font-size:1.25rem; font-weight:700; color:#111827; }
#cb-results .cb-price-regular{
  color:#9ca3af; text-decoration: line-through; font-size:.95rem;
}

/* stock pill */
#cb-results .cb-stock{ display:inline-block; padding:3px 8px; border-radius:999px; font-size:.8rem; font-weight:600; }
#cb-results .cb-stock.in{ background:#ecfdf5; color:#065f46; }
#cb-results .cb-stock.out{ background:#fef2f2; color:#991b1b; }

/* acciones */
#cb-results .cb-actions{ display:flex; gap:10px; align-items:center; margin-top: 10px; flex-wrap:wrap; }
#cb-results .cb-qty{ display:flex; align-items:center; gap:6px; background:#f3f4f6; border-radius:12px; padding:4px; }
#cb-results .cb-qty-input{ width:54px; text-align:center; border:0; background:transparent; font-weight:600; }
#cb-results .cb-qty-btn{ width:28px; height:28px; border:0; background:#fff; border-radius:8px; box-shadow:0 1px 2px rgba(0,0,0,.06); cursor:pointer; }
#cb-results .cb-qty-btn:active{ transform: translateY(1px); }

#cb-results .cb-btn-add{
  appearance:none; border:0; border-radius:10px;
  background:#111827; color:#fff; padding:10px 14px;
  font-weight:700; cursor:pointer; flex:1;
}
#cb-results .cb-btn-add[disabled]{ opacity:.5; cursor:not-allowed; }
#cb-results .cb-btn{ 
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #e5e7eb; border-radius:10px; padding:10px 14px;
  background:#fff; color:#111827; text-decoration:none;
}

/* móvil: botones a ancho completo */
@media (max-width: 640px){
  #cb-results .cb-actions{ flex-direction:column; align-items:stretch; }
  #cb-results .cb-btn-add, #cb-results .cb-btn{ width:100%; }
}

/* vista lista */
#cb-results[data-view="list"] .cb-card{ display:grid; grid-template-columns: 220px 1fr; }
@media (max-width: 900px){
  #cb-results[data-view="list"] .cb-card{ grid-template-columns: 1fr; }
}

/* loader */
#cb-results .cb-loading{
  padding:20px; border:1px dashed #e5e7eb; border-radius:12px; text-align:center; color:#6b7280;
}

/* ===== Compartir (debajo de la foto, con iconos) ===== */
#cb-results .cb-share{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  padding:8px 12px; border-top:1px solid rgba(0,0,0,.06);
}
#cb-results .cb-share a,
#cb-results .cb-share button{
  appearance:none; border:1px solid #e5e7eb; background:#fff; color:#111827;
  border-radius:999px; padding:6px 10px; font-size:.85rem; line-height:1; cursor:pointer;
  text-decoration:none; display:inline-flex; align-items:center; gap:6px;
}
#cb-results .cb-share .cb-share-native{
  background:#111827; color:#fff; border-color:#111827;
}
#cb-results .cb-share button.cb-share-copy{ border-style:dashed; }
#cb-results .cb-share a:hover,
#cb-results .cb-share button:hover{ filter:brightness(.95); }
#cb-results .cb-share svg{ width:16px; height:16px; display:block; }
/* === FORZAR 2 COLUMNAS DENTRO DE CADA TARJETA TAMBIÉN EN GRID === */
/* Tarjeta en GRID: 2 columnas (media izquierda + info derecha) */
#cb-results[data-view="grid"] .cb-card{
  display: grid !important;
  grid-template-columns: 260px 1fr;  /* ancho fijo de columna izquierda */
  gap: 16px;
}

/* Mantén la estructura interna: media (foto+compartir) encima/izq, info a la derecha */
#cb-results .cb-media{ 
  display: flex; 
  flex-direction: column; 
  grid-column: 1 / 2;
}
#cb-results .cb-info{ 
  grid-column: 2 / 3; 
}

/* En LIST ya lo tenías en 2 columnas; dejamos igual o igualamos a 260px si prefieres */
#cb-results[data-view="list"] .cb-card{
  display: grid !important;
  grid-template-columns: 260px 1fr;  /* si quieres dejar 220px, cambia aquí */
  gap: 16px;
}

/* Responsive: en pantallas pequeñas, ambas vistas se apilan a 1 columna */
@media (max-width: 900px){
  #cb-results[data-view="grid"] .cb-card,
  #cb-results[data-view="list"] .cb-card{
    grid-template-columns: 1fr !important;
  }
  /* cuando hay 1 columna, que ambos bloques ocupen todo el ancho en orden natural */
  #cb-results .cb-media,
  #cb-results .cb-info{
    grid-column: 1 / -1;
  }
}

/* (opcional) si el texto de compartir te rompe altura, evita que se encoja la columna izq */
#cb-results .cb-media { min-width: 0; }
#cb-results .cb-info  { min-width: 0; }

/* META adaptable: la 1ª columna se ajusta al ancho del logo */
#cb-results .cb-meta{
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 10px !important;
  align-items: start !important;
}
#cb-results .cb-meta-logo img{
  width: 72px !important;   /* pon el tamaño que quieras */
  height: 72px !important;
  object-fit: contain;
}
/* La fila del meta sigue en grid, y centramos el bloque derecho */
#cb-results .cb-meta-info{
  align-self: center !important;
}


/* ===== Resaltado del buscador ===== */
#cb-buscador.cb-wrap{ position:relative; padding:18px 20px 14px; border-radius:12px; }
#cb-buscador .cb-heading{ display:flex; align-items:center; gap:8px; font-size:1.15rem; font-weight:700; margin:0 0 12px; }
#cb-buscador .cb-heading::before{ content:""; width:22px; height:22px; flex:0 0 22px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4.9 6.5l14.2 11M4.9 17.5l14.2-11M9 3.5l3 2.5 3-2.5M9 20.5l3-2.5 3 2.5M2.6 9.8l3.9.7-1.3 3.7M21.4 14.2l-3.9-.7 1.3-3.7M2.6 14.2l3.9-.7-1.3-3.7M21.4 9.8l-3.9.7 1.3 3.7'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M4.9 6.5l14.2 11M4.9 17.5l14.2-11M9 3.5l3 2.5 3-2.5M9 20.5l3-2.5 3 2.5M2.6 9.8l3.9.7-1.3 3.7M21.4 14.2l-3.9-.7 1.3-3.7M2.6 14.2l3.9-.7-1.3-3.7M21.4 9.8l-3.9.7 1.3 3.7'/%3E%3C/svg%3E") center/contain no-repeat; }
#cb-buscador .cb-field select:not(:disabled){ font-weight:600; }
#cb-buscador .cb-field select:focus{ outline:2px solid var(--cb-accent); outline-offset:1px; }
/* A: Azul invierno */
#cb-buscador.cb-wrap{ --cb-accent:#7cc4ff; background:linear-gradient(135deg,#0b3a5b 0%,#1565a0 100%); color:#fff; box-shadow:0 8px 24px rgba(11,58,91,.25); }
#cb-buscador .cb-heading, #cb-buscador .cb-sep{ color:#fff; }
#cb-buscador .cb-sep{ opacity:.7; }
#cb-buscador .cb-field select:disabled{ opacity:.6; }
#cb-buscador .cb-checks{ border-left-color:rgba(255,255,255,.25); }
#cb-buscador .cb-check{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); color:#fff; }
#cb-buscador .cb-check label{ color:#fff; }
#cb-buscador .cb-check.cb-faded, #cb-buscador .cb-check:has(input:disabled){ opacity:.5; }
#cb-buscador .cb-view-btn{ border-color:rgba(255,255,255,.4); background:transparent; color:#fff; }
#cb-buscador .cb-view-btn.is-active{ background:#fff; color:#0b3a5b; border-color:#fff; }
#cb-buscador .cb-debug{ color:rgba(255,255,255,.8); }

/* ===== v1.7: caja única con sugerencias ===== */
.cb-box{ position:relative; flex:1 1 320px; max-width:460px; min-width:0; }
#cb-buscador .cb-q{ width:100%; height:40px; padding:0 12px; border:0 !important; border-radius:6px; font-size:1rem; color:#111; background:#fff; box-shadow:none; }
#cb-buscador .cb-q:focus{ outline:2px solid var(--cb-accent,#7cc4ff); outline-offset:1px; }
#cb-buscador .cb-sug{ position:absolute; left:0; right:0; top:44px; z-index:50; background:#fff; color:#111; border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.25); max-height:320px; overflow:auto; }
#cb-buscador .cb-sug[hidden]{ display:none; }
#cb-buscador .cb-sug-item{ display:flex; justify-content:space-between; gap:10px; padding:8px 12px; cursor:pointer; border-bottom:1px solid #f1f5f9; }
#cb-buscador .cb-sug-item:hover, #cb-buscador .cb-sug-item.is-active{ background:#e8f1f9; }
#cb-buscador .cb-sug-item small{ color:#6b7280; white-space:nowrap; }
#cb-buscador .cb-sug-empty{ padding:8px 12px; color:#6b7280; }
#cb-buscador .cb-bar{ flex-wrap:wrap; row-gap:10px; }
#cb-buscador .cb-check{ height:40px; }
#cb-buscador .cb-check:has(input:disabled){ opacity:1; }
#cb-buscador .cb-check input{ cursor:pointer; }

/* etiquetas de tipo y neumático en las tarjetas */
#cb-results .cb-types{ display:flex; gap:6px; margin:2px 0 6px; flex-wrap:wrap; }
#cb-results .cb-type-tag{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:.78rem; font-weight:600; }
#cb-results .cb-type-M{ background:#fff7ed; color:#9a3412; }
#cb-results .cb-type-T{ background:#ecfdf5; color:#065f46; }
#cb-results .cb-type-P{ background:#eef2ff; color:#3730a3; }
#cb-results .cb-tyres{ display:flex; gap:6px; flex-wrap:wrap; margin:4px 0 8px; }
#cb-results .cb-tyre{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:.78rem; font-weight:600; background:#f1f5f9; color:#334155; }

@media (max-width: 560px){
  .cb-box{ flex:1 1 100%; max-width:none; }
}

/* resultados dentro del bloque azul: texto oscuro legible */
#cb-buscador .cb-results{ color:#374151; }
#cb-results .cb-metal-warning{ color:#7c2d12; }
#cb-buscador .cb-checks{ flex-wrap:wrap; }
#cb-buscador .cb-check{ height:36px; }

/* sin precio visible: "Consultar" */
#cb-results .cb-price-ask{ font-weight:700; color:#0b3a5b; }
#cb-results a.cb-btn-ask{ display:inline-flex; align-items:center; justify-content:center; text-decoration:none; color:#fff !important; }

/* ===================================================================
   v1.7.1 · Tarjeta de resultados "diseño A"
   cabecera (foto 210 px + título/fabricante/etiquetas) · aviso y descripción a todo el ancho · barra inferior
   =================================================================== */
#cb-results[data-view="grid"]{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:16px; }
#cb-results[data-view="list"]{ display:grid; grid-template-columns:minmax(0,1fr) !important; gap:16px; }
@media (max-width: 980px){ #cb-results[data-view="grid"]{ grid-template-columns:minmax(0,1fr) !important; } }

#cb-results .cb-acard{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:12px; box-shadow:0 1px 6px rgba(0,0,0,.05);
  padding:14px; display:flex; flex-direction:column; gap:10px; min-width:0; color:#374151; }
#cb-results .cb-ahead{ display:grid; grid-template-columns:210px minmax(0,1fr); gap:16px; align-items:start; }
#cb-results .cb-aimg{ position:relative; display:block; width:210px; height:210px; border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; background:#fff; }
#cb-results .cb-aimg img{ width:100%; height:100%; object-fit:contain; display:block; }
#cb-results .cb-abadge{ position:absolute; padding:3px 8px; border-radius:999px; font-size:.75rem; font-weight:700; color:#fff; white-space:nowrap; }
#cb-results .cb-abadge-disc{ top:8px; left:8px; background:#ef4444; }
#cb-results .cb-abadge-ship{ bottom:8px; left:8px; background:#10b981; }

#cb-results .cb-ahinfo{ display:flex; flex-direction:column; gap:10px; min-width:0; }
#cb-results .cb-atitle{ font-weight:700; font-size:1.05rem; line-height:1.3; color:#111827; text-decoration:none; }
#cb-results .cb-atitle:hover{ text-decoration:underline; }

/* fabricante: logo grande + nombre y referencia */
#cb-results .cb-ameta{ display:flex; align-items:center; gap:12px; min-width:0; }
#cb-results .cb-alogo{ flex:0 0 auto; width:110px; height:60px; display:flex; align-items:center; justify-content:center;
  border:1px solid #e5e7eb; border-radius:8px; background:#fff; padding:4px; }
#cb-results .cb-alogo img{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
#cb-results .cb-ameta-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; font-size:.88rem; color:#6b7280; }
#cb-results .cb-abrand{ font-weight:700; color:#374151; }
#cb-results .cb-aref{ white-space:nowrap; }
#cb-results .cb-aref a{ color:#374151; font-weight:600; text-decoration:none; }
#cb-results .cb-aref a:hover{ text-decoration:underline; }

#cb-results .cb-atags{ display:flex; gap:6px; flex-wrap:wrap; }
#cb-results .cb-atags:empty{ display:none; }

#cb-results .cb-acard .cb-metal-warning{ margin:0; font-size:.82rem; line-height:1.35; padding:6px 10px; border-radius:6px; }
#cb-results .cb-adesc{ font-size:.9rem; line-height:1.45; color:#4b5563; }
#cb-results .cb-adesc p{ margin:0 0 4px; }

#cb-results .cb-afoot{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  border-top:1px solid #e5e7eb; padding-top:10px; margin-top:auto; }
#cb-results .cb-afoot-l{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#cb-results .cb-afoot .cb-price{ margin:0; }
#cb-results .cb-afoot .cb-actions{ margin:0; flex-wrap:wrap; }
#cb-results .cb-afoot .cb-btn-add{ flex:0 0 auto; }

/* lista: más aire horizontal */
#cb-results[data-view="list"] .cb-acard{ display:grid; grid-template-columns:minmax(0,1fr); }

@media (max-width: 560px){
  #cb-results .cb-ahead{ grid-template-columns:120px minmax(0,1fr); gap:12px; }
  #cb-results .cb-aimg{ width:120px; height:120px; }
  #cb-results .cb-alogo{ width:80px; height:44px; }
  #cb-results .cb-abadge-ship{ font-size:.66rem; padding:2px 6px; right:6px; left:6px; bottom:6px; white-space:normal; text-align:center; line-height:1.2; }
  #cb-results .cb-ameta{ flex-direction:column; align-items:flex-start; gap:6px; }
  #cb-results .cb-aref{ white-space:normal; overflow-wrap:anywhere; }
  #cb-results .cb-afoot .cb-actions{ width:100%; }
}

/* v1.7.2 · diseño 2: logo cuadrado grande (96 px) junto a marca y referencia */
#cb-results .cb-ameta{ gap:12px; }
#cb-results .cb-alogo{ width:96px; height:96px; padding:6px; border-radius:10px; }
@media (max-width: 560px){
  #cb-results .cb-ameta{ flex-direction:row; align-items:center; }
  #cb-results .cb-alogo{ width:64px; height:64px; padding:4px; }
}

/* v1.8.0 · estado de los filtros visible aunque el tema oculte o restyle la casilla */
#cb-buscador .cb-check{ transition:background .15s, border-color .15s, opacity .15s; }
#cb-buscador .cb-check:has(input:checked){ background:#fff; border-color:#fff; }
#cb-buscador .cb-check:has(input:checked) label{ color:#0b3a5b !important; font-weight:700; }
#cb-buscador .cb-check:not(:has(input:checked)){ background:transparent; opacity:.7; }
#cb-buscador .cb-check:not(:has(input:checked)) label{ text-decoration:line-through; }

/* ===================================================================
   B2B · tema gris grafito + naranja (diferencia con acusticar.com)
   =================================================================== */
#cb-buscador.cb-wrap{
  --cb-accent:#f97316;
  background:linear-gradient(135deg,#1f2937 0%,#374151 100%);
  border-top:4px solid #f97316;
  box-shadow:0 8px 24px rgba(17,24,39,.28);
}
#cb-buscador .cb-heading::before{ color:#f97316; }
#cb-buscador .cb-q:focus{ outline-color:#f97316; }
#cb-buscador .cb-sug-item:hover, #cb-buscador .cb-sug-item.is-active{ background:#fff1e6; }
#cb-buscador .cb-check:has(input:checked){ background:#f97316; border-color:#f97316; }
#cb-buscador .cb-check:has(input:checked) label{ color:#fff !important; }
#cb-buscador .cb-check input{ accent-color:#f97316; }
#cb-buscador .cb-view-btn.is-active{ background:#f97316; color:#fff; border-color:#f97316; }
#cb-buscador .cb-checks{ border-left-color:rgba(255,255,255,.2); }

/* tarjetas: esquinas algo más rectas y línea superior naranja */
#cb-results .cb-acard{ border-radius:8px; border-top:3px solid #f97316; }
#cb-results .cb-aimg{ border-radius:6px; }
#cb-results .cb-atitle{ color:#111827; }
#cb-results .cb-price-ask{ color:#c2410c; }
#cb-results a.cb-btn-ask, #cb-results .cb-btn-add{ background:#1f2937 !important; border-color:#1f2937 !important; }
#cb-results .cb-btn-add:hover, #cb-results a.cb-btn-ask:hover{ background:#f97316 !important; border-color:#f97316 !important; }

/* precio sin IVA: etiqueta bien visible */
#cb-results .cb-price{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
#cb-results .cb-vat{
  display:inline-block; padding:3px 8px; border-radius:4px;
  background:#fff7ed; color:#9a3412; border:1px solid #fdba74;
  font-size:.78rem; font-weight:800; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap;
}

/* B2B · etiqueta IVA más visible y descripción con la fuente normal de la página */
#cb-results .cb-price-final{ font-size:1.35rem; }
#cb-results .cb-vat{
  background:#f97316; color:#fff; border:0; border-radius:4px;
  padding:4px 10px; font-size:.85rem; font-weight:800; letter-spacing:.04em;
}
#cb-results .cb-adesc,
#cb-results .cb-adesc *{ font-size:1rem !important; line-height:1.5; color:#374151; }
