/*
Theme Name: Reina Child
Theme URI: https://reina.qodeinteractive.com
Description: A child theme of Reina
Author: Edge Themes
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: reina
Template: reina
*/

/* ==========================================================================
   Premium Massage Málaga by Harmony Sanctuary: paleta «Mar de noche»
   Noche y Mar para la cabecera, la portada y el pie; Marfil para las páginas de lectura;
   el oro solo en líneas, logo y botón principal. Tipos: Cormorant Garamond + Jost (fonts.css).
   ========================================================================== */
:root {
	--pmm-noche: #121D29;
	--pmm-noche-2: #0D151E;
	--pmm-mar: #1B2A3A;
	--pmm-linea: #2A3A4C;
	--pmm-hueso: #ECEDEA;
	--pmm-bruma: #AEBDC5;
	--pmm-marfil: #F1ECE3;
	--pmm-arena: #E4DBCD;
	--pmm-oro: #C9A86B;
	--pmm-oro-claro: #D6B880;
	--pmm-oro-texto: #7A6338;
	--pmm-tinta: #1B2A3A;
	--pmm-tinta-2: #46525E;
}

body { font-weight: 300; }
::selection { background: var(--pmm-oro); color: var(--pmm-noche); }

/* Páginas de lectura (fondo marfil, puesto por página) */
body.pmm-claro { background-color: var(--pmm-marfil); }
body.pmm-claro #qodef-page-inner,
body.pmm-claro #qodef-page-outer { background-color: transparent; }

/* Botones del tema: el oro es la acción principal */
.qodef-button.qodef-layout--filled { letter-spacing: .12em; }

/* Precios: la cifra y el euro, juntos */
.qodef-pricing-table .qodef-m-price-value-label,
.qodef-pricing-list .qodef-m-price { white-space: nowrap; }

/* Páginas claras: enlaces en oro oscuro (contraste sobre marfil) y recuadros de las fotos en arena */
body.pmm-claro .elementor-widget-text-editor a,
body.pmm-claro .qodef-image-section-info .qodef-m-text a { color: var(--pmm-oro-texto); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
body.pmm-claro .elementor-widget-text-editor a:hover { color: var(--pmm-tinta); }
body.pmm-claro .qodef-image-section-info .qodef-m-image { color: var(--pmm-arena); }

/* Portada oscura: enlaces del bloque «La sala» */
.qodef-image-section-info .qodef-m-text a { color: var(--pmm-oro); }

/* Solo para lectores de pantalla y buscadores (p. ej. el h1 de la portada, que se ve en el slider) */
.pmm-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Todas las páginas son oscuras, como la portada: texto y enlaces sobre noche */
body { background-color: var(--pmm-noche); }
.elementor-widget-text-editor a,
.qodef-image-section-info .qodef-m-text a { color: var(--pmm-oro); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.elementor-widget-text-editor a:hover { color: var(--pmm-hueso); }
.elementor-widget-text-editor strong { color: var(--pmm-hueso); font-weight: 400; }

/* ==========================================================================
   Correcciones de la auditoría visual (24-10-2026)
   ========================================================================== */

/* Cifras de Cormorant alineadas: las de estilo antiguo hacían leer «IIO» en lugar de 110 */
h1, h2, h3, h4, h5, h6, .qodef-h1, .qodef-h2, .qodef-h3, .qodef-h4, .qodef-h5, .qodef-h6,
.qodef-m-price, .qodef-m-price-value, .qodef-m-price-value-label { font-variant-numeric: lining-nums; }

/* La franja gris de la demo (botones de texto y menú) → un subrayado fino en oro */
.qodef-button.qodef-layout--textual .qodef-m-text .qodef-m-strip,
.qodef-theme-button .qodef-m-text .qodef-m-strip { height: 1px; bottom: -4px; color: var(--pmm-oro); background-color: var(--pmm-oro); opacity: .85; }
.qodef-header-navigation > ul > li > a .qodef-menu-item-text:before,
.qodef-mobile-header-navigation > ul > li > a .qodef-menu-item-text:before,
.qodef-mobile-header-navigation ul li ul li > a .qodef-menu-item-text:before { top: auto; bottom: -6px; left: 0; width: 100%; height: 1px; background: var(--pmm-oro); }

/* Cabecera: el logo, centrado en vertical con el menú y el botón (escritorio y móvil) */
.qodef-header--divided #qodef-page-header .qodef-header-logo-link { align-self: center; }
#qodef-page-mobile-header-inner { align-items: center; }
#qodef-page-mobile-header .qodef-mobile-header-logo-link,
#qodef-page-mobile-header .qodef-mobile-header-opener { align-self: center; }
#qodef-page-mobile-header .qodef-mobile-header-opener svg line { stroke: var(--pmm-hueso); }

/* Menú del móvil: oscuro como el resto de la web */
.qodef-mobile-header-navigation { background-color: var(--pmm-noche); border-bottom: 1px solid var(--pmm-linea); }
.qodef-mobile-header-navigation ul li > a,
.qodef-mobile-header-navigation ul li > a .qodef-menu-item-text { color: var(--pmm-hueso); }
.qodef-mobile-header-navigation ul li.current-menu-item > a,
.qodef-mobile-header-navigation ul li > a:hover { color: var(--pmm-oro); }
.qodef-mobile-header-navigation > ul > li { border-color: var(--pmm-linea); }

/* Tarjetas sobre foto (portada y destinos): banda oscura abajo, todas iguales, con el texto también en el móvil */
.qodef-banner.qodef-layout--link-button .qodef-m-content { align-items: flex-end; padding: 0; }
.qodef-banner.qodef-layout--link-button .qodef-m-content-inner { background-color: rgba(13, 21, 30, .86); padding: 26px 26px 24px; }
.qodef-banner.qodef-layout--link-button .qodef-m-title { color: var(--pmm-hueso); }
.qodef-banner.qodef-layout--link-button .qodef-m-text { color: var(--pmm-bruma) !important; font-size: 15px; line-height: 1.6; }
.qodef-banner.qodef-layout--link-button .qodef-m-button .qodef-button { color: var(--pmm-oro) !important; }
@media only screen and (max-width: 1024px) {
	.qodef-banner.qodef-layout--link-button .qodef-m-content-inner { padding: 24px 24px 22px; }
}
@media only screen and (max-width: 680px) {
	.qodef-banner.qodef-layout--link-button .qodef-m-content-inner { padding: 22px 20px 20px; }
	.qodef-banner.qodef-layout--link-button .qodef-m-button,
	.qodef-banner.qodef-layout--link-button .qodef-m-text { display: block; }
}

/* Botón de subir: flecha discreta en oro (sin el «Up» de la demo); en el móvil no hace falta */
#qodef-back-to-top { width: 44px; height: 44px; right: 22px; bottom: 22px; }
#qodef-back-to-top .qodef-back-to-top-icon { font-size: 0; color: var(--pmm-noche); }
#qodef-back-to-top .qodef-back-to-top-icon:before { background-color: var(--pmm-oro); border-color: var(--pmm-oro); }
#qodef-back-to-top .qodef-back-to-top-icon:after { content: ""; position: relative; width: 10px; height: 10px; margin-top: 5px; border-top: 1.5px solid var(--pmm-noche); border-left: 1.5px solid var(--pmm-noche); transform: rotate(45deg); }
@media only screen and (max-width: 680px) { #qodef-back-to-top { display: none; } }

/* Página 404 y botones rellenos del tema: oro sobre noche */
#qodef-404-page .qodef-button.qodef-layout--filled,
.qodef-button.qodef-layout--filled:not([style*="background"]) { background-color: var(--pmm-oro); border-color: var(--pmm-oro); color: var(--pmm-noche); }
#qodef-404-page .qodef-button.qodef-layout--filled:hover { background-color: var(--pmm-oro-claro); border-color: var(--pmm-oro-claro); color: var(--pmm-noche); }

/* Texto del slider de la portada: un poco de sombra para que se lea sobre la cortina iluminada */
sr7-module sr7-txt { text-shadow: 0 1px 14px rgba(8, 14, 20, .65); }

/* Testimonios: puntos del carrusel visibles */
.qodef-testimonials-list .swiper-pagination-bullet { background-color: var(--pmm-bruma); opacity: .45; }
.qodef-testimonials-list .swiper-pagination-bullet-active { background-color: var(--pmm-oro); opacity: 1; }

/* Masajes: «Cómo funciona» y «Qué incluye», mismo cuerpo de letra y lista con viñetas */
.elementor-widget-text-editor { font-size: 16px; line-height: 1.75; }
.elementor-widget-text-editor ul.pmm-lista { margin: 0; padding-left: 1.1em; }
.elementor-widget-text-editor ul.pmm-lista li::marker { color: var(--pmm-oro); }

/* Imágenes de las tarjetas en tablet: que no midan 1000 px de alto */
@media only screen and (min-width: 681px) and (max-width: 1024px) {
	.qodef-banner.qodef-layout--link-button .qodef-m-image img { max-height: 620px; object-fit: cover; width: 100%; }
}

/* Quiénes somos: contenido de los bloques con margen lateral en el móvil */
@media only screen and (max-width: 680px) {
	.qodef-image-section-info .qodef-m-content { padding-left: 22px; padding-right: 22px; }
}

/* Iconos propios de los destinos (Masajes): trazo fino aunque el icono sea grande */
.qodef-image-with-text .qodef-m-svg svg.pmm-icono { stroke-width: .9; max-width: 64px; margin: 0 auto; }
.qodef-icon-with-text .qodef-m-svg svg.pmm-icono { stroke-width: 1.3; }
.qodef-icon-with-text .qodef-m-svg { stroke: var(--pmm-oro); }

/* Reserva: las dos filas de datos alineadas en escritorio */
@media only screen and (min-width: 1025px) {
	[data-id="9519c83"], [data-id="94b0986"], [data-id="b029f1b"], [data-id="f37405b"] { min-height: 132px; }
}
/* Mapa estático: pie de foto discreto */
.elementor-widget-image .widget-image-caption { color: var(--pmm-bruma); font-size: 13px; margin-top: 10px; text-align: left; }
/* Mapa de Google en Reserva */
.pmm-mapa { width: 100%; aspect-ratio: 5 / 3; min-height: 320px; }
.pmm-mapa iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Pie como el de harmonysanctuary.es ---------- */
#qodef-footer-image { opacity: .14; }
#qodef-footer-image svg { width: 380px; height: auto; }
#qodef-footer-image svg path { fill: none; stroke: var(--pmm-oro); stroke-width: .8; }
.pmm-redes { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; }
.pmm-redes a { color: var(--pmm-bruma); font-size: 17px; line-height: 1; transition: color .2s ease; }
.pmm-redes a:hover { color: var(--pmm-oro); }
.pmm-pie-final { text-align: center; padding: 6px 0 4px; }
.pmm-pie-final img { display: block; width: 56px; height: 56px; margin: 0 auto 14px; }
.pmm-pie-final p { margin: 0 0 4px; font-size: 14px; color: var(--pmm-bruma); }
.pmm-pie-final a { color: var(--pmm-hueso); }
.pmm-pie-final a:hover { color: var(--pmm-oro); }

/* Botón flotante de WhatsApp */
.pmm-whatsapp { position: fixed; right: 22px; bottom: 22px; z-index: 1001; width: 58px; height: 58px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); transition: transform .2s ease; }
.pmm-whatsapp:hover { transform: scale(1.06); }
.pmm-whatsapp svg { width: 32px; height: 32px; fill: #fff; }
@media only screen and (max-width: 680px) { .pmm-whatsapp { width: 52px; height: 52px; right: 16px; bottom: 16px; } }

/* ---------- Páginas legales ---------- */
.pmm-legal { max-width: 860px; margin: 0 auto; padding: 0 22px; color: var(--pmm-bruma); font-size: 16px; line-height: 1.75; }
.pmm-legal h1 { color: #fff; margin: 0 0 30px; }
.pmm-legal h2 { color: #fff; margin: 42px 0 14px; font-size: 30px; }
.pmm-legal h3 { color: var(--pmm-hueso); margin: 28px 0 10px; font-size: 23px; }
.pmm-legal strong { color: var(--pmm-hueso); font-weight: 400; }
.pmm-legal a { color: var(--pmm-oro); text-decoration: underline; text-underline-offset: .2em; }
.pmm-legal ul { padding-left: 1.1em; }
.pmm-legal li::marker { color: var(--pmm-oro); }
.pmm-legal h2[id] { scroll-margin-top: 140px; }

.pmm-redes .pmm-buho { width: 19px; height: 19px; display: block; }

/* Detalles en oro (cliente, 24-10-2026): iconos de los destinos, comillas y firma de las opiniones */
.qodef-icon-with-text .qodef-m-svg, .qodef-icon-with-text .qodef-m-svg svg,
.qodef-image-with-text .qodef-m-svg, .qodef-image-with-text .qodef-m-svg svg { stroke: var(--pmm-oro) !important; }
.qodef-testimonials-list svg, .qodef-testimonials-list svg path { stroke: var(--pmm-oro) !important; }
.qodef-testimonials-list .qodef-e-author, .qodef-testimonials-list .qodef-e-author * { color: var(--pmm-oro) !important; }

/* Portada: las tres tarjetas, con la foto cuadrada entera y el texto debajo (no encima) */
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content { position: relative; top: auto; left: auto; height: auto; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content-inner { background-color: var(--pmm-noche-2); padding: 26px 24px 24px; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-image img { transform: none; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content-inner { min-height: 218px; display: flex; flex-direction: column; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-button { margin-top: auto; }

/* Precios: foto pequeña encima de cada tarjeta de experiencia */
.pmm-precio-foto { margin-bottom: 0 !important; }
.pmm-precio-foto img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.pmm-precio-foto + .elementor-widget-reina_core_pricing_table .qodef-pricing-table { margin-top: 0; border-top: 0; }
.qodef-pricing-table .qodef-m-content strong { color: var(--pmm-oro); font-weight: 400; }

/* Pie (cliente, 24-10-2026): títulos y textos de la franja inferior en oro */
#qodef-page-footer .widget .qodef-widget-title, #qodef-page-footer .widget-title, #qodef-page-footer .widget h1, #qodef-page-footer .widget h2,
#qodef-page-footer .widget h3, #qodef-page-footer .widget h4, #qodef-page-footer .widget h5, #qodef-page-footer .widget h6 { color: var(--pmm-oro) !important; }
.pmm-pie-final p, .pmm-pie-final a { color: var(--pmm-oro); }
.pmm-pie-final a:hover { color: var(--pmm-hueso); }

/* ---------- Masajes: «Cómo funciona» (pasos) y «Qué incluye» (lista con iconos) ---------- */
.pmm-pasos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; margin-top: 56px; }
.pmm-paso { border-top: 1px solid rgba(201, 168, 107, .45); padding-top: 22px; }
.pmm-paso-n { display: block; font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: 58px; line-height: 1; color: var(--pmm-oro); font-variant-numeric: lining-nums; }
.pmm-paso h4 { margin: 18px 0 10px; color: #fff; font-size: 25px; }
.pmm-paso p { margin: 0; color: var(--pmm-bruma); font-size: 15px; line-height: 1.7; }
.pmm-pasos-cta { text-align: center; margin: 56px 0 0; }
.pmm-boton { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 44px; background: var(--pmm-oro); color: var(--pmm-noche) !important;
	font-family: "Jost", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; transition: background-color .25s ease; }
.pmm-boton:hover { background: var(--pmm-oro-claro); }
.pmm-incluye { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 36px; }
.pmm-incluye li { display: flex; gap: 16px; align-items: flex-start; }
.pmm-incluye svg { flex: 0 0 36px; width: 36px; height: 36px; fill: none; stroke: var(--pmm-oro); stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.pmm-incluye h4 { margin: 2px 0 4px; color: #fff; font-size: 21px; }
.pmm-incluye p { margin: 0; color: var(--pmm-bruma); font-size: 15px; line-height: 1.6; }
.pmm-incluye-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media only screen and (max-width: 1024px) { .pmm-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pmm-incluye-foto { margin-bottom: 40px !important; } }
@media only screen and (max-width: 680px) { .pmm-pasos, .pmm-incluye { grid-template-columns: 1fr; gap: 28px; } .pmm-paso-n { font-size: 48px; } }

/* Lista de precios: cifras alineadas y descripción larga legible */
.qodef-pricing-list .qodef-e-price, .qodef-pricing-list .qodef-e-price-value, .qodef-pricing-list .qodef-e-title-text { font-variant-numeric: lining-nums; }
.qodef-pricing-list .qodef-e-text { font-size: 15px; line-height: 1.7; margin-top: 6px; max-width: 95%; }
.qodef-pricing-list .qodef-e-item, .qodef-pricing-list > div > div { margin-bottom: 18px; }

/* Cabecera (cliente, 24-10-2026): más aire entre los menús y el logo */
.qodef-header--divided #qodef-page-header .qodef-header-logo-link { margin: 0 46px; }
.qodef-header--divided #qodef-page-header .qodef-header-navigation { margin: 0 34px; }
.qodef-header--divided #qodef-page-header .qodef-header-navigation > ul > li { margin: 0 26px; }

/* Barra superior con el texto en oro */
#qodef-top-area, #qodef-top-area p, #qodef-top-area a, #qodef-top-area .qodef-m-title, #qodef-top-area .qodef-icon-list-item a,
#qodef-top-area .qodef-icon-holder, #qodef-top-area .qodef-icon-holder *, #qodef-top-area .widget { color: var(--pmm-oro) !important; }
#qodef-top-area a:hover, #qodef-top-area a:hover * { color: var(--pmm-hueso) !important; }

/* Pie: el texto de la marca bajo el logo, algo más grande (cliente, 24-10-2026) */
#text-4 .textwidget { font-size: 17px; line-height: 1.7; color: var(--pmm-bruma); }

/* Reserva: hueco del reservador de Harmony Core (hasta que la sala esté dada de alta) */
.pmm-reservador { max-width: 1000px; margin: 0 auto; }   /* sin recuadro: solo el reservador (cliente) */

/* «Junto a la Catedral»: el logo completo encima del título */
.qodef-image-section-info .qodef-m-title-image img { width: 260px; max-width: 100%; height: auto; }

/* Portada, tres tarjetas: la tarjeta entera en 1:1 (cliente) — foto cuadrada y el texto encima, sobre un degradado oscuro */
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: flex-end; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content-inner { min-height: 0; display: block; padding: 110px 26px 24px;
	background: linear-gradient(to top, rgba(13, 21, 30, .95) 0%, rgba(13, 21, 30, .86) 50%, rgba(13, 21, 30, 0) 100%); }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-button { margin-top: 14px; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-text { margin-top: 8px; }

/* Portada, tres tarjetas con texto largo (cliente: «más texto»): foto y texto en la misma celda; la tarjeta es cuadrada y, si el texto no cabe, crece en vez de cortarlo */
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button { display: grid; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button > .qodef-m-image,
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button > .qodef-m-content,
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button > .qodef-m-banner-link { grid-area: 1 / 1; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button > .qodef-m-image { aspect-ratio: 1 / 1; height: 100%; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button > .qodef-m-image img { width: 100%; height: 100%; object-fit: cover; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content { position: relative; top: auto; left: auto; width: auto; height: auto; align-self: end; z-index: 2; pointer-events: none; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content a { pointer-events: auto; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button > .qodef-m-banner-link { position: relative; z-index: 1; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content-inner { padding: 90px 28px 26px; }
.elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-text { font-size: 15px; line-height: 1.65; }
@media only screen and (max-width: 680px) { .elementor-element-41a1e9d9 .qodef-banner.qodef-layout--link-button .qodef-m-content-inner { padding: 70px 22px 22px; } }

/* Portada, «Junto a la Catedral»: el logo a todo el ancho de la columna de texto (cliente) */
.elementor-element-4a0960a .qodef-m-title-image { width: 100%; text-align: left; }
.elementor-element-4a0960a .qodef-m-title-image img { display: block; width: 100%; max-width: 100%; height: auto; }


/* Bloques con «grid extendido» de la demo (Quiénes somos): por debajo de 1024 px el tema deja margen a un solo lado; mismo margen a los dos lados */
@media only screen and (max-width: 1024px) {
	section.qodef-elementor-content-grid.qodef-extended-grid--left > .elementor-container { padding-left: calc((100% - 768px) / 2); }
	section.qodef-elementor-content-grid.qodef-extended-grid--right > .elementor-container { padding-right: calc((100% - 768px) / 2); }
}
@media only screen and (max-width: 800px) {
	section.qodef-elementor-content-grid.qodef-extended-grid--left > .elementor-container { padding-left: calc((100% - 86%) / 2); }
	section.qodef-elementor-content-grid.qodef-extended-grid--right > .elementor-container { padding-right: calc((100% - 86%) / 2); }
}
@media only screen and (max-width: 480px) {
	section.qodef-elementor-content-grid.qodef-extended-grid--left > .elementor-container { padding-left: calc((100% - 82%) / 2); }
	section.qodef-elementor-content-grid.qodef-extended-grid--right > .elementor-container { padding-right: calc((100% - 82%) / 2); }
}

/* Pie: texto de marca bajo el logo, más grande (cliente) */
#text-4 .textwidget, #text-4 .textwidget p { font-size: 21px; line-height: 1.6; color: var(--pmm-hueso); }
@media only screen and (max-width: 680px) { #text-4 .textwidget, #text-4 .textwidget p { font-size: 20px; } }

/* Móvil y tableta: títulos de sección de ancho completo («Destinos y precios», «Precios») con margen a los lados */
@media only screen and (max-width: 1024px) { .elementor-element-0fc1835, .elementor-element-dadc6c6 { padding-left: 9%; padding-right: 9%; } }
/* Móvil: en la lista de precios el título largo no empuja el precio fuera de la pantalla; el precio pasa debajo */
@media only screen and (max-width: 680px) {
	.qodef-pricing-list .qodef-e-heading { display: flex; flex-wrap: wrap; align-items: baseline; }
	.qodef-pricing-list .qodef-e-title { flex: 0 0 100%; }
	.qodef-pricing-list .qodef-e-line { display: none; }
	.qodef-pricing-list .qodef-e-price { margin: 4px 0 0; padding: 0; }
}

/* Preguntas frecuentes (página propia y bloque en Reserva): acordeón con <details>, sin JavaScript */
.pmm-faq { max-width: 860px; margin: 0 auto; border-top: 1px solid var(--pmm-linea); text-align: left; }
.pmm-faq-item { border-bottom: 1px solid var(--pmm-linea); }
.pmm-faq-item > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 4px; }
.pmm-faq-item > summary::-webkit-details-marker { display: none; }
.pmm-faq-item > summary::after { content: ""; flex: 0 0 12px; width: 12px; height: 12px; margin-right: 6px; border-right: 1px solid var(--pmm-oro); border-bottom: 1px solid var(--pmm-oro);
	transform: rotate(45deg) translateY(-4px); transition: transform .25s ease; }
.pmm-faq-item[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.pmm-faq-item > summary:focus-visible { outline: 1px solid var(--pmm-oro); outline-offset: 2px; }
.pmm-faq-q { margin: 0; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: 25px; line-height: 1.3; color: #fff; }
.pmm-faq-item > summary:hover .pmm-faq-q { color: var(--pmm-oro-claro); }
.pmm-faq-a { padding: 0 44px 24px 4px; }
.pmm-faq-a p { margin: 0 0 12px; font-size: 16px; line-height: 1.75; color: var(--pmm-bruma); }
.pmm-faq-a p:last-child { margin-bottom: 0; }
.pmm-faq-a a { color: var(--pmm-oro); text-decoration: underline; text-underline-offset: 3px; }
.pmm-faq-a strong { color: var(--pmm-hueso); font-weight: 500; }
.pmm-faq-mas { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 40px 0 0; }
.pmm-boton.pmm-boton--linea { background: transparent; color: var(--pmm-hueso) !important; border: 1px solid var(--pmm-hueso); }
.pmm-boton.pmm-boton--linea:hover { background: var(--pmm-hueso); color: var(--pmm-noche) !important; }
@media only screen and (max-width: 680px) {
	.pmm-faq-q { font-size: 21px; }
	.pmm-faq-item > summary { padding: 18px 2px; gap: 16px; }
	.pmm-faq-a { padding: 0 8px 20px 2px; }
	.pmm-faq-mas .pmm-boton { width: 100%; }
}

/* Pie: iconos de redes en SVG (antes Font Awesome) */
.pmm-redes .pmm-red { display: block; width: 17px; height: 17px; }

/* ===================== Tienda (WooCommerce): tarjeta regalo, carrito y pago, en el oscuro de la web ===================== */
body.woocommerce, body.woocommerce-page { background-color: var(--pmm-noche); }
.woocommerce .qodef-woo-product-title, .woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3, .pmm-tr-gracias h2 { color: #fff; }
.single-product .qodef-woo-product-title { font-size: 46px; font-weight: 300; line-height: 1.1; margin-bottom: 14px; }
.single-product .summary .price, .single-product .woocommerce-variation-price .price { color: var(--pmm-oro); font-family: "Cormorant Garamond", serif; font-size: 30px; font-weight: 400; font-variant-numeric: lining-nums; }
.single-product .woocommerce-product-details__short-description p { color: var(--pmm-bruma); font-size: 17px; line-height: 1.75; }
.single-product .qodef-woo-single-meta-title, .single-product .product_meta, .single-product .qodef-social-share, .single-product .woocommerce-tabs ul.tabs { display: none !important; }
.single-product .woocommerce-tabs { border: 0; margin-top: 60px; }
.single-product .woocommerce-Tabs-panel { max-width: 860px; margin: 0 auto; text-align: left; }
.single-product .woocommerce-Tabs-panel p, .single-product .woocommerce-Tabs-panel li { color: var(--pmm-bruma); font-size: 16px; line-height: 1.75; }
.single-product .woocommerce-Tabs-panel h3 { color: #fff; font-size: 30px; margin: 34px 0 10px; }
.single-product .woocommerce-Tabs-panel strong { color: var(--pmm-hueso); font-weight: 500; }
.single-product .woocommerce-Tabs-panel a, .woocommerce-page .woocommerce a:not(.button):not(.pmm-boton) { color: var(--pmm-oro); }
/* formulario: variante, datos del regalo, cantidad y botón */
.single-product table.variations { width: 100%; margin: 26px 0 8px; }
.single-product table.variations th, .single-product table.variations td { display: block; width: 100%; padding: 0; text-align: left; }
.single-product table.variations th.label label, .pmm-tr-campo label { display: block; margin: 0 0 8px; color: var(--pmm-hueso); font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.pmm-tr-campo label span { color: var(--pmm-bruma); font-weight: 300; letter-spacing: 0; text-transform: none; }
.single-product table.variations .reset_variations { display: none !important; }
.woocommerce form select, .woocommerce form .input-text, .woocommerce form textarea, .pmm-tr-campo input, .pmm-tr-campo select, .pmm-tr-campo textarea, .single-product table.variations select,
.woocommerce-checkout form .input-text, .woocommerce-checkout form select {
	width: 100%; background-color: var(--pmm-mar) !important; color: var(--pmm-hueso) !important; border: 1px solid var(--pmm-linea) !important; border-radius: 0; font-family: "Jost", sans-serif; font-size: 15px; padding: 14px 16px; box-shadow: none; }
.woocommerce form select:focus, .woocommerce form .input-text:focus, .pmm-tr-campo input:focus, .pmm-tr-campo select:focus, .pmm-tr-campo textarea:focus { border-color: var(--pmm-oro) !important; outline: none; }
.pmm-tr-campo input::placeholder, .pmm-tr-campo textarea::placeholder, .woocommerce form .input-text::placeholder { color: #6F7F8B; }
.single-product table.variations select, .pmm-tr-campo select { appearance: none; -webkit-appearance: none; padding-right: 44px;
	background-image: linear-gradient(45deg, transparent 50%, #C9A86B 50%), linear-gradient(135deg, #C9A86B 50%, transparent 50%) !important;
	background-position: calc(100% - 22px) 52%, calc(100% - 16px) 52% !important; background-size: 6px 6px, 6px 6px !important; background-repeat: no-repeat !important; }
.single-product .variations .select2-container { display: none; }
.pmm-tr-campos { margin: 20px 0 24px; }
.pmm-tr-campo { margin: 0 0 18px; }
.single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px; }
.single-product .woocommerce-variation-add-to-cart .pmm-tr-campos { flex: 0 0 100%; order: -1; margin-bottom: 6px; }
.single-product .single_variation_wrap .woocommerce-variation-price { margin: 4px 0 12px; }
.woocommerce .quantity input.qty, .qodef-quantity-buttons .qodef-quantity-input { background: var(--pmm-mar) !important; color: var(--pmm-hueso) !important; border-color: var(--pmm-linea) !important; }
.qodef-quantity-buttons .qodef-quantity-minus, .qodef-quantity-buttons .qodef-quantity-plus { color: var(--pmm-hueso); border-color: var(--pmm-linea) !important; background: var(--pmm-mar); }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .single_add_to_cart_button, #place_order {
	background: var(--pmm-oro) !important; color: var(--pmm-noche) !important; border: 0 !important; border-radius: 0; font-family: "Jost", sans-serif; font-size: 13px !important; font-weight: 500;
	letter-spacing: .14em; text-transform: uppercase; padding: 0 40px !important; min-height: 52px; line-height: 52px !important; }
.woocommerce .button:hover, .single_add_to_cart_button:hover, #place_order:hover { background: var(--pmm-oro-claro) !important; }
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { opacity: .45; }
.pmm-tr-aviso { margin: 28px 0 10px; padding: 24px; border: 1px solid rgba(201, 168, 107, .45); background: var(--pmm-mar); }
.pmm-tr-aviso p { margin: 0 0 16px; color: var(--pmm-bruma); font-size: 15px; line-height: 1.7; }
/* avisos, carrito y pago */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews { background: var(--pmm-mar) !important; color: var(--pmm-hueso) !important; border: 1px solid var(--pmm-linea) !important; border-top: 2px solid var(--pmm-oro) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--pmm-oro) !important; }
.woocommerce table.shop_table { border: 1px solid var(--pmm-linea) !important; border-collapse: collapse; background: transparent; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--pmm-linea) !important; color: var(--pmm-bruma); background: transparent; }
.woocommerce table.shop_table th, .woocommerce table.shop_table .product-name a, .woocommerce table.shop_table strong { color: var(--pmm-hueso); }
.woocommerce table.shop_table .amount, .woocommerce .order-total .amount { color: var(--pmm-oro); font-variant-numeric: lining-nums; }
.woocommerce table.shop_table dl.variation, .woocommerce table.shop_table dl.variation dt, .woocommerce table.shop_table dl.variation dd, .woocommerce table.shop_table dl.variation p { color: var(--pmm-bruma); font-size: 14px; margin: 0; }
.woocommerce-checkout #payment, .woocommerce-checkout #payment ul.payment_methods, .woocommerce-checkout #payment div.payment_box { background: var(--pmm-mar) !important; color: var(--pmm-bruma); border-color: var(--pmm-linea) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--pmm-mar) !important; }
.woocommerce-checkout #payment label, .woocommerce form .form-row label, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text p { color: var(--pmm-bruma); }
.woocommerce form .form-row label .required { color: var(--pmm-oro); }
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none; }
.pmm-tr-gracias { margin: 0 0 40px; padding: 30px; border: 1px solid rgba(201, 168, 107, .45); background: var(--pmm-mar); text-align: center; }
.pmm-tr-gracias p { color: var(--pmm-bruma); }
.woocommerce-order-overview, .woocommerce-order-details, .woocommerce-customer-details { color: var(--pmm-bruma); }
.woocommerce ul.order_details li { border-color: var(--pmm-linea); color: var(--pmm-bruma); }
.woocommerce ul.order_details li strong { color: var(--pmm-hueso); }
@media only screen and (max-width: 680px) {
	.single-product .qodef-woo-product-title { font-size: 36px; }
	.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 auto; }
}

.single-product .summary p.price { display: flex; align-items: baseline; gap: .35em; color: var(--pmm-oro); font-family: "Cormorant Garamond", serif; font-size: 32px; font-weight: 400; line-height: 1.2; }
.single-product .summary p.price .pmm-desde { font-family: "Jost", sans-serif; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--pmm-bruma); }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel { text-align: left !important; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel ul { padding-left: 20px; }

/* Tienda: retoques tras la compra de prueba */
.single-product table.variations select.select2-hidden-accessible, .single-product table.variations select { position: static !important; width: 100% !important; height: auto !important; clip: auto !important; clip-path: none !important; margin: 0 !important; overflow: visible !important; opacity: 1 !important; display: block !important; }
.single-product table.variations th.label label { color: var(--pmm-hueso) !important; font-family: "Jost", sans-serif !important; }
.single-product .woocommerce-variation-price .price { font-size: 24px !important; }
.woocommerce-checkout .woocommerce h3, .woocommerce-order h2, .woocommerce-order .woocommerce-thankyou-order-received, .woocommerce-order-details__title, .woocommerce-column__title { color: #fff !important; }
.woocommerce table.shop_table thead th, .woocommerce table.shop_table tfoot th, .woocommerce table.shop_table tfoot td { color: var(--pmm-hueso) !important; }
.woocommerce-checkout #payment ul.payment_methods li label { color: var(--pmm-hueso) !important; font-family: "Jost", sans-serif; font-size: 15px; }
.single-product table.variations select { padding: 14px 44px 14px 16px !important; min-height: 52px !important; font-size: 15px !important; line-height: 1.4 !important; font-family: "Jost", sans-serif !important; }
.single-product table.variations th.label label { font-size: 13px !important; font-weight: 500 !important; letter-spacing: .12em !important; text-transform: uppercase; margin-bottom: 8px !important; line-height: 1.4 !important; }
.single-product div.product .summary p.price, .single-product div.product .summary p.price .amount { font-size: 32px !important; color: var(--pmm-oro) !important; font-family: "Cormorant Garamond", serif !important; }
.single-product div.product .summary p.price .pmm-desde { font-size: 13px !important; font-family: "Jost", sans-serif !important; color: var(--pmm-bruma) !important; }

/* Cabecera con tres entradas a la izquierda (Tarjeta regalo): más justa en pantallas medianas */
@media only screen and (max-width: 1440px) {
	.qodef-header--divided #qodef-page-header .qodef-header-logo-link { margin: 0 30px; }
	.qodef-header--divided #qodef-page-header .qodef-header-navigation { margin: 0 18px; }
	.qodef-header--divided #qodef-page-header .qodef-header-navigation > ul > li { margin: 0 16px; }
}
@media only screen and (max-width: 1280px) {
	.qodef-header--divided #qodef-page-header .qodef-header-logo-link { margin: 0 20px; }
	.qodef-header--divided #qodef-page-header .qodef-header-navigation { margin: 0 8px; }
	.qodef-header--divided #qodef-page-header .qodef-header-navigation > ul > li { margin: 0 11px; }
	.qodef-header--divided #qodef-page-header .qodef-header-navigation > ul > li > a { font-size: 12px; letter-spacing: .1em; }
}

/* Ficha de la tarjeta regalo: puntos clave junto al precio */
.single-product .woocommerce-product-details__short-description ul.pmm-tr-puntos { list-style: none; margin: 18px 0 0; padding: 0; }
.single-product .woocommerce-product-details__short-description ul.pmm-tr-puntos li { position: relative; padding: 0 0 0 30px; margin: 0 0 10px; color: var(--pmm-bruma); font-size: 15px; line-height: 1.6; }
.single-product .woocommerce-product-details__short-description ul.pmm-tr-puntos li::before { content: ""; position: absolute; left: 2px; top: .42em; width: 12px; height: 7px; border-left: 1.5px solid var(--pmm-oro); border-bottom: 1.5px solid var(--pmm-oro); transform: rotate(-45deg); }
.single-product .woocommerce-product-details__short-description ul.pmm-tr-puntos strong { color: var(--pmm-hueso); font-weight: 500; }

/* Ficha de la tarjeta regalo, retoques de la auditoría (28-10-2026): formulario más corto, un solo precio, sin cantidad,
   galería que acompaña al bajar y la descripción por bloques (entrada, cómo es, precios, destinos, pasos y condiciones) */
.single-product div.product .summary .woocommerce-product-details__short-description { margin-top: 22px; }
.single-product div.product form.cart { margin-top: 32px !important; }
.single-product div.product table.variations { margin: 0 0 20px !important; }
.single-product .woocommerce-variation.single_variation { margin: 0 !important; }
.single-product .single_variation_wrap .woocommerce-variation-price { display: none; }   /* el precio de arriba cambia con la experiencia (tarjeta-regalo.php) */
.single-product .woocommerce-variation-add-to-cart .pmm-tr-campos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 16px; margin: 0 0 4px; }
.pmm-tr-campo--ancho { grid-column: 1 / -1; }
.pmm-tr-campo label span { color: #A9B6BE; }
.pmm-tr-campo input::placeholder, .pmm-tr-campo textarea::placeholder { color: #8796A1; }
.single-product div.product_cat-tarjetas-regalo form.cart .quantity { display: none !important; }
.single-product div.product_cat-tarjetas-regalo .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 100%; min-height: 58px; line-height: 58px !important; font-size: 14px !important; }
.pmm-ancla { display: block; scroll-margin-top: 140px; }
@media only screen and (min-width: 1025px) {
	.single-product #qodef-page-wrapper { overflow: clip; }   /* con «hidden» (el del tema) no se queda fija */
	.single-product .qodef-woo-single-inner { align-items: flex-start; }
	.single-product .qodef-woo-single-inner > .qodef-woo-single-image { position: sticky !important; top: 110px; }
}
@media only screen and (max-width: 1024px) {
	body.pmm-form-visible .pmm-whatsapp { opacity: 0; transform: scale(.6); pointer-events: none; }
}
.pmm-whatsapp { transition: transform .2s ease, opacity .2s ease; }
@media only screen and (max-width: 480px) {
	.single-product .woocommerce-variation-add-to-cart .pmm-tr-campos { grid-template-columns: minmax(0, 1fr); }
}
/* descripción */
#qodef-woo-page.qodef--single .woocommerce-tabs { display: block; margin-top: 120px; }
#qodef-woo-page.qodef--single .woocommerce-tabs .wc-tab.woocommerce-Tabs-panel--description { display: block; max-width: none; width: 100%; margin: 0; padding: 0; left: 0 !important; }   /* el tema: inline-block al 90 %, movida un 5 % */
#qodef-woo-page.qodef--single .pmm-tr-info h3 { margin: 0 0 18px; color: #fff; font-size: 44px; font-weight: 300; line-height: 1.15; text-align: center; }
#qodef-woo-page.qodef--single .pmm-tr-info h4 { margin: 0 0 6px; color: #fff; font-family: "Cormorant Garamond", serif; font-size: 26px; font-weight: 400; line-height: 1.25; letter-spacing: 0; text-transform: none; }
#qodef-woo-page.qodef--single .pmm-tr-info p { margin: 0; }
#qodef-woo-page.qodef--single .pmm-tr-info ul, #qodef-woo-page.qodef--single .pmm-tr-info ol { list-style: none; margin: 0; padding: 0; }
#qodef-woo-page.qodef--single .pmm-tr-info p.pmm-tr-entrada { max-width: 860px; margin: 0 auto; text-align: center; color: var(--pmm-hueso); font-family: "Cormorant Garamond", serif; font-size: 32px; font-weight: 300; line-height: 1.45; }
#qodef-woo-page.qodef--single .pmm-tr-info p.pmm-tr-sub { max-width: 640px; margin: 0 auto 48px; text-align: center; font-size: 17px; }
.pmm-tr-sec { padding-top: 110px; }
.pmm-tr-sec--foto { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 80px; align-items: center; }
.pmm-tr-foto { margin: 0; }
.pmm-tr-foto img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; }
#qodef-woo-page.qodef--single .pmm-tr-sec--foto h3 { margin-bottom: 40px; text-align: left; }
#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-momentos { border-left: 1px solid rgba(201, 168, 107, .45); }
.pmm-tr-momentos li { position: relative; padding: 0 0 34px 34px; }
.pmm-tr-momentos li:last-child { padding-bottom: 0; }
.pmm-tr-momentos li::before { content: ""; position: absolute; left: -5px; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: var(--pmm-oro); }
#qodef-woo-page.qodef--single .pmm-tr-info .pmm-dest-precios { margin-top: 40px; }
.pmm-tr-destinos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 46px 28px; }
.pmm-tr-destino { display: block; text-decoration: none !important; }
.pmm-tr-destino img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: opacity .25s ease; }
.pmm-tr-destino-t { display: block; margin: 18px 0 6px; color: #fff; font-family: "Cormorant Garamond", serif; font-size: 26px; line-height: 1.25; font-variant-numeric: lining-nums; transition: color .2s ease; }
.pmm-tr-destino-x { display: block; color: var(--pmm-bruma); font-size: 15px; line-height: 1.6; }
.pmm-tr-destino:hover img { opacity: .82; }
.pmm-tr-destino:hover .pmm-tr-destino-t, .pmm-tr-destino:focus-visible .pmm-tr-destino-t { color: var(--pmm-oro-claro); }
.pmm-tr-sec--banda { margin-top: 110px; padding: 100px 0; background: var(--pmm-mar); box-shadow: 0 0 0 100vmax var(--pmm-mar); clip-path: inset(0 -100vmax); }
#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-pasos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px; margin-top: 48px; counter-reset: paso; }
.pmm-tr-pasos li { counter-increment: paso; }
.pmm-tr-pasos li::before { content: counter(paso, decimal-leading-zero); display: block; margin-bottom: 18px; color: var(--pmm-oro); font-family: "Cormorant Garamond", serif; font-size: 56px; line-height: 1; font-variant-numeric: lining-nums; }
#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-sec--banda p.pmm-tr-sub { margin: 56px auto 0; }
#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-cond { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 40px; max-width: 980px; margin: 30px auto 34px; }
#qodef-woo-page.qodef--single .pmm-tr-cond li { position: relative; padding-left: 28px; color: var(--pmm-hueso); }
.pmm-tr-cond li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 12px; height: 7px; border-left: 1.5px solid var(--pmm-oro); border-bottom: 1.5px solid var(--pmm-oro); transform: rotate(-45deg); }
#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-sec--cond p.pmm-tr-sub { margin-bottom: 44px; font-size: 15px; }
.pmm-tr-cta { text-align: center; }
@media only screen and (max-width: 1024px) {
	#qodef-woo-page.qodef--single .woocommerce-tabs { margin-top: 80px; }
	.pmm-tr-sec { padding-top: 80px; }
	.pmm-tr-sec--foto { grid-template-columns: minmax(0, 1fr); gap: 44px; }
	.pmm-tr-foto img { aspect-ratio: 4 / 3; object-position: 50% 78%; }   /* la chimenea y las camillas, no la pared */
	.pmm-tr-sec--banda { margin-top: 80px; padding: 70px 0; }
	#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-pasos { grid-template-columns: minmax(0, 1fr); gap: 38px; }
}
@media only screen and (max-width: 680px) {
	#qodef-woo-page.qodef--single .pmm-tr-info h3 { font-size: 34px; }
	#qodef-woo-page.qodef--single .pmm-tr-info p.pmm-tr-entrada { font-size: 22px; }
	#qodef-woo-page.qodef--single .pmm-tr-info p.pmm-tr-sub { margin-bottom: 34px; font-size: 16px; }
	.pmm-tr-destinos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 16px; }
	.pmm-tr-destino-t { margin-top: 12px; font-size: 21px; }
	.pmm-tr-destino-x { font-size: 14px; }
	.pmm-tr-pasos li::before { font-size: 46px; margin-bottom: 12px; }
	#qodef-woo-page.qodef--single .pmm-tr-info .pmm-tr-cond { flex-direction: column; align-items: flex-start; max-width: 340px; }
	.pmm-whatsapp { width: 48px; height: 48px; right: 14px; bottom: 14px; }
	.pmm-whatsapp svg { width: 27px; height: 27px; }
}

/* Páginas de cada destino: sentidos, precios y otros destinos */
.pmm-sentidos { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--pmm-linea); border-bottom: 1px solid var(--pmm-linea); }
.pmm-sentido { padding: 34px 26px; text-align: center; }
.pmm-sentido + .pmm-sentido { border-left: 1px solid var(--pmm-linea); }
.pmm-sentido span { display: block; margin-bottom: 10px; color: var(--pmm-oro); font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.pmm-sentido p { margin: 0; color: #fff; font-family: "Cormorant Garamond", serif; font-size: 23px; line-height: 1.3; }
/* botón ▶ con el fragmento de sonido (functions.php) */
.pmm-sonido { margin-top: 14px; background: transparent; color: #fff; border: 1px solid var(--pmm-oro); border-radius: 999px; padding: 6px 15px; font-family: Jost, sans-serif; font-size: 13px; letter-spacing: .04em; cursor: pointer; transition: background .2s, color .2s; }
.pmm-sentido .pmm-sonido span { display: inline; margin: 0 4px 0 0; color: var(--pmm-oro); font-size: inherit; font-weight: inherit; letter-spacing: 0; text-transform: none; }
.pmm-sonido:hover, .pmm-sonido[aria-pressed="true"] { background: var(--pmm-oro); color: #121D29; }
.pmm-sentido .pmm-sonido:hover span, .pmm-sentido .pmm-sonido[aria-pressed="true"] span { color: #121D29; }
.pmm-sonido:focus-visible { outline: 2px solid var(--pmm-oro); outline-offset: 3px; }
.pmm-dest-precios { max-width: 860px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pmm-dest-precio { padding: 34px 28px; border: 1px solid rgba(201, 168, 107, .45); background: var(--pmm-mar); text-align: center; }
.pmm-dest-precio-n { display: block; color: var(--pmm-oro); font-family: "Cormorant Garamond", serif; font-size: 52px; line-height: 1; font-variant-numeric: lining-nums; }
.pmm-dest-precio h3 { margin: 14px 0 6px; color: #fff; font-size: 26px; }
.pmm-dest-precio p { margin: 0; color: var(--pmm-bruma); font-size: 15px; }
.pmm-dest-ideal { max-width: 760px; margin: 34px auto 0; text-align: center; color: var(--pmm-bruma); font-size: 17px; line-height: 1.75; }
.pmm-otros { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.pmm-otro { display: block; text-decoration: none !important; }
.pmm-otro img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: opacity .25s ease; }
.pmm-otro span { display: block; margin-top: 12px; color: #fff; font-family: "Cormorant Garamond", serif; font-size: 21px; line-height: 1.25; text-align: center; }
.pmm-otro:hover img { opacity: .82; }
.pmm-otro:hover span { color: var(--pmm-oro-claro); }
@media only screen and (max-width: 1024px) {
	.pmm-sentidos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmm-sentido:nth-child(3) { border-left: 0; }
	.pmm-sentido:nth-child(n+3) { border-top: 1px solid var(--pmm-linea); }
	.pmm-otros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media only screen and (max-width: 680px) {
	.pmm-dest-precios { grid-template-columns: 1fr; }
	.pmm-otros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmm-sentido { padding: 24px 14px; }
	.pmm-sentido p { font-size: 20px; }
}
/* Números rectos en todos los títulos (Cormorant los trae de estilo antiguo: el «20» de «años 20») */
h1, h2, h3, h4, h5, h6, .qodef-m-title, .pmm-otro span, .pmm-sentido p, .pmm-faq-q { font-variant-numeric: lining-nums; }

/* Selector de idioma (idiomas.php): en la barra superior, junto a «Solo con cita previa», y al final del menú del móvil */
.pmm-idiomas { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; font-family: 'Jost', sans-serif; font-weight: 500; letter-spacing: .12em; }
.pmm-idiomas a { display: inline-block; padding: 6px 7px; text-decoration: none; line-height: 1; transition: color .2s ease; }
.qodef-top-area-right .qodef--one { display: flex; align-items: center; }
.pmm-idiomas--barra { margin-left: 22px; padding-left: 16px; border-left: 1px solid var(--pmm-linea); font-size: 11px; }
#qodef-top-area .pmm-idiomas a { color: var(--pmm-bruma) !important; }
#qodef-top-area .pmm-idiomas a.pmm-idioma-actual, #qodef-top-area .pmm-idiomas a:hover, #qodef-top-area .pmm-idiomas a:focus-visible { color: var(--pmm-oro) !important; }
.qodef-mobile-header-navigation li.pmm-idiomas-item { border: 0; padding: 22px 0 10px; }
.pmm-idiomas--movil { gap: 8px; font-size: 13px; }
.pmm-idiomas--movil a { color: var(--pmm-hueso); border: 1px solid var(--pmm-linea); padding: 10px 12px; }
.pmm-idiomas--movil a.pmm-idioma-actual { color: var(--pmm-noche); background: var(--pmm-oro); border-color: var(--pmm-oro); }

/* ===================== Guías (28-10-2026): /guias/ y una página por guía (build.py, guias.py) =====================
   Lectura cómoda sobre el azul noche: texto a 18 px en una columna de 720 px, fotos más anchas, títulos en Cormorant. */
.pmm-migas { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--pmm-bruma); }
.pmm-migas a { color: var(--pmm-oro); text-decoration: none; }
.pmm-migas a:hover { color: var(--pmm-oro-claro); }
.pmm-migas span[aria-hidden] { margin: 0 6px; color: var(--pmm-linea); }
.pmm-migas span[aria-current] { color: var(--pmm-bruma); }
h1.pmm-guia-h1 { margin: 22px 0 24px; color: #fff; font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: 58px; line-height: 1.08; letter-spacing: 0; text-wrap: balance; }
.pmm-guia-entrada { margin: 0; max-width: 34em; color: var(--pmm-hueso); font-size: 21px; line-height: 1.6; }
.pmm-guia-firma { margin: 28px 0 0; color: var(--pmm-oro); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.pmm-guia-cab .elementor-widget-image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.pmm-guia-cab .elementor-widget-image .widget-image-caption { margin-top: 10px; }
/* el cuerpo: bloques de lectura de 720 px y fotos de hasta 980 px */
.pmm-guia-resumen, .pmm-guia-sec { max-width: 720px; margin-left: auto; margin-right: auto; }
.pmm-guia-resumen { margin-bottom: 8px; padding: 28px 32px 22px; background: var(--pmm-mar); border-left: 2px solid var(--pmm-oro); }
.pmm-guia-resumen-t { margin: 0 0 12px; color: var(--pmm-oro); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.pmm-guia-resumen-l { margin: 0; padding-left: 1.1em; }
.pmm-guia-resumen-l li { margin: 0 0 10px; color: var(--pmm-hueso); font-size: 17px; line-height: 1.6; }
.pmm-guia-resumen-l li::marker { color: var(--pmm-oro); }
.pmm-guia-sec { padding-top: 60px; }
.pmm-guia-sec h2, .pmm-guia-cta h2, .pmm-guia-rel h2 { margin: 0 0 22px; color: #fff; font-family: "Cormorant Garamond", serif; font-weight: 300; font-size: 42px; line-height: 1.15; text-wrap: balance; }
.pmm-guia-sec h3 { margin: 36px 0 10px; color: #fff; font-family: "Cormorant Garamond", serif; font-weight: 400; font-size: 28px; line-height: 1.25; }
.pmm-guia-sec h3 a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(201, 168, 107, .55); }
.pmm-guia-sec h3 a:hover { color: var(--pmm-oro-claro); }
.pmm-guia-sec p, .pmm-guia-sec li, .pmm-guia-sec td { color: var(--pmm-bruma); font-size: 18px; line-height: 1.75; }
.pmm-guia-sec p { margin: 0 0 18px; }
.pmm-guia-sec strong { color: var(--pmm-hueso); font-weight: 400; }
.pmm-guia-sec a, .pmm-guia-enlace a { color: var(--pmm-oro); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.pmm-guia-sec a:hover, .pmm-guia-enlace a:hover { color: var(--pmm-oro-claro); }
.pmm-guia-lista { margin: 0 0 20px; padding-left: 1.2em; }
.pmm-guia-lista li { margin: 0 0 12px; padding-left: 4px; }
.pmm-guia-lista li::marker { color: var(--pmm-oro); }
.pmm-guia-lista--num { padding-left: 1.6em; }
.pmm-guia-lista--num li::marker { font-family: "Cormorant Garamond", serif; font-size: 22px; font-variant-numeric: lining-nums; }
/* el plan de la tarde: una línea de tiempo */
.pmm-guia-plan { list-style: none; margin: 4px 0 20px; padding: 0 0 0 26px; border-left: 1px solid rgba(201, 168, 107, .5); }
.pmm-guia-plan li { position: relative; margin: 0 0 18px; }
.pmm-guia-plan li::before { content: ""; position: absolute; left: -31px; top: .62em; width: 9px; height: 9px; border-radius: 50%; background: var(--pmm-oro); }
/* ideas de mensaje para la tarjeta */
.pmm-guia-citas { list-style: none; margin: 6px 0 20px; padding: 0; }
.pmm-guia-sec .pmm-guia-citas li { margin: 0 0 14px; padding: 4px 0 4px 22px; border-left: 2px solid var(--pmm-oro); color: var(--pmm-hueso); font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 25px; line-height: 1.4; }
/* tablas para elegir destino */
.pmm-guia-tabla-marco { margin: 8px 0 24px; overflow-x: auto; }
.pmm-guia-tabla { width: 100%; border-collapse: collapse; }
.pmm-guia-tabla th { padding: 0 14px 12px 0; color: var(--pmm-oro); font-size: 12px; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; text-align: left; border-bottom: 1px solid rgba(201, 168, 107, .5); }
.pmm-guia-sec .pmm-guia-tabla td { padding: 14px 14px 14px 0; border-bottom: 1px solid var(--pmm-linea); font-size: 16px; line-height: 1.5; vertical-align: top; }
.pmm-guia-tabla td:nth-child(2) { color: var(--pmm-hueso); white-space: nowrap; }
.pmm-guia-tabla td:nth-child(2) a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(201, 168, 107, .55); }
/* fotos dentro de la guía */
.pmm-guia .elementor-widget-image.pmm-guia-foto { max-width: 980px; margin: 64px auto 4px; }
.pmm-guia .pmm-guia-foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.pmm-guia .elementor-widget-image.pmm-guia-foto--retrato { max-width: 520px; }
.pmm-guia .pmm-guia-foto--retrato img { aspect-ratio: 4 / 5; }
.pmm-guia .elementor-widget-image.pmm-guia-foto--cuadrada { max-width: 600px; }
.pmm-guia .pmm-guia-foto--cuadrada img { aspect-ratio: 1 / 1; }
.pmm-otros.pmm-otros--seis { max-width: 980px; margin: 64px auto 0; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.pmm-otros--seis .pmm-otro span { font-size: 18px; }
/* llamada a la acción y otras guías */
.pmm-guia-cta { max-width: 820px; margin: 84px auto 0; padding: 54px 28px 58px; text-align: center; border-top: 1px solid rgba(201, 168, 107, .45); border-bottom: 1px solid rgba(201, 168, 107, .45); }
.pmm-guia-cta p { margin: 0 auto; max-width: 560px; color: var(--pmm-bruma); font-size: 17px; line-height: 1.7; }
.pmm-guia-cta .pmm-faq-mas { max-width: none; margin-top: 30px; }
.pmm-guia-rel h2 { text-align: center; margin-bottom: 40px; }
.pmm-guia-tarjetas { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 30px; }
.pmm-guia-tarjeta { display: block; text-decoration: none !important; }
.pmm-guia-tarjeta img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; transition: opacity .25s ease; }
.pmm-guia-tarjeta-t { display: block; margin: 20px 0 8px; color: #fff; font-family: "Cormorant Garamond", serif; font-size: 28px; line-height: 1.2; font-variant-numeric: lining-nums; }
.pmm-guia-tarjeta-x { display: block; color: var(--pmm-bruma); font-size: 15px; line-height: 1.65; }
.pmm-guia-tarjeta:hover img { opacity: .82; }
.pmm-guia-tarjeta:hover .pmm-guia-tarjeta-t { color: var(--pmm-oro-claro); }
.pmm-guia-enlace { margin: 40px 0 0; text-align: center; color: var(--pmm-bruma); font-size: 16px; line-height: 1.6; }
/* la portada de las guías */
.pmm-guias-cab { text-align: center; }
.pmm-guias-cab .pmm-guia-entrada { margin: 0 auto; }
@media only screen and (max-width: 1024px) {
	h1.pmm-guia-h1 { font-size: 46px; }
	.pmm-guia-cab .elementor-column + .elementor-column { margin-top: 34px; }
	.pmm-guia-cab .elementor-widget-image img { aspect-ratio: 3 / 2; }
	.pmm-otros.pmm-otros--seis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pmm-guia-tarjetas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media only screen and (max-width: 680px) {
	h1.pmm-guia-h1 { margin-top: 16px; font-size: 38px; }
	.pmm-guia-entrada { font-size: 19px; }
	.pmm-guia-resumen { padding: 22px 20px 16px; }
	.pmm-guia-sec { padding-top: 48px; }
	.pmm-guia-sec h2, .pmm-guia-cta h2, .pmm-guia-rel h2 { font-size: 33px; }
	.pmm-guia-sec h3 { font-size: 25px; }
	.pmm-guia-sec p, .pmm-guia-sec li { font-size: 17px; }
	.pmm-guia-sec .pmm-guia-citas li { font-size: 22px; }
	.pmm-guia .elementor-widget-image.pmm-guia-foto { margin-top: 48px; }
	.pmm-otros.pmm-otros--seis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pmm-guia-cta { margin-top: 64px; padding: 44px 6px 48px; }
	.pmm-guia-tarjetas { grid-template-columns: 1fr; gap: 40px; }
	.pmm-guia-tabla td:nth-child(2) { white-space: normal; }
}

/* Aviso de cookies (Complianz): sin la pestaña «Cookies» (cliente, 02-11-2026); la elección se cambia desde la política de cookies (functions.php) */
#cmplz-manage-consent .cmplz-manage-consent { display: none !important; }
