/* Rediseño 2026-11. Se carga después de main.css y manda sobre él. */

:root {
	--ink: #1b2a12;
	--verde: #2d5016;
	--verde-claro: #e9eee2;
	--ambar: #f5a623;
	--papel: #fff;
	--papel-2: #f4f6f0;
	--gris: #55604c;
	--margen: clamp(16px, 3vw, 32px);
	--seccion: clamp(64px, 11vw, 160px);
	--display: 'Montserrat', system-ui, sans-serif;
	--texto: 'Open Sans', system-ui, sans-serif;
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { background: var(--papel); color: var(--ink); font-family: var(--texto); font-size: 17px; line-height: 1.6; }
h1, h2, h3, h4 { font-family: var(--display); color: var(--ink); letter-spacing: -0.02em; line-height: 1.1; font-weight: 700; }
a { color: var(--verde); }
img { max-width: 100%; height: auto; }

.lt-ancho { width: 100%; max-width: 1360px; margin-inline: auto; padding-inline: var(--margen); }
.lt-saltar { position: absolute; left: -999px; top: 8px; background: var(--ink); color: #fff; padding: 8px 16px; z-index: 300; }
.lt-saltar:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--ambar); outline-offset: 2px; }

.lt-boton {
	display: inline-block; background: var(--ambar); color: var(--ink) !important; font-family: var(--display);
	font-weight: 700; font-size: 16px; line-height: 1.2; padding: 15px 24px; border-radius: 0; text-decoration: none;
	transition: transform .18s ease, background-color .18s ease;
}
.lt-boton:hover { background: #ffb739; transform: translateY(-2px); }
.lt-boton:active { transform: translateY(0); }

/* ---- Cabecera ---- */
.site-header { position: sticky; top: 0; z-index: 100; background: var(--papel); border: 0; box-shadow: none; padding: 0; }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 72px; padding-block: 0; gap: 24px; }
.site-logo { display: block; flex: none; }
.site-logo img { display: block; width: auto; height: 50px; max-height: none; }
.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav ul { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0; }
.main-nav ul a { color: var(--ink); font-family: var(--display); font-weight: 600; font-size: 15px; text-decoration: none; padding: 8px 0; background: none; }
.main-nav ul a:hover, .main-nav ul a[aria-current] { color: var(--verde); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.main-nav .lt-boton { padding: 11px 16px; font-size: 15px; white-space: nowrap; border-radius: 0; }
.nav-toggle { display: none; background: none; border: 0; padding: 12px 8px; cursor: pointer; }
.nav-toggle span { display: block; width: 26px; height: 3px; margin: 5px 0; background: var(--ink); transition: transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

@media (max-width: 1023px) {
	.nav-toggle { display: block; }
	.site-logo img { height: 44px; }
	.header-inner { height: 64px; }
	.main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--papel); padding: 8px var(--margen) 24px; flex-direction: column; align-items: stretch; gap: 16px; box-shadow: 0 16px 24px rgba(0,0,0,.14); }
	.main-nav.active, .main-nav.open, .nav-toggle[aria-expanded="true"] + .main-nav { display: flex; }
	.main-nav ul { flex-direction: column; gap: 0; }
	.main-nav ul a { display: block; padding: 14px 0; font-size: 18px; }
	.main-nav .lt-boton { text-align: center; padding: 15px 24px; font-size: 16px; }
}

/* ---- Portada ---- */
.lt-portada { position: relative; height: calc(100svh - 72px); min-height: 520px; max-height: 1000px; overflow: hidden; background: var(--verde); }
.lt-portada picture img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; display: block; animation: lt-deriva 16s ease-out both; }
@keyframes lt-deriva { from { transform: scale(1.06); } to { transform: scale(1); } }
.lt-portada::after { content: ''; position: absolute; inset: 42% 0 0; background: linear-gradient(to top, rgba(10,16,6,.78), rgba(10,16,6,.45) 55%, rgba(10,16,6,0)); pointer-events: none; }
.lt-portada-texto { position: absolute; left: 0; right: 0; bottom: clamp(20px, 5vh, 56px); z-index: 2; color: #fff; }
.lt-portada-texto h1 { color: #fff; font-size: clamp(44px, 9.2vw, 136px); letter-spacing: -0.04em; line-height: .98; margin: 0 0 16px; }
.lt-portada-texto p { color: #fff; max-width: 42em; font-size: clamp(17px, 1.5vw, 20px); margin: 0 0 22px; }
.lt-banda-credito { position: absolute; right: 0; bottom: 0; z-index: 3; font-size: 13px; line-height: 1.2; }
.lt-banda-credito a { color: #fff; background: rgba(10,16,6,.62); padding: 1px 6px; text-decoration: none; font: 400 13px/1.3 var(--texto); }
.lt-banda-credito a:hover { text-decoration: underline; }

.lt-entrada { padding-block: var(--seccion) calc(var(--seccion) * .7); display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 6vw, 96px); align-items: end; }
.lt-frase { font-family: var(--display); font-weight: 600; font-size: clamp(23px, 2.5vw, 36px); line-height: 1.25; letter-spacing: -0.015em; margin: 0; color: var(--ink); }
.lt-frase--corta { max-width: 34em; font-size: clamp(20px, 2vw, 26px); padding-block: 8px 32px; }
.lt-datos { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.lt-datos li { font-size: 17px; line-height: 1.35; }
.lt-datos strong { display: block; font-family: var(--display); font-size: clamp(22px, 2vw, 28px); color: var(--verde); letter-spacing: -0.02em; }

.lt-foto { margin: 0; position: relative; }
.lt-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lt-foto figcaption { position: absolute; right: 0; bottom: 0; font-size: 13px; line-height: 1.2; }
.lt-foto figcaption a { color: #fff; background: rgba(10,16,6,.62); padding: 1px 6px; text-decoration: none; font: 400 13px/1.3 var(--texto); }
.lt-foto figcaption a:hover { text-decoration: underline; }

/* ---- Elige tu paseo ---- */
.lt-paseo { background: var(--verde); color: #fff; }
.lt-paseo-rejilla { display: grid; grid-template-columns: 1fr 1fr; padding-inline: 0; max-width: none; }
.lt-paseo-fotos { position: relative; min-height: 660px; background: var(--ink); }
.lt-paseo-foto { position: absolute; inset: 0; opacity: 0; transition: opacity .6s ease; }
.lt-paseo-foto:first-child, .lt-paseo-foto.activo { opacity: 1; }
.lt-paseo--activo .lt-paseo-foto:first-child:not(.activo) { opacity: 0; }
.lt-paseo-foto .lt-foto { height: 100%; }
.lt-paseo-texto { padding: clamp(40px, 6vw, 96px) var(--margen); max-width: 720px; }
.lt-paseo h2 { color: #fff; font-size: clamp(32px, 4.2vw, 60px); margin: 0 0 28px; }
.lt-paseo-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.lt-paseo-tabs[hidden] { display: none; }
.lt-paseo-tabs button { font: 600 16px var(--display); background: rgba(255,255,255,.14); color: #fff; border: 0; padding: 12px 16px; cursor: pointer; min-height: 48px; transition: background-color .18s ease, transform .18s ease; }
.lt-paseo-tabs button:hover { background: rgba(255,255,255,.26); transform: translateY(-1px); }
.lt-paseo-tabs button[aria-selected="true"] { background: #fff; color: var(--verde); }
.lt-paseo-panel { margin-bottom: 20px; }
.lt-paseo-panel[hidden] { display: none; }
.lt-paseo-panel h3 { color: #fff; font-size: 20px; margin: 0 0 4px; }
.lt-paseo--activo .lt-paseo-panel h3 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.lt-paseo-precio { font-family: var(--display); font-weight: 700; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 12px; color: #fff; }
.lt-paseo p { color: #fff; }
.lt-paseo-hora { background: rgba(0,0,0,.22); padding: 14px 16px; margin: 0 0 16px; }
.lt-nota { font-size: 15px; line-height: 1.45; margin: 0 0 24px; }

/* ---- Lo que vas a ver ---- */
.lt-veras { padding-block: var(--seccion) 0; }
.lt-veras > .lt-ancho > h2 { font-size: clamp(32px, 4.8vw, 72px); margin: 0 0 clamp(32px, 5vw, 72px); max-width: 16em; }
.lt-fila { display: grid; grid-template-columns: 7fr 4fr; gap: clamp(24px, 5vw, 80px); align-items: end; margin-bottom: clamp(48px, 7vw, 110px); }
.lt-fila--invertida { grid-template-columns: 4fr 7fr; }
.lt-fila--invertida .lt-fila-foto { order: 2; }
.lt-fila-foto .lt-foto { aspect-ratio: 16 / 10; overflow: hidden; }
.lt-fila--invertida .lt-fila-foto .lt-foto { aspect-ratio: 16 / 11; }
.lt-fila-foto img { transition: transform .7s ease; }
.lt-fila:hover .lt-fila-foto img { transform: scale(1.025); }
.lt-fila h3 { font-size: clamp(24px, 2.6vw, 36px); margin: 0 0 12px; }
.lt-fila p { margin: 0 0 14px; }
.lt-fila-texto a, .lt-enlace { font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--verde); text-underline-offset: 4px; text-decoration-thickness: 2px; }

/* ---- Destinos ---- */
.lt-destinos { background: var(--papel-2); padding-block: var(--seccion); }
.lt-destinos-rejilla { display: grid; grid-template-columns: 6fr 5fr; gap: clamp(28px, 6vw, 96px); align-items: start; }
.lt-destinos-foto { position: sticky; top: 96px; aspect-ratio: 4 / 3.4; overflow: hidden; background: var(--verde-claro); }
.lt-destinos-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .55s ease; }
.lt-destinos-foto img.activo { opacity: 1; }
.lt-destinos h2 { font-size: clamp(32px, 4.2vw, 60px); margin: 0 0 28px; }
.lt-destinos ul { list-style: none; margin: 0; padding: 0; }
.lt-destinos li { padding: 14px 0 14px 18px; border-left: 4px solid transparent; transition: border-color .2s ease; }
.lt-destinos li.activo { border-left-color: var(--ambar); }
.lt-destinos li a { font-family: var(--display); font-weight: 700; font-size: clamp(24px, 2.4vw, 32px); letter-spacing: -0.02em; color: var(--ink); text-decoration: none; line-height: 1.15; display: inline-block; }
.lt-destinos li a:hover { color: var(--verde); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.lt-destinos li p { margin: 4px 0 0; }

/* ---- Comer y dormir ---- */
.lt-servicios { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); padding-block: var(--seccion); }
.lt-servicios h2 { font-size: clamp(30px, 3.6vw, 52px); margin: 0 0 20px; }
.lt-negocios { list-style: none; margin: 0 0 20px; padding: 0; }
.lt-negocios li { padding: 11px 0; background: none; }
.lt-negocios a { display: block; font-weight: 600; font-size: 18px; color: var(--ink); text-decoration: none; line-height: 1.3; }
.lt-negocios a:hover { color: var(--verde); text-decoration: underline; }
.lt-negocios span { display: block; font-size: 15px; color: var(--gris); }

/* ---- Preguntas ---- */
.lt-preguntas { background: var(--verde-claro); }
.lt-preguntas-rejilla { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 6vw, 96px); padding-inline: 0 var(--margen); max-width: none; }
.lt-preguntas-foto .lt-foto { height: 100%; min-height: 560px; }
.lt-preguntas-rejilla > div:last-child { padding-block: clamp(48px, 7vw, 110px); max-width: 760px; }
.lt-preguntas h2 { font-size: clamp(32px, 4.2vw, 60px); margin: 0 0 24px; }
.lt-preguntas details { padding: 14px 0; }
.lt-preguntas summary { font-family: var(--display); font-weight: 700; font-size: clamp(18px, 1.7vw, 22px); cursor: pointer; list-style-position: outside; line-height: 1.25; padding-block: 4px; }
.lt-preguntas summary:hover { color: var(--verde); }
.lt-preguntas details p { margin: 10px 0 0; max-width: 65ch; }

/* ---- Interiores ---- */
.lt-banda { position: relative; height: clamp(240px, 40vh, 440px); background: var(--verde); overflow: hidden; }
.lt-banda > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; display: block; }
.lt-banda::after { content: ''; position: absolute; inset: 25% 0 0; background: linear-gradient(to top, rgba(10,16,6,.82), rgba(10,16,6,0)); }
.lt-banda-texto { position: absolute; left: 0; right: 0; bottom: clamp(16px, 3vw, 36px); z-index: 2; }
.lt-banda h1 { color: #fff; font-size: clamp(30px, 4.6vw, 64px); margin: 0; max-width: 21em; letter-spacing: -0.03em; }
.lt-migas { font-size: 15px; padding-block: 16px; color: var(--gris); }
.lt-migas a { color: var(--verde); }

.lt-lectura { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(32px, 5vw, 80px); align-items: start; padding-bottom: var(--seccion); }
.lt-directorio { padding-bottom: var(--seccion); }
.page-wrapper { padding: 0; background: none; }
.lt-lectura .page-content, .lt-directorio .page-content { background: none; box-shadow: none; border: 0; padding: 0; border-radius: 0; min-width: 0; }
.lt-lectura .page-content { max-width: 760px; }
.page-content > h1:first-child { display: none; }
.page-content p, .page-content li { font-size: 17.5px; line-height: 1.62; color: var(--ink); }
.page-content h2 { font-size: clamp(26px, 2.8vw, 38px); margin: 1.9em 0 .55em; color: var(--ink); border: 0; padding: 0; }
.page-content h3 { font-size: clamp(20px, 1.9vw, 24px); margin: 1.5em 0 .4em; color: var(--ink); }
.page-content a { color: var(--verde); text-underline-offset: 3px; }
.page-content img { height: auto; }

.page-content table, .tabla-precios { width: 100%; border-collapse: collapse; font-size: 16px; margin: 20px 0 24px; display: block; overflow-x: auto; background: none; box-shadow: none; }
.page-content th { background: var(--verde); color: #fff; font-family: var(--display); font-size: 15px; text-align: left; padding: 11px 12px; border: 0; }
.page-content td { padding: 11px 12px; border: 0; border-bottom: 1px solid #d9dfd1; vertical-align: top; font-size: 16px; background: none; }
.page-content tbody tr:nth-child(even) td { background: var(--papel-2); }

.lt-indice { background: var(--papel-2); padding: 16px 20px; margin: 24px 0; }
.lt-indice summary { font-family: var(--display); font-weight: 700; font-size: 18px; cursor: pointer; }
.lt-indice ol { margin: 10px 0 0; padding-left: 20px; }
.lt-indice li { font-size: 16px; line-height: 1.35; padding: 5px 0; }
.lt-indice a { text-decoration: none; }
.lt-indice a:hover { text-decoration: underline; }

.lt-lateral { position: sticky; top: 92px; display: grid; gap: 28px; align-self: start; max-height: calc(100vh - 110px); overflow: auto; }
.lt-lateral h2 { font-size: 20px; margin: 0 0 10px; }
.lt-lateral ul { list-style: none; margin: 0; padding: 0; }
.lt-lateral li { padding: 6px 0; font-size: 16px; line-height: 1.3; }
.lt-lateral a { text-decoration: none; color: var(--ink); }
.lt-lateral a:hover { color: var(--verde); text-decoration: underline; }
.lt-lateral a[aria-current] { font-weight: 700; color: var(--verde); }

.lt-sigue { background: var(--verde-claro); padding: clamp(20px, 3vw, 32px); margin-top: 48px; }
.lt-sigue h2 { font-size: clamp(22px, 2vw, 28px); margin: 0 0 14px; }
.lt-sigue ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 6px 28px; }
.lt-sigue li { font-size: 17px; line-height: 1.35; padding: 5px 0; }
.lt-sigue li::before { content: none; }
.lt-sigue a { font-weight: 600; }

.single-post-meta { font-size: 15px; color: var(--gris); margin: 0 0 12px; }
.single-post-image img { width: 100%; height: auto; margin-bottom: 20px; }

/* ---- Publicidad: alturas reservadas para que no salte el contenido ---- */
.lt-zona { display: block; margin: 32px auto; max-width: 100%; text-align: center; contain: layout; }
.lt-zona small { display: block; font-size: 13px; color: var(--gris); margin-bottom: 4px; line-height: 1.2; }
.lt-zona .adsbygoogle { min-height: inherit; }
.lt-zona--articulo_1, .lt-zona--articulo_2, .lt-zona--fin { min-height: 300px; }
.lt-zona--portada_1, .lt-zona--portada_2, .lt-zona--lista_1, .lt-zona--lista_2 { min-height: 300px; margin-block: clamp(32px, 5vw, 64px); padding-inline: var(--margen); max-width: 1000px; }
.lt-zona--lateral { min-height: 620px; margin: 0; width: 300px; }
.lt-zona--previa { background: repeating-linear-gradient(135deg, #fff5df 0 12px, #fdebc8 12px 24px); outline: 2px dashed var(--ambar); outline-offset: -2px; display: flex; align-items: center; justify-content: center; padding: 16px; }
.lt-zona--previa span { font: 600 15px/1.3 var(--display); color: var(--ink); }
@media (min-width: 768px) {
	.lt-zona--portada_1, .lt-zona--portada_2, .lt-zona--lista_1, .lt-zona--lista_2 { min-height: 280px; }
	.lt-zona--articulo_1, .lt-zona--articulo_2, .lt-zona--fin { min-height: 280px; }
}

/* ---- Pie ---- */
.site-footer { background: var(--verde); color: #fff; padding-block: clamp(56px, 8vw, 110px) 32px; margin: 0; }
.lt-pie-logo { display: block; max-width: min(100%, 760px); margin-bottom: 24px; }
.lt-pie-logo img { display: block; width: 100%; height: auto; }
.lt-pie-lema { color: #fff; max-width: 44em; font-size: 18px; margin: 0 0 48px; }
.lt-pie-columnas { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 28px 32px; margin-bottom: 44px; }
.lt-pie-columnas h2 { color: #fff; font-size: 18px; margin: 0 0 10px; letter-spacing: -0.01em; }
.lt-pie-columnas ul { list-style: none; margin: 0; padding: 0; }
.lt-pie-columnas li { padding: 4px 0; font-size: 15px; line-height: 1.3; }
.lt-pie-columnas a, .lt-pie-legal a { color: #fff; }
.lt-pie-columnas a { text-decoration: none; }
.lt-pie-columnas a:hover { text-decoration: underline; }
.lt-pie-legal { color: #e4ebdb; font-size: 14px; margin: 0; }

/* ---- Directorios existentes: se alinean a la marca ---- */
.rest-detail-icon, .feature-icon { display: none; }
.rest-card, .hotel-card, .blog-card { border-radius: 0; box-shadow: none; border: 0; background: var(--papel-2); }
.rest-card:hover, .hotel-card:hover, .blog-card:hover { box-shadow: none; transform: none; background: var(--verde-claro); }
.rest-btn, .rest-filter-btn, .hotel-filter-btn, .rest-ver-todos-btn, .rest-cta-btn { border-radius: 0; box-shadow: none; font-family: var(--display); }
.rest-btn--primary, .rest-ver-todos-btn, .rest-cta-btn { background: var(--ambar); color: var(--ink); border-color: var(--ambar); }
.rest-filter-btn.active, .hotel-filter-btn.active { background: var(--verde); color: #fff; border-color: var(--verde); }
.rest-tag { border-radius: 0; background: var(--verde-claro); color: var(--verde); }
.rest-single-hero, .rest-register-hero, .rest-cta-banner, .rest-page-hero { background: var(--verde); border-radius: 0; box-shadow: none; }
.rest-single-card { border-radius: 0; box-shadow: none; border: 0; background: var(--papel-2); }
.rest-single-hero h1, .rest-page-hero h1 { font-size: clamp(30px, 4.6vw, 64px); letter-spacing: -0.03em; }
.rest-page-map-section #rest-map { border-radius: 0; }
.rest-guide { max-width: 760px; }
.tabs-nav li a { border-radius: 0; font-family: var(--display); }
.tabs-nav li.active a { background: var(--verde); color: #fff; }
.tab-content { box-shadow: none; }
.lt-directorio .blog-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }

/* ---- Movimiento ---- */
.lt-entra { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.lt-entra.lt-visto { opacity: 1; transform: none; }
.lt-paseo-texto > :nth-child(2) { transition-delay: 70ms; }
.lt-paseo-texto > :nth-child(3) { transition-delay: 140ms; }
.lt-fila-texto.lt-entra { transition-delay: 90ms; }
.lt-destinos-lista li:nth-child(2) { transition-delay: 60ms; }
.lt-destinos-lista li:nth-child(3) { transition-delay: 120ms; }
.lt-destinos-lista li:nth-child(4) { transition-delay: 180ms; }
.lt-destinos-lista li:nth-child(5) { transition-delay: 240ms; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.lt-portada picture img { animation: none; }
	.lt-entra { opacity: 1; transform: none; transition: none; }
	.lt-boton:hover, .lt-paseo-tabs button:hover { transform: none; }
}

/* ---- Móvil y tableta ---- */
@media (max-width: 1023px) {
	.lt-lectura { grid-template-columns: minmax(0, 1fr); }
	.lt-lateral { position: static; max-height: none; overflow: visible; }
	.lt-zona--lateral { display: none; }
	.lt-paseo-rejilla, .lt-destinos-rejilla, .lt-preguntas-rejilla { grid-template-columns: 1fr; }
	.lt-paseo-fotos { min-height: 0; aspect-ratio: 4 / 3; }
	.lt-preguntas-rejilla { padding-inline: 0; }
	.lt-preguntas-rejilla > div:last-child { padding-inline: var(--margen); }
	.lt-preguntas-foto .lt-foto { min-height: 0; aspect-ratio: 16 / 10; }
	.lt-destinos-foto { position: relative; top: 0; aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
	.lt-portada { height: calc(100svh - 64px); min-height: 480px; max-height: none; }
	.lt-portada picture img { object-position: 50% 80%; }
	.lt-portada::after { inset: 30% 0 0; }
	.lt-portada-texto p { font-size: 17px; }
	.lt-portada-texto .lt-boton { display: block; text-align: center; }
	.lt-entrada, .lt-fila, .lt-fila--invertida, .lt-servicios { grid-template-columns: 1fr; }
	.lt-fila--invertida .lt-fila-foto { order: 0; }
	.lt-fila { gap: 16px; }
	.lt-veras .lt-fila-foto { margin-inline: calc(var(--margen) * -1); }
	.lt-paseo-tabs { display: grid; grid-template-columns: 1fr; }
	.lt-banda { height: 220px; }
	.lt-paseo-tabs button { text-align: left; }
}

/* ---- Ajustes tras revisar las capturas ---- */
.page-content table th, .page-content .tabla-precios th, .page-content table thead th { background: var(--verde) !important; color: #fff !important; }
.page-content img[src*="logo_paseos"] { display: none; }
.hotel-card h3, .hotel-card h3 a, .hotel-card-link, .rest-card h3, .rest-card h3 a, .blog-card-title a { color: var(--ink); }
.hotel-card h3 a:hover, .rest-card h3 a:hover, .blog-card-title a:hover { color: var(--verde); }
.hotel-zona { background: var(--verde-claro); color: var(--verde); border-radius: 0; }
.hotel-filter-btn { background: var(--verde-claro); color: var(--ink); }
.lt-directorio .page-content > p, .lt-directorio .page-content > h2, .lt-directorio .page-content > ul { max-width: 72ch; }
.lt-directorio .page-content .item-list li, .page-content ul li::marker { color: var(--verde); }

/* Cabecera: línea de marca y sombra al desplazarse */
.site-header { border-bottom: 3px solid var(--verde); transition: box-shadow .2s ease; }
.site-header.lt-con-scroll { box-shadow: 0 6px 18px rgba(27,42,18,.14); }
.main-nav ul a { position: relative; }
.main-nav .lt-boton { background: var(--ambar); }
.lt-portada { height: calc(100svh - 75px); }
@media (max-width: 767px) { .lt-portada { height: calc(100svh - 67px); } }

/* Refinado: un solo lenguaje para lo heredado del tema anterior */
.rest-btn, .rest-filter-btn, .hotel-filter-btn, .rest-ver-todos-btn, .rest-cta-btn, .rest-website, .rest-tag, .hotel-zona, .blog-card, .blog-card-image img, .rest-card, .hotel-card, .rest-single-image img, .rest-single-card, .tab-container, .tabs-nav li a, .lt-widget, .rest-single-map-section #rest-map { border-radius: 0 !important; }
.rest-btn--map, .rest-btn--outline { background: var(--verde-claro); color: var(--verde); border-color: transparent; }
.rest-btn--map:hover, .rest-btn--outline:hover { background: var(--verde); color: #fff; }
.rest-btn--primary:hover, .rest-ver-todos-btn:hover, .rest-cta-btn:hover { background: #ffb739; color: var(--ink); }
.rest-single-hero { padding-block: clamp(28px, 4vw, 52px); }
.rest-single-hero a, .rest-single-crumbs, .rest-single-sub { color: #fff; }
.rest-single-hero .rest-tag { background: rgba(255,255,255,.16); color: #fff; }

.page-content .blog-card-title, .lt-directorio .blog-card-title { font-size: 20px; line-height: 1.2; margin: 0 0 8px; letter-spacing: -0.01em; }
.blog-card-excerpt { font-size: 16px !important; line-height: 1.45 !important; }
.blog-card-body { padding: 20px; }
.blog-card-meta { font-size: 14px; color: var(--gris); text-transform: none; letter-spacing: 0; }
.blog-card-meta a, .blog-card-meta span { text-transform: none; letter-spacing: 0; font-size: 14px; }
.blog-intro { max-width: 60ch; }

.tabs-nav { border: 0; gap: 4px; flex-wrap: wrap; }
.tabs-nav li a { background: var(--verde-claro); color: var(--ink); border: 0; padding: 12px 16px; min-height: 44px; }
.tabs-nav li a:hover { background: #dce4d2; color: var(--ink); }
.tab-container, .tab-content { border: 0; }
.tab-container { background: var(--papel-2); padding: clamp(16px, 3vw, 28px); }
.tab-content h2 { margin-top: 0; }

.lt-widget--amazon { background: var(--papel-2); box-shadow: none; border: 0; }
.lt-widget h2, .lt-widget h3, .lt-widget .widget-title { text-transform: none; letter-spacing: -0.01em; }
.rest-single-layout { gap: clamp(28px, 4vw, 64px); }

.page-content ul { padding-left: 1.2em; }
.page-content blockquote { background: var(--papel-2); border: 0; border-left: 4px solid var(--ambar); margin: 24px 0; padding: 16px 20px; }
.lt-migas { overflow-wrap: anywhere; }
.main-nav ul a { transition: color .15s ease; }

/* Refinado 2 */
.container { max-width: 1360px; padding-inline: var(--margen); }
.lt-entrada { align-items: start; padding-block: clamp(56px, 8vw, 112px); }
.lt-datos { grid-template-columns: 1fr 1fr; gap: 22px 28px; }
.lt-sigue ul, .lt-lateral ul, .lt-pie-columnas ul, .lt-negocios, .lt-destinos ul { padding-left: 0; }
.blog-card { display: flex; flex-direction: column; }
.blog-card-image { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.blog-card-image img, .blog-card-image .lt-foto { width: 100%; height: 100%; object-fit: cover; }
.blog-card-body { flex: 1; display: flex; flex-direction: column; }
.blog-card-link { margin-top: auto; font-family: var(--display); font-weight: 700; font-size: 15px; }
.rest-single-hero .container { padding-block: 0; }
.main-nav ul a[aria-current] { font-weight: 700; }
.site-footer .lt-pie-logo { max-width: min(100%, 520px); }

@media (max-width: 767px) {
	.lt-datos { grid-template-columns: 1fr; }
	.lt-migas > span:last-child, .lt-migas > span[aria-hidden]:nth-last-child(2) { display: none; }
	/* Tablas de precios legibles sin desplazar de lado */
	.page-content table.lt-apilada, .page-content table.lt-apilada tbody, .page-content table.lt-apilada tr, .page-content table.lt-apilada td { display: block; width: 100%; }
	.page-content table.lt-apilada thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.page-content table.lt-apilada tr { background: var(--papel-2); padding: 12px 14px; margin-bottom: 10px; }
	.page-content table.lt-apilada tbody tr td, .page-content table.lt-apilada tbody tr:nth-child(even) td { background: none; border: 0; padding: 3px 0; }
	.page-content table.lt-apilada td:first-child { font-family: var(--display); font-weight: 700; font-size: 17px; }
	.page-content table.lt-apilada td[data-label]:not(:first-child)::before { content: attr(data-label) ": "; font-weight: 600; }
}

@media (max-width: 767px) {
	.page-content table.lt-apilada { overflow: visible; min-width: 0; }
	.page-content table.lt-apilada tr, .page-content table.lt-apilada td { box-sizing: border-box; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
}

/* Banner de Regalito: conserva sus propios colores dentro del contenido */
.page-content .rgl-banner p, .page-content .rgl-banner li, .page-content .rgl-banner a { color: inherit; }

/* La columna lateral no lleva barra de desplazamiento propia */
@media (min-width: 1024px) {
	.lt-lateral { position: static; max-height: none; overflow: visible; }
	.lt-lateral .lt-widget--amazon { position: sticky; top: 92px; }
}

/* Pie: marca discreta, enlaces ordenados y cierre legal */
.site-footer { padding-block: clamp(40px, 5vw, 64px) 24px; }
.lt-pie-marca { display: grid; grid-template-columns: 300px minmax(0, 62ch); gap: 16px clamp(32px, 5vw, 72px); align-items: center; margin-bottom: clamp(32px, 4vw, 48px); }
.site-footer .lt-pie-logo { display: block; width: 300px; max-width: 100%; margin: 0; }
.site-footer .lt-pie-logo img { display: block; width: 100%; height: auto; }
.lt-pie-lema { font-size: 16px; line-height: 1.5; margin: 0; max-width: 62ch; }
.lt-pie-columnas { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 32px; margin-bottom: clamp(28px, 4vw, 40px); }
.lt-pie-columnas h2 { font-size: 16px; margin: 0 0 8px; }
.lt-pie-columnas li { padding: 3px 0; }
.lt-pie-legal { background: rgba(0,0,0,.14); margin-inline: calc(var(--margen) * -1); padding: 12px var(--margen); }
@media (max-width: 1023px) {
	.lt-pie-marca { grid-template-columns: 1fr; }
	.lt-pie-columnas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
	.site-footer .lt-pie-logo { width: 240px; }
	.lt-pie-columnas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; }
}

/* Refinado 3: detalles de todas las plantillas */
.site-footer { padding-bottom: 0; overflow: clip; }
.lt-pie-legal { margin-inline: calc(50% - 50vw); padding: 14px calc(50vw - 50%); }

/* Listas: el verde queda solo en la viñeta */
.lt-directorio .page-content .item-list li { color: var(--ink); }
@media (min-width: 900px) {
	.lt-directorio .page-content > .item-list { max-width: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 clamp(24px, 3vw, 48px); padding-left: 0; }
	.lt-directorio .page-content > .item-list li { list-style: none; padding: 16px 0 0; border: 0; border-top: 3px solid var(--verde); }
	.lt-directorio .page-content > .item-list li::before { content: none; }
}

/* Blog: rejilla que cierra pareja con 9 entradas */
@media (min-width: 600px) { .lt-directorio .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .lt-directorio .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; } }
.blog-pagination { grid-column: 1 / -1; }
.blog-card-image .lt-foto figcaption a { font-size: 13px; }

/* Paginación */
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.nav-links .page-numbers { display: inline-block; min-width: 44px; padding: 10px 14px; text-align: center; background: var(--verde-claro); color: var(--ink); font: 600 15px var(--display); text-decoration: none; border-radius: 0; }
.nav-links .page-numbers.current { background: var(--verde); color: #fff; }
.nav-links a.page-numbers:hover { background: #dce4d2; }

/* Fichas de hoteles y restaurantes */
.rest-single-aside { display: grid; gap: 20px; align-content: start; }
.rest-single-aside .lt-zona--lateral { width: 100%; max-width: 100%; }
.rest-single-aside .rest-single-card { margin: 0; }
.rest-single-related { margin-top: 40px; }
.rest-single-related h2 { font-size: clamp(22px, 2vw, 28px); margin: 0 0 16px; }
.rest-single-related .hotel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rest-single-related h4 { font-size: 17px; line-height: 1.25; margin: 8px 0; }
.rest-ver-todos { margin-top: 20px; text-align: left; }
@media (max-width: 1023px) {
	/* En móvil, lo primero de una ficha es el teléfono y la dirección */
	.rest-single-aside { display: contents; }
	.rest-single-aside > .rest-single-card:first-child { order: -1; }
	.rest-single-aside > :not(:first-child) { order: 1; }
}
@media (max-width: 699px) { .rest-single-related .hotel-grid { grid-template-columns: 1fr; } }

/* Página no encontrada y búsqueda */
.lt-sin-resultado { padding-top: clamp(32px, 5vw, 64px); }
.lt-sin-resultado .lt-frase--corta { padding-block: 0 24px; max-width: 30em; }
.lt-busca { margin: 0 0 clamp(32px, 4vw, 48px); max-width: 640px; }
.lt-busca label { display: block; font: 600 15px var(--display); margin-bottom: 6px; }
.lt-busca div { display: flex; gap: 8px; }
.lt-busca input { flex: 1; min-width: 0; min-height: 50px; padding: 10px 14px; font: 400 17px var(--texto); color: var(--ink); background: #fff; border: 2px solid var(--verde); border-radius: 0; }
.lt-busca-total { font-weight: 600; margin: 0 0 16px; }
.page-content .lt-atajos, .page-content .lt-resultados { list-style: none; padding: 0; margin: 0; }
.lt-atajos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.page-content .lt-atajos li { background: var(--papel-2); padding: 18px 20px; line-height: 1.35; }
.lt-atajos a { display: block; font: 700 19px/1.2 var(--display); color: var(--ink); text-decoration: none; margin-bottom: 4px; }
.lt-atajos a:hover { color: var(--verde); text-decoration: underline; }
.lt-atajos span { font-size: 16px; }
.page-content .lt-resultados li { padding: 20px 0; border-bottom: 1px solid #d9dfd1; max-width: 72ch; }
.lt-resultados h2 { font-size: clamp(20px, 2vw, 26px) !important; margin: 0 0 6px !important; }
.lt-resultados h2 a { color: var(--ink); text-decoration: none; }
.lt-resultados h2 a:hover { color: var(--verde); text-decoration: underline; }
.lt-resultados p { margin: 0; }

/* Refinado 3: segunda pasada */
.lt-directorio .page-content > .lt-atajos { max-width: none; }
.rest-single-related .rest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 699px) { .rest-single-related .rest-grid { grid-template-columns: 1fr; } }
.lt-banda::after { inset: 0; background: linear-gradient(to top, rgba(10,16,6,.84), rgba(10,16,6,.4) 55%, rgba(10,16,6,.08)); }
@media (max-width: 767px) {
	.lt-banda-texto { bottom: 30px; }
	.lt-banda h1 { font-size: 28px; line-height: 1.12; }
	.lt-migas:not(:has(a ~ a)) { display: none; }
	.lt-banda + .lt-ancho:has(.lt-migas:not(:has(a ~ a))) { padding-top: 16px; }
}
.rest-single-content { max-width: 72ch; }
.hotel-zona, .rest-tag, .rest-single-details strong { font-size: 13px; }
.rest-rating, .hotel-stars { color: #8a5a00; }
.rest-single-hero .rest-rating { color: #ffd98a; }
