/* ===============================
   Ietres_AutoSuggest - CSS LIMPIO
   =============================== */

/* Vars / wrapper */
.ietres-autosuggest{
  --ias-accent: #0AA8DC;
}

/* El buscador debe poder sobresalir del header sin recortes */
.block-search, .block-search .control, .header, .header-wrapper{
  overflow: visible !important;
}

/* Posicionamientos base del buscador */
.block-search{ position: relative; }
.block-search .control{ position: relative; }

/* Resultados autosuggest */
.amsearch-results{
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: var(--ias-width, 960px);
  max-width: calc(100vw - 24px);
  z-index: 6000;
  background: #fff;
  border: 1px solid #e8f2f6;
  border-radius: 12px;
  box-shadow: 0 16px 28px rgba(0,0,0,.12);
  overflow: hidden;
  will-change: transform, top;
  font-family: inherit;
}

/* Resultados fijados (modo overlay) */
.amsearch-results.ias-fixed{
  position: fixed !important;
  transform: none !important;
  z-index: 99999 !important;
}

/* ===== Loading: desactivar pseudo-Overlay del módulo ===== */
.amsearch-results.is-loading{ position: relative; }
.amsearch-results.is-loading::before,
.amsearch-results.is-loading::after{
  content: none !important;
  display: none !important;
}

/* ===== Placeholder propio de carga (spinner + texto) ===== */
.ietres-autosuggest .ias-loading{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:24px 0; min-height:260px;
}
.ietres-autosuggest .ias-spinner{
  width:28px; height:28px; border-radius:50%;
  border:3px solid #cfeaf5; border-top-color: var(--ias-accent,#0AA8DC);
  animation: ias-spin .8s linear infinite; margin-bottom:8px;
}
.ietres-autosuggest .ias-wait{
  text-align:center; font-size:.95rem; color:#4a5a5f;
}

/* Secciones y etiquetas */
.ias-section{
  padding: 8px 12px;
  border-bottom: 1px solid #eef4f7;
}
.ias-section-title{
  font-size: 12px; text-transform: uppercase; letter-spacing: .04em;
  color: #5a6b75; margin-bottom: 6px;
}
.ias-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.ias-tag{
  background: #e8f6fb; color: var(--ias-accent,#0AA8DC);
  padding: 6px 10px; border-radius: 999px; font-weight: 600; text-decoration: none;
}
.ias-tag:hover{ background: #d6eff8; }

/* ==========================================================
   FILTRO DE STOCK (texto + chips en la misma fila, a la derecha)
   ========================================================== */

/* Contenedor de la sección de filtro */
.ias-section.ias-stock-filter{
  display:flex;                 /* texto + chips en una fila */
  align-items:center;
  justify-content:flex-start;     /* todo pegado a la derecha */
  padding:4px 12px 6px;         /* más compacto que otras secciones */
  border-top:none;              /* sin línea superior extra */
}

/* Texto "Filtrar por disponibilidad" */
.ias-section.ias-stock-filter .ias-section-title{
  flex:0 0 auto;
  margin:0 10px 0 0;            /* separación respecto a los chips */
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
  color:#5a6b75;
}

/* Contenedor de chips del filtro */
.ias-section.ias-stock-filter .ias-stock-filter-chips{
  flex:0 0 auto;
  display:flex;
  flex-wrap:nowrap;
  justify-content:flex-end;
  gap:6px;
}

/* Chips del filtro: compactas, con borde visible y colores suaves corporativos */
.ias-stock-filter .ias-filter-chip{
  position:relative;
  font-size:1.02rem;
  padding:0px 11px 3px 26px;    /* más espacio a la izquierda para el icono */
  border-radius:999px;
  font-weight:700;
  border:1px solid #c3d9ea;    /* borde gris-azulado suave */
  background:#ffffff;           /* fondo blanco */
  color:#0b6a94;                /* azul corporativo suave */
  cursor:pointer;
  transition:
    background-color .12s ease,
    color .12s ease,
    border-color .12s ease;
}

/* Icono genérico (sitio para el SVG) */
.ias-stock-filter .ias-filter-chip::before{
  content:'';
  position:absolute;
  left:9px;
  top:50%;
  transform:translateY(-50%);
  width:14px;
  height:14px;
  background-repeat:no-repeat;
  background-size:contain;
}

/* Icono "Todas": círculo azul suave */
.ias-stock-filter .ias-filter-chip[data-ias-stock-filter="all"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5' fill='%230AA8DC'/%3E%3C/svg%3E");
}

/* Icono "Entrega inmediata": rayo verde */
.ias-stock-filter .ias-filter-chip[data-ias-stock-filter="immediate"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2336b24a' d='M7 1L2 9h4l-1 6 5-8H8l1-6z'/%3E%3C/svg%3E");
}

/* Icono "Solo corto plazo": reloj naranja */
.ias-stock-filter .ias-filter-chip[data-ias-stock-filter="short"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6' fill='none' stroke='%23d68f00' stroke-width='2'/%3E%3Cpath fill='none' stroke='%23d68f00' stroke-linecap='round' stroke-width='2' d='M8 4v4l2 1'/%3E%3C/svg%3E");
}

/* Hover (no activa): toque de azul muy ligero */
.ias-stock-filter .ias-filter-chip:hover:not(.is-active){
  background:#e8f4fb;
  border-color:#b1d0e7;
}

/* Chip activo (seleccionado): azul suave, sin competir con "Añadir" */
.ias-stock-filter .ias-filter-chip.is-active{
  background:#dff1fc;
  border-color:#0AA8DC;
  color:#084e71;
}

/* Listado / scroll */
.ias-results{ max-height: 70vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.amsearch-item-container{ padding:4px 0; list-style:none; margin:0; }

/* Items */
.amsearch-item{
  display:flex; gap:12px; align-items:center;
  padding:12px 16px;
}
.amsearch-item + .amsearch-item{ border-top: 1px solid #e9eef3; }
.amsearch-item:hover{ background:#f7fcff; }

.amsearch-image{ flex: 0 0 56px; }
.amsearch-image img{ width:56px; height:auto; display:block; border-radius:6px; }

.amsearch-title{
  font-size:14px; line-height:1.35; color:#18323c; margin:0;
}

.price, .amsearch-price{ font-weight:700; color:#0d2028; }

.ias-actions{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.ias-price-wrap{ display:flex; align-items:center; gap:8px; }

.ias-pro-label{
  font-size:11px; font-weight:700; color:#0AA8DC; background:#e8f6fb;
  padding:2px 8px; border-radius:999px; text-transform:uppercase; letter-spacing:.02em;
}

.ias-compat{ margin-top:6px; font-size:12px; color:#54707d; line-height:1.35; }
.ias-compat b{ margin-right:6px; color:#23343c; }
.ias-compat-line{ word-break: break-word; }

.amsearch-item.is-active{
  outline: 2px solid rgba(10,168,220,.25);
  background: #f0fbff;
}

mark.ias-mark{
  background: rgba(10,168,220,.16);
  color: inherit; padding: 0 .08em; border-radius: 3px;
}

/* Botones */
.ias-btn{
  display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 14px;
  border-radius:10px; border:1px solid transparent; font-weight:700; cursor:pointer;
  transition: transform .08s ease, filter .08s ease;
}
.ias-btn:active{ transform: translateY(1px); }
.ias-btn--ghost{ background:#fff; color:var(--ias-accent,#0AA8DC); border-color:#bfe7f5; }
.ias-btn--ghost:hover{ background:#eefaff; }
.ias-btn--wa{ background:#25D366 !important; color:#fff !important; border-color:#25D366 !important; }
.ias-btn--wa:hover{ filter: brightness(.95); }
.ias-btn--primary{ background:var(--ias-accent,#0AA8DC); color:#fff; border-color:var(--ias-accent,#0AA8DC); }
.ias-btn--primary:hover{ filter: brightness(.96); }
.ias-btn .ias-icon{ width:16px; height:16px; }

/* Estados de añadir */
.ias-addtocart.loading{ opacity:.85; pointer-events:none; }
.ias-addtocart.success{ background:#19b37b; border-color:#19b37b; color:#fff; }

/* Empty state */
.ias-end{ font-size:13px; color:#5a6b75; }
.ias-empty{
  display:flex; align-items:center; justify-content:center;
  min-height:320px; padding:20px;
}
.ias-empty-card{
  width:min(920px,100%); margin:0 auto; background:#fff; border:1px solid #eef4f7;
  border-radius:18px; padding:28px; text-align:center; box-shadow:0 24px 48px rgba(0,0,0,.06);
}
.ias-empty-title{ font-size:28px; font-weight:800; color:#0d2028; margin:0 0 14px; }
.ias-empty-desc{ color:#31454f; font-size:16px; margin:0 0 8px; }
.ias-empty-desc strong{ color: var(--ias-accent,#0AA8DC); }
.ias-empty-list{ margin:10px 0 16px; padding:0; list-style:none; color:#3b525c; }
.ias-empty-list li{
  margin:6px 0; display:flex; align-items:center; gap:8px; justify-content:center;
}
.ias-empty-icon{ width:14px; height:14px; color:#0AA8DC; }
.ias-empty-ctas{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* Overlay global */
#ias-overlay{
  position: fixed; inset: 0; background: rgba(0,0,0,.35);
  z-index: 99990 !important; opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
#ias-overlay.visible{ opacity: 1; pointer-events: auto; }
body.ias-lock{ overflow: hidden; }

/* Disponibilidad */
.ias-availability{
  display:flex; align-items:center; gap:.55rem; flex-wrap:wrap;
  font-size:.95rem; line-height:1.35; margin-top:1.3rem !important;
}
.ias-availability .ias-dot{ width:.7rem; height:.7rem; border-radius:50%; display:inline-block; }
.ias-availability .ias-avail-label{ font-weight:600; }
.ias-availability .ias-qty, .ias-availability .ias-qty-short{ font-weight:500; opacity:.95; }

.ias-availability--available{ color:#10793e; }
.ias-availability--limited{ color:#9a7400; }
.ias-availability--oos{ color:#b3261e; }
.ias-availability--available .ias-dot{ background:#10793e; }
.ias-availability--limited .ias-dot{ background:#c07a00; }
.ias-availability--oos .ias-dot{ background:#b3261e; }

.ias-backorder{ margin-top:.28rem; }

.ias-pill{ display:inline-flex; align-items:center; gap:.4rem; padding:.28rem .6rem;
  border-radius:999px; font-weight:600; line-height:1; font-size:.9rem;
}
.ias-pill--bp{ background:#fff7e6; color:#8a6d00; border:1px solid #f2cb7b; }

/* Anchos por viewport */
:root{ --ias-width: 1160px; }
@media (min-width: 1366px){ :root{ --ias-width: 1280px; } }
@media (min-width: 1600px){ :root{ --ias-width: 1440px; } }
@media (min-width: 1920px){ :root{ --ias-width: 1600px; } }

/* Filas zebra productos dentro de resultados */
:root{
  --ias-row-odd: rgba(10,168,220,.04);
  --ias-row-even: rgba(10,168,220,.08);
  --ias-row-hover: rgba(10,168,220,.14);
  --ias-row-active: rgba(10,168,220,.18);
  --ias-sep: #e6eef3;
}
.amsearch-item-container > .amsearch-item.-product{
  background: transparent; box-shadow: inset 0 -1px var(--ias-sep); transition: background-color .12s ease;
}
.amsearch-item-container > .amsearch-item.-product:nth-child(odd){  background: var(--ias-row-odd); }
.amsearch-item-container > .amsearch-item.-product:nth-child(even){ background: var(--ias-row-even); }
.amsearch-item-container > .amsearch-item.-product:hover{           background: var(--ias-row-hover); }
.amsearch-item-container > .amsearch-item.-product.is-active{
  background: var(--ias-row-active); outline: 0;
}
.amsearch-item-container > .amsearch-item.-product:last-child{ box-shadow: none; }

/* SKU en título */
.amsearch-title .ias-sku{
  margin-left:.5rem; font-size:.88em; color:#5a6b75; white-space:nowrap;
}

/* Ajustes de precio/título */
.price-box{ margin: 0; }

.ias-btn--ghost{
  background:#fff;
  color:var(--ias-accent,#0AA8DC);
  border-color:#bfeaf5;
}


/* Etiqueta pro junto a precio (desktop) */
.ietres-autosuggest .ias-pro-label{
  display:inline-flex !important; order:0 !important; margin:0 0 0 .5rem !important;
  align-items:center !important; line-height:1 !important; white-space:nowrap !important;
}

/* Ocultar precio sin IVA en autosuggest */
.ietres-autosuggest .price-excluding-tax,
.ietres-autosuggest .price-excluding-tax *,
.ietres-autosuggest .excl-tax{ display:none !important; }

/* Precio en línea con etiqueta pro */
.ietres-autosuggest .amsearch-price .ias-price-wrap{
  display:inline-flex !important; flex-direction:row !important; align-items:center !important;
  gap:.5rem !important; justify-content:flex-start !important; flex-wrap:nowrap !important;
}
.ietres-autosuggest .amsearch-price .price-box,
.ietres-autosuggest .price-box.price-final_price{ margin:0 !important; }
.ietres-autosuggest .amsearch-price .price{ display:inline-block !important; line-height:1 !important; }

/* SKU visible en 2ª línea */
.ietres-autosuggest .amsearch-title .ias-sku{
  display:block !important; margin:.18rem 0 0 0 !important; white-space:normal !important;
  font-size:.9em; color:#5a6b75;
}
.ietres-autosuggest .amsearch-title{ line-height:1.3; }

/* DYM (Did you mean?) */
.ias-dym{ padding:8px 12px; background:#fff7e6; border-bottom:1px solid #f2e5c6; }
.ias-dym-line{ color:#6d5600; font-size:13px; }
.ias-dym-line a{ color:#0AA8DC; text-decoration:none; }
.ias-dym-line a:hover{ text-decoration:underline; }

/* Keyframes spinner */
@keyframes ias-spin{ to{ transform:rotate(360deg); } }

/* ======= Orden de capas (z-index) ======= */
/* 1) Overlay */
#ias-overlay{ z-index: 99990 !important; }

/* 2) Header y barra de búsqueda */
.page-header,
.header,
.header-wrapper,
.header.content,
.header.panel,
.block-search,
.sticky-header,
.sticky-header.active{
  position:relative; z-index:99995 !important;
}

/* 2b) Menú superior ("Mi Cuenta") por encima del header */
.panel.wrapper{ position:relative; z-index:99996 !important; }

/* 2c) LOGO e iconos siempre clicables por encima del buscador */
.page-header .logo,
.header.content .logo{
  position: relative;
  z-index: 99997 !important;
  pointer-events: auto;
}

/* 3) Panel de resultados en modo fijo */
.amsearch-results.ias-fixed{ z-index: 99999 !important; }

/* ======= Ajustes móviles / responsive ======= */
@media (max-width: 768px){
  /* Resultados fijos: ancho y sombra */
  .amsearch-results.ias-fixed{
    width: calc(100vw - 12px) !important; left: 6px !important; right: 6px !important;
    border-radius: 10px; box-shadow: 0 10px 24px rgba(0,0,0,0.15);
  }

  /* Cards */
  .amsearch-item{
    display:block; border-bottom:1px solid #e6edf1; padding:14px 12px 18px;
  }
  .amsearch-image{ text-align:center; margin-bottom:10px; }
  .amsearch-image img{ width:120px; height:auto; display:block; margin:0 auto; }
  .amsearch-desc{ text-align:center; margin-bottom:12px; }
  .amsearch-price{ margin-top:6px; font-size:15px; }
  .ias-actions{ display:flex; justify-content:space-between; gap:10px; }
  .ias-btn{ flex:1; justify-content:center; height:40px; font-size:14px; }
  .ias-compat{ font-size:13px; margin-top:6px; line-height:1.4; }
  .ias-empty-card{ padding:18px; }
  .ias-empty-title{ font-size:22px; }
  .ias-empty-desc{ font-size:14px; }

  /* Layout móvil propio del wrapper */
  .ietres-autosuggest .amsearch-image, .ietres-autosuggest .amsearch-desc{ float:none !important; }
  .ietres-autosuggest .amsearch-item.-product{ display:block; text-align:center; }
  .ietres-autosuggest .amsearch-image{ display:block; margin:10px auto 8px; }
  .ietres-autosuggest .amsearch-desc{ width:100%; padding:0 8px; }
  .ietres-autosuggest .amsearch-title{ margin:6px 0 0; }
  .ietres-autosuggest .amsearch-price{ margin-top:6px; }
  .ietres-autosuggest .amsearch-price .price{ display:inline-block; }
  .ietres-autosuggest .ias-availability{ justify-content:center; }
  .ietres-autosuggest .ias-backorder{ text-align:center; }
  .ietres-autosuggest .ias-compat{ margin-top:.5rem; text-align:center; }
  .ietres-autosuggest .ias-actions{ justify-content:center; gap:.5rem; flex-wrap:wrap; margin-top:.5rem; }

  .ietres-autosuggest .amsearch-price .ias-price-wrap{
    display:flex !important; align-items:center !important; justify-content:center !important;
    gap:.35rem !important; width:auto; flex-direction:column !important;
  }
  .ietres-autosuggest .ias-pro-label{ order:2 !important; margin:.1rem 0 0 0 !important; display:inline-block; }

  /* Priorizar iconos y menú sobre el buscador (no tocamos la lupa) */
  .page-header .block-search{
    z-index: 99992 !important;                 /* menor que iconos/logo y mayor que overlay */
    max-width: calc(100% - 120px);             /* hueco para iconos de la derecha */
  }
  .page-header .nav-toggle,
  .page-header .minicart-wrapper,
  .page-header .custom-block,
  .page-header .logo{
    position: relative;
    z-index: 99997 !important;                 /* por encima del buscador */
  }
  /* que el desplegable del carrito no quede tapado */
  .page-header .minicart-wrapper .block-minicart{ z-index: 99998 !important; }
}

/* Microajuste títulos en XS */
@media (max-width:576px){
  .amsearch-title .ias-sku{ display:block; margin-left:0; margin-top:.15rem; }
}

/* Margen para la página del índice de búsqueda propia */
@media (max-width: 768px){
  .ietres_autosuggest-search-index .page-title-wrapper{ margin-top: 20rem !important; }
}

/* Si se abre el menú móvil, ocultar overlay/resultados del autosuggest */
.nav-open #ias-overlay{ opacity:0 !important; pointer-events:none !important; }
.nav-open .amsearch-results{ display:none !important; }

/* Etiqueta pro dentro del panel */
.amsearch-results .ietres-pro-label{ margin-top:0 !important; margin-bottom:0 !important; }

/* Ajuste de la etiqueta en PDP */
.catalog-product-view .ietres-pro-label{
  margin-top:-15px !important; margin-bottom:25px !important;
}


/* === FIX: barra centrada + megamenú móvil clicable (sin tocar la lupa) === */

/* 1) Centrar la barra en móvil (respetando tu lupa existente) */
@media (max-width: 768px){
  .page-header .block-search{
    display: block;
    width: calc(100% - 24px) !important;   /* margen lateral de 12px */
    max-width: none !important;
    margin: 6px auto 8px !important;       /* centra horizontalmente */
    z-index: 99992 !important;             /* debajo de iconos, encima del overlay */
  }
}

/* 2) Prioridad de capas cuando el menú móvil está abierto */
.nav-open .nav-sections{
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 100000 !important;              /* por encima de header/buscador */
  pointer-events: auto !important;
}

/* Evitar que el overlay o resultados del autosuggest tapen el menú */
.nav-open #ias-overlay{
  opacity: 0 !important;
  pointer-events: none !important;
}
.nav-open .amsearch-results{
  display: none !important;
}

/* Mientras el menú está abierto, baja las capas del header para no robar eventos */
@media (max-width: 768px){
  .nav-open .panel.wrapper,
  .nav-open .page-header,
  .nav-open .header,
  .nav-open .header-wrapper,
  .nav-open .header.content{
    z-index: 1 !important;
  }
}

/* 3) Logo siempre clicable cuando el menú está cerrado */
.page-header .logo,
.header.content .logo{
  position: relative;
  z-index: 99997 !important;
}

/* ===== Carrito clicable en móvil (sin tocar la lupa) ===== */
@media (max-width: 768px){

  /* 1) Si el contenedor del buscador se extiende por detrás de los iconos,
        que sus zonas “vacías” NO capten clics */
  .page-header .block-search{
    pointer-events: none;              /* el wrapper no intercepta eventos */
  }
  .page-header .block-search input,
  .page-header .block-search .actions{ /* pero el input y la lupa sí */
    pointer-events: auto;
  }

  /* 2) Asegurar que el icono del carrito está por encima de todo */
  .page-header .minicart-wrapper{
    position: relative;
    z-index: 99997 !important;
  }
  .page-header .minicart-wrapper .action.showcart{
    position: relative;
    z-index: 99998 !important;         /* por encima del wrapper del buscador */
  }
  .page-header .minicart-wrapper .block-minicart{
    z-index: 99999 !important;         /* dropdown del carrito, por si acaso */
  }

  /* (Opcional, por si el buscador ocupa demasiado ancho):
     deja un pequeño margen para los iconos; no afecta a la lupa ni a su alineación */
  .page-header .block-search{
    max-width: calc(100% - 120px);
  }
}


/* ==========================================================
   AUTOSUGGEST — Priorizar "Añadir al carrito" frente a WhatsApp
   (desktop + móvil, sin tocar el HTML)
   ========================================================== */

/* Base: un poco más de separación entre CTA */
.ietres-autosuggest .ias-actions{ gap:10px; }

/* --- 1) “Añadir al carrito” como primario (sólido, con acento) --- */
.ietres-autosuggest .ias-actions .ias-addtocart,
.ietres-autosuggest .ias-actions .action.tocart,             /* fallback */
.ietres-autosuggest .ias-actions .ias-btn.-tocart {          /* fallback */
  background: var(--ias-accent,#0AA8DC) !important;
  border-color: var(--ias-accent,#0AA8DC) !important;
  color: #fff !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.04), 0 6px 14px rgba(10,168,220,.25);
  font-weight: 700;
}
.ietres-autosuggest .ias-actions .ias-addtocart:hover,
.ietres-autosuggest .ias-actions .action.tocart:hover,
.ietres-autosuggest .ias-actions .ias-btn.-tocart:hover{
  filter: brightness(.96);
  transform: translateY(-1px);
}
.ietres-autosuggest .ias-actions .ias-addtocart .ias-icon,
.ietres-autosuggest .ias-actions .action.tocart .ias-icon{
  width: 18px; height: 18px;
}

/* Colocar “Añadir” el primero en el grupo, por si viene después de WA */
.ietres-autosuggest .ias-actions .ias-addtocart,
.ietres-autosuggest .ias-actions .action.tocart { order: -1; }

/* --- 2) WhatsApp como secundario (outline) para no competir visualmente --- */
.ietres-autosuggest .ias-actions .ias-btn--wa{
  background: transparent !important;
  color: #25D366 !important;
  border-color: #25D366 !important;
  border-width: 2px !important;
  box-shadow: none !important;
}
.ietres-autosuggest .ias-actions .ias-btn--wa:hover{
  background: rgba(37,211,102,.08) !important;
}

/* --- 3) MÓVIL: “Añadir” ocupa toda la fila; WhatsApp queda secundario --- */
@media (max-width: 768px){
  .ietres-autosuggest .ias-actions{
    gap: 8px;
  }
  /* “Añadir” manda: ancho completo, un pelín más alto y tipografía mayor */
  .ietres-autosuggest .ias-actions .ias-addtocart,
  .ietres-autosuggest .ias-actions .action.tocart{
    flex: 1 1 100%;
    height: 44px;
    font-size: 15px;
  }
  /* WhatsApp secundario a media fila (o se apila debajo si no cabe) */
  .ietres-autosuggest .ias-actions .ias-btn--wa{
    flex: 1 1 48%;
    height: 40px;
  }
}



/* ===== Responsive · Filtro de stock autosuggest (Global-Spares) ===== */
@media (max-width: 640px){

  /* Título arriba, chips debajo pero en una sola fila */
  .ias-section.ias-stock-filter{
    justify-content:flex-start;
    align-items:flex-start;
    flex-wrap:wrap;
    padding:4px 10px 4px;
  }

  .ias-section.ias-stock-filter .ias-section-title{
    width:100%;
    margin:0 0 4px 0;
    text-align:left;
  }

  .ias-section.ias-stock-filter .ias-stock-filter-chips{
    width:100%;
    justify-content:flex-start;
    flex-wrap:nowrap;          /* todas en una línea */
    gap:4px;
  }

  /* Chips ligeramente más pequeñas para que quepan las tres */
  .ias-stock-filter .ias-filter-chip{
    font-size:0.8rem;
    padding:0px 8px 2px 22px;  /* más compactas pero icono alineado */
    flex:0 0 auto;
  }
}

/* Normalizar alineado vertical del precio en el overlay
   tanto si hay etiqueta TARIFA PRO como si no */

/* 1) El bloque de precio se comporta siempre como flex */
.ietres-autosuggest .amsearch-price{
  display:flex;
  align-items:center;        /* centra verticalmente el contenido */
  margin-top:6px;            /* el mismo margen para todas las filas */
}

/* 2) El wrapper interno es flex en fila: precio + etiqueta pro */
.ietres-autosuggest .amsearch-price .ias-price-wrap{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:.5rem !important;
}

/* 3) El precio se dibuja como bloque con altura controlada */
.ietres-autosuggest .amsearch-price .price{
  display:block !important;
  line-height:1 !important;
}

/* 4) La etiqueta PRO nunca empuja el precio hacia arriba/abajo */
.ietres-autosuggest .amsearch-price .ias-pro-label{
  margin:0 !important;
  line-height:1 !important;
}



/* Miniaturas en autosuggest: sin “cuadro blanco”, integradas con la fila */
.ietres-autosuggest .amsearch-image{
  background: transparent;      /* sin fondo blanco por defecto */
  padding: 0;                   /* sin padding extra alrededor */
}

.ietres-autosuggest .amsearch-image img{
  display:block;
  background-color: transparent; /* por si algún theme le pone bg blanco */
  box-shadow:none;               /* sin sombra extra */
  border-radius:4px;             /* pequeño redondeo, opcional */
}

/* ===== Fix alineado del punto de disponibilidad en overlay Lenovo ===== */

/* ===== Fix alineado del punto de disponibilidad en overlay GLOBAL ===== */

/* Nos aseguramos de que el contenedor use flex y centre verticalmente */
.ietres-autosuggest .ias-availability{
  display:flex;
  align-items:center !important;   /* prioridad sobre cualquier regla del theme */
}

/* El punto no hereda ningún margin extraño y se centra en el eje Y */
.ietres-autosuggest .ias-availability .ias-dot{
  margin-top:0;
  align-self:center;
}

/* Centrar el precio en móvil dentro del overlay global */
@media (max-width: 768px){
  .ietres-autosuggest .amsearch-price{
    justify-content:center;   /* centra horizontalmente el bloque precio+pro */
  }
}

.ias-smart{
  margin:8px 12px 6px;
  padding:8px 10px;
  border:1px solid #cfe3f2;
  background:#f1f8fe;
  color:#0b4e6b;
  border-radius:8px;
  font-size:13px;
  line-height:1.35;
}
.ias-smart code{
  background:#e8f2fb;
  padding:0 .25em;
  border-radius:4px;
}








/* ... (todo tu CSS actual, sin cambios) ... */

/* ====== Metadatos invisibles que envía el controlador ====== */
.ias-meta{ display:none !important; }

/* ====== Botón “Cerrar” (texto, arriba-derecha) ====== */
.amsearch-results .ias-close{
  position:absolute;
  top:8px; right:10px;
  background:#fff;
  border:1px solid var(--ias-accent,#0AA8DC);
  color:var(--ias-accent,#0AA8DC);
  border-radius:999px;
  padding:6px 12px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(10,168,220,.1);
  transition: background-color .12s ease, color .12s ease, transform .08s ease;
}
.amsearch-results .ias-close:hover{
  background: rgba(10,168,220,.06);
}
.amsearch-results .ias-close:active{
  transform: translateY(1px);
}

/* ====== Footer inferior del overlay: Cargar más + Ver todos ====== */
.ias-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  border-top:1px solid #e6eef3;
  background:#fff;
}

/* Botón principal de “Cargar más” */
.ias-loadmore-btn{
  display:inline-flex; align-items:center; gap:8px;
  height:38px; padding:0 16px;
  background:var(--ias-accent,#0AA8DC); color:#fff;
  border:1px solid var(--ias-accent,#0AA8DC); border-radius:10px;
  font-weight:800; cursor:pointer;
  box-shadow:0 2px 0 rgba(0,0,0,.04), 0 6px 14px rgba(10,168,220,.18);
  transition: transform .08s ease, filter .08s ease, opacity .12s ease;
}
.ias-loadmore-btn:hover{ filter: brightness(.96); transform: translateY(-1px); }
.ias-loadmore-btn:active{ transform: translateY(0); }


/* “Ver todos” como ghost */
.ias-footer .ias-viewall-link{
  height:38px; display:inline-flex; align-items:center; padding:0 14px;
}

/* Ajuste móvil: footer apilado si falta espacio */
@media (max-width: 640px){
  .ias-footer{ flex-wrap:wrap; }
  .ias-footer .ias-loadmore-btn{ flex:1 1 48%; justify-content:center; }
  .ias-footer .ias-viewall-link{ flex:1 1 48%; justify-content:center; }
}

/* Ocultar el "Cerrar" mientras carga */
.amsearch-results.ias-fixed.is-loading .ias-close-btn{ display:none; }

/* Cerrar: más arriba y sin contorno/borde */
.ias-close-btn{
  position:absolute;
  top:4px;             /* subido */
  right:8px;
  background:transparent;
  border:none;         /* sin contorno */
  outline:none;        /* sin outline */
  color:var(--ias-accent,#0AA8DC);
  font-weight:800;
  font-size:12px;
  line-height:1;
  padding:6px 10px 7px;
  border-radius:999px;
  cursor:pointer;
  transition:background-color .12s ease, transform .08s ease;
  z-index:3;
}
.ias-close-btn:hover{ background:#eefaff; transform:translateY(-1px); }

/* Footer pegado abajo y siempre visible en scroll */
.ias-footer-actions{
  position:sticky;
  bottom:0;
  background:#fff;
  z-index:2;
}
@media (max-width: 768px){
  .ias-footer-actions{ padding:8px 10px 10px; gap:8px; }
  .ias-more-btn{ flex:1 1 auto; justify-content:center; height:40px; }
}

.amsearch-results.is-loading .ias-close,
.amsearch-results.is-loading .ias-close-btn{
  display: none !important;
}

/* Cerrar: arriba, sin contorno */
.amsearch-results .ias-close{
  position:absolute;
  top:0px;             /* subido */
  right:11px;
  background:transparent;
  border:none;         /* sin contorno */
  outline:none;
  color:var(--ias-accent,#0AA8DC);
  font-weight:800;
  font-size:12px;
  line-height:1;
  padding:6px 10px 7px;
  border-radius:999px;
  cursor:pointer;
  transition:background-color .12s ease, transform .08s ease;
  z-index:3;
}
.amsearch-results .ias-close:hover{ background:#eefaff; transform:translateY(-1px); }

/* Ocultar toolbar+bóton mientras está el spinner */
.amsearch-results.is-loading .ias-toolbar,
.amsearch-results.is-loading .ias-close{
  display:none !important;
}


/* Antes:
.amsearch-results.ias-fixed{ max-height:calc(100vh - 20px); overflow:hidden; }
.amsearch-results.ias-fixed .ias-results{ max-height:calc(100vh - 140px); overflow-y:auto; }
*/



/* Miniaturas más grandes + desplazar el texto a la derecha */
.ietres-autosuggest .amsearch-item{ display:flex; gap:16px; align-items:flex-start; }
.ietres-autosuggest .amsearch-image{ flex:0 0 110px; }       /* ancho fijo de la columna de imagen */
.ietres-autosuggest .amsearch-image img{
  max-width: 108px; width:100%; height:auto; object-fit:contain;
}
@media (max-width: 768px){
  .ietres-autosuggest .amsearch-image{ flex:0 0 86px; }
  .ietres-autosuggest .amsearch-image img{ max-width:84px; }
  
  .ietres-autosuggest .amsearch-item{
  display:flex;
  gap:16px;
  align-items:center;  /* en lugar de flex-start */
}

}

/* El panel fijo actúa como contenedor flex vertical */
.amsearch-results.ias-fixed{
  display:flex;
  flex-direction:column;
}

/* La raíz del overlay ocupa toda la altura disponible del panel */
.amsearch-results.ias-fixed > .ietres-autosuggest{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;          /* importante para permitir que la lista haga scroll */
}

/* La lista de resultados ocupa todo el espacio libre entre cabecera y footer */
.ietres-autosuggest .ias-results{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

/* El footer (cargar más / ver todos) no se estira, se queda pegado abajo */
.ietres-autosuggest .ias-footer,
.ietres-autosuggest .ias-footer-actions,
.ietres-autosuggest .ias-loadmore-wrap{
  flex:0 0 auto;
}

/* FIX crítico 1: que la altura de la lista la gestione el JS (no 70vh) */
.amsearch-results.ias-fixed .ias-results{
  max-height: none !important;          /* anula tu .ias-results{ max-height:70vh } */
}

/* FIX crítico 2: estructura flex SIEMPRE (desktop y móvil) */
.amsearch-results.ias-fixed{
  display:flex; 
  flex-direction:column;
}
.amsearch-results.ias-fixed > .ietres-autosuggest{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.amsearch-results.ias-fixed .ias-results{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

/* Footer pegado abajo del panel (permite scroll en la lista) */
.amsearch-results.ias-fixed .ias-footer,
.amsearch-results.ias-fixed .ias-footer-actions{
  position: sticky;
  bottom: 0;
  background: #fff;
  z-index: 2;
}

/* (opcional) Centrar verticalmente cada fila (imagen + texto + botones) */
.ietres-autosuggest .amsearch-item{ align-items: center; }


/* ===== Overlay (Ietres_AutoSuggest) – chips y “Desde …€” ===== */

/* Chips suaves junto al precio */
.ietres-autosuggest .ias-promo-chips{
  display:inline-flex; gap:6px; margin-left:.35rem; vertical-align:middle;
}
.ietres-autosuggest .ias-promo-chip{
  display:inline-flex; align-items:center; height:18px; padding:0 7px;
  border-radius:999px; font-size:11px; font-weight:800; line-height:1;
  color:#0b2b36; border:1px solid transparent;
  background:#eaf6fb; box-shadow:0 1px 2px rgba(0,0,0,.05);
}
/* Variantes (tono pastel) */
.ietres-autosuggest .ias-promo-chip.is-volume{      color:#0a5e7b; background:#e6f4fb; border-color:#cbe8f7; }
.ietres-autosuggest .ias-promo-chip.is-new{         color:#146b3a; background:#e8f8ef; border-color:#cceedd; }
.ietres-autosuggest .ias-promo-chip.is-super{       color:#7a2222; background:#fdecec; border-color:#f6caca; }
.ietres-autosuggest .ias-promo-chip.is-bf{          color:#222;    background:#f0f0f0; border-color:#e0e0e0; }
.ietres-autosuggest .ias-promo-chip.is-refurb-part{ color:#105d53; background:#e6f6f3; border-color:#cbece6; }
.ietres-autosuggest .ias-promo-chip.is-outlet{      color:#7a5200; background:#fff3df; border-color:#f5deac; }

/* Precio + pista de volumen en la misma línea */
.ietres-autosuggest .ias-price-wrap{
  display:inline-flex; align-items:center; gap:.45rem;
}

/* Píldora “Precio por cantidad” (apoya el “Desde …€”) */
.ietres-autosuggest .ias-volume-hint{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:12px; line-height:1; white-space:nowrap;
  color:#0a5e7b; background:#eaf6fb; border:1px dashed #cbe8f7;
  border-radius:999px; padding:2px 8px; margin-left:.35rem;
}
.ietres-autosuggest .ias-volume-hint::before{
  content:''; width:14px; height:14px; background-repeat:no-repeat; background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%230a5e7b' d='M3 7.5L12 3l9 4.5l-9 4.5zM3 12l9 4.5l9-4.5M3 16.5L12 21l9-4.5' fill-opacity='.85'/%3E%3C/svg%3E");
  opacity:.85;
}
@media (max-width:768px){
  .ietres-autosuggest .ias-volume-hint{ font-size:11px; padding:2px 7px; }
}

/* Maquillaje del “Desde …€” (price-box) como píldora clara */
.ietres-autosuggest .amsearch-price .minimal-price-link{
  display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap;
  margin-left:.4rem; padding:2px 8px; border-radius:999px;
  background:#fff8e8; border:1px solid #f3d69a; color:#7a5c00;
  font-size:11px; font-weight:700; line-height:1;
}
.ietres-autosuggest .amsearch-price .minimal-price-link .label{ font-weight:800; text-transform:uppercase; }
.ietres-autosuggest .amsearch-price .minimal-price-link .price{ font-weight:800; }
.ietres-autosuggest .amsearch-price .minimal-price-link a{ color:inherit; text-decoration:none; }

/* Icono sutil delante de “Desde” */
.ietres-autosuggest .amsearch-price .minimal-price-link::before{
  content:''; width:12px; height:12px; flex:0 0 12px;
  background-repeat:no-repeat; background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a6d00' d='M4 7h16v2H4zm0 4h16v2H4zm0 4h10v2H4z'/%3E%3C/svg%3E");
  opacity:.9;
}

/* Pulso MUY suave (una vez) para que el ojo lo capte sin molestar) */
@media (prefers-reduced-motion: no-preference){
  .ietres-autosuggest .amsearch-price .minimal-price-link{
    animation: ias-pulse 2.6s ease-in-out 1;
  }
  @keyframes ias-pulse{
    0%{   box-shadow:0 0 0 0 rgba(243,214,154,0); }
    30%{  box-shadow:0 0 0 6px rgba(243,214,154,.22); }
    100%{ box-shadow:0 0 0 0 rgba(243,214,154,0); }
  }
}

