/* Moda Patty Divina · pulido visual (auditoría del árbitro visual).
   Se carga al final para ajustar detalles sin tocar el diseño: alineaciones, ritmo, contrastes y consistencia.
   Sistema: radios 2px (999px píldoras, 12px recuadro de ficha y chat); sombras sh1/sh2; grises palette3/4/5, palette6 solo para líneas. */

:root {
	--mpd-sh1: 0 2px 8px rgba(31, 38, 40, .08);
	--mpd-sh2: 0 12px 32px rgba(31, 38, 40, .14);
	--mpd-h2: clamp(30px, 3.2vw, 46px);
}

/* ================= BOTONES ================= */
/* V1: los botones siguen la alineación del texto (izquierda), no el centro de la columna. */
.entry-content .wp-block-kadence-advancedbtn.kb-buttons-wrap { justify-content: flex-start; }
@media (max-width: 767px) {
	.entry-content .mpd-hero-ctas { flex-direction: column; align-items: stretch; }
	.entry-content .mpd-hero-ctas .kb-button, .entry-content .kb-btns122_colbanbtns .kb-button { width: 100%; justify-content: center; }
}
/* V2: botón de contorno con texto tinta (el turquesa sobre blanco no se leía). */
.wp-block-kadence-advancedbtn .kb-button.kb-button.kb-btn-global-outline { color: var(--global-palette3); border: 1px solid var(--global-palette1); background: transparent; }
.wp-block-kadence-advancedbtn .kb-button.kb-button.kb-btn-global-outline:hover { background: var(--global-palette1); color: var(--global-palette3); }

/* ================= INICIO ================= */
/* V15: ritmo vertical con una escala fija (96 entre secciones, 64 entre secciones hermanas, 56 en teléfono). */
body .kb-row-layout-id122_hero01 > .kt-row-column-wrap { padding-bottom: 96px; }
body .kb-row-layout-id122_nueva01 > .kt-row-column-wrap { padding-top: 64px; padding-bottom: 96px; }
body .kb-row-layout-id122_guide01 > .kt-row-column-wrap,
body .kb-row-layout-id122_cats01 > .kt-row-column-wrap { padding-top: 96px; padding-bottom: 96px; }
body .kb-row-layout-id122_perks01 > .kt-row-column-wrap { padding-top: 64px; padding-bottom: 0; }
body .kb-row-layout-id122_ofprod01 > .kt-row-column-wrap { padding-top: 40px; padding-bottom: 96px; }
/* Teléfono: las secciones blancas llevan 56 arriba y 0 abajo; las de fondo (y la anterior a una de fondo) cierran con 56.
   Las excepciones repiten el selector general para ganarle por especificidad. */
@media (max-width: 767px) {
	body .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap { padding-top: 56px; padding-bottom: 0; }
	body .entry-content > .kb-row-layout-wrap.kt-row-has-bg > .kt-row-column-wrap,
	body .entry-content > .kb-row-layout-wrap:has(+ .kt-row-has-bg) > .kt-row-column-wrap,
	body .entry-content > .kb-row-layout-wrap:last-child > .kt-row-column-wrap { padding-bottom: 56px; }
	body .entry-content > .kb-row-layout-wrap.kb-row-layout-id122_hero01 > .kt-row-column-wrap { padding-top: 28px; }
	body .entry-content > .kb-row-layout-wrap.kb-row-layout-id122_colban01 > .kt-row-column-wrap { padding-top: 24px; padding-bottom: 24px; }
	body .entry-content > .kb-row-layout-wrap.kb-row-layout-id122_ofband01 > .kt-row-column-wrap { padding-top: 28px; padding-bottom: 28px; }
	body .entry-content > .kb-row-layout-wrap.kb-row-layout-id122_ofprod01 > .kt-row-column-wrap { padding-top: 32px; }
}

/* V17: un solo tamaño para los títulos de sección; display solo en portada, banner y franja de ofertas. */
.mpd-car-title, .mpd-nl-copy h2,
.entry-content .kb-row-layout-id122_guide01 h2,
.entry-content .mpd-cats h2 { font-size: var(--mpd-h2); line-height: 1.1; }

/* V18: portada en el teléfono más compacta. V19: la sombra rosa ya no se come el margen derecho. */
@media (max-width: 767px) {
	.mpd-lead { font-size: 16px; line-height: 1.6; }
	h1.mpd-hero-title { margin-bottom: 16px; }
	.mpd-hero-ctas { margin-top: 24px; }
}
@media (min-width: 768px) { .mpd-hero-img { margin-right: 18px; } }

/* V16: beneficios agrupados (título pegado a su texto) y 2×2 en el teléfono; separadores finos en escritorio. */
body .mpd-perks .mpd-perk-title { margin: 0 0 6px !important; }
body .mpd-perks .mpd-perk-text { margin: 0; }
@media (min-width: 1025px) {
	body .mpd-perks .wp-block-kadence-column + .wp-block-kadence-column { border-left: 1px solid var(--global-palette6); padding-left: 24px; }
}
@media (max-width: 767px) {
	body .mpd-perks .kt-row-column-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 28px 16px !important; }
	body .mpd-perks .mpd-perk-title { font-size: 14px; line-height: 1.35; }
	body .mpd-perks .mpd-perk-text { font-size: 13px; line-height: 1.5; }
}

/* V14: degradado del mosaico más ligero (no ensucia los fondos claros ni apagará las fotos). */
.mpd-bento-item::after { inset: 55% 0 0; background: linear-gradient(rgba(31, 38, 40, 0), rgba(31, 38, 40, .40)); }
.mpd-bento-item span { text-shadow: 0 1px 14px rgba(31, 38, 40, .28); }
.mpd-bento-item img { object-position: center 25%; }

/* V13: tarjeta de cierre "Ver todas" al final de cada carrusel (evita filas a medio llenar). */
.mpd-carrusel .mpd-car-track ul.products li.mpd-car-more-li { list-style: none; }
.mpd-car-more { display: grid; place-content: center; justify-items: center; gap: 10px; aspect-ratio: 4 / 5; padding: 24px; background: var(--global-palette8); text-align: center; text-decoration: none; color: var(--global-palette3); font-family: var(--global-heading-font-family); font-size: 24px; line-height: 1.2; transition: background .2s ease; }
.mpd-car-more:hover { background: var(--global-palette7); color: var(--global-palette3); }
.mpd-car-more small { font-family: var(--global-body-font-family); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--global-palette5); }
.mpd-car-more span[aria-hidden] { font-family: var(--global-body-font-family); font-size: 20px; }
.mpd-car-head-solo { justify-content: flex-end; }
@media (min-width: 1025px) {
	.mpd-car-track { container-type: inline-size; }
	.mpd-carrusel .mpd-car-track ul.products li.mpd-car-more-li[style] { grid-column: span var(--mpd-rest, 1); }
	.mpd-car-more-li[style] .mpd-car-more { aspect-ratio: auto; height: calc((100cqw - 64px) / 5 * 1.25); font-size: 34px; }
}

/* V3: los textos de ejemplo de los campos se leen (antes parecían campos deshabilitados). */
.mpd-nl-form input::placeholder { color: var(--global-palette5); opacity: 1; }
.mpd-nl-consent input { width: 16px; height: 16px; }

/* ================= TARJETAS DE PRODUCTO ================= */
/* V12: sin la sombra de Kadence que dejaba una raya gris bajo cada tarjeta. */
.woocommerce ul.products li.product.entry,
.woocommerce ul.products li.product.loop-entry { box-shadow: none; background: transparent; }
.mpd-carrusel .mpd-car-track ul.products { padding-bottom: 0; }
/* V28: colores redondos como en la ficha, con borde visible en blanco y crema. */
.mpd-sw > span:first-child { border-radius: 50%; border-color: rgba(31, 38, 40, .28); }
/* V27: insignia de oferta siempre arriba a la izquierda. */
.woocommerce ul.products li.product .onsale { top: 12px; left: 12px; right: auto; }
/* V11: botón de las tarjetas sin efecto (relacionados, carrito): secundario y con la misma letra de botón. */
.woocommerce ul.products li.product .product-action-wrap .button { background: var(--global-palette9); border: 1px solid var(--global-palette6); color: var(--global-palette3); font-size: 12.5px; font-weight: 600; letter-spacing: .1em; }
.woocommerce ul.products li.product .product-action-wrap .button:hover { background: var(--global-palette3); border-color: var(--global-palette3); color: var(--global-palette9); }
@media (max-width: 767px) {
	.woocommerce ul.products li.product .product-action-wrap .button { font-size: 11px; letter-spacing: .08em; }
}

/* ================= FICHA DE PRODUCTO ================= */
/* V5: la galería acompaña al recuadro al bajar (sin animación), así no queda una columna vacía.
   Foto y recuadro van dentro de .mpd-ficha-top (producto.php): el "sticky" se detiene donde termina el recuadro
   y la foto nunca se monta sobre las pestañas ni los productos relacionados. */
.mpd-ficha-top { position: relative; }
.mpd-ficha-top::after { content: ""; display: table; clear: both; }
@media (min-width: 1025px) {
	body.single-product .mpd-ficha-top { display: grid; grid-template-columns: 53% 43%; column-gap: 4%; align-items: start; }
	body.single-product .mpd-ficha-top::after { display: none; }
	body.single-product.woocommerce div.product .mpd-ficha-top div.images { grid-column: 1; grid-row: 1; width: auto; float: none; position: sticky; top: min(24px, calc(100vh - min(1320px, 100vw - 120px) * .6625 - 110px)); }
	body.single-product.woocommerce div.product .mpd-ficha-top div.summary { grid-column: 2; grid-row: 1; width: auto; float: none; }
}
/* V9: banda turquesa superior limpia que sigue la curva del recuadro. */
body.single-product div.product div.summary { border-top: 1px solid var(--global-palette1); background: linear-gradient(var(--global-palette1), var(--global-palette1)) top / 100% 3px no-repeat border-box, var(--global-palette9); }
/* V4: sin SKU ni categoría al pie (texto fantasma que no aporta). */
.single-product .summary .product_meta { display: none; }
/* V8: un solo tratamiento para las cajas de ofertas. */
.single-product .summary .mpd-divisas { border-color: var(--global-palette6); }
.single-product .summary .mpd-box, .single-product .summary .mpd-cuotas, .single-product .summary .mpd-divisas { border-radius: 2px; }
.single-product .summary .mpd-cashea-mark.sm { border-radius: 50%; }
/* V7: banner del combo claro y discreto (antes era el bloque más pesado del recuadro). */
.single-product .summary .mpd-offer-banner { background: var(--global-palette9); border: 1px solid var(--global-palette6); color: var(--global-palette5); }
.single-product .summary .mpd-offer-banner b { color: var(--global-palette3); }
.single-product .summary .mpd-offer-banner em { font-style: normal; color: var(--global-palette3); font-weight: 600; text-decoration: underline; text-decoration-color: var(--global-palette2); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.single-product .summary .mpd-offer-banner .mpd-ico { color: var(--global-palette3); }
/* V30: "Combínalo con" con la misma etiqueta que Talla y Color. */
.single-product .summary .mpd-offer-h { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--global-palette5); }
/* V6: el botón del combo es secundario (contorno), el principal sigue siendo Añadir al carrito. */
.single-product .summary .mpd-offer .mpd-offer-add { min-height: 48px; background: transparent; color: var(--global-palette3); border: 1px solid var(--global-palette3); }
.single-product .summary .mpd-offer .mpd-offer-add:hover { background: var(--global-palette3); color: var(--global-palette9); }
/* V35: "Añadir al carrito" no se apaga antes de elegir talla; al tocarlo sin talla se marca la talla (producto.js). */
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button.wc-variation-selection-needed { opacity: 1 !important; cursor: pointer; }
.single-product .variations.mpd-need-size tr:first-child th.label::after { content: "· Elige tu talla"; margin-left: 6px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #B42344; }
.single-product .variations.mpd-need-size tr:first-child .variable-item.button-variable-item { box-shadow: 0 0 0 1px #B42344; }
/* V24: los medios de pago entran en una sola línea. */
.single-product .summary .mpd-pay { gap: 6px; }
.single-product .summary .mpd-pay i { padding: 4px 7px; letter-spacing: .05em; }

/* V10: pestañas con subrayado limpio en vez de las cajas por defecto. */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 28px; border-bottom: 1px solid var(--global-palette6); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.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 li { margin: 0 32px 0 0; padding: 0; border: 0; border-radius: 0; background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 14px 0; color: var(--global-palette5); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--global-palette3); box-shadow: inset 0 -2px 0 var(--global-palette3); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }

/* V23: galería sin la lupa por defecto y con miniaturas alineadas. */
.woocommerce-product-gallery__trigger { display: none !important; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; justify-content: flex-start; gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px !important; margin: 0 !important; float: none; }
.woocommerce div.product div.images .flex-control-thumbs img { aspect-ratio: 4 / 5; object-fit: cover; opacity: .55; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; }

/* V22: miga de pan sin el subrayado por defecto. */
.woocommerce-breadcrumb, .kadence-breadcrumbs { font-size: 13px; color: var(--global-palette5); }
.woocommerce-breadcrumb a, .kadence-breadcrumbs a { color: var(--global-palette5); text-decoration: none; }
.woocommerce-breadcrumb a:hover, .kadence-breadcrumbs a:hover { color: var(--global-palette3); text-decoration: underline; text-decoration-color: var(--global-palette2); text-underline-offset: 3px; }

/* ================= TIENDA ================= */
/* V26: selector de orden con la misma letra que el resto. */
.woocommerce-ordering select { padding: 0 32px 0 12px; font-size: 13px; color: var(--global-palette3); }

/* ================= ELEMENTOS FLOTANTES Y GLOBALES ================= */
/* V20: aviso de pedidos dentro del sistema (radio 2px, sombra sh2). */
.mpd-venta { border-radius: 2px; box-shadow: var(--mpd-sh2); }
.mpd-venta-img { border-radius: 0; }
/* V21: botón de WhatsApp más discreto en el teléfono y sin tapar el final del pie. */
.mpd-wa-fab { box-shadow: 0 6px 18px rgba(31, 38, 40, .16); }
@media (max-width: 767px) {
	.mpd-wa-chat { right: 12px; bottom: 12px; }
	.mpd-wa-fab { width: 50px; height: 50px; }
	.mpd-wa-fab svg { width: 28px; height: 28px; }
	.site-footer { padding-bottom: 72px; }
}
/* V25: separador antes de la línea del ©. */
.site-bottom-footer-wrap { border-top: 1px solid rgba(255, 255, 255, .08); }
/* V31: íconos de la cabecera del teléfono en un solo color. */
.menu-toggle-open, .search-toggle-open, .header-cart-button { color: var(--global-palette3); }
/* V32: el mensaje de la barra nunca queda en blanco al cambiar. */
@keyframes mpd-aviso-in { from { opacity: .2; } to { opacity: 1; } }

/* Acciones con la misma letra en todo el sitio (patrón transversal). */
.woocommerce-checkout #place_order { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; }
.mpd-trend-add { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; }

@media (prefers-reduced-motion: reduce) { .mpd-car-more { transition: none; } }

/* ================= RONDA 2 ================= */
/* V36: el banner del combo es un encabezado, no otra caja más. */
.single-product .summary .mpd-offer-banner { border: 0; padding: 0; background: none; }
/* V6: con una sola pieza marcada no se muestra el total ni el botón del combo (producto.js pone .has-2). */
.single-product .summary .mpd-offer:not(.has-2) .mpd-offer-total,
.single-product .summary .mpd-offer:not(.has-2) .mpd-offer-add { display: none; }
/* V37: un solo estilo de botón secundario (contorno tinta), también en relacionados. */
body .woocommerce ul.products li.product .product-action-wrap .button { border-color: var(--global-palette3); min-height: 44px; }
/* V38: la miga de pan entra en la rejilla de la ficha. */
.single-product .product-title.product-above { max-width: 1320px; margin-left: auto; margin-right: auto; }
/* V39: miniaturas alineadas con el borde de la foto. */
.woocommerce div.product div.images .flex-control-thumbs { width: 100% !important; margin: 8px 0 0 !important; padding: 0 !important; }
/* V40: cantidad con el mismo borde fino que el resto. */
.single-product form.cart div.quantity { border: 1px solid var(--global-palette6) !important; border-radius: 2px; }
.single-product form.cart div.quantity .minus, .single-product form.cart div.quantity .plus { color: var(--global-palette4); }
/* V41: "10% en tu primera compra" no se parte entre líneas. */
.mpd-nl-copy h2 .mpd-nl-oferta { display: inline-block; }
/* V42: en el 2×2 del teléfono los textos de una misma fila empiezan a la misma altura. */
@media (max-width: 767px) { body .mpd-perks .mpd-perk-title { min-height: 2.7em; } }
/* V31: hamburguesa en tinta como el resto de íconos. */
body .mobile-toggle-open-container .menu-toggle-open, body .mobile-toggle-open-container .menu-toggle-open:hover { color: var(--global-palette3); }
/* V43: formulario de opiniones con el sistema. */
#review_form textarea, #review_form input[type="text"], #review_form input[type="email"] { border: 1px solid var(--global-palette6); border-radius: 2px; }
#review_form #submit { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border-radius: 2px; }
.woocommerce p.stars a { color: var(--global-palette3); }
/* V25: la dirección del pie no se corta en "Pasillo / Búho". */
.mpd-nowrap { white-space: nowrap; }

/* ================= RONDA 3 ================= */
/* V47: la etiqueta pequeña queda pegada a su título en los carruseles. */
body .entry-content .mpd-car-title { margin: 0 !important; }
body .entry-content .mpd-car-titles .mpd-eyebrow { margin: 0 0 8px; }
.mpd-carrusel { gap: 28px; }
/* V48: el panel ancho de cierre se lee como pieza editorial (alineado a la izquierda). */
.mpd-car-more-li[style*="--mpd-rest: 3"] .mpd-car-more,
.mpd-car-more-li[style*="--mpd-rest: 4"] .mpd-car-more { justify-items: start; text-align: left; padding: 48px; place-content: center start; }
/* V51: sin flechas que mostrar, la cabecera vacía no deja hueco sobre los productos. */
@media (min-width: 1025px) { .mpd-car-static .mpd-car-head-solo { display: none; } }
@media (min-width: 1025px) {
	/* Con el panel de ofertas a la vista, el enlace de la franja sobra. */
	.kb-row-layout-id122_ofband01:has(+ .kb-row-layout-id122_ofprod01 .mpd-car-more-li[style]) .mpd-ofertas-link { visibility: hidden; }
}
/* V49: "Limpiar" con el estilo de la miga de pan. */
.single-product .reset_variations { font-size: 13px; color: var(--global-palette5); text-decoration: none; }
.single-product .reset_variations:hover { color: var(--global-palette3); text-decoration: underline; text-decoration-color: var(--global-palette2); text-underline-offset: 3px; }
/* V21: en la ficha del teléfono el botón de WhatsApp es un poco más chico. */
@media (max-width: 767px) { body.single-product .mpd-wa-fab { width: 46px; height: 46px; } }
/* V53: la muestra blanca de la ficha se lee como color, no como casilla vacía. */
.single-product .variable-items-wrapper .color-variable-item .variable-item-span-color { box-shadow: inset 0 0 0 1px rgba(31, 38, 40, .18); }
