/* =====================================================================
   Tipografía 2026 · Plus Jakarta Sans + escala única de tamaños.
   Todos los estilos del rediseño usan estas variables (--fs-*):
   para cambiar un tamaño en toda la web basta con tocarlo aquí.
   ===================================================================== */

:root {
	--se-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* Escala corta (como GetYourGuide): 14 · 16 · 18 · 24 · 36. La jerarquía va por el peso (máx. 700).
	   Una sola talla pequeña (14 px) para datos secundarios; 16 px para todo el texto. */
	--fs-xs: 14px;                          /* antetítulos, notas, legales */
	--fs-sm: 14px;                          /* duración, etiquetas, chips */
	--fs-ui: 16px;                          /* botones, menús, campos = párrafo */
	--fs-base: 16px;                        /* párrafo: todo el texto */
	--fs-read: 16px;                        /* texto de las guías del blog (= párrafo) */
	--fs-lead: 16px;                        /* entradillas = párrafo */
	--fs-h3: 18px;                          /* subtítulos menores, preguntas, paradas y títulos de tarjeta */
	--fs-h2: 24px;                          /* subtítulos de sección */
	--fs-h1: clamp(28px, 2.8vw, 36px);      /* título principal */
	--fs-hero: clamp(34px, 4.6vw, 54px);    /* título principal de la home */

	--lh-tight: 1.15;                       /* títulos */
	--lh-ui: 1.4;                           /* tarjetas, botones, datos */
	--lh-base: 1.65;                        /* texto */
	--lh-read: 1.75;                        /* lectura larga */
}

@media (max-width: 720px) {
	:root {
		--fs-read: 16px;                    /* nunca menos de 16: evita el zoom de iOS en formularios */
		--fs-h3: 17px;
		--fs-h2: 20px;
	}
}

/* Base */
body.se26 { font-family: var(--se-font); font-size: var(--fs-base); line-height: var(--lh-base); }
.se26 h1, .se26 h2, .se26 h3, .se26 h4 { font-family: var(--se-font); line-height: var(--lh-tight); }
.se26 h3, .se26 h4 { line-height: 1.3; }
.se26 button, .se26 input, .se26 select, .se26 textarea { font-family: var(--se-font); }

/* Títulos: un solo tamaño por nivel en toda la web */
.se-hero h1 { font-size: var(--fs-hero); }
.se-ph h1, .se-article-head h1 { font-size: var(--fs-h1); }
.se-h2, .se-block > h2, .se-op-head h2, .se-band h2, .se-promo h2, .se-tourcta-end .se-tourcta-title { font-size: var(--fs-h2); }
.se-prose h2 { font-size: var(--fs-h2); }
.se-prose h3, .se-meetcard-info h3 { font-size: var(--fs-h3); }
.se-card h3, .se-post h3, .se-tourcta-title, .se-why-item h3, .se-incl h3 { font-size: var(--fs-h3); line-height: 1.3; }
.se-block > h2 { margin-bottom: 18px; }

/* Texto */
.se-lead, .se-hero-sub, .se-article-excerpt, .se-band-text p:first-child { font-size: var(--fs-lead); line-height: 1.6; }
.se-prose, .se-block.se-prose { font-size: var(--fs-base); line-height: var(--lh-base); }
.se26-post .se-prose { font-size: var(--fs-read); line-height: var(--lh-read); }
.se-faq details p, .se-faq details li, .se-dl dd, .se-tips li, .se-note, .se-checklist li { font-size: var(--fs-base); line-height: 1.6; }

/* Interfaz */
.se-btn { font-size: var(--fs-ui); line-height: 1.2; }
.se-btn-lg { font-size: var(--fs-base); }
.se-nav > a, .se-dropdown > a, .se-lang { font-size: var(--fs-ui); }
.se-eyebrow, .se-cal-title, .se-toc-title, .se-book-next p { font-size: var(--fs-xs); }
.se-dropdown-panel small, .se-card-meta, .se-card-stops, .se-rating, .se-perk, .se-price small, .se-price span, .se-ph-meta, .se-article-meta, .se-badge, .se-chip, .se-topbar { font-size: var(--fs-sm); line-height: var(--lh-ui); }
.se-price strong { font-size: var(--fs-h3); }
.se-book-price strong { font-size: var(--fs-h2); }
.se-footer { font-size: var(--fs-ui); }

/* Cifras destacadas: tamaño de título, no tallas propias */
.se-promo-num { font-size: var(--fs-hero); line-height: 1; }
.se-score-big { font-size: var(--fs-h2); }

/* Todos los botones con la misma letra y tamaño (párrafo, negrita) */
body.se26 .se-btn, body.se26 .se-btn-lg, body.se26 .se-secnav-cta .se-btn { font-family: var(--se-font); font-size: var(--fs-ui); font-weight: 700; letter-spacing: 0; }

/* Textos pegados desde WooCommerce/WPBakery con tamaño escrito a mano: heredan la escala */
.se-prose [style*="font-size"], .se-timeline [style*="font-size"], .se-faq [style*="font-size"] { font-size: inherit !important; }

/* Escalera de títulos (ficha, opción B): preguntas frecuentes y paradas del itinerario al nivel de subtítulo, no de párrafo */
.se-faq summary h3, .se-timeline li > div > strong { font-size: var(--fs-h3); line-height: 1.3; }

/* Preguntas frecuentes: apoyo discreto (letra de párrafo, separadores finos, "+" pequeño y gris). Todas cerradas y solo una abierta. */
.se-faq summary { padding: 16px 0; }
.se-faq summary h3 { font-size: var(--fs-base); font-weight: 600; line-height: 1.4; color: var(--se-ink); }
.se-faq summary .se-icon { width: 18px; height: 18px; color: #8a97ad; flex: none; }
.se-faq details > div { padding: 0 0 16px; }
.se-faq details > div p, .se-faq details > div li { font-size: 15px; }
.se-faq-plain { max-width: none; }
.se-cat-faq .se-h2, #faq .se-h2, .se-block#preguntas > h2 { font-size: 21px; }
.se-guide-faq summary { font-size: var(--fs-base); font-weight: 600; }
.se-guide-faq details { padding: 12px 0; }
.se-guide-faq details p { font-size: 15px; }
