/* Tienda Autoclick - Mejoras
   Desarrollado por Mercado Inteligente CX - https://mercadointeligente.net/ */

:root{
  --micx-accent:#ffcb00;
  --micx-accent-oscuro:#e0b200;
  --micx-negro:#000000;
  --micx-negro-2:#141414;
  --micx-negro-3:#1f1f1f;
  --micx-ring:3px;
}

/* ------------------------------------------------------------------ *
 * 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-negro); background:#fff; color:var(--micx-negro);
  transition:background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.micx-tab:hover{ border-color:var(--micx-accent); box-shadow:0 0 0 3px rgba(255,203,0,.25); }
.micx-tab.is-active{ background:var(--micx-accent); border-color:var(--micx-accent); color:var(--micx-negro); }

.micx-panel{
  display:grid; grid-template-columns:200px 1fr;
  border-radius:12px; overflow:hidden; background:var(--micx-negro-2);
}
.micx-panel-titulo{
  background:var(--micx-accent); color:var(--micx-negro);
  display:flex; flex-direction:column; justify-content:center;
  padding:24px 22px; font-size:27px; line-height:1.03; font-weight:800; letter-spacing:-.6px;
}
.micx-form{ padding:20px 22px; }
.micx-campos{ display:grid; grid-template-columns:repeat(5,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:#fff; 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 #d8d8d8; border-radius:6px;
}
.micx-campo select{ cursor:pointer; }
.micx-campo select:focus,
.micx-campo input:focus{ outline:2px solid var(--micx-accent); outline-offset:0; border-color:var(--micx-accent); }
.micx-buscar{
  height:44px; padding:0 30px; border:0; border-radius:6px; cursor:pointer;
  background:var(--micx-accent); color:var(--micx-negro);
  font-family:inherit; font-weight:800; font-size:15px; white-space:nowrap;
  transition:filter .2s ease, box-shadow .2s ease;
}
.micx-buscar:hover{ filter:brightness(.93); box-shadow:0 6px 18px rgba(255,203,0,.35); }
.micx-buscar[disabled]{ opacity:.65; cursor:progress; }

@media (max-width:1199px){ .micx-campos{ grid-template-columns:repeat(3,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-campos{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .micx-form{ padding:16px 18px; }
}

/* ------------------------------------------------------------------ *
 * 2. MARCAS MÁS GRANDES
 * ------------------------------------------------------------------ */
[data-store="home-brands"] .brand-image{
  width:100% !important; height:82px !important; max-height:none !important;
  object-fit:contain;
}
[data-store="home-brands"] .gallery-item-container{
  padding:14px 12px; border-radius:10px; background:#fff;
}
@media (min-width:768px){
  [data-store="home-brands"] .brand-image{ height:104px !important; }
}

/* ------------------------------------------------------------------ *
 * 3. FONDO NEGRO DETRÁS DE LOS BANNERS DE CATEGORÍAS
 * ------------------------------------------------------------------ */
[data-store="home-banner-categories"]{
  background:var(--micx-negro);
  padding-top:40px !important; padding-bottom:40px !important;
}

/* ------------------------------------------------------------------ *
 * 4. ANIMACIÓN CON BORDE AMARILLO AL PASAR EL MOUSE
 *    Se usa `outline` con offset negativo: se dibuja por dentro, así que
 *    nunca lo recorta el overflow de los carruseles ni mueve el layout.
 * ------------------------------------------------------------------ */
[data-store="home-banner-categories"] .gallery-item-container,
[data-store="home-image-text-module"] .gallery-item-container,
[data-store="home-brands"] .gallery-item-container,
.js-item-product .product-item-image-container,
.micx-card{
  /* amarillo con alpha 0: si el borde llega a animarse desde el reposo,
     interpola amarillo -> amarillo y nunca aparece un destello negro */
  outline:var(--micx-ring) solid rgba(255,203,0,0);
  outline-offset:calc(var(--micx-ring) * -1);
  transition:outline-color .22s ease, filter .22s ease, box-shadow .22s ease, transform .25s ease;
}
[data-store="home-banner-categories"] .gallery-item-container:hover,
[data-store="home-image-text-module"] .gallery-item-container:hover,
[data-store="home-brands"] .gallery-item-container:hover,
.js-item-product:hover .product-item-image-container,
.micx-card:hover{
  outline-color:var(--micx-accent);
  box-shadow:0 0 22px rgba(255,203,0,.28);
  filter:brightness(1.04);
}
/* el amarillo también en las flechas de los carruseles */
.swiper-button-prev:hover, .swiper-button-next:hover{ color:var(--micx-accent); }

/* ------------------------------------------------------------------ *
 * 5. SECCIÓN "LOS MEJORES PRECIOS"
 * ------------------------------------------------------------------ */
.micx-ofertas{
  background:
    radial-gradient(900px 420px at 12% 45%, rgba(255,203,0,.16), transparent 65%),
    linear-gradient(180deg, var(--micx-negro) 0%, var(--micx-negro-3) 100%);
  color:#fff; padding:52px 0; margin:0; overflow:hidden;
}
.micx-ofertas *{ box-sizing:border-box; }
.micx-ofertas-inner{ display:grid; grid-template-columns:minmax(240px,340px) 1fr; gap:34px; align-items:center; }
.micx-kicker{
  display:inline-block; font-size:12px; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:rgba(255,255,255,.7); margin-bottom:14px;
}
.micx-ofertas-titulo{
  font-size:38px; line-height:1.02; font-weight:800; letter-spacing:-1px;
  margin:0 0 14px; color:#fff;
}
.micx-ofertas-titulo strong{ color:var(--micx-accent); font-weight:800; }
.micx-ofertas-texto{ font-size:15px; line-height:1.55; color:rgba(255,255,255,.78); margin:0 0 24px; }
.micx-btn{
  display:inline-block; padding:14px 34px; border-radius:8px;
  background:var(--micx-accent); color:var(--micx-negro) !important;
  font-weight:800; font-size:15px; text-decoration:none !important;
  transition:filter .2s ease, box-shadow .2s ease, transform .2s ease;
}
.micx-btn:hover{ filter:brightness(.93); box-shadow:0 8px 24px rgba(255,203,0,.4); transform:translateY(-2px); }

.micx-carrusel{ position:relative; min-width:0; }
.micx-track{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,1fr);
  gap:18px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory;
  padding:6px 2px 18px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.35) transparent;
}
.micx-track::-webkit-scrollbar{ height:6px; }
.micx-track::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.3); border-radius:99px; }
.micx-track::-webkit-scrollbar-track{ background:transparent; }

.micx-card{
  scroll-snap-align:start; position:relative; display:flex; flex-direction:column;
  background:#fff; border-radius:12px; overflow:hidden; text-decoration:none !important;
  color:var(--micx-negro) !important;
}
.micx-card:hover{ transform:translateY(-4px); }
.micx-card-off{
  position:absolute; top:10px; left:10px; z-index:2;
  background:var(--micx-accent); color:var(--micx-negro);
  font-size:12px; font-weight:800; padding:5px 10px; border-radius:6px; letter-spacing:.02em;
}
.micx-card-img{ position:relative; display:block; padding-bottom:100%; background:#f4f4f4; }
.micx-card-img img{
  position:absolute; top:0; left:0; width:100%; height:100%; object-fit:contain; padding:10px;
}
.micx-card-body{ display:flex; flex-direction:column; gap:6px; padding:14px 14px 16px; flex:1 1 auto; }
.micx-card-nombre{
  font-size:14px; line-height:1.35; font-weight:600; color:var(--micx-negro);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:2.7em;
}
.micx-card-antes{ font-size:13px; color:#8a8a8a; text-decoration:line-through; }
.micx-card-precio{ font-size:20px; font-weight:800; color:var(--micx-negro); line-height:1.1; }
.micx-card-cta{
  margin-top:12px; text-align:center; padding:11px 10px; border-radius:7px;
  background:var(--micx-accent); color:var(--micx-negro);
  font-size:13px; font-weight:800; letter-spacing:.03em; text-transform:uppercase;
}

.micx-nav{
  position:absolute; top:38%; z-index:3; width:42px; height:42px; border-radius:50%;
  border:0; cursor:pointer; background:#fff; color:var(--micx-negro);
  font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.35); transition:background-color .2s ease, opacity .2s ease;
}
.micx-nav:hover{ background:var(--micx-accent); }
.micx-nav[disabled]{ opacity:0; pointer-events:none; }
.micx-nav-prev{ left:-14px; }
.micx-nav-next{ right:-14px; }

@media (max-width:991px){
  .micx-ofertas{ padding:40px 0; }
  .micx-ofertas-inner{ grid-template-columns:1fr; gap:22px; }
  .micx-ofertas-titulo{ font-size:30px; }
  .micx-track{ grid-auto-columns:minmax(180px,1fr); }
  .micx-nav{ display:none; }
}

/* ------------------------------------------------------------------ *
 * 6. CRÉDITO EN EL PIE
 * ------------------------------------------------------------------ */
.micx-credito{ display:block; margin-top:10px; }
.micx-credito a{ text-decoration:underline; font-weight:600; }

/* ------------------------------------------------------------------ *
 * 7. BARRA "MI VEHÍCULO"
 * ------------------------------------------------------------------ */
.micx-barra-veh{ background:var(--micx-negro); 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:var(--micx-accent); font-weight:700; }
.micx-barra-veh svg{ width:17px; height:17px; flex:0 0 auto; fill:var(--micx-accent); }
.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{ color:var(--micx-accent); }
.micx-barra-link.is-cta{
  text-decoration:none; background:var(--micx-accent); color:var(--micx-negro);
  border-radius:6px; padding:8px 16px;
}
.micx-barra-link.is-cta:hover{ filter:brightness(.93); color:var(--micx-negro); }
.micx-barra-x{
  -webkit-appearance:none; appearance:none; border:0; cursor:pointer;
  background:rgba(255,255,255,.12); 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,.25); }

/* mini formulario para cambiar de vehículo */
.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,.65); }
.micx-barra-campo input, .micx-barra-campo select{
  height:36px; border:1px solid #d8d8d8; 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-inner{ padding:10px 15px; }
  .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%; }
}

/* ------------------------------------------------------------------ *
 * 8. WHATSAPP CON EL PRODUCTO / 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; }

/* ------------------------------------------------------------------ *
 * 9. NOTA DE BÚSQUEDA RESCATADA
 * ------------------------------------------------------------------ */
.micx-nota-busq{
  display:flex; gap:10px; align-items:flex-start;
  margin:0 0 18px; padding:13px 16px; border-radius:8px;
  background:#fff6e0; border:1px solid #ffd980; color:#7a5300;
  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 strong{ font-weight:700; }
.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:#f3f3f3; color:#555; font-size:14px;
}

/* ------------------------------------------------------------------ *
 * 10. FICHA DEL PRODUCTO GENERADA
 * ------------------------------------------------------------------ */
.micx-ficha{
  position:relative; margin:0 0 24px; padding:20px 22px 18px;
  background:linear-gradient(180deg,#fcfcfc 0%,#f6f6f6 100%);
  border:1px solid #e6e6e6; border-radius:12px; overflow:hidden;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.micx-ficha:hover{
  border-color:var(--micx-accent);
  box-shadow:0 10px 28px rgba(0,0,0,.07);
  transform:translateY(-2px);
}
/* barra de acento arriba, con un destello lento que le da vida */
.micx-ficha::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--micx-accent);
}
.micx-ficha::after{
  content:''; position:absolute; top:0; left:-40%; width:40%; height:4px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.85), 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-negro); margin:0 0 16px;
}
.micx-ficha-titulo svg{ width:19px; height:19px; fill:var(--micx-negro); flex:0 0 auto; }

/* datos derivados como chips: se leen de un golpe de vista */
.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 #e2e2e2;
  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:#9a9a9a; flex:0 0 auto; transition:fill .2s ease; }
.micx-chip:hover{ border-color:var(--micx-accent); background:#fffdf2; transform:translateY(-2px); }
.micx-chip:hover svg{ fill:#b08c00; }
.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 #ececec; vertical-align:top;
}
.micx-ficha-tabla th{ width:38%; font-weight:700; color:#666; }
.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 #e6e6e6;
  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:var(--micx-negro);
  background:var(--micx-accent); border-radius:50%; padding:3px;
}
.micx-ficha-nota{ font-size:11.5px; color:#9a9a9a; margin:14px 0 0; line-height:1.45; }

/* Entrada al llegar a pantalla, con los chips escalonados.
   Se usa `transition` y no `animation`: el estado final lo define la clase
   .is-visible, así que si el navegador no anima (pestaña en segundo plano,
   modo ahorro de batería), el bloque igual queda visible de golpe. Con
   `animation ... forwards` el contenido dependía de que la animación
   corriera, y podía quedar en opacity:0. */
.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 }
/* una vez adentro, el delay no debe frenar el hover */
.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; }
}

/* quien pidió menos animaciones en su sistema, no las recibe */
@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; }
}

/* ------------------------------------------------------------------ *
 * 11. OFERTAS: ESQUELETO DE CARGA Y AJUSTES MOBILE
 * ------------------------------------------------------------------ */
.micx-skel{ background:#fff; border-radius:12px; overflow:hidden; }
.micx-skel-img{ padding-bottom:100%; background:#ececec; }
.micx-skel-linea{ height:12px; margin:12px 14px; border-radius:6px; background:#ececec; }
.micx-skel-linea.corta{ width:55%; }
.micx-skel, .micx-skel-img, .micx-skel-linea{ animation:micx-pulso 1.2s ease-in-out infinite; }
@keyframes micx-pulso{ 0%,100%{ opacity:1 } 50%{ opacity:.55 } }

.micx-hint{
  display:none; font-size:12px; color:rgba(255,255,255,.6);
  margin:2px 0 0; text-align:center;
}
@media (max-width:991px){
  /* la card se corta a propósito: deja ver que hay más al costado */
  .micx-track{ grid-auto-columns:78%; gap:14px; scroll-padding-left:0; }
  .micx-hint{ display:block; }
  .micx-ofertas-inner{ align-items:start; }
}
@media (max-width:575px){
  .micx-track{ grid-auto-columns:82%; }
  .micx-ofertas-titulo{ font-size:26px; }
  .micx-ofertas-texto{ font-size:14px; margin-bottom:18px; }
}

/* Si algún día se quiere ocultar el sello de Tiendanube, descomentar:
.footer-legal-container .powered-by-logo{ display:none !important; }
*/
