/* © Fernando Martínez Marín · VEOVIRTUAL® · veovirtual.com */

/* Base */
:root {
--vv-ancho:1240px;
--vv-fondo:#ffffff;
--vv-texto:#222222;
--vv-acento:#555555;
--vv-oscuro:#111111;
--vv-claro:#ffffff;
--vv-foco:#1a73e8;
--vv-arriba-alto:80px;
--vv-barra-alto:0px;
--vv-cab-fondo:#ffffff;
--vv-cab-texto:#111111;
--vv-pie-fondo:#111111;
--vv-pie-texto:rgba(255,255,255,.7);
--vv-barra-fondo:rgba(17,17,17,.96);
--vv-radio:14px;
--vv-fuente-titulos:Georgia,serif;
--vv-fuente-textos:system-ui,-apple-system,"Segoe UI",sans-serif;
}
html {
scroll-padding-top:calc(var(--vv-arriba-alto) + 12px);
-webkit-text-size-adjust:100%;
}
body.vv {
margin:0;
background:var(--vv-fondo);
color:var(--vv-texto);
font-family:var(--vv-fuente-textos);
overflow-x:clip;
}
body.vv *,
body.vv *::before,
body.vv *::after {
box-sizing:border-box;
}
body .vv-contenido img,
body .vv-pie img {
max-width:100%;
height:auto;
}
body.vv :focus-visible {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
@media (prefers-reduced-motion:no-preference) {
html {
scroll-behavior:smooth;
}
}
body .vv-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;
}
body .vv-saltar {
position:fixed;
top:10px;
left:10px;
z-index:100000;
padding:12px 18px;
border:0;
border-radius:8px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:600 15px/1.2 var(--vv-fuente-textos);
text-decoration:none;
cursor:pointer;
transform:translateY(-200%);
}
body .vv-saltar:focus,
body .vv-saltar:focus-visible {
transform:none;
}
body .vv-saltar--acc {
left:auto;
right:10px;
}
body .vv-contenido {
display:block;
outline:none;
}
body .vv-contenido:focus {
outline:none;
}

/* Cabecera */
body .vv-arriba {
position:fixed;
top:0;
left:0;
right:0;
z-index:9000;
}
body.admin-bar .vv-arriba {
top:32px;
}
body .vv-arriba-espacio {
height:var(--vv-arriba-alto);
}
body .vv-cabecera {
background:var(--vv-cab-fondo);
color:var(--vv-cab-texto);
transition:box-shadow .3s ease,background-color .3s ease;
}
html.vv-scroll body .vv-cabecera {
box-shadow:0 6px 24px rgba(0,0,0,.08);
}
body .vv-cabecera__caja {
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:14px 3%;
}
body .vv-cabecera__marca {
display:flex;
align-items:center;
flex-shrink:0;
color:inherit;
text-decoration:none;
}
body .vv-cabecera__logo {
display:block;
width:auto;
height:60px;
transition:height .3s ease;
}
html.vv-scroll body .vv-cabecera__logo {
height:50px;
}
body .vv-cabecera__logo--texto {
font:600 1.4rem/1 var(--vv-fuente-titulos);
}
body .vv-nav__lista {
display:flex;
align-items:center;
gap:6px;
margin:0;
padding:0;
list-style:none;
}
body .vv-nav__item {
margin:0;
}
body .vv-nav__enlace {
display:inline-flex;
align-items:center;
gap:7px;
min-height:44px;
padding:8px 12px;
color:inherit;
text-decoration:none;
}
body .vv-nav__ico {
display:inline-flex;
}
body .vv-nav__ico svg,
body .vv-menu-movil__ico svg,
body .vv-barra__ico svg {
display:block;
width:18px;
height:18px;
}
body .vv-cabecera__menu {
display:none;
align-items:center;
gap:10px;
min-height:44px;
padding:8px 18px;
border:1px solid currentColor;
border-radius:999px;
background:transparent;
color:inherit;
font:600 14px/1 var(--vv-fuente-textos);
cursor:pointer;
}
body .vv-cabecera__hamb {
position:relative;
display:block;
width:22px;
height:14px;
}
body .vv-cabecera__hamb::before,
body .vv-cabecera__hamb::after,
body .vv-cabecera__hamb span {
content:"";
position:absolute;
left:0;
right:0;
height:2px;
border-radius:2px;
background:currentColor;
}
body .vv-cabecera__hamb::before {
top:0;
}
body .vv-cabecera__hamb span {
top:6px;
}
body .vv-cabecera__hamb::after {
bottom:0;
}
@media only screen and (max-width:1100px) {
body .vv-nav {
display:none;
}
body .vv-cabecera__menu {
display:inline-flex;
}
}
@media only screen and (max-width:767px) {
body.admin-bar .vv-arriba {
top:0;
}
body .vv-cabecera__caja {
padding:10px 5%;
}
body .vv-cabecera__logo,
html.vv-scroll body .vv-cabecera__logo {
height:44px;
}
body .vv-cabecera__menu {
padding:0;
width:48px;
height:48px;
justify-content:center;
border:0;
}
body .vv-cabecera__menu-txt {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
}
}

/* Menú móvil */
body .vv-menu-movil {
position:fixed;
inset:0;
z-index:10050;
}
body .vv-menu-movil[hidden] {
display:none;
}
body .vv-menu-movil__fondo {
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
opacity:0;
transition:opacity .3s ease;
}
body .vv-menu-movil__panel {
position:absolute;
top:0;
right:0;
bottom:0;
display:flex;
flex-direction:column;
width:min(88vw,400px);
overflow-y:auto;
overscroll-behavior:contain;
background:var(--vv-oscuro);
color:var(--vv-claro);
transform:translateX(100%);
transition:transform .35s cubic-bezier(.32,.72,.35,1);
}
body .vv-menu-movil.is-abierto .vv-menu-movil__fondo {
opacity:1;
}
body .vv-menu-movil.is-abierto .vv-menu-movil__panel {
transform:none;
}
body .vv-menu-movil__cab {
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:22px 24px;
}
body .vv-menu-movil__logo {
display:block;
width:auto;
height:52px;
}
body .vv-menu-movil__cerrar {
display:flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
padding:0;
border:1px solid rgba(255,255,255,.25);
border-radius:50%;
background:transparent;
color:inherit;
font-size:26px;
line-height:1;
cursor:pointer;
}
body .vv-menu-movil__lista {
margin:0;
padding:8px 24px;
list-style:none;
}
body .vv-menu-movil__enlace {
display:flex;
align-items:center;
gap:14px;
min-height:52px;
padding:12px 0;
border-bottom:1px solid rgba(255,255,255,.1);
color:inherit;
text-decoration:none;
}
body .vv-menu-movil__pie {
margin-top:auto;
padding:24px;
}
html.vv-menu-abierto,
html.vv-menu-abierto body {
overflow:hidden;
}

/* Barra inferior */
body .vv-barra {
position:fixed;
left:0;
right:0;
bottom:0;
z-index:8900;
padding-bottom:env(safe-area-inset-bottom);
background:var(--vv-barra-fondo);
color:var(--vv-claro);
}
body .vv-barra__caja {
display:flex;
align-items:center;
max-width:var(--vv-ancho);
margin:0 auto;
padding:8px 3%;
}
body .vv-barra__grupo {
display:flex;
align-items:center;
gap:12px;
flex:1 1 auto;
min-width:0;
}
body .vv-barra__grupo:last-child {
justify-content:flex-end;
}
body .vv-barra__botones {
display:flex;
align-items:center;
gap:8px;
}
body .vv-barra__btn {
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
min-height:40px;
padding:8px 14px;
border-radius:999px;
color:inherit;
text-decoration:none;
white-space:nowrap;
}
body .vv-barra__etiqueta-movil {
display:none;
}
body .vv-barra__separador {
flex:0 0 1px;
align-self:stretch;
margin:4px 20px;
background:rgba(255,255,255,.2);
}
@media only screen and (max-width:767px) {
body .vv-barra__caja {
padding:6px 3%;
}
body .vv-barra__etiqueta {
display:none;
}
body .vv-barra__etiqueta-movil {
display:block;
}
body .vv-barra__txt {
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
}
body .vv-barra__btn {
width:44px;
height:44px;
min-height:44px;
padding:0;
}
body .vv-barra__separador {
margin:4px 8px;
}
body .vv-barra__grupo {
gap:6px;
}
body .vv-barra__botones {
gap:4px;
}
}

/* Pie */
body .vv-pie {
padding-bottom:var(--vv-barra-alto);
background:var(--vv-pie-fondo);
color:var(--vv-pie-texto);
}
body .vv-pie__caja {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:48px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:72px 3% 56px;
}
body .vv-pie a {
color:inherit;
}
body .vv-pie__legal-caja {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:10px 24px;
max-width:var(--vv-ancho);
margin:0 auto;
padding:20px 3%;
}
body .vv-pie__legales {
display:flex;
flex-wrap:wrap;
gap:6px 18px;
margin:0;
padding:0;
list-style:none;
}
body .vv-pie__boton {
padding:0;
border:0;
background:none;
color:inherit;
font:inherit;
text-decoration:underline;
text-underline-offset:3px;
cursor:pointer;
}
body .vv-pie__dato {
display:flex;
align-items:flex-start;
gap:12px;
margin:0 0 14px;
line-height:1.5;
}
body .vv-pie__ico {
flex:none;
width:1.2em;
height:1.2em;
margin-top:.15em;
}
body .vv-pie__dato a {
overflow-wrap:anywhere;
}
body .vv-horario--compacto,
body .vv-pie .vv-pie__dato .vv-horario--compacto {
display:flex;
flex-direction:column;
align-items:flex-start;
gap:2px;
text-align:left;
}
:where(.vv-contenido,.vv-pie) a {
color:inherit;
text-decoration-color:var(--vv-acento,currentColor);
text-underline-offset:3px;
}
body .vv-pie__copy,
body .vv-pie__credito {
margin:0;
}
@media only screen and (max-width:959px) {
body .vv-pie__caja {
grid-template-columns:1fr;
gap:40px;
padding:56px 6% 40px;
text-align:center;
}
body .vv-pie__dato {
justify-content:center;
}
body .vv-pie__legal-caja {
flex-direction:column;
text-align:center;
}
body .vv-pie__legales {
justify-content:center;
}
}

/* Mapa */
body .vv-mapa {
position:relative;
width:100%;
height:var(--vv-mapa-alto,460px);
overflow:hidden;
border-radius:var(--vv-radio);
background:#e9e6e1;
}
body .vv-mapa iframe {
display:block;
width:100%;
height:100%;
border:0;
}
body .vv-mapa iframe[data-vv-src] {
visibility:hidden;
}
body .vv-mapa__aviso {
position:absolute;
inset:0;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:6px;
padding:24px;
text-align:center;
}
body .vv-mapa.is-cargado .vv-mapa__aviso {
display:none;
}
body .vv-mapa__botones {
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
gap:10px 18px;
}
body .vv-mapa__btn {
min-height:44px;
padding:10px 22px;
border:0;
border-radius:999px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:600 14px/1.2 var(--vv-fuente-textos);
cursor:pointer;
}

/* Cookies */
body .vv-cookies {
position:fixed;
left:0;
right:0;
bottom:var(--vv-barra-alto);
z-index:9500;
padding:18px 3%;
background:#ffffff;
color:#222222;
box-shadow:0 -10px 40px rgba(0,0,0,.18);
visibility:hidden;
transform:translateY(calc(100% + var(--vv-barra-alto, 0px) + 40px));
transition:transform .35s ease,visibility 0s linear .35s;
}
body .vv-cookies.is-visible {
visibility:visible;
transform:none;
transition:transform .35s ease,visibility 0s linear 0s;
}
body .vv-cookies__caja {
display:flex;
flex-wrap:wrap;
align-items:center;
gap:14px 28px;
max-width:var(--vv-ancho);
margin:0 auto;
}
body .vv-cookies__texto {
flex:1 1 420px;
margin:0;
font-size:14px;
line-height:1.55;
}
body .vv-cookies__titulo {
display:block;
margin-bottom:2px;
font-size:15px;
font-weight:700;
}
body .vv-cookies__botones {
display:flex;
flex-wrap:wrap;
gap:10px;
}
body .vv-cookies__btn {
min-width:150px;
min-height:44px;
padding:10px 20px;
border:2px solid var(--vv-oscuro);
border-radius:999px;
background:var(--vv-oscuro);
color:var(--vv-claro);
font:700 14px/1.2 var(--vv-fuente-textos);
cursor:pointer;
}
body .vv-dialogo {
position:fixed;
inset:0;
z-index:10100;
display:flex;
align-items:center;
justify-content:center;
padding:16px;
}
body .vv-dialogo[hidden] {
display:none;
}
body .vv-dialogo__fondo {
position:absolute;
inset:0;
background:rgba(0,0,0,.55);
}
body .vv-dialogo__caja {
position:relative;
width:min(620px,100%);
max-height:calc(100dvh - 32px);
overflow-y:auto;
padding:28px;
border-radius:var(--vv-radio);
background:#ffffff;
color:#222222;
}
body .vv-dialogo__titulo {
margin:0 0 8px;
font-size:22px;
}
body .vv-dialogo__cerrar {
position:absolute;
top:14px;
right:14px;
width:44px;
height:44px;
border:0;
border-radius:50%;
background:#f1f1f1;
font-size:24px;
cursor:pointer;
}
body .vv-cat {
padding:14px 0;
border-top:1px solid #e6e6e6;
}
body .vv-cat__cab {
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
}
body .vv-cat__nombre {
font-weight:700;
}
body .vv-cat__texto {
margin:6px 0 0;
font-size:14px;
line-height:1.5;
}
body .vv-interruptor {
position:relative;
flex-shrink:0;
width:52px;
height:30px;
}
body .vv-interruptor input {
position:absolute;
inset:0;
width:100%;
height:100%;
margin:0;
opacity:0;
cursor:pointer;
}
body .vv-interruptor span {
position:absolute;
inset:0;
border-radius:30px;
background:#bdbdbd;
transition:background-color .2s ease;
pointer-events:none;
}
body .vv-interruptor span::after {
content:"";
position:absolute;
top:3px;
left:3px;
width:24px;
height:24px;
border-radius:50%;
background:#ffffff;
transition:transform .2s ease;
}
body .vv-interruptor input:checked + span {
background:var(--vv-oscuro);
}
body .vv-interruptor input:checked + span::after {
transform:translateX(22px);
}
body .vv-interruptor input:disabled + span {
opacity:.6;
}
body .vv-interruptor input:focus-visible + span {
outline:3px solid var(--vv-foco);
outline-offset:3px;
}
body .vv-dialogo__botones {
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}
body .vv-cookies-lista__tabla {
overflow-x:auto;
}
body .vv-cookies-lista table {
width:100%;
border-collapse:collapse;
font-size:14px;
}
body .vv-cookies-lista th,
body .vv-cookies-lista td {
padding:8px 10px;
border-bottom:1px solid rgba(0,0,0,.12);
text-align:left;
vertical-align:top;
}
@media only screen and (max-width:767px) {
body .vv-cookies__btn {
flex:1 1 100%;
}
body .vv-cookies-lista thead {
display:none;
}
body .vv-cookies-lista tr,
body .vv-cookies-lista td {
display:block;
}
body .vv-cookies-lista tr {
padding:8px 0;
border-bottom:1px solid rgba(0,0,0,.12);
}
body .vv-cookies-lista td {
border:0;
padding:3px 0;
}
body .vv-cookies-lista td::before {
content:attr(data-l) ": ";
font-weight:700;
}
}

/* 404 y título de página */
body .vv-404 {
padding:120px 6%;
text-align:center;
}
body .vv-404__caja {
max-width:640px;
margin:0 auto;
}
body .vv-titulo-pagina {
max-width:var(--vv-ancho);
margin:0 auto;
padding:56px 3% 8px;
}

/* © Fernando Martínez Marín · VEOVIRTUAL® · veovirtual.com */

:root {
	--thb-curva:cubic-bezier(0.2, 0.8, 0.2, 1);
	--vv-fondo:#fff;
	--vv-texto:#44423f;
	--vv-acento:#009846;
	--vv-foco:#009846;
	--vv-fuente-textos:"Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
	--vv-fuente-titulos:"Cormorant", Georgia, serif;
}

/* ---------- Base ---------- */


/* ---------- Accesibilidad ---------- */

body .th-sr {
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	padding:0;
	overflow:hidden;
	clip:rect(0 0 0 0);
	border:0;
	white-space:nowrap;
}

body .th-saltar {
	position:fixed;
	top:-100px;
	left:16px;
	z-index:200;
	padding:12px 20px;
	background:#222;
	color:#fff;
	text-decoration:none;
}

body .th-saltar:focus {
	top:16px;
}

/* ---------- Iconos ---------- */

body .th-i {
	display:inline-block;
	flex-shrink:0;
	width:1.15em;
	height:1.15em;
	background-color:currentColor;
	-webkit-mask:var(--ico) center / contain no-repeat;
	mask:var(--ico) center / contain no-repeat;
	vertical-align:-0.18em;
}

/* ---------- Revelado al hacer scroll ---------- */

html.th-js body .th-revela {
	opacity:0;
	transform:translateY(30px);
	transition:opacity 1s var(--thb-curva), transform 1s var(--thb-curva);
}

html.th-js body .th-revela.is-in {
	opacity:1;
	transform:none;
}

@media (prefers-reduced-motion: reduce) {
	html.th-js body .th-revela {
		opacity:1;
		transform:none;
	}
}

/* ---------- Galería ---------- */

body .th-gal {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	grid-auto-rows:210px;
	gap:12px;
}

body .th-gal--n2,
body .th-gal--n3 {
	grid-template-columns:2fr 1fr;
}

body .th-gal__item {
	display:block;
	overflow:hidden;
	border-radius:var(--thb-radio);
	cursor:zoom-in;
}

body .th-gal__item--grande {
	grid-column:span 2;
	grid-row:span 2;
	border-radius:var(--thb-radio-grande);
}

body .th-gal--n2 .th-gal__item--grande,
body .th-gal--n3 .th-gal__item--grande {
	grid-column:span 1;
}

body .th-gal__item img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1s var(--thb-curva);
}

body .th-gal__item:hover img {
	transform:scale(1.05);
}

@media (max-width: 959px) {
	body .th-gal {
		grid-template-columns:repeat(2, 1fr);
		grid-auto-rows:170px;
	}
}

@media (max-width: 767px) {
	body .th-gal {
		grid-auto-rows:120px;
		gap:8px;
	}
}

/* ---------- Café de cortesía ---------- */

body .th-cafe {
	padding:clamp(40px, 5vw, 70px) 0 clamp(36px, 4vw, 56px);
}

body .th-cafe__in {
	display:grid;
	grid-template-columns:5fr 7fr;
	align-items:center;
	gap:clamp(30px, 5vw, 70px);
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-cafe__txt p:not(.th-pre) {
	margin:0 0 18px;
	line-height:1.7;
}

body .th-cafe__datos {
	display:grid;
	gap:12px;
	margin:24px 0 0;
	padding:0;
	list-style:none;
}

body .th-cafe__datos li {
	display:flex;
	align-items:center;
	gap:12px;
	color:var(--th-carbon);
	font-weight:500;
}

body .th-cafe__datos .th-ic {
	flex-shrink:0;
	width:40px;
	height:40px;
}

body .th-cafe__gal.th-gal {
	grid-template-columns:repeat(3, 1fr);
	grid-auto-rows:auto;
	padding-bottom:28px;
}

body .th-cafe__gal .th-gal__item,
body .th-cafe__gal .th-gal__item--grande {
	grid-column:auto;
	grid-row:auto;
	aspect-ratio:3 / 4;
	border-radius:var(--thb-radio-grande);
}

body .th-cafe__gal .th-gal__item:nth-child(2) {
	transform:translateY(28px);
}

@media (max-width: 959px) {
	body .th-cafe__in {
		grid-template-columns:1fr;
	}
}

@media (max-width: 767px) {
	body .th-cafe__gal.th-gal {
		gap:8px;
		padding-bottom:16px;
	}
	body .th-cafe__gal .th-gal__item:nth-child(2) {
		transform:translateY(16px);
	}
}

/* ---------- Reseñas ---------- */

body .th-resenas {
	--vvr-acento:#007a3a;
	--vvr-texto:var(--th-carbon);
	--vvr-radio:var(--thb-radio-grande);
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	font-family:var(--th-sans);
}

body .th-resenas .vvr__pre {
	margin:0 0 14px;
	color:#007a3a;
	font-size:13px;
	font-weight:500;
	letter-spacing:0.22em;
}

body .th-resenas .vvr__tit {
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(2.1rem, 3.6vw, 3.25rem);
	font-weight:600;
	line-height:1.08;
}

/* ---------- Visor de fotos ---------- */

body .th-visor {
	position:fixed;
	inset:0;
	z-index:150;
	display:flex;
	align-items:center;
	justify-content:center;
	background:rgba(18, 16, 15, 0.94);
	opacity:0;
	visibility:hidden;
	transition:opacity 0.35s, visibility 0s 0.35s;
}

body .th-visor.is-abierto {
	opacity:1;
	visibility:visible;
	transition:opacity 0.35s, visibility 0s;
}

body .th-visor img {
	max-width:min(92vw, 1600px);
	max-height:84vh;
	border-radius:4px;
	box-shadow:0 30px 80px rgba(0, 0, 0, 0.5);
}

body .th-visor button {
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	border:1px solid rgba(255, 255, 255, 0.3);
	border-radius:50%;
	background:rgba(255, 255, 255, 0.06);
	color:#fff;
	cursor:pointer;
}

body .th-visor button .th-i {
	width:26px;
	height:26px;
}

body .th-visor__cerrar {
	top:20px;
	right:20px;
}

body .th-visor__ant {
	left:20px;
	top:50%;
	margin-top:-26px;
}

body .th-visor__sig {
	right:20px;
	top:50%;
	margin-top:-26px;
}

@media (max-width: 767px) {
	body .th-visor__ant,
	body .th-visor__sig {
		top:auto;
		bottom:90px;
		margin-top:0;
	}
}


/* ---------- Iconos ---------- */

body .th-i--air-conditioning {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M8 16a3 3 0 0 1 -3 3' /%3E%3Cpath d='M16 16a3 3 0 0 0 3 3' /%3E%3Cpath d='M12 16v4' /%3E%3Cpath d='M3 5m0 2a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v4a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z' /%3E%3Cpath d='M7 13v-3a1 1 0 0 1 1 -1h8a1 1 0 0 1 1 1v3' /%3E%3C/svg%3E");
}

body .th-i--arrow-down {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 5l0 14' /%3E%3Cpath d='M18 13l-6 6' /%3E%3Cpath d='M6 13l6 6' /%3E%3C/svg%3E");
}

body .th-i--arrow-right {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12l14 0' /%3E%3Cpath d='M13 18l6 -6' /%3E%3Cpath d='M13 6l6 6' /%3E%3C/svg%3E");
}

body .th-i--arrow-up-right {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M17 7l-10 10' /%3E%3Cpath d='M8 7l9 0l0 9' /%3E%3C/svg%3E");
}

body .th-i--bed {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M7 9m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0' /%3E%3Cpath d='M22 17v-3h-20' /%3E%3Cpath d='M2 8v9' /%3E%3Cpath d='M12 14h10v-2a3 3 0 0 0 -3 -3h-7v5z' /%3E%3C/svg%3E");
}

body .th-i--brand-facebook {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3' /%3E%3C/svg%3E");
}

body .th-i--brand-instagram {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M4 4m0 4a4 4 0 0 1 4 -4h8a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-8a4 4 0 0 1 -4 -4z' /%3E%3Cpath d='M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0' /%3E%3Cpath d='M16.5 7.5l0 .01' /%3E%3C/svg%3E");
}

body .th-i--brand-whatsapp {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9' /%3E%3Cpath d='M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1' /%3E%3C/svg%3E");
}

body .th-i--building-castle {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M15 19v-2a3 3 0 0 0 -6 0v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-14h4v3h3v-3h4v3h3v-3h4v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z' /%3E%3Cpath d='M3 11l18 0' /%3E%3C/svg%3E");
}

body .th-i--building {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 21l18 0' /%3E%3Cpath d='M9 8l1 0' /%3E%3Cpath d='M9 12l1 0' /%3E%3Cpath d='M9 16l1 0' /%3E%3Cpath d='M14 8l1 0' /%3E%3Cpath d='M14 12l1 0' /%3E%3Cpath d='M14 16l1 0' /%3E%3Cpath d='M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16' /%3E%3C/svg%3E");
}

body .th-i--calendar-event {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M4 5m0 2a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2z' /%3E%3Cpath d='M16 3l0 4' /%3E%3Cpath d='M8 3l0 4' /%3E%3Cpath d='M4 11l16 0' /%3E%3Cpath d='M8 15h2v2h-2z' /%3E%3C/svg%3E");
}

body .th-i--check {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12l5 5l10 -10' /%3E%3C/svg%3E");
}

body .th-i--chevron-down {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M6 9l6 6l6 -6' /%3E%3C/svg%3E");
}

body .th-i--chevron-left {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M15 6l-6 6l6 6' /%3E%3C/svg%3E");
}

body .th-i--chevron-right {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M9 6l6 6l-6 6' /%3E%3C/svg%3E");
}

body .th-i--clock {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0' /%3E%3Cpath d='M12 7v5l3 3' /%3E%3C/svg%3E");
}

body .th-i--coffee {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 14c.83 .642 2.077 1.017 3.5 1c1.423 .017 2.67 -.358 3.5 -1c.83 -.642 2.077 -1.017 3.5 -1c1.423 -.017 2.67 .358 3.5 1' /%3E%3Cpath d='M8 3a2.4 2.4 0 0 0 -1 2a2.4 2.4 0 0 0 1 2' /%3E%3Cpath d='M12 3a2.4 2.4 0 0 0 -1 2a2.4 2.4 0 0 0 1 2' /%3E%3Cpath d='M3 10h14v5a6 6 0 0 1 -6 6h-2a6 6 0 0 1 -6 -6v-5z' /%3E%3Cpath d='M16.746 16.726a3 3 0 1 0 .252 -5.555' /%3E%3C/svg%3E");
}

body .th-i--compass {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M8 16l2 -6l6 -2l-2 6l-6 2' /%3E%3Cpath d='M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0' /%3E%3Cpath d='M12 3l0 2' /%3E%3Cpath d='M12 19l0 2' /%3E%3Cpath d='M3 12l2 0' /%3E%3Cpath d='M19 12l2 0' /%3E%3C/svg%3E");
}

body .th-i--discount {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M9 15l6 -6' /%3E%3Ccircle cx='9.5' cy='9.5' r='.5' fill='currentColor' /%3E%3Ccircle cx='14.5' cy='14.5' r='.5' fill='currentColor' /%3E%3Cpath d='M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0' /%3E%3C/svg%3E");
}

body .th-i--elevator {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 4m0 1a1 1 0 0 1 1 -1h12a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-12a1 1 0 0 1 -1 -1z' /%3E%3Cpath d='M10 10l2 -2l2 2' /%3E%3Cpath d='M10 14l2 2l2 -2' /%3E%3C/svg%3E");
}

body .th-i--gift {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 8m0 1a1 1 0 0 1 1 -1h16a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-16a1 1 0 0 1 -1 -1z' /%3E%3Cpath d='M12 8l0 13' /%3E%3Cpath d='M19 12v7a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-7' /%3E%3Cpath d='M7.5 8a2.5 2.5 0 0 1 0 -5a4.8 8 0 0 1 4.5 5a4.8 8 0 0 1 4.5 -5a2.5 2.5 0 0 1 0 5' /%3E%3C/svg%3E");
}

body .th-i--home-2 {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12l-2 0l9 -9l9 9l-2 0' /%3E%3Cpath d='M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7' /%3E%3Cpath d='M10 12h4v4h-4z' /%3E%3C/svg%3E");
}

body .th-i--info-circle {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0' /%3E%3Cpath d='M12 9h.01' /%3E%3Cpath d='M11 12h1v4h1' /%3E%3C/svg%3E");
}

body .th-i--key {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0z' /%3E%3Cpath d='M15 9h.01' /%3E%3C/svg%3E");
}

body .th-i--mail {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-10z' /%3E%3Cpath d='M3 7l9 6l9 -6' /%3E%3C/svg%3E");
}

body .th-i--map-2 {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 18.5l-3 -1.5l-6 3v-13l6 -3l6 3l6 -3v7.5' /%3E%3Cpath d='M9 4v13' /%3E%3Cpath d='M15 7v5.5' /%3E%3Cpath d='M21.121 20.121a3 3 0 1 0 -4.242 0c.418 .419 1.125 1.045 2.121 1.879c1.051 -.89 1.759 -1.516 2.121 -1.879z' /%3E%3Cpath d='M19 18v.01' /%3E%3C/svg%3E");
}

body .th-i--map-pin {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M9 11a3 3 0 1 0 6 0a3 3 0 0 0 -6 0' /%3E%3Cpath d='M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z' /%3E%3C/svg%3E");
}

body .th-i--menu-2 {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M4 6l16 0' /%3E%3Cpath d='M4 12l16 0' /%3E%3Cpath d='M4 18l16 0' /%3E%3C/svg%3E");
}

body .th-i--motorbike {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 16m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0' /%3E%3Cpath d='M19 16m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0' /%3E%3Cpath d='M7.5 14h5l4 -4h-10.5m1.5 4l4 -4' /%3E%3Cpath d='M13 6h2l1.5 3l2 4' /%3E%3C/svg%3E");
}

body .th-i--mountain {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 20h18l-6.921 -14.612a2.3 2.3 0 0 0 -4.158 0l-6.921 14.612z' /%3E%3Cpath d='M7.5 11l2 2.5l2.5 -2.5l2 3l2.5 -2' /%3E%3C/svg%3E");
}

body .th-i--news {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M16 6h3a1 1 0 0 1 1 1v11a2 2 0 0 1 -4 0v-13a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1v12a3 3 0 0 0 3 3h11' /%3E%3Cpath d='M8 8l4 0' /%3E%3Cpath d='M8 12l4 0' /%3E%3Cpath d='M8 16l4 0' /%3E%3C/svg%3E");
}

body .th-i--parking {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z' /%3E%3Cpath d='M10 16v-8h2.667c.736 0 1.333 .895 1.333 2s-.597 2 -1.333 2h-2.667' /%3E%3C/svg%3E");
}

body .th-i--phone {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2' /%3E%3C/svg%3E");
}

body .th-i--route {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0' /%3E%3Cpath d='M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4z' /%3E%3Cpath d='M11 19h5.5a3.5 3.5 0 0 0 0 -7h-8a3.5 3.5 0 0 1 0 -7h4.5' /%3E%3C/svg%3E");
}

body .th-i--shield-check {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M11.46 20.846a12 12 0 0 1 -7.96 -14.846a12 12 0 0 0 8.5 -3a12 12 0 0 0 8.5 3a12 12 0 0 1 -.09 7.06' /%3E%3Cpath d='M15 19l2 2l4 -4' /%3E%3C/svg%3E");
}

body .th-i--star {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873z' /%3E%3C/svg%3E");
}

body .th-i--sun {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0' /%3E%3Cpath d='M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7' /%3E%3C/svg%3E");
}

body .th-i--sunset-2 {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 13h1' /%3E%3Cpath d='M20 13h1' /%3E%3Cpath d='M5.6 6.6l.7 .7' /%3E%3Cpath d='M18.4 6.6l-.7 .7' /%3E%3Cpath d='M8 13a4 4 0 1 1 8 0' /%3E%3Cpath d='M3 17h18' /%3E%3Cpath d='M7 20h5' /%3E%3Cpath d='M16 20h1' /%3E%3Cpath d='M12 5v-1' /%3E%3C/svg%3E");
}

body .th-i--tool {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5' /%3E%3C/svg%3E");
}

body .th-i--tools-kitchen-2 {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M19 3v12h-5c-.023 -3.681 .184 -7.406 5 -12zm0 12v6h-1v-3m-10 -14v17m-3 -17v3a3 3 0 1 0 6 0v-3' /%3E%3C/svg%3E");
}

body .th-i--trees {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M16 5l3 3l-2 1l4 4l-3 1l4 4h-9' /%3E%3Cpath d='M15 21l0 -3' /%3E%3Cpath d='M8 13l-2 -2' /%3E%3Cpath d='M8 12l2 -2' /%3E%3Cpath d='M8 21v-13' /%3E%3Cpath d='M5.824 16a3 3 0 0 1 -2.743 -3.69a3 3 0 0 1 .304 -4.833a3 3 0 0 1 4.615 -3.707a3 3 0 0 1 4.614 3.707a3 3 0 0 1 .305 4.833a3 3 0 0 1 -2.919 3.695h-4z' /%3E%3C/svg%3E");
}

body .th-i--users {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M9 7m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0' /%3E%3Cpath d='M3 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2' /%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75' /%3E%3Cpath d='M21 21v-2a4 4 0 0 0 -3 -3.85' /%3E%3C/svg%3E");
}

body .th-i--walk {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M13 4m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0' /%3E%3Cpath d='M7 21l3 -4' /%3E%3Cpath d='M16 21l-2 -4l-3 -3l1 -6' /%3E%3Cpath d='M6 12l2 -3l4 -1l3 3l3 1' /%3E%3C/svg%3E");
}

body .th-i--wifi {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 18l.01 0' /%3E%3Cpath d='M9.172 15.172a4 4 0 0 1 5.656 0' /%3E%3Cpath d='M6.343 12.343a8 8 0 0 1 11.314 0' /%3E%3Cpath d='M3.515 9.515c4.686 -4.687 12.284 -4.687 17 0' /%3E%3C/svg%3E");
}

body .th-i--x {
	--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M18 6l-12 12' /%3E%3Cpath d='M6 6l12 12' /%3E%3C/svg%3E");
}

/* ---------- Hotel Tharsis Cazorla ---------- */

/* ---------- Fuentes ---------- */

@font-face {
	font-family:"Jost";
	src:url(https://recursos.veovirtual.net/c/tharsis/fuentes/jost.woff2) format("woff2");
	font-weight:300 700;
	font-style:normal;
	font-display:swap;
}

@font-face {
	font-family:"Cormorant";
	src:url(https://recursos.veovirtual.net/c/tharsis/fuentes/cormorant.woff2) format("woff2");
	font-weight:400 700;
	font-style:normal;
	font-display:swap;
}

@font-face {
	font-family:"Cormorant";
	src:url(https://recursos.veovirtual.net/c/tharsis/fuentes/cormorant-italic.woff2) format("woff2");
	font-weight:400 700;
	font-style:italic;
	font-display:swap;
}

/* ---------- Variables ---------- */

:root {
	--th-cielo:#a2d9f7;
	--th-cielo-2:#eaf6fd;
	--th-verde:#009846;
	--th-verde-osc:#007536;
	--th-carbon:#2b2a29;
	--th-carbon-2:#232221;
	--th-gris:#898989;
	--th-gris-osc:#5b5b5b;
	--th-piedra:#f6f3ee;
	--th-piedra-2:#ebe5db;
	--th-texto:#44423f;
	--th-moto:#ffdb00;
	--th-serif:"Cormorant", Georgia, "Times New Roman", serif;
	--th-sans:"Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
	--th-ancho:1240px;
	--th-margen:32px;
	--th-cab-alto:166px;
	--th-radio:4px 44px 4px 4px;
	--th-radio-btn:3px 16px 3px 3px;
	--th-sombra:0 18px 40px -22px rgba(43, 42, 41, 0.35);
	--th-curva:cubic-bezier(0.2, 0.8, 0.2, 1);
	--th-suave:cubic-bezier(0.4, 0, 0.2, 1);
	--th-carretera:clamp(110px, 14vw, 200px);
	--thb-acento:var(--th-verde);
	--thb-radio:4px;
	--thb-radio-grande:var(--th-radio);
}

/* ---------- Base ---------- */

html {
	scroll-behavior:smooth;
	scroll-padding-top:96px;
	-webkit-text-size-adjust:100%;
}

body.th {
	margin:0;
	background:#fff;
	color:var(--th-texto);
	font-family:var(--th-sans);
	font-size:17px;
	font-weight:400;
	line-height:1.7;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}

body.th *,
body.th *::before,
body.th *::after {
	box-sizing:border-box;
}

body img {
	max-width:100%;
	height:auto;
	display:block;
}

body a {
	color:inherit;
}

body figure {
	margin:0;
}

body.th :focus-visible {
	outline:2px solid var(--th-verde);
	outline-offset:3px;
}

body .th-main {
	display:block;
	outline:none;
}

body .th-centro {
	text-align:center;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior:auto;
	}
}

@media (max-width: 959px) {
	:root {
		--th-cab-alto:64px;
	}
	body.th-con-promo {
		--th-cab-alto:110px;
	}
}

@media (max-width: 767px) {
	:root {
		--th-margen:20px;
	}
	body.th {
		font-size:16px;
	}
}

/* ---------- Tipografía común ---------- */

body .th-pre {
	display:flex;
	align-items:center;
	gap:14px;
	margin:0 0 14px;
	color:var(--th-verde);
	font-size:13px;
	font-weight:500;
	letter-spacing:0.22em;
	text-transform:uppercase;
}

body .th-pre::before {
	content:"";
	width:28px;
	height:1px;
	background:currentColor;
}

body .th-tit {
	margin:0 0 22px;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(2.1rem, 3.6vw, 3.25rem);
	font-weight:600;
	line-height:1.08;
	letter-spacing:-0.005em;
}

body .th-cabsec {
	max-width:720px;
	margin:0 auto 52px;
	text-align:center;
}

body .th-cabsec .th-pre {
	justify-content:center;
}

body .th-cabsec .th-pre::after {
	content:"";
	width:28px;
	height:1px;
	background:currentColor;
}

body .th-cabsec p:last-child {
	margin-bottom:0;
}

body .th-estrellas {
	color:inherit;
	letter-spacing:0.18em;
	font-size:0.9em;
}

/* ---------- Botones ---------- */

body .th-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:13px 24px;
	border:1px solid transparent;
	border-radius:var(--th-radio-btn);
	font-family:var(--th-sans);
	font-size:15px;
	font-weight:500;
	line-height:1.2;
	letter-spacing:0.03em;
	text-decoration:none;
	cursor:pointer;
	transition:background-color 0.45s var(--th-suave), color 0.45s var(--th-suave), border-color 0.45s var(--th-suave), box-shadow 0.45s var(--th-suave), transform 0.45s var(--th-suave);
}

body .th-btn:hover {
	transform:translateY(-2px);
}

body .th-btn--reservar {
	background:var(--th-verde);
	color:#fff;
}

body .th-btn--reservar:hover {
	background:var(--th-verde-osc);
	color:#fff;
}

body .th-btn--claro {
	border-color:rgba(255, 255, 255, 0.6);
	background:rgba(255, 255, 255, 0.08);
	color:#fff;
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
}

body .th-btn--claro:hover {
	background:#fff;
	color:var(--th-carbon);
}

body .th-btn--linea {
	border-color:rgba(43, 42, 41, 0.28);
	background:transparent;
	color:var(--th-carbon);
}

body .th-btn--linea:hover {
	border-color:var(--th-carbon);
	background:var(--th-carbon);
	color:#fff;
}

body .th-btn--moto {
	background:var(--th-moto);
	color:var(--th-carbon);
}

body .th-btn--moto:hover {
	background:#ffd54a;
	color:var(--th-carbon);
}

body .th-btn--grande {
	padding:16px 30px;
	font-size:16px;
}

body .th-btn--ancho {
	width:100%;
}

/* ---------- Cabecera ---------- */

body .th-cab {
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:60;
	display:flex;
	flex-direction:column;
	background:rgba(255, 255, 255, 0.97);
	box-shadow:0 1px 0 rgba(43, 42, 41, 0.08);
	color:var(--th-carbon);
	transition:background-color 0.4s, box-shadow 0.4s, color 0.4s;
}

body .th-cab {
	top:var(--th-avisos, 0px);
}

body.admin-bar .th-cab {
	top:max(32px, var(--th-avisos, 0px));
}

body .th-cab.is-scroll {
	box-shadow:0 10px 30px -18px rgba(43, 42, 41, 0.4);
}

body .th-cab__sup {
	height:106px;
	overflow:hidden;
	border-bottom:1px solid rgba(43, 42, 41, 0.08);
	transition:height 0.45s var(--th-curva), opacity 0.3s, border-color 0.4s;
}

body .th-cab.is-scroll .th-cab__sup {
	height:0;
	opacity:0;
	border-bottom-color:transparent;
}

body .th-cab__sup-in,
body .th-cab__in {
	display:flex;
	align-items:center;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-cab__sup-in {
	gap:40px;
	height:100%;
}

body .th-cab__in {
	gap:24px;
	height:60px;
	transition:height 0.4s var(--th-curva);
}

body .th-cab.is-scroll .th-cab__in {
	height:64px;
}

body .th-cab__logo,
body .th-cab__marca {
	display:block;
	flex-shrink:0;
	line-height:0;
}

body .th-cab__logo .th-logo {
	width:auto;
	height:64px;
}

body .th-cab__marca {
	display:none;
}

body .th-cab.is-scroll .th-cab__marca {
	display:block;
	animation:th-aparece 0.4s var(--th-curva);
}

body .th-cab__marca .th-logo {
	width:auto;
	height:40px;
}

@keyframes th-aparece {
	from {
		opacity:0;
		transform:translateY(-6px);
	}
	to {
		opacity:1;
		transform:none;
	}
}

body .th-nav {
	flex:1;
	display:flex;
	justify-content:flex-start;
	min-width:0;
}

body .th-nav__lista {
	display:flex;
	align-items:center;
	gap:2px;
	margin:0 0 0 -12px;
	padding:0;
	list-style:none;
}

body .th-cab.is-scroll .th-nav__lista {
	margin-left:0;
}

body .th-nav__item {
	display:flex;
	align-items:center;
}

body .th-nav__enlace {
	position:relative;
	display:flex;
	align-items:center;
	gap:8px;
	padding:10px 12px;
	font-size:15px;
	font-weight:500;
	letter-spacing:0.02em;
	text-decoration:none;
	white-space:nowrap;
}

body .th-nav__enlace .th-i {
	color:var(--th-verde);
	width:18px;
	height:18px;
	transition:transform 0.45s var(--th-suave);
}

body .th-nav__enlace::after {
	content:"";
	position:absolute;
	left:12px;
	right:12px;
	bottom:4px;
	height:1px;
	background:currentColor;
	transform:scaleX(0);
	transform-origin:left;
	transition:transform 0.5s var(--th-suave);
}

body .th-nav__enlace:hover::after,
body .th-nav__item.is-activo .th-nav__enlace::after {
	transform:scaleX(1);
}

body .th-nav__enlace:hover .th-i {
	transform:translateY(-2px);
}

body .th-nav__abrir {
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:24px;
	min-height:26px;
	margin-left:-10px;
	padding:6px 4px;
	border:0;
	background:none;
	color:inherit;
	cursor:pointer;
	opacity:0.6;
}

body .th-nav__abrir .th-i {
	width:14px;
	height:14px;
	transition:transform 0.4s var(--th-suave);
}

body .th-nav__item--mega:hover .th-nav__abrir .th-i,
body .th-nav__item.is-abierto .th-nav__abrir .th-i {
	transform:rotate(180deg);
}

body .th-cab__acciones {
	display:flex;
	align-items:center;
	gap:18px;
	flex-shrink:0;
	margin-left:auto;
}

body .th-cab__tel {
	display:flex;
	align-items:center;
	gap:8px;
	font-size:15px;
	font-weight:500;
	text-decoration:none;
	white-space:nowrap;
}

body .th-cab__tel .th-i {
	color:var(--th-verde);
}

body .th-cab__acciones .th-btn--reservar {
	padding:12px 22px;
	font-size:13px;
	font-weight:600;
	letter-spacing:0.14em;
	text-transform:uppercase;
	box-shadow:0 10px 22px -12px rgba(0, 152, 70, 0.8);
}

body .th-cab.is-scroll .th-nav,
body .th-cab.is-scroll .th-cab__tel {
	display:none;
}

body .th-cab.is-scroll .th-cab__menu {
	display:flex;
	margin-left:10px;
	border:1px solid rgba(43, 42, 41, 0.14);
	transition:border-color 0.4s var(--th-suave), color 0.4s var(--th-suave);
}

body .th-cab.is-scroll .th-cab__menu:hover {
	border-color:var(--th-verde);
	color:var(--th-verde);
}

body .th-cab__menu {
	display:none;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	border:0;
	border-radius:var(--th-radio-btn);
	background:transparent;
	color:inherit;
	cursor:pointer;
}

body .th-cab__menu .th-i {
	width:28px;
	height:28px;
}

/* ---------- Cabecera: datos sin promoción ---------- */

body .th-cab__lema {
	display:flex;
	align-items:center;
	gap:28px;
	margin:0 0 0 auto;
	padding:0;
	list-style:none;
	font-size:14px;
}

body .th-cab__lema li,
body .th-cab__lema a {
	display:flex;
	align-items:center;
	gap:8px;
	text-decoration:none;
	white-space:nowrap;
}

body .th-cab__lema .th-i {
	color:var(--th-verde);
	width:18px;
	height:18px;
}

/* ---------- Cabecera: promociones ---------- */

body .th-promos {
	position:relative;
	flex:1;
	max-width:780px;
	height:86px;
	margin-left:auto;
}

body .th-promo {
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	gap:16px;
	padding:7px 8px 7px 7px;
	border:1px solid var(--th-piedra-2);
	border-radius:var(--th-radio);
	background:var(--th-piedra);
	color:var(--th-carbon);
	text-decoration:none;
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
	transition:opacity 0.35s, transform 0.35s, visibility 0s 0.35s, border-color 0.45s var(--th-suave), box-shadow 0.45s var(--th-suave);
}

body .th-promo.is-on {
	opacity:1;
	visibility:visible;
	transform:none;
	transition:opacity 0.5s 0.4s, transform 0.6s var(--th-curva) 0.4s, visibility 0s 0.4s, border-color 0.45s var(--th-suave), box-shadow 0.45s var(--th-suave);
}

body .th-promo:hover {
	border-color:var(--th-verde);
	box-shadow:var(--th-sombra);
}

body .th-promo__foto,
body .th-promo__ico {
	flex:none;
	width:104px;
	height:100%;
	overflow:hidden;
	border-radius:3px 22px 3px 3px;
}

body .th-promo__foto img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1.4s var(--th-suave);
}

body .th-promo:hover .th-promo__foto img {
	transform:scale(1.08);
}

body .th-promo__ico {
	display:flex;
	align-items:center;
	justify-content:center;
	width:58px;
	background:var(--th-verde);
	color:#fff;
}

body .th-promo__ico .th-i {
	width:26px;
	height:26px;
}

body .th-promo__txt {
	display:flex;
	flex:1;
	flex-direction:column;
	justify-content:center;
	gap:3px;
	align-self:stretch;
	min-width:0;
	overflow:hidden;
}

body .th-promo__etq {
	color:#007a3a;
	font-size:10.5px;
	line-height:1.2;
	font-weight:600;
	letter-spacing:0.18em;
	text-transform:uppercase;
}

body .th-promo__tit {
	display:-webkit-box;
	overflow:hidden;
	font-family:var(--th-serif);
	font-size:1.28rem;
	font-weight:600;
	line-height:1.05;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
}

body .th-promo__sub {
	overflow:hidden;
	color:var(--th-gris-osc);
	font-size:13px;
	line-height:1.25;
	white-space:nowrap;
	text-overflow:ellipsis;
}

body .th-promo__btn {
	display:flex;
	flex:none;
	align-items:center;
	gap:8px;
	padding:9px 14px;
	border:1px solid rgba(43, 42, 41, 0.28);
	border-radius:999px;
	background:transparent;
	color:var(--th-carbon);
	font-size:13px;
	font-weight:500;
	letter-spacing:0.02em;
	transition:background-color 0.45s var(--th-suave), border-color 0.45s var(--th-suave), color 0.45s var(--th-suave);
}

body .th-promo__btn .th-i {
	width:16px;
	height:16px;
	transition:transform 0.45s var(--th-suave);
}

body .th-promo:hover .th-promo__btn {
	border-color:var(--th-carbon);
	background:var(--th-carbon);
	color:#fff;
}

body .th-promo:hover .th-promo__btn .th-i {
	transform:translateX(3px);
}

body .th-promo__sub {
	display:none;
}

@media (max-width: 1320px) {
	body .th-cab__tel span {
		display:none;
	}
	body .th-nav__enlace {
		padding:10px 9px;
		font-size:14.5px;
	}
	body .th-nav__enlace::after {
		left:9px;
		right:9px;
	}
	body .th-nav__lista {
		margin-left:-9px;
	}
	body .th-cab__lema li:first-child {
		display:none;
	}
}

@media (max-width: 1180px) {
	body .th-nav__enlace .th-i {
		display:none;
	}
	body .th-promo__sub {
		display:none;
	}
}

@media (max-width: 959px) {
	body .th-nav,
	body .th-cab__tel,
	body .th-cab__acciones .th-btn--reservar,
	body .th-cab__logo,
	body .th-cab__lema {
		display:none;
	}
	body .th-cab__menu {
		display:flex;
	}
	body .th-cab__marca,
	body .th-cab.is-scroll .th-cab__marca {
		display:block;
		animation:none;
	}
	body .th-cab__marca .th-logo {
		height:44px;
	}
	body .th-cab__in,
	body .th-cab.is-scroll .th-cab__in {
		order:1;
		height:64px;
	}
	body .th-cab.is-scroll .th-cab__marca .th-logo {
		height:38px;
	}
	body .th-cab__sup {
		order:2;
		height:0;
		border:0;
	}
	body .th-cab--promo .th-cab__sup {
		height:46px;
	}
	body .th-cab--promo.is-scroll .th-cab__sup {
		height:0;
	}
	body .th-cab__sup-in {
		width:100%;
	}
	body .th-promos {
		max-width:none;
		height:100%;
		margin:0;
	}
	body .th-promo {
		gap:10px;
		padding:0 var(--th-margen);
		border:0;
		border-radius:0;
		background:var(--th-verde);
		color:#fff;
		-webkit-backdrop-filter:none;
		backdrop-filter:none;
		box-shadow:none;
	}
	body .th-promo__foto,
	body .th-promo__ico,
	body .th-promo__sub,
	body .th-promo__btn span {
		display:none;
	}
	body .th-promo__txt {
		flex-direction:row;
		align-items:center;
		gap:10px;
	}
	body .th-promo__etq {
		flex:none;
		padding:3px 8px;
		border-radius:3px 10px 3px 3px;
		background:rgba(255, 255, 255, 0.18);
		color:#fff;
		font-size:10px;
	}
	body .th-promo__tit {
		display:block;
		font-family:var(--th-sans);
		font-size:14px;
		font-weight:500;
		line-height:1.3;
		white-space:nowrap;
		text-overflow:ellipsis;
	}
	body .th-promo__btn,
	body .th-promo:hover .th-promo__btn {
		padding:0;
		border:0;
		background:none;
		color:#fff;
	}
}

@media (max-width: 782px) {
	body.admin-bar .th-cab {
		top:max(46px, var(--th-avisos, 0px));
	}
}

@media (max-width: 600px) {
	body.admin-bar .th-cab.is-scroll {
		top:var(--th-avisos, 0px);
	}
}

/* ---------- Megamenú ---------- */

body .th-mega {
	position:absolute;
	top:100%;
	left:0;
	right:0;
	padding:34px 0 40px;
	background:#fff;
	box-shadow:0 30px 50px -30px rgba(43, 42, 41, 0.45);
	color:var(--th-carbon);
	opacity:0;
	visibility:hidden;
	transform:translateY(-8px);
	transition:opacity 0.3s, transform 0.4s var(--th-curva), visibility 0s 0.3s;
}

body .th-nav__item--mega:hover .th-mega,
body .th-nav__item.is-abierto .th-mega {
	opacity:1;
	visibility:visible;
	transform:none;
	transition:opacity 0.3s, transform 0.4s var(--th-curva), visibility 0s;
}

body .th-mega__in {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 280px));
	justify-content:center;
	gap:26px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-mega__tarjeta {
	display:flex;
	flex-direction:column;
	gap:6px;
	text-decoration:none;
}

body .th-mega__foto {
	display:block;
	overflow:hidden;
	margin-bottom:8px;
	border-radius:var(--th-radio);
	aspect-ratio:16 / 10;
	background:var(--th-piedra);
}

body .th-mega__foto img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1.4s var(--th-suave);
}

body .th-mega__tarjeta:hover .th-mega__foto img {
	transform:scale(1.06);
}

body .th-mega__titulo {
	display:flex;
	align-items:center;
	gap:8px;
	font-family:var(--th-serif);
	font-size:1.35rem;
	font-weight:600;
	line-height:1.2;
}

body .th-mega__titulo .th-i {
	color:var(--th-verde);
	width:18px;
	height:18px;
}

body .th-mega__texto {
	color:var(--th-gris-osc);
	font-size:14px;
	line-height:1.5;
}

/* ---------- Panel móvil ---------- */

body .th-panel {
	position:fixed;
	inset:0;
	z-index:120;
	visibility:hidden;
	transition:visibility 0s 0.5s;
}

body .th-panel.is-abierto {
	visibility:visible;
	transition:visibility 0s;
}

body .th-panel__velo {
	position:absolute;
	inset:0;
	background:rgba(28, 27, 26, 0.55);
	opacity:0;
	transition:opacity 0.4s;
}

body .th-panel.is-abierto .th-panel__velo {
	opacity:1;
}

body .th-panel__caja {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	display:flex;
	flex-direction:column;
	width:min(430px, 90vw);
	overflow:hidden auto;
	background:var(--th-piedra);
	color:var(--th-carbon);
	transform:translateX(102%);
	transition:transform 0.5s var(--th-curva);
}

body .th-panel.is-abierto .th-panel__caja {
	transform:none;
}

body .th-panel__fondo {
	position:absolute;
	right:-38%;
	bottom:-4%;
	z-index:0;
	width:150%;
	opacity:0.09;
	filter:blur(2px) grayscale(0.2);
	pointer-events:none;
}

body .th-panel__fondo .th-logo {
	width:100%;
	height:auto;
}

body .th-panel__cab,
body .th-panel__lista,
body .th-panel__pie {
	position:relative;
	z-index:1;
}

body .th-panel__cab {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:14px 16px 14px 22px;
	border-bottom:1px solid var(--th-piedra-2);
}

body .th-panel__logo .th-logo {
	height:40px;
	width:auto;
}

body .th-panel__cerrar {
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	border:0;
	background:none;
	color:var(--th-carbon);
	cursor:pointer;
}

body .th-panel__cerrar .th-i {
	width:26px;
	height:26px;
}

body .th-panel__lista {
	margin:0;
	padding:14px 22px;
	list-style:none;
}

body .th-panel__item {
	display:grid;
	grid-template-columns:1fr auto;
	align-items:center;
	border-bottom:1px solid rgba(43, 42, 41, 0.08);
}

body .th-panel__item > a {
	display:flex;
	align-items:center;
	gap:14px;
	padding:14px 0;
	font-family:var(--th-serif);
	font-size:1.45rem;
	font-weight:600;
	line-height:1.2;
	text-decoration:none;
}

body .th-panel__item > a .th-i {
	width:22px;
	height:22px;
	color:var(--th-verde);
}

body .th-panel__abrir {
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border:0;
	background:none;
	color:var(--th-carbon);
	cursor:pointer;
}

body .th-panel__abrir .th-i {
	transition:transform 0.35s var(--th-curva);
}

body .th-panel__abrir[aria-expanded="true"] .th-i {
	transform:rotate(180deg);
}

body .th-panel__sub {
	grid-column:1 / -1;
	display:grid;
	grid-template-rows:0fr;
	transition:grid-template-rows 0.4s var(--th-curva);
}

body .th-panel__sub.is-abierto {
	grid-template-rows:1fr;
}

body .th-panel__sub ul {
	min-height:0;
	overflow:hidden;
	margin:0;
	padding:0 0 0 36px;
	list-style:none;
}

body .th-panel__sub li:last-child {
	padding-bottom:12px;
}

body .th-panel__sub a {
	display:block;
	padding:7px 0;
	color:var(--th-gris-osc);
	font-size:16px;
	text-decoration:none;
}

body .th-panel__pie {
	display:flex;
	flex-direction:column;
	gap:12px;
	margin-top:auto;
	padding:22px 22px 30px;
}

body .th-panel__dato {
	display:flex;
	align-items:center;
	gap:10px;
	font-size:15px;
	text-decoration:none;
	word-break:break-word;
}

body .th-panel__dato .th-i {
	color:var(--th-verde);
}

body .th-panel__redes {
	display:flex;
	gap:10px;
}

body .th-panel__redes a {
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border:1px solid rgba(43, 42, 41, 0.18);
	border-radius:50%;
	text-decoration:none;
}

@media (min-width: 960px) {
	html.vv-acc-con-panel body .th-pie__legal-in {
		padding-left:72px;
	}
}

/* ---------- Barra móvil ---------- */

body .th-barra {
	display:none;
}

@media (max-width: 959px) {
	body.th {
		--vv-barra-alto:calc(62px + env(safe-area-inset-bottom));
		padding-bottom:calc(62px + env(safe-area-inset-bottom));
	}
	body .th-barra {
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:70;
		display:grid;
		grid-template-columns:1.2fr 1fr 1fr 1fr;
		height:calc(62px + env(safe-area-inset-bottom));
		padding-bottom:env(safe-area-inset-bottom);
		background:#fff;
		box-shadow:0 -8px 24px -14px rgba(43, 42, 41, 0.4);
	}
	body .th-barra__btn {
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		gap:3px;
		color:var(--th-carbon);
		font-size:12px;
		font-weight:500;
		letter-spacing:0.02em;
		text-decoration:none;
	}
	body .th-barra__btn .th-i {
		width:22px;
		height:22px;
		color:var(--th-verde);
	}
	body .th-barra__btn--reservar {
		background:var(--th-verde);
		color:#fff;
	}
	body .th-barra__btn--reservar .th-i {
		color:#fff;
	}
}

/* ---------- Sierra (línea del logo) ---------- */

body .th-sierra {
	position:relative;
	z-index:2;
	height:clamp(40px, 7vw, 96px);
	line-height:0;
	pointer-events:none;
}

body .th-sierra svg {
	width:100%;
	height:100%;
	overflow:visible;
}

body .th-sierra__relleno {
	fill:var(--th-sierra-relleno, #fff);
}

body .th-sierra__linea {
	fill:none;
	stroke:var(--th-verde);
	stroke-width:2;
	vector-effect:non-scaling-stroke;
	stroke-dasharray:1;
	stroke-dashoffset:0;
	transition:stroke-dashoffset 2.4s var(--th-curva);
}

html.th-js body .th-sierra:not(.is-in) .th-sierra__linea {
	stroke-dashoffset:1;
}

body .th-sierra--arriba {
	margin-top:calc(-1 * clamp(40px, 7vw, 96px));
	--th-sierra-relleno:var(--th-piedra);
}

body .th-sierra--pie {
	position:absolute;
	left:0;
	right:0;
	bottom:calc(100% - 1px);
	--th-sierra-relleno:var(--th-carbon);
}

body .th-sierra--sub {
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
}

/* ---------- Iconos Tharsis ---------- */

body .th-ic {
	display:inline-block;
	flex-shrink:0;
	width:44px;
	height:44px;
	overflow:visible;
}

body .th-ic .f {
	fill:var(--th-ic-fondo, var(--th-cielo));
	opacity:var(--th-ic-fondo-op, 0.55);
	transform-origin:20px 21px;
	transition:transform 0.6s var(--th-suave), opacity 0.6s var(--th-suave);
}

body .th-ic .l,
body .th-ic .a {
	fill:none;
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
}

body .th-ic .l {
	stroke:var(--th-ic-linea, var(--th-carbon));
}

body .th-ic .a {
	stroke:var(--th-ic-acento, var(--th-verde));
}

body .th-ic .p {
	fill:var(--th-ic-acento, var(--th-verde));
}

body .th-servicios__item:hover .th-ic .f,
body .th-moto__servicios li:hover .th-ic .f {
	opacity:calc(var(--th-ic-fondo-op, 0.55) + 0.2);
	transform:scale(1.12) rotate(-4deg);
}

/* ---------- Hero ---------- */

body .th-hero {
	position:relative;
	display:flex;
	align-items:flex-end;
	min-height:max(calc(100vh - var(--th-cab-alto) - 100px), 520px);
	min-height:max(calc(100svh - var(--th-cab-alto) - 100px), 520px);
	margin-top:var(--th-cab-alto);
	overflow:hidden;
	background:#1e1b19;
	color:#fff;
}

body .th-hero__fotos,
body .th-hero__foto,
body .th-hero__velo {
	position:absolute;
	inset:0;
}

body .th-hero__foto {
	opacity:0;
	transition:opacity 2.6s ease;
}

body .th-hero__foto.is-on {
	opacity:1;
}

body .th-hero__foto img {
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.1) translateX(1.5%);
	transition:transform 9s linear;
}

body .th-hero__foto.is-on img {
	transform:scale(1.02) translateX(-1.5%);
}

body .th-hero__velo {
	background:linear-gradient(90deg, rgba(18, 16, 15, 0.72) 0%, rgba(18, 16, 15, 0.5) 34%, rgba(18, 16, 15, 0.12) 62%, rgba(18, 16, 15, 0) 80%), linear-gradient(180deg, rgba(18, 16, 15, 0.45) 0%, rgba(18, 16, 15, 0.08) 30%, rgba(18, 16, 15, 0.2) 60%, rgba(18, 16, 15, 0.8) 100%);
}

body .th-hero__in {
	position:relative;
	z-index:2;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding-top:64px;
	padding-bottom:130px;
}

body .th-hero__pre {
	display:flex;
	align-items:center;
	gap:16px;
	margin:0 0 18px;
	color:var(--th-cielo);
	font-size:14px;
	font-weight:500;
	letter-spacing:0.22em;
	text-transform:uppercase;
	text-shadow:0 1px 10px rgba(0, 0, 0, 0.7);
}

body .th-hero__tit {
	max-width:13ch;
	margin:0 0 22px;
	font-family:var(--th-serif);
	font-size:clamp(2.6rem, min(6.2vw, 9vh), 5.8rem);
	font-weight:600;
	line-height:0.98;
	letter-spacing:-0.01em;
	text-shadow:0 2px 24px rgba(0, 0, 0, 0.45);
}

body .th-hero__tit em {
	color:var(--th-cielo);
	font-style:italic;
	font-weight:500;
}

body .th-hero__txt {
	max-width:520px;
	text-shadow:0 1px 12px rgba(0, 0, 0, 0.6);
	margin:0 0 34px;
	font-size:clamp(1.02rem, 1.4vw, 1.2rem);
	font-weight:300;
	line-height:1.6;
}

body .th-hero__btns {
	display:flex;
	flex-wrap:wrap;
	gap:14px;
}

body .th-hero__bajar {
	position:absolute;
	right:var(--th-margen);
	bottom:108px;
	z-index:2;
	width:26px;
	height:44px;
	border:1px solid rgba(255, 255, 255, 0.6);
	border-radius:14px;
}

body .th-hero__bajar::after {
	content:"";
	position:absolute;
	top:9px;
	left:50%;
	width:3px;
	height:8px;
	margin-left:-1.5px;
	border-radius:2px;
	background:#fff;
	animation:th-bajar 2.2s infinite;
}

@keyframes th-bajar {
	0% {
		opacity:0;
		transform:translateY(0);
	}
	30% {
		opacity:1;
	}
	100% {
		opacity:0;
		transform:translateY(14px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body .th-hero__foto img,
	body .th-hero__foto.is-on img {
		transform:none;
		transition:none;
	}
}

@media (max-width: 959px) {
	body .th-hero {
		min-height:max(calc(100svh - var(--th-cab-alto)), 480px);
	}
	body .th-hero__bajar {
		display:none;
	}
}

@media (max-width: 767px) {
	body .th-hero__velo {
		background:linear-gradient(180deg, rgba(18, 16, 15, 0.55) 0%, rgba(18, 16, 15, 0.5) 45%, rgba(18, 16, 15, 0.6) 70%, rgba(18, 16, 15, 0.85) 100%);
	}
	body .th-hero__in {
		padding-bottom:80px;
		text-align:center;
	}
	body .th-hero__pre {
		justify-content:center;
		flex-direction:column;
		gap:4px;
		font-size:12px;
	}
	body .th-hero__tit {
		margin-left:auto;
		margin-right:auto;
	}
	body .th-hero__txt {
		margin-left:auto;
		margin-right:auto;
	}
	body .th-hero__btns {
		justify-content:center;
	}
	body .th-hero__btns .th-btn {
		flex:1 1 100%;
	}
}

/* ---------- Reserva (MisterPlan) ---------- */

body .th-reserva {
	position:relative;
	z-index:5;
	margin-top:-72px;
	padding:0 0 clamp(20px, 3vw, 40px);
}

body .th-reserva__in {
	display:flex;
	align-items:center;
	gap:28px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:20px 22px 20px 30px;
	border-radius:var(--th-radio);
	background:#fff;
	box-shadow:0 26px 60px -28px rgba(43, 42, 41, 0.45), 0 1px 0 rgba(43, 42, 41, 0.06);
}

body .th-reserva__cab {
	flex:none;
	width:190px;
}

body .th-reserva__pre {
	margin:0 0 4px;
	color:var(--th-verde);
	font-size:11px;
	font-weight:600;
	letter-spacing:0.2em;
	text-transform:uppercase;
}

body .th-reserva__tit {
	margin:0 0 8px;
	font-family:var(--th-serif);
	font-size:1.45rem;
	font-weight:600;
	line-height:1.1;
}

body .th-reserva__ventajas {
	display:flex;
	flex-direction:column;
	gap:3px;
	margin:0;
	padding:0;
	list-style:none;
	color:var(--th-gris-osc);
	font-size:12.5px;
}

body .th-reserva__ventajas li {
	display:flex;
	align-items:center;
	gap:6px;
}

body .th-reserva__ventajas .th-i {
	width:14px;
	height:14px;
	color:var(--th-verde);
}

body .th-reserva__motor {
	flex:1;
	min-width:0;
}

/* ---------- Reserva: widget ---------- */

body .th-reserva .MrPlanPlugin_MotorContainer,
body .th-reserva .TEwsWidgetInc,
body .th-reserva .rve_iniciowidget_V11,
body .th-reserva .rve_contenido_interno_evnt {
	float:none;
	width:100%;
	margin:0;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	font-family:var(--th-sans);
}

body .th-reserva .TMrPlanPlugin_Loading {
	display:flex;
	justify-content:center;
	padding:24px 0;
}

body .th-reserva .rve_espacio_top_20,
body .th-reserva .mp_protocolo_covid_19_hide_evnt {
	display:none;
}

body .th-reserva .MrPlanPlugin_MotorContainer > .TEwsBuscador_Experiencias_evnt {
	margin:0 !important;
}

body .th-reserva .rve_contenido_interno_evnt {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0, 1fr) auto;
	align-items:stretch;
	column-gap:12px;
	row-gap:8px;
}

body .th-reserva .rve_fila_fecha_V11 {
	display:contents;
}

body .th-reserva .rve_fila_cod_promo_V11 {
	display:flex;
	grid-column:1 / -1;
	grid-row:2;
	align-items:center;
	gap:12px;
	float:none;
	width:auto;
	height:auto;
	margin:0;
	padding:0;
	background:transparent;
}

body .th-reserva .rve_fila_fecha_fechas {
	position:relative;
	display:flex;
	grid-column:1;
	grid-row:1;
	align-items:center;
	justify-content:center;
	gap:14px;
	float:none;
	width:auto;
	height:70px;
	margin:0;
	padding:0 18px;
	border:1px solid var(--th-piedra-2);
	border-radius:var(--th-radio-btn);
	background:var(--th-piedra);
	cursor:pointer;
	transition:border-color 0.45s var(--th-suave);
}

body .th-reserva .rve_fila_fecha_fechas:hover {
	border-color:var(--th-verde);
}

body .th-reserva .rve_fila_fecha_fechas > div {
	display:flex;
	flex-direction:column;
	justify-content:center;
	float:none;
	width:auto;
	height:auto;
	margin:0;
	padding:0;
}

body .th-reserva .rve_fila_fecha_capa_1 {
	align-items:center;
	text-align:center;
}

body .th-reserva .rve_fila_fecha_capa_2 {
	align-items:flex-start;
	padding-top:14px;
}

body .th-reserva .rve_fila_fecha_capa_2 > div,
body .th-reserva .rve_fila_fecha_capa_3 > div {
	float:none;
	width:auto;
	margin:0;
	padding:0;
}

body .th-reserva .rve_fila_fecha_texto_cabecera {
	color:var(--th-gris);
	font-size:11px;
	font-weight:600;
	letter-spacing:0.14em;
	line-height:1.2;
	text-transform:uppercase;
}

body .th-reserva .rve_fila_fecha_texto_dia {
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:38px;
	font-weight:600;
	line-height:1;
}

body .th-reserva .rve_fila_fecha_texto_mes {
	color:var(--th-gris-osc);
	font-size:13px;
	font-weight:500;
	line-height:1.25;
}

body .th-reserva .rve_fila_fecha_capa_3 {
	justify-content:center;
	padding-top:14px;
}

body .th-reserva .rve_fila_fecha_capa_3 .rve_fila_fecha_capa_fila_1 {
	display:none;
}

body .th-reserva .rve_fila_fecha_bolo_desplegar {
	width:22px;
	height:1px;
	border-radius:0;
	background:var(--th-gris);
}

body .th-reserva .TS_input_datepicker_V11 {
	position:absolute;
	left:0;
	top:78px;
	width:1px;
	height:1px;
	opacity:0;
	pointer-events:none;
}

body .th-reserva .rve_fila_fecha_reservar {
	display:flex;
	grid-column:2;
	grid-row:1;
	float:none;
	width:auto;
	margin:0;
	padding:0;
	border:0;
}

body .th-reserva .rve_btn_buscar_V11 {
	display:flex;
	align-items:center;
	justify-content:center;
	float:none;
	width:190px;
	height:70px;
	margin:0;
	padding:0 24px;
	border-radius:var(--th-radio-btn);
	background:var(--th-verde);
	color:#fff;
	font-family:var(--th-sans);
	font-size:14px;
	font-weight:600;
	letter-spacing:0.14em;
	line-height:1.2;
	text-align:center;
	text-transform:uppercase;
	box-shadow:0 12px 24px -14px rgba(0, 152, 70, 0.9);
	cursor:pointer;
	transition:background-color 0.45s var(--th-suave);
}

body .th-reserva .rve_btn_buscar_V11:hover {
	background:var(--th-verde-osc);
}

body .th-reserva .rve_btn_buscar_V11 * {
	float:none;
	width:auto;
	margin:0;
	color:inherit;
	font:inherit;
	letter-spacing:inherit;
	text-align:center;
}

body .th-reserva .rve_n_noches_V11,
body .th-reserva .rve_capa_codigopromocional_V11 {
	float:none;
	width:auto;
	height:auto;
	margin:0;
	padding:0;
}

body .th-reserva .rve_n_noches_V11 {
	display:flex;
	flex:none;
	align-items:center;
	justify-content:center;
	min-width:120px;
	height:40px;
	padding:0 16px;
	border-radius:999px;
	background:var(--th-piedra);
	color:var(--th-carbon);
	font-size:13px;
	font-weight:600;
	line-height:1;
	text-align:center;
}

body .th-reserva .rve_n_noches_V11 br {
	display:none;
}

body .th-reserva .rve_n_noches_V11 * {
	float:none;
	margin:0 3px 0 0;
	color:inherit;
	font:inherit;
}

body .th-reserva .rve_capa_codigopromocional_V11 {
	display:flex;
	flex:1;
}

body .th-reserva .rve_capa_codigopromocional_V11 input.rve_codigo_promocional_evnt {
	width:100%;
	height:40px;
	padding:0 14px;
	border:1px solid var(--th-piedra-2);
	border-radius:var(--th-radio-btn);
	background:#fff;
	color:var(--th-carbon);
	font-family:var(--th-sans);
	font-size:14px;
	letter-spacing:0.04em;
	text-align:center;
	box-shadow:none;
	outline:0;
}

body .th-reserva .rve_capa_codigopromocional_V11 input.rve_codigo_promocional_evnt:focus {
	border-color:var(--th-verde);
}

body .th-reserva .rve_capa_codigopromocional_V11 input.rve_codigo_promocional_evnt::placeholder {
	color:var(--th-gris);
	text-transform:none;
}

body .th-reserva .rve_icono_mrplan_V11 {
	display:none;
}

/* ---------- Reserva: calendario ---------- */

body .daterangepicker {
	margin-top:6px;
	padding:6px;
	border:1px solid var(--th-piedra-2);
	border-radius:var(--th-radio);
	box-shadow:var(--th-sombra);
	font-family:var(--th-sans);
}

body .daterangepicker::before,
body .daterangepicker::after {
	display:none;
}

body .daterangepicker .calendar-table th,
body .daterangepicker .calendar-table td {
	min-width:34px;
	width:34px;
	height:32px;
	line-height:32px;
	font-size:13px;
	text-align:center;
	vertical-align:middle;
}

body .daterangepicker .calendar-table th.month {
	font-family:var(--th-serif);
	font-size:1.05rem;
	font-weight:600;
	text-transform:capitalize;
}

body .daterangepicker .calendar-table table td.active,
body .daterangepicker .calendar-table table td.active:hover {
	background:var(--th-verde) !important;
	color:#fff;
	font-weight:600;
}

body .daterangepicker .calendar-table table td.in-range:not(.active):not([class*="wrg_caljq"]) {
	background-color:#dff3e7;
	color:var(--th-carbon);
}

body .daterangepicker .calendar-table .next span,
body .daterangepicker .calendar-table .prev span {
	border-color:var(--th-carbon);
}

/* ---------- Reserva: responsive ---------- */

@media (max-width: 1080px) {
	body .th-reserva__cab {
		display:none;
	}
	body .th-reserva__in {
		padding:16px;
	}
}

@media (max-width: 767px) {
	body .th-reserva {
		margin-top:-40px;
	}
	body .th-reserva__in {
		padding:12px;
	}
	body .th-reserva .rve_contenido_interno_evnt {
		grid-template-columns:1fr;
	}
	body .th-reserva .rve_fila_fecha_fechas {
		gap:8px;
		height:72px;
		padding:0 8px;
	}
	body .th-reserva .TS_input_datepicker_V11 {
		top:80px;
	}
	body .th-reserva .rve_fila_fecha_texto_dia {
		font-size:32px;
	}
	body .th-reserva .rve_fila_fecha_reservar {
		grid-column:1;
		grid-row:3;
	}
	body .th-reserva .rve_btn_buscar_V11 {
		width:100%;
		height:52px;
	}
	body .th-reserva .rve_n_noches_V11 {
		min-width:0;
	}
	body .daterangepicker {
		position:fixed !important;
		top:auto !important;
		bottom:0 !important;
		left:0 !important;
		right:0 !important;
		z-index:10050;
		width:auto !important;
		max-width:none !important;
		max-height:78dvh;
		margin:0;
		padding:10px 10px calc(10px + env(safe-area-inset-bottom));
		overflow-y:auto;
		border-radius:22px 22px 0 0;
		box-shadow:0 -20px 50px -20px rgba(0, 0, 0, 0.45);
	}
	body .daterangepicker .drp-calendar {
		float:none;
		width:100%;
		max-width:none;
		padding:6px;
	}
	body .daterangepicker .calendar-table {
		display:block;
		width:100%;
	}
	body .daterangepicker .calendar-table table {
		width:100%;
	}
	body .daterangepicker .calendar-table th,
	body .daterangepicker .calendar-table td {
		width:auto;
		min-width:0;
		height:36px;
		line-height:36px;
		font-size:14px;
	}
}

/* ---------- Normas: adultos y mascotas ---------- */

body .th-polit {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px 32px;
	margin:0;
	padding:0;
	list-style:none;
}

body .th-polit li {
	display:flex;
	align-items:center;
	gap:12px;
	margin:0;
}

body .th-polit__ico {
	flex-shrink:0;
	width:46px;
	height:46px;
}

body .th-polit strong {
	display:block;
	color:var(--th-carbon);
	font-size:15.5px;
	font-weight:600;
	line-height:1.2;
}

body .th-polit small {
	display:block;
	margin-top:2px;
	color:var(--th-gris);
	font-size:11.5px;
	font-weight:500;
	letter-spacing:0.12em;
	text-transform:uppercase;
}

body .th-polit--banda {
	justify-content:center;
	gap:14px 56px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:30px auto 0;
}

body .th-polit--banda li {
	gap:14px;
}

body .th-polit--banda .th-polit__ico {
	width:60px;
	height:60px;
}

body .th-polit--banda strong {
	font-size:18px;
}

body .th-polit--banda small {
	font-size:12px;
}

body .th-reserva--pagina .th-polit--banda {
	width:auto;
	margin:0 0 28px;
}

body .th-polit--modal {
	justify-content:center;
	gap:10px 24px;
	margin:16px 0 0;
	padding:12px 14px;
	border-radius:var(--th-radio-btn);
	background:var(--th-piedra);
}

body .th-polit--modal .th-polit__ico {
	width:38px;
	height:38px;
}

body .th-polit--modal strong {
	font-size:14px;
}

body .th-polit--ficha {
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
	padding-bottom:14px;
	border-bottom:1px solid var(--th-piedra-2);
}

body .th-polit--ficha .th-polit__ico {
	width:36px;
	height:36px;
}

body .th-polit--pie {
	flex-direction:column;
	align-items:flex-start;
	gap:12px;
	margin-top:24px;
}

body .th-polit--pie .th-polit__ico {
	width:38px;
	height:38px;
}

body .th-polit--pie strong {
	color:#fff;
	font-size:14.5px;
}

body .th-polit--pie small {
	color:rgba(255, 255, 255, 0.55);
}

@media (max-width: 767px) {
	body .th-polit--banda {
		gap:12px 20px;
	}
	body .th-polit--banda .th-polit__ico {
		width:46px;
		height:46px;
	}
	body .th-polit--banda strong {
		font-size:15px;
	}
}

/* ---------- Reserva: ventana ---------- */

html.th-sin-scroll {
	overflow:hidden;
}

body .th-modal {
	position:fixed;
	inset:0;
	z-index:10000;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:var(--th-margen);
}

body .th-modal[hidden] {
	display:none;
}

body .th-modal__velo {
	position:absolute;
	inset:0;
	background:rgba(26, 24, 23, 0.55);
	-webkit-backdrop-filter:blur(4px);
	backdrop-filter:blur(4px);
	opacity:0;
	transition:opacity 0.3s var(--th-suave);
}

body .th-modal__caja {
	position:relative;
	width:min(560px, 100%);
	max-height:calc(100dvh - 2 * var(--th-margen));
	overflow:auto;
	padding:30px 28px 24px;
	border-radius:var(--th-radio);
	background:#fff;
	box-shadow:0 40px 80px -30px rgba(0, 0, 0, 0.5);
	opacity:0;
	transform:translateY(24px) scale(0.98);
	transition:opacity 0.3s var(--th-suave), transform 0.4s var(--th-suave);
}

body .th-modal.is-abierto .th-modal__velo,
body .th-modal.is-abierto .th-modal__caja {
	opacity:1;
	transform:none;
}

body .th-modal__cerrar {
	position:absolute;
	top:14px;
	right:14px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	padding:0;
	border:1px solid var(--th-piedra-2);
	border-radius:50%;
	background:#fff;
	color:var(--th-carbon);
	cursor:pointer;
	transition:border-color 0.4s var(--th-suave), color 0.4s var(--th-suave);
}

body .th-modal__cerrar:hover {
	border-color:var(--th-verde);
	color:var(--th-verde);
}

body .th-modal__tit {
	margin:0 0 18px;
	font-family:var(--th-serif);
	font-size:1.9rem;
	font-weight:600;
	line-height:1.1;
}

body .th-reserva--pagina {
	width:min(960px, 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:clamp(24px, 4vw, 48px) 0 0;
}

body .th-reserva--pagina .wp-block-group {
	margin:0;
	padding:0;
}

body .th-reserva--pagina .MrPlanPlugin_MotorContainer > .TEwsBuscador_Experiencias_evnt {
	margin-top:24px !important;
}

body .th-reserva--modal {
	margin:0;
	padding:0;
}

body .th-reserva--modal .rve_contenido_interno_evnt {
	grid-template-columns:1fr;
}

body .th-reserva--modal .rve_fila_fecha_reservar {
	grid-column:1;
	grid-row:3;
}

body .th-reserva--modal .rve_btn_buscar_V11 {
	width:100%;
	min-height:56px;
	height:56px;
}

body .th-modal__ventajas {
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:center;
	gap:6px 18px;
	margin-top:18px;
	padding-top:16px;
	border-top:1px solid var(--th-piedra-2);
}

body .daterangepicker {
	z-index:10050;
}

@media (max-width: 767px) {
	body .th-modal {
		align-items:flex-end;
		padding:0;
	}
	body .th-modal__caja {
		width:100%;
		max-height:92dvh;
		padding:26px 16px calc(18px + env(safe-area-inset-bottom));
		border-radius:22px 22px 0 0;
	}
	body .th-modal__tit {
		font-size:1.6rem;
	}
}

/* ---------- Intro ---------- */

body .th-intro {
	padding:clamp(80px, 10vw, 150px) 0 clamp(110px, 12vw, 190px);
}

body .th-intro__in {
	display:grid;
	grid-template-columns:5fr 7fr;
	align-items:center;
	gap:clamp(40px, 7vw, 110px);
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-intro__fotos {
	position:relative;
	padding-bottom:60px;
}

body .th-intro__foto {
	overflow:hidden;
	border-radius:var(--th-radio);
	box-shadow:var(--th-sombra);
}

body .th-intro__foto img {
	width:100%;
	aspect-ratio:3 / 4;
	object-fit:cover;
}

body .th-intro__foto--mini {
	position:absolute;
	right:-44px;
	bottom:0;
	width:46%;
	border:8px solid #fff;
	border-radius:4px 30px 4px 4px;
}

body .th-servicios {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:26px 22px;
	margin:34px 0 38px;
	padding:30px 0 0;
	border-top:1px solid var(--th-piedra-2);
	list-style:none;
}

body .th-servicios__item {
	display:grid;
	grid-template-columns:auto 1fr;
	column-gap:12px;
	align-items:start;
	line-height:1.35;
}

body .th-servicios__item .th-ic {
	grid-row:span 2;
	width:46px;
	height:46px;
	margin-top:-6px;
}

body .th-servicios__item strong {
	color:var(--th-carbon);
	font-size:15.5px;
	font-weight:600;
}

body .th-servicios__item span {
	color:var(--th-gris-osc);
	font-size:13.5px;
}

@media (max-width: 959px) {
	body .th-intro__in {
		grid-template-columns:1fr;
	}
	body .th-intro__fotos {
		max-width:560px;
		width:100%;
		margin:0 auto;
		padding-bottom:40px;
	}
	body .th-intro__foto--mini {
		right:-10px;
	}
}

@media (max-width: 767px) {
	body .th-intro__foto img {
		aspect-ratio:4 / 5;
	}
	body .th-intro__foto--mini {
		width:42%;
		border-width:6px;
	}
	body .th-servicios {
		grid-template-columns:repeat(2, 1fr);
		gap:22px 14px;
	}
	body .th-intro__texto .th-btn {
		width:100%;
	}
}

body .th-premio {
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 16px;
	border-radius:var(--th-radio-btn);
	background:var(--th-piedra);
	font-size:15px;
	line-height:1.45;
}

body .th-premio .th-i {
	width:22px;
	height:22px;
	color:#e0a100;
}

/* ---------- Habitaciones ---------- */

body .th-habs {
	position:relative;
	padding:clamp(20px, 3vw, 40px) 0 clamp(80px, 9vw, 130px);
	background:var(--th-piedra);
}

body .th-habs--pagina,
body .th-habs--otras {
	padding-top:clamp(60px, 7vw, 100px);
}

body .th-habs--otras {
	background:#fff;
}

body .th-habs__in {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-habs__rejilla {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:24px;
	margin-bottom:48px;
}

body .th-habs__rejilla--3 {
	grid-template-columns:repeat(3, 1fr);
}

body .th-hab {
	height:100%;
}

html.th-js body .th-hab.th-revela:nth-child(2) {
	transition-delay:0.1s;
}

html.th-js body .th-hab.th-revela:nth-child(3) {
	transition-delay:0.2s;
}

html.th-js body .th-hab.th-revela:nth-child(4) {
	transition-delay:0.3s;
}

body .th-hab__enlace {
	display:flex;
	flex-direction:column;
	height:100%;
	overflow:hidden;
	border-radius:var(--th-radio);
	background:#fff;
	box-shadow:0 2px 0 rgba(43, 42, 41, 0.04);
	text-decoration:none;
	transition:box-shadow 0.7s var(--th-suave), transform 0.7s var(--th-suave);
}

body .th-hab__enlace:hover {
	box-shadow:var(--th-sombra);
	transform:translateY(-6px);
}

body .th-hab__foto {
	display:block;
	overflow:hidden;
	aspect-ratio:4 / 5;
}

body .th-hab__foto img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1.6s var(--th-suave);
}

body .th-hab__enlace:hover .th-hab__foto img {
	transform:scale(1.06);
}

body .th-hab__cuerpo {
	display:flex;
	flex:1;
	flex-direction:column;
	gap:10px;
	padding:24px 24px 26px;
}

body .th-hab__tit {
	margin:0;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.65rem;
	font-weight:600;
	line-height:1.1;
}

body .th-hab__txt {
	color:var(--th-texto);
	font-size:15px;
	line-height:1.55;
}

body .th-hab__datos {
	display:flex;
	flex-direction:column;
	gap:4px;
	color:var(--th-gris-osc);
	font-size:13.5px;
}

body .th-hab__datos span {
	display:flex;
	align-items:center;
	gap:8px;
}

body .th-hab__datos .th-i {
	color:var(--th-verde);
}

body .th-hab__mas {
	display:flex;
	align-items:center;
	gap:8px;
	margin-top:auto;
	padding-top:8px;
	color:var(--th-verde);
	font-size:14px;
	font-weight:600;
	letter-spacing:0.04em;
	text-transform:uppercase;
}

body .th-hab__mas .th-i {
	transition:transform 0.5s var(--th-suave);
}

body .th-hab__enlace:hover .th-hab__mas .th-i {
	transform:translateX(5px);
}

@media (max-width: 1100px) {
	body .th-habs__rejilla {
		grid-template-columns:repeat(2, 1fr);
	}
	body .th-hab__foto {
		aspect-ratio:4 / 3;
	}
}

@media (max-width: 767px) {
	body .th-habs__rejilla,
	body .th-habs__rejilla--3 {
		grid-template-columns:repeat(2, 1fr);
		gap:12px;
	}
	body .th-hab__enlace {
		border-radius:4px 26px 4px 4px;
	}
	body .th-hab__foto {
		aspect-ratio:1 / 1;
	}
	body .th-hab__cuerpo {
		gap:6px;
		padding:14px 12px 16px;
		text-align:center;
	}
	body .th-hab__tit {
		font-size:1.2rem;
	}
	body .th-hab__txt,
	body .th-hab__datos {
		display:none;
	}
	body .th-hab__mas {
		justify-content:center;
		font-size:11.5px;
	}
}

/* ---------- Moto ---------- */

body .th-moto {
	position:relative;
	overflow:hidden;
	padding:clamp(80px, 10vw, 140px) 0 0;
	background:var(--th-carbon-2);
	color:#dcd8d2;
}

body .th-moto::before {
	content:"";
	position:absolute;
	inset:0;
	background:repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.018) 0 2px, transparent 2px 14px);
	pointer-events:none;
}

body .th-moto__in {
	position:relative;
	display:grid;
	grid-template-columns:6fr 5fr;
	align-items:center;
	gap:clamp(40px, 6vw, 90px);
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-moto .th-tit {
	color:#fff;
}

body .th-pre--moto {
	color:var(--th-moto);
}

body .th-moto__sello {
	width:96px;
	margin-bottom:22px;
	line-height:0;
	filter:drop-shadow(0 10px 18px rgba(0, 0, 0, 0.45));
}

body .th-moto__sellos {
	display:flex;
	align-items:center;
	gap:24px;
	margin-bottom:22px;
}

body .th-moto__sellos .th-moto__sello {
	margin-bottom:0;
}

body .th-moto__sellos .th-bmw {
	width:104px;
	height:auto;
	filter:drop-shadow(0 10px 18px rgba(0, 0, 0, 0.45));
}

body .th-logo-moto {
	display:block;
	width:100%;
	height:auto;
}

body .th-moto-cab {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:clamp(24px, 4vw, 48px);
	width:min(840px, 100% - 2 * var(--th-margen));
	margin:clamp(40px, 5vw, 64px) auto 0;
	line-height:0;
}

body .th-moto-cab .th-logo-moto {
	width:150px;
	margin:0;
}

body .th-moto-cab .th-bmw {
	width:150px;
	height:auto;
}

body .th-pagina--cazorla-en-moto .th-contenido {
	padding-top:clamp(24px, 3vw, 36px);
}

body .th-moto__servicios {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:22px 26px;
	margin:32px 0;
	padding:0;
	list-style:none;
}

body .th-moto__servicios li {
	display:grid;
	grid-template-columns:auto 1fr;
	column-gap:14px;
	line-height:1.4;
}

body .th-moto__servicios .th-ic {
	grid-row:span 2;
	width:46px;
	height:46px;
	margin-top:-6px;
	--th-ic-fondo:var(--th-moto);
	--th-ic-fondo-op:0.16;
	--th-ic-linea:#fff;
	--th-ic-acento:var(--th-moto);
}

body .th-moto__servicios strong {
	color:#fff;
	font-size:16px;
	font-weight:500;
}

body .th-moto__servicios span {
	color:#aaa49c;
	font-size:14px;
}

body .th-codigo {
	margin:0 0 30px;
	padding:18px 22px;
	border:1px dashed rgba(255, 219, 0, 0.6);
	border-radius:var(--th-radio-btn);
	font-size:15.5px;
	line-height:1.55;
}

body .th-codigo strong {
	color:var(--th-moto);
	font-weight:600;
	letter-spacing:0.12em;
}

body .th-moto__btns {
	display:flex;
	flex-wrap:wrap;
	gap:14px;
}

body .th-moto__foto {
	position:relative;
}

body .th-moto__foto::before {
	content:"";
	position:absolute;
	inset:18px -18px -18px 18px;
	border:1px solid var(--th-moto);
	border-radius:var(--th-radio);
}

body .th-moto__foto img {
	position:relative;
	width:100%;
	aspect-ratio:4 / 5;
	object-fit:cover;
	border-radius:var(--th-radio);
}

body .th-carretera {
	position:relative;
	z-index:2;
	height:var(--th-carretera);
	margin-top:clamp(40px, 6vw, 80px);
}

body .th-carretera svg {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	overflow:visible;
}

body .th-carretera__arcen {
	fill:none;
	stroke:#3b3936;
	stroke-width:34;
	stroke-linecap:round;
	vector-effect:non-scaling-stroke;
}

body .th-carretera__linea {
	fill:none;
	stroke:var(--th-moto);
	stroke-width:2;
	stroke-dasharray:14 16;
	vector-effect:non-scaling-stroke;
}

body .th-carretera__moto {
	position:absolute;
	top:0;
	left:0;
	display:flex;
	align-items:center;
	justify-content:center;
	width:46px;
	height:46px;
	margin:-23px 0 0 -23px;
	border-radius:50%;
	background:var(--th-moto);
	color:var(--th-carbon);
	box-shadow:0 8px 20px -6px rgba(0, 0, 0, 0.6);
	will-change:transform;
}

body .th-carretera__moto .th-i {
	width:28px;
	height:28px;
}

@media (max-width: 959px) {
	body .th-moto__in {
		grid-template-columns:1fr;
	}
	body .th-moto__foto {
		order:-1;
		max-width:560px;
		width:calc(100% - 18px);
	}
	body .th-moto__foto img {
		aspect-ratio:4 / 3;
	}
}

@media (max-width: 767px) {
	body .th-moto__sello {
		width:80px;
	}
	body .th-moto__sellos {
		justify-content:center;
	}
	body .th-moto__sellos .th-bmw {
		width:86px;
	}
	body .th-moto-cab .th-logo-moto,
	body .th-moto-cab .th-bmw {
		width:120px;
	}
	body .th-moto__texto {
		text-align:center;
	}
	body .th-moto__texto .th-pre {
		justify-content:center;
	}
	body .th-moto__servicios li {
		text-align:left;
	}
	body .th-moto__servicios {
		grid-template-columns:1fr;
	}
	body .th-moto__btns .th-btn {
		flex:1 1 100%;
	}
	body .th-carretera__moto {
		width:38px;
		height:38px;
		margin:-19px 0 0 -19px;
	}
	body .th-carretera__arcen {
		stroke-width:22;
	}
}

/* ---------- Vistas ---------- */

body .th-vistas {
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:calc(min(82vh, 760px) + var(--th-carretera));
	margin-top:calc(-1 * var(--th-carretera));
	padding-top:var(--th-carretera);
	overflow:hidden;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath d='M-20 170 C160 170 230 70 400 80 C560 90 600 190 780 180 C950 170 1000 60 1160 60 C1300 60 1360 140 1460 150 L1460 240 L-20 240 Z'/%3E%3C/svg%3E") 0 0 / 100% var(--th-carretera) no-repeat, linear-gradient(#000, #000) 0 calc(var(--th-carretera) - 1px) / 100% 100% no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 220' preserveAspectRatio='none'%3E%3Cpath d='M-20 170 C160 170 230 70 400 80 C560 90 600 190 780 180 C950 170 1000 60 1160 60 C1300 60 1360 140 1460 150 L1460 240 L-20 240 Z'/%3E%3C/svg%3E") 0 0 / 100% var(--th-carretera) no-repeat, linear-gradient(#000, #000) 0 calc(var(--th-carretera) - 1px) / 100% 100% no-repeat;
	color:#fff;
	text-align:center;
}

body .th-vistas__fondo {
	position:absolute;
	inset:-18% 0;
	will-change:transform;
}

body .th-vistas__fondo img {
	width:100%;
	height:100%;
	object-fit:cover;
}

body .th-vistas::after {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse at center, rgba(18, 16, 15, 0.45), rgba(18, 16, 15, 0.15) 70%);
}

body .th-vistas__in {
	position:relative;
	z-index:1;
	width:min(900px, 100% - 2 * var(--th-margen));
	padding:100px 0;
}

body .th-vistas__ico {
	width:44px;
	height:44px;
	margin-bottom:18px;
	color:var(--th-cielo);
}

body .th-vistas__frase {
	margin:0 0 18px;
	font-family:var(--th-serif);
	font-size:clamp(2.3rem, 5.4vw, 4.6rem);
	font-style:italic;
	font-weight:500;
	line-height:1.05;
	text-shadow:0 2px 30px rgba(0, 0, 0, 0.3);
}

body .th-vistas__sub {
	margin:0;
	font-size:clamp(1rem, 1.4vw, 1.15rem);
	font-weight:300;
}

/* ---------- Descubre ---------- */

body .th-descubre {
	padding:clamp(80px, 10vw, 140px) 0;
}

body .th-descubre__in {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-descubre__rejilla {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:22px;
}

body .th-lugar {
	position:relative;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border:1px solid var(--th-piedra-2);
	border-radius:var(--th-radio);
	background:#fff;
	color:var(--th-carbon);
	text-decoration:none;
	transition:transform 0.7s var(--th-suave), box-shadow 0.7s var(--th-suave), border-color 0.5s var(--th-suave);
}

html.th-js body .th-lugar.th-revela {
	transition:opacity 1s var(--th-curva), transform 0.7s var(--th-suave), box-shadow 0.7s var(--th-suave), border-color 0.5s var(--th-suave);
}

body .th-lugar:nth-child(even) {
	margin-top:44px;
}

body .th-lugar:hover {
	border-color:transparent;
	box-shadow:var(--th-sombra);
	transform:translateY(-6px);
}

body .th-lugar__ilus {
	display:block;
	overflow:hidden;
	line-height:0;
}

body .th-lugar__ilus .th-ilus {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	transform-origin:50% 100%;
	transition:transform 1.6s var(--th-suave);
}

body .th-lugar:hover .th-ilus {
	transform:scale(1.05);
}

body .th-lugar__cuerpo {
	position:relative;
	display:flex;
	flex:1;
	flex-direction:column;
	gap:6px;
	padding:18px 24px 26px;
	line-height:1.4;
}

body .th-lugar__cuerpo strong {
	font-family:var(--th-serif);
	font-size:1.7rem;
	font-weight:600;
	line-height:1.1;
}

body .th-lugar__cuerpo > span:not(.th-lugar__ir) {
	padding-right:34px;
	color:var(--th-gris-osc);
	font-size:14px;
}

body .th-lugar__ir {
	position:absolute;
	right:20px;
	bottom:24px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border:1px solid var(--th-piedra-2);
	border-radius:50%;
	color:var(--th-verde);
	transition:background-color 0.45s var(--th-suave), color 0.45s var(--th-suave), border-color 0.45s var(--th-suave), transform 0.5s var(--th-suave);
}

body .th-lugar__ir .th-i {
	width:16px;
	height:16px;
}

body .th-lugar:hover .th-lugar__ir {
	border-color:var(--th-verde);
	background:var(--th-verde);
	color:#fff;
	transform:translateX(3px);
}

@media (max-width: 959px) {
	body .th-descubre__rejilla {
		grid-template-columns:repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	body .th-descubre__rejilla {
		gap:12px;
	}
	body .th-lugar:nth-child(even) {
		margin-top:28px;
	}
	body .th-lugar__cuerpo {
		align-items:center;
		padding:12px 10px 16px;
		text-align:center;
	}
	body .th-lugar__cuerpo strong {
		font-size:1.25rem;
	}
	body .th-lugar__cuerpo > span:not(.th-lugar__ir),
	body .th-lugar__ir {
		display:none;
	}
}

/* ---------- Ubicación y cierre ---------- */

body .th-ubica {
	padding:clamp(60px, 7vw, 100px) 0 clamp(80px, 9vw, 130px);
	background:var(--th-piedra);
}

body .th-ubica__in {
	display:grid;
	grid-template-columns:1fr 1fr;
	align-items:center;
	gap:clamp(40px, 6vw, 90px);
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-distancias {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:24px;
	margin:10px 0 28px;
	padding:0;
	list-style:none;
}

body .th-distancias li {
	display:flex;
	flex-direction:column;
	gap:2px;
	padding:18px 18px 16px;
	border-radius:var(--th-radio-btn);
	background:#fff;
	line-height:1.35;
}

body .th-distancias .th-i {
	width:24px;
	height:24px;
	margin-bottom:6px;
	color:var(--th-verde);
}

body .th-distancias strong {
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.9rem;
	font-weight:600;
	line-height:1;
}

body .th-distancias span {
	color:var(--th-gris-osc);
	font-size:14px;
}

body .th-ubica__dir {
	display:flex;
	align-items:center;
	gap:10px;
	margin:0 0 24px;
	font-size:15px;
}

body .th-ubica__dir .th-i {
	color:var(--th-verde);
}

body .th-ubica__btns {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}

body .th-ubica__foto img {
	width:100%;
	aspect-ratio:4 / 5;
	object-fit:cover;
	object-position:center 30%;
	border-radius:var(--th-radio);
	box-shadow:var(--th-sombra);
}

body .th-final {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:clamp(70px, 8vw, 110px) auto 0;
	padding:clamp(40px, 5vw, 64px) var(--th-margen);
	border-radius:var(--th-radio);
	background:var(--th-cielo-2);
	text-align:center;
}

body .th-final__tit {
	margin:0 0 26px;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(2rem, 4vw, 3rem);
	font-weight:600;
	line-height:1.1;
}

body .th-final__btns {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:14px;
}

@media (max-width: 959px) {
	body .th-ubica__in {
		grid-template-columns:1fr;
	}
	body .th-ubica__foto {
		max-width:560px;
	}
	body .th-ubica__foto img {
		aspect-ratio:4 / 3;
	}
}

@media (max-width: 767px) {
	body .th-distancias {
		gap:12px;
	}
	body .th-distancias li {
		align-items:center;
		text-align:center;
	}
	body .th-ubica__btns .th-btn,
	body .th-final__btns .th-btn {
		flex:1 1 100%;
	}
	body .th-ubica__texto {
		text-align:center;
	}
	body .th-ubica__texto .th-pre {
		justify-content:center;
	}
	body .th-ubica__dir {
		justify-content:center;
	}
}

/* ---------- Pie ---------- */

body .th-pie {
	position:relative;
	margin-top:0;
	background:var(--th-carbon);
	color:#cfcac3;
	font-size:15px;
}

body .th-pie a {
	text-decoration:none;
	transition:color 0.4s var(--th-suave), border-color 0.4s var(--th-suave);
}

body .th-pie a:hover {
	color:#fff;
}

body .th-pie__in {
	display:grid;
	grid-template-columns:1.4fr 1.2fr 0.9fr 0.9fr;
	gap:40px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:40px 0 60px;
}

body .th-pie__marca .th-logo {
	box-sizing:content-box;
	width:150px;
	height:auto;
	margin-bottom:24px;
	padding:22px 24px;
	border-radius:22px;
	background:#fff;
	box-shadow:0 12px 30px rgba(0, 0, 0, 0.28);
}

body .th-pie__marca p {
	max-width:320px;
	margin:0;
	font-size:14.5px;
	line-height:1.65;
}

body .th-pie__tit {
	margin:0 0 18px;
	color:#fff;
	font-family:var(--th-serif);
	font-size:1.45rem;
	font-weight:600;
}

body .th-pie__lista {
	display:flex;
	flex-direction:column;
	gap:12px;
	margin:0;
	padding:0;
	list-style:none;
}

body .th-pie__lista a {
	display:flex;
	gap:12px;
	line-height:1.45;
	word-break:break-word;
}

body .th-pie__lista .th-i {
	margin-top:2px;
	color:var(--th-cielo);
}

body .th-pie__lista--simple {
	gap:8px;
}

body .th-pie__redes {
	display:flex;
	gap:10px;
	margin-top:24px;
}

body .th-pie__redes a {
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border:1px solid rgba(255, 255, 255, 0.22);
	border-radius:50%;
}

body .th-pie__redes a:hover {
	border-color:var(--th-cielo);
	color:var(--th-cielo);
}

body .th-pie__legal {
	background:#201f1e;
	font-size:13px;
}

body .th-pie__legal-in {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 30px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:20px 0;
}

body .th-pie__legal p {
	margin:0;
}

body .th-pie__legal ul {
	display:flex;
	flex-wrap:wrap;
	gap:6px 20px;
	margin:0;
	padding:0;
	list-style:none;
}

body .th-pie__firma {
	color:#8f8a83;
}

@media (max-width: 959px) {
	body .th-pie__in {
		grid-template-columns:1fr 1fr;
	}
}

@media (max-width: 767px) {
	body .th-pie__in {
		grid-template-columns:1fr;
		gap:34px;
		text-align:center;
	}
	body .th-pie__marca .th-logo,
	body .th-pie__marca p {
		margin-left:auto;
		margin-right:auto;
	}
	body .th-pie__lista a {
		justify-content:center;
	}
	body .th-pie__redes {
		justify-content:center;
	}
	body .th-pie__legal-in {
		flex-direction:column;
		text-align:center;
	}
	body .th-pie__legal ul {
		justify-content:center;
	}
}

/* ---------- Subcabecera ---------- */

body .th-sub {
	position:relative;
	padding:calc(var(--th-cab-alto) + 70px) 0 90px;
	background:var(--th-piedra);
	color:var(--th-carbon);
	text-align:center;
	--th-sierra-relleno:#fff;
}

body .th-sub--foto {
	margin-top:var(--th-cab-alto);
	padding-top:70px;
	display:flex;
	align-items:flex-end;
	min-height:min(62vh, 560px);
	overflow:hidden;
	padding-bottom:clamp(80px, 9vw, 120px);
	background:var(--th-carbon);
	color:#fff;
}

body .th-sub__fondo {
	position:absolute;
	inset:-14% 0;
	will-change:transform;
}

body .th-sub__fondo img {
	width:100%;
	height:100%;
	object-fit:cover;
}

body .th-sub--foto::before {
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg, rgba(18, 16, 15, 0.45) 0%, rgba(18, 16, 15, 0.2) 45%, rgba(18, 16, 15, 0.65) 100%);
}

body .th-sub__in {
	position:relative;
	z-index:2;
	width:min(900px, 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-sub .th-pre {
	justify-content:center;
}

body .th-sub .th-pre::after {
	content:"";
	width:28px;
	height:1px;
	background:currentColor;
}

body .th-sub--foto .th-pre {
	color:var(--th-cielo);
}

body .th-sub__tit {
	margin:0;
	font-family:var(--th-serif);
	font-size:clamp(2.5rem, 5.6vw, 4.6rem);
	font-weight:600;
	line-height:1.02;
}

body .th-sub__txt {
	max-width:620px;
	margin:16px auto 0;
	font-size:clamp(1rem, 1.4vw, 1.15rem);
	font-weight:300;
}

body .th-sub .th-sierra {
	z-index:3;
}

/* ---------- Contenido de páginas ---------- */

body .th-pagina {
	padding-bottom:clamp(40px, 7vw, 96px);
}

body .th-contenido {
	width:min(840px, 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:clamp(50px, 6vw, 80px) 0;
}

body .th-contenido > *:first-child {
	margin-top:0;
}

body .th-contenido h2 {
	margin:1.6em 0 0.6em;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(1.9rem, 3vw, 2.5rem);
	font-weight:600;
	line-height:1.12;
}

body .th-contenido h3 {
	margin:1.6em 0 0.5em;
	color:var(--th-carbon);
	font-size:1.2rem;
	font-weight:600;
	line-height:1.3;
}

body .th-contenido p {
	margin:0 0 1.1em;
}

body .th-contenido a {
	color:var(--th-verde-osc);
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}

body .th-contenido ul,
body .th-contenido ol {
	margin:0 0 1.3em;
	padding-left:1.3em;
}

body .th-contenido li {
	margin-bottom:0.4em;
}

body .th-contenido li::marker {
	color:var(--th-verde);
}

body .th-contenido .wp-block-image img {
	border-radius:var(--th-radio);
}

body .th-contenido .wp-block-columns {
	display:flex;
	flex-wrap:wrap;
	gap:32px;
	margin:2em 0;
}

body .th-contenido .wp-block-column {
	flex:1 1 260px;
}

body .th-contenido .wp-block-buttons {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin:1.6em 0;
}

body .th-contenido .wp-block-button__link {
	display:inline-flex;
	padding:13px 24px;
	border-radius:var(--th-radio-btn);
	background:var(--th-verde);
	color:#fff;
	font-weight:500;
	text-decoration:none;
}

body .th-contenido .wp-block-quote {
	margin:2em 0;
	padding:6px 0 6px 26px;
	border-left:2px solid var(--th-verde);
	font-family:var(--th-serif);
	font-size:1.5rem;
	font-style:italic;
	line-height:1.35;
}

body .th-contenido .th-destacado {
	padding:26px 28px;
	border-radius:var(--th-radio);
	background:var(--th-piedra);
}

body .th-contenido table {
	width:100%;
	border-collapse:collapse;
	font-size:15px;
}

body .th-contenido th,
body .th-contenido td {
	padding:10px 12px;
	border-bottom:1px solid var(--th-piedra-2);
	text-align:left;
}

/* ---------- Ficha de habitación ---------- */

body .th-ficha {
	padding:clamp(40px, 5vw, 70px) 0 clamp(40px, 5vw, 70px);
}

body .th-ficha__in {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-galeria {
	margin-bottom:clamp(40px, 5vw, 70px);
}

body .th-galeria.th-gal--n4 .th-gal__item:last-child {
	grid-column:span 2;
}

body .th-ficha__cuerpo {
	display:grid;
	grid-template-columns:1fr 380px;
	align-items:start;
	gap:clamp(40px, 6vw, 80px);
}

body .th-ficha__texto p:first-child {
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.6rem;
	line-height:1.35;
}

body .th-ficha__sub {
	margin:34px 0 16px;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.8rem;
	font-weight:600;
}

body .th-checks {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:10px 24px;
	margin:0;
	padding:0;
	list-style:none;
}

body .th-checks li {
	display:flex;
	gap:10px;
	line-height:1.45;
}

body .th-checks li::before {
	content:"";
	flex-shrink:0;
	width:18px;
	height:18px;
	margin-top:3px;
	background-color:var(--th-verde);
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12l5 5l10 -10' /%3E%3C/svg%3E") center / contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12l5 5l10 -10' /%3E%3C/svg%3E") center / contain no-repeat;
}

body .th-ficha__caja {
	position:sticky;
	top:100px;
	display:flex;
	flex-direction:column;
	gap:14px;
	padding:30px;
	border-radius:var(--th-radio);
	background:var(--th-piedra);
}

body .th-ficha__dato {
	display:flex;
	align-items:center;
	gap:12px;
	margin:0;
	padding-bottom:12px;
	border-bottom:1px solid var(--th-piedra-2);
	font-size:15.5px;
}

body .th-ficha__dato .th-ic {
	width:34px;
	height:34px;
}

body .th-ficha__caja .th-btn {
	margin-top:8px;
}

body .th-ficha__nota {
	margin:0;
	color:var(--th-gris-osc);
	font-size:13.5px;
	text-align:center;
}

@media (max-width: 959px) {
	body .th-ficha__cuerpo {
		grid-template-columns:1fr;
	}
	body .th-ficha__caja {
		position:static;
	}
}

@media (max-width: 767px) {
	body .th-checks {
		grid-template-columns:1fr;
	}
	body .th-habs__rejilla--3 .th-hab:nth-child(3) {
		display:none;
	}
}

/* ---------- Sello BMW ---------- */

body .th-bmw-dest {
	display:flex;
	justify-content:center;
	padding:clamp(56px, 7vw, 96px) var(--th-margen) 0;
}

body .th-bmw-dest .th-bmw {
	width:min(280px, 70vw);
	height:auto;
	filter:drop-shadow(0 18px 30px rgba(43, 42, 41, 0.18));
}

/* ---------- Instagram ---------- */

body .th-insta {
	display:flex;
	justify-content:center;
	padding:clamp(44px, 5vw, 64px) var(--th-margen) clamp(24px, 4vw, 56px);
}

body .th-insta__btn {
	display:inline-flex;
	align-items:center;
	gap:18px;
	padding:12px 28px 12px 12px;
	border-radius:999px;
	background:linear-gradient(45deg, #feda75 0%, #fa7e1e 22%, #d62976 50%, #962fbf 78%, #4f5bd5 100%);
	color:#fff;
	text-decoration:none;
	box-shadow:0 18px 36px -18px rgba(214, 41, 118, 0.75);
	transition:transform 0.6s var(--th-suave), box-shadow 0.6s var(--th-suave);
}

body .th-insta__btn:hover {
	color:#fff;
	box-shadow:0 24px 44px -18px rgba(214, 41, 118, 0.9);
	transform:translateY(-3px);
}

body .th-insta__ico {
	display:flex;
	align-items:center;
	justify-content:center;
	width:58px;
	height:58px;
	border-radius:50%;
	background:rgba(255, 255, 255, 0.2);
}

body .th-insta__ico .th-i {
	width:30px;
	height:30px;
}

body .th-insta__txt {
	display:flex;
	flex-direction:column;
	gap:2px;
	line-height:1.2;
	text-align:left;
}

body .th-insta__txt strong {
	font-size:1.2rem;
	font-weight:600;
}

body .th-insta__txt span {
	font-size:0.95rem;
	opacity:0.9;
}

body .th-insta__ir {
	width:22px;
	height:22px;
	margin-left:6px;
	transition:transform 0.5s var(--th-suave);
}

body .th-insta__btn:hover .th-insta__ir {
	transform:translateX(4px);
}

/* ---------- Código copiable ---------- */

body .th-copiar {
	position:relative;
	text-decoration:underline;
	text-decoration-thickness:2px;
	text-underline-offset:4px;
	text-decoration-color:var(--th-verde);
	cursor:copy;
	transition:color 0.4s var(--th-suave);
}

body .th-copiar:hover {
	color:var(--th-verde);
}

body .th-copiar::after {
	content:"¡Copiado!";
	position:absolute;
	left:50%;
	bottom:calc(100% + 8px);
	padding:4px 10px;
	border-radius:6px;
	background:var(--th-carbon);
	color:#fff;
	font-size:12px;
	font-weight:500;
	letter-spacing:0.02em;
	white-space:nowrap;
	pointer-events:none;
	opacity:0;
	transform:translate(-50%, 6px);
	transition:opacity 0.3s var(--th-suave), transform 0.3s var(--th-suave);
}

body .th-copiar.is-copiado::after {
	opacity:1;
	transform:translate(-50%, 0);
}

/* ---------- Colaboradores ---------- */

body .th-colabs {
	padding:clamp(40px, 5vw, 64px) 0 0;
}

body .th-colabs__in {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	text-align:center;
}

body .th-colabs .th-pre {
	justify-content:center;
}

body .th-colabs__lista {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:18px;
	max-width:870px;
	margin:34px auto 0;
	padding:0;
	list-style:none;
}

body .th-colab {
	flex:0 1 calc((100% - 36px) / 3);
}

body .th-colab__caja {
	display:flex;
	align-items:center;
	justify-content:center;
	height:150px;
	padding:20px;
	border:1px solid var(--th-piedra-2);
	border-radius:var(--th-radio);
	background:#fff;
	transition:border-color 0.5s var(--th-suave), box-shadow 0.6s var(--th-suave), transform 0.6s var(--th-suave);
}

body a.th-colab__caja:hover {
	border-color:transparent;
	box-shadow:var(--th-sombra);
	transform:translateY(-4px);
}

body .th-colab__caja img {
	display:block;
	width:var(--w);
	max-width:100%;
	height:auto;
	object-fit:contain;
}

@media (max-width: 767px) {
	body .th-colabs__lista {
		gap:12px;
	}
	body .th-colab {
		flex-basis:calc((100% - 12px) / 2);
	}
	body .th-colab__caja {
		height:120px;
		padding:14px;
	}
	body .th-colab__caja img {
		width:calc(var(--w) * 0.72);
	}
}

/* ---------- Ofertas ---------- */

body .th-ofertas {
	padding:clamp(40px, 6vw, 80px) 0 0;
}

body .th-ofertas__in {
	display:grid;
	gap:28px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-oferta {
	display:grid;
	grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);
	overflow:hidden;
	border-radius:var(--th-radio);
	background:var(--th-piedra);
}

body .th-oferta__foto img {
	width:100%;
	height:100%;
	min-height:280px;
	object-fit:cover;
}

body .th-oferta__txt {
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	justify-content:center;
	gap:12px;
	padding:clamp(28px, 4vw, 52px);
}

body .th-oferta:not(:has(.th-oferta__foto)) {
	grid-template-columns:1fr;
}

body .th-oferta__etq {
	margin:0;
	color:var(--th-verde);
	font-size:12px;
	font-weight:600;
	letter-spacing:0.2em;
	text-transform:uppercase;
}

body .th-oferta__tit {
	margin:0;
	font-family:var(--th-serif);
	font-size:clamp(1.8rem, 3vw, 2.5rem);
	font-weight:600;
	line-height:1.1;
}

body .th-oferta__sub {
	margin:0;
	color:var(--th-texto);
	font-size:1.05rem;
}

body .th-oferta__fecha {
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 8px;
	color:var(--th-gris-osc);
	font-size:14px;
}

body .th-oferta__fecha .th-i {
	color:var(--th-verde);
}

@media (max-width: 767px) {
	body .th-oferta {
		grid-template-columns:1fr;
	}
	body .th-oferta__foto img {
		min-height:0;
		aspect-ratio:16 / 10;
	}
}

/* ---------- Contacto ---------- */

body .th-contacto {
	padding:0 0 clamp(60px, 7vw, 100px);
}

body .th-contacto__in {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:18px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-contacto__caja {
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:6px;
	padding:30px 20px;
	border-radius:var(--th-radio);
	background:var(--th-piedra);
	text-align:center;
	text-decoration:none;
	word-break:break-word;
	transition:transform 0.6s var(--th-suave), box-shadow 0.6s var(--th-suave);
}

body .th-contacto__caja:hover {
	box-shadow:var(--th-sombra);
	transform:translateY(-4px);
}

body .th-contacto__caja .th-i {
	width:30px;
	height:30px;
	margin-bottom:6px;
	color:var(--th-verde);
}

body .th-contacto__caja strong {
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.4rem;
}

body .th-contacto__caja span {
	font-size:14.5px;
}

@media (max-width: 959px) {
	body .th-contacto__in {
		grid-template-columns:repeat(2, 1fr);
	}
}

/* ---------- Legales ---------- */

body .th-legal {
	display:grid;
	grid-template-columns:260px 1fr;
	align-items:start;
	gap:60px;
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:clamp(40px, 5vw, 70px) 0 clamp(80px, 10vw, 150px);
}

body .th-legal__menu {
	position:sticky;
	top:110px;
}

body .th-legal__menu ul {
	margin:0;
	padding:0;
	border-left:1px solid var(--th-piedra-2);
	list-style:none;
}

body .th-legal__menu a {
	display:block;
	margin-left:-1px;
	padding:10px 0 10px 20px;
	border-left:2px solid transparent;
	color:var(--th-gris-osc);
	font-size:15px;
	text-decoration:none;
	transition:color 0.4s var(--th-suave), border-color 0.4s var(--th-suave);
}

body .th-legal__menu a:hover,
body .th-legal__menu a[aria-current="page"] {
	border-color:var(--th-verde);
	color:var(--th-carbon);
}

body .th-contenido--legal {
	width:auto;
	margin:0;
	padding:0;
	font-size:15.5px;
}

body .th-contenido--legal p,
body .th-contenido--legal li {
	text-align:justify;
	hyphens:auto;
	-webkit-hyphens:auto;
}

@media (max-width: 959px) {
	body .th-legal {
		grid-template-columns:1fr;
		gap:30px;
	}
	body .th-legal__menu {
		position:static;
	}
	body .th-legal__menu ul {
		display:flex;
		flex-wrap:wrap;
		gap:8px;
		border:0;
	}
	body .th-legal__menu a {
		margin:0;
		padding:8px 14px;
		border:1px solid var(--th-piedra-2);
		border-radius:30px;
	}
	body .th-legal__menu a[aria-current="page"] {
		border-color:var(--th-verde);
		background:var(--th-verde);
		color:#fff;
	}
}

/* ---------- Megamenú: iconos Tharsis ---------- */

body .th-mega__titulo .th-ic {
	width:30px;
	height:30px;
	margin-right:2px;
}

/* ---------- Pie: botón de cookies ---------- */

body .th-pie__boton {
	padding:0;
	border:0;
	background:none;
	color:inherit;
	font:inherit;
	cursor:pointer;
}

body .th-pie__boton:hover {
	text-decoration:underline;
}

/* ---------- Descubre: inicio ---------- */

body .th-descubre__todo {
	margin:48px 0 0;
	text-align:center;
}

body .th-lugar__ilus--foto img {
	width:100%;
	height:auto;
	aspect-ratio:3 / 2;
	object-fit:cover;
	transition:transform 1.6s var(--th-suave);
}

body .th-lugar:hover .th-lugar__ilus--foto img {
	transform:scale(1.05);
}

/* ---------- Descubre: portada ---------- */

body .th-contenido--intro {
	width:min(780px, 100% - 2 * var(--th-margen));
	padding-bottom:clamp(10px, 2vw, 24px);
	text-align:center;
}

body .th-contenido--intro p:first-child {
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(1.35rem, 2.2vw, 1.7rem);
	line-height:1.35;
}

body .th-desc-hub {
	padding:clamp(30px, 4vw, 50px) 0 clamp(20px, 3vw, 40px);
}

body .th-desc-hub__in {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-desc-hub__rejilla {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:clamp(22px, 3vw, 40px);
}

body .th-dcard {
	position:relative;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border-radius:var(--th-radio);
	background:#fff;
	color:var(--th-carbon);
	text-decoration:none;
	box-shadow:0 0 0 1px var(--th-piedra-2);
	transition:transform 0.7s var(--th-suave), box-shadow 0.7s var(--th-suave);
}

html.th-js body .th-dcard.th-revela {
	transition:opacity 1s var(--th-curva), transform 0.7s var(--th-suave), box-shadow 0.7s var(--th-suave);
}

body .th-dcard:hover {
	box-shadow:var(--th-sombra);
	transform:translateY(-6px);
}

body .th-dcard__foto {
	display:block;
	overflow:hidden;
	aspect-ratio:16 / 9;
	background:var(--th-piedra);
}

body .th-dcard__foto img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1.6s var(--th-suave);
}

body .th-dcard:hover .th-dcard__foto img {
	transform:scale(1.05);
}

body .th-dcard__cuerpo {
	position:relative;
	display:flex;
	flex:1;
	flex-direction:column;
	gap:10px;
	padding:44px clamp(24px, 3vw, 36px) 30px;
}

body .th-dcard__ico {
	position:absolute;
	top:-36px;
	left:clamp(24px, 3vw, 36px);
	display:flex;
	align-items:center;
	justify-content:center;
	width:72px;
	height:72px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 10px 24px -12px rgba(43, 42, 41, 0.45);
}

body .th-dcard__ico .th-ic {
	width:46px;
	height:46px;
}

body .th-dcard:hover .th-ic .f {
	opacity:calc(var(--th-ic-fondo-op, 0.55) + 0.2);
	transform:scale(1.12) rotate(-4deg);
}

body .th-dcard__titulo {
	font-family:var(--th-serif);
	font-size:clamp(1.7rem, 2.6vw, 2.2rem);
	font-weight:600;
	line-height:1.1;
}

body .th-dcard__texto {
	color:var(--th-gris-osc);
	font-size:15.5px;
	line-height:1.6;
}

body .th-dcard__ir {
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:auto;
	padding-top:8px;
	color:var(--th-verde);
	font-size:14px;
	font-weight:500;
	letter-spacing:0.06em;
	text-transform:uppercase;
}

body .th-dcard__ir .th-i {
	width:16px;
	height:16px;
	transition:transform 0.5s var(--th-suave);
}

body .th-dcard:hover .th-dcard__ir .th-i {
	transform:translateX(4px);
}

body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) {
	grid-column:1 / -1;
	flex-direction:row;
}

body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) .th-dcard__foto {
	flex:0 0 50%;
	aspect-ratio:auto;
	min-height:300px;
}

body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) .th-dcard__cuerpo {
	justify-content:center;
	padding:40px clamp(28px, 4vw, 56px);
}

body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) .th-dcard__ico {
	position:static;
	margin-bottom:6px;
}

/* ---------- Descubre: migas ---------- */

body .th-migas {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
	padding:26px 0 0;
}

body .th-migas ol {
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	margin:0;
	padding:0;
	list-style:none;
	color:var(--th-gris-osc);
	font-size:13px;
	letter-spacing:0.03em;
}

body .th-migas li + li::before {
	content:"/";
	margin-right:6px;
	color:var(--th-piedra-2);
}

body .th-migas a {
	color:var(--th-gris-osc);
	text-decoration:none;
}

body .th-migas a:hover {
	color:var(--th-verde);
}

body .th-migas [aria-current] {
	color:var(--th-carbon);
}

/* ---------- Descubre: ficha ---------- */

body .th-lugar-ficha {
	padding:clamp(30px, 4vw, 50px) 0 clamp(50px, 6vw, 90px);
}

body .th-lugar-ficha__in {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 360px;
	align-items:start;
	gap:clamp(40px, 5vw, 72px);
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-lugar-txt > p:first-child {
	margin-top:0;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(1.35rem, 2.1vw, 1.65rem);
	line-height:1.38;
}

body .th-lugar-txt p {
	margin:0 0 1.1em;
}

body .th-lugar-txt a {
	color:var(--th-verde-osc);
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}

body .th-lugar-txt__h2 {
	position:relative;
	margin:2.2em 0 0.9em;
	padding-left:26px;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:clamp(1.8rem, 3vw, 2.4rem);
	font-weight:600;
	line-height:1.1;
}

body .th-lugar-txt__h2::before {
	content:"";
	position:absolute;
	top:0.55em;
	left:0;
	width:14px;
	height:2px;
	background:var(--th-verde);
}

body .th-imps {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:16px;
	margin:0 0 1.6em;
	padding:0;
	list-style:none;
}

body .th-imp {
	display:flex;
	gap:16px;
	padding:20px 20px 18px;
	border-radius:var(--th-radio);
	background:var(--th-piedra);
	transition:background-color 0.5s var(--th-suave), box-shadow 0.6s var(--th-suave), transform 0.6s var(--th-suave);
}

body .th-imp:hover {
	background:#fff;
	box-shadow:var(--th-sombra);
	transform:translateY(-3px);
}

body .th-imp:hover .th-ic .f {
	opacity:calc(var(--th-ic-fondo-op, 0.55) + 0.2);
	transform:scale(1.12) rotate(-4deg);
}

body .th-imp__ico {
	width:52px;
	height:52px;
	margin-top:2px;
}

body .th-imp__txt {
	min-width:0;
}

body .th-imp__tit {
	margin:0 0 4px;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.32rem;
	font-weight:600;
	line-height:1.2;
}

body .th-imp__txt p {
	margin:0;
	color:var(--th-gris-osc);
	font-size:15px;
	line-height:1.6;
}

body .th-lugar-lat {
	position:sticky;
	top:calc(var(--th-cab-alto) + 24px);
	display:flex;
	flex-direction:column;
	gap:22px;
}

body .th-lugar-lat__ilus {
	overflow:hidden;
	border-radius:var(--th-radio);
	line-height:0;
	background:var(--th-cielo-2);
}

body .th-lugar-lat__ilus img,
body .th-lugar-lat__ilus svg {
	width:100%;
	height:auto;
}

body .th-info {
	padding:26px 26px 24px;
	border-radius:var(--th-radio);
	background:#fff;
	box-shadow:0 0 0 1px var(--th-piedra-2), var(--th-sombra);
}

body .th-info__tit {
	margin:0 0 14px;
	color:var(--th-carbon);
	font-family:var(--th-serif);
	font-size:1.55rem;
	font-weight:600;
}

body .th-info__lista {
	margin:0;
}

body .th-info__fila {
	position:relative;
	min-height:60px;
	padding:12px 0 12px 50px;
	border-top:1px solid var(--th-piedra-2);
}

body .th-info__ico {
	position:absolute;
	top:12px;
	left:0;
	width:36px;
	height:36px;
}

body .th-info__fila dt {
	color:#007a3a;
	font-size:12px;
	font-weight:500;
	letter-spacing:0.12em;
	text-transform:uppercase;
}

body .th-info__fila dd {
	margin:2px 0 0;
	color:var(--th-carbon);
	font-size:15px;
	line-height:1.5;
}

body .th-info__botones {
	display:flex;
	flex-direction:column;
	gap:10px;
	margin-top:16px;
}

body .th-info__botones .th-btn {
	justify-content:space-between;
	text-align:left;
}

body .th-quedate {
	padding:28px 26px 24px;
	border-radius:var(--th-radio);
	background:var(--th-carbon);
	color:#dcd8d2;
}

body .th-quedate__pre {
	margin:0 0 6px;
	color:var(--th-cielo);
	font-size:12px;
	font-weight:500;
	letter-spacing:0.16em;
	text-transform:uppercase;
}

body .th-quedate__tit {
	margin:0 0 10px;
	color:#fff;
	font-family:var(--th-serif);
	font-size:1.6rem;
	font-weight:600;
	line-height:1.15;
}

body .th-quedate__txt {
	margin:0 0 18px;
	font-size:15px;
	line-height:1.6;
}

body .th-quedate__wa {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-top:14px;
	color:#fff;
	font-size:14px;
	text-decoration:none;
}

body .th-quedate__wa:hover span {
	text-decoration:underline;
}

body .th-quedate__wa .th-i {
	color:#25d366;
}

/* ---------- Descubre: más planes ---------- */

body .th-desc-mas {
	padding:clamp(60px, 8vw, 110px) 0;
	background:var(--th-piedra);
}

body .th-desc-mas__in {
	width:min(var(--th-ancho), 100% - 2 * var(--th-margen));
	margin:0 auto;
}

body .th-desc-mas__rejilla {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:24px;
}

body .th-mini {
	display:flex;
	flex-direction:column;
	overflow:hidden;
	border-radius:var(--th-radio);
	background:#fff;
	color:var(--th-carbon);
	text-decoration:none;
	transition:transform 0.7s var(--th-suave), box-shadow 0.7s var(--th-suave);
}

body .th-mini:hover {
	box-shadow:var(--th-sombra);
	transform:translateY(-5px);
}

body .th-mini__foto {
	display:block;
	overflow:hidden;
	aspect-ratio:16 / 10;
	background:var(--th-piedra-2);
}

body .th-mini__foto img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 1.4s var(--th-suave);
}

body .th-mini:hover .th-mini__foto img {
	transform:scale(1.05);
}

body .th-mini__cuerpo {
	position:relative;
	display:flex;
	flex-direction:column;
	gap:4px;
	padding:20px 22px 24px 82px;
}

body .th-mini__ico {
	position:absolute;
	top:18px;
	left:20px;
	width:46px;
	height:46px;
}

body .th-mini__tit {
	font-family:var(--th-serif);
	font-size:1.45rem;
	font-weight:600;
	line-height:1.15;
}

body .th-mini__txt {
	color:var(--th-gris-osc);
	font-size:14px;
	line-height:1.5;
}

@media (max-width: 1100px) {
	body .th-lugar-ficha__in {
		grid-template-columns:minmax(0, 1fr) 320px;
	}
	body .th-imps {
		grid-template-columns:1fr;
	}
}

@media (max-width: 959px) {
	body .th-lugar-ficha__in {
		grid-template-columns:1fr;
	}
	body .th-lugar-lat {
		position:static;
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		align-items:start;
	}
	body .th-lugar-lat__ilus {
		display:none;
	}
	body .th-imps {
		grid-template-columns:repeat(2, minmax(0, 1fr));
	}
	body .th-desc-mas__rejilla {
		grid-template-columns:1fr 1fr;
	}
}

@media (max-width: 767px) {
	body .th-desc-hub__rejilla {
		grid-template-columns:1fr;
	}
	body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) {
		flex-direction:column;
	}
	body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) .th-dcard__foto {
		flex:none;
		aspect-ratio:16 / 9;
		min-height:0;
	}
	body .th-desc-hub__rejilla > .th-dcard:last-child:nth-child(odd) .th-dcard__ico {
		position:absolute;
	}
	body .th-dcard__cuerpo {
		padding:42px 22px 24px;
	}
	body .th-imps {
		grid-template-columns:1fr;
	}
	body .th-imp {
		padding:16px;
	}
	body .th-imp__ico {
		width:44px;
		height:44px;
	}
	body .th-lugar-lat {
		grid-template-columns:1fr;
	}
	body .th-desc-mas__rejilla {
		grid-template-columns:1fr;
	}
}

body .th-info__botones .th-btn {
	flex-direction:row-reverse;
}

body .th-imps > .th-imp:last-child:nth-child(odd) {
	grid-column:1 / -1;
}
