/* ============================================================================
   Versátil Shop — acabado.css
   Acabado y consistencia de todo el sitio (dueño, 2026-10-01: tono profesional
   y minimalista, Inter, sin píldoras, cintas, degradados, brillos ni emojis).

   Se carga la ÚLTIMA en todas las páginas y manda sobre storefront.css,
   components.css y storefront-polish.css. Un solo lugar para:
     1. Tokens: escala tipográfica, tres radios, colores de marca.
     2. Base: títulos, botones, controles, enlaces.
     3. Barra superior, encabezado y pie.
     4. Inicio: héroe, favoritos, catálogo y tarjetas, pasos, zonas, confianza.
     5. Ficha de producto y modal.
     6. Nosotros, zonas, políticas, cómo comprar, cierre de contacto común.
     7. Pedido (cajón), aviso (toast), asistente flotante.
     8. Landing del Mini UPS.
   ============================================================================ */

/* ── 1. Tokens ─────────────────────────────────────────────────────────── */
:root {
  --paper: #f6f5f1;
  --ink: #202321;
  --ink-soft: #3a3d38;
  --muted: #686b65;
  --line: #ddded6;
  --white: #fff;
  --accent: #d54b27;        /* marca: logo, punto del eyebrow */
  --accent-cta: #c8431f;    /* botón principal y texto pequeño en acento (4.5:1 sobre blanco) */
  --accent-hover: #b63c1c;
  --ok: #1e6b2e;            /* "Disponible" */
  --sold: #9a3b1f;          /* "Agotado" */
  --dark: #1a1d1b;          /* barra superior */
  --footer: #222822;

  --r-control: 4px;         /* botones, campos, chips */
  --r-card: 8px;            /* tarjetas */
  --r-panel: 12px;          /* paneles, cajones, diálogos */

  --t-h1: 46px;             /* título de página */
  --t-h2: 30px;             /* título de sección */
  --t-h3: 20px;             /* subtítulo / título de tarjeta grande */
  --t-eyebrow: 12px;
  --t-body: 15px;
  --t-min: 12px;

  --barra-alto: 34px;       /* barra superior: una sola línea (en celular, texto corto) */
  --radius: var(--r-card);
}
@media (max-width: 700px) {
  :root {
    --t-h1: 32px;
    --t-h2: 26px;
    --t-h3: 19px;
    --barra-alto: 34px;
  }
}

/* ── 2. Base ───────────────────────────────────────────────────────────── */
body { font-size: var(--t-body); }

.eyebrow { font-size: var(--t-eyebrow); letter-spacing: .1em; font-weight: 600; color: var(--ink-soft); }
.eyebrow::before { width: 6px; height: 6px; }

.section-heading { align-items: flex-end; margin-bottom: 28px; }
.section-heading h2 { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; margin-top: 10px; }
.section-heading p { font-size: 15px; color: var(--muted); max-width: 440px; }
@media (max-width: 700px) {
  .section-heading, .catalog-section > .section-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 20px; }
  .catalog-section > .section-heading > p { padding-top: 0; max-width: none; font-size: 14px; }
}

/* Botones: 15px, 48px de alto, radio de control. Terracota solo para la acción principal; lo demás en contorno. */
.btn {
  min-height: 48px;
  padding: 12px 22px;
  gap: 10px;
  border-radius: var(--r-control);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover { transform: none; }
.btn-primary { background: var(--accent-cta); color: #fff; border-color: var(--accent-cta); }
.btn-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.btn-outline { background: transparent; color: var(--ink); border-color: #b9bcb4; }
.btn-outline:hover { background: #ecede7; border-color: var(--ink); }
.btn-dark { background: transparent; color: var(--ink); border: 1px solid #b9bcb4; }
.btn-dark:hover { background: #ecede7; border-color: var(--ink); }
.btn svg { width: 18px; height: 18px; }
.text-link { font-size: 14px; font-weight: 600; gap: 8px; min-height: 0; }

input, select, textarea { border-radius: var(--r-control); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline-offset: 3px; }

/* El hueco del icono de WhatsApp (el icono nunca se cargó) desaparece; el botón queda limpio. */
.wa-cta { gap: 8px; }
.wa-cta .wa-cta-icon { display: none; }

/* ── 3. Barra superior, encabezado y pie ───────────────────────────────── */
.utility-bar {
  height: var(--barra-alto);
  background: var(--dark);
  font-size: 13px;
  display: flex;
  align-items: center;
}
[data-site-header] { top: calc(-1 * var(--barra-alto)); }
.utility-inner { height: auto; width: calc(100% - 32px); max-width: 1344px; }
/* Dueño 2026-10-02: minúsculas normales, peso medio, sin espaciado; en celular la versión corta de una línea. */
.utility-scroll { display: block; width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: center; white-space: nowrap; padding: 0; animation: none; transform: none; line-height: 1.3; }
.utility-scroll::after { content: none; }
.utility-scroll span { font-size: 13px; font-weight: 500; letter-spacing: 0; color: #fff; text-shadow: none; }
.utility-scroll [data-anuncio-corto] { display: none; }
@media (max-width: 700px) {
  .utility-scroll [data-anuncio] { display: none; }
  .utility-scroll [data-anuncio-corto] { display: inline; font-size: 12.5px; }
}
@media (max-width: 360px) {
  .utility-scroll [data-anuncio-corto] { font-size: 12px; }
}
/* Teléfonos muy estrechos (320 px): antes que recortar el texto, se permite una segunda línea sin bajar de 12 px. */
@media (max-width: 340px) {
  :root { --barra-alto: 42px; }
  .utility-scroll { white-space: normal; text-overflow: clip; }
}

.site-header { background: #faf9f6; border-bottom: 1px solid var(--line); box-shadow: none; }
@supports ((backdrop-filter: blur(16px)) or (-webkit-backdrop-filter: blur(16px))) {
  .site-header { background: rgb(250 249 246 / 92%); }
}
.header-inner { height: 78px; }
.desktop-nav { font-size: 14px; font-weight: 500; gap: 26px; }
.header-actions { gap: 8px; }
.icon-button { border-radius: 50%; }
/* Botón "Pedir por WhatsApp" en el encabezado (solo computadora; en celular quedan los iconos y el menú). */
.header-wa { min-height: 42px; padding: 9px 16px; font-size: 14px; margin-left: 6px; }
@media (max-width: 1050px) { .header-wa { display: none; } }
.mobile-nav a { font-size: 16px; font-weight: 500; }
.mobile-nav a span { display: none; }

.site-footer { background: var(--footer); padding: 56px 0 24px; }
.footer-top { grid-template-columns: 1.1fr .8fr .9fr 1.1fr; gap: 32px; padding-bottom: 44px; }
.footer-brand p { font-size: 14px; line-height: 1.65; color: #c9cfc2; margin: 18px 0 0; }
.footer-column h2, .footer-contact h2 { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #bac2b4; margin: 4px 0 14px; }
.footer-column a, .footer-policies a { font-size: 14px; line-height: 1.5; color: #e2e7da; margin: 0; }
.site-footer .footer-column a { padding: 9px 0; min-height: 40px; }
.footer-address { font-size: 14px; }
.footer-hours { font-size: 14px !important; color: #c9cfc2; }
.footer-phone { font-size: 17px; font-weight: 600; border-bottom: 0; }
.footer-bottom { font-size: 12px; color: #aeb6a6; padding-top: 18px; }
@media (max-width: 760px) {
  .site-footer { padding-top: 40px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 26px 20px; padding-bottom: 28px; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .footer-contact { padding-top: 4px; }
  .footer-bottom { flex-direction: column; gap: 10px; padding-bottom: 64px; } /* aire para el botón flotante */
}

/* ── 4. Inicio ─────────────────────────────────────────────────────────── */
.home-hero { padding: 36px 0 20px; }
.home-hero .hero-copy h1 { font-size: var(--t-h1); font-weight: 600; letter-spacing: -.025em; line-height: 1.1; max-width: 14ch; }
.home-hero .hero-copy > p[data-home-subtitulo] { font-size: 17px; line-height: 1.65; margin: 20px 0 4px; color: var(--ink-soft); max-width: 560px; }
.home-acciones { gap: 12px; margin-top: 22px; }
.home-acciones .btn { min-height: 48px; }
/* Dirección, horario y mapa, juntos y con el mismo texto que el pie. */
.hero-sede { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 18px 0 0; font-size: 14px; color: var(--ink-soft); }
.hero-sede .hero-direccion { margin: 0; font-size: 14px; font-weight: 600; color: var(--ink); gap: 8px; }
.hero-sede .hero-direccion svg { width: 18px; height: 18px; color: var(--accent-cta); }
.hero-sede .hero-horario { margin: 0; }
.home-map-link { min-height: 0; font-size: 14px; font-weight: 600; color: var(--accent-cta); text-underline-offset: 4px; }
.home-proof { background: #252b25; border-radius: var(--r-panel); padding: 30px; box-shadow: none; }
.home-proof-head span { font-size: 12px; letter-spacing: .1em; color: #e5b48f; }
.home-proof-head strong { font-size: 22px; font-weight: 600; }
.home-proof li > span { font-size: 12px; color: #e5b48f; }
.home-proof li strong { font-size: 15px; font-weight: 600; }
.home-proof li p { font-size: 13px; }
.home-proof-foot { font-size: 13px; }
.home-proof-foot a { font-size: 15px; }
@media (max-width: 900px) {
  .home-hero .hero-copy { padding: 10px 0 6px; }
}
@media (max-width: 700px) {
  .home-hero { padding: 22px 0 8px; }
  .home-hero .hero-copy h1 { max-width: none; line-height: 1.12; }
  .home-hero .hero-copy > p[data-home-subtitulo] { font-size: 15px; margin-top: 14px; }
  .home-acciones { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 18px; }
  .home-acciones .btn { width: 100%; min-height: 48px; padding: 12px 16px; font-size: 15px; }
  .hero-sede { flex-direction: column; align-items: flex-start; gap: 6px; }
  .home-proof { padding: 22px; }
  .home-proof-head strong { font-size: 20px; }
}

/* Favoritos: la misma tarjeta del catálogo, en 4 columnas, sin avance automático. */
.destacados-section { padding: 36px 0 4px; }
.destacados-track { gap: 20px; padding-bottom: 4px; }
.destacado-card { border-radius: var(--r-card); background: var(--white); border: 1px solid var(--line); }
.destacado-visual { padding-bottom: 100%; background: var(--white); border-bottom: 1px solid #eff1ee; }
.destacado-visual img { padding: 10px; }
.destacado-badge { display: none; }
.destacado-info { padding: 12px 14px 14px; gap: 8px; }
.destacado-info h3 { font-size: 14px; font-weight: 500; line-height: 1.45; letter-spacing: -.1px; -webkit-line-clamp: 3; min-height: 61px; }
.destacado-precio .price-block-oferta { font-size: 20px; font-weight: 600; letter-spacing: -.02em; }
.destacado-cod { font-size: 12px; font-weight: 600; color: var(--ok); }
.destacado-info .btn { min-height: 44px; font-size: 14px; }
.destacados-flecha { width: 40px; height: 40px; background: var(--white); color: var(--ink); border: 1px solid var(--line); box-shadow: none; top: 36%; }
.destacados-flecha:hover { background: #ecede7; }
.destacados-punto { width: 8px; height: 8px; background: #cdd0c8; }
.destacados-punto.activo { background: var(--ink); }
@media (min-width: 1000px) { .destacado-card { flex: 0 0 calc(25% - 15px); } }
@media (min-width: 700px) and (max-width: 999px) { .destacado-card { flex: 0 0 calc(33.333% - 14px); } }
@media (max-width: 699px) { .destacado-card { flex: 0 0 calc(50% - 10px); } .destacados-track { gap: 12px; } .destacado-info { padding: 10px 10px 12px; } }

/* Catálogo: sin degradado, sin halos, sin sombras; borde fino y blanco. */
.catalog-section { padding: 20px 0 70px; }
.catalog-section::before { content: none; }
.catalog-section .section-heading p { font-size: 15px; }
.catalog-toolbar { border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 20px; }
.catalog-section .catalog-search { background: var(--white); border: 1px solid #cfd2c9; border-radius: var(--r-control); box-shadow: none; min-height: 48px; }
.catalog-search input { font-size: 15px; min-height: 46px; }
.catalog-categories { gap: 8px; }
.catalog-section .catalog-categories button { border-radius: var(--r-control); border: 1px solid #cfd2c9; background: var(--white); color: var(--ink-soft); font-size: 13px; font-weight: 500; min-height: 42px; padding: 8px 14px; }
.catalog-section .catalog-categories button:hover { background: #ecede7; color: var(--ink); }
.catalog-section .catalog-categories button.active, .catalog-section .catalog-categories button[aria-pressed=true] { background: var(--ink); color: #fff; border-color: var(--ink); box-shadow: none; }
.catalog-meta { font-size: 13px; }
.catalog-section .sort-label select { font-size: 13px; background: transparent; border-radius: var(--r-control); }
.catalog-section .product-grid { gap: 28px 20px; }
.catalog-section .product-card, .product-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: none; transition: border-color .15s ease; }
.catalog-section .product-card:hover, .catalog-section .product-card:focus-within { border-color: #aeb3aa; box-shadow: none; transform: none; }
.product-open, .catalog-section .product-open { border-radius: calc(var(--r-card) - 1px) calc(var(--r-card) - 1px) 0 0; border-bottom: 1px solid #eff1ee; background: var(--white); aspect-ratio: 1; }
.product-image, .catalog-section .product-image { padding: 10px; object-fit: contain; }
.product-open:hover .product-image { transform: none; }
.product-info, .catalog-section .product-info { padding: 12px 14px 14px; gap: 6px; }
.product-title, .catalog-section .product-title { font-size: 14px; font-weight: 500; line-height: 1.45; letter-spacing: -.1px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; max-height: none; min-height: 61px; }
.product-card .product-info .product-title { padding: 0; margin: 0; box-sizing: border-box; }
.product-prices, .catalog-section .product-prices { margin: 4px 0 2px; line-height: 1.2; }
.product-price, .catalog-section .product-price { font-size: 20px; font-weight: 600; letter-spacing: -.02em; color: var(--ink); }
.product-bottom, .catalog-section .product-card .product-bottom { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 4px; }
.product-bottom-row, .catalog-section .product-card .product-bottom-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 100%; }
.product-card .product-stock, .catalog-section .product-card .product-stock { font-size: 12px; font-weight: 700; letter-spacing: .01em; color: var(--ok); }
.product-card .product-stock.is-unavailable, .catalog-section .product-card .product-stock.is-unavailable { color: var(--sold); }
.product-add, .catalog-section .product-add, .catalog-section .product-card .product-add { width: 100%; flex: none; min-height: 44px; margin: 0; padding: 8px 10px; font-size: 14px; font-weight: 600; color: var(--ink); background: var(--white); border: 1px solid #b9bcb4; border-radius: var(--r-control); line-height: 1.2; white-space: normal; }
.product-add:hover:not(:disabled), .catalog-section .product-add:hover:not(:disabled) { background: #ecede7; border-color: var(--ink); color: var(--ink); }
.product-add:disabled, .catalog-section .product-add:disabled { opacity: 1; color: var(--muted); border-color: var(--line); background: #faf9f6; cursor: not-allowed; }
.product-card .product-add::before { content: none; }
.card-cod-micro, .catalog-section .product-card .card-cod-micro { font-size: 12px; font-weight: 500; color: var(--muted); white-space: normal; margin: 0; }
.product-card .product-image-note { font-size: 11px; border-radius: 2px; }
.catalog-expand { margin-top: 32px; }
.catalog-section .catalog-expand button { background: var(--white); border: 1px solid #b9bcb4; border-radius: var(--r-control); font-size: 15px; font-weight: 600; min-height: 48px; padding: 12px 24px; }
.catalog-section .catalog-expand button:hover { background: #ecede7; border-color: var(--ink); }
#catalogExpandCounter { font-size: 13px; margin-left: 10px; }
@media (max-width: 760px) {
  .catalog-section { padding: 10px 0 50px; }
  .catalog-toolbar { gap: 12px; padding-bottom: 14px; margin-bottom: 12px; }
  .catalog-categories { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-bottom: 4px; scrollbar-width: none; }
  .catalog-categories::-webkit-scrollbar { display: none; }
  .catalog-section .catalog-categories button { flex: 0 0 auto; }
  .catalog-meta { font-size: 12px; margin-bottom: 14px; }
  .catalog-section .product-grid, .product-grid { grid-template-columns: 1fr 1fr; gap: 14px 12px; }
  .product-info, .catalog-section .product-info, .catalog-section .product-card .product-info { padding: 10px 10px 12px; gap: 6px; }
  .product-title, .catalog-section .product-title, .catalog-section .product-card .product-title { font-size: 13px; line-height: 1.4; -webkit-line-clamp: 3; min-height: 55px; max-height: none; }
  .product-price, .catalog-section .product-card .product-price { font-size: 18px; }
  .product-card .product-stock, .catalog-section .product-card .product-stock { font-size: 12px; }
  .product-add, .catalog-section .product-card .product-add { min-height: 44px; font-size: 14px; }
  .catalog-section .product-prices { min-height: 0; }
}

/* Compra en 3 pasos: centrado como el resto, sin miniaturas. */
.como-comprar-strip { margin: 44px auto 12px; border-radius: var(--r-panel); padding: 28px; gap: 18px; }
.como-comprar-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.como-comprar-cab h2 { font-size: var(--t-h3); font-weight: 600; letter-spacing: -.01em; margin: 6px 0 0; }
.como-comprar-cab .text-link { color: var(--accent-cta); }
.como-comprar-pasos { gap: 20px; }
.como-comprar-pasos li { align-items: flex-start; gap: 12px; border: 0; border-top: 1px solid var(--line); padding: 14px 0 0; }
.como-comprar-pasos li img { display: none; }
.como-comprar-pasos span { font-size: 13px; font-weight: 700; color: var(--accent-cta); padding-top: 2px; }
.como-comprar-pasos strong { font-size: 15px; font-weight: 600; }
.como-comprar-pasos small { font-size: 13px; }
.como-comprar-nota { font-size: 14px; }
@media (max-width: 700px) {
  .como-comprar-strip { padding: 20px; margin-top: 32px; }
  .como-comprar-pasos { gap: 12px; }
  .como-comprar-pasos li { padding-top: 12px; }
}

/* Zonas en el inicio: papel y borde fino, 2×2 en celular, sin píldora ni borde ámbar. */
.home-zonas { padding: 44px 0 8px; }
.home-zonas .section-heading { align-items: flex-end; }
.home-zonas-grid { gap: 14px; }
.home-zona-card { border: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: var(--r-card); padding: 18px; gap: 6px; box-shadow: none; transition: border-color .15s ease; }
.home-zona-card:hover { border-color: var(--ink); transform: none; box-shadow: none; }
.home-zona-cod { font-size: 12px; font-weight: 600; color: var(--ok); background: none; border: 0; border-radius: 0; padding: 0; }
.home-zona-card h3 { font-size: 18px; font-weight: 600; }
.home-zona-municipios { font-size: 13px; color: var(--ink-soft); }
.home-zonas-enlace { display: inline-flex; margin-top: 18px; color: var(--accent-cta); }
@media (max-width: 640px) {
  .home-zonas-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .home-zona-card { padding: 14px; }
  .home-zona-card h3 { font-size: 16px; }
  .home-zona-municipios { font-size: 12px; -webkit-line-clamp: 3; }
}

/* Por qué confiar: tantas columnas como tarjetas; iconos de línea en lugar de emojis. */
.home-seriedad { padding: 44px 0 8px; }
.seriedad-stack { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.seriedad-item { border-radius: var(--r-card); padding: 20px; gap: 8px; }
.seriedad-icono { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 50%; background: #f1f1ec; color: var(--ink); font-size: 18px; margin-bottom: 2px; }
.seriedad-icono svg { width: 20px; height: 20px; }
.seriedad-item strong { font-size: 16px; font-weight: 600; }
.seriedad-item p { font-size: 14px; }

/* Cierre de contacto común (inicio, nosotros, zonas, políticas, cómo comprar). */
.cierre-contacto, .policy-cta, .nosotros-cta, .registro-cta { border: 1px solid var(--line); background: var(--white); border-radius: var(--r-panel); padding: 28px; margin: 40px auto 0; max-width: 860px; }
.cierre-contacto h2, .policy-cta h2, .nosotros-cta h2 { font-size: var(--t-h3); font-weight: 600; letter-spacing: -.01em; margin: 0 0 6px; }
.cierre-contacto p, .policy-cta p, .nosotros-cta p { font-size: 15px; color: var(--muted); margin: 0 0 16px; }
.home-cierre { padding: 36px 0 64px; }
.home-cierre .cierre-contacto { margin: 0; max-width: none; }
.contact-band { background: transparent; padding: 24px 0 64px; }
.contact-band .container { border: 1px solid var(--line); background: var(--white); border-radius: var(--r-panel); padding: 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.contact-band h2 { font-size: var(--t-h3); font-weight: 600; letter-spacing: -.01em; }
.contact-band p { font-size: 15px; color: var(--muted); margin-top: 4px; }
.contact-band .btn-dark { background: var(--accent-cta); color: #fff; border-color: var(--accent-cta); }
.contact-band .btn-dark:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
@media (max-width: 700px) {
  .cierre-contacto, .policy-cta, .nosotros-cta, .registro-cta { padding: 20px; }
  .cierre-contacto .btn, .policy-cta .btn, .nosotros-cta .btn, .contact-band .btn { width: 100%; }
  .contact-band .container { flex-direction: column; align-items: stretch; padding: 20px; }
}

/* ── 5. Ficha de producto y modal ──────────────────────────────────────── */
.producto-page { padding: 36px 0 72px; max-width: 1100px; }
.producto-head { padding-bottom: 20px; margin-bottom: 24px; }
.producto-head h1 { font-size: var(--t-h1); font-weight: 600; letter-spacing: -.02em; line-height: 1.12; margin: 10px 0 10px; max-width: 24ch; }
.producto-categoria { display: inline-flex; align-items: center; gap: 9px; font-size: var(--t-eyebrow); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
.producto-categoria::before { content: ''; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; }
.producto-categoria:hover { color: var(--accent-cta); }
.producto-stock-line { font-size: 14px; font-weight: 700; color: var(--ok); display: inline-flex; align-items: center; gap: 7px; }
.producto-stock-line::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.producto-stock-line.is-unavailable { color: var(--sold); }
.producto-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; }
.producto-visual img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 12px; }
.producto-visual figcaption { font-size: 15px; line-height: 1.7; color: var(--ink-soft); margin-top: 14px; }
.producto-resumen { font-size: 15px; line-height: 1.7; color: var(--ink-soft); margin: 0; }
.producto-galeria { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; padding-bottom: 2px; }
.producto-galeria button { width: 64px; height: 64px; flex: 0 0 64px; padding: 4px; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-control); }
.producto-galeria button[aria-pressed=true] { border-color: var(--accent-cta); box-shadow: inset 0 0 0 1px var(--accent-cta); }
.producto-galeria img { width: 100%; height: 100%; object-fit: contain; }
.producto-info { gap: 20px; }
.producto-precio-block .price-block-oferta { font-size: 36px; font-weight: 600; letter-spacing: -.02em; }
.price-block-confianza { font-size: 14px; }
.variante-selector { gap: 10px; }
.variante-selector-titulo { font-size: 14px; font-weight: 600; }
.variante-chip { border-radius: var(--r-control); border: 1px solid #b9bcb4; background: var(--white); min-height: 50px; padding: 8px 14px; font-size: 14px; font-weight: 600; }
.variante-chip span { font-size: 13px; }
.variante-chip:hover { border-color: var(--ink); }
.variante-chip.activa { border-color: var(--ink); background: var(--ink); color: #fff; box-shadow: none; }
.variante-chip.activa span { color: #e2e7da; }
.variante-chip:disabled, .variante-chip.agotada { color: var(--muted); border-color: var(--line); background: #faf9f6; cursor: not-allowed; }
.variante-chip:disabled span, .variante-chip.agotada span { color: var(--sold); }
.producto-acciones { gap: 10px; align-items: stretch; max-width: 420px; }
.producto-acciones .btn { width: 100%; }
.producto-acciones .btn.wa-cta { justify-content: center; }
.producto-acciones .btn-outline { justify-content: center; }
.producto-acciones-nota { font-size: 13px; }
.producto-caracteristicas { margin: 0; padding: 0 0 0 18px; display: flex; flex-direction: column; gap: 6px; }
.producto-caracteristicas li { font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
.producto-bloque h2 { font-size: 17px; font-weight: 600; }
.producto-bloque p, .producto-compatibles li { font-size: 15px; }
.producto-acordeones { margin-top: 32px; gap: 10px; }
.producto-acordeones details { border-radius: var(--r-card); }
.producto-acordeones summary { font-size: 16px; font-weight: 600; }
.producto-acordeones summary span { color: var(--ink); font-weight: 400; }
.producto-acordeones details p, .producto-acordeones details li { font-size: 15px; }
.producto-specs { display: table; width: 100%; border-collapse: collapse; gap: 0; font-size: 15px; }
.producto-specs > div { display: table-row; }
.producto-specs dt, .producto-specs dd { display: table-cell; padding: 9px 0; border-top: 1px solid #eceee8; vertical-align: top; }
.producto-specs dt { width: 38%; padding-right: 16px; color: var(--muted); font-weight: 500; }
.producto-specs > div:first-child dt, .producto-specs > div:first-child dd { border-top: 0; }
.producto-confianza, .producto-zona { margin-top: 40px; max-width: 860px; }
.producto-confianza h2, .producto-zona h2 { font-size: var(--t-h3); font-weight: 600; }
.trust-badges { gap: 12px; }
.trust-badge { border-radius: var(--r-card); }
.trust-badge-link:hover { border-color: transparent; }
.trust-badge:hover { border-color: var(--ink); }
.trust-badge-body svg { color: var(--ink); width: 24px; height: 24px; }
.trust-badge-body strong { font-size: 15px; font-weight: 600; }
.trust-badge-body span { font-size: 13px; }
.trust-badge-arrow { display: none; }
.cod-zonas { border: 1px solid var(--line); background: var(--white); border-radius: var(--r-card); padding: 20px; gap: 12px; }
.cod-zonas-titulo { font-size: 16px; font-weight: 600; }
.cod-zonas-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.cod-zonas-lista li { border: 1px solid var(--line); background: var(--paper); border-radius: var(--r-control); padding: 12px 14px; gap: 3px; }
.cod-zonas-lista strong { font-size: 15px; font-weight: 600; color: var(--ink); }
.cod-zonas-provincia { font-size: 12px; }
.cod-zonas-municipios { font-size: 13px; }
.cod-zonas-nota { font-size: 14px; }
.cod-zonas-enlace { font-size: 14px; color: var(--accent-cta); }
@media (max-width: 860px) {
  .producto-page { padding: 24px 0 56px; }
  .producto-head h1 { max-width: none; }
  .producto-layout { grid-template-columns: 1fr; gap: 22px; }   /* una columna: foto, precio, botón */
  .producto-acciones { max-width: none; }
}
@media (max-width: 700px) {
  .producto-precio-block .price-block-oferta { font-size: 32px; }
  .producto-specs dt { width: 42%; }
  .cod-zonas-lista { grid-template-columns: 1fr 1fr; }
}

/* Modal del catálogo: misma escala y radios, enlaces internos sin flecha. */
#productModal .product-dialog-panel { border-radius: var(--r-panel); border: 1px solid var(--line); box-shadow: 0 24px 80px #1016121f; }
.product-dialog-top > span { font-size: 12px; letter-spacing: .08em; }
#productModal #modalTitle { font-size: 26px; font-weight: 600; letter-spacing: -.02em; }
.product-excerpt { font-size: 14px; color: var(--ink-soft); }
#productModal #modalOfferPrice { font-size: 32px; font-weight: 600; letter-spacing: -.02em; }
.product-availability .product-stock { font-size: 13px; font-weight: 700; color: var(--ok); }
.product-availability .product-stock.is-unavailable { color: var(--sold); }
.modal-variants h3 { font-size: 14px; font-weight: 600; }
.variant-options button { border-radius: var(--r-control); border: 1px solid #b9bcb4; font-size: 13px; }
.variant-options button[aria-pressed=true] { border-color: var(--ink); background: var(--ink); color: #fff; box-shadow: none; }
.variant-options button[aria-pressed=true] small { color: #e2e7da; }
.variant-options button:disabled { background: #faf9f6; border-color: var(--line); color: var(--muted); }
.variant-options button:disabled > span, .variant-options button:disabled > small { background: transparent; }
.product-accordions summary { font-size: 15px; font-weight: 600; }
.accordion-body, .product-accordions dl { font-size: 14px; color: var(--ink-soft); }
.product-actions .btn, #productModal #modalBuyNowBtn, #productModal #modalWhatsAppBtn { font-size: 14px; font-weight: 600; }
.product-actions.is-agotado .btn-primary { grid-column: 1 / -1; }
.product-actions p { font-size: 12px; }
.product-thumbnails button { border-radius: var(--r-control); }
.product-thumbnails button[aria-pressed=true] { outline: 0; border-color: var(--accent-cta); box-shadow: inset 0 0 0 1px var(--accent-cta); }
.product-visual-footer, .product-visual-footer button, .product-photo-note, .media-position { font-size: 12px; }
.product-stage { border-radius: var(--r-control); }
.image-zoom-button { border-radius: 50%; }

/* ── 6. Nosotros, zonas, políticas, cómo comprar ──────────────────────── */
.nosotros-hero, .zonas-hero, .policy-page, .guia-page { max-width: 860px; }
.nosotros-hero h1, .zonas-hero h1, .policy-head h1, .guia-page h1 { font-size: var(--t-h1); font-weight: 600; letter-spacing: -.02em; line-height: 1.12; margin: 10px 0 14px; }
.nosotros-historia p, .zonas-intro, .policy-body p, .guia-page p { font-size: 16px; line-height: 1.75; color: var(--ink-soft); max-width: 680px; }
.nosotros-seccion { padding: 32px 0 8px; }
.nosotros-datos-titulo { font-size: var(--t-h3); font-weight: 600; }
.nosotros-datos { border: 1px solid var(--line); background: var(--white); border-radius: var(--r-card); padding: 22px 24px; max-width: 680px; }
.nosotros-datos p { font-size: 15px; margin: 0 0 8px; }
.nosotros-datos p:last-child { margin-bottom: 0; }
.nosotros-datos .btn { margin-top: 14px; }
.nosotros-datos a[data-wa] { color: var(--accent-cta); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.nosotros-mapa { border: 0; padding: 0; background: transparent; }
.nosotros-acciones { margin: 40px auto 56px; border-radius: var(--r-panel); padding: 28px; }
.nosotros-acciones h2 { font-size: var(--t-h3); font-weight: 600; }
.nosotros-accion { border: 1px solid #b9bcb4; border-radius: var(--r-card); min-height: 0; padding: 18px 16px; gap: 4px; }
.nosotros-accion:hover { border-color: var(--ink); transform: none; }
.nosotros-accion span { display: none; }
.nosotros-accion strong { font-size: 14px; font-weight: 700; letter-spacing: .06em; }
.nosotros-accion small { font-size: 13px; }
.nosotros-accion[data-nosotros-escribir] { background: var(--accent-cta); border-color: var(--accent-cta); color: #fff; }
.nosotros-accion[data-nosotros-escribir] small { color: #fbe7df; }
.nosotros-accion[data-nosotros-escribir]:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.nosotros-anos { background: none; border: 0; padding: 0; font-size: 14px; color: var(--ink-soft); }
.nosotros-page .customer-reviews { padding-block: 40px 8px; max-width: 860px; }
.reviews-heading h2 { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; margin: 10px 0 8px; }
.reviews-heading p { font-size: 15px; color: var(--muted); }
.review-invite { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); padding: 20px 22px; }
.review-invite strong { font-size: 15px; }
.review-invite p { font-size: 14px; color: var(--muted); }
.review-dialog { border-radius: var(--r-panel); }
.rating-options span { border-radius: var(--r-control); }
.rating-options input:checked + span { color: #fff; background: var(--ink); border-color: var(--ink); }
.review-form input:not([type=radio]):not([type=checkbox]), .review-form textarea { border-radius: var(--r-control); }
@media (max-width: 700px) { .reviews-heading { flex-direction: column; align-items: flex-start; gap: 14px; } .reviews-heading .btn { width: 100%; } }
@media (max-width: 640px) {
  .nosotros-acciones { padding: 20px; margin: 32px auto 44px; }
}

.zonas-hero { padding: 44px 0 4px; }
.zonas-selector-wrap { max-width: 860px; padding: 24px 0 0; }
.zonas-seccion { padding: 40px 0 0; max-width: 860px; }
.zonas-pasos-seccion { padding-bottom: 8px; }
.contra-entrega-titulo { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; }
.contra-entrega-pasos li { border-radius: var(--r-card); padding: 18px; }
.contra-entrega-numero { color: var(--accent-cta); font-size: 13px; }
.contra-entrega-pasos p { font-size: 15px; }
.zonas-nota { color: var(--ink-soft); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); font-size: 14px; }
.zonas-pasos li { border-radius: var(--r-card); }
.zonas-paso-numero { color: var(--accent-cta); }
@media (max-width: 640px) {
  .zonas-hero { padding-top: 32px; }
  .zonas-seccion { padding-top: 32px; }
  .contra-entrega-pasos { grid-template-columns: 1fr; }
}

.policy-page { padding: 44px 0 72px; }
.policy-head { padding-bottom: 20px; margin-bottom: 24px; }
.policy-meta { font-size: 13px; }
.policy-nav { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 16px 0 0; padding: 0; list-style: none; font-size: 14px; }
.policy-nav a { color: var(--muted); font-weight: 500; padding: 6px 0; display: inline-block; }
.policy-nav a:hover { color: var(--ink); }
.policy-nav a[aria-current=page] { color: var(--ink); font-weight: 600; border-bottom: 2px solid var(--accent-cta); }
.policy-body section { margin-bottom: 26px; }
.policy-body h2 { font-size: var(--t-h3); font-weight: 600; }
.policy-chip { background: none; border: 0; padding: 0; color: var(--muted); font-size: 13px; }
@media (max-width: 700px) { .policy-page { padding: 28px 0 56px; } }

/* Página /como-comprar/: las guías en una sola columna de lectura. */
.guia-page { padding: 44px 0 72px; }
.guia-head { border-bottom: 1px solid var(--line); padding-bottom: 20px; margin-bottom: 8px; }
.guia-indice { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: 14px; }
.guia-indice a { color: var(--muted); font-weight: 500; padding: 6px 0; display: inline-block; }
.guia-indice a:hover { color: var(--ink); }
.guia-articulo { padding: 32px 0 8px; border-bottom: 1px solid var(--line); scroll-margin-top: 130px; }
.guia-articulo:last-of-type { border-bottom: 0; }
.guia-articulo > h2 { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; margin: 6px 0 12px; }
.guia-articulo .guia-intro { font-size: 17px; margin-bottom: 8px; }
.guia-articulo section { margin: 22px 0 0; }
.guia-articulo h3 { font-size: var(--t-h3); font-weight: 600; margin: 0 0 8px; }
.guia-articulo p { margin: 0 0 10px; }
.guia-articulo ul { margin: 0 0 10px; padding-left: 20px; }
.guia-articulo li { font-size: 16px; line-height: 1.7; color: var(--ink-soft); }
.guia-nota { border: 1px solid var(--line); background: var(--white); border-radius: var(--r-card); padding: 14px 16px; font-size: 14px !important; color: var(--ink-soft); }
.guia-articulo .guia-cta { margin: 20px 0 24px; }
.guia-error p { color: var(--muted); }
@media (max-width: 700px) { .guia-page { padding: 28px 0 56px; } .guia-articulo { padding-top: 26px; } }

/* ── 7. Pedido, aviso y asistente ──────────────────────────────────────── */
.quote-panel { border-radius: 0; box-shadow: -12px 0 40px #12201018; }
.quote-panel.is-empty { height: 100dvh; max-height: none; align-self: stretch; }
.quote-header { padding: 24px 24px 20px; }
.quote-header h2 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
.quote-items { padding: 0 24px; }
.quote-item { gap: 14px; padding: 18px 0; }
.quote-item-image { width: 72px; height: 72px; border: 1px solid var(--line); border-radius: var(--r-control); }
.quote-item-title { font-size: 14px; font-weight: 500; line-height: 1.45; }
.quote-item-price { font-size: 16px; font-weight: 600; margin: 6px 0 10px; }
.quote-quantity { border-radius: var(--r-control); border-color: #b9bcb4; }
.quote-quantity button { width: 40px; height: 40px; }
.quote-quantity span { font-size: 14px; }
.quote-remove { font-size: 13px; }
.quote-footer { background: var(--paper); padding: 16px 24px; }
.quote-total { font-size: 14px; }
.quote-total strong { font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.quote-footer p { font-size: 13px; line-height: 1.5; margin: 8px 0 12px; }
.quote-footer > .btn { font-size: 15px; }
.quote-footer .quote-confirmation { font-size: 12px; margin: 10px 0 0; }
/* "Elige tu ciudad": lista propia con jerarquía ciudad → municipio, filas de 44 px, marca en la elección y una sombra suave
   que la despega del cajón (dueño 2026-10-02: que no se vea pobre ni plana). */
.quote-zona { position: relative; display: flex; flex-direction: column; gap: 6px; margin: 4px 0 12px; }
.quote-zona-etiqueta { font-size: 13px; font-weight: 600; color: var(--ink-soft); }
.quote-zona-boton { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 10px 14px; background: var(--white); border: 1px solid #b9bcb4; border-radius: var(--r-control); font-size: 15px; color: var(--muted); text-align: left; box-shadow: inset 0 1px 2px #1016120d; transition: border-color .15s ease, box-shadow .15s ease; }
.quote-zona-boton:hover { border-color: var(--ink); }
.quote-zona-boton[aria-expanded=true] { border-color: var(--ink); box-shadow: 0 0 0 3px #20232114; }
.quote-zona-boton svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--muted); transition: transform .15s ease; }
.quote-zona-boton[aria-expanded=true] svg { transform: rotate(180deg); }
.quote-zona-texto { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.quote-zona-texto.elegida { color: var(--ink); }
.quote-zona-texto strong { font-weight: 600; }
.quote-zona-texto span { font-size: 13px; color: var(--muted); }
.quote-zona-lista { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 6; margin: 0; padding: 6px 0; list-style: none; background: var(--white); border: 1px solid #d3d5cf; border-radius: var(--r-card); box-shadow: 0 18px 44px #10161224, 0 2px 6px #10161210; max-height: min(360px, 52vh); overflow: auto; overscroll-behavior: contain; }
.quote-zona-lista.arriba { top: auto; bottom: calc(100% + 6px); box-shadow: 0 -14px 40px #10161220, 0 -2px 6px #10161210; }
.quote-zona-grupo { padding: 12px 16px 4px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.quote-zona-grupo + .quote-zona-grupo, .quote-zona-opcion + .quote-zona-grupo { margin-top: 6px; border-top: 1px solid #eceee8; padding-top: 12px; }
.quote-zona-opcion { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 10px 16px 10px 26px; font-size: 15px; color: var(--ink); cursor: pointer; outline: none; }
.quote-zona-opcion svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--accent-cta); opacity: 0; }
.quote-zona-opcion:hover, .quote-zona-opcion:focus-visible { background: var(--paper); }
.quote-zona-opcion:focus-visible { box-shadow: inset 3px 0 0 var(--accent-cta); }
.quote-zona-opcion[aria-selected=true] { font-weight: 600; }
.quote-zona-opcion[aria-selected=true] svg { opacity: 1; }
.quote-zona-otra { margin-top: 6px; border-top: 1px solid #eceee8; padding: 12px 16px 10px; color: var(--ink-soft); }
.quote-footer-enlaces { display: flex; justify-content: center; gap: 22px; margin-top: 6px; }
.quote-footer .quote-continue, .quote-footer .quote-clear { width: auto; min-height: 44px; margin: 0; padding: 10px 2px; background: none; border: 0; font-size: 14px; font-weight: 500; color: var(--ink-soft); text-decoration: underline; text-underline-offset: 4px; }
.quote-footer .quote-continue:hover, .quote-footer .quote-clear:hover { background: none; color: var(--ink); }
.quote-empty { padding: 36px 0; }
.quote-empty .empty-bag { width: 56px; height: 56px; background: #ecede7; color: var(--ink); font-size: 26px; }
.quote-empty h3 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.quote-empty p { font-size: 15px; }
.quote-empty .btn { font-size: 15px; }
@media (max-width: 760px) {
  .quote-header { padding: 20px 18px 16px; }
  .quote-items { padding: 0 18px; }
  .quote-footer { padding: 14px 18px calc(16px + env(safe-area-inset-bottom)); }
}
#quoteListButton.floating-list { border-radius: 30px; background: var(--ink); border: 0; box-shadow: 0 6px 18px #1016121f; font-size: 13px; font-weight: 600; }

/* Aviso "Agregado a tu pedido": solo existe mientras tiene texto. */
#consumerToast.consumer-toast { background: var(--ink); border: 0; border-radius: var(--r-card); font-size: 14px; padding: 12px 16px; box-shadow: 0 8px 24px #1016121f; }
#consumerToast.consumer-toast:empty { display: none; }

/* Asistente: burbuja de chat en línea, 48px, sin pulso, sin sombra de color. */
.asistente-launcher { width: 48px; height: 48px; right: 18px; bottom: 18px; background: var(--ink); color: #fff; box-shadow: 0 6px 18px #1016121f; animation: none; font-size: 0; }
.asistente-launcher:hover { transform: none; background: #363c37; }
.asistente-launcher svg { width: 22px; height: 22px; }
.asistente-panel { border-radius: var(--r-panel); box-shadow: 0 24px 80px #10161233; }
.asistente-head { background: var(--paper); }
.asistente-head h2 { font-size: 20px; font-weight: 600; }
.asistente-sub { font-size: 14px; }
.asistente-pregunta { border-radius: var(--r-control); border: 1px solid #b9bcb4; font-weight: 500; }
.asistente-respuesta { border: 1px solid var(--line); background: var(--white); border-radius: var(--r-card); }
.asistente-respuesta-pregunta { color: var(--ink); }
.asistente-volver { color: var(--accent-cta); }
@media (max-width: 700px) {
  .asistente-launcher { width: 48px; height: 48px; right: 16px; bottom: 16px; }
  #quoteListButton.floating-list { bottom: 16px; }
}

/* ── 8. Landing del Mini UPS (oculta salvo campaña) ───────────────────── */
.mups-hero { padding: 48px 0 32px; }
.mups-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.mups-hero-copy h1 { font-size: var(--t-h1); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; }
.mups-subtitulo { font-size: 16px; }
.mups-hero .eyebrow.light { color: #e5b48f; }
.mups-hero-visual img { width: 100%; max-width: 480px; aspect-ratio: 1; height: auto; object-fit: contain; border-radius: var(--r-card); padding: 12px; background: #fff; }
.mups-hero-visual figcaption { font-size: 12px; }
.mups-badge-destacado { display: none; }
.mups-hero-acciones .btn { min-height: 48px; }
.btn-outline-light { border-radius: var(--r-control); font-size: 15px; font-weight: 600; min-height: 48px; }
.mups-hero .variante-chip { background: #2c352c; border-color: #5a6459; color: #f0f1e9; }
.mups-hero .variante-chip.activa { background: #f6f5f1; color: var(--ink); border-color: #f6f5f1; box-shadow: none; }
.mups-hero .variante-chip.activa span { color: var(--ink-soft); }
.mups-dolor { padding: 56px 0 0; max-width: 760px; margin-inline: auto; text-align: left; }
.mups-dolor h2 { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
.mups-dolor p { font-size: 16px; margin: 0; }
.mups-seccion { padding: 48px 0 0; max-width: 760px; }
.mups-beneficios { grid-template-columns: 1fr 1fr; gap: 12px; }
.mups-beneficio { border-radius: var(--r-card); font-size: 15px; }
.mups-beneficio::before { color: var(--ink); }
.mups-compat-wrap, .mups-zona-wrap, .mups-entregas-wrap, .mups-autonomia-grid, .mups-disclaimer, .mups-seriedad, .mups-faq { max-width: none; }
.mups-autonomia-card { border-radius: var(--r-card); }
.mups-oferta-wrap { background: transparent; padding: 48px 0 0; margin-top: 0; }
.mups-oferta { grid-template-columns: 1fr; gap: 14px; max-width: 760px; border: 1px solid var(--line); background: var(--white); border-radius: var(--r-panel); padding: 28px; }
.mups-oferta-main h2 { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; margin: 8px 0 0; }
.mups-oferta-main [data-price-block] { display: none; }
.mups-urgencia { max-width: none; font-size: 14px; }
.mups-faq details { border-radius: var(--r-card); }
.mups-faq summary { font-size: 16px; font-weight: 600; }
.mups-faq summary span { color: var(--ink); font-weight: 400; }
.mups-faq details p { font-size: 15px; }
.mups-final { padding: 56px 0; margin-top: 56px; }
.mups-final h2 { font-size: var(--t-h2); font-weight: 600; letter-spacing: -.02em; }
.mups-hero .price-block-oferta { font-size: 36px; font-weight: 600; letter-spacing: -.02em; }
@media (max-width: 1000px) {
  .mups-hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .mups-hero-visual { order: -1; }   /* la foto primero: el producto se ve en la primera pantalla */
  .mups-hero-visual img { max-width: 360px; }
}
@media (max-width: 640px) {
  .mups-hero { padding: 24px 0 28px; }
  .mups-hero-acciones { flex-direction: column; align-items: stretch; }
  .mups-hero-acciones .btn, .mups-hero-acciones .btn-outline-light { width: 100%; }
  .mups-beneficios { grid-template-columns: 1fr; }
  .mups-oferta { padding: 20px; }
  .mups-final .btn { width: 100%; }
}

/* ── 9. Enlaces internos sin flecha ↗ (la flecha se reserva para lo que sale del sitio) ── */
.destacado-info .btn span[aria-hidden], .catalog-expand button span[aria-hidden], .product-actions .text-link span[aria-hidden] { display: none; }

/* ── 10. Movimiento reducido ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .btn, .product-card, .home-zona-card, .nosotros-accion { transition: none; }
}
