/* ==========================================================================
   Hola Tailandia: estilos del theme
   Colores en variables --ht-*; theme.json las expone como paleta.
   ========================================================================== */

:root {
	--ht-paper: #F4F5F1;
	--ht-paper-2: #EAECE6;
	--ht-ink: #121714;
	--ht-ink-2: #2B322E;
	--ht-muted: #5A635E;
	--ht-line: #D6DAD2;
	--ht-accent: #D9661C;
	--ht-accent-ink: #A94A0F;
	--ht-on-accent: #121714;
	--ht-good: #2F7D5B;
	--ht-fair: #A87A1F;
	--ht-bad: #B4453A;
	--ht-on-photo: #F4F5F1;
	--ht-ease: cubic-bezier(.16, 1, .3, 1);
	--ht-gut: clamp(16px, 4vw, 56px);
	--ht-max: 1360px;
	--ht-hdr-h: 68px;
	color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--ht-paper: #0D1110; --ht-paper-2: #161C1A; --ht-ink: #E9ECE7; --ht-ink-2: #C9CFC9;
		--ht-muted: #98A29C; --ht-line: #28302C; --ht-accent: #EE8A3E; --ht-accent-ink: #F29A55;
		--ht-on-accent: #0D1110; --ht-good: #5DBE8F; --ht-fair: #DDB057; --ht-bad: #EB7A6D;
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--ht-paper: #0D1110; --ht-paper-2: #161C1A; --ht-ink: #E9ECE7; --ht-ink-2: #C9CFC9;
	--ht-muted: #98A29C; --ht-line: #28302C; --ht-accent: #EE8A3E; --ht-accent-ink: #F29A55;
	--ht-on-accent: #0D1110; --ht-good: #5DBE8F; --ht-fair: #DDB057; --ht-bad: #EB7A6D;
	color-scheme: dark;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--ht-hdr-h) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { background: var(--ht-paper); color: var(--ht-ink); -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { max-width: 100%; height: auto; }
h1, h2, h3 { text-wrap: balance; }
:where(a) { text-underline-offset: .2em; }
:focus-visible { outline: 2px solid var(--ht-accent); outline-offset: 3px; border-radius: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ht-icon { width: 20px; height: 20px; flex: none; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ht-main { padding-bottom: clamp(48px, 7vw, 96px); }

/* Botones e iconos */
.ht-btn { display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 24px; border-radius: 999px; font-weight: 600; font-size: 1rem; text-decoration: none; white-space: nowrap; transition: transform .15s, background-color .25s, color .25s; }
.ht-btn:active { transform: scale(.97); }
.ht-btn .ht-icon { width: 18px; height: 18px; transition: transform .3s var(--ht-ease); }
.ht-btn:hover .ht-icon { transform: translateX(3px); }
.ht-btn--primary { background: var(--ht-accent); color: var(--ht-on-accent); }
.ht-btn--primary:hover { background: color-mix(in oklab, var(--ht-accent) 86%, #fff); }
.ht-btn--ghost { color: var(--ht-on-photo); box-shadow: inset 0 0 0 1.5px rgba(244, 245, 241, .6); background: rgba(10, 14, 12, .2); backdrop-filter: blur(6px); }
.ht-btn--ghost:hover { background: rgba(244, 245, 241, .16); }
.ht-iconbtn { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 999px; border: 0; background: transparent; color: inherit; cursor: pointer; transition: background-color .25s, transform .15s; }
.ht-iconbtn:hover { background: color-mix(in oklab, currentColor 10%, transparent); }
.ht-iconbtn:active { transform: scale(.94); }
.ht-iconbtn--line { box-shadow: inset 0 0 0 1.5px var(--ht-line); }
.ht-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; margin-top: 20px; }
.ht-link .ht-icon { width: 18px; height: 18px; transition: transform .3s var(--ht-ease); }
.ht-link:hover .ht-icon { transform: translateX(3px); }

/* Titulares de sección */
.ht-h2 { font-size: clamp(2.125rem, 4.6vw, 4rem); line-height: .98; letter-spacing: -.035em; font-weight: 700; font-variation-settings: "wdth" 85, "opsz" 72; margin: 0; }
.ht-lede { font-family: var(--wp--preset--font-family--read); font-size: 1.1875rem; line-height: 1.55; color: var(--ht-muted); max-width: 52ch; margin: 18px 0 0; }
.ht-section { padding-block: clamp(72px, 10vw, 140px); }

/* ---------- Cabecera ---------- */
.ht-hdr { position: fixed; inset: 0 0 auto 0; z-index: 50; padding-top: env(safe-area-inset-top, 0px); color: var(--ht-ink); transition: background-color .4s var(--ht-ease), color .4s var(--ht-ease), box-shadow .4s var(--ht-ease); }
.admin-bar .ht-hdr { top: var(--wp-admin--admin-bar--height, 32px); }
.ht-hdr__inner { max-width: var(--ht-max); margin-inline: auto; padding-inline: var(--ht-gut); height: var(--ht-hdr-h); gap: 24px; transition: height .4s var(--ht-ease); }
body.ht-on-hero .ht-hdr:not(.is-solid) { color: var(--ht-on-photo); }
.ht-hdr.is-solid { background: color-mix(in oklab, var(--ht-paper) 88%, transparent); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); box-shadow: 0 1px 0 var(--ht-line); }
.ht-hdr.is-solid .ht-hdr__inner { height: 56px; }
.ht-main { padding-top: calc(var(--ht-hdr-h) + 24px); }
.ht-home { padding-top: 0; }
.ht-brand { margin: 0; font-size: 1.3125rem; font-weight: 700; letter-spacing: -.03em; font-variation-settings: "wdth" 85; white-space: nowrap; }
.ht-brand a { text-decoration: none; color: inherit; }
.ht-hdr__tools { gap: 4px; align-items: center; }

/* Menú */
.ht-menu__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.ht-menu__list > li { position: relative; }
.ht-menu__list a { display: flex; align-items: center; gap: 6px; text-decoration: none; font-size: .9375rem; font-weight: 500; padding: 8px 14px; border-radius: 999px; transition: background-color .25s; color: inherit; }
.ht-menu__list > li > a:hover { background: color-mix(in oklab, currentColor 10%, transparent); }
.ht-menu__list .sub-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 260px; list-style: none; margin: 0; padding: 8px; background: var(--ht-paper); color: var(--ht-ink); border-radius: 16px; box-shadow: 0 1px 0 var(--ht-line), 0 18px 48px rgba(12, 18, 15, .16); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .3s var(--ht-ease), visibility .2s; }
.ht-menu__list .sub-menu a { border-radius: 10px; padding: 10px 12px; }
.ht-menu__list .sub-menu a:hover { background: var(--ht-paper-2); }
.ht-menu__list > li:hover > .sub-menu,
.ht-menu__list > li:focus-within > .sub-menu,
.ht-menu__list > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.ht-menu__list > .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .7; }
.ht-menu__open, .ht-menu__close { display: none; }
/* El buscador de la cabecera solo existe en escritorio; en móvil va dentro del menú */
.ht-menu__search { display: none; }
@media (max-width: 720px) {
	/* Con el logo completo no caben tres iconos en 375 px: el buscador se mueve al menú */
	.ht-hdr__inner { gap: 10px; }
	.ht-brand { font-size: 1.0625rem; letter-spacing: -.02em; min-width: 0; }
	.ht-hdr__tools .ht-search { display: none !important; }
	.ht-menu__search { display: block; margin-bottom: 28px; }
	.ht-menu__search .wp-block-search__inside-wrapper,
	.ht-menu__search form { display: flex; gap: 8px; border: 0; }
	.ht-menu__search :where(input[type="search"], .wp-block-search__input) { flex: 1 1 auto; min-width: 0; height: 48px; border: 0; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--ht-line); background: var(--ht-paper); color: var(--ht-ink); padding: 0 18px; font: 1rem var(--wp--preset--font-family--display); }
	.ht-menu__search :where(button, input[type="submit"], .wp-block-search__button) { flex: none; height: 48px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--ht-accent); color: var(--ht-on-accent); font: 600 1rem var(--wp--preset--font-family--display); cursor: pointer; }
	/* En el formulario de búsqueda el campo va dentro de la etiqueta: se oculta
	   solo el texto de la etiqueta, nunca la etiqueta entera. */
	.ht-menu__search label { flex: 1 1 auto; min-width: 0; display: block; }
	.ht-menu__search label > span, .ht-menu__search .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.ht-menu__search label input[type="search"] { width: 100%; }
}
@media (max-width: 960px) {
	.ht-menu__open { display: inline-grid; }
	.ht-menu__panel { position: fixed; inset: 0; z-index: 60; background: var(--ht-paper); color: var(--ht-ink); padding: calc(env(safe-area-inset-top, 0px) + 72px) var(--ht-gut) 40px; overflow-y: auto; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity .25s, transform .4s var(--ht-ease), visibility .25s; }
	.ht-menu.is-open .ht-menu__panel { opacity: 1; visibility: visible; transform: none; }
	.ht-menu__close { display: inline-grid; position: absolute; top: calc(env(safe-area-inset-top, 0px) + 14px); right: var(--ht-gut); }
	.ht-menu__list { flex-direction: column; align-items: stretch; gap: 0; }
	.ht-menu__list > li { border-bottom: 1px solid var(--ht-line); }
	.ht-menu__list > li > a { font-size: 1.625rem; font-weight: 650; letter-spacing: -.02em; padding: 18px 0; border-radius: 0; }
	.ht-menu__list > li > a:hover { background: none; }
	.ht-menu__list .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: none; padding: 0 0 16px; min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; }
	.ht-menu__list .sub-menu a { padding: 8px 0; color: var(--ht-muted); }
	.ht-menu__list > .menu-item-has-children > a::after { display: none; }
}

/* Búsqueda desplegable de la cabecera */
.ht-search .wp-block-search__button { background: transparent; color: inherit; border: 0; width: 40px; height: 40px; padding: 0; border-radius: 999px; display: grid; place-items: center; }
.ht-search .wp-block-search__button:hover { background: color-mix(in oklab, currentColor 10%, transparent); }
.ht-search .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.ht-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.ht-search .wp-block-search__input { border: 0; border-radius: 999px; background: var(--ht-paper-2); color: var(--ht-ink); padding: 0 16px; height: 40px; font: inherit; }
.ht-search.wp-block-search__searchfield-hidden .wp-block-search__input { background: transparent; }

/* ---------- Hero ---------- */
.ht-hero { position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: end; min-height: clamp(560px, 88svh, 920px); color: var(--ht-on-photo); margin-top: 0 !important; }
.ht-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; z-index: -2; }
.ht-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 12, 10, .5) 0%, rgba(8, 12, 10, 0) 24%, rgba(8, 12, 10, 0) 38%, rgba(8, 12, 10, .74) 100%), linear-gradient(90deg, rgba(8, 12, 10, .35) 0%, rgba(8, 12, 10, 0) 60%); }
.ht-hero__inner { width: 100%; max-width: var(--ht-max); margin-inline: auto; padding: 0 var(--ht-gut) clamp(40px, 7vh, 84px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; }
.ht-hero__title { font-size: clamp(2.75rem, 7.6vw, 7.4rem); line-height: .9; letter-spacing: -.045em; font-weight: 700; font-variation-settings: "wdth" 80, "opsz" 96; color: inherit; margin: 0; }
.ht-ln { display: block; overflow: hidden; padding-bottom: .06em; }
.ht-ln > span { display: block; }
.ht-hero__title em { font-style: normal; color: var(--ht-accent); }
.ht-hero__text { font-family: var(--wp--preset--font-family--read); font-size: clamp(1.125rem, 1.6vw, 1.375rem); line-height: 1.45; max-width: 36ch; margin: 22px 0 0; color: rgba(244, 245, 241, .92); }
.ht-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ht-now { justify-self: end; text-align: right; font-size: .875rem; line-height: 1.35; color: rgba(244, 245, 241, .84); margin: 0; }
.ht-now b { display: block; font-size: 2.5rem; font-weight: 600; letter-spacing: -.03em; color: var(--ht-on-photo); font-variant-numeric: tabular-nums; font-variation-settings: "wdth" 80; }
@media (max-width: 720px) {
	.ht-hero { min-height: clamp(520px, 84svh, 760px); }
	.ht-hero__img { object-position: 62% 50%; }
	.ht-hero::after { background: linear-gradient(180deg, rgba(8, 12, 10, .5) 0%, rgba(8, 12, 10, .05) 22%, rgba(8, 12, 10, .45) 48%, rgba(8, 12, 10, .82) 100%); }
	.ht-hero__inner { grid-template-columns: 1fr; }
	.ht-now { justify-self: start; text-align: left; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; }
	.ht-now b { font-size: 1.375rem; display: inline; }
}
@media (max-width: 400px) { .ht-hero__title { font-size: 2.5rem; } }
@media (prefers-reduced-motion: no-preference) {
	.ht-hero__img { animation: ht-settle 2.2s var(--ht-ease) both; }
	.ht-hero .ht-ln > span { animation: ht-rise 1.1s var(--ht-ease) both; }
	.ht-hero .ht-ln:nth-child(2) > span { animation-delay: .12s; }
	.ht-hero .ht-ln:nth-child(3) > span { animation-delay: .24s; }
	.ht-hero__text, .ht-hero__ctas, .ht-now { animation: ht-fade 1s .55s var(--ht-ease) both; }
}
@keyframes ht-settle { from { transform: scale(1.12); } to { transform: scale(1); } }
@keyframes ht-rise { from { transform: translateY(105%); } to { transform: none; } }
@keyframes ht-fade { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ---------- Tarjetas ---------- */
.ht-card { display: block; text-decoration: none; color: inherit; }
.ht-card__ph { display: block; overflow: hidden; background: var(--ht-paper-2); aspect-ratio: 4 / 3; }
.ht-card__ph img, .ht-ph-empty { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ht-ease); }
.ht-card__cat { display: inline-block; margin-top: 16px; font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ht-accent-ink); text-decoration: none; }
.ht-card__title { font-size: clamp(1.375rem, 2vw, 1.75rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 650; margin: 6px 0 0; }
.ht-card__title span { background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .6s var(--ht-ease); }
.ht-card__excerpt { font-family: var(--wp--preset--font-family--read); font-size: 1.0625rem; color: var(--ht-muted); margin: 10px 0 0; max-width: 46ch; }
@media (hover: hover) {
	.ht-card:hover .ht-card__ph img { transform: scale(1.05); }
	.ht-card:hover .ht-card__title span { background-size: 100% 2px; }
}

/* Empieza por aquí: rejilla asimétrica */
.ht-ess__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); margin-top: 48px; }
.ht-ess__big { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.ht-ess__sm1 { grid-column: 8 / span 5; }
.ht-ess__sm2 { grid-column: 9 / span 4; }
.ht-ess__big .ht-card__ph { aspect-ratio: 4 / 4.3; }
.ht-ess__sm1 .ht-card__ph { aspect-ratio: 16 / 10; }
.ht-ess__big .ht-card__title { font-size: clamp(1.875rem, 3.4vw, 3rem); letter-spacing: -.035em; max-width: 16ch; font-variation-settings: "wdth" 85; }
@media (max-width: 860px) {
	.ht-ess__grid { grid-template-columns: 1fr; }
	.ht-ess__big, .ht-ess__sm1, .ht-ess__sm2 { grid-column: auto; grid-row: auto; }
}

/* Destinos: tira horizontal */
.ht-dest { padding-top: 0; }
.ht-dest__head { max-width: var(--ht-max); margin-inline: auto; padding-inline: var(--ht-gut); display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.ht-dest__ctrl { display: flex; gap: 8px; }
.ht-dest__strip { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(240px, 26vw, 360px); gap: clamp(14px, 1.6vw, 24px); overflow-x: auto; scroll-snap-type: x mandatory; padding: 40px max(var(--ht-gut), calc((100vw - var(--ht-max)) / 2 + var(--ht-gut))) 8px; scroll-padding-inline: max(var(--ht-gut), calc((100vw - var(--ht-max)) / 2 + var(--ht-gut))); scrollbar-width: none; }
.ht-dest__strip::-webkit-scrollbar { display: none; }
.ht-dest__card { scroll-snap-align: start; position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; color: var(--ht-on-photo); text-decoration: none; background: var(--ht-paper-2); }
.ht-dest__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ht-ease); }
.ht-dest__card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8, 12, 10, .8)); }
.ht-dest__txt { position: absolute; left: 20px; right: 20px; bottom: 18px; z-index: 1; }
.ht-dest__txt strong { display: block; font-size: 2.125rem; line-height: 1; letter-spacing: -.035em; font-weight: 700; font-variation-settings: "wdth" 80; }
.ht-dest__txt small { display: block; font-family: var(--wp--preset--font-family--read); font-size: 1rem; line-height: 1.35; margin-top: 6px; opacity: .9; transition: opacity .4s, transform .5s var(--ht-ease); }
@media (hover: hover) {
	.ht-dest__txt small { opacity: 0; transform: translateY(8px); }
	.ht-dest__card:hover img { transform: scale(1.06); }
	.ht-dest__card:hover small, .ht-dest__card:focus-visible small { opacity: .9; transform: none; }
}
@media (max-width: 640px) { .ht-dest__strip { grid-auto-columns: 78vw; } .ht-dest__ctrl { display: none; } }

/* ¿Cuándo vas? */
.ht-plan { background: var(--ht-paper-2); }
.ht-plan__grid { max-width: var(--ht-max); margin-inline: auto; padding-inline: var(--ht-gut); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.ht-plan__months { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 36px; max-width: 440px; }
.ht-plan__months button { height: 44px; border-radius: 999px; border: 0; background: transparent; box-shadow: inset 0 0 0 1.5px var(--ht-line); color: var(--ht-ink); font: 600 .875rem/1 var(--wp--preset--font-family--display); cursor: pointer; transition: background-color .2s, color .2s, box-shadow .2s, transform .15s; }
.ht-plan__months button:hover { box-shadow: inset 0 0 0 1.5px var(--ht-ink); }
.ht-plan__months button:active { transform: scale(.95); }
.ht-plan__months button[aria-pressed="true"] { background: var(--ht-ink); color: var(--ht-paper); box-shadow: none; }
.ht-region { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 24px; padding: 24px 0; border-top: 1px solid var(--ht-line); }
.ht-region:last-child { border-bottom: 1px solid var(--ht-line); }
.ht-region h3 { font-size: 1.5rem; letter-spacing: -.025em; font-weight: 650; margin: 0; }
.ht-region__where { font-size: .875rem; color: var(--ht-muted); grid-column: 1; }
.ht-region p { grid-column: 1 / -1; font-family: var(--wp--preset--font-family--read); font-size: 1.0625rem; color: var(--ht-ink-2); margin: 6px 0 0; max-width: 58ch; transition: opacity .35s var(--ht-ease); }
.ht-plan__regions.is-swapping p { opacity: .25; }
.ht-pill { grid-column: 2; grid-row: 1 / span 2; align-self: center; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .9375rem; padding: 8px 14px; border-radius: 999px; white-space: nowrap; }
.ht-pill i { width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
.ht-pill--good { color: var(--ht-good); background: color-mix(in oklab, var(--ht-good) 13%, transparent); }
.ht-pill--fair { color: var(--ht-fair); background: color-mix(in oklab, var(--ht-fair) 15%, transparent); }
.ht-pill--fair i { background: linear-gradient(90deg, currentColor 50%, transparent 50%); box-shadow: inset 0 0 0 1.5px currentColor; }
.ht-pill--bad { color: var(--ht-bad); background: color-mix(in oklab, var(--ht-bad) 13%, transparent); }
.ht-pill--bad i { background: transparent; box-shadow: inset 0 0 0 2px currentColor; }
@media (max-width: 860px) { .ht-plan__grid { grid-template-columns: 1fr; } .ht-plan__months { grid-template-columns: repeat(4, 1fr); max-width: none; } }

/* Lo último */
.ht-latest { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 6vw, 96px); }
.ht-latest__side { position: sticky; top: calc(var(--ht-hdr-h) + 24px); align-self: start; }
.ht-rows { list-style: none; margin: 0; padding: 0; }
.ht-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: 24px; align-items: center; padding: 26px 0; border-top: 1px solid var(--ht-line); text-decoration: none; color: inherit; }
.ht-rows li:last-child .ht-row { border-bottom: 1px solid var(--ht-line); }
.ht-row__meta { display: flex; gap: 10px; flex-wrap: wrap; font-size: .875rem; color: var(--ht-muted); margin-bottom: 6px; }
.ht-row__meta b { color: var(--ht-accent-ink); font-weight: 600; }
.ht-row__title { font-size: clamp(1.375rem, 2.3vw, 2rem); line-height: 1.08; letter-spacing: -.03em; font-weight: 650; margin: 0; transition: transform .5s var(--ht-ease); }
.ht-row__th { aspect-ratio: 4 / 3; overflow: hidden; background: var(--ht-paper-2); }
.ht-row__th img, .ht-row__th .ht-ph-empty { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); transition: transform .8s var(--ht-ease), filter .5s; }
@media (hover: hover) {
	.ht-row:hover .ht-row__title { transform: translateX(10px); }
	.ht-row:hover .ht-row__th img { transform: scale(1.08); filter: none; }
}
@media (max-width: 860px) { .ht-latest { grid-template-columns: 1fr; } .ht-latest__side { position: static; } .ht-row { grid-template-columns: minmax(0, 1fr) 96px; gap: 16px; } }

/* Newsletter (formulario del plugin Newsletter) */
.ht-news { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 6vw, 96px); align-items: end; padding-block: clamp(56px, 8vw, 112px); border-top: 1px solid var(--ht-line); }
.ht-news .ht-h2 { max-width: 14ch; }
.ht-news__label { font-weight: 600; font-size: .9375rem; margin: 0 0 8px; }
.ht-news .tnp-subscription-minimal { margin: 0; padding: 0; background: none; }
.ht-news .tnp-subscription-minimal form { display: flex; flex-wrap: wrap; gap: 8px; text-align: left !important; }
.ht-news .tnp-subscription-minimal input.tnp-email { flex: 1 1 220px; width: auto; height: 50px; margin: 0; border-radius: 999px; border: 0; box-shadow: inset 0 0 0 1.5px var(--ht-line); background: var(--ht-paper); color: var(--ht-ink); padding: 0 20px; font: 1rem var(--wp--preset--font-family--display); }
.ht-news .tnp-subscription-minimal input.tnp-email::placeholder { color: var(--ht-muted); }
.ht-news .tnp-subscription-minimal input.tnp-email:focus { outline: none; box-shadow: inset 0 0 0 2px var(--ht-accent); }
.ht-news .tnp-subscription-minimal .tnp-submit { width: auto; height: 50px; margin: 0; padding: 0 24px; border: 0; border-radius: 999px; background: var(--ht-accent) !important; color: var(--ht-on-accent) !important; font: 600 1rem var(--wp--preset--font-family--display); cursor: pointer; }
.ht-news .tnp-privacy-field { flex-basis: 100%; font-size: .875rem; color: var(--ht-muted); }
.ht-news__note { color: var(--ht-muted); font-size: .875rem; margin: 10px 0 0; }
@media (max-width: 860px) { .ht-news { grid-template-columns: 1fr; } }

/* ---------- Pie ---------- */
.ht-foot { background: var(--ht-ink); color: var(--ht-paper); padding-block: 64px calc(40px + env(safe-area-inset-bottom, 0px)); }
.ht-foot__inner { max-width: var(--ht-max); margin-inline: auto; padding-inline: var(--ht-gut); }
.ht-foot__word { font-size: clamp(3.5rem, 11vw, 10.5rem); line-height: .85; letter-spacing: -.06em; font-weight: 800; font-variation-settings: "wdth" 75; margin: 0 0 32px; }
.ht-foot__cols { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 40px; }
.ht-foot__intro { font-family: var(--wp--preset--font-family--read); font-size: 1.0625rem; opacity: .8; max-width: 36ch; margin: 0; }
.ht-foot__h { color: inherit; margin: 0 0 12px; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; opacity: .6; font-weight: 600; }
.ht-foot__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ht-foot a { color: inherit; text-decoration: none; opacity: .85; }
.ht-foot a:hover { opacity: 1; text-decoration: underline; }
@media (max-width: 720px) { .ht-foot__cols { grid-template-columns: 1fr 1fr; } .ht-foot__intro { grid-column: 1 / -1; } }

/* ---------- Artículo ---------- */
.ht-progress { position: fixed; top: env(safe-area-inset-top, 0px); left: 0; right: 0; height: 3px; z-index: 70; background: var(--ht-accent); transform-origin: 0 50%; transform: scaleX(0); pointer-events: none; }
@supports (animation-timeline: scroll()) {
	@media (prefers-reduced-motion: no-preference) {
		.ht-progress { animation: ht-grow linear both; animation-timeline: scroll(root); }
	}
}
@keyframes ht-grow { to { transform: scaleX(1); } }

.ht-art-head { max-width: var(--ht-max); padding-top: clamp(40px, 6vw, 80px); padding-bottom: 40px; }
.ht-crumbs { font-size: .875rem; color: var(--ht-muted); }
.ht-crumbs a { color: inherit; text-decoration: none; }
.ht-crumbs a:hover { color: var(--ht-ink); }
.ht-crumbs .separator { margin: 0 6px; opacity: .6; }
.ht-art-head__title { font-size: clamp(2.5rem, 6.8vw, 6.5rem); line-height: .94; letter-spacing: -.045em; font-weight: 700; font-variation-settings: "wdth" 80, "opsz" 96; margin: 22px 0 0; max-width: 16ch; }
.ht-art-head__dek { font-family: var(--wp--preset--font-family--read); font-size: clamp(1.1875rem, 1.8vw, 1.5rem); line-height: 1.45; color: var(--ht-ink-2); max-width: 44ch; margin: 24px 0 0; }
.ht-byline { display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 28px 0 0; font-size: .9375rem; color: var(--ht-muted); }
.ht-byline b { color: var(--ht-ink); font-weight: 600; }
.ht-art-fig { margin-bottom: 56px !important; }
.ht-art-fig img { width: 100%; aspect-ratio: 16 / 8.2; object-fit: cover; }
@media (max-width: 640px) { .ht-art-fig img { aspect-ratio: 4 / 3.2; } }

/* Contenido del artículo: sirve para HTML clásico y para bloques */
.ht-prose { color: var(--ht-ink-2); overflow-wrap: break-word; }
.ht-prose > * + * { margin-block-start: 1.1em; }
.ht-prose p { margin: 0; }
.ht-prose :where(h2, h3, h4) { font-family: var(--wp--preset--font-family--display); color: var(--ht-ink); scroll-margin-top: calc(var(--ht-hdr-h) + 24px); font-variation-settings: "wdth" 85; }
.ht-prose h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.03em; margin-block: 2.2em 0; }
.ht-prose h3 { font-size: 1.375rem; letter-spacing: -.02em; margin-block: 1.6em 0; }
.ht-prose h4 { font-size: 1.125rem; margin-block: 1.4em 0; }
.ht-prose h2 + *, .ht-prose h3 + *, .ht-prose h4 + * { margin-block-start: .6em; }
/* El contenido antiguo trae estilos en línea (Alata, tamaños, colores): se neutralizan */
.ht-prose :where(span, font)[style] { font-family: inherit !important; font-size: inherit !important; }
.ht-prose :where(h1, h2, h3, h4, p, li) [style*="color"] { color: inherit !important; }
.ht-prose h1 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.03em; margin-block: 2em 0; }
.ht-prose a { color: var(--ht-ink); text-decoration-color: var(--ht-accent); text-decoration-thickness: 2px; }
.ht-prose a:hover { color: var(--ht-accent-ink); }
.ht-prose strong, .ht-prose b { color: var(--ht-ink); font-weight: 600; }
.ht-prose :where(ul, ol) { padding-left: 1.3em; }
.ht-prose li + li { margin-top: .4em; }
.ht-prose li::marker { color: var(--ht-accent-ink); }
.ht-prose img { height: auto; }
.ht-prose :where(figure, .wp-caption) { margin-inline: 0; max-width: 100%; }
.ht-prose :where(.wp-caption-text, figcaption) { font-family: var(--wp--preset--font-family--display); font-size: .875rem; color: var(--ht-muted); margin-top: 10px; }
.ht-prose blockquote { margin-inline: 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--ht-accent); font-style: italic; color: var(--ht-ink); }
.ht-prose table { width: 100%; border-collapse: collapse; font-family: var(--wp--preset--font-family--display); font-size: 1rem; display: block; overflow-x: auto; }
.ht-prose :where(th, td) { text-align: left; padding: 12px 12px 12px 0; border-bottom: 1px solid var(--ht-line); vertical-align: top; }
.ht-prose th { font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ht-muted); font-weight: 600; }
.ht-prose hr { border: 0; border-top: 1px solid var(--ht-line); }
.ht-prose iframe { max-width: 100%; }
.ht-prose > .alignwide { max-width: min(100%, 1100px); }
@media (max-width: 640px) { .ht-prose { font-size: 1.15625rem; } }

/* Easy Table of Contents */
.ht-prose #ez-toc-container, .ht-prose .ez-toc-container { background: var(--ht-paper-2) !important; border: 0 !important; border-radius: 0; box-shadow: none !important; padding: 20px 24px !important; width: 100% !important; font-family: var(--wp--preset--font-family--display); font-size: 1rem; }
.ht-prose #ez-toc-container .ez-toc-title { font-size: .8125rem !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ht-muted) !important; font-weight: 600; }
.ht-prose #ez-toc-container a { color: var(--ht-ink) !important; text-decoration: none; }
.ht-prose #ez-toc-container a:hover { color: var(--ht-accent-ink) !important; }
.ht-prose #ez-toc-container ul { padding-left: 0; }
.ht-prose #ez-toc-container li::marker { color: transparent; }
.ht-prose #ez-toc-container .ez-toc-title-toggle a, .ht-prose #ez-toc-container .ez-toc-btn { color: var(--ht-muted) !important; background: none !important; border: 0 !important; }

/* kk Star Ratings y botones de compartir */
.ht-prose .kk-star-ratings { font-family: var(--wp--preset--font-family--display); font-size: .9375rem; color: var(--ht-muted); margin-block: 2em 0; }
.ht-prose :where(.mowomo-social-share, [class*="mowomo"]) a { text-decoration: none; }

/* Contact Form 7 */
.ht-prose .wpcf7 { font-family: var(--wp--preset--font-family--display); font-size: 1rem; }
.ht-prose .wpcf7 label { display: grid; gap: 8px; font-weight: 600; }
.ht-prose .wpcf7 :where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea, select) { width: 100%; border: 0; border-radius: 14px; box-shadow: inset 0 0 0 1.5px var(--ht-line); background: var(--ht-paper); color: var(--ht-ink); padding: 14px 16px; font: inherit; font-weight: 400; }
.ht-prose .wpcf7 :where(input, textarea, select):focus { outline: none; box-shadow: inset 0 0 0 2px var(--ht-accent); }
.ht-prose .wpcf7 input[type="submit"] { height: 50px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--ht-accent); color: var(--ht-on-accent); font: 600 1rem var(--wp--preset--font-family--display); cursor: pointer; }
.ht-prose .wpcf7-not-valid-tip { color: var(--ht-bad); font-size: .875rem; }

/* Páginas hechas con Divi: el constructor pone su propio ancho */
.ht-prose:has(#et-boc) { max-width: none; font-family: var(--wp--preset--font-family--display); font-size: 1rem; }
.ht-prose:has(#et-boc) > * { max-width: none !important; }

/* Anuncios automáticos de AdSense: no pueden romper el ancho de lectura */
.ht-prose .google-auto-placed, .ht-prose ins.adsbygoogle { max-width: 100%; margin-block: 2em !important; }

/* Sigue leyendo */
.ht-more { border-top: 1px solid var(--ht-line); padding-top: clamp(64px, 8vw, 112px); }
.ht-more__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto; gap: clamp(20px, 2.4vw, 36px); margin-top: 40px; }
.ht-more__big { grid-row: 1 / span 2; }
.ht-more__big .ht-card__ph { aspect-ratio: 16 / 10.5; }
.ht-more__sm .ht-card__ph { aspect-ratio: 16 / 9; }
@media (max-width: 860px) { .ht-more__grid { grid-template-columns: 1fr; } .ht-more__big { grid-row: auto; } }

/* ---------- Archivo, búsqueda, 404 ---------- */
.ht-archive__head { padding-top: clamp(40px, 6vw, 80px); padding-bottom: 32px; }
.ht-archive__title { font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: .95; letter-spacing: -.045em; font-weight: 700; font-variation-settings: "wdth" 80; margin: 0; }
.ht-archive__desc { font-family: var(--wp--preset--font-family--read); font-size: 1.1875rem; color: var(--ht-muted); max-width: 60ch; margin-top: 16px; }
.ht-list__grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px clamp(20px, 2.4vw, 36px); }
.ht-list__grid > li:first-child { grid-column: span 2; grid-row: span 2; }
.ht-list__grid > li:first-child .ht-list__title { font-size: clamp(1.875rem, 3vw, 2.75rem); }
.ht-list__ph { margin: 0; overflow: hidden; background: var(--ht-paper-2); }
.ht-list__ph img { transition: transform 1s var(--ht-ease); }
.ht-list__card:hover .ht-list__ph img { transform: scale(1.05); }
.ht-list__cat { margin-top: 16px; font-size: .8125rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.ht-list__cat a { color: var(--ht-accent-ink); text-decoration: none; }
.ht-list__title { font-size: clamp(1.25rem, 1.8vw, 1.625rem); line-height: 1.1; letter-spacing: -.025em; font-weight: 650; margin-top: 6px; }
.ht-list__title a { text-decoration: none; }
.ht-pager { margin-top: 64px; font-weight: 600; }
.ht-pager a { text-decoration: none; }
.ht-pager .page-numbers { padding: 8px 12px; border-radius: 999px; }
.ht-pager .page-numbers.current { background: var(--ht-ink); color: var(--ht-paper); }
.ht-search-big { margin-top: 24px; max-width: 560px; }
.ht-search-big .wp-block-search__input, .ht-list .wp-block-search__input { border-radius: 999px; border: 0; box-shadow: inset 0 0 0 1.5px var(--ht-line); background: var(--ht-paper); color: var(--ht-ink); padding: 0 20px; height: 50px; font: inherit; }
.ht-search-big .wp-block-search__button, .ht-list .wp-block-search__button { border-radius: 999px; border: 0; background: var(--ht-accent); color: var(--ht-on-accent); padding: 0 24px; height: 50px; font-weight: 600; }
.ht-404 { padding-top: calc(var(--ht-hdr-h) + clamp(48px, 8vw, 120px)); }
@media (max-width: 860px) { .ht-list__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ht-list__grid { grid-template-columns: 1fr; } .ht-list__grid > li:first-child { grid-column: auto; grid-row: auto; } }

/* ---------- Movimiento al hacer scroll: solo dos momentos en la portada ---------- */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.ht-reveal { animation: ht-reveal linear both; animation-timeline: view(); animation-range: entry 5% entry 55%; }
		.ht-reveal .ht-card__ph img { animation: ht-unzoom linear both; animation-timeline: view(); animation-range: entry 0% cover 50%; }
	}
}
@keyframes ht-reveal { from { opacity: .001; transform: translateY(48px); } to { opacity: 1; transform: none; } }
@keyframes ht-unzoom { from { transform: scale(1.18); } to { transform: scale(1); } }

/* ---------- Transiciones entre páginas (navegadores que las soportan) ---------- */
@media (prefers-reduced-motion: no-preference) {
	@view-transition { navigation: auto; }
	::view-transition-old(root), ::view-transition-new(root) { animation-duration: .45s; animation-timing-function: var(--ht-ease); }
	::view-transition-group(*) { animation-duration: .6s; animation-timing-function: var(--ht-ease); }
}
