/* Nonno Autopartes — Buscador por vehículo + compatibilidad
   Desarrollado por Mercado Inteligente CX - https://mercadointeligente.net/ */

:root{
  --micx-azul:#00246d;
  --micx-azul-claro:#0a3a9e;
  --micx-negro:#000000;
  --micx-gris:#f5f6f8;
  /* Acento de las herramientas: gris acero. Se distingue del azul de las
     autopartes de un vistazo sin salirse de la paleta de la tienda. */
  --micx-herr:#37414f;
  --micx-herr-claro:#4b5666;
  --micx-ring:2px;
}

/* Color de acento según el rubro de la página. Las reglas de más abajo
   usan --micx-acento y quedan servidas para los dos casos. */
body{ --micx-acento:var(--micx-azul); --micx-acento-rgb:0,36,109; }
body.micx-rubro-herramientas{ --micx-acento:var(--micx-herr); --micx-acento-rgb:55,65,79; }

/* ------------------------------------------------------------------ *
 * 1. BUSCADOR AVANZADO + TOGGLE
 * ------------------------------------------------------------------ */
.micx-buscador{ padding:30px 0 10px; }
.micx-buscador *{ box-sizing:border-box; }

.micx-tabs{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.micx-tabs-label{ font-weight:700; font-size:15px; margin-right:4px; color:var(--micx-negro); }
.micx-tab{
  -webkit-appearance:none; appearance:none;
  font-family:inherit; font-weight:700; font-size:14px; line-height:1;
  padding:11px 28px; border-radius:6px; cursor:pointer;
  border:2px solid var(--micx-azul); background:#fff; color:var(--micx-azul);
  transition:background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.micx-tab:hover{ box-shadow:0 0 0 3px rgba(0,36,109,.15); }
.micx-tab.is-active{ background:var(--micx-azul); border-color:var(--micx-azul); color:#fff; }

.micx-panel{
  display:grid; grid-template-columns:210px 1fr;
  border-radius:12px; overflow:hidden;
  background:var(--micx-gris); border:1px solid #e3e6ec;
}
.micx-panel-titulo{
  background:var(--micx-azul); color:#fff;
  display:flex; flex-direction:column; justify-content:center;
  padding:24px 22px; font-size:26px; line-height:1.03; font-weight:800; letter-spacing:-.6px;
}
.micx-form{ padding:20px 22px; }
.micx-campos{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:12px; align-items:end; }
.micx-campo{ display:flex; flex-direction:column; gap:7px; min-width:0; }
.micx-campo > span{ color:var(--micx-negro); font-size:13px; font-weight:700; }
.micx-campo select,
.micx-campo input{
  height:44px; width:100%; padding:0 11px;
  font-family:inherit; font-size:14px; color:var(--micx-negro);
  background:#fff; border:1px solid #ccd2dd; border-radius:6px;
}
.micx-campo select{ cursor:pointer; }
.micx-campo select:focus,
.micx-campo input:focus{ outline:2px solid var(--micx-azul); outline-offset:0; border-color:var(--micx-azul); }
.micx-buscar{
  height:44px; padding:0 30px; border:0; border-radius:6px; cursor:pointer;
  background:var(--micx-azul); color:#fff;
  font-family:inherit; font-weight:800; font-size:15px; white-space:nowrap;
  transition:background-color .2s ease, box-shadow .2s ease;
}
.micx-buscar:hover{ background:var(--micx-azul-claro); box-shadow:0 6px 18px rgba(0,36,109,.3); }
.micx-buscar[disabled]{ opacity:.65; cursor:progress; }

@media (max-width:1199px){ .micx-campos{ grid-template-columns:repeat(2,minmax(0,1fr)); } .micx-buscar{ grid-column:1/-1; } }
@media (max-width:767px){
  .micx-buscador{ padding:22px 0 6px; }
  .micx-panel{ grid-template-columns:1fr; }
  .micx-panel-titulo{ flex-direction:row; gap:8px; padding:15px 18px; font-size:19px; }
  .micx-form{ padding:16px 18px; }
}

/* ------------------------------------------------------------------ *
 * 2. BARRA "MI VEHÍCULO"
 * ------------------------------------------------------------------ */
.micx-barra-veh{ background:var(--micx-azul); color:#fff; font-size:14px; }
.micx-barra-veh *{ box-sizing:border-box; }
.micx-barra-inner{
  display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap;
  padding:11px 15px; min-height:46px;
}
.micx-barra-txt{ display:flex; align-items:center; gap:7px; margin-right:auto; }
.micx-barra-txt strong{ color:#fff; font-weight:800; }
.micx-barra-veh svg{ width:17px; height:17px; flex:0 0 auto; fill:#fff; }
.micx-barra-link{
  -webkit-appearance:none; appearance:none; border:0; background:none; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:700; color:#fff;
  text-decoration:underline; padding:4px 2px; white-space:nowrap;
}
.micx-barra-link:hover{ opacity:.8; }
.micx-barra-link.is-cta{
  text-decoration:none; background:#fff; color:var(--micx-azul);
  border-radius:6px; padding:8px 16px;
}
.micx-barra-link.is-cta:hover{ opacity:1; background:#eef1f7; }
.micx-barra-x{
  -webkit-appearance:none; appearance:none; border:0; cursor:pointer;
  background:rgba(255,255,255,.16); color:#fff; border-radius:50%;
  width:26px; height:26px; font-size:17px; line-height:1; flex:0 0 auto;
}
.micx-barra-x:hover{ background:rgba(255,255,255,.3); }

.micx-barra-form{ display:none; width:100%; gap:10px; flex-wrap:wrap; align-items:flex-end; }
.micx-barra-veh.is-editando .micx-barra-form{ display:flex; }
.micx-barra-veh.is-editando .micx-barra-txt,
.micx-barra-veh.is-editando .micx-barra-acciones{ display:none; }
.micx-barra-acciones{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.micx-barra-campo{ display:flex; flex-direction:column; gap:4px; }
.micx-barra-campo span{ font-size:11px; font-weight:700; color:rgba(255,255,255,.75); }
.micx-barra-campo input, .micx-barra-campo select{
  height:36px; border:1px solid #ccd2dd; border-radius:6px; padding:0 9px;
  font-family:inherit; font-size:13px; background:#fff; color:var(--micx-negro); min-width:110px;
}
@media (max-width:767px){
  .micx-barra-txt{ width:100%; margin-right:0; }
  .micx-barra-campo{ flex:1 1 100px; }
  .micx-barra-campo input, .micx-barra-campo select{ min-width:0; width:100%; }
}

/* ------------------------------------------------------------------ *
 * 3. FICHA DEL PRODUCTO
 * ------------------------------------------------------------------ */
.micx-ficha{
  position:relative; margin:0 0 24px; padding:20px 22px 18px;
  background:linear-gradient(180deg,#fcfcfd 0%,#f5f6f8 100%);
  border:1px solid #e3e6ec; border-radius:12px; overflow:hidden;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.micx-ficha:hover{
  border-color:var(--micx-azul);
  box-shadow:0 10px 28px rgba(0,36,109,.12);
  transform:translateY(-2px);
}
.micx-ficha::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--micx-azul);
}
.micx-ficha::after{
  content:''; position:absolute; top:0; left:-40%; width:40%; height:4px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
  animation:micx-destello 5s ease-in-out 1.2s infinite;
}
@keyframes micx-destello{
  0%   { left:-40% }
  55%  { left:100% }
  100% { left:100% }
}

.micx-ficha-titulo{
  display:flex; align-items:center; gap:9px;
  font-size:13px; font-weight:800; letter-spacing:.11em; text-transform:uppercase;
  color:var(--micx-azul); margin:0 0 16px;
}
.micx-ficha-titulo svg{ width:19px; height:19px; fill:var(--micx-azul); flex:0 0 auto; }

.micx-chips{ display:flex; flex-wrap:wrap; gap:9px; margin:0 0 16px; }
.micx-chip{
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px; border-radius:99px;
  background:#fff; border:1.5px solid #dfe3ea;
  font-size:13.5px; font-weight:600; color:var(--micx-negro); line-height:1.2;
  transition:border-color .2s ease, background-color .2s ease, transform .2s ease;
}
.micx-chip svg{ width:15px; height:15px; fill:#8b93a3; flex:0 0 auto; transition:fill .2s ease; }
.micx-chip:hover{ border-color:var(--micx-azul); background:#f2f5fc; transform:translateY(-2px); }
.micx-chip:hover svg{ fill:var(--micx-azul); }
.micx-chip b{ font-weight:800; }

.micx-ficha-resumen{ font-size:14.5px; line-height:1.6; margin:0 0 16px; color:#333; }

.micx-ficha-tabla{ width:100%; border-collapse:collapse; font-size:14px; margin:0 0 16px; }
.micx-ficha-tabla th, .micx-ficha-tabla td{
  text-align:left; padding:9px 12px; border-bottom:1px solid #e7eaf0; vertical-align:top;
}
.micx-ficha-tabla th{ width:38%; font-weight:700; color:#5c6270; }
.micx-ficha-tabla tr:last-child th, .micx-ficha-tabla tr:last-child td{ border-bottom:0; }

.micx-ventajas{
  list-style:none; margin:0; padding:15px 0 0; border-top:1px solid #e3e6ec;
  display:flex; flex-wrap:wrap; gap:9px 22px;
}
.micx-ventajas li{ display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:#3a3a3a; }
.micx-ventajas svg{
  width:17px; height:17px; flex:0 0 auto; fill:#fff;
  background:var(--micx-azul); border-radius:50%; padding:3px;
}
.micx-ficha-nota{ font-size:11.5px; color:#9aa0ac; margin:14px 0 0; line-height:1.45; }

/* Entrada animada. Se usa `transition` y no `animation`: el estado final lo
   define .is-visible, así que si el navegador no anima, igual se ve. */
.micx-anim{
  opacity:0; transform:translateY(14px);
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.3,1);
}
.micx-anim.is-visible{ opacity:1; transform:none; }
.micx-anim .micx-chip{
  opacity:0; transform:translateY(8px);
  transition:opacity .4s ease, transform .4s ease, border-color .2s ease, background-color .2s ease;
}
.micx-anim.is-visible .micx-chip{ opacity:1; transform:none; }
.micx-anim.is-visible .micx-chip:nth-child(1){ transition-delay:.14s }
.micx-anim.is-visible .micx-chip:nth-child(2){ transition-delay:.22s }
.micx-anim.is-visible .micx-chip:nth-child(3){ transition-delay:.30s }
.micx-anim.is-visible .micx-chip:nth-child(4){ transition-delay:.38s }
.micx-anim.is-visible .micx-chip:nth-child(5){ transition-delay:.46s }
.micx-anim.is-visible .micx-chip:hover{ transition-delay:0s; transform:translateY(-2px); }

@media (max-width:575px){
  .micx-ficha{ padding:18px 16px 16px; }
  .micx-ventajas{ flex-direction:column; gap:10px; }
}

/* ------------------------------------------------------------------ *
 * 4. WHATSAPP Y AVISO DE COMPATIBILIDAD
 * ------------------------------------------------------------------ */
.micx-wa-btn{
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; margin-top:10px; padding:13px 18px; border-radius:6px;
  background:#fff; color:#128c7e !important; border:2px solid #128c7e;
  font-weight:700; font-size:15px; text-decoration:none !important;
  transition:background-color .2s ease, color .2s ease;
}
.micx-wa-btn svg{ width:20px; height:20px; fill:currentColor; flex:0 0 auto; }
.micx-wa-btn:hover{ background:#128c7e; color:#fff !important; }

.micx-compat{
  display:flex; gap:10px; align-items:flex-start;
  margin:14px 0 0; padding:12px 14px; border-radius:8px;
  font-size:13.5px; line-height:1.45;
}
.micx-compat svg{ width:18px; height:18px; flex:0 0 auto; margin-top:1px; fill:currentColor; }
.micx-compat.is-ok{ background:#eaf7ee; color:#1c6b34; border:1px solid #bfe3c9; }
.micx-compat.is-ojo{ background:#fff6e0; color:#7a5300; border:1px solid #ffd980; }
.micx-compat a{ color:inherit; font-weight:700; text-decoration:underline; }

/* ------------------------------------------------------------------ *
 * 5. RESCATE DE BÚSQUEDA
 * ------------------------------------------------------------------ */
.micx-nota-busq{
  display:flex; gap:10px; align-items:flex-start;
  margin:0 0 18px; padding:13px 16px; border-radius:8px;
  background:#eef2fb; border:1px solid #c3d0ea; color:var(--micx-azul);
  font-size:14px; line-height:1.5;
}
.micx-nota-busq svg{ width:19px; height:19px; flex:0 0 auto; margin-top:1px; fill:currentColor; }
.micx-nota-busq .micx-nota-cta{ display:block; margin-top:6px; font-size:13px; }
.micx-nota-busq .micx-nota-cta a{ color:inherit; font-weight:700; text-decoration:underline; }
.micx-buscando{
  margin:0 0 18px; padding:13px 16px; border-radius:8px;
  background:#f3f4f7; color:#555; font-size:14px;
}

/* ------------------------------------------------------------------ *
 * 6. FILTRO DE RELEVANCIA EN LOS RESULTADOS
 * ------------------------------------------------------------------ */
.micx-filtro{
  margin:0 0 20px; padding:15px 18px; border-radius:12px;
  background:linear-gradient(180deg,#fcfcfd 0%,#f5f6f8 100%);
  border:1px solid #e3e6ec; border-left:4px solid var(--micx-azul);
}
.micx-filtro *{ box-sizing:border-box; }
.micx-filtro-head{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.micx-filtro-n{
  display:flex; align-items:center; justify-content:center; flex:0 0 auto;
  min-width:44px; height:44px; padding:0 10px; border-radius:9px;
  background:var(--micx-azul); color:#fff; font-size:20px; font-weight:800;
}
/* `display` gana contra el [hidden] del navegador: hay que decirlo acá. */
.micx-filtro-n[hidden], .micx-filtro-extra[hidden]{ display:none; }
.micx-filtro-txt{ display:flex; flex-direction:column; gap:7px; margin-right:auto; min-width:0; }
.micx-filtro-txt strong{ font-size:15.5px; font-weight:800; color:var(--micx-negro); }
.micx-filtro-crit{ display:flex; flex-wrap:wrap; gap:7px; }
.micx-crit{
  display:inline-flex; align-items:center; gap:6px;
  padding:5px 11px; border-radius:99px; background:#fff; border:1.5px solid #dfe3ea;
  font-size:12.5px; font-weight:700; color:var(--micx-azul); line-height:1.2;
}
.micx-crit svg{ width:13px; height:13px; fill:var(--micx-azul); flex:0 0 auto; }
.micx-filtro-off{
  -webkit-appearance:none; appearance:none; border:0; background:none; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:700; color:var(--micx-azul);
  text-decoration:underline; padding:4px 2px; white-space:nowrap;
}
.micx-filtro-off:hover{ opacity:.75; }

.micx-filtro-extra{ margin-top:14px; padding-top:14px; border-top:1px solid #e3e6ec; }
.micx-filtro-cargando{ font-size:13.5px; color:#5c6270; }
.micx-filtro-mas{
  -webkit-appearance:none; appearance:none; cursor:pointer; font-family:inherit;
  padding:10px 18px; border-radius:6px; font-size:13.5px; font-weight:700;
  background:#fff; color:var(--micx-azul); border:2px solid var(--micx-azul);
  transition:background-color .2s ease, color .2s ease;
}
.micx-filtro-mas:hover{ background:var(--micx-azul); color:#fff; }

.micx-xtitulo{
  display:flex; align-items:center; gap:8px; margin:0 0 12px;
  font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:var(--micx-azul);
}
.micx-xtitulo svg{ width:17px; height:17px; fill:var(--micx-azul); flex:0 0 auto; }
.micx-xgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.micx-xcard{
  display:flex; flex-direction:column; gap:5px; padding:11px;
  background:#fff; border:1px solid #e3e6ec; border-radius:10px;
  text-decoration:none !important; color:var(--micx-negro) !important;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.micx-xcard:hover{ border-color:var(--micx-azul); box-shadow:0 8px 22px rgba(0,36,109,.14); transform:translateY(-2px); }
.micx-xcard-img{ display:block; aspect-ratio:1/1; overflow:hidden; border-radius:6px; }
.micx-xcard-img img{ width:100%; height:100%; object-fit:contain; display:block; }
.micx-xcard-nombre{ font-size:13px; line-height:1.35; font-weight:600; }
.micx-xcard-antes{ font-size:12px; color:#9aa0ac; text-decoration:line-through; }
.micx-xcard-precio{ font-size:15px; font-weight:800; color:var(--micx-azul); }

/* Separadores dentro del grid del tema. Ocupan la fila entera. */
.micx-grupo{ grid-column:1/-1; margin:14px 0 2px; }
.micx-grupo-btn{
  -webkit-appearance:none; appearance:none; cursor:pointer; font-family:inherit;
  display:flex; align-items:center; gap:11px; width:100%; text-align:left;
  padding:11px 15px; border-radius:9px;
  background:var(--micx-gris); border:1px solid #e3e6ec; color:var(--micx-negro);
  transition:border-color .2s ease, background-color .2s ease;
}
.micx-grupo-btn:hover{ border-color:var(--micx-azul); background:#eef2fb; }
.micx-grupo-txt{ font-size:14px; font-weight:800; margin-right:auto; }
.micx-grupo-n{
  flex:0 0 auto; padding:3px 10px; border-radius:99px;
  background:#fff; border:1px solid #dfe3ea;
  font-size:12px; font-weight:800; color:#5c6270;
}
.micx-grupo-chev{
  flex:0 0 auto; width:9px; height:9px; border-right:2px solid var(--micx-azul);
  border-bottom:2px solid var(--micx-azul); transform:rotate(45deg) translate(-2px,-2px);
  transition:transform .25s ease;
}
.micx-grupo.is-abierto .micx-grupo-chev{ transform:rotate(-135deg) translate(-2px,-2px); }
.micx-oculto{ display:none !important; }

@media (max-width:575px){
  .micx-filtro-head{ gap:10px; }
  .micx-filtro-off{ width:100%; text-align:left; }
}

/* ------------------------------------------------------------------ *
 * 7. RECUADRO AZUL AL PASAR EL MOUSE POR UNA PUBLICACIÓN
 *    Se usa `outline` con offset negativo: se dibuja por dentro, así que
 *    no lo recorta el overflow de los carruseles ni mueve el layout.
 * ------------------------------------------------------------------ */
.js-item-product .product-item-image-container{
  /* mismo color con alpha 0: al animar interpola azul -> azul y nunca
     aparece un destello gris en el primer cuadro */
  outline:var(--micx-ring) solid rgba(var(--micx-acento-rgb),0);
  outline-offset:calc(var(--micx-ring) * -1);
  border-radius:8px; overflow:hidden;
  transition:outline-color .22s ease, box-shadow .22s ease;
}
.js-item-product{ transition:transform .25s cubic-bezier(.2,.7,.3,1); }
.js-item-product:hover{ transform:translateY(-4px); }
.js-item-product:hover .product-item-image-container{
  outline-color:var(--micx-acento);
  box-shadow:0 0 0 1px rgba(var(--micx-acento-rgb),.15), 0 10px 26px rgba(var(--micx-acento-rgb),.22);
}
.js-item-product .js-item-name{ transition:color .2s ease; }
.js-item-product:hover .js-item-name{ color:var(--micx-acento); }

/* ------------------------------------------------------------------ *
 * 8. MARCO DE LA DESCRIPCIÓN
 * ------------------------------------------------------------------ */
/* La clase se agrega por JS después de cargar, así que el borde arranca
   en `currentColor` (azul). Por eso NO se anima `border-color`: si no,
   se ve un parpadeo azul -> gris cada vez que se abre una publicación.
   Lo que se anima es la sombra, que arranca en nada y no parpadea. */
.micx-desc{
  position:relative; padding:22px 24px 18px; border-radius:12px;
  background:linear-gradient(180deg,#fcfcfd 0%,#f7f8fa 100%);
  border:1px solid #e3e6ec; overflow:hidden;
  transition:box-shadow .25s ease;
}
.micx-desc::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--micx-acento);
}
.micx-desc:hover{
  border-color:var(--micx-acento);
  box-shadow:0 0 0 1px var(--micx-acento), 0 10px 28px rgba(var(--micx-acento-rgb),.12);
}
.micx-desc-titulo{
  display:flex; align-items:center; gap:9px;
  font-size:13px; letter-spacing:.11em; text-transform:uppercase;
  color:var(--micx-acento); padding-bottom:12px; margin-bottom:14px;
  border-bottom:1px solid #e3e6ec;
}
.micx-desc-ico{ display:inline-flex; flex:0 0 auto; }
.micx-desc-ico svg{ width:19px; height:19px; fill:var(--micx-acento); }
.micx-desc .user-content{ font-size:14.5px; line-height:1.65; }
/* El separador de guiones que usa el catálogo queda mejor como línea */
.micx-desc .user-content{ overflow-wrap:anywhere; }

@media (max-width:575px){ .micx-desc{ padding:18px 16px 14px; } }

/* ------------------------------------------------------------------ *
 * 9. VARIANTE HERRAMIENTAS
 * ------------------------------------------------------------------ */
.micx-ficha-herr::before{ background:var(--micx-herr); }
.micx-ficha-herr .micx-ficha-titulo{ color:var(--micx-herr); }
.micx-ficha-herr .micx-ficha-titulo svg{ fill:var(--micx-herr); }
.micx-ficha-herr .micx-chip:hover{ border-color:var(--micx-herr); background:#f1f3f6; }
.micx-ficha-herr .micx-chip:hover svg{ fill:var(--micx-herr); }
.micx-ficha-herr .micx-ventajas svg{ background:var(--micx-herr); }
.micx-ficha-herr:hover{ border-color:var(--micx-herr); box-shadow:0 10px 28px rgba(55,65,79,.14); }
/* La herramienta no tiene compatibilidad que anunciar: sin destello. */
.micx-ficha-herr::after{ display:none; }

/* ------------------------------------------------------------------ *
 * 10. CRÉDITO EN EL PIE
 * ------------------------------------------------------------------ */
.micx-credito{ display:block; margin-top:6px; }
.micx-credito a{ font-weight:700; text-decoration:underline; color:inherit; }
.micx-credito a:hover{ opacity:.75; }

@media (prefers-reduced-motion: reduce){
  .micx-ficha::after{ animation:none; }
  .micx-anim, .micx-anim .micx-chip{
    opacity:1 !important; transform:none !important; transition:none !important;
  }
  .micx-ficha:hover{ transform:none; }
  .js-item-product, .js-item-product:hover,
  .micx-xcard, .micx-xcard:hover{ transform:none; transition:none; }
  .micx-grupo-chev{ transition:none; }
}
