/*
 * Complemento de la ficha de usados. Se carga DESPUÉS de
 * themes/woodmart-child/css/catalogo-usados.css, que es el sistema de diseño
 * real de Usados (tokens :root, tarjeta del listado, y también los bloques de
 * la ficha: precios, freshness, galería, simulador, sticky, modal, botones).
 *
 * REGLA DE ESTE ARCHIVO: acá va SOLO lo que catalogo-usados.css no define.
 * Nada de redefinir sus selectores.
 *
 * Antes de esta limpieza, este archivo redeclaraba 24 de sus 56 selectores
 * —entre ellos .pu-f-ctas, .pu-btn-detail, .pu-btn-wsp, .pu-f-brand, .pu-share
 * y todo el modal— y como carga después, le ganaba. El resultado era que el
 * CTA se pintaba con un #0033a1 suelto en vez del --pu-navy del sistema, el
 * botón de WhatsApp medía 164x56 en vez de 50x50, y los tokens --pu-ink/-2,
 * --pu-line, --pu-card y --pu-radius quedaban sombreados por copias con
 * valores levemente distintos. O sea: había dos implementaciones del mismo
 * diseño peleando, y ganaba la peor. De ahí venía buena parte de que la ficha
 * se viera mal.
 *
 * Los colores que fallaban contraste NO se arreglan acá: se corrigieron en el
 * :root de catalogo-usados.css, que es donde viven, así el listado se arregla
 * junto con la ficha en vez de divergir.
 */

/* ==========================================================================
 * Página como lienzo gris con tarjetas encima.
 *
 * Esto es lo que faltaba para tener paridad con la referencia, y la razón por la
 * que la ficha seguía viéndose plana: el sistema ya define --pu-card,
 * --pu-radius y --pu-shadow, y la galería ya era una tarjeta, pero el <body>
 * era BLANCO. Una tarjeta blanca con sombra suave sobre fondo blanco no se lee
 * como tarjeta, se lee como texto suelto. La referencia pone su --bg #fafafa en
 * el body justamente para que cada bloque se despegue.
 *
 * Acotado a body.pu-ficha: el resto del sitio no cambia.
 * ========================================================================== */
body.pu-ficha {
	/* Mismo valor que la referencia (--bg: #fafafa). */
	background: #fafafa;
}

/* El resumen (título, precio, CTA, specs, confianza) pasa a ser tarjeta, igual
 * que .sum en la referencia. Era el bloque más grande de la página y el único
 * sin contenedor visual. */
.pu-ficha .summary-inner {
	background: var(--pu-card);
	border-radius: var(--pu-radius);
	box-shadow: var(--pu-shadow);
	padding: 18px;
}

/* WoodMart aplica -20px de margen inferior con la clase `set-mb-l`, así que la
 * tarjeta del resumen sobresalía 20px por debajo de su columna y la primera
 * sección se le montaba encima (gap de -4px). Se apunta a la clase concreta para
 * ganarle: un `.pu-ficha .summary-inner` a secas no alcanzaba. */
.pu-ficha .summary-inner.set-mb-l {
	margin-bottom: 0;
}

/* El tema reserva 70px de padding-top en el contenedor de pestañas, pensado
 * para una ficha con tabs. Sumado a los 25px de margen del container dejaba un
 * hueco gris de 95px entre la tarjeta del resumen y la primera sección. Las
 * secciones ya traen su propio margen, así que este padding se anula. El
 * margen del container baja de 25 a 16px, que es el gap con el que la referencia
 * separa TODOS sus bloques (.wrap gap:16px y .sec margin-bottom:16px).
 *
 * Selector largo por lo mismo que las migas y el título: el tema lo declara en
 * `html body .single-product-content .product-tabs-wrapper` (0-3-2). */
html body.pu-ficha .single-product-content .product-tabs-wrapper {
	padding-top: 0;
	/* Y lo mismo por abajo. Medido: entre el borde del bloque de preguntas
	 * frecuentes y el título "También te pueden interesar" había 196px de nada
	 * —40 de margen de .pu-secs, 70 de padding y 70 de margen de este wrapper,
	 * más los 16 del propio bloque—. Son cuatro espacios sumados que nadie
	 * decidió juntos. Quedan 24+24: suficiente para que se lea el cambio de
	 * sección, sin el bache. */
	padding-bottom: 24px;
	/* !important porque compite contra otro !important, no por comodidad: el
	 * style.css del tema hijo declara
	 *     html body .single-product-content .product-tabs-wrapper {
	 *         margin-bottom: 70px !important }
	 * Nuestro selector ya le gana en especificidad (0-3-2 contra 0-2-2) —de
	 * hecho el padding-bottom de acá arriba sí se aplica— pero contra una
	 * declaración marcada no alcanza. Es el mismo caso que el padding del
	 * Customizer en catalogo-usados.css. */
	margin-bottom: 24px !important;
}

/* El margen de cierre de las secciones lo pone el último bloque (el FAQ trae
 * sus 16px), no el contenedor: así no se apilan dos. */
.pu-ficha .pu-secs {
	margin-bottom: 0;
}

html body.pu-ficha .single-product-content > .container {
	margin-bottom: 16px;
}

/* Mismo gap de 16px entre la galería y la tarjeta del resumen. */
.pu-ficha .product-images {
	margin-bottom: 16px;
}

/* La descripción también sobre tarjeta, para que no quede como texto flotando
 * sobre el gris. Mismo ancho que las demás secciones. */
.pu-ficha .woocommerce-Tabs-panel--description {
	max-width: 760px;
	margin: 0 auto 16px;
	padding: 20px 22px;
	background: var(--pu-card);
	border-radius: var(--pu-radius);
	box-shadow: var(--pu-shadow);
	box-sizing: border-box;
}

/* ==========================================================================
 * Rescate de los botones frente al reset de WoodMart.
 *
 * base.min.css del tema trae
 *   :is(.btn, .button, button, [type="submit"], …) { background: var(--btn-bgcolor, #F3F3F3) }
 * Un :is() toma la especificidad de su argumento más específico: acá son todos
 * simples, así que queda en 0-1-0 — exactamente lo mismo que .pu-btn-detail de
 * catalogo-usados.css. Al empatar, gana el que carga después, y base.min.css va
 * después. En el listado no se nota porque ahí .pu-btn-detail es un <a>, que
 * ese :is() no matchea; en la ficha son <button> y salían grises (#F3F3F3) con
 * las esquinas rectas.
 *
 * Todo lo que se declara acá sale de tokens del sistema (var(--pu-orange),
 * var(--pu-navy), var(--pu-line)), no de valores sueltos: si mañana cambia un
 * token, estos botones lo siguen solos.
 *
 * El min-height de 44px sí es un agregado propio: el sistema los deja en 42px
 * por padding y estos son los controles de conversión de la página, así que se
 * les pone el piso táctil recomendado.
 * ========================================================================== */
/* El CTA principal va NARANJA, como la referencia (.btn.primary). Es la
 * diferencia visual más fuerte que quedaba: en azul se confundía con el registro
 * del header y no destacaba como acción.
 *
 * Se usa --pu-orange (#c23e00, 5,27:1 con texto blanco) y no el #fc450d de la
 * referencia, que da 3,50:1 y falla AA. Es el mismo naranja, un paso más oscuro.
 *
 * Radio 12 y peso 800, también de la referencia. */
.pu-ficha .pu-f-ctas .pu-btn-detail,
.pu-ficha .pu-sticky-cta .pu-btn-detail,
.pu-ficha .pu-modal-enviar {
	background: var(--pu-orange);
	border-radius: 12px;
	font-weight: 800;
	/* 50px es la altura del .btn de la referencia. Queda por encima del mínimo
	   táctil de 44, así que sirve para las dos cosas. */
	min-height: 50px;
	/* Sin mayusculas: WoodMart las fuerza en sus <button> y "COTIZAR ESTE AUTO"
	   no cabia en la mitad del ancho, asi que el boton crecia a 164px y el texto
	   se partia en dos lineas (64px de alto contra los 50 de la referencia). La
	   referencia no usa caja alta en .btn. */
	text-transform: none;
	letter-spacing: normal;
}

.pu-ficha .pu-f-ctas .pu-btn-detail:hover,
.pu-ficha .pu-f-ctas .pu-btn-detail:active,
.pu-ficha .pu-sticky-cta .pu-btn-detail:hover,
.pu-ficha .pu-sticky-cta .pu-btn-detail:active,
.pu-ficha .pu-modal-enviar:hover,
.pu-ficha .pu-modal-enviar:active {
	background: var(--pu-orange-d);
}

/* Unidad reservada: el CTA pasa a azul y ocupa el ancho completo, como
 * `.btn.reserva { background: var(--navy); width: 100% }` en la referencia.
 *
 * Las dos cosas son necesarias: el color avisa que el auto no está disponible
 * antes de leer el texto, y el ancho completo evita que "Ponerme en la fila" se
 * parta en dos líneas al quedar en la mitad del espacio (medido: 64px de alto
 * contra los 50 del estado normal).
 *
 * El selector repite la ruta de .pu-f-ctas porque la regla del CTA naranja es
 * 0-3-0 y un `.pu-ficha .pu-btn-reserva` a secas (0-2-0) perdía. */
.pu-ficha .pu-f-ctas .pu-btn-reserva,
.pu-ficha .pu-sticky-cta .pu-btn-reserva {
	background: var(--pu-navy);
}

.pu-ficha .pu-f-ctas .pu-btn-reserva:hover,
.pu-ficha .pu-f-ctas .pu-btn-reserva:active,
.pu-ficha .pu-sticky-cta .pu-btn-reserva:hover,
.pu-ficha .pu-sticky-cta .pu-btn-reserva:active {
	background: var(--pu-navy-2);
}

/* Ancho completo solo en la botonera: en la barra sticky el botón convive con el
 * precio y ahí sí va a su ancho natural. */
.pu-ficha .pu-f-ctas .pu-btn-reserva {
	flex: 1 1 100%;
}

.pu-ficha .pu-f-ctas:has(.pu-btn-reserva) {
	flex-wrap: wrap;
}

/* WhatsApp a media anchura con texto, no cuadrado de 50px: la referencia pone
 * los dos botones en flex:1 (151px cada uno de los 311 útiles). */
.pu-ficha .pu-f-ctas {
	gap: 10px;
}

/* Mismo padding y box-sizing en los dos botones, como en la referencia, donde
 * `.btn { padding: 14px }` aplica al primario Y al de WhatsApp.
 *
 * Sin esto quedaban 164/136 en vez de mitad y mitad: el primario tenía 14px de
 * padding y el de WhatsApp 0, y con `flex-basis: 0%` el reparto del espacio
 * libre se hace sobre el contenido, así que los 28px de padding del primario se
 * sumaban por fuera. Igualando el padding, el reparto da 149,5 a cada uno sin
 * importar el box-sizing. `min-width: 0` va igual, para que ningún texto largo
 * vuelva a imponer un piso de ancho. */
.pu-ficha .pu-f-ctas .pu-btn-detail,
.pu-ficha .pu-f-ctas .pu-btn-wsp {
	box-sizing: border-box;
	padding: 14px;
	min-width: 0;
}

.pu-ficha .pu-f-ctas .pu-btn-wsp {
	flex: 1;
	width: auto;
	height: auto;
	min-height: 50px;
	gap: 8px;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 800;
	text-transform: none;
	letter-spacing: normal;
}

/* Compartir en la ficha: la misma píldora suave del listado.
 *
 * Este archivo redeclaraba .pu-share con fondo blanco, borde de 1,5px y radio
 * de 10px, y como carga después le ganaba a catalogo-usados.css — el botón
 * seguía viéndose como un rectángulo con borde duro por más que se arreglara
 * allá. Acá solo queda lo propio de la ficha: el mínimo táctil de 44px. */
.pu-ficha .pu-share {
	background: var(--pu-soft);
	border: 0;
	border-radius: 999px;
	color: var(--pu-navy);
	min-height: 44px;
	text-transform: none;
	letter-spacing: 0;
}

.pu-ficha .pu-share:hover {
	background: var(--pu-soft-2);
}

/* El cerrar de la ficha usa el mismo círculo suave del sistema. Este bloque lo
 * aplanaba (background:none, border-radius:0) y, como este archivo carga
 * después, le ganaba a catalogo-usados.css: la "×" quedaba pelada. */
.pu-ficha .pu-modal-x {
	min-height: 34px;   /* el resto lo define catalogo-usados.css */
}

/* ==========================================================================
 * Specs como chips (referencia: .specs/.spec de ficha.html)
 *
 * catalogo-usados.css define .pu-f-specs (el contenedor viejo) pero no esta
 * grilla de chips con etiqueta arriba, que es lo que reemplazó a las cajas con
 * borde: medían 296px de alto en 375px de ancho y empujaban el precio fuera
 * del fold. El fondo #eef1f7 es el mismo que ya usan .pu-spec y .pu-equip-item
 * del sistema, para no introducir un gris nuevo.
 * ========================================================================== */
.pu-ficha .pu-f-spec-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 14px 0;
}

.pu-ficha .pu-f-spec {
	padding: 6px 12px;
	border-radius: 8px;
	background: #eef1f7;
	min-width: 0;
}

.pu-ficha .pu-f-spec-l {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--pu-ink-2);
}

.pu-ficha .pu-f-spec-v {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--pu-ink);
	white-space: normal;
	overflow-wrap: break-word;
}

/* Chip de sucursal: pin + nombre + íconos de Waze y Google Maps EN LÍNEA, en
 * su color de marca, sin leyenda ni popover (pedido del usuario, 14-08-2026).
 *
 * Medidas según la guía de UI (ui-ux-pro-max): en un control compacto el glifo
 * va en 16px —a 20px se comía el chip y se veía desbordado—, con mínimo 8px
 * entre targets adyacentes. El área táctil (36x36, invisible) se logra con
 * padding + margen negativo vertical: toca cómodo sin agrandar el chip. Los
 * íconos van anclados a la DERECHA del chip (margin-left:auto en el nombre),
 * como acciones del chip y no como parte del texto. */
/* El chip de sucursal se distingue del resto (rediseño 20-08-2026, "no se ve
 * bonito ni moderno"): tarjeta blanca con borde en vez de otra pastilla gris,
 * pin en el naranjo de acento, y Waze/Maps como botones circulares definidos
 * en vez de glifos sueltos flotando. */
.pu-ficha .pu-f-spec-suc {
	background: #fff;
	border: 1px solid var(--pu-line, #e3e8f0);
	box-shadow: 0 1px 3px rgba(16, 24, 51, .05);
}

.pu-ficha .pu-f-spec-suc .pu-f-spec-v {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.pu-ficha .pu-f-spec-suc .pu-f-suc-n {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-right: auto;
}

/* El pin viene de pompeyo_usados_icono_pin() con clase .pu-ico, pero su regla
 * de tamaño está acotada a `.pu-loc .pu-ico` (el chip del listado), así que acá
 * hay que dimensionarlo de nuevo o sale con el tamaño por defecto del SVG. */
.pu-ficha .pu-f-spec-suc .pu-ico {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
	/* El pin en el acento del sistema, no en gris: es el dato accionable del
	   chip y así lo anuncia. */
	color: var(--pu-orange, #c23e00);
}

/* Botones circulares DEFINIDOS (30px visibles con borde), no glifos sueltos:
 * son los dos links de "cómo llegar" y ahora se leen como acciones. El mínimo
 * táctil de 44x44 no se pierde: lo pone el ::before, que agranda el blanco
 * hacia afuera sin tocar el dibujo ni empujar la fila del chip. */
.pu-ficha .pu-f-suc-ico {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	margin: -4px 0;
	background: var(--pu-card, #fff);
	border: 1px solid var(--pu-line, #e3e8f0);
	border-radius: 50%;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.pu-ficha .pu-f-suc-ico::before {
	content: "";
	position: absolute;
	inset: -7px;
	border-radius: 50%;
}

.pu-ficha .pu-f-suc-ico svg {
	width: 16px;
	height: 16px;
	display: block;
}

/* Hover sobrio: el botón se define un poco más, el glifo no escala. */
.pu-ficha .pu-f-suc-ico:hover {
	border-color: var(--pu-navy, #0016b8);
	box-shadow: 0 2px 8px rgba(16, 24, 51, .14);
	transform: translateY(-1px);
}

/* Tooltip "Cómo llegar con …" al pasar el mouse (y con foco de teclado).
 * Mismo lenguaje que los tooltips de los sellos del listado. */
.pu-ficha .pu-f-suc-ico::after {
	content: attr(data-tip);
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%);
	z-index: 30;
	padding: 6px 10px;
	border-radius: 8px;
	background: var(--pu-ink);
	color: var(--pu-card);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity .15s ease;
}

.pu-ficha .pu-f-suc-ico:hover::after,
.pu-ficha .pu-f-suc-ico:focus-visible::after {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.pu-ficha .pu-f-suc-ico,
	.pu-ficha .pu-f-suc-ico::after {
		transition: none;
	}
}

/* ==========================================================================
 * Franja de confianza: mismas promesas que la card de garantía del listado
 * (grilla-extras.php). No existe en catalogo-usados.css.
 * ========================================================================== */
.pu-ficha .pu-f-confianza {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
}

.pu-ficha .pu-f-confianza li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pu-ink-2);
	margin: 0;
}

.pu-ficha .pu-f-confianza svg {
	width: 16px;
	height: 16px;
	color: var(--pu-green);
	flex: 0 0 auto;
}

/* ==========================================================================
 * Equipamiento: solo los agregados. El h3, .pu-equip-top, .pu-equip-item y el
 * summary ya los define catalogo-usados.css y se dejan tal cual.
 * ========================================================================== */
.pu-ficha .pu-equip-count {
	font-size: 13px;
	font-weight: 400;
	color: var(--pu-ink-2);
}

.pu-ficha .pu-equip-cat-n {
	font-weight: 400;
	text-transform: none;
	color: var(--pu-ink-2);
}

/* La lista completa por categoría en columnas — antes era una sola columna
 * larga que obligaba a mucho scroll para ver todo el equipamiento. */
.pu-ficha .pu-equip-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr));
	gap: 4px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pu-ficha .pu-equip-list li {
	min-width: 0;
	font-size: 13px;
	color: var(--pu-ink-2);
	padding-left: 18px;
	position: relative;
	overflow-wrap: break-word;
}

.pu-ficha .pu-equip-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--pu-green);
	font-weight: 700;
}

/* ==========================================================================
 * Preguntas frecuentes. No existe en catalogo-usados.css.
 * Un solo plegable: el `summary` de la sección es el único control, y lleva
 * min-height 44px para cumplir el mínimo táctil.
 * ========================================================================== */
.pu-faq {
	/* `auto` a los costados, no 0: catalogo-usados.css centra las tres secciones
	   con `margin: 0 auto 16px` y este bloque, que carga después, se lo comía —
	   el FAQ quedaba pegado a la izquierda mientras el simulador y el
	   equipamiento estaban centrados. */
	margin: 24px auto 0;
}

/* El h2 de la sección NO se define acá: catalogo-usados.css ya estila los
   títulos de las tres secciones con el tamaño y la marca naranja del sistema.
   Tenerlo duplicado dejaba el título del FAQ un punto más grande que los
   otros dos. */

/* Cada pregunta ya NO es un plegable: la sección se abre con las respuestas a
   la vista y se cierra entera (pedido del 14-08-2026). Antes había cinco "+"
   apilados y cuatro clics extra para leer cuatro párrafos cortos.

   Sin acordeón, la pregunta es texto: un <h3> real bajo el <h2> de la sección.
   La línea divisoria se queda porque es lo que separa una pregunta de la
   siguiente cuando están todas abiertas. */
.pu-faq-i {
	border-bottom: 1px solid var(--pu-line);
	padding-bottom: 12px;
	margin-bottom: 12px;
}

.pu-faq-i:last-child {
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}

.pu-faq-i h3 {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--pu-ink);
}

.pu-faq-i p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--pu-ink-2);
}

/* En escritorio las respuestas van en dos columnas: a ancho completo, una sola
   columna de texto dejaría líneas de 1.100px, muy por encima de los 45-75
   caracteres que se leen cómodo. */
@media (min-width: 1100px) {
	.pu-faq-body {
		columns: 2;
		column-gap: 40px;
	}

	.pu-faq-i {
		break-inside: avoid;
	}
}

/* Pin de ubicación en SVG (reemplaza el emoji 📍, que renderiza distinto en
   cada plataforma y desentona con el registro del resto del sitio). */
.pu-loc .pu-ico {
	width: 1em;
	height: 1em;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	vertical-align: -0.12em;
	flex: 0 0 auto;
}

/* La descripción del producto ya no se pinta en el summary: es el bloque
   "Sobre este auto" (pu-desc), entre el equipamiento y el FAQ. */

/* ==========================================================================
 * Accesibilidad de interacción de los controles propios de la ficha (F5).
 * El resto vive en catalogo-usados.css, junto a los selectores del sistema.
 * ========================================================================== */
/* El ícono es circular: su anillo de foco respeta el radio 50% (la regla de
 * arriba lo dejaba cuadrado) y a 2px no desborda el chip. */
.pu-ficha .pu-f-suc-ico:focus-visible {
	outline: 2px solid var(--pu-navy);
	outline-offset: 1px;
}

/* Los botones de WhatsApp son <a>, y WoodMart trae `a:focus { outline: none }`
 * en base.min.css, que se cargaba después y le ganaba al anillo definido en
 * catalogo-usados.css. Se repite acá con la ruta completa para tener
 * especificidad de sobra sin recurrir a !important. */
.pu-ficha .pu-f-ctas .pu-btn-wsp:focus-visible,
.pu-ficha .pu-sticky-cta .pu-btn-wsp:focus-visible {
	outline: 3px solid var(--pu-navy);
	outline-offset: 2px;
}

/* touch-action: manipulation quita el retardo de ~300ms que algunos
   navegadores móviles esperan por si el toque era un doble-tap para zoom. En
   controles que no hacen zoom es puro lag percibido. */
.pu-ficha .pu-f-suc-ico,
.pu-ficha .pu-faq-det > summary {
	touch-action: manipulation;
}

/* Carrusel "Vehículos similares": tarjetas a la misma altura.
 *
 * WoodMart lo arma con Owl Carousel, cuyo .owl-stage es display:block: cada
 * .owl-item mide lo que mide su contenido, así que un auto cuyos chips
 * envuelven a dos filas queda más alto que sus vecinos y los botones "Ver
 * detalle" bailan. En la grilla esto no pasa porque la fila flex iguala las
 * alturas — acá se replica lo mismo: stage flex, ítems estirados y la tarjeta
 * ocupando el alto completo (el precio ya se ancla al fondo con margin-top:
 * auto en catalogo-usados.css, así que el aire sobrante cae antes del precio,
 * igual que en la grilla). */
.pu-ficha .related-products .owl-stage {
	display: flex;
}

.pu-ficha .related-products .owl-item {
	display: flex;
	float: none;
}

/* Owl mete un wrapper .slide-product entre el ítem y la tarjeta: si no se
 * estira también, la cadena de width:100% se corta ahí y la tarjeta colapsa a
 * 0 (pasó: fotos de 19px y sellos pisando el título). */
.pu-ficha .related-products .owl-item > .slide-product {
	display: flex;
	width: 100%;
}

.pu-ficha .related-products .owl-item .pu-card {
	display: flex;
	width: 100%;
}

/* ==========================================================================
 * Correcciones de contexto: se originan fuera de este módulo (tema WoodMart y
 * un plugin de terceros), no hay dónde más ponerlas.
 * ========================================================================== */

/* El tema deja 70px de margen inferior bajo la barra de migas, que sumados a
 * sus paddings abrían 88px de blanco muerto entre las migas y la galería.
 *
 * El selector es largo a propósito: el tema define el margen en
 * `html body .breadcrumbs-location-below_header .single-breadcrumbs-wrapper`
 * (especificidad 0-2-2), así que un `body.pu-ficha .single-…` (0-2-1) perdía y
 * el hueco seguía ahí. Esto suma la clase de la ficha a la misma cadena para
 * ganar por especificidad en vez de recurrir a !important. */
html body.pu-ficha .breadcrumbs-location-below_header .single-breadcrumbs-wrapper {
	margin-bottom: 16px;
}

/* Texto del cuerpo a 16px: el tema lo deja en 13px, bajo el mínimo legible
 * recomendado en mobile. Se aplica al contenido redactado y no a <body>, para
 * no descolocar la estructura del tema — los bloques propios de la ficha ya
 * declaran su propio tamaño. */
.pu-ficha .woocommerce-Tabs-panel--description,
.pu-ficha .woocommerce-product-details__short-description {
	font-size: 16px;
	line-height: 1.6;
}

/* El botón flotante de WhatsApp del plugin creame-whatsapp-me se posiciona en
 * bottom:6px con z-index 9000, por encima de la barra de CTA sticky
 * (z-index 80). Medido con elementFromPoint: tapaba el CENTRO del botón
 * "Cotizar", o sea que el CTA principal de la ficha no se podía tocar en
 * mobile. Subirlo 88px resolvía el bloqueo pero lo dejaba encima del bloque de
 * precios, tapando el texto de las condiciones de la cuota.
 *
 * Solución: se oculta en la ficha y el acceso a WhatsApp pasa a vivir DENTRO de
 * la barra sticky (ver pompeyo_ficha_sticky_cta()), que ya está siempre a la
 * vista y no se superpone a nada. El canal no se pierde: queda en la barra, en
 * la botonera principal y en el modal ("Prefiero WhatsApp →").
 *
 * Se oculta en toda la ficha, no solo en mobile: en desktop la burbuja con su
 * globo "¿Necesitas ayuda o más información?" se superpone a la tarjeta del
 * resumen, justo encima de la franja de confianza y el botón de compartir. El
 * canal no se pierde en ningún ancho: la ficha tiene su propio botón de
 * WhatsApp en la botonera principal (visible sin scroll en desktop), otro en la
 * barra sticky en mobile, y el enlace "Prefiero WhatsApp →" dentro del modal.
 *
 * En el resto del sitio, listado incluido, el botón flotante no se toca. */
body.pu-ficha .joinchat {
	display: none;
}

/* WhatsApp dentro de la barra sticky: el .pu-btn-wsp del sistema mide 44x44 y
 * acá se necesita que no se encoja al lado del precio y del CTA. */
.pu-ficha .pu-sticky-cta .pu-btn-wsp {
	flex: 0 0 44px;
}

/* Condiciones de la cuota (pie y plazo) como dato secundario: mismo bloque,
 * pero sin el peso ni el color del monto, que es lo que se quiere destacar. */
.pu-ficha .pu-f-cuota-cond {
	display: block;
	margin-top: 1px;
	font-size: 12px;
	font-weight: 400;
	color: var(--pu-ink-2);
}

/* Versión del vehículo bajo el título. */
.pu-ficha .pu-f-version {
	font-size: 13px;
	color: var(--pu-ink-2);
	margin: 2px 0 0;
}

/* Título del vehículo: el tema lo deja en 20px con un gris lavado (#454545) y
 * márgenes amplios, así que competía de igual a igual con el resto del texto en
 * vez de encabezar el bloque. Sube a 26px con el peso y el color del sistema
 * (--pu-ink), y se ajustan los márgenes para que marca / modelo / versión se
 * lean como un solo grupo en vez de tres líneas sueltas.
 *
 * Va en ITÁLICA. Antes lo había dejado en redonda por legibilidad, pero eso
 * rompía la paridad: la itálica es el registro tipográfico del sistema —la usa
 * .pu-model en las tarjetas del listado y el h1 de la referencia—, así que en
 * redonda el título de la ficha era el único elemento fuera de tono.
 *
 * Selector largo por la misma razón que el de las migas: el tema inyecta en
 * <head> un `html body .single-product-content .summary-inner .product_title`
 * (especificidad 0-3-2, viene de la tipografía del customizer) que le ganaba a
 * un `.pu-ficha .product_title` (0-2-0) — el color sí se aplicaba, pero el
 * tamaño y el peso volvían a 25px/700. */
html body.pu-ficha .single-product-content .summary-inner .product_title,
.pu-ficha .product_title {
	font-size: 26px;
	/* 700, no 800: es el peso medido en el h1 de la referencia. */
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.2px;
	/* El nombre del auto es el título de la página y era lo ÚNICO que seguía
	 * saliendo en Poppins y en caja alta forzada: el tema lo estila con
	 * especificidad 0-3-2 y le ganaba al `font-family: inherit` del bloque de
	 * tipografía. Sin el uppercase, el nombre se muestra como venga del CRM
	 * en vez de gritarlo desde el CSS. */
	font-family: var(--pu-font);
	text-transform: none;
	color: var(--pu-ink);
	margin: 0 0 2px;
}

/* ==========================================================================
 * El CTA de producción se esconde, pero NO se retira
 * ==========================================================================
 * La ficha de producción trae su propia fila de botones (SOLICITAR COTIZACIÓN
 * + WhatsApp) desde el módulo product-cta-sticky-mobile. Al converger el
 * laboratorio con producción quedaron dos pares de botones haciendo lo mismo.
 *
 * Se oculta la fila, no el módulo: adentro vive el contenedor del popup con el
 * formulario de HubSpot, que es el que sigue recibiendo los leads. El botón
 * visible pasa a ser el de esta ficha, y al pulsarlo dispara ese mismo popup
 * (ver ficha-usados.js). Retirar el módulo apagaría el formulario; esconder su
 * fila solo evita el botón repetido.
 *
 * El popup se inserta en <body>, fuera de esta fila, así que no lo alcanza. */
.pu-ficha .bb-cta-row {
	display: none;
}

/* ==========================================================================
 * Tasador — "Tasa tu auto"
 * ==========================================================================
 * Reusa el contenedor del modal (.pu-modal-ov / .pu-modal) para heredar fondo,
 * tarjeta, tipografía de campos y botón. Acá solo va lo propio del tasador.
 *
 * El modal es más alto que el de cotizar —dos pasos, un listado y un formulario
 * largo— así que se le da scroll propio con tope de altura: sin eso, en un
 * teléfono el encabezado queda fuera de pantalla y no hay forma de volver a
 * verlo. */
.pu-modal.pu-tas {
	max-height: 88vh;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.pu-tas-head { display: flex; align-items: center; gap: 8px; }
.pu-tas-paso {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .3px;
	background: var(--pu-soft);
	color: var(--pu-navy);
	border-radius: 99px;
	padding: 3px 9px;
	white-space: nowrap;
}
.pu-tas-nota,
.pu-tas-nota-2 {
	font-size: 13px;
	line-height: 1.5;
	color: var(--pu-ink);
	margin: 0 0 12px;
}
.pu-tas-nota { background: var(--pu-soft); border-radius: 11px; padding: 10px 13px; }
.pu-tas-lbl {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--pu-ink-2);
	margin: 14px 0 6px;
}

/* Resultados del stock: alto acotado y scroll, para que el formulario de abajo
 * no quede empujado fuera de la pantalla cuando hay ocho autos. */
.pu-tas-resultados {
	max-height: 220px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.pu-tas-item {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	min-height: 44px;
	padding: 6px 9px;
	border: 1.5px solid var(--pu-line);
	border-radius: 10px;
	background: var(--pu-card);
	cursor: pointer;
	text-align: left;
}
.pu-tas-item:hover,
.pu-tas-item:focus-visible { border-color: var(--pu-navy); }
.pu-tas-item img,
.pu-tas-sinfoto {
	width: 46px;
	height: 34px;
	object-fit: cover;
	border-radius: 6px;
	background: var(--pu-soft-2);
	flex-shrink: 0;
}
.pu-tas-item-txt { min-width: 0; line-height: 1.25; }
.pu-tas-item-txt b { font-size: 12.5px; display: block; }
.pu-tas-item-txt small { font-size: 11.5px; color: var(--pu-ink-2); }
.pu-tas-cargando { font-size: 13px; color: var(--pu-ink-2); padding: 10px 2px; }
.pu-tas-catalogo {
	display: block;
	text-align: center;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--pu-orange-txt);
	padding: 12px 0 2px;
}

/* El auto elegido, fijo arriba del formulario: es el contexto de todo lo que
 * viene después y tiene que seguir a la vista. */
.pu-tas-elegido {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--pu-soft);
	border-radius: 12px;
	padding: 9px;
	margin-bottom: 14px;
}
.pu-tas-elegido[hidden] { display: none; }
.pu-tas-elegido img { width: 56px; height: 42px; object-fit: cover; border-radius: 8px; }
.pu-tas-elegido-txt { flex: 1; min-width: 0; line-height: 1.25; }
.pu-tas-elegido-txt b { font-size: 13.5px; display: block; }
.pu-tas-elegido-txt small { font-size: 12px; color: var(--pu-ink-2); }
.pu-tas-cambiar {
	font-size: 12px;
	font-weight: 700;
	color: var(--pu-orange-txt);
	background: none;
	border: 0;
	cursor: pointer;
	min-height: 44px;
	padding: 0 4px;
}

.pu-tas-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.pu-tas-form select {
	width: 100%;
	border: 1.5px solid var(--pu-line);
	border-radius: 11px;
	padding: 11px 13px;
	font-size: 15px;
	font-family: var(--pu-font);
	background: var(--pu-card);
}
.pu-tas-buscar-patente {
	width: 100%;
	background: var(--pu-navy);
	color: var(--pu-card);
	font-weight: 700;
	font-size: 14px;
	padding: 11px;
	border: 0;
	border-radius: 11px;
	margin: 9px 0;
	cursor: pointer;
	min-height: 44px;
}
.pu-tas-detectado {
	font-size: 12.5px;
	background: var(--pu-soft);
	color: var(--pu-navy);
	border-radius: 9px;
	padding: 9px 11px;
	margin-bottom: 9px;
}

/* El precio: es el momento del formulario, así que se separa del resto. */
.pu-tas-precio {
	background: var(--pu-soft);
	border: 1.5px solid var(--pu-green);
	border-radius: 12px;
	padding: 14px;
	text-align: center;
	margin-top: 10px;
}
.pu-tas-precio-lbl { display: block; font-size: 12.5px; color: var(--pu-ink-2); }
.pu-tas-precio-n { display: block; font-size: 26px; font-weight: 800; color: var(--pu-green-txt); margin: 2px 0 4px; }
.pu-tas-precio-pie { display: block; font-size: 12px; color: var(--pu-ink-2); line-height: 1.45; }
.pu-tas-pie { font-size: 11px; color: var(--pu-ink-2); text-align: center; margin: 9px 0 0; line-height: 1.45; }
