/* ═══════════════════════════════════════════════════════════════
   CR Taller · tema industrial
   Rejilla de plano, cantos vivos, Oswald condensada en titulares,
   JetBrains Mono para toda referencia técnica.
   ═══════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--cr-grafito); color: var(--cr-texto);
  font-family: var(--cr-cuerpo); font-size: 16px; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.sin-scroll { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--cr-amarillo); }

:root {
  --cr-cond: "Oswald", "Arial Narrow", sans-serif;
  --cr-cuerpo: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --cr-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  --ancho: 1280px;
}

.contenedor { width: min(100% - 2.5rem, var(--ancho)); margin-inline: auto; }
@media (max-width: 640px) { .contenedor { width: min(100% - 1.6rem, var(--ancho)); } }

.saltar {
  position: absolute; left: -9999px; background: var(--cr-amarillo); color: #14171a;
  padding: .7rem 1.2rem; z-index: 200; font-weight: 600;
}
.saltar:focus { left: 1rem; top: 1rem; }

/* ── Franja superior ── */
.franja { background: #0f1214; border-bottom: 1px solid var(--cr-linea); font-size: .8rem; }
.franja__int { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .5rem 0; flex-wrap: wrap; }
.franja__t, .franja__c { margin: 0; color: var(--cr-tenue); display: flex; align-items: center; gap: .8rem; }
.franja__c a { color: var(--cr-texto); text-decoration: none; font-family: var(--cr-mono); }
.franja__c a:hover { color: var(--cr-amarillo); }
.franja__h { color: var(--cr-tenue); }
.pip { width: 7px; height: 7px; background: var(--cr-verde); border-radius: 50%; display: inline-block; box-shadow: 0 0 0 3px rgba(78,168,107,.18); }
@media (max-width: 720px) { .franja__h { display: none; } }

/* ── Cabecera ── */
.cab { position: sticky; top: 0; z-index: 120; background: rgba(20,23,26,.96); backdrop-filter: blur(10px); border-bottom: 1px solid var(--cr-linea); }
.cab.es-fija { box-shadow: 0 6px 24px rgba(0,0,0,.45); }
.cab__int { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; gap: 1.4rem; align-items: center; padding: .85rem 0; }
@media (max-width: 1080px) { .cab__int { grid-template-columns: auto 1fr auto; } .nav { display: none; } }
@media (max-width: 760px) { .cab__int { grid-template-columns: auto auto; justify-content: space-between; } .cab__buscar { display: none; } }

.marca { display: flex; align-items: center; gap: .7rem; text-decoration: none; }
.marca__txt { display: flex; flex-direction: column; line-height: 1; font-family: var(--cr-cond); text-transform: uppercase; }
.marca__txt strong { font-size: 1.16rem; letter-spacing: .04em; color: #fff; font-weight: 600; }
.marca__txt em { font-size: .74rem; letter-spacing: .3em; color: var(--cr-amarillo); font-style: normal; }
.marca__icono { display: grid; place-items: center; }

.nav__lista { list-style: none; display: flex; gap: 1.6rem; margin: 0; padding: 0; }
.nav__lista a {
  color: var(--cr-texto); text-decoration: none; font-family: var(--cr-cond);
  text-transform: uppercase; letter-spacing: .05em; font-size: .95rem;
  padding: .3rem 0; border-bottom: 2px solid transparent;
}
.nav__lista a:hover, .nav__lista .current-menu-item > a { color: var(--cr-amarillo); border-bottom-color: var(--cr-amarillo); }

.cab__acc { display: flex; align-items: center; gap: .9rem; }
.carro { position: relative; color: var(--cr-texto); display: grid; place-items: center; padding: .4rem; }
.carro:hover { color: var(--cr-amarillo); }
.carro__n {
  position: absolute; top: -2px; right: -6px; background: var(--cr-amarillo); color: #14171a;
  font-family: var(--cr-mono); font-size: .66rem; font-weight: 700;
  min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 3px;
}
.hamb { display: none; background: none; border: 0; cursor: pointer; padding: .5rem; }
.hamb span { display: block; width: 22px; height: 2px; background: var(--cr-texto); margin: 4px 0; transition: transform .22s ease, opacity .22s ease; }
.hamb.es-abierto span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamb.es-abierto span:nth-child(2) { opacity: 0; }
.hamb.es-abierto span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 1080px) { .hamb { display: block; } }

.menu-movil { border-top: 1px solid var(--cr-linea); background: var(--cr-carbon); }
.menu-movil__lista { list-style: none; margin: 0; padding: .5rem 0; }
.menu-movil__lista a {
  display: block; padding: .95rem 1.3rem; color: var(--cr-texto); text-decoration: none;
  font-family: var(--cr-cond); text-transform: uppercase; letter-spacing: .05em;
  border-bottom: 1px solid var(--cr-linea);
}
.menu-movil__lista a:hover { background: var(--cr-acero); color: var(--cr-amarillo); }

/* ── Héroe ── */
.heroe {
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--cr-linea);
  background:
    radial-gradient(120% 90% at 15% 0%, #1d2228 0%, transparent 62%),
    var(--cr-grafito);
}
.heroe__fondo { position: absolute; inset: 0; opacity: .42; pointer-events: none; }
.heroe__fondo svg { width: 100%; height: 100%; object-fit: cover; }
/* barra de peligro: cierra el bloque y ata la marca al mundo de la máquina */
.heroe::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px;
  background: repeating-linear-gradient(-45deg,
    var(--cr-amarillo) 0 14px, #14171a 14px 28px);
  opacity: .85;
}
.heroe__int {
  position: relative; display: grid; gap: 2.6rem;
  padding: clamp(2.6rem, 6vw, 5rem) 0 clamp(3rem, 7vw, 5.4rem);
  align-items: center;
}
@media (min-width: 1000px) { .heroe__int { grid-template-columns: 0.92fr 1.08fr; gap: 3.6rem; } }

.heroe__t {
  font-family: var(--cr-cond); font-weight: 600;
  font-size: clamp(2.6rem, 7.5vw, 4.6rem); line-height: .96;
  text-transform: uppercase; margin: .2rem 0 1rem; color: #fff; letter-spacing: -.015em;
}
.heroe__t-ac { color: var(--cr-amarillo); position: relative; display: inline-block; }
.heroe__t-ac::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: .06em; height: .09em;
  background: repeating-linear-gradient(90deg, var(--cr-amarillo) 0 12px, transparent 12px 20px);
}
.heroe__d { color: var(--cr-tenue); font-size: 1.06rem; max-width: 44ch; margin: 0 0 1.6rem; }
.heroe__puntos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.6rem; }
.heroe__puntos li { font-family: var(--cr-mono); font-size: .78rem; color: var(--cr-tenue); text-transform: uppercase; letter-spacing: .1em; }
.heroe__puntos b { display: block; font-family: var(--cr-cond); font-size: 1.7rem; color: #fff; letter-spacing: 0; }

/* ── Secciones ── */
.seccion__cab { margin-bottom: 2rem; }
.seccion__t {
  font-family: var(--cr-cond); font-size: clamp(1.8rem, 4.4vw, 2.9rem); line-height: 1.02;
  text-transform: uppercase; margin: 0; color: #fff;
}
.familias { padding: clamp(3rem, 7vw, 5rem) 0; border-bottom: 1px solid var(--cr-linea); }
.familias__rejilla { display: grid; gap: 1px; background: var(--cr-linea); border: 1px solid var(--cr-linea); }
@media (min-width: 520px) { .familias__rejilla { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 860px) { .familias__rejilla { grid-template-columns: repeat(3, 1fr); } }
.familia {
  background: var(--cr-carbon); padding: 1.5rem 1.4rem; text-decoration: none;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem;
  color: var(--cr-texto); transition: background .16s ease;
}
.familia:hover { background: var(--cr-acero); }
.familia__icono { color: var(--cr-amarillo); display: grid; place-items: center; }
.familia__n { font-family: var(--cr-cond); text-transform: uppercase; font-size: 1.06rem; letter-spacing: .02em; line-height: 1.15; }
.familia__c { font-family: var(--cr-mono); font-size: .7rem; color: var(--cr-tenue); }

/* ── Proceso ── */
.proceso { padding: clamp(3rem, 7vw, 5rem) 0; border-bottom: 1px solid var(--cr-linea); }
.proceso__int { display: grid; gap: 2.6rem; }
@media (min-width: 960px) { .proceso__int { grid-template-columns: .9fr 1.1fr; gap: 4rem; } }
.proceso__d { color: var(--cr-tenue); max-width: 46ch; margin: 1rem 0 1.6rem; }
.proceso__pasos { list-style: none; margin: 0; padding: 0; counter-reset: p; }
.proceso__pasos li {
  display: grid; grid-template-columns: auto 1fr; gap: .3rem 1.2rem;
  padding: 1.15rem 0; border-top: 1px solid var(--cr-linea); align-items: baseline;
}
.proceso__pasos li:last-child { border-bottom: 1px solid var(--cr-linea); }
.proceso__n { font-family: var(--cr-mono); color: var(--cr-amarillo); font-size: .82rem; grid-row: span 2; }
.proceso__pasos b { font-family: var(--cr-cond); font-size: 1.16rem; text-transform: uppercase; color: #fff; letter-spacing: .02em; }
.proceso__pasos span:not(.proceso__n) { color: var(--cr-tenue); font-size: .94rem; }

/* ── Ocasión ── */
.ocasion-cta { padding: clamp(3rem, 7vw, 5rem) 0; background: var(--cr-carbon); border-bottom: 1px solid var(--cr-linea); }
.ocasion-cta__int { display: grid; gap: 2.4rem; align-items: center; }
@media (min-width: 960px) { .ocasion-cta__int { grid-template-columns: 1.25fr .75fr; gap: 3.4rem; } }
.ocasion-cta__a p { color: var(--cr-tenue); max-width: 54ch; }
.ocasion-cta__botones { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.4rem; }
.cr-btn--linea { background: transparent; color: var(--cr-amarillo); border: 1px solid var(--cr-amarillo); box-shadow: none; }
.cr-btn--linea:hover { background: var(--cr-amarillo); color: #14171a; }
.dato {
  border-left: 3px solid var(--cr-amarillo); padding: 1.1rem 0 1.1rem 1.3rem;
  color: var(--cr-tenue); font-size: 1rem; margin: 0; background: rgba(245,183,0,.04);
}
.dato b { color: #fff; }

/* ── Páginas internas ── */
.pagina { padding: clamp(2rem, 5vw, 3.6rem) 0 clamp(3rem, 7vw, 5rem); }
.pagina__t { font-family: var(--cr-cond); font-size: clamp(2rem, 5vw, 3.2rem); text-transform: uppercase; margin: .6rem 0 1.4rem; color: #fff; line-height: 1.03; }
.prosa { color: var(--cr-tenue); max-width: 68ch; }
.prosa h2, .prosa h3 { font-family: var(--cr-cond); text-transform: uppercase; color: #fff; margin-top: 2rem; }
.pagina__acc { display: flex; gap: .9rem; flex-wrap: wrap; margin-top: 1.6rem; }
.pagina--404 { text-align: center; }
.pagina--404 .prosa { margin-inline: auto; }
.pagina--404 .pagina__acc { justify-content: center; }

.migas { font-family: var(--cr-mono); font-size: .74rem; color: var(--cr-tenue); letter-spacing: .04em; }
.migas a { color: var(--cr-tenue); text-decoration: none; }
.migas a:hover { color: var(--cr-amarillo); }
.migas span { opacity: .4; margin: 0 .3rem; }

/* ── Pie ── */
.pie { background: #0f1214; border-top: 1px solid var(--cr-linea); padding-top: clamp(2.6rem, 6vw, 4rem); }
.pie__int { display: grid; gap: 2.2rem; padding-bottom: 2.6rem; }
@media (min-width: 720px)  { .pie__int { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .pie__int { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 2.8rem; } }
.marca__txt--pie { display: block; margin: 0 0 .8rem; }
.marca__txt--pie strong { font-size: 1.3rem; display: block; }
.pie__d { color: var(--cr-tenue); font-size: .92rem; max-width: 34ch; margin: 0 0 1.3rem; }
.pie__t { font-family: var(--cr-mono); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cr-amarillo); margin: 0 0 .9rem; }
.pie__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.pie__lista a { color: var(--cr-tenue); text-decoration: none; font-size: .92rem; }
.pie__lista a:hover { color: var(--cr-amarillo); }
.pie__lista--datos li { color: var(--cr-tenue); font-size: .92rem; }
.pie__legal { border-top: 1px solid var(--cr-linea); padding: 1.2rem 0; }
.pie__legal-int { display: flex; justify-content: space-between; gap: 1.4rem; flex-wrap: wrap; }
.pie__legal p { margin: 0; font-size: .78rem; color: var(--cr-tenue); }
.pie__nota { max-width: 62ch; opacity: .8; }

/* ── WooCommerce: llevar la tienda al mismo idioma ── */
.woocommerce .products ul, .woocommerce ul.products { display: grid; gap: 1px; background: var(--cr-linea); border: 1px solid var(--cr-linea); margin: 0; padding: 0; }
@media (min-width: 560px) { .woocommerce ul.products { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(3,1fr); } }
@media (min-width: 1200px){ .woocommerce ul.products { grid-template-columns: repeat(4,1fr); } }
.woocommerce ul.products li.product {
  background: var(--cr-carbon); margin: 0 !important; width: auto !important;
  padding: 0 0 1.1rem; float: none !important; text-align: left;
}
.woocommerce ul.products li.product:hover { background: var(--cr-acero); }
.woocommerce ul.products li.product a img { margin: 0 0 .9rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: .96rem !important; padding: 0 1rem; color: var(--cr-texto); font-weight: 600; line-height: 1.3;
}
.woocommerce ul.products li.product .price { color: #fff !important; font-family: var(--cr-cond); font-size: 1.3rem; padding: 0 1rem; display: block; }
.woocommerce ul.products li.product .price del { color: var(--cr-tenue); font-size: .8rem; font-family: var(--cr-cuerpo); }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .added_to_cart {
  margin: .7rem 1rem 0; background: var(--cr-amarillo); color: #14171a; border-radius: 0;
  font-family: var(--cr-cond); text-transform: uppercase; letter-spacing: .05em; display: inline-block;
}
.woocommerce span.onsale {
  background: var(--cr-amarillo); color: #14171a; border-radius: 0; font-family: var(--cr-mono);
  font-size: .7rem; font-weight: 700; padding: .3rem .6rem; min-height: 0; min-width: 0; line-height: 1.2; top: 0; left: 0;
}
.woocommerce div.product .product_title { font-family: var(--cr-cond); text-transform: uppercase; font-size: clamp(1.6rem,4vw,2.4rem); color: #fff; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--cr-amarillo); font-family: var(--cr-cond); font-size: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--cr-carbon); border-color: var(--cr-linea); border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--cr-acero); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--cr-texto); font-family: var(--cr-cond); text-transform: uppercase; }
.woocommerce table.shop_attributes th { color: var(--cr-texto); font-family: var(--cr-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.woocommerce table.shop_attributes td { color: var(--cr-tenue); font-style: normal; }
.woocommerce table.shop_attributes tr:nth-child(even) th, .woocommerce table.shop_attributes tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.woocommerce .quantity .qty { background: var(--cr-acero); color: var(--cr-texto); border: 1px solid var(--cr-linea); border-radius: 0; padding: .6rem; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background: var(--cr-amarillo); color: #14171a; border-radius: 0;
  font-family: var(--cr-cond); text-transform: uppercase; letter-spacing: .05em; font-size: 1rem;
}
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info {
  background: var(--cr-carbon); border-top-color: var(--cr-amarillo); color: var(--cr-texto);
}
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--cr-amarillo); }
.woocommerce-breadcrumb { font-family: var(--cr-mono); font-size: .74rem; color: var(--cr-tenue) !important; }
.woocommerce-breadcrumb a { color: var(--cr-tenue) !important; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select { color: var(--cr-tenue); }
.woocommerce nav.woocommerce-pagination ul { border: 1px solid var(--cr-linea); }
.woocommerce nav.woocommerce-pagination ul li { border-color: var(--cr-linea); }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { color: var(--cr-texto); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--cr-amarillo); color: #14171a; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: var(--cr-amarillo); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Páginas-herramienta (selector, ocasión, formularios): ancho completo */
.pagina--ancha .pagina__cuerpo { max-width: none; }
.pagina--ancha .pagina__cuerpo > * + * { margin-top: 1.6rem; }

/* ── Ficha de producto ── */
.prod { padding: 1.4rem 0 clamp(3rem, 7vw, 5rem); }
.prod__int { display: grid; gap: 2.4rem; margin-top: 1.4rem; }
@media (min-width: 900px) { .prod__int { grid-template-columns: 1fr 1fr; gap: 3.4rem; align-items: start; } }
.prod__media { position: relative; background: var(--cr-carbon); border: 1px solid var(--cr-linea); }
.prod__img { width: 100%; height: auto; display: block; }
.prod__img--vacia { aspect-ratio: 1; background: repeating-linear-gradient(45deg, #1a1e22 0 12px, #16191d 12px 24px); }
.prod__oferta {
  position: absolute; top: 0; left: 0; background: var(--cr-amarillo); color: #14171a;
  font-family: var(--cr-mono); font-size: .72rem; font-weight: 700; padding: .35rem .8rem;
  text-transform: uppercase; letter-spacing: .08em;
}
.prod__sku { font-family: var(--cr-mono); color: var(--cr-amarillo); font-size: .84rem; letter-spacing: .08em; margin: 0 0 .4rem; }
.prod__t { font-family: var(--cr-cond); font-size: clamp(1.7rem, 4.2vw, 2.7rem); text-transform: uppercase; color: #fff; line-height: 1.04; margin: 0 0 1rem; }
.prod__resumen { color: var(--cr-tenue); margin: 0 0 1.4rem; max-width: 52ch; }
.prod__precio { display: flex; align-items: baseline; gap: .8rem; flex-wrap: wrap; margin-bottom: .5rem; }
.prod__precio .price, .prod__precio .amount { font-family: var(--cr-cond); font-size: 2.2rem; color: var(--cr-amarillo); }
.prod__precio del .amount { font-size: 1.1rem; color: var(--cr-tenue); font-family: var(--cr-cuerpo); }
.prod__precio ins { text-decoration: none; }
.prod__iva { font-family: var(--cr-mono); font-size: .72rem; color: var(--cr-tenue); text-transform: uppercase; letter-spacing: .1em; }
.prod__stock { font-family: var(--cr-mono); font-size: .82rem; margin: 0 0 1.4rem; }
.prod__stock.es-si { color: var(--cr-verde); } .prod__stock.es-si::before { content: "● "; }
.prod__stock.es-no { color: var(--cr-tenue); } .prod__stock.es-no::before { content: "○ "; }

.prod__compat { margin-top: 2rem; border-top: 1px solid var(--cr-linea); padding-top: 1.4rem; }
.prod__compat-t { font-family: var(--cr-mono); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cr-amarillo); margin: 0 0 .7rem; }
.prod__chips { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .7rem; padding: 0; }
.prod__chips li {
  font-family: var(--cr-mono); font-size: .76rem; color: var(--cr-texto);
  border: 1px solid var(--cr-linea); background: var(--cr-carbon); padding: .26rem .6rem;
}
.prod__compat-n { font-size: .86rem; color: var(--cr-tenue); margin: 0 0 .8rem; }
.prod__compat-aviso { font-size: .86rem; color: var(--cr-tenue); margin: 0; }

.prod__tecnica, .prod__desc, .prod__rel { margin-top: clamp(2.6rem, 6vw, 4rem); }
.prod__tecnica .seccion__t, .prod__desc .seccion__t, .prod__rel .seccion__t { font-size: clamp(1.4rem, 3vw, 1.9rem); margin-bottom: 1.2rem; }
.prod__specs { display: grid; gap: 1px; background: var(--cr-linea); border: 1px solid var(--cr-linea); margin: 0; }
@media (min-width: 700px) { .prod__specs { grid-template-columns: repeat(2, 1fr); } }
.prod__spec { background: var(--cr-carbon); display: grid; grid-template-columns: minmax(9rem, 40%) 1fr; gap: 1rem; padding: .85rem 1.1rem; }
.prod__spec dt { font-family: var(--cr-mono); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cr-tenue); }
.prod__spec dd { margin: 0; color: var(--cr-texto); font-size: .94rem; }

/* Añadir al carrito dentro de la ficha */
.prod__datos form.cart { display: flex; gap: .7rem; align-items: stretch; flex-wrap: wrap; margin: 0 0 .5rem; }
.prod__datos form.cart .quantity .qty { width: 5rem; height: 100%; text-align: center; }
.prod__datos form.cart .button { padding: .85rem 1.7rem; box-shadow: 3px 3px 0 var(--cr-amarillo-os); }

/* Sin barra lateral en la tienda */
.woocommerce-page .widget-area, .woocommerce-page #secondary, .single-product #secondary { display: none; }

/* Woo ya pinta su propio aviso de stock dentro del formulario: sobra */
.prod__datos .stock { display: none; }
/* Relacionados: no estirar cuando hay menos de 4 */
.prod__rel .cr-rejilla { grid-template-columns: repeat(auto-fit, minmax(200px, 240px)); justify-content: start; }

.menu-movil__buscar { padding: 1rem 1.3rem .4rem; border-bottom: 1px solid var(--cr-linea); }
.menu-movil__buscar .cr-ref__salida { position: static; border-top: 1px solid var(--cr-linea); margin-top: .6rem; }

/* ── Carrito y pago (shortcodes clásicos) ── */
.woocommerce table.shop_table {
  border: 1px solid var(--cr-linea); border-radius: 0; border-collapse: collapse; color: var(--cr-texto);
}
.woocommerce table.shop_table th {
  font-family: var(--cr-mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--cr-tenue); background: var(--cr-carbon); border-bottom: 1px solid var(--cr-linea); padding: .9rem 1rem;
}
.woocommerce table.shop_table td { border-top: 1px solid var(--cr-linea); padding: 1rem; background: var(--cr-grafito); }
.woocommerce table.shop_table td.product-name a { color: var(--cr-texto); text-decoration: none; font-weight: 600; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--cr-amarillo); }
.woocommerce table.shop_table .amount { color: #fff; font-family: var(--cr-cond); font-size: 1.1rem; }
.woocommerce table.cart img { width: 64px; border: 1px solid var(--cr-linea); }
.woocommerce a.remove { color: var(--cr-rojo) !important; font-weight: 700; }
.woocommerce a.remove:hover { background: var(--cr-rojo); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-checkout h3, .woocommerce-billing-fields h3, #order_review_heading {
  font-family: var(--cr-cond); text-transform: uppercase; color: #fff; font-size: 1.3rem;
}
.woocommerce .cart_totals table.shop_table { width: 100%; }
.woocommerce-checkout .form-row label { font-family: var(--cr-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cr-tenue); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection {
  background: var(--cr-acero); color: var(--cr-texto); border: 1px solid var(--cr-linea);
  border-radius: 0; padding: .7rem .85rem; height: auto;
}
.woocommerce form .form-row input.input-text:focus { outline: 2px solid var(--cr-amarillo); outline-offset: -2px; }
.woocommerce-checkout #payment { background: var(--cr-carbon); border: 1px solid var(--cr-linea); border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--cr-linea); }
.woocommerce-checkout #payment div.payment_box { background: var(--cr-acero); color: var(--cr-tenue); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--cr-acero); }
.woocommerce .cart-collaterals { width: 100%; }
@media (min-width: 900px) { .woocommerce .cart-collaterals .cart_totals { width: 46%; float: right; } }
.woocommerce .quantity input[type=number] { background: var(--cr-acero); color: var(--cr-texto); border: 1px solid var(--cr-linea); }

/* ── Cabecera de catálogo y archivos de producto ── */
.woocommerce-products-header, .woocommerce .term-description { padding-top: 1.6rem; }
.woocommerce-products-header__title, .woocommerce-page h1.page-title,
.woocommerce h1.woocommerce-products-header__title {
  font-family: var(--cr-cond); font-size: clamp(2rem, 5vw, 3.2rem);
  text-transform: uppercase; color: #fff; line-height: 1.03; margin: .4rem 0 .8rem;
}
.woocommerce .woocommerce-result-count {
  font-family: var(--cr-mono); font-size: .74rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--cr-tenue);
}
.woocommerce .woocommerce-ordering select {
  background: var(--cr-acero); color: var(--cr-texto); border: 1px solid var(--cr-linea);
  border-radius: 0; padding: .55rem .8rem; font-family: var(--cr-cuerpo);
}
.woocommerce .term-description { color: var(--cr-tenue); max-width: 68ch; }
/* el contenedor de la tienda respeta el ancho del sitio */
.woocommerce-page:not(.single-product) .site-main,
.woocommerce-page .woocommerce-notices-wrapper,
.post-type-archive-product .site-main {
  width: min(100% - 2.5rem, var(--ancho)); margin-inline: auto;
}

/* El fondo de la rejilla asoma en las celdas que sobran: darle el mismo tono
   que la tarjeta para que la retícula se lea como una tabla continua. */
.woocommerce ul.products { background: var(--cr-carbon); }
.woocommerce ul.products li.product { outline: 1px solid var(--cr-linea); outline-offset: 0; }
.cr-rejilla { background: var(--cr-carbon); }

/* Woo marca .first/.last pensando en float; en grid provocan saltos de celda */
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last { clear: none !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none !important; }
