/* =====================================================================
   Anchetas Navideñas · Páginas (inicio, tienda, ficha, cotización,
   cotizador, gracias, footer). Mismo prefijo ac-.
   Destino WordPress: plugin anchetas-cotizacion/assets/css/paginas.css
   (se encola por plantilla: is_front_page, is_shop/is_product_taxonomy,
   is_product, página «mi-cotizacion», «cotizar», «gracias»).
   ===================================================================== */

/* ---------- 9. Inicio ---------- */
/* HERO v4 (2026-11-02): papel crema de la marca (#FCF8EC) con fondo ilustrado (assets/marca/hero-fondo-*,
   una sola fuente en scripts/preparar_marca.py → FONDO_HERO), el trío de anchetas REALES como protagonista y
   nieve interactiva (js/nieve.js). Regla de oro: el trío SIEMPRE se ve completo.
   Cómo se garantiza: la foto no tiene alto propio; ocupa la caja que le deja el primer pantallazo
   (escritorio: la columna derecha con el alto de la pantalla; móvil/tableta: el espacio que queda entre los
   botones y la barra fija) y se pinta con object-fit: contain, así que se reduce antes que cortarse.
   La caja la da el layout (no la carga de la imagen): CLS 0. Medido en 8 tamaños con qa/capturas-hero-v4.js.
   Contrastes sobre #FCF8EC: titular #292929 13,7:1 · acento y antetítulo #901B22 8,36:1 · subtítulo y checks
   #5E5A55 6,44:1 · CTA blanco sobre #C2242D 5,86:1. Íconos de checks #778B3B 3,57:1 (no texto, ≥ 3:1). */
.ac-hero {
  position: relative; isolation: isolate; overflow: hidden;
  padding-block: clamp(1.25rem, 0.5rem + 2.5vw, 2rem);
  color: var(--ac-texto);
  background: var(--ac-crema);
}
.ac-hero > .ac-contenedor { position: relative; z-index: 1; }
/* El fondo va DETRÁS del canvas de nieve (z -1 dentro del contexto aislado); el canvas queda en z 0 */
.ac-hero__fondo { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ac-hero__fondo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.ac-nieve { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0; transition: opacity 1.2s ease; }
.ac-nieve--visible { opacity: 1; }
/* Movimiento reducido: sin canvas; un velo estático y sutil de copos blancos con sombra cálida */
@media (prefers-reduced-motion: reduce) {
  .ac-hero::before {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0.9;
    background-image:
      radial-gradient(circle at 12% 18%, #fff 0 2.5px, rgb(150 128 100 / 0.28) 3px, transparent 4.5px),
      radial-gradient(circle at 38% 72%, #fff 0 2px, rgb(150 128 100 / 0.24) 2.5px, transparent 4px),
      radial-gradient(circle at 64% 30%, #fff 0 2.5px, rgb(150 128 100 / 0.28) 3px, transparent 4.5px),
      radial-gradient(circle at 86% 64%, #fff 0 2px, rgb(150 128 100 / 0.24) 2.5px, transparent 4px);
    background-size: 260px 220px;
  }
}
.ac-hero__texto { text-align: center; }
.ac-hero__antetitulo { justify-content: center; margin-bottom: var(--ac-e-2); }
.ac-hero__titulo {
  max-width: 14ch; margin-inline: auto;
  font-size: var(--ac-fs-hero); font-weight: 800; line-height: 1.02; letter-spacing: var(--ac-tracking-hero);
  color: var(--ac-texto); text-wrap: balance;
}
.ac-hero__acento { color: var(--ac-marca); }
.ac-hero__sub {
  max-width: 34rem; margin: var(--ac-e-4) auto 0;
  font-size: var(--ac-fs-sub); font-weight: 500; line-height: 1.38; letter-spacing: -0.012em; color: var(--ac-texto-2);
  text-wrap: pretty;
}
.ac-hero__ctas { justify-content: center; margin-top: var(--ac-e-5); }
.ac-hero__ctas .ac-boton { min-width: 12rem; }
.ac-hero__ctas .ac-boton--claro { --b-borde: rgb(41 41 41 / 0.14); box-shadow: var(--ac-sombra-1); }
.ac-hero__checks { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ac-e-2) var(--ac-e-5); margin-top: var(--ac-e-4); list-style: none; font-size: var(--ac-fs-pequeno); font-weight: 550; color: var(--ac-texto-2); }
.ac-hero__checks li { display: inline-flex; align-items: center; gap: 0.35rem; }
.ac-hero__checks .ac-icono { color: var(--ac-verde); width: 1.125rem; height: 1.125rem; }

/* Productos: PNG con alfa (sombras de contacto incluidas). La figura es la caja; la imagen la llena en
   absoluto (no aporta alto propio) y se encaja con contain → nunca se recorta. */
.ac-hero__foto { position: relative; margin: 0; }
.ac-hero__foto picture { display: contents; }
.ac-hero__foto img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: contain; object-position: 50% 50%;
}

/* Móvil y tableta (una columna): antetítulo → titular → subtítulo → botones → PRODUCTOS (→ checks en
   tableta). El HERO mide exactamente el primer pantallazo útil (pantalla − header − barra fija) y la foto
   toma el espacio que sobra: completa, encima de la barra, sin hacer scroll. Si la pantalla es tan baja que
   no cabe (≤ 12 rem para la foto), el HERO crece y la foto sigue entera, justo debajo de los botones. */
@media (max-width: 63.99rem) {
  .ac-hero__grid {
    display: flex; flex-direction: column; gap: var(--ac-e-4);
    min-height: calc(100svh - var(--ac-alto-header) - var(--ac-alto-barra) - env(safe-area-inset-bottom) - 2 * clamp(1.25rem, 0.5rem + 2.5vw, 2rem));
  }
  .ac-hero__texto { display: flex; flex-direction: column; }
  .ac-hero__checks { order: 1; }   /* tableta: los checks van debajo de la foto, no entre botones y foto */
  .ac-hero__foto { flex: 1 1 0; min-height: 12rem; max-height: 34rem; width: 100%; }
}
@media (max-width: 39.99rem) {
  .ac-hero__sub { font-size: 1.0625rem; margin-top: var(--ac-e-3); }
  .ac-hero__ctas { margin-top: var(--ac-e-4); gap: var(--ac-e-2); }
  /* Botones lado a lado (estilo Apple) para liberar alto para la foto; por debajo de ~340 px se apilan */
  .ac-hero__ctas .ac-boton { flex: 1 1 auto; min-width: 0; padding-inline: 1rem; font-size: 1rem; }
  .ac-hero__ctas .ac-boton--accion { flex-grow: 1.4; }
  .ac-hero__ctas .ac-boton--accion .ac-icono { display: none; }
  /* Los checks repiten el subtítulo («al instante», «asesor por WhatsApp»); en móvil se omiten para que la
     foto quepa completa en el primer pantallazo. «Precio por volumen» sigue en la tienda y el cotizador. */
  .ac-hero__checks { display: none; }
}
@media (min-width: 64rem) {
  /* Escritorio: dos columnas a la altura de la pantalla. La columna de la foto se estira hacia el margen
     derecho en pantallas anchas (--sangria) para que el trío ocupe ≈ 50-55 % del ancho. */
  .ac-hero { --sangria: max(0px, (100vw - var(--ac-ancho)) / 2 - var(--ac-margen)); }
  .ac-hero__grid {
    display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 2.5vw, 3rem);
    min-height: clamp(30rem, calc(100svh - var(--ac-alto-header) - 2 * clamp(1.25rem, 0.5rem + 2.5vw, 2rem)), 58rem);
  }
  .ac-hero__texto { text-align: left; align-self: center; }
  .ac-hero__antetitulo { justify-content: flex-start; }
  .ac-hero__titulo { margin-inline: 0; max-width: 12ch; font-size: clamp(3rem, min(1.2rem + 4.2vw, 9.4svh), 5.5rem); }
  .ac-hero__sub { margin-inline: 0; font-size: clamp(1.125rem, min(0.9rem + 0.6vw, 2.6svh), 1.5rem); }
  .ac-hero__ctas, .ac-hero__checks { justify-content: flex-start; }
  .ac-hero__foto { margin-right: calc(-1 * var(--sangria)); }
  .ac-hero__foto img { object-position: 50% 55%; }
}
/* 1024-1279: la columna de texto necesita un poco más de aire para el titular de 4 líneas */
@media (min-width: 64rem) and (max-width: 79.99rem) {
  .ac-hero__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .ac-hero__ctas { flex-wrap: nowrap; }
  .ac-hero__ctas .ac-boton { min-width: 0; padding-inline: 1.25rem; }
}
/* ≥ 1600: la foto ya gana ancho con la sangría; el texto recupera columna para que el titular quede en 4 líneas */
@media (min-width: 100rem) {
  .ac-hero__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
}

/* Íconos 3D (Microsoft Fluent Emoji, MIT): siempre decorativos (alt="") y con tamaño fijo para CLS 0 */
.ac-3d { display: block; flex: none; width: 3rem; height: 3rem; object-fit: contain; }

/* Vista estilizada del PDF de cotización: SOLO en gracias (el HERO ya no la usa; QA 2026-11-01 quitó
   las reglas huérfanas --plano, __marca, __desc, __ejemplo, __pie span/ícono, __num small, __total strong) */
.ac-pdf {
  width: min(100%, 24rem); padding: 1.25rem 1.25rem 1rem; border-radius: 0.875rem;
  background: #fff; box-shadow: var(--ac-sombra-3); color: var(--ac-texto);
  font-size: 0.75rem; line-height: 1.4; font-variant-numeric: tabular-nums;
  rotate: -1.5deg;
}
.ac-pdf__cabeza { display: flex; justify-content: space-between; gap: var(--ac-e-3); padding-bottom: 0.75rem; border-bottom: 2px solid var(--ac-marca); }
.ac-pdf__num { text-align: right; font-weight: 700; }
.ac-pdf__para { margin: 0.75rem 0 0.5rem; color: var(--ac-texto-2); }
.ac-pdf table { width: 100%; border-collapse: collapse; }
.ac-pdf th { text-align: left; font-weight: 600; color: var(--ac-texto-3); font-size: 0.6875rem; padding: 0.35rem 0; border-bottom: 1px solid var(--ac-borde); }
.ac-pdf td { padding: 0.45rem 0; border-bottom: 1px solid var(--ac-borde); vertical-align: top; }
.ac-pdf td:last-child, .ac-pdf th:last-child { text-align: right; }
.ac-pdf__total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 0.6rem; font-weight: 700; }
.ac-pdf__pie { display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem; margin-top: 0.75rem; padding-top: 0.6rem; border-top: 1px dashed var(--ac-borde); color: var(--ac-texto-2); }

/* Cómo funciona: foto real del armado + pasos con ícono 3D */
.ac-como { display: grid; gap: var(--ac-gap-bloque); align-items: center; }
.ac-como__foto { margin: 0; }
.ac-como__foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 30%; border-radius: var(--ac-radio-l); }
@media (min-width: 64rem) {
  .ac-como { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 1rem + 3vw, 4.5rem); }
  .ac-como__foto img { aspect-ratio: 4 / 5; }
}
.ac-pasos { list-style: none; display: grid; gap: var(--ac-e-3); }
.ac-paso {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ac-e-4); align-items: start;
  padding: var(--ac-e-4) var(--ac-e-5); border-radius: var(--ac-radio-l); background: var(--ac-fondo-2);
}
.ac-paso .ac-3d { width: 3.5rem; height: 3.5rem; }
.ac-paso h3 { display: flex; align-items: center; gap: var(--ac-e-2); margin-bottom: var(--ac-e-1); font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem); }
.ac-paso__num {
  display: inline-grid; place-items: center; flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%;
  background: var(--ac-marca); color: #fff; font-size: 0.875rem; font-weight: 800; letter-spacing: 0; font-variant-numeric: tabular-nums;
}
.ac-paso p { margin: 0; color: var(--ac-texto-2); }
.ac-paso__tiempo { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: var(--ac-e-2) !important; font-size: var(--ac-fs-pequeno); font-weight: 600; color: var(--ac-verde-texto) !important; }

/* Por presupuesto */
.ac-presupuestos { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ac-gap-rejilla); }
@media (min-width: 64rem) { .ac-presupuestos { grid-template-columns: repeat(4, 1fr); } }
.ac-presupuesto {
  display: grid; gap: 0.25rem; align-content: start; height: 100%;
  padding: var(--ac-e-4) var(--ac-e-4) var(--ac-e-5); border-radius: var(--ac-radio-l);
  background: var(--ac-fondo-2); color: var(--ac-texto); text-decoration: none;
  border: 1px solid transparent;
  transition: transform var(--ac-dur-rapida) ease-out, border-color var(--ac-dur), background-color var(--ac-dur);
}
.ac-presupuesto .ac-3d { margin-bottom: var(--ac-e-2); }
.ac-presupuesto:active { transform: scale(0.98); }
.ac-presupuesto strong { font-size: clamp(1.1875rem, 1rem + 0.9vw, 1.875rem); font-weight: 750; letter-spacing: -0.025em; line-height: 1.1; }
.ac-presupuesto span { color: var(--ac-texto-2); font-weight: 500; font-size: var(--ac-fs-pequeno); display: inline-flex; align-items: center; gap: 0.35rem; }
@media (hover: hover) and (pointer: fine) { .ac-presupuesto:hover { border-color: var(--ac-verde); background: var(--ac-lima-suave); } }

/* Categorías (las 4 de WooCommerce) con ícono 3D */
.ac-categorias { list-style: none; display: grid; gap: var(--ac-gap-rejilla); }
@media (min-width: 40rem) { .ac-categorias { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) { .ac-categorias { grid-template-columns: repeat(4, 1fr); } }
.ac-categoria {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ac-e-4); align-items: start; height: 100%;
  padding: var(--ac-e-4) var(--ac-e-5) var(--ac-e-5) var(--ac-e-4);
  border-radius: var(--ac-radio-l); background: #fff; color: var(--ac-texto); text-decoration: none;
  border: 1px solid transparent;
  transition: transform var(--ac-dur-rapida) ease-out, border-color var(--ac-dur);
}
.ac-categoria .ac-3d { width: 3.5rem; height: 3.5rem; }
@media (min-width: 64rem) { .ac-categoria { grid-template-columns: 1fr; gap: var(--ac-e-3); padding: var(--ac-e-5); } .ac-categoria .ac-3d { width: 4rem; height: 4rem; } }
.ac-categoria:active { transform: scale(0.98); }
.ac-categoria strong { display: block; font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem); font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; }
.ac-categoria__desc { display: block; margin-top: 0.25rem; color: var(--ac-texto-2); font-size: 0.9375rem; line-height: 1.4; }
.ac-categoria small { display: inline-flex; align-items: center; gap: 0.3rem; margin-top: var(--ac-e-2); color: var(--ac-marca); font-size: var(--ac-fs-pequeno); font-weight: 650; }
.ac-categoria small .ac-icono { width: 1rem; height: 1rem; }
@media (hover: hover) and (pointer: fine) { .ac-categoria:hover { border-color: var(--ac-verde); } }
.ac-categorias__mas { margin-top: var(--ac-gap-bloque); }
.ac-categorias__mas-titulo { margin-bottom: var(--ac-e-3); font-size: var(--ac-fs-pequeno); font-weight: 650; color: var(--ac-texto-2); }
.ac-categorias__mas .ac-chips { list-style: none; }
.ac-categorias__mas a.ac-chip .ac-icono { width: 1.125rem; height: 1.125rem; color: var(--ac-marca); }

/* Confianza */
.ac-garantias { list-style: none; display: grid; gap: var(--ac-gap-rejilla); }
@media (min-width: 40rem) { .ac-garantias { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64rem) { .ac-garantias { grid-template-columns: repeat(3, 1fr); } }
.ac-garantia { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ac-e-4); align-items: start; padding: var(--ac-e-4) var(--ac-e-5) var(--ac-e-5) var(--ac-e-4); border-radius: var(--ac-radio-l); background: #fff; }
.ac-garantia .ac-3d { width: 3.5rem; height: 3.5rem; }
.ac-garantia h3 { font-size: 1.1875rem; margin: 0.15rem 0 var(--ac-e-1); }
.ac-garantia p { margin: 0; color: var(--ac-texto-2); font-size: 0.9688rem; }

/* Quiénes somos: video con fachada ligera + foto del equipo */
.ac-nosotros { display: grid; gap: var(--ac-gap-bloque); align-items: center; margin-top: var(--ac-gap-bloque); }
@media (min-width: 64rem) { .ac-nosotros { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(2rem, 1rem + 3vw, 4rem); } }
.ac-nosotros__texto h3 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem); letter-spacing: -0.025em; line-height: 1.1; margin-bottom: var(--ac-e-3); }
.ac-nosotros__texto > p:not(.ac-antetitulo) { color: var(--ac-texto-2); }
.ac-nosotros__foto { margin: var(--ac-e-4) 0 0; }
.ac-nosotros__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ac-radio-l); }
.ac-video {
  position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--ac-radio-l);
  background: var(--ac-oscuro); box-shadow: var(--ac-sombra-2);
}
.ac-video picture, .ac-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; }
.ac-video__poster { object-fit: cover; }
.ac-video__play {
  position: absolute; inset: 0; display: flex; align-items: flex-end; gap: var(--ac-e-3);
  padding: clamp(1rem, 0.75rem + 1.5vw, 1.75rem);
  color: #fff; text-decoration: none;
  background: linear-gradient(180deg, transparent 40%, rgb(20 4 6 / 0.72) 100%);
  -webkit-tap-highlight-color: transparent;
}
.ac-video__boton {
  display: grid; place-items: center; flex: none; width: 4rem; height: 4rem; border-radius: 50%;
  background: var(--ac-accion); color: #fff; box-shadow: 0 10px 30px rgb(0 0 0 / 0.35);
  transition: transform var(--ac-dur-rapida) ease-out, background-color var(--ac-dur);
}
.ac-video__boton svg { margin-left: 3px; }
.ac-video__texto { display: grid; font-size: 1.0625rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; text-shadow: 0 1px 8px rgb(0 0 0 / 0.4); }
.ac-video__texto small { font-size: var(--ac-fs-pequeno); font-weight: 550; opacity: 0.92; }
.ac-video__play:active .ac-video__boton { transform: scale(0.94); }
.ac-video__play:focus-visible { outline: 3px solid #fff; outline-offset: -6px; border-radius: var(--ac-radio-l); }
@media (hover: hover) and (pointer: fine) { .ac-video__play:hover .ac-video__boton { background: var(--ac-accion-hover); transform: scale(1.05); } }
.ac-video__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.ac-logos { margin-top: clamp(2rem, 1.5rem + 2vw, 3.5rem); padding-top: var(--ac-e-5); border-top: 1px solid var(--ac-borde); text-align: center; }
.ac-logos__fila { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ac-e-3); margin-top: var(--ac-e-4); }
@media (min-width: 48rem) { .ac-logos__fila { grid-template-columns: repeat(5, 1fr); } }
.ac-logos__fila > div { display: grid; place-items: center; min-height: 4.5rem; border-radius: var(--ac-radio); background: #fff; color: var(--ac-texto-3); font-size: var(--ac-fs-mini); padding: var(--ac-e-2); }
.ac-resenas { display: grid; gap: var(--ac-e-4); margin-top: var(--ac-e-5); }
@media (min-width: 48rem) { .ac-resenas { grid-template-columns: repeat(3, 1fr); } }
.ac-resena { margin: 0; padding: var(--ac-e-5); border-radius: var(--ac-radio-l); background: #fff; }
.ac-resena p { font-size: 1.0625rem; font-weight: 500; }
.ac-resena footer { font-size: var(--ac-fs-pequeno); color: var(--ac-texto-2); }

/* Preguntas frecuentes (details/summary) */
.ac-faq { max-width: 52rem; }
.ac-faq__item { border-bottom: 1px solid var(--ac-borde); }
.ac-faq__item > summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ac-e-4);
  min-height: 4rem; padding-block: var(--ac-e-4); list-style: none;
  font-size: clamp(1.0625rem, 1rem + 0.4vw, 1.3125rem); font-weight: 600; letter-spacing: -0.015em; line-height: 1.3;
}
.ac-faq__item > summary::-webkit-details-marker { display: none; }
.ac-faq__item > summary .ac-icono { flex: none; transition: transform var(--ac-dur) var(--ac-curva); }
.ac-faq__item[open] > summary .ac-icono { transform: rotate(45deg); }
.ac-faq__item > div { padding-bottom: var(--ac-e-5); color: var(--ac-texto-2); max-width: 44rem; }
.ac-faq__item > div p:last-child { margin: 0; }

/* Cierre con cotizador: foto real de anchetas apiladas + elección rápida sobre fondo lima suave */
.ac-seccion--lima { background: var(--ac-lima-suave); }
.ac-seccion--crema { background: var(--ac-crema); }
.ac-cierre__grid { display: grid; gap: var(--ac-gap-bloque); align-items: center; }
.ac-cierre__foto { margin: 0; }
.ac-cierre__foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--ac-radio-l); }
.ac-cierre__cuerpo { text-align: center; }
.ac-cierre h2 { max-width: 16ch; margin-inline: auto; }
.ac-cierre__form { margin-top: var(--ac-e-5); }
.ac-cierre__form legend { margin: 0 auto var(--ac-e-4); font-size: var(--ac-fs-sub); font-weight: 500; color: var(--ac-texto-2); letter-spacing: -0.012em; }
.ac-cierre .ac-chips { justify-content: center; }
.ac-cierre .ac-chip > span { min-height: 3.25rem; padding: 0 1.4rem; font-size: 1.0625rem; background: #fff; }
.ac-cierre__cta { margin-top: var(--ac-e-5); }
@media (min-width: 64rem) {
  .ac-cierre__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 1rem + 3vw, 4.5rem); }
  .ac-cierre__foto img { aspect-ratio: 4 / 3.4; }
  .ac-cierre__cuerpo { text-align: left; }
  .ac-cierre h2 { margin-inline: 0; }
  .ac-cierre .ac-chips { justify-content: flex-start; }
  .ac-cierre__form legend { margin-inline: 0; }
}

/* ---------- 10. Tienda y filtros ---------- */
.ac-migas { padding-top: var(--ac-e-4); font-size: var(--ac-fs-pequeno); color: var(--ac-texto-2); }
.ac-migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ac-migas li + li::before { content: "›"; margin-right: 0.35rem; color: var(--ac-texto-3); }
.ac-migas a { color: var(--ac-texto-2); }
.ac-tienda__cabeza { padding-block: var(--ac-e-4) var(--ac-e-5); }
/* Móvil: cabecera compacta para que las primeras tarjetas (y su «Agregar») asomen en el primer pantallazo */
@media (max-width: 47.99rem) {
  .ac-tienda__cabeza { padding-block: var(--ac-e-2) var(--ac-e-3); }
  .ac-tienda__cabeza .ac-seccion__sub { font-size: 0.9375rem; margin-top: var(--ac-e-2); }
  .ac-tienda__buscador { margin-top: var(--ac-e-3); }
  .ac-tienda__cabeza .ac-atajos-fila { margin-top: var(--ac-e-3); }
}
.ac-tienda__cabeza h1 { font-size: clamp(1.75rem, 1.2rem + 3.2vw, 4.5rem); line-height: 1.04; letter-spacing: -0.03em; font-weight: 800; max-width: 18ch; }
.ac-tienda__cabeza .ac-seccion__sub { max-width: 44rem; }
.ac-tienda__buscador { margin-top: var(--ac-e-5); max-width: 44rem; }

.ac-atajos-fila {
  display: flex; gap: var(--ac-e-2); list-style: none; overflow-x: auto; scrollbar-width: none;
  margin: var(--ac-e-5) calc(-1 * var(--ac-margen)) 0; padding: 0 var(--ac-margen) var(--ac-e-1);
  scroll-snap-type: x proximity;
  -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent);
}
.ac-atajos-fila::-webkit-scrollbar { display: none; }
.ac-atajos-fila li { scroll-snap-align: start; flex: none; }
.ac-atajos-fila .ac-chip { min-height: 2.75rem; }
.ac-atajos-fila .ac-chip .ac-icono { width: 1.125rem; height: 1.125rem; }
.ac-atajos-fila .ac-chip[aria-pressed="false"] .ac-icono { color: var(--ac-marca); }
@media (min-width: 64rem) { .ac-atajos-fila { flex-wrap: wrap; overflow: visible; -webkit-mask-image: none; mask-image: none; margin-inline: 0; padding-inline: 0; } }

.ac-tienda__cuerpo { display: grid; gap: var(--ac-e-6); padding-bottom: var(--ac-seccion); }
@media (min-width: 64rem) { .ac-tienda__cuerpo { grid-template-columns: 16.5rem minmax(0, 1fr); gap: var(--ac-e-6); align-items: start; } }

.ac-resultados__barra {
  position: sticky; top: var(--ac-alto-header); z-index: 5;
  display: grid; gap: var(--ac-e-3); padding-block: var(--ac-e-3);
  background: var(--ac-material); -webkit-backdrop-filter: var(--ac-material-blur); backdrop-filter: var(--ac-material-blur);
  margin-inline: calc(-1 * var(--ac-margen)); padding-inline: var(--ac-margen);
  margin-bottom: var(--ac-e-5);
}
@media (min-width: 64rem) { .ac-resultados__barra { margin-inline: 0; padding-inline: 0; } }
.ac-resultados__fila { display: flex; align-items: center; gap: var(--ac-e-3); flex-wrap: wrap; }
.ac-resultados__contador { margin: 0 auto 0 0; font-weight: 650; font-size: 1.0625rem; letter-spacing: -0.01em; }
.ac-orden { display: flex; align-items: center; gap: var(--ac-e-2); font-size: var(--ac-fs-pequeno); }
.ac-orden label { color: var(--ac-texto-2); font-weight: 550; }
.ac-select {
  min-height: var(--ac-toque); padding: 0 2.25rem 0 0.9rem; border-radius: var(--ac-radio-pildora);
  border: 1.5px solid var(--ac-borde-control); background: #fff; font-weight: 600; font-size: 0.9375rem;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231d1d1f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.75rem center;
}
.ac-aplicados { display: flex; gap: var(--ac-e-2); flex-wrap: wrap; align-items: center; }
.ac-aplicados:empty { display: none; }
.ac-filtros-boton .ac-contador { margin-left: 0.15rem; }
@media (min-width: 64rem) { .ac-filtros-boton { display: none !important; } }

/* Panel de filtros: barra lateral (escritorio) / hoja inferior (móvil) */
.ac-filtros { display: none; }
@media (min-width: 64rem) {
  .ac-filtros { display: block; position: sticky; top: calc(var(--ac-alto-header) + 1rem); max-height: calc(100dvh - var(--ac-alto-header) - 2rem); overflow: auto; padding-right: var(--ac-e-2); scrollbar-width: thin; }
}
.ac-filtros__titulo { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: var(--ac-e-2); }
.ac-filtro { padding-block: var(--ac-e-4); border-bottom: 1px solid var(--ac-borde); }
.ac-filtro legend { font-weight: 650; font-size: 1rem; margin-bottom: var(--ac-e-3); letter-spacing: -0.01em; }
.ac-opcion {
  display: flex; align-items: center; gap: var(--ac-e-3);
  min-height: 2.5rem; padding: 0.15rem 0; cursor: pointer; font-size: 0.9688rem; font-weight: 500;
}
.ac-opcion input { width: 1.25rem; height: 1.25rem; margin: 0; flex: none; accent-color: var(--ac-oscuro); cursor: pointer; }
.ac-opcion .ac-icono { width: 1.125rem; height: 1.125rem; color: var(--ac-texto-2); }
.ac-opcion small { margin-left: auto; color: var(--ac-texto-3); font-size: var(--ac-fs-mini); font-variant-numeric: tabular-nums; }
.ac-opcion[data-vacia] { color: var(--ac-texto-3); }
.ac-opcion[data-vacia] input { opacity: 0.5; }
.ac-segmentado { display: grid; grid-template-columns: repeat(3, 1fr); padding: 3px; gap: 3px; background: var(--ac-fondo-2); border-radius: var(--ac-radio-pildora); }
.ac-segmentado label { position: relative; }
.ac-segmentado input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ac-segmentado span { display: grid; place-items: center; min-height: 2.5rem; padding: 0 0.5rem; border-radius: var(--ac-radio-pildora); font-size: 0.875rem; font-weight: 600; text-align: center; line-height: 1.15; }
.ac-segmentado input:checked + span { background: #fff; box-shadow: var(--ac-sombra-1); }
.ac-segmentado input:focus-visible + span { outline: 3px solid var(--ac-foco); outline-offset: 1px; }
.ac-rango { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ac-e-2); margin-top: var(--ac-e-3); }
.ac-rango label { font-size: var(--ac-fs-mini); color: var(--ac-texto-2); font-weight: 550; }
.ac-rango input { width: 100%; }
.ac-rango .ac-error-campo { grid-column: 1 / -1; }

/* Hoja inferior móvil (dialog modal) */
.ac-hoja {
  inset: auto 0 0 0; width: 100%; max-height: 90dvh;
  border-radius: var(--ac-radio-l) var(--ac-radio-l) 0 0; box-shadow: var(--ac-sombra-3);
}
.ac-hoja[open] { display: flex; flex-direction: column; }
.ac-hoja__asa { width: 2.5rem; height: 5px; border-radius: 3px; background: var(--ac-fondo-3); margin: var(--ac-e-2) auto 0; }
.ac-hoja__cabeza { display: flex; align-items: center; justify-content: space-between; padding: var(--ac-e-2) var(--ac-margen); border-bottom: 1px solid var(--ac-borde); }
.ac-hoja__cabeza h2 { font-size: 1.25rem; letter-spacing: -0.02em; }
/* Dentro de la hoja móvil la cabecera ya dice «Filtrar»: no repetirlo (aria-labelledby sigue funcionando) */
.ac-hoja .ac-filtros__titulo { display: none; }
.ac-hoja__cuerpo { flex: 1; overflow: auto; padding: 0 var(--ac-margen) var(--ac-e-4); overscroll-behavior: contain; }
.ac-hoja__pie { display: grid; grid-template-columns: auto 1fr; gap: var(--ac-e-2); padding: var(--ac-e-3) var(--ac-margen) calc(var(--ac-e-3) + env(safe-area-inset-bottom)); border-top: 1px solid var(--ac-borde); background: #fff; }
@media (prefers-reduced-motion: no-preference) {
  .ac-hoja[open] { animation: ac-subir 280ms var(--ac-curva); }
  @keyframes ac-subir { from { transform: translateY(24px); opacity: 0.6; } }
}

/* Intercalado «Cotiza en 1 minuto» en la rejilla */
.ac-intercalado {
  grid-column: 1 / -1; display: grid; gap: var(--ac-e-4); align-items: center;
  padding: clamp(1.5rem, 1rem + 2vw, 3rem); border-radius: var(--ac-radio-l);
  background: linear-gradient(135deg, var(--ac-marca) 0%, var(--ac-marca-oscuro) 100%); color: #fff;
}
.ac-intercalado .ac-boton--accion { --b-fondo: var(--ac-lima); --b-texto: var(--ac-texto); }
@media (hover: hover) and (pointer: fine) { .ac-intercalado .ac-boton--accion:hover { --b-fondo: var(--ac-lima-hover); } }
.ac-intercalado h2 { font-size: clamp(1.625rem, 1.3rem + 1.5vw, 2.5rem); letter-spacing: -0.025em; }
.ac-intercalado p { margin: 0; color: rgb(255 255 255 / 0.88); font-weight: 500; }
@media (min-width: 48rem) { .ac-intercalado { grid-template-columns: 1fr auto; } }

/* Estado vacío */
.ac-vacio { grid-column: 1 / -1; padding: clamp(2rem, 1.5rem + 3vw, 4rem); border-radius: var(--ac-radio-l); background: var(--ac-fondo-2); }
.ac-vacio h2 { font-size: clamp(1.625rem, 1.3rem + 1.5vw, 2.5rem); letter-spacing: -0.025em; margin-bottom: var(--ac-e-3); }
.ac-vacio__quitar { display: flex; flex-wrap: wrap; gap: var(--ac-e-2); margin: var(--ac-e-4) 0; }
.ac-vacio__sugeridas { margin-top: var(--ac-e-6); }
.ac-vacio__sugeridas h3 { margin-bottom: var(--ac-e-4); }

/* ---------- 11. Buscador (combobox APG) ---------- */
.ac-buscador { position: relative; }
.ac-buscador__campo { position: relative; display: flex; align-items: center; }
.ac-buscador__campo > .ac-icono { position: absolute; left: 1rem; width: 1.25rem; height: 1.25rem; color: var(--ac-texto-2); pointer-events: none; }
.ac-buscador__input {
  width: 100%; min-height: 3.25rem; padding: 0 6.5rem 0 2.9rem;
  border: 1.5px solid var(--ac-borde-control); border-radius: var(--ac-radio-pildora); background: #fff;
  font-size: 1.0625rem; font-weight: 500;
  -webkit-appearance: none; appearance: none;
}
.ac-buscador__input::-webkit-search-cancel-button { display: none; }
.ac-buscador__input::placeholder { color: var(--ac-texto-3); }
.ac-buscador__input:focus-visible { outline: 3px solid var(--ac-foco); outline-offset: 2px; border-color: var(--ac-texto); }
.ac-buscador__enviar { position: absolute; right: 0.3rem; min-height: 2.6rem; padding: 0 1.1rem; font-size: 0.9375rem; }
.ac-buscador__lista {
  position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 0.5rem);
  max-height: min(70dvh, 32rem); overflow: auto; padding: var(--ac-e-2);
  background: #fff; border-radius: var(--ac-radio-l); box-shadow: var(--ac-sombra-3); border: 1px solid var(--ac-borde);
  list-style: none;
}
.ac-buscador__grupo { padding: 0.6rem 0.75rem 0.3rem; font-size: var(--ac-fs-mini); font-weight: 650; color: var(--ac-texto-3); letter-spacing: var(--ac-tracking-mini); }
.ac-buscador__entendimos { display: flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.4rem 0.75rem 0.6rem; }
.ac-buscador__opcion {
  display: flex; align-items: center; gap: var(--ac-e-3); min-height: var(--ac-toque);
  padding: 0.4rem 0.75rem; border-radius: var(--ac-radio-s); cursor: pointer; font-weight: 550;
}
.ac-buscador__opcion img { width: 3rem; height: 3rem; border-radius: 0.5rem; background: var(--ac-fondo-2); object-fit: contain; mix-blend-mode: multiply; flex: none; }
.ac-buscador__opcion .ac-icono { color: var(--ac-texto-2); }
.ac-buscador__opcion small { display: block; color: var(--ac-texto-2); font-weight: 500; font-size: var(--ac-fs-mini); }
.ac-buscador__opcion mark { background: none; color: inherit; font-weight: 750; }
.ac-buscador__opcion[aria-selected="true"] { background: var(--ac-fondo-2); outline: 2px solid var(--ac-texto); outline-offset: -2px; }
.ac-buscador__opcion--todas { font-weight: 650; color: var(--ac-marca); }
.ac-buscador__aviso { padding: 0.5rem 0.75rem; font-size: var(--ac-fs-pequeno); color: var(--ac-texto-2); }
@media (hover: hover) and (pointer: fine) { .ac-buscador__opcion:hover { background: var(--ac-fondo-2); } }
.ac-aviso-busqueda { margin: 0 0 var(--ac-e-4); padding: var(--ac-e-3) var(--ac-e-4); border-radius: var(--ac-radio); background: var(--ac-aviso-suave); color: var(--ac-aviso-texto); font-weight: 550; font-size: 0.9375rem; }

/* ---------- 12. Ficha de producto ---------- */
.ac-ficha { display: grid; gap: var(--ac-e-6); padding-block: var(--ac-e-4) var(--ac-seccion); }
@media (min-width: 64rem) { .ac-ficha { grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: var(--ac-e-7); align-items: start; } }
.ac-galeria { position: relative; min-width: 0; }
/* Insignia («Más vendida») sobre la foto, no encima: no empuja el contenido hacia abajo */
.ac-galeria__insignias { position: absolute; z-index: 1; left: 0.75rem; top: 0.75rem; display: flex; gap: var(--ac-e-2); }
.ac-galeria__insignias:empty { display: none; }
@media (min-width: 64rem) { .ac-galeria { position: sticky; top: calc(var(--ac-alto-header) + 1.5rem); } }
.ac-galeria__pista {
  display: grid; grid-auto-flow: column; grid-auto-columns: 100%; list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
  border-radius: var(--ac-radio-l); background: var(--ac-fondo-2);
}
.ac-galeria__pista::-webkit-scrollbar { display: none; }
.ac-galeria__diapo { scroll-snap-align: start; aspect-ratio: 1; display: grid; place-items: center; margin: 0; position: relative; }
.ac-galeria__diapo img { width: 100%; height: 100%; object-fit: contain; padding: 6%; mix-blend-mode: multiply; }
.ac-galeria__diapo figcaption { position: absolute; left: 1rem; bottom: 1rem; }
.ac-galeria__diapo--pendiente { padding: 8%; }
.ac-galeria__controles { position: absolute; right: 0.75rem; top: 0.75rem; display: flex; align-items: center; gap: var(--ac-e-2); }
.ac-galeria__contador { padding: 0.35rem 0.7rem; border-radius: var(--ac-radio-pildora); background: rgb(255 255 255 / 0.85); font-size: var(--ac-fs-mini); font-weight: 650; font-variant-numeric: tabular-nums; }
.ac-galeria__controles .ac-boton { --b-fondo: rgb(255 255 255 / 0.9); box-shadow: var(--ac-sombra-1); }
.ac-galeria__miniaturas { display: flex; gap: var(--ac-e-2); margin-top: var(--ac-e-3); list-style: none; overflow-x: auto; scrollbar-width: none; }
/* Móvil: foto 4:3 y sin miniaturas (el contador y el deslizamiento bastan) para que nombre, precio,
   cantidad y total quepan en el primer pantallazo. */
@media (max-width: 63.99rem) {
  .ac-ficha { gap: var(--ac-e-3); padding-top: 0; }
  .ac-galeria__pista { aspect-ratio: 16 / 10; grid-auto-rows: 100%; }
  .ac-galeria__diapo { aspect-ratio: auto; height: 100%; overflow: hidden; }
  .ac-galeria__diapo img { padding: 2%; }
  .ac-galeria__diapo--pendiente { padding: 4%; font-size: var(--ac-fs-mini); }
  .ac-galeria__miniaturas { display: none; }
  .ac-galeria__controles { top: 0.5rem; right: 0.5rem; }
  .ac-galeria__insignias { top: 0.625rem; left: 0.625rem; }
}
.ac-galeria__miniaturas button { width: 4rem; height: 4rem; padding: 0; border-radius: var(--ac-radio-s); border: 2px solid transparent; background: var(--ac-fondo-2); overflow: hidden; display: grid; place-items: center; font-size: 0.6875rem; color: var(--ac-texto-3); font-weight: 600; }
.ac-galeria__miniaturas button[aria-current="true"] { border-color: var(--ac-texto); }
.ac-galeria__miniaturas img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }

/* Panel de cotización: nombre → «desde» → ítems clave → 1. cantidad + total a precio lleno + nota de descuentos
   internos → entrega estimada → «Agregar» + «Cotizar solo esta» + WhatsApp. Todo a la vista (sin acordeón). */
.ac-panel { display: grid; gap: var(--ac-e-4); min-width: 0; align-content: start; }
.ac-panel h1 { font-size: clamp(1.625rem, 1.3rem + 2vw, 3rem); font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; }
.ac-panel__precio { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.25rem 0.5rem; margin: 0; }
.ac-panel__desde { font-size: 1rem; color: var(--ac-texto-2); font-weight: 550; }
.ac-panel__precio strong { font-size: var(--ac-fs-precio); font-weight: 750; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.ac-panel__cu { color: var(--ac-texto-2); font-weight: 550; }
.ac-panel__precio s { color: var(--ac-texto-3); }
.ac-panel__nota { margin: -0.625rem 0 0; font-size: var(--ac-fs-mini); color: var(--ac-texto-2); }
/* 3-5 ítems clave en píldoras con ícono */
.ac-clave { display: flex; flex-wrap: wrap; gap: 0.375rem; list-style: none; font-size: 0.8125rem; }
.ac-clave li { display: inline-flex; align-items: center; gap: 0.3rem; min-height: 1.875rem; padding: 0.2rem 0.65rem; border-radius: var(--ac-radio-pildora); background: var(--ac-fondo-2); font-weight: 600; }
.ac-clave .ac-icono { color: var(--ac-marca); }
.ac-clave li.ac-clave__mas { padding: 0; background: var(--ac-oscuro); }
.ac-clave__mas a { display: inline-flex; align-items: center; gap: 0.15rem; min-height: 1.875rem; padding: 0.2rem 0.5rem 0.2rem 0.75rem; border-radius: inherit; color: #fff; text-decoration: none; font-weight: 650; }
.ac-clave__mas .ac-icono { color: #fff; }
@media (hover: hover) and (pointer: fine) { .ac-clave__mas a:hover { text-decoration: underline; } }
.ac-panel__form { display: grid; gap: var(--ac-e-4); }
.ac-panel__form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.ac-paso-titulo { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.5rem; padding: 0; margin-bottom: var(--ac-e-3); font-size: 1.125rem; font-weight: 700; letter-spacing: -0.015em; }
.ac-paso-titulo span { font-size: var(--ac-fs-mini); font-weight: 550; color: var(--ac-texto-2); letter-spacing: 0; }
/* 5 chips del mismo ancho en una sola fila (de 320 px en adelante) */
.ac-cant__chips { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.375rem; }
.ac-cant__chips .ac-chip > span { width: 100%; min-width: 0; min-height: 3rem; padding: 0 0.25rem; justify-content: center; font-size: 1.0625rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.ac-cant__otra { display: grid; gap: var(--ac-e-2); margin-top: var(--ac-e-3); justify-items: start; }
.ac-cant__otra[hidden] { display: none; }
/* Total estimado a precio lleno: línea (N × c/u) + total grande; debajo, la nota de descuentos internos */
.ac-total { display: grid; gap: 0.25rem; padding: var(--ac-e-3) var(--ac-e-4); border-radius: var(--ac-radio-l); background: var(--ac-fondo-2); font-variant-numeric: tabular-nums; }
.ac-total__linea { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.15rem var(--ac-e-3); color: var(--ac-texto-2); font-size: 0.9375rem; }
.ac-total__grande { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ac-e-3); font-weight: 650; }
.ac-total__grande strong { font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem); letter-spacing: -0.03em; font-weight: 750; }
/* Nota única de descuentos (dueño, 3-nov-2026): se manejan de forma interna; sin tabla ni %. Discreta, una o dos líneas.
   Se usa en la ficha (bajo el total), en Mi cotización (resumen) y en Cotizar en 1 minuto (paso de opciones). */
.ac-nota-desc { margin: 0; display: flex; gap: 0.4rem; align-items: flex-start; font-size: var(--ac-fs-mini); line-height: 1.4; color: var(--ac-texto-2); }
.ac-nota-desc .ac-icono { flex: none; width: 1rem; height: 1rem; margin-top: 0.1em; color: var(--ac-verde); }
.ac-panel__form .ac-nota-desc { margin-top: calc(var(--ac-e-4) * -0.5); }
/* Pasos opcionales compactos (fecha/ciudad y logo) */
.ac-panel__form fieldset.ac-paso-opcional { padding-top: var(--ac-e-3); border-top: 1px solid var(--ac-borde); }
.ac-paso-opcional .ac-paso-titulo { font-size: 1rem; margin-bottom: var(--ac-e-2); }
.ac-dos-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ac-e-3); }
.ac-paso-opcional .ac-factible { margin-top: var(--ac-e-2); }
.ac-paso-opcional .ac-opciones { gap: 0 var(--ac-e-5); }
.ac-paso-opcional .ac-check { padding-block: 0.4rem; }
.ac-panel__ctas { display: grid; gap: var(--ac-e-2); }
.ac-panel__ctas-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ac-e-2); }
.ac-panel__ctas-2 .ac-boton { padding-inline: 0.75rem; }
.ac-panel__cta[data-estado="en-lista"] { --b-fondo: var(--ac-verde-suave); --b-texto: var(--ac-verde-texto); --b-borde: var(--ac-verde); }
.ac-panel__wa .ac-icono { color: #128c4b; }
/* Dos botones lado a lado en móvil: «Preguntar por» se omite si no cabe (queda «WhatsApp» con su ícono) */
@media (max-width: 29.99rem) { .ac-panel__wa-largo { display: none; } }
.ac-panel__seguro { margin: 0; display: flex; justify-content: center; gap: 0.4rem; font-size: var(--ac-fs-mini); color: var(--ac-texto-2); text-align: center; }
.ac-panel__seguro .ac-icono { color: var(--ac-verde); width: 1rem; height: 1rem; margin-top: 0.1em; flex: none; }
.ac-mini-confianza { list-style: none; display: grid; gap: var(--ac-e-2); padding-top: var(--ac-e-3); border-top: 1px solid var(--ac-borde); font-size: 0.875rem; color: var(--ac-texto-2); }
.ac-mini-confianza li { display: flex; gap: 0.5rem; align-items: flex-start; }
.ac-mini-confianza .ac-icono { color: var(--ac-marca); margin-top: 0.15em; flex: none; }
.ac-factible { margin: 0; padding: var(--ac-e-2) var(--ac-e-3); border-radius: var(--ac-radio); font-size: 0.875rem; font-weight: 550; display: flex; gap: 0.5rem; }
.ac-factible .ac-icono { flex: none; margin-top: 0.15em; width: 1rem; height: 1rem; }
.ac-factible[data-tipo="ok"] { background: var(--ac-verde-suave); color: var(--ac-verde-texto); }
.ac-factible[data-tipo="justo"] { background: var(--ac-aviso-suave); color: var(--ac-aviso-texto); }
.ac-factible[data-tipo="error"] { background: var(--ac-error-suave); color: var(--ac-error); }

/* Panel en móvil (va DESPUÉS de las reglas base del panel para ganar en la cascada):
   foto 16:10, nombre, precio y cantidad en el primer pantallazo; el total y los pasos siguen debajo. */
@media (max-width: 63.99rem) {
  .ac-panel { gap: var(--ac-e-3); }
  .ac-panel__precio strong { font-size: 1.75rem; }
  .ac-paso-titulo { font-size: 1rem; margin-bottom: var(--ac-e-2); }
  .ac-cant__chips .ac-chip > span { min-height: var(--ac-toque); }
  /* Ítems clave en una sola fila deslizable (no empujan la cantidad hacia abajo) */
  .ac-clave { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--ac-margen) * -1); padding-inline: var(--ac-margen); scroll-padding-inline: var(--ac-margen); }
  .ac-clave::-webkit-scrollbar { display: none; }
  .ac-clave li { flex: none; white-space: nowrap; }
  .ac-total { padding: 0.625rem var(--ac-e-4); }
  .ac-total__grande strong { font-size: 1.5rem; }
}
@media (max-width: 23.99rem) {
  .ac-panel__ctas-2 { grid-template-columns: minmax(0, 1fr); }
  .ac-dos-campos { grid-template-columns: minmax(0, 1fr); }
}

.ac-ficha-secciones { display: grid; gap: 0; }
.ac-ficha-seccion { padding-block: clamp(2.5rem, 1.75rem + 3vw, 4.5rem); border-top: 1px solid var(--ac-borde); }
.ac-ficha-seccion:first-child { border-top: 0; }
.ac-ficha-seccion h2 { margin-bottom: var(--ac-e-5); }
.ac-ficha-seccion__n { color: var(--ac-texto-3); font-weight: 600; }
/* Qué incluye: agrupado por tipo (licor, bebidas, dulces, salados, despensa, empaque) con ícono */
.ac-incluye { display: grid; gap: var(--ac-e-5); margin-top: var(--ac-e-5); }
@media (min-width: 40rem) { .ac-incluye { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ac-e-6) var(--ac-e-7); } }
@media (min-width: 64rem) { .ac-incluye { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ac-incluye__grupo h3 { display: flex; align-items: center; gap: var(--ac-e-3); font-size: 1.0625rem; font-weight: 700; letter-spacing: -0.01em; margin-bottom: var(--ac-e-2); }
.ac-incluye__grupo h3 small { color: var(--ac-texto-3); font-weight: 600; font-size: var(--ac-fs-mini); }
.ac-incluye__grupo ul { list-style: none; display: grid; }
.ac-incluye__grupo li { padding: 0.5rem 0 0.5rem 3rem; border-bottom: 1px solid var(--ac-borde); font-weight: 500; }
.ac-incluye__icono { display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--ac-fondo-2); color: var(--ac-marca); }
.ac-incluye__icono .ac-icono { width: 1.125rem; height: 1.125rem; }
.ac-ficha-cats { margin: var(--ac-e-4) 0 0; font-size: var(--ac-fs-mini); color: var(--ac-texto-2); }
.ac-ficha-cats a { display: inline-block; padding-block: 0.6rem; }
.ac-ficha-duo { display: grid; border-top: 1px solid var(--ac-borde); }
.ac-ficha-duo > .ac-ficha-seccion:first-child { border-top: 0; }
@media (min-width: 56rem) { .ac-ficha-duo { grid-template-columns: 1fr 1fr; column-gap: var(--ac-e-7); } .ac-ficha-duo > .ac-ficha-seccion { border-top: 0; } }
.ac-columnas--compactas { gap: var(--ac-e-5); }
.ac-nota { display: flex; gap: 0.5rem; margin-top: var(--ac-e-4); font-size: 0.9375rem; color: var(--ac-texto-2); }
.ac-nota .ac-icono { flex: none; margin-top: 0.15em; }
.ac-columnas { display: grid; gap: var(--ac-e-6); }
@media (min-width: 48rem) { .ac-columnas { grid-template-columns: repeat(3, 1fr); } }
.ac-columnas h3 { font-size: 1.1875rem; margin-bottom: var(--ac-e-2); }
.ac-columnas p { color: var(--ac-texto-2); margin: 0; }
.ac-columnas .ac-icono { width: 1.75rem; height: 1.75rem; color: var(--ac-marca); margin-bottom: var(--ac-e-3); }
.ac-tabla-simple { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ac-tabla-simple th, .ac-tabla-simple td { text-align: left; padding: 0.75rem 0; border-bottom: 1px solid var(--ac-borde); }
.ac-tabla-simple th { font-weight: 600; }
.ac-kit { list-style: none; display: grid; gap: var(--ac-e-2); margin: var(--ac-e-4) 0; }
.ac-kit li { display: flex; align-items: center; gap: var(--ac-e-3); font-weight: 550; }
.ac-kit .ac-icono { color: var(--ac-marca); }

/* Barra fija de la ficha (móvil) */
.ac-barra-ficha { display: none; }
.ac-barra-ficha.ac-barra { display: flex; }
.ac-barra-ficha[data-oculta] { transform: translateY(110%); }
.ac-barra-ficha { transition: transform var(--ac-dur) var(--ac-curva); }
.ac-barra-ficha .ac-barra__resumen strong { font-variant-numeric: tabular-nums; }
@media (min-width: 64rem) { .ac-barra-ficha.ac-barra { display: none; } }

/* ---------- 13. Formularios ---------- */
.ac-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ac-e-5); }
.ac-form__grupo { display: grid; gap: var(--ac-e-4); padding: 0; }
.ac-form__grupo > legend { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: var(--ac-e-4); }
@media (min-width: 40rem) { .ac-form__fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ac-e-4); } }
.ac-form__fila { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ac-e-4); }
.ac-campo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.35rem; align-content: start; min-width: 0; }
/* QA 2026-11-01: a 320 px el ancho intrínseco de los <input> (size=20) desbordaba 11 px: min-width 0 */
.ac-campo__label { font-weight: 600; font-size: 0.9375rem; }
.ac-campo__label span { color: var(--ac-texto-2); font-weight: 500; }
.ac-campo__ayuda { margin: 0; font-size: var(--ac-fs-mini); color: var(--ac-texto-2); }
.ac-campo__input {
  width: 100%; min-width: 0; min-height: 3rem; padding: 0.6rem 0.9rem;
  font-size: 1rem; border: 1.5px solid var(--ac-borde-control); border-radius: 0.75rem; background: #fff;
  transition: border-color var(--ac-dur);
}
textarea.ac-campo__input { min-height: 6rem; resize: vertical; }
.ac-campo__input:focus-visible { outline: 3px solid var(--ac-foco); outline-offset: 2px; border-color: var(--ac-texto); }
.ac-campo__input[aria-invalid="true"] { border-color: var(--ac-error); border-width: 2px; background: var(--ac-error-suave); }
.ac-error-campo { margin: 0; color: var(--ac-error); font-size: 0.875rem; font-weight: 600; display: flex; gap: 0.35rem; align-items: flex-start; }
.ac-error-campo:empty { display: none; }
.ac-error-campo .ac-icono { width: 1rem; height: 1rem; margin-top: 0.15em; flex: none; }
.ac-opciones { display: flex; flex-wrap: wrap; gap: var(--ac-e-2) var(--ac-e-5); }
.ac-check { display: flex; gap: var(--ac-e-3); align-items: flex-start; min-height: var(--ac-toque); padding-block: 0.6rem; cursor: pointer; font-size: 0.9688rem; }
.ac-check input { width: 1.375rem; height: 1.375rem; margin: 0; flex: none; accent-color: var(--ac-oscuro); }
.ac-resumen-errores { padding: var(--ac-e-4) var(--ac-e-5); border-radius: var(--ac-radio); border: 2px solid var(--ac-error); background: var(--ac-error-suave); color: var(--ac-error); }
.ac-resumen-errores h2 { font-size: 1.125rem; letter-spacing: -0.01em; margin-bottom: var(--ac-e-2); }
.ac-resumen-errores ul { padding-left: 1.2rem; }
.ac-resumen-errores a { color: var(--ac-error); font-weight: 600; }
.ac-cantidad { display: inline-grid; grid-template-columns: var(--ac-toque) 4.25rem var(--ac-toque); align-items: center; border: 1.5px solid var(--ac-borde-control); border-radius: var(--ac-radio-pildora); background: #fff; }
.ac-cantidad button { height: var(--ac-toque); border: 0; background: none; border-radius: var(--ac-radio-pildora); display: grid; place-items: center; }
.ac-cantidad button:active { transform: scale(0.92); }
.ac-cantidad input { width: 100%; min-height: 2.5rem; border: 0; text-align: center; font-weight: 650; font-variant-numeric: tabular-nums; background: none; -moz-appearance: textfield; appearance: textfield; }
.ac-cantidad input::-webkit-inner-spin-button, .ac-cantidad input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ac-trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 14. Mi cotización ---------- */
.ac-cot { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ac-e-6); padding-block: var(--ac-e-5) var(--ac-seccion); } /* QA: sin minmax la columna tomaba el min-content del formulario (315 px) y desbordaba a 320 */
@media (min-width: 64rem) { .ac-cot { grid-template-columns: minmax(0, 1fr) 24rem; gap: var(--ac-e-7); align-items: start; } }
.ac-cot h1 { font-size: clamp(2.25rem, 1.6rem + 3vw, 4rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.04; }
.ac-lista { list-style: none; border-top: 1px solid var(--ac-borde); }
.ac-linea { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--ac-e-3) var(--ac-e-4); padding-block: var(--ac-e-5); border-bottom: 1px solid var(--ac-borde); }
.ac-linea__foto { width: 4.5rem; height: 4.5rem; border-radius: var(--ac-radio); background: var(--ac-fondo-2); object-fit: contain; mix-blend-mode: multiply; padding: 4px; }
.ac-linea__info h2, .ac-linea__info h3 { font-size: 1.0625rem; font-weight: 650; letter-spacing: -0.015em; }
.ac-linea__info :is(h2, h3) a { color: var(--ac-texto); text-decoration: none; }
.ac-linea__info p { margin: 0.15rem 0 0; font-size: var(--ac-fs-pequeno); color: var(--ac-texto-2); font-variant-numeric: tabular-nums; }
.ac-linea__acciones { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: var(--ac-e-3); justify-content: space-between; }
.ac-linea__subtotal { font-weight: 700; font-variant-numeric: tabular-nums; font-size: 1.0625rem; }
@media (min-width: 40rem) {
  .ac-linea { grid-template-columns: 5.5rem minmax(0, 1fr) auto; align-items: center; }
  .ac-linea__foto { width: 5.5rem; height: 5.5rem; }
  .ac-linea__acciones { grid-column: 3; flex-wrap: nowrap; }
}
.ac-cot__vacia { padding: var(--ac-e-7) var(--ac-e-5); text-align: center; background: var(--ac-fondo-2); border-radius: var(--ac-radio-l); }
.ac-cot__vacia h2 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem); margin-bottom: var(--ac-e-3); }
.ac-cot__vacia .ac-grupo-botones { justify-content: center; }
.ac-resumen { display: grid; gap: var(--ac-e-4); padding: var(--ac-e-5); border-radius: var(--ac-radio-l); background: var(--ac-fondo-2); font-variant-numeric: tabular-nums; }
@media (min-width: 64rem) { .ac-resumen { position: sticky; top: calc(var(--ac-alto-header) + 1.5rem); } }
.ac-resumen h2 { font-size: 1.375rem; letter-spacing: -0.02em; }
.ac-resumen dl { margin: 0; display: grid; gap: var(--ac-e-2); }
.ac-resumen dl div { display: flex; justify-content: space-between; gap: var(--ac-e-3); }
.ac-resumen dt { color: var(--ac-texto-2); }
.ac-resumen dd { margin: 0; font-weight: 600; }
.ac-resumen__total { padding-top: var(--ac-e-3); border-top: 1px solid var(--ac-borde-control); font-size: 1.125rem; }
.ac-resumen__total dd { font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem); font-weight: 750; letter-spacing: -0.03em; }
.ac-resumen p { margin: 0; font-size: var(--ac-fs-mini); color: var(--ac-texto-2); }
.ac-formulario-cot { margin-top: var(--ac-e-7); }
.ac-formulario-cot > h2 { margin-bottom: var(--ac-e-2); }

/* ---------- 15. Cotizador 1 minuto ---------- */
.ac-cotizador { padding-block: var(--ac-e-5) var(--ac-seccion); }
.ac-cotizador__marco { width: min(100% - 2 * var(--ac-margen), 44rem); margin-inline: auto; }
.ac-progreso { display: grid; gap: var(--ac-e-2); margin-bottom: clamp(2rem, 1.5rem + 3vw, 4rem); }
.ac-progreso__texto { display: flex; justify-content: space-between; font-size: var(--ac-fs-pequeno); font-weight: 600; color: var(--ac-texto-2); }
.ac-progreso__barra { height: 6px; border-radius: 3px; background: var(--ac-fondo-3); overflow: hidden; }
.ac-progreso__barra span { display: block; height: 100%; width: var(--avance, 0%); background: var(--ac-marca); border-radius: inherit; transition: width 300ms var(--ac-curva); }
.ac-paso-cot { display: grid; gap: var(--ac-e-5); }
.ac-paso-cot legend, .ac-paso-cot__titulo {
  font-size: clamp(2rem, 1.4rem + 3vw, 3.5rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; text-wrap: balance;
  margin-bottom: var(--ac-e-3);
}
.ac-paso-cot__ayuda { margin: 0 0 var(--ac-e-5); font-size: var(--ac-fs-sub); color: var(--ac-texto-2); font-weight: 500; line-height: 1.38; }
.ac-paso-cot:focus { outline: none; }
.ac-opciones-grandes { display: grid; gap: var(--ac-e-3); }
@media (min-width: 40rem) { .ac-opciones-grandes--2 { grid-template-columns: 1fr 1fr; } }
.ac-opcion-grande { position: relative; display: block; }
.ac-opcion-grande input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ac-opcion-grande > span {
  display: flex; align-items: center; gap: var(--ac-e-4); min-height: 4rem; padding: var(--ac-e-4) var(--ac-e-5);
  border: 1.5px solid var(--ac-borde-control); border-radius: var(--ac-radio-l); background: #fff;
  font-size: 1.125rem; font-weight: 600; letter-spacing: -0.01em;
  transition: border-color var(--ac-dur), background-color var(--ac-dur), transform var(--ac-dur-rapida) ease-out;
}
.ac-opcion-grande > span small { display: block; font-size: 0.9375rem; font-weight: 500; color: var(--ac-texto-2); letter-spacing: 0; margin-top: 2px; }
.ac-opcion-grande > span .ac-icono { width: 1.5rem; height: 1.5rem; color: var(--ac-marca); }
.ac-opcion-grande input:active + span { transform: scale(0.98); }
.ac-opcion-grande input:checked + span { border-color: var(--ac-texto); border-width: 2px; background: var(--ac-fondo-2); }
.ac-opcion-grande input:checked + span::after { content: ""; margin-left: auto; width: 1.5rem; height: 1.5rem; flex: none; border-radius: 50%; background: var(--ac-oscuro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 0.9rem no-repeat; }
.ac-opcion-grande input:focus-visible + span { outline: 3px solid var(--ac-foco); outline-offset: 3px; }
.ac-cotizador__nav { display: flex; justify-content: space-between; gap: var(--ac-e-3); margin-top: var(--ac-e-6); }
.ac-cotizador__nav .ac-boton:last-child { margin-left: auto; min-width: 10rem; }
.ac-numero-grande { display: grid; gap: var(--ac-e-3); }
.ac-numero-grande input { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 750; letter-spacing: -0.03em; min-height: 4.5rem; padding: 0.5rem 1.25rem; border-radius: var(--ac-radio-l); font-variant-numeric: tabular-nums; }

.ac-opciones-cot { display: grid; gap: var(--ac-e-5); }
@media (min-width: 56rem) { .ac-opciones-cot { grid-template-columns: repeat(3, 1fr); align-items: stretch; } }
.ac-cotizador--resultado .ac-cotizador__marco { width: min(100% - 2 * var(--ac-margen), var(--ac-ancho)); }
.ac-opcion-cot { position: relative; display: flex; flex-direction: column; }
.ac-opcion-cot input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; z-index: 1; }
.ac-opcion-cot__caja {
  display: flex; flex-direction: column; gap: var(--ac-e-3); height: 100%;
  padding: var(--ac-e-5); border: 1.5px solid var(--ac-borde-control); border-radius: var(--ac-radio-l); background: #fff;
  transition: border-color var(--ac-dur), box-shadow var(--ac-dur);
}
.ac-opcion-cot--recomendada .ac-opcion-cot__caja { border-color: var(--ac-marca); border-width: 2px; }
.ac-opcion-cot input:checked + .ac-opcion-cot__caja { box-shadow: 0 0 0 3px var(--ac-oscuro); border-color: var(--ac-oscuro); }
.ac-opcion-cot input:focus-visible + .ac-opcion-cot__caja { outline: 3px solid var(--ac-foco); outline-offset: 4px; }
.ac-opcion-cot__nivel { display: flex; justify-content: space-between; align-items: center; font-size: var(--ac-fs-pequeno); font-weight: 650; color: var(--ac-texto-2); }
.ac-opcion-cot img { aspect-ratio: 1; width: 100%; object-fit: contain; background: var(--ac-fondo-2); border-radius: var(--ac-radio); mix-blend-mode: multiply; padding: 6%; }
.ac-opcion-cot h3 { font-size: 1.375rem; }
.ac-opcion-cot__precio { margin: 0; font-variant-numeric: tabular-nums; color: var(--ac-texto-2); }
.ac-opcion-cot__precio strong { display: block; font-size: 1.75rem; font-weight: 750; letter-spacing: -0.03em; color: var(--ac-texto); }
.ac-opcion-cot ul { padding-left: 1.1rem; color: var(--ac-texto-2); font-size: 0.9375rem; display: grid; gap: 0.2rem; }
.ac-opcion-cot__ver { margin-top: auto; position: relative; z-index: 2; font-weight: 600; font-size: 0.9375rem; align-self: flex-start; min-height: var(--ac-toque-min); display: inline-flex; align-items: center; }
.ac-resumen-respuestas { display: flex; flex-wrap: wrap; gap: var(--ac-e-2); margin-bottom: var(--ac-e-6); }

/* ---------- 17. Gracias ----------
   Escritorio: confirmación a la izquierda, el «papel» del PDF a la derecha (sticky).
   Móvil: una columna; el PDF baja después de «Qué pasa ahora». */
.ac-gracias { padding-block: clamp(2rem, 1.5rem + 3vw, 5rem) var(--ac-seccion); }
.ac-gracias__rejilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(3rem, 2rem + 4vw, 5rem); align-items: start; }
@media (min-width: 64rem) { .ac-gracias__rejilla { grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: var(--ac-e-7); } }
.ac-gracias__principal { display: grid; gap: var(--ac-e-5); min-width: 0; }
.ac-gracias__principal > * { margin: 0; }
.ac-gracias__ok {
  justify-self: start; display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.4rem 0.85rem 0.4rem 0.6rem; border-radius: var(--ac-radio-pildora);
  background: var(--ac-verde-suave); color: var(--ac-verde-texto);
  font-size: var(--ac-fs-pequeno); font-weight: 650; letter-spacing: var(--ac-tracking-mini);
}
.ac-gracias__ok .ac-icono { width: 1.25rem; height: 1.25rem; color: var(--ac-verde); }
.ac-gracias h1 { font-size: var(--ac-fs-hero); font-weight: 800; letter-spacing: var(--ac-tracking-hero); line-height: 1.02; max-width: 12ch; }
.ac-gracias__lead { max-width: 34rem; overflow-wrap: anywhere; font-size: var(--ac-fs-sub); font-weight: 500; line-height: 1.38; letter-spacing: -0.012em; color: var(--ac-texto-2); }
.ac-gracias__datos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ac-e-2); }
.ac-gracias__datos > div:nth-child(2) { grid-column: 1 / -1; order: 3; } /* el correo largo ocupa su propia fila */
@media (min-width: 40rem) {
  .ac-gracias__datos { grid-template-columns: max-content minmax(0, 1fr) max-content; }
  .ac-gracias__datos > div:nth-child(2) { grid-column: auto; order: 0; }
}
.ac-gracias__datos > div { display: grid; gap: 0.2rem; align-content: start; min-width: 0; padding: var(--ac-e-4); border-radius: var(--ac-radio); background: var(--ac-fondo-2); }
.ac-gracias__datos dt { font-size: var(--ac-fs-mini); font-weight: 600; color: var(--ac-texto-2); letter-spacing: var(--ac-tracking-mini); }
.ac-gracias__datos dd { margin: 0; font-weight: 700; font-size: clamp(0.9375rem, 0.88rem + 0.3vw, 1.0625rem); letter-spacing: -0.015em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ac-gracias__datos > div:nth-child(2) dd { white-space: normal; overflow-wrap: anywhere; } /* correo */
.ac-gracias__principal .ac-grupo-botones .ac-boton { white-space: normal; text-align: center; }
@media (max-width: 39.99rem) { .ac-gracias__principal .ac-grupo-botones .ac-boton { flex: 1 1 100%; } }
.ac-gracias__principal > .ac-mini { margin-top: calc(-1 * var(--ac-e-3)); }
/* Con o sin cotización en la pestaña: lo decide un script en línea del <head> antes de pintar (CLS 0) */
html:not(.ac-g-sin) .ac-g-solo-sin, html.ac-g-sin .ac-g-solo-con { display: none !important; }
.ac-gracias__vacio { display: grid; gap: var(--ac-e-5); }
.ac-gracias__vacio > * { margin: 0; }
html.ac-g-sin .ac-gracias__rejilla { grid-template-columns: minmax(0, 46rem); }

.ac-ahora { margin-top: var(--ac-e-5); padding-top: var(--ac-e-6); border-top: 1px solid var(--ac-borde); }
.ac-ahora h2 { font-size: clamp(1.5rem, 1.25rem + 1.2vw, 2.25rem); letter-spacing: -0.025em; margin-bottom: var(--ac-e-5); }
.ac-ahora__pasos { list-style: none; display: grid; gap: var(--ac-e-5); }
.ac-ahora__pasos li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--ac-e-4); align-items: start; }
.ac-ahora__n {
  display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: var(--ac-marca-suave); color: var(--ac-marca);
  font-weight: 800; font-size: 1.0625rem; font-variant-numeric: tabular-nums;
}
.ac-ahora__pasos li:first-child .ac-ahora__n { background: var(--ac-verde-suave); color: var(--ac-verde-texto); }
.ac-ahora__pasos h3 { font-size: 1.1875rem; margin: 0.35rem 0 0.25rem; }
.ac-ahora__pasos p { margin: 0; color: var(--ac-texto-2); }

/* El «papel» del PDF sobre un escritorio gris */
.ac-gracias__pdf { padding: clamp(1.25rem, 0.75rem + 3vw, 3.5rem); background: var(--ac-fondo-2); border-radius: clamp(1.5rem, 1rem + 2vw, 2.5rem); min-width: 0; }
@media (min-width: 64rem) { .ac-gracias__pdf { position: sticky; top: calc(var(--ac-alto-header) + 1.5rem); } }
.ac-gracias__pdf .ac-pdf { width: 100%; max-width: 28rem; margin: 0 auto; padding: 0; background: none; box-shadow: none; rotate: none; display: grid; gap: var(--ac-e-4); }
.ac-pdf__hoja { padding: clamp(1rem, 0.75rem + 1.5vw, 1.75rem); border-radius: 0.875rem; background: #fff; box-shadow: var(--ac-sombra-3); rotate: -1deg; }
.ac-pdf__logo { font-weight: 800; font-size: 0.9375rem; letter-spacing: -0.02em; color: var(--ac-marca); }
.ac-pdf__tabla td:nth-child(2), .ac-pdf__tabla th:nth-child(2) { text-align: center; width: 3.5rem; }
.ac-pdf__totales { margin: 0.75rem 0 0; display: grid; gap: 0.25rem; }
.ac-pdf__totales > div { display: flex; justify-content: space-between; gap: var(--ac-e-3); color: var(--ac-texto-2); }
.ac-pdf__totales dd { margin: 0; font-variant-numeric: tabular-nums; }
.ac-pdf__totales .ac-pdf__total { margin-top: 0.35rem; padding-top: 0.5rem; border-top: 1px solid var(--ac-borde); color: var(--ac-texto); }
.ac-pdf__totales .ac-pdf__total dd { font-size: 1.125rem; letter-spacing: -0.02em; }
.ac-gracias__pdf figcaption { text-align: center; }
@media (prefers-reduced-motion: reduce) { .ac-pdf, .ac-pdf__hoja { rotate: none; } }

/* Contenedor de resultados de la tienda (columna del grid) */
.ac-resultados { min-width: 0; }

/* ---------- 17b. Página no encontrada (404) ---------- */
.ac-no-encontrada { padding-block: clamp(2.5rem, 1.5rem + 4vw, 5.5rem) var(--ac-seccion); }
.ac-no-encontrada__caja { display: grid; justify-items: center; gap: var(--ac-e-4); max-width: 44rem; text-align: center; }
.ac-no-encontrada__caja > * { margin: 0; }
.ac-no-encontrada__icono { width: 6rem; height: 6rem; }
.ac-no-encontrada h1 { font-size: clamp(2.25rem, 1.5rem + 3.5vw, 4rem); font-weight: 800; line-height: 1.04; letter-spacing: var(--ac-tracking-hero); }
.ac-no-encontrada__lead { max-width: 36rem; font-size: var(--ac-fs-sub); line-height: 1.4; color: var(--ac-texto-2); }
.ac-no-encontrada .ac-buscador { width: 100%; max-width: 36rem; text-align: left; }
.ac-no-encontrada .ac-grupo-botones { justify-content: center; }
.ac-no-encontrada__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ac-e-2); list-style: none; padding: 0; }
.ac-no-encontrada__cats a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1rem; border-radius: var(--ac-radio-pildora); background: var(--ac-fondo-2); color: var(--ac-texto); font-weight: 600; text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .ac-no-encontrada__cats a:hover { background: var(--ac-marca-suave); color: var(--ac-marca); } }

/* ---------- 18. Footer ---------- */
.ac-footer { background: var(--ac-crema); border-top: 3px solid var(--ac-lima); padding-block: var(--ac-e-7) var(--ac-e-5); font-size: var(--ac-fs-pequeno); color: var(--ac-texto-2); }
.ac-footer__grid { display: grid; gap: var(--ac-e-6); }
@media (min-width: 48rem) { .ac-footer__grid { grid-template-columns: 1.4fr repeat(3, 1fr); } }
.ac-footer h2 { font-size: 0.9375rem; font-weight: 650; letter-spacing: -0.005em; color: var(--ac-texto); margin-bottom: var(--ac-e-3); }
.ac-footer ul { list-style: none; display: grid; gap: 0.15rem; }
.ac-footer a { color: var(--ac-texto-2); text-decoration: none; display: inline-flex; align-items: center; min-height: 2rem; }
@media (hover: hover) and (pointer: fine) { .ac-footer a:hover { color: var(--ac-texto); text-decoration: underline; } }
.ac-footer__marca p { max-width: 24rem; }
.ac-footer .ac-logo { display: inline-flex; min-height: 0; margin-bottom: var(--ac-e-3); }
.ac-footer__legal { margin-top: var(--ac-e-6); padding-top: var(--ac-e-4); border-top: 1px solid var(--ac-borde); display: flex; flex-wrap: wrap; gap: var(--ac-e-2) var(--ac-e-5); justify-content: space-between; font-size: var(--ac-fs-mini); }

/* ---------- 20. Conexión con el cotizador: Turnstile y página legal ---------- */
/* Turnstile «interaction-only»: no ocupa espacio mientras Cloudflare no pida una interacción (sin CLS) */
.ac-turnstile:empty { display: none; }
.ac-turnstile { max-width: 100%; margin-block: var(--ac-e-3); }
.ac-legal { padding-block: var(--ac-e-4) var(--ac-seccion); }
.ac-legal h1 { margin-top: var(--ac-e-5); }
.ac-legal h2 { margin-top: var(--ac-e-7, 2.5rem); margin-bottom: var(--ac-e-3); font-size: 1.375rem; letter-spacing: -0.02em; }
.ac-legal p, .ac-legal li { line-height: 1.6; }
.ac-legal ul, .ac-legal ol { padding-left: 1.25rem; display: grid; gap: var(--ac-e-2); }
.ac-legal__aviso { margin-top: var(--ac-e-4); padding: var(--ac-e-3) var(--ac-e-4); border-radius: var(--ac-radio-m, 12px); background: var(--ac-fondo-2); }
.ac-legal__datos { display: grid; gap: var(--ac-e-2); margin: 0; }
.ac-legal__datos div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.15rem; }
@media (min-width: 40rem) { .ac-legal__datos div { grid-template-columns: 14rem minmax(0, 1fr); gap: var(--ac-e-4); } }
.ac-legal__datos dt { font-weight: 600; }
.ac-legal__datos dd { margin: 0; overflow-wrap: anywhere; }
/* Ficha: entrega estimada (informativa). Fecha, ciudad y logo se piden una sola vez en Mi cotización. */
.ac-panel__form .ac-entrega-info { padding-top: var(--ac-e-3); border-top: 1px solid var(--ac-borde); }
.ac-entrega-info__nota { margin: var(--ac-e-2) 0 0; font-size: 0.875rem; color: var(--ac-texto-suave, #555); }
