@charset "UTF-8";
/* TFLC · Landing */

:root {
	--lc-oscuro: #292523;
	--lc-granate: #77252f;
	--lc-coral: #e86853;
	--lc-crema: #e4cdb5;
	--lc-fondo: #f6efe7;
	--lc-blanco: #ffffff;
	--lc-rojo: #d41f2e;
	--lc-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--lc-sans: 'DM Sans', Helvetica, Arial, sans-serif;
	--lc-narrow: 'Helsinki Narrow', 'Roboto Condensed', 'Arial Narrow', sans-serif;
	/* Contenido a 1200px centrado; margen mínimo proporcional (120px a 1440) */
	--lc-gutter: max(120px, calc((100vw - 1200px) / 2));
	--lc-pad-y: 104px;
	--lc-header-h: 83px;
}

html { scroll-behavior: smooth; scroll-padding-top: var(--lc-header-h); }
body { background: var(--lc-fondo); }

.lc {
	font-family: var(--lc-sans);
	font-size: 16px;
	line-height: 1.55;
	color: var(--lc-oscuro);
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
}
/* Reset con especificidad 0 (:where) para que las clases lc-* siempre ganen */
:where(.lc) *, :where(.lc) *::before, :where(.lc) *::after { box-sizing: border-box; }
.lc :where(h1, h2, p, ul, dl, dd, figure, blockquote, address) { margin: 0; padding: 0; }
.lc :where(ul) { list-style: none; }
:where(.lc) img { max-width: 100%; }
:where(.lc) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:where(.lc) a, :where(.lc) a:hover, :where(.lc) a:focus { color: inherit; text-decoration: none; }

/* Pie genérico del layout core: la landing trae el suyo */
#footer { display: none; }

/* ---------- Tipografía ---------- */
.lc-eyebrow {
	font-family: var(--lc-sans);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--lc-granate);
}
.lc-eyebrow--white { color: var(--lc-blanco); }
.lc-eyebrow--coral { color: var(--lc-coral); }
.lc-eyebrow--rojo { color: var(--lc-rojo); }
.lc-eyebrow--crema { color: var(--lc-crema); }
.lc-h2 {
	font-family: var(--lc-serif);
	font-weight: 400;
	font-size: 46px;
	line-height: 1.12;
	letter-spacing: -.005em;
	color: var(--lc-oscuro);
}
.lc-lead { font-size: 19px; line-height: 1.55; opacity: .9; }
.lc-body { font-size: 16px; line-height: 1.55; opacity: .8; }

/* ---------- Botones ---------- */
.lc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 28px;
	border-radius: 33px;
	border: 1.5px solid transparent;
	font-family: var(--lc-narrow);
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color .2s, color .2s, border-color .2s, opacity .2s;
}
.lc .lc-btn--coral { background: var(--lc-coral); color: var(--lc-blanco); }
.lc .lc-btn--coral:hover { background: #d9573f; color: var(--lc-blanco); }
.lc .lc-btn--granate { background: var(--lc-granate); color: var(--lc-blanco); }
.lc .lc-btn--granate:hover { background: #5f1d25; color: var(--lc-blanco); }
.lc .lc-btn--light { border-color: var(--lc-blanco); color: var(--lc-blanco); }
.lc .lc-btn--light:hover { background: var(--lc-blanco); color: var(--lc-oscuro); }
.lc .lc-btn--outline { border-color: var(--lc-granate); color: var(--lc-granate); }
.lc .lc-btn--outline:hover { background: var(--lc-granate); color: var(--lc-blanco); }
.lc .lc-btn--rojo { background: var(--lc-rojo); color: var(--lc-blanco); }
.lc .lc-btn--rojo:hover { background: #b51a27; color: var(--lc-blanco); }
.lc .lc-btn--oscuro { background: var(--lc-oscuro); color: var(--lc-blanco); }
.lc .lc-btn--oscuro:hover { background: #000; color: var(--lc-blanco); }
.lc .lc-btn--outline-rojo { border-color: var(--lc-rojo); color: var(--lc-rojo); }
.lc .lc-btn--outline-rojo:hover { background: var(--lc-rojo); color: var(--lc-blanco); }
.lc-btn--block { display: flex; width: 100%; }

/* ---------- Secciones ---------- */
.lc-sec { padding: var(--lc-pad-y) var(--lc-gutter); }
.lc-sec--crema { background: var(--lc-crema); }
.lc-sec--fondo { background: var(--lc-fondo); }
.lc-sec--granate { background: var(--lc-granate); }
.lc-sec--blanco { background: var(--lc-blanco); }
.lc-sec--rojo { background: var(--lc-rojo); color: var(--lc-blanco); }
.lc-sec--oscuro { background: var(--lc-oscuro); color: var(--lc-blanco); }
.lc-sec--rojo .lc-h2, .lc-sec--oscuro .lc-h2 { color: var(--lc-blanco); }
.lc-sec--rojo .lc-facts dt { color: var(--lc-crema); }

.lc-split { display: grid; align-items: center; gap: 72px; }
.lc-split__text { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }

.lc-facts { display: flex; flex-wrap: wrap; gap: 16px 40px; }
.lc-facts > div { display: flex; flex-direction: column; gap: 4px; }
.lc-facts dt {
	font-family: var(--lc-serif);
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
	color: var(--lc-granate);
	white-space: nowrap;
}
.lc-facts dd { font-size: 14px; line-height: 1.5; opacity: .75; }

/* ---------- Idiomas ---------- */
.lc-langs {
	font-weight: 600;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: .12em;
	color: var(--lc-crema);
	white-space: nowrap;
}
.lc-langs a { color: inherit; text-decoration: none; }
.lc-langs a.is-active { color: var(--lc-blanco); }

/* ---------- Cabecera ---------- */
.lc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--lc-rojo);
}
.lc-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px var(--lc-gutter);
}
.lc-header__logo img { display: block; width: 222px; height: auto; }
.lc-header__actions { display: flex; align-items: center; gap: 28px; }
.lc-header__tel { font-size: 14px; line-height: 1.5; color: var(--lc-blanco); white-space: nowrap; transition: color .2s; }
.lc-header__tel:hover, .lc-header__tel:focus { color: var(--lc-crema); }
.lc-header__nav { display: flex; gap: 22px; margin: 0 auto; padding: 0 24px; }
.lc-header__nav a { font-size: 14px; line-height: 1.5; color: var(--lc-blanco); white-space: nowrap; transition: color .2s; }
.lc-header__nav a:hover, .lc-header__nav a:focus { color: var(--lc-crema); }
@media (max-width: 1439px) { .lc-header__tel { display: none; } }
@media (max-width: 1279px) { .lc-header__nav { display: none; } }
.lc-header__burger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; }
/* Con menú: los enlaces van solo en la hamburguesa, que también se muestra en escritorio */
.lc-header--menu .lc-header__nav { display: none; }
.lc-header--menu .lc-header__actions { margin-left: auto; }
.lc-header--menu .lc-header__burger { display: flex; }

/* ---------- Menú móvil ---------- */
.lc-menu {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding: 14px 20px 32px;
	background: var(--lc-oscuro);
	color: var(--lc-crema);
	overflow-y: auto;
}
.lc-menu[hidden] { display: none; }
/* Entrada: fundido + desplazamiento, enlaces escalonados */
.lc-menu { opacity: 0; transform: translateY(-12px); transition: opacity .3s ease, transform .3s ease; }
.lc-menu.is-visible { opacity: 1; transform: none; }
.lc-menu__nav li, .lc-menu__meta, .lc-menu > .lc-btn { opacity: 0; transform: translateY(16px); transition: opacity .4s ease, transform .4s ease; }
.lc-menu.is-visible .lc-menu__nav li, .lc-menu.is-visible .lc-menu__meta, .lc-menu.is-visible > .lc-btn { opacity: 1; transform: none; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(1) { transition-delay: .08s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(2) { transition-delay: .12s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(3) { transition-delay: .16s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(4) { transition-delay: .20s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(5) { transition-delay: .24s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(6) { transition-delay: .28s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(7) { transition-delay: .32s; }
.lc-menu.is-visible .lc-menu__nav li:nth-child(8) { transition-delay: .36s; }
.lc-menu.is-visible .lc-menu__meta { transition-delay: .40s; }
.lc-menu.is-visible > .lc-btn { transition-delay: .44s; }
.lc-menu__top { display: flex; align-items: center; justify-content: space-between; }
.lc-menu__close { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }
.lc-menu__nav a {
	display: block;
	padding: 16px 0;
	border-bottom: 1px solid rgba(228, 205, 181, .25);
	font-family: var(--lc-serif);
	font-size: 28px;
	line-height: 1.2;
	color: var(--lc-crema);
}
.lc-menu__meta { display: flex; flex-direction: column; align-items: center; gap: 34px; text-align: center; }
.lc-menu__meta .lc-langs { font-size: 16px; color: var(--lc-crema); }
.lc-menu__tel { font-size: 20px; color: var(--lc-crema); opacity: .8; transition: color .2s; }
.lc-menu__tel:hover, .lc-menu__tel:focus { color: var(--lc-coral); }
.lc-menu > .lc-btn { margin-top: auto; }
/* Escritorio: panel lateral derecho con la página oscurecida detrás */
@media (min-width: 992px) {
	.lc-menu {
		inset: 0 0 0 auto;
		width: min(460px, 100%);
		padding: 18px 48px 48px;
		transform: translateX(32px);
		box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .55);
	}
	.lc-menu.is-visible { transform: none; }
	.lc-menu__top > img { visibility: hidden; } /* el logo ya se ve en la cabecera */
	.lc-menu__nav a { font-size: 32px; transition: color .2s, padding-left .2s; }
	.lc-menu__nav a:hover, .lc-menu__nav a:focus { color: var(--lc-coral); padding-left: 8px; }
	.lc-menu__meta { align-items: flex-start; text-align: left; }
}

/* ---------- Hero ---------- */
.lc-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 619px;
	padding: 88px 0 88px var(--lc-gutter);
	background: var(--lc-rojo);
	overflow: hidden;
}
.lc-hero__ornament {
	position: absolute;
	top: 10px;
	right: calc(var(--lc-gutter) - 156px);
	width: 673px;
	height: auto;
	pointer-events: none;
}
.lc-hero__text {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	color: var(--lc-blanco);
}
.lc-hero__title {
	font-family: var(--lc-serif);
	font-weight: 400;
	font-size: 68px;
	line-height: 1.05;
	letter-spacing: -.01em;
	color: var(--lc-crema);
}
.lc-hero__title span { color: var(--lc-blanco); }
.lc-hero__sub { max-width: 500px; margin: -4px 0 0; font-family: var(--lc-sans, inherit); font-size: 19px; font-weight: 400; line-height: 1.5; letter-spacing: 0; color: var(--lc-blanco); }
.lc-hero__lead { max-width: 560px; font-size: 19px; line-height: 1.55; }
.lc-hero__ctas { display: flex; flex-wrap: wrap; gap: 16px; }
.lc-hero__rating { font-size: 14px; line-height: 1.5; color: var(--lc-blanco); }
.lc .lc-hero__rating a { color: inherit; transition: color .2s; }
.lc .lc-hero__rating a:hover, .lc .lc-hero__rating a:focus { color: var(--lc-crema); }
.lc-hero__media {
	position: absolute;
	right: calc(var(--lc-gutter) - 120px);
	bottom: 0;
	width: clamp(600px, calc(100vw - 740px), 720px);
	height: 100%;
}
/* Foto apaisada: contain para no cortar las manos, pegada abajo a la derecha */
.lc-hero__media img { width: 100%; height: 100%; object-fit: contain; object-position: right bottom; }

/* ---------- Entradas ---------- */
.lc-tickets { display: flex; flex-direction: column; align-items: center; gap: 40px; }
.lc-sec__head { display: flex; flex-direction: column; gap: 14px; }
.lc-sec__head--center { align-items: center; text-align: center; }
.lc-tickets__intro { max-width: 560px; opacity: .8; }
.lc-accordion { width: 100%; max-width: 960px; }
.lc-acc {
	color: var(--lc-oscuro);
	background: var(--lc-blanco);
	border-top: 1px solid var(--lc-crema);
	border-bottom: 1px solid var(--lc-crema);
	transition: background-color .2s;
}
.lc-acc.is-open { background: var(--lc-fondo); }
.lc-acc__heading { margin: 0; font: inherit; }
.lc-acc__head {
	display: flex;
	align-items: center;
	gap: 24px;
	width: 100%;
	padding: 28px 32px;
	text-align: left;
}
.lc-acc__titles { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.lc-acc__title { font-family: var(--lc-serif); font-weight: 600; font-size: 28px; line-height: 1.2; }
.lc-acc__summary { font-size: 14px; line-height: 1.5; opacity: .75; }
.lc-acc__price {
	font-family: var(--lc-serif);
	font-weight: 600;
	font-size: 30px;
	line-height: 1.1;
	color: var(--lc-granate);
	white-space: nowrap;
}
.lc-acc__icon { flex: none; transition: transform .25s; }
.lc-acc.is-open .lc-acc__icon { transform: rotate(180deg); }
.lc-acc__body { overflow: hidden; transition: height .35s ease; }
.lc-acc__body[hidden] { display: none; }
.lc-acc__inner { display: flex; align-items: flex-start; gap: 32px; padding: 0 32px 28px; transition: opacity .35s ease, transform .35s ease; }
.lc-acc:not(.is-open) .lc-acc__inner { opacity: 0; transform: translateY(-8px); }
.lc-acc__photo { flex: none; width: 320px; height: 240px; border-radius: 2px; overflow: hidden; }
.lc-acc__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 20% 0; }
.lc-acc__text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.lc-acc__text li::before { content: "·"; display: inline-block; width: .6em; }
.lc-acc__detalles-btn { margin-left: 6px; padding: 0; border: 0; background: none; color: #77252f; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.lc-acc__detalles { padding-left: .6em; overflow: hidden; transition: height .35s ease; }
.lc-acc__detalles p { padding-top: 6px; font-size: .9em; transition: opacity .35s ease, transform .35s ease; }
.lc-acc__detalles:not(.is-open) p { opacity: 0; transform: translateY(-6px); }
/* Entrada más cara: borde coral y etiqueta "Recomendado" */
.lc-acc--destacada { position: relative; border: 2px solid var(--lc-coral); }
.lc-acc__tag {
	position: absolute;
	top: -14px;
	left: 24px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px 6px 10px;
	border-radius: 14px;
	background: var(--lc-rojo);
	font-weight: 700;
	font-size: 12px;
	line-height: normal;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lc-blanco);
}

/* ---------- El tablao · vídeo ---------- */
.lc-tablao { grid-template-columns: minmax(0, 488fr) minmax(0, 640fr); padding-bottom: 0; }
.lc-video {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 2px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.lc-video__poster, .lc-video iframe, .lc-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; border: 0; }
.lc-video video { object-fit: contain; background: #000; }
.lc-video iframe, .lc-video video { opacity: 0; transition: opacity .5s ease; }
.lc-video iframe.is-loaded, .lc-video video.is-loaded { opacity: 1; }
.lc-video__play {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 53px;
	border-radius: 48px;
	background: #ffff;
	transition: transform .2s;
}
.lc-video__play:hover { transform: scale(1.08); }
.lc-video:not([data-lc-video]) .lc-video__play { cursor: default; }
.lc-video:not([data-lc-video]) .lc-video__play:hover { transform: none; }
.lc-video:fullscreen { border-radius: 0; }
.lc-video__close {
	display: none;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 22px;
	border: 1px solid var(--lc-crema) !important;
	background: #fff;
}
.lc-video:fullscreen .lc-video__close { display: flex; }
.lc-video:-webkit-full-screen .lc-video__close { display: flex; }

/* ---------- La experiencia ---------- */
.lc-experience { grid-template-columns: minmax(0, 560fr) minmax(0, 568fr); }
.lc-experience .lc-h2 { color: var(--lc-fondo); }
.lc-experience .lc-lead { color: var(--lc-crema); opacity: 1; }
.lc-experience .lc-facts { gap: 16px 32px; }
.lc-experience .lc-facts dt { color: var(--lc-fondo); }
.lc-experience .lc-facts dd { color: var(--lc-crema); opacity: 1; }
.lc-slider { min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.lc-slider__window { overflow: hidden; aspect-ratio: 560 / 480; }
.lc-slider__track { display: flex; gap: 24px; height: 100%; transition: transform .45s ease; }
.lc-slider__slide {
	flex: 0 0 100%;
	height: 100%;
	border-radius: 2px;
	overflow: hidden;
	background: var(--lc-crema);
	display: flex;
	align-items: center;
	justify-content: center;
}
.lc-slider__slide img { width: 100%; height: 100%; object-fit: cover; object-position: 30% 0; }
.lc-slider__placeholder { font-weight: 600; font-size: 13px; letter-spacing: .12em; opacity: .6; }
.lc-slider__controls { display: flex; align-items: center; justify-content: space-between; }
.lc-slider__arrows { display: flex; gap: 12px; }
.lc-slider__arrow {
	width: 48px;
	height: 48px;
	border-radius: 24px;
	border: 1.5px solid var(--lc-crema) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color .2s;
}
.lc-slider__arrow:hover { background: rgba(228, 205, 181, .15); }
.lc-slider__dots { display: flex; gap: 8px; }
.lc-slider__dot {
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: var(--lc-crema) !important;
	opacity: .5;
	transition: width .25s, background-color .25s, opacity .25s;
}
.lc-slider__dot.is-active { width: 24px; background: var(--lc-blanco) !important; opacity: 1; }

/* ---------- Elenco semanal ---------- */
.lc-elenco { display: flex; flex-direction: column; gap: 48px; background: var(--lc-oscuro); }
.lc-elenco__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; }
.lc-elenco .lc-h2 { color: var(--lc-fondo); }
.lc-elenco__week {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 20px;
	border: 1px solid var(--lc-crema);
	border-radius: 24px;
	font-weight: 600;
	font-size: 16px;
	line-height: normal;
	color: var(--lc-crema);
	white-space: nowrap;
	position: relative;
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.lc-elenco__week:hover, .lc-elenco__week:focus-visible, .lc-dd.is-open .lc-elenco__week { border-color: var(--lc-coral); outline: none; }
.lc-elenco__chevron { filter: brightness(0) invert(.9); transition: transform .2s; }
.lc-dd.is-open .lc-elenco__chevron { transform: rotate(180deg); }

/* Desplegable de días */
.lc-dd { position: relative; }
.lc-dd__btn { width: 100%; margin: 0; background: transparent; font-family: inherit; text-align: left; }
.lc-dd__value { flex: 1; }
.lc-dd__list {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 20;
	min-width: 100%;
	max-height: 320px;
	margin: 0;
	padding: 6px;
	list-style: none;
	overflow-y: auto;
	background: var(--lc-fondo);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
	outline: none;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity .15s, transform .15s;
}
.lc-dd__list[hidden] { display: none; }
.lc-dd.is-open .lc-dd__list { opacity: 1; transform: none; }
.lc-dd__opt {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 15px;
	line-height: 1.3;
	color: var(--lc-oscuro);
	white-space: nowrap;
	cursor: pointer;
}
.lc-dd__opt::before { content: ''; flex: 0 0 8px; height: 8px; border-radius: 50%; }
.lc-dd__opt.is-active { background: var(--lc-crema); }
.lc-dd__opt[aria-selected="true"] { font-weight: 600; color: var(--lc-granate); }
.lc-dd__opt[aria-selected="true"]::before { background: var(--lc-coral); }
.lc-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lc-elenco__list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 24px; }
.lc-elenco__list[hidden] { display: none; }
.lc-artist { display: flex; flex-direction: column; gap: 4px; }
.lc-artist__photo { width: 100%; height: 294px; margin-bottom: 10px; border-radius: 4px; object-fit: cover; background: var(--lc-crema); }
.lc-artist__rol { font-weight: 600; font-size: 12px; line-height: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--lc-rojo); }
.lc-artist__name { font-family: var(--lc-serif); font-weight: 600; font-size: 22px; line-height: normal; color: var(--lc-fondo); }
.lc-elenco__note { font-size: 14px; line-height: normal; color: var(--lc-crema); opacity: .7; }

/* ---------- Reseñas ---------- */
.lc-reviews { display: flex; flex-direction: column; gap: 40px; }
.lc-reviews__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 40px; flex-wrap: wrap; }
.lc-reviews__rating { opacity: .8; }
.lc .lc-reviews__rating a { color: inherit; transition: color .2s; }
.lc .lc-reviews__rating a:hover, .lc .lc-reviews__rating a:focus { color: var(--lc-coral); }
.lc-reviews__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.lc-review {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
	background: var(--lc-blanco);
	border: 1px solid var(--lc-crema);
}
.lc-review__stars { color: var(--lc-coral); }
.lc-review__text { font-size: 19px; line-height: 1.55; }
.lc-review__author { margin-top: auto; font-size: 14px; line-height: 1.5; opacity: .7; }

/* ---------- Preguntas frecuentes ---------- */
.lc-faq { display: grid; grid-template-columns: 360px minmax(0, 1fr); align-items: start; gap: 80px; }
.lc-faq__text { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
@media (min-width: 992px) { .lc-faq__text { position: sticky; top: calc(var(--lc-header-h) + 32px); } }
.lc .lc-faq__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-top: 6px;
	font-weight: 600;
	line-height: normal;
	color: var(--lc-granate);
	text-decoration: underline;
}
.lc-faq__link img { transition: transform .2s; }
.lc-faq__link:hover img { transform: translateX(4px); }
.lc-faq__list { border-top: 1px solid var(--lc-oscuro); }
.lc-faq__item { border-bottom: 1px solid var(--lc-oscuro); }
.lc-faq__heading { margin: 0; font: inherit; }
.lc-faq__question {
	display: flex;
	align-items: center;
	gap: 24px;
	width: 100%;
	padding: 24px 0;
	font-family: var(--lc-serif);
	font-size: 22px;
	line-height: normal;
	text-align: left;
}
.lc-faq__icon {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-left: auto;
	border: 1.5px solid var(--lc-granate);
	border-radius: 18px;
	transition: background-color .2s;
}
.lc-faq__close, .lc-faq__item.is-open .lc-faq__open { display: none; }
.lc-faq__item.is-open .lc-faq__close { display: block; }
.lc-faq__item.is-open .lc-faq__icon { background: var(--lc-granate); }
.lc-faq__answer { margin-top: -12px; overflow: hidden; transition: height .35s ease; }
.lc-faq__answer[hidden] { display: none; }
.lc-faq__answer p { padding-bottom: 24px; font-size: 16px; line-height: 1.6; opacity: .8; }

/* ---------- Blog (tarjetas en home, listado y artículo) ---------- */
.lc-blog { display: flex; flex-direction: column; gap: 48px; }
.lc-blog__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; }
.lc-blog__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lc-post { display: flex; flex-direction: column; background: var(--lc-blanco); border: 1px solid var(--lc-crema); }
.lc-post__media { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; background: var(--lc-granate); }
.lc-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.lc-post__media .lc-post__ornament { width: 46%; height: auto; aspect-ratio: 673 / 764; object-fit: fill; filter: brightness(0) invert(1); opacity: .18; }
.lc-post:hover .lc-post__media img { transform: scale(1.04); }
.lc-post__body { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 28px; }
.lc-post__date { font-weight: 600; font-size: 12px; line-height: normal; letter-spacing: .1em; text-transform: uppercase; color: var(--lc-coral); }
.lc-post__title { margin: 0; font-family: var(--lc-serif); font-weight: 400; font-size: 24px; line-height: 1.25; }
.lc .lc-post__title a:hover { color: var(--lc-granate); }
.lc-post__excerpt { font-size: 15px; line-height: 1.55; opacity: .75; }
.lc .lc-post__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 8px; font-weight: 600; line-height: normal; color: var(--lc-granate); text-decoration: underline; }
.lc-post__more img { transition: transform .2s; }
.lc-post__more:hover img { transform: translateX(4px); }

/* ---------- Ubicación ---------- */
.lc-location { display: grid; grid-template-columns: minmax(0, 456fr) minmax(0, 680fr); align-items: center; gap: 64px; }
.lc-location__text { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.lc-location .lc-h2 { max-width: 456px; }
.lc-location__address { font-style: normal; font-size: 19px; line-height: 1.55; opacity: .85; }
.lc-location__map { display: block; aspect-ratio: 680 / 380; overflow: hidden; }
.lc-location__map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Pie ---------- */
.lc-footer { display: flex; flex-direction: column; gap: 28px; padding: 48px var(--lc-gutter); background: var(--lc-oscuro); color: var(--lc-blanco); }
.lc-footer__brand { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lc-footer__brand > .lc-footer__logo { display: inline-block; line-height: 0; }
.lc-footer__logo img { width: 222px; height: auto; }
.lc-social { display: flex; gap: 10px; }
.lc-social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 22px;
	border: 1.2px solid var(--lc-blanco);
	transition: background-color .2s;
}
.lc-social a:hover { background: rgba(255, 255, 255, .12); }
/* Iconos RRSS oscuros en origen: se pasan a blanco sobre el pie oscuro */
.lc-social img { filter: brightness(0) invert(1); }
.lc-footer__menu { padding-top: 24px; border-top: 1px solid var(--lc-blanco); }
.lc-footer__menu ul { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 0; padding: 0; list-style: none; font-family: var(--lc-sans); font-size: 15px; font-weight: 500; line-height: 1.5; }
.lc-footer__menu a { transition: color .2s; }
.lc-footer__menu a:hover { color: var(--lc-crema); text-decoration: underline; }
.lc-footer__legal { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 24px; border-top: 1px solid var(--lc-blanco); }
.lc-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; line-height: 1.5; }
.lc-legal a:hover { text-decoration: underline; }
.lc-footer__nav { display: flex; flex-direction: column; gap: 12px; }
.lc-footer__copy { margin: 0; padding-top: 32px; font-size: 12px; line-height: normal; opacity: .7; }
.lc-footer__badge { width: 64px; height: 64px; object-fit: contain; background: var(--lc-blanco); }

/* ---------- Flotantes ---------- */
.lc-whatsapp {
	position: fixed;
	right: 32px;
	bottom: 32px;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 28px;
	background: #25d366;
	filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .25));
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px);
	transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
}
.lc-whatsapp.is-visible {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}
/* Botón flotante de preferencias de cookies (core) oculto: se reabre desde la política de cookies */
body #cc-show-preferences-modal { display: none; }
.lc-buybar { display: none; }

/* ---------- Modal compra ---------- */
.lc-buy { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 24px; }
.lc-buy[hidden] { display: none; }
.lc-buy { opacity: 0; transition: opacity .3s ease; }
.lc-buy.is-visible { opacity: 1; }
.lc-buy__veil { position: absolute; inset: 0; background: rgba(41, 37, 35, .55); }
.lc-buy__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 600px;
	max-width: 100%;
	height: 920px;
	max-height: 100%;
	background: var(--lc-blanco);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(41, 36, 33, .35);
	transform: translateY(24px) scale(.98);
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}
.lc-buy.is-visible .lc-buy__panel { transform: none; }
.lc-buy__handle { display: none; }
.lc-buy__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px 18px 32px;
	border-bottom: 1px solid var(--lc-crema);
}
.lc-buy__title { font-family: var(--lc-serif); font-weight: 600; font-size: 22px; line-height: 1.2; }
.lc-buy__close {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 22px;
	border: 1px solid var(--lc-crema) !important;
}
.lc-buy__frame { position: relative; flex: 1 1 0; min-height: 0; background: var(--lc-fondo); }
.lc-buy__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; transition: opacity .4s ease; }
/* Cargando iframe: spinner y iframe oculto hasta el evento load */
.lc-buy__frame.is-loading iframe { opacity: 0; }
.lc-buy__frame.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 36px;
	height: 36px;
	margin: -18px 0 0 -18px;
	border: 3px solid var(--lc-crema);
	border-top-color: var(--lc-granate);
	border-radius: 50%;
	animation: lc-spin .8s linear infinite;
}
@keyframes lc-spin { to { transform: rotate(360deg); } }
.lc-buy__placeholder {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 14px;
	text-align: center;
	opacity: .6;
}
.lc-buy__placeholder .lc-eyebrow { color: var(--lc-oscuro); }
body.lc-lock { overflow: hidden; }

/* =========================================================
   Animaciones de carga y scroll
   ========================================================= */
@keyframes lc-fade-up {
	from { opacity: 0; transform: translateY(28px); filter: blur(6px); }
	to { opacity: 1; transform: none; filter: none; }
}
@keyframes lc-fade-down {
	from { opacity: 0; transform: translateY(-24px); }
	to { opacity: 1; transform: none; }
}
@keyframes lc-media-in {
	from { opacity: 0; clip-path: inset(12% 0 0 0); transform: scale(1.06); }
	to { opacity: 1; clip-path: inset(0); transform: none; }
}
@keyframes lc-ornament-in {
	from { opacity: 0; transform: rotate(-10deg) scale(.88); }
	to { opacity: 1; transform: none; }
}

/* Carga: cabecera, texto del hero escalonado, imagen y ornamento */
.lc-header__inner { animation: lc-fade-down .7s cubic-bezier(.2, .8, .2, 1) both; }
.lc-hero__text > * { animation: lc-fade-up .9s cubic-bezier(.2, .8, .2, 1) both; }
.lc-hero__text > :nth-child(1) { animation-delay: .25s; }
.lc-hero__text > :nth-child(2) { animation-delay: .35s; }
.lc-hero__text > :nth-child(3) { animation-delay: .45s; }
.lc-hero__text > :nth-child(4) { animation-delay: .55s; }
.lc-hero__text > :nth-child(5) { animation-delay: .65s; }
.lc-hero__media { animation: lc-media-in 1.2s cubic-bezier(.2, .8, .2, 1) .2s both; }
.lc-hero__ornament { animation: lc-ornament-in 1.4s cubic-bezier(.2, .8, .2, 1) .1s both; transform-origin: 60% 40%; }

/* Scroll: landing.js añade .lc-reveal y después .is-in al entrar en pantalla */
.lc-reveal {
	opacity: 0;
	transform: translateY(32px);
	filter: blur(4px);
	transition: opacity .8s cubic-bezier(.2, .8, .2, 1), transform .8s cubic-bezier(.2, .8, .2, 1), filter .8s cubic-bezier(.2, .8, .2, 1);
}
.lc-reveal--zoom { transform: scale(.96); }
.lc-reveal.is-in { opacity: 1; transform: none; filter: none; }

@media (prefers-reduced-motion: reduce) {
	.lc-header__inner, .lc-hero__text > *, .lc-hero__media, .lc-hero__ornament { animation: none; }
	.lc-reveal { opacity: 1; transform: none; filter: none; }
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1279px) {
	:root { --lc-gutter: 64px; }
	.lc-hero__title { font-size: 56px; }
	.lc-hero__media { width: 44%; right: 0; }
	.lc-hero__ornament { right: -120px; }
	.lc-split, .lc-location { gap: 48px; }
	.lc-facts dt { font-size: 24px; }
}

@media (max-width: 991px) {
	:root { --lc-gutter: 20px; --lc-pad-y: 64px; --lc-header-h: 72px; }

	.lc-h2 { font-size: 32px; }
	.lc-lead { font-size: 17px; }

	/* Cabecera */
	.lc-header__inner { padding: 14px 20px; min-height: 72px; }
	.lc-header__logo img { width: 140px; }
	.lc-header__actions { display: none; }
	.lc-header__burger { display: flex; }

	/* Hero */
	.lc-hero { flex-direction: column; align-items: stretch; min-height: 0; padding: 20px 20px 0; gap: 0; }
	.lc-hero__text { max-width: none; }
	.lc-hero__title { font-size: 40px; }
	.lc-hero__lead { font-size: 18px; }
	.lc-hero__ctas { flex-direction: column; width: 100%; gap: 12px; }
	.lc-hero__ctas .lc-btn { width: 100%; }
	.lc-hero__rating { align-self: center; text-align: center; }
	.lc-hero__media { position: relative; right: auto; width: 100%; height: auto; aspect-ratio: 350 / 343; margin-top: 0; }
	.lc-hero__ornament { top: auto; bottom: -70px; right: -126px; width: 521px; }

	/* Entradas */
	.lc-acc__head { flex-wrap: wrap; gap: 12px 16px; padding: 24px 20px; }
	.lc-acc__titles { order: 1; }
	.lc-acc__icon { order: 2; }
	.lc-acc__price { order: 3; width: 100%; text-align: right; }
	.lc-acc__title { font-size: 24px; }
	.lc-acc__inner { flex-direction: column; gap: 20px; padding: 0 20px 24px; }
	.lc-acc__photo { width: 100%; height: auto; aspect-ratio: 4 / 3; }
	.lc-acc__text .lc-btn { width: 100%; }
	.lc-acc__tag { left: 16px; }

	/* Elenco: tarjetas con scroll horizontal hasta el borde */
	.lc-elenco { gap: 28px; }
	.lc-elenco__head { flex-direction: column; align-items: stretch; }
	.lc-elenco__week { justify-content: flex-start; padding: 10px 16px; font-size: 14px; }
	.lc-dd__list { left: 0; }
	.lc-elenco__list { display: flex; gap: 14px; margin-right: -20px; padding-right: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.lc-elenco__list::-webkit-scrollbar { display: none; }
	.lc-artist { flex: 0 0 200px; scroll-snap-align: start; }
	.lc-artist__photo { height: 266px; }
	.lc-artist__name { font-size: 19px; }

	/* Preguntas frecuentes */
	.lc-faq { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.lc-faq__question { align-items: flex-start; gap: 16px; padding: 18px 0; font-size: 18px; }
	.lc-faq__icon { width: 32px; height: 32px; }
	.lc-faq__answer p { padding-bottom: 18px; font-size: 15px; }

	/* Blog */
	.lc-blog { gap: 32px; }
	.lc-blog__list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.lc-post__body { padding: 24px; }
	.lc-post__title { font-size: 22px; }

	/* Splits */
	.lc-split, .lc-location { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.lc-tablao .lc-split__text { max-width: none; }
	.lc-tablao .lc-facts, .lc-experience .lc-facts { display: none; }
	.lc-video { height: auto; aspect-ratio: 1; order: -1; }

	.lc-experience { gap: 32px; }
	.lc-slider { gap: 20px; }
	.lc-slider__window { aspect-ratio: 350 / 300; }

	/* Reseñas */
	.lc-reviews__head { flex-direction: column; align-items: flex-start; }
	.lc-reviews__cards { grid-template-columns: 1fr; gap: 16px; }
	.lc-review { padding: 24px; }

	/* Ubicación */
	.lc-location { padding-left: 0; padding-right: 0; padding-bottom: 0; }
	.lc-location__text { padding: 0 20px; }
	.lc-location__text .lc-btn { width: 100%; }
	.lc-location__map { aspect-ratio: 390 / 207; }

	/* Pie */
	.lc-footer { padding: 64px 20px; gap: 28px; }
	/* Hueco para que la barra fija de compra no tape el pie */
	.lc:has(.lc-buybar) .lc-footer { padding-bottom: 140px; }
	.lc-footer__brand { flex-direction: column; gap: 40px; }
	.lc-footer__menu ul { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; text-align: center; }
	.lc-footer__legal { flex-direction: column-reverse; gap: 20px; border-top: 0; padding-top: 0; }
	.lc-legal { justify-content: center; text-align: center; gap: 10px 16px; }
	.lc-legal__tel { display: none; }
	.lc-footer__copy { text-align: center; }

	/* Flotantes */
	.lc-buybar {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 45;
		padding: 12px 20px calc(20px + env(safe-area-inset-bottom, 0px));
		background: transparent;
		opacity: 0;
		visibility: hidden;
		transform: translateY(100%);
		transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s;
	}
	.lc-buybar.is-visible {
		opacity: 1;
		visibility: visible;
		transform: none;
		transition-delay: 0s;
	}
	.lc .lc-buybar.is-on-red .lc-btn--rojo { background: var(--lc-oscuro); }
	.lc-whatsapp { right: 16px; bottom: 95px; }
	body #cc-show-preferences-modal { left: 16px; bottom: 109px; }

	/* Modal → panel inferior */
	.lc-buy { align-items: flex-end; padding: 74px 0 0; }
	.lc-buy__panel { width: 100%; height: 100%; border-radius: 16px 16px 0 0; transform: translateY(100%); }
	.lc-buy__head { padding-left: 20px; }
	.lc-buy__handle { display: block; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: var(--lc-crema); }
	}

@media (prefers-reduced-motion: reduce) {
	.lc *, .lc *::before, .lc *::after { transition-duration: .01ms !important; transition-delay: 0s !important; }
}

.lc-faq a[href^="tel:"] { color: var(--lc-rojo); text-decoration: none; }
