/* Hallmark · macrostructure: Ecosystem Index · tone: utilitarian-bold · anchor hue: amber (brand) · design-system: tokens .ez del tema
 * Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4
 * Portada de tienda (escaparate rotatorio + destacados + familias + instalador) y precio frente al PVP en las tarjetas.
 */

:root {
  /* Tokens nuevos de la portada (el resto son los --ez-* del tema) */
  --ezp-tinta-2: oklch(27% 0.035 262);      /* superficie elevada sobre tinta */
  --ezp-tinta-3: oklch(34% 0.035 262);      /* filete sobre tinta */
  --ezp-sobre-tinta: oklch(97% 0.005 262);
  --ezp-sobre-tinta-2: oklch(80% 0.02 262);
  --ezp-ahorro: oklch(52% 0.13 155);        /* verde de ahorro sobre claro */
  --ezp-ahorro-suave: oklch(95% 0.05 155);
  --ezp-foco: oklch(72% 0.17 70);
  --ezp-space-xs: 0.5rem; --ezp-space-sm: 1rem; --ezp-space-md: 1.5rem; --ezp-space-lg: 2.5rem; --ezp-space-xl: 4rem; --ezp-space-2xl: 6rem;
  --ezp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ezp-dur: 420ms;
  --ezp-radius: 14px;
}

html, body { overflow-x: clip; }

/* ---------- Escaparate ---------- */
.ezp-hero { padding: var(--ezp-space-md) 0 0; }
.ezp-banner { background: var(--ez-ink); color: var(--ezp-sobre-tinta); border-radius: calc(var(--ezp-radius) + 6px); padding: clamp(1.25rem, 0.6rem + 2.6vw, 3rem); }
.ezp-hero-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: var(--ezp-space-lg); align-items: center; }
.ezp-hero-copy h1 { color: var(--ezp-sobre-tinta); font-family: var(--ez-display); font-weight: 800; font-size: clamp(1.9rem, 1rem + 2.6vw, 3.3rem); line-height: 1.04; letter-spacing: -0.03em; margin: 0; overflow-wrap: anywhere; min-width: 0; text-wrap: balance; }
.ezp-hero-copy > p { color: var(--ezp-sobre-tinta-2); font-size: clamp(1rem, 0.95rem + 0.35vw, 1.2rem); line-height: 1.55; max-width: 34em; margin: var(--ezp-space-md) 0 0; }
.ezp-cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: var(--ezp-space-md); }

.ezp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.4rem; border-radius: 10px; font-family: var(--ez-display); font-weight: 700; font-size: 0.98rem; text-decoration: none; white-space: nowrap; border: 2px solid transparent; transition: background-color 160ms var(--ezp-ease-out), color 160ms var(--ezp-ease-out), border-color 160ms var(--ezp-ease-out), transform 100ms var(--ezp-ease-out); }
.ezp-btn:active { transform: translateY(1px); }
.ezp-btn:focus-visible, .ezp-arrow:focus-visible, .ezp-dots button:focus-visible, .ezp-pausa:focus-visible, .ezp-familia:focus-visible, .ezp-slide a:focus-visible { outline: 3px solid var(--ezp-foco); outline-offset: 3px; }
.ezp-btn-solid { background: var(--ez-yellow); color: var(--ez-ink); }
.ezp-btn-solid:hover { background: var(--ez-yellow-100); color: var(--ez-ink); }
.ezp-btn-line { border-color: var(--ezp-tinta-3); color: var(--ezp-sobre-tinta); }
.ezp-btn-line:hover { border-color: var(--ezp-sobre-tinta); color: var(--ezp-sobre-tinta); }
.ezp-btn-tinta { background: var(--ez-ink); color: var(--ezp-sobre-tinta); }
.ezp-btn-tinta:hover { background: var(--ez-ink-2); color: var(--ezp-sobre-tinta); }
.ezp-btn-linea-tinta { border-color: var(--ez-line); color: var(--ez-text); }
.ezp-btn-linea-tinta:hover { border-color: var(--ez-text); color: var(--ez-text); }

.ezp-stage { background: var(--ezp-tinta-2); border: 1px solid var(--ezp-tinta-3); border-radius: var(--ezp-radius); padding: var(--ezp-space-md); min-width: 0; }
.ezp-slides { display: grid; }
.ezp-slide { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ezp-space-md); align-items: center; opacity: 0; visibility: hidden; transform: translateX(14px); transition: opacity var(--ezp-dur) var(--ezp-ease-out), transform var(--ezp-dur) var(--ezp-ease-out), visibility 0s linear var(--ezp-dur); }
.ezp-slide.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.ezp-slide-img { display: block; background: var(--ez-bg); border-radius: 10px; overflow: hidden; aspect-ratio: 1; }
.ezp-slide-img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 6%; transform: scale(0.94); transition: transform 900ms var(--ezp-ease-out); }
.ezp-slide.is-active .ezp-slide-img img { transform: none; }
.ezp-slide-info { min-width: 0; }
.ezp-ahorro { display: inline-block; background: var(--ez-yellow); color: var(--ez-ink); font-weight: 800; font-size: 0.85rem; padding: 0.25rem 0.6rem; border-radius: 6px; letter-spacing: -0.01em; }
.ezp-slide-info h2 { font-family: var(--ez-display); font-size: clamp(1.15rem, 0.95rem + 0.9vw, 1.7rem); line-height: 1.15; margin: 0.75rem 0 0; overflow-wrap: anywhere; }
.ezp-slide-info h2 a { color: var(--ezp-sobre-tinta); text-decoration: none; }
.ezp-slide-info h2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ezp-precio { margin-top: var(--ezp-space-sm); display: grid; gap: 0.15rem; font-variant-numeric: tabular-nums; }
.ezp-precio strong { font-family: var(--ez-display); font-size: clamp(1.9rem, 1.3rem + 2.2vw, 3rem); line-height: 1; color: var(--ez-yellow); letter-spacing: -0.03em; }
.ezp-precio > span { color: var(--ezp-sobre-tinta-2); font-size: 0.92rem; }
.ezp-precio strong .woocommerce-Price-amount, .ezp-precio strong bdi { color: inherit; font: inherit; }
.ezp-rail .badge-corner { display: none; }
.ezp-precio del { text-decoration-thickness: 1.5px; }
.ezp-iva { display: block; margin-top: 0.5rem; font-size: 0.78rem; color: var(--ezp-sobre-tinta-2); }
.ezp-stage-nav { display: flex; align-items: center; gap: 0.5rem; margin-top: var(--ezp-space-sm); padding-top: var(--ezp-space-sm); border-top: 1px solid var(--ezp-tinta-3); }
.ezp-arrow { width: 40px; height: 40px; border-radius: 8px; border: 1px solid var(--ezp-tinta-3); background: transparent; color: var(--ezp-sobre-tinta); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color 160ms var(--ezp-ease-out); }
.ezp-arrow:hover { border-color: var(--ezp-sobre-tinta); }
.ezp-arrow[data-ezp-prev] .ez-svg { transform: scaleX(-1); }
.ezp-dots { display: flex; gap: 6px; flex: 1; justify-content: center; }
.ezp-dots button { width: 28px; height: 28px; border: 0; background: transparent; padding: 0; cursor: pointer; position: relative; }
.ezp-dots button::after { content: ""; position: absolute; left: 4px; right: 4px; top: 12px; height: 4px; border-radius: 2px; background: var(--ezp-tinta-3); transition: background-color 160ms var(--ezp-ease-out); }
.ezp-dots button.is-active::after { background: linear-gradient(var(--ez-yellow), var(--ez-yellow)) left / 100% 100% no-repeat, var(--ezp-tinta-3); }
[data-ezp-stage].esta-andando .ezp-dots button.is-active::after { animation: ezp-tiempo 5s linear both; }
@keyframes ezp-tiempo { from { background-size: 0% 100%, auto; } to { background-size: 100% 100%, auto; } }
@keyframes ezp-entra { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
/* 23/10: el titular ya no entra con animación (Google no lo cuenta como pintado hasta que acaba: retrasaba el LCP) */
.ezp-stage { animation: ezp-entra 700ms var(--ezp-ease-out) 120ms both; }
.ezp-pausa { border: 0; background: transparent; color: var(--ezp-sobre-tinta-2); font: inherit; font-size: 0.8rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 0.5rem; white-space: nowrap; }
.ezp-pausa:hover { color: var(--ezp-sobre-tinta); }

.ezp-hechos { list-style: none; margin: 0 auto; padding-top: var(--ezp-space-md); padding-bottom: var(--ezp-space-md); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ezp-space-sm); font-size: 0.92rem; color: var(--ez-muted); border-bottom: 1px solid var(--ez-line); }
.ezp-hechos strong { color: var(--ez-text); font-weight: 700; display: block; font-family: var(--ez-display); }

/* ---------- Secciones ---------- */
.ezp-sec { padding: var(--ezp-space-xl) 0; }
.ezp-sec-tinta { background: var(--ez-bg-2); padding: var(--ezp-space-lg) 0 var(--ezp-space-xl); border-block: 1px solid var(--ez-line); }
.ezp-sec-ultima { padding-top: 0; }
.ezp-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ezp-space-sm); flex-wrap: wrap; margin-bottom: var(--ezp-space-md); }
.ezp-head h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.2rem); letter-spacing: -0.025em; margin: 0; }
.ezp-head a { color: var(--ez-text); font-weight: 700; text-underline-offset: 4px; white-space: nowrap; }

/* ---------- Familias ---------- */
.ezp-familias { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(150px, auto); gap: 12px; }
.ezp-familia { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: var(--ezp-space-sm); padding: var(--ezp-space-md); background: var(--ez-bg); border: 1px solid var(--ez-line); border-radius: var(--ezp-radius); color: var(--ez-text); text-decoration: none; overflow: hidden; min-width: 0; transition: border-color 160ms var(--ezp-ease-out); }
.ezp-familia:hover { border-color: var(--ez-text); color: var(--ez-text); }
.ezp-familia.es-grande { grid-column: span 2; grid-row: span 2; background: var(--ez-ink); border-color: var(--ez-ink); color: var(--ezp-sobre-tinta); }
.ezp-familia.es-grande:hover { border-color: var(--ez-yellow); color: var(--ezp-sobre-tinta); }
.ezp-familia-txt strong { display: block; font-family: var(--ez-display); font-size: 1.15rem; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.ezp-familia.es-grande .ezp-familia-txt strong { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); }
.ezp-familia-txt span { font-size: 0.85rem; color: var(--ez-muted); font-variant-numeric: tabular-nums; }
.ezp-familia.es-grande .ezp-familia-txt span { color: var(--ezp-sobre-tinta-2); }
.ezp-familia-img { align-self: flex-end; width: min(46%, 150px); }
.ezp-familia.es-grande .ezp-familia-img { width: min(58%, 330px); background: var(--ez-bg); border-radius: 10px; padding: 4%; }
.ezp-familia-img img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }

/* ---------- Instalador ---------- */
.ezp-instalador { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: var(--ezp-space-xl); align-items: start; }
.ezp-instalador h2 { font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3.2rem); letter-spacing: -0.03em; line-height: 1.04; margin: 0; overflow-wrap: anywhere; min-width: 0; }
.ezp-instalador p { font-size: 1.08rem; color: var(--ez-text-2); max-width: 36em; margin: var(--ezp-space-md) 0 0; }
.ezp-condiciones { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ezp-space-md) var(--ezp-space-lg); padding-top: var(--ezp-space-md); border-top: 2px solid var(--ez-text); }
.ezp-condiciones > div { display: block; }
.ezp-condiciones dt { font-family: var(--ez-display); font-weight: 700; }
.ezp-condiciones dd { margin: 0; color: var(--ez-text-2); font-size: 0.97rem; }

/* ---------- Servicios: somos instaladores en Cieza ---------- */
.ezp-servicios { border-bottom: 1px solid var(--ez-line); }
.ezp-servicios-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ezp-space-xl); align-items: center; }
.ezp-servicios-copy h2 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.8rem); letter-spacing: -0.03em; line-height: 1.06; margin: 0; overflow-wrap: anywhere; min-width: 0; text-wrap: balance; }
.ezp-servicios-copy p { font-size: 1.08rem; color: var(--ez-text-2); max-width: 34em; margin: var(--ezp-space-md) 0 0; }
.ezp-servicios-copy .ezp-btn-solid:hover { background: var(--ez-yellow-dark); }
.ezp-servicios-lista { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ez-text); }
.ezp-servicios-lista li { border-bottom: 1px solid var(--ez-line); }
.ezp-servicios-lista a { display: block; padding: var(--ezp-space-md) 2.2rem var(--ezp-space-md) 0; position: relative; color: var(--ez-text); text-decoration: none; }
.ezp-servicios-lista a::after { content: "→"; position: absolute; right: 0.25rem; top: 50%; transform: translateY(-50%); font-family: var(--ez-display); font-weight: 700; color: var(--ez-muted); transition: transform 160ms var(--ezp-ease-out), color 160ms var(--ezp-ease-out); }
.ezp-servicios-lista a:hover::after { transform: translate(4px, -50%); color: var(--ez-yellow-dark); }
.ezp-servicios-lista a:hover strong { text-decoration: underline; text-decoration-color: var(--ez-yellow); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.ezp-servicios-lista a:focus-visible { outline: 3px solid var(--ezp-foco); outline-offset: 3px; }
.ezp-servicios-lista strong { display: block; font-family: var(--ez-display); font-size: 1.2rem; letter-spacing: -0.02em; }
.ezp-servicios-lista span { display: block; margin-top: 4px; color: var(--ez-text-2); font-size: 0.97rem; }

/* ---------- Barra de envío gratis (carrito y pago) ---------- */
.ez-barra-envio { margin: 0 0 var(--ezp-space-md); padding: var(--ezp-space-sm) var(--ezp-space-md); border: 1px solid var(--ez-line); border-radius: var(--ezp-radius); }
.ez-barra-envio p { margin: 0 0 10px; font-size: 0.98rem; }
.ez-barra-envio a { font-weight: 700; white-space: nowrap; }
.ez-barra-envio-pista { display: block; height: 8px; border-radius: 99px; background: var(--ez-line); overflow: hidden; }
.ez-barra-envio-pista span { display: block; height: 100%; background: var(--ez-yellow); border-radius: inherit; }
.ez-barra-envio.es-gratis .ez-barra-envio-pista span { background: var(--ezp-ahorro); }

/* ---------- Código de apertura ---------- */
.ez-apertura { margin: 6px 0 14px; padding: 8px 12px; border-left: 3px solid var(--ez-yellow); background: color-mix(in oklch, var(--ez-yellow) 14%, transparent); color: var(--ez-text); font-size: 0.95rem; border-radius: 0 8px 8px 0; }
.ez-apertura b { color: var(--ez-yellow); }
.ez-apertura b { font-family: var(--ez-mono); letter-spacing: 0.04em; }

/* ---------- Aviso de compra Victron y casilla de compra profesional ---------- */
.ez-aviso-compra { margin: 4px 0 12px; font-size: 0.88rem; color: var(--ez-text-2); }
.ez-aviso-compra a { font-weight: 600; }
.ez-compra-pro { margin: 0 0 14px; font-size: 0.9rem; }
.ez-compra-pro label { display: flex; gap: 8px; align-items: flex-start; line-height: 1.45; }
.ez-compra-pro input { margin-top: 3px; flex-shrink: 0; }

/* ---------- «Te lo instalamos» en la ficha ---------- */
.ez-te-lo-instalamos { display: flex; align-items: center; justify-content: space-between; gap: var(--ezp-space-sm); flex-wrap: wrap; margin: var(--ezp-space-sm) 0 var(--ezp-space-md); padding: var(--ezp-space-sm) var(--ezp-space-md); border: 2px solid var(--ez-yellow); border-radius: var(--ezp-radius); }
.ez-te-lo-instalamos > div { flex: 1 1 16rem; min-width: 0; }
.ez-te-lo-instalamos strong { display: block; font-family: var(--ez-display); font-size: 1.05rem; }
.ez-te-lo-instalamos span { display: block; margin-top: 2px; font-size: 0.92rem; color: var(--ez-text-2); }
.ez-te-lo-instalamos .ez-btn { white-space: nowrap; }

/* ---------- Precio frente al PVP en las tarjetas y en la ficha ---------- */
.ez-pvp { display: block; font-size: 0.8rem; color: var(--ez-muted); font-variant-numeric: tabular-nums; margin-top: 2px; }
.ez-pvp b { color: var(--ezp-ahorro); background: var(--ezp-ahorro-suave); padding: 1px 6px; border-radius: 5px; font-weight: 800; margin-left: 4px; white-space: nowrap; }
.single-product .summary .ez-pvp { font-size: 0.95rem; margin: -6px 0 12px; }

/* ---------- Móvil ---------- */
@media (max-width: 1024px) {
  .ezp-familias { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ezp-hechos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .ezp-hero-grid, .ezp-instalador, .ezp-servicios-grid { grid-template-columns: minmax(0, 1fr); gap: var(--ezp-space-lg); }
  .ezp-sec { padding: var(--ezp-space-lg) 0; }
}
@media (max-width: 520px) {
  .ezp-slide { grid-template-columns: minmax(0, 1fr); }
  .ezp-slide-img { max-width: 260px; }
  .ezp-stage { padding: var(--ezp-space-sm); }
  .ezp-familia.es-grande { grid-column: span 2; grid-row: auto; }
  .ezp-condiciones { grid-template-columns: minmax(0, 1fr); }
  .ezp-cta .ezp-btn { flex: 1 1 auto; }
  .ezp-pausa { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ezp-slide { transform: none; transition: opacity 120ms linear, visibility 0s; }
  .ezp-slide-img img { transform: none; transition: none; }
  .ezp-hero-copy, .ezp-stage, [data-ezp-stage].esta-andando .ezp-dots button.is-active::after { animation: none; }
  .ezp-btn, .ezp-arrow, .ezp-familia { transition: none; }
}

/* Sin puntos decorativos en las tarjetas; el texto ya dice el plazo */
.ez-product-card .stock .dot { display: none; }

/* ---------- Cabecera en móvil: una fila con logo y carrito, buscador debajo; no se queda fija ---------- */
@media (max-width: 860px) {
  .ez-header { position: static; }
  .ez-header-top { display: none; }
  .ez-header-main { padding: 10px 0; }
  .ez-header-main .ez-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; align-items: center; }
  .ez-logo { min-width: 0; }
  .ez-logo > span > span { display: none; }
  .ez-search { grid-column: 1 / -1; max-width: none; width: 100%; order: 3; }
  .ez-header-actions { justify-self: end; }
  .ez-cart-btn { padding: 10px 12px; gap: 6px; }
  .ez-cart-btn > span:not(.badge) { display: none; }
  .ez-catnav .ez-wrap { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ez-catnav .ez-wrap::-webkit-scrollbar { display: none; }
  .ez-catnav a { white-space: nowrap; }
  .ez-catnav .spacer, .ez-catnav .spacer + a { display: none; }

  /* Banner: primero el producto con su precio, después el titular */
  .ezp-hero { padding-top: var(--ezp-space-sm); }
  .ezp-banner { padding: 14px; gap: var(--ezp-space-md); }
  .ezp-stage { order: -1; padding: 12px; }
  .ezp-slide { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); gap: 12px; }
  .ezp-slide-img { max-width: none; }
  .ezp-hero-copy { padding: 0 6px 8px; }
  .ezp-hero-copy h1 { font-size: clamp(1.6rem, 1rem + 3.4vw, 2.2rem); }
  .ezp-hero-copy > p { margin-top: var(--ezp-space-sm); font-size: 1rem; }
  .ezp-stage-nav { margin-top: 10px; padding-top: 10px; }
}
@media (max-width: 520px) {
  .ezp-slide { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr); }
  .ezp-slide-info h2 { font-size: 1.02rem; margin-top: 0.5rem; }
  .ezp-precio strong { font-size: 1.75rem; }
  .ezp-precio > span, .ezp-iva { font-size: 0.74rem; }
  .ezp-ahorro { font-size: 0.74rem; }
  .ezp-hechos { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: 0.84rem; }
  .ezp-familias { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .ezp-familia { padding: var(--ezp-space-sm); }
  .ezp-familia-img { width: 62%; }
}

/* ---------- Botones ámbar: texto oscuro (el blanco sobre ámbar no llega a contraste AA) ---------- */
.ez-btn-primary, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce .checkout-button, .woocommerce #place_order,
.ez-product-card .actions .button, .ez-product-card .actions a.added_to_cart, .ez-btn-yellow { color: var(--ez-ink) !important; font-weight: 700; }
.ez-product-card .badge-corner { color: var(--ez-ink); }

/* ---------- Rejilla de productos en móvil: dos por fila, tarjeta compacta ---------- */
@media (max-width: 768px) {
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: 100% !important; float: none !important; clear: none !important; margin: 0 !important; }
  .ez-product-card .body { padding: 10px; gap: 4px; }
  .ez-product-card .brand { font-size: 11px; }
  .ez-product-card .brand span { display: none; }
  .ez-product-card .name { font-size: 14px; min-height: 0; overflow-wrap: anywhere; }
  .ez-product-card .price-row { flex-direction: column; align-items: flex-start; gap: 2px; }
  .ez-product-card .price { font-size: 17px; }
  .ez-product-card .stock { font-size: 11.5px; }
  .ez-pvp { font-size: 0.74rem; }
  .ez-product-card .actions { padding: 0 10px 10px; }
  .ez-product-card .actions .button { font-size: 13px; padding: 10px 6px; white-space: nowrap; text-align: center; }
  .ez-pidenos { padding: 16px; }
  .ez-pidenos-btns { width: 100%; }
  .ez-pidenos-btns .ez-btn { flex: 1 1 auto; justify-content: center; white-space: nowrap; }
  .ez-ficha-info { font-size: 13.5px; }
}

/* ---------- Ficha de producto ---------- */
.woocommerce div.product .product_title { font-size: clamp(1.45rem, 1.1rem + 1.6vw, 2.2rem); overflow-wrap: anywhere; }
.woocommerce-price-suffix { font-size: 0.5em; font-weight: 600; color: var(--ez-muted); }
.ez-product-card .woocommerce-price-suffix { font-size: 0.62em; }
@media (max-width: 768px) {
  .woocommerce div.product form.cart { display: flex; gap: 10px; }
  .woocommerce div.product form.cart .button { flex: 1; min-height: 48px; float: none; }
  .woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
  .woocommerce div.product form.cart div.quantity .qty { min-height: 48px; width: 4.2em; }
  .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { padding: 10px 12px; }
  .woocommerce #payment #place_order, .woocommerce-page #payment #place_order, .woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 52px; font-size: 1.05rem; white-space: nowrap; }
  .woocommerce form .form-row input.input-text, .woocommerce form .form-row select { min-height: 48px; font-size: 16px; }
  .woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width: 100%; float: none; }
}

/* ---------- Ajustes del modo oscuro vistos en la prueba ---------- */
.ez-icon-btn { color: var(--ez-text-2); }
@media (prefers-color-scheme: dark) {
  .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
  .woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--ez-line); }
  .ez-pvp b { background: rgba(16, 185, 129, .18); color: #6EE7B7; }
  .ez-envio-plazo { color: #6EE7B7 !important; }
  .ez-ficha-info a, .ez-oficial a { color: var(--ez-yellow); }
}

/* ---- Subcategorías en recuadros (21/10/2026) ---- */
.ez-subcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:22px 0 4px}
.ez-subcat{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--ez-line,#e5e7eb);border-radius:14px;background:var(--ez-bg-2,#f8fafc);color:var(--ez-text,#0f172a);text-decoration:none;transition:border-color .15s,transform .15s}
.ez-subcat:hover,.ez-subcat:focus-visible{border-color:var(--ez-yellow,#f59e0b);transform:translateY(-2px)}
.ez-subcat-img{display:block;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#fff}
.ez-subcat-img img{width:100%;height:100%;object-fit:contain;display:block}
.ez-subcat-txt{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.ez-subcat-txt strong{font-size:14px}
.ez-subcat-txt small{font-size:12px;color:var(--ez-muted,#64748b)}
@media (max-width:700px){
  .ez-subcats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;margin-right:-16px;-webkit-overflow-scrolling:touch}
  .ez-subcat{flex:0 0 118px;scroll-snap-align:start;padding:8px}
  .ez-subcat-txt strong{font-size:13px}
}

/* ---------- Títulos de sección en ámbar y cada bloque separado (pedido por Jose, 26/10/2026; en móvil se veía apelotonado) ---------- */
.ezp-head h2,
.woocommerce div.product .woocommerce-tabs .panel > h2,
.woocommerce div.product .woocommerce-Reviews-title,
.related.products > h2, .upsells.products > h2, .cross-sells > h2, .cart_totals > h2,
.woocommerce-checkout #order_review_heading, .woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3, .woocommerce-shipping-fields h3 { color: #F59E0B !important; }
.woocommerce div.product .woocommerce-tabs .panel > h2, .related.products > h2, .upsells.products > h2, .cross-sells > h2 {
  font-size: 1.25rem; margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid #F59E0B;
}
.woocommerce div.product .woocommerce-tabs .panel h3, .woocommerce div.product .woocommerce-tabs .panel h4 { color: #FBBF24; }
/* Cada bloque de la ficha en su recuadro */
.woocommerce div.product .woocommerce-tabs .panel, .related.products, .upsells.products {
  margin-top: 16px; padding: 18px; border: 1px solid var(--ez-line); border-radius: var(--ez-radius-lg, 16px); background: var(--ez-bg-2);
}
/* Pestañas en fila de botones (en el móvil se deslizan), la activa en ámbar */
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex !important; flex-wrap: nowrap; gap: 8px; overflow-x: auto; margin: 0 !important; padding: 0 0 4px !important; scrollbar-width: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { display: block !important; flex: 0 0 auto; width: auto !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--ez-line) !important; border-radius: 999px !important; background: var(--ez-bg-2) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 8px 16px !important; font-size: .95rem; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #F59E0B !important; border-color: #F59E0B !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #0F172A !important; }
@media (max-width: 600px) {
  .woocommerce div.product .woocommerce-tabs .panel, .related.products, .upsells.products { padding: 14px; }
  .woocommerce div.product .woocommerce-tabs .panel > h2, .related.products > h2 { font-size: 1.1rem; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { gap: 6px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 7px 10px !important; font-size: .85rem; }
}
