/* =========================================================================
   Leche de Tigre · direccion Sala

   La web es la sala de noche: negro de fondo, crema y el gris calido del
   logotipo para el texto, tostado para las llamadas y terracota solo en
   cifras y titulares grandes. Colores medidos en la web antigua de la marca.

   El terracota original (#9C634B) da 4,1:1 sobre negro: vale para texto de
   24px o mas, no para texto corrido. Por eso no se usa en texto pequeno.

   Beckman para titulares en mayusculas (la tipografia de su web), Albert Sans
   para el texto. Autoalojadas. Todo dentro de .ldt-scope; la base con
   :where() para dejar la especificidad a cero.
   ========================================================================= */

@font-face {
	font-family: 'Beckman';
	src: url('../fonts/beckman-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Albert Sans';
	src: url('../fonts/albert-sans-var-latin.woff2') format('woff2');
	font-weight: 300 600;
	font-style: normal;
	font-display: swap;
}

:root {
	/* Color */
	--ldt-negro: #000000;          /* fondo: negro puro, el de la marca */
	--ldt-crema: #F3ECE1;          /* titulares y texto fuerte. 17:1 */
	--ldt-perla: #D5CDC5;          /* texto corrido, el gris del logo. 12,7:1 */
	--ldt-gris: #A39C94;           /* texto secundario. 7,3:1 */
	--ldt-tostado: #B7957D;        /* llamadas y antetitulos. 7,2:1; negro encima 7,2:1 */
	--ldt-terracota: #9C634B;      /* cifras y titulares grandes. 4,1:1, solo 24px+ */
	--ldt-terracota-honda: #7A4A36;/* bloques con texto crema encima. 6,3:1 */
	--ldt-tinta: #121110;          /* bandas */
	--ldt-hueco: #0E0D0C;          /* huecos de foto */
	--ldt-filete: #24211F;         /* lineas */
	--ldt-filete-fuerte: #6B6763;  /* bordes de boton y filetes de seccion */

	/* Tipografia. Escala de razon 1,25 */
	--ldt-display: 'Beckman', 'Josefin Sans', 'Futura', 'Century Gothic', sans-serif;
	--ldt-texto-familia: 'Albert Sans', 'Helvetica Neue', system-ui, sans-serif;
	--ldt-t-xs: 0.8125rem;   /* 13 */
	--ldt-t-s: 0.9375rem;    /* 15 */
	--ldt-t-m: 1.0625rem;    /* 17, base */
	--ldt-t-l: 1.3125rem;    /* 21 */
	--ldt-t-xl: 1.625rem;    /* 26 */
	--ldt-t-2xl: clamp(1.875rem, 1.3rem + 1.6vw, 2.25rem);   /* 36 */
	--ldt-t-3xl: clamp(2.25rem, 1.4rem + 2.8vw, 3.25rem);    /* 52 */
	--ldt-t-4xl: clamp(2.75rem, 1.2rem + 5.4vw, 6.5rem);     /* 104 */
	--ldt-t-cifra: clamp(3rem, 2rem + 2.6vw, 4rem);          /* 64 */

	/* Espacio */
	--ldt-e-1: 0.5rem;
	--ldt-e-2: 1rem;
	--ldt-e-3: 1.5rem;
	--ldt-e-4: 2.5rem;
	--ldt-e-5: 4rem;
	--ldt-seccion: clamp(4.5rem, 3rem + 5vw, 7.5rem);
	--ldt-margen: clamp(1.25rem, 4vw, 2.5rem);
	--ldt-ancho: 77.5rem;
	--ldt-cabecera-alto: 5.5rem;
	--ldt-pestanas-alto: 4.25rem;
	--ldt-barra-admin: 0px;

	/* Movimiento */
	--ldt-curva: cubic-bezier(0.22, 1, 0.36, 1);
	--ldt-rapido: 160ms;

	color-scheme: dark;
}

@media (max-width: 899px) {
	:root { --ldt-cabecera-alto: 4.5rem; }
}

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

html { background: var(--ldt-negro); }
:where(.ldt-scope) {
	margin: 0;
	background: var(--ldt-negro);
	color: var(--ldt-perla);
	font-family: var(--ldt-texto-familia);
	font-size: var(--ldt-t-m);
	font-weight: 300;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

:where(.ldt-scope) *, :where(.ldt-scope) *::before, :where(.ldt-scope) *::after { box-sizing: border-box; }
:where(.ldt-scope) :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
:where(.ldt-scope) :where(ul, ol) { padding: 0; list-style: none; }
:where(.ldt-scope) :where(h1, h2, h3, h4) { color: var(--ldt-crema); font-weight: 400; line-height: 1.08; text-wrap: balance; }
:where(.ldt-scope) :where(p) { text-wrap: pretty; }
:where(.ldt-scope) :where(img, svg) { display: block; max-width: 100%; }
:where(.ldt-scope) :where(a) { color: var(--ldt-crema); text-underline-offset: 0.22em; text-decoration-thickness: 1px; }
:where(.ldt-scope) :where(a:hover) { color: var(--ldt-tostado); }
:where(.ldt-scope) :where(strong, b) { color: var(--ldt-crema); font-weight: 500; }
:where(.ldt-scope) :where(address) { font-style: normal; }
:where(.ldt-scope) :where(button) { font: inherit; }
:where(.ldt-scope) :where(:focus-visible) { outline: 2px solid var(--ldt-tostado); outline-offset: 3px; }
:where(.ldt-scope) ::selection { background: var(--ldt-tostado); color: var(--ldt-negro); }

html { scroll-padding-top: calc(var(--ldt-barra-admin) + var(--ldt-cabecera-alto) + 1rem); }
html:has(.ldt-pestanas) { scroll-padding-top: calc(var(--ldt-barra-admin) + var(--ldt-cabecera-alto) + var(--ldt-pestanas-alto) + 0.5rem); }
.admin-bar { --ldt-barra-admin: 32px; }
@media (max-width: 782px) { .admin-bar { --ldt-barra-admin: 46px; } }

.ldt-contenedor { width: 100%; max-width: calc(var(--ldt-ancho) + 2 * var(--ldt-margen)); margin-inline: auto; padding-inline: var(--ldt-margen); }
.ldt-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.ldt-salto { position: absolute; left: var(--ldt-e-2); top: -4rem; z-index: 100; background: var(--ldt-tostado); color: var(--ldt-negro); padding: 0.75rem 1.25rem; }
.ldt-salto:focus { top: var(--ldt-e-2); color: var(--ldt-negro); }
.ldt-cifras { font-variant-numeric: tabular-nums; }
.ldt-apagado { color: var(--ldt-gris); }
.ldt-medida { max-width: 36em; }

/* -------------------------------------------------------------------------
   Tipografia
   ------------------------------------------------------------------------- */

.ldt-antetitulo { display: block; font-size: var(--ldt-t-xs); font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ldt-tostado); line-height: 1.4; }
.ldt-display-1, .ldt-display-2, .ldt-display-3 { font-family: var(--ldt-display); text-transform: uppercase; letter-spacing: 0.01em; color: var(--ldt-crema); font-weight: 400; }
.ldt-display-1 { font-size: var(--ldt-t-4xl); line-height: 0.98; }
.ldt-display-2 { font-size: var(--ldt-t-3xl); line-height: 1; }
.ldt-display-3 { font-size: var(--ldt-t-2xl); line-height: 1.05; }
.ldt-entradilla { font-size: var(--ldt-t-l); line-height: 1.6; color: var(--ldt-perla); max-width: 30em; }
.ldt-enlace { color: var(--ldt-crema); text-decoration: underline; text-decoration-color: var(--ldt-filete-fuerte); }
.ldt-enlace:hover { color: var(--ldt-tostado); text-decoration-color: var(--ldt-tostado); }
.ldt-flecha { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--ldt-t-s); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; color: var(--ldt-perla); }
.ldt-flecha::after { content: '\2192'; margin-left: 0.5em; transition: translate var(--ldt-rapido) var(--ldt-curva); }
.ldt-flecha:hover { color: var(--ldt-crema); }
@media (hover: hover) { .ldt-flecha:hover::after { translate: 4px 0; } }
.ldt-pila { display: flex; flex-direction: column; gap: 0.35rem; }
.ldt-encabezado .ldt-pila { gap: 1rem; }
.ldt-mas { margin-top: var(--ldt-e-4); }

/* -------------------------------------------------------------------------
   Botones: rectos, como la web de la marca. Tostado con texto negro el
   principal; filete gris el secundario.
   ------------------------------------------------------------------------- */

.ldt-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	min-height: 48px; padding: 0.85rem 1.75rem;
	font-size: var(--ldt-t-xs); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; line-height: 1.2; text-decoration: none; white-space: nowrap;
	border: 1px solid transparent;
	transition: background-color var(--ldt-rapido) var(--ldt-curva), color var(--ldt-rapido) var(--ldt-curva), border-color var(--ldt-rapido) var(--ldt-curva), transform var(--ldt-rapido) var(--ldt-curva);
}
.ldt-btn:active { transform: scale(0.98); }
.ldt-btn--principal { background: var(--ldt-tostado); border-color: var(--ldt-tostado); color: var(--ldt-negro); }
.ldt-btn--secundario { background: transparent; border-color: var(--ldt-filete-fuerte); color: var(--ldt-crema); font-weight: 500; }
@media (hover: hover) {
	.ldt-btn--principal:hover { background: var(--ldt-perla); border-color: var(--ldt-perla); color: var(--ldt-negro); }
	.ldt-btn--secundario:hover { border-color: var(--ldt-crema); color: var(--ldt-crema); }
}
.ldt-acciones { display: flex; flex-wrap: wrap; gap: 0.875rem; }

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

.ldt-cabecera { position: sticky; top: 0; z-index: 50; background: rgba(0, 0, 0, 0.94); border-bottom: 1px solid var(--ldt-filete); }
@supports (backdrop-filter: blur(1px)) { .ldt-cabecera { background: rgba(0, 0, 0, 0.86); backdrop-filter: blur(10px); } }
.admin-bar .ldt-cabecera { top: var(--ldt-barra-admin); }
.ldt-cabecera__fila { display: flex; align-items: center; justify-content: space-between; gap: var(--ldt-e-4); min-height: var(--ldt-cabecera-alto); }
.ldt-marca { display: block; color: var(--ldt-perla); flex: none; }
.ldt-marca:hover { color: var(--ldt-crema); }
.ldt-logo { width: auto; height: 50px; }
.ldt-nav__lista { display: flex; gap: 2.25rem; }
.ldt-nav__enlace { display: inline-block; font-size: var(--ldt-t-xs); font-weight: 400; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; padding-block: 0.875rem; position: relative; color: var(--ldt-perla); }
.ldt-nav__enlace::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0.45rem; height: 1px; background: var(--ldt-tostado); transform: scaleX(0); transform-origin: left; transition: transform 200ms var(--ldt-curva); }
.ldt-nav__enlace:hover, .ldt-nav__enlace[aria-current='page'] { color: var(--ldt-crema); }
.ldt-nav__enlace[aria-current='page']::after { transform: scaleX(1); }
@media (hover: hover) { .ldt-nav__enlace:hover::after { transform: scaleX(1); } }
.ldt-cabecera__lado { display: flex; align-items: center; gap: 1.5rem; }
.ldt-hamburguesa { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: none; border: 0; color: var(--ldt-crema); cursor: pointer; }

.ldt-movil { position: fixed; inset: 0; z-index: 60; background: var(--ldt-negro); padding: var(--ldt-e-3) var(--ldt-margen); display: flex; flex-direction: column; gap: var(--ldt-e-4); overflow-y: auto; visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity 200ms var(--ldt-curva), transform 200ms var(--ldt-curva), visibility 0s linear 200ms; }
.ldt-movil[data-open='true'] { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.ldt-movil__alto { display: flex; align-items: center; justify-content: space-between; color: var(--ldt-perla); }
.ldt-logo--movil { height: 40px; }
.ldt-movil__cerrar { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 0; color: var(--ldt-crema); cursor: pointer; }
.ldt-movil__lista { display: flex; flex-direction: column; }
.ldt-movil__enlace { display: block; padding: 0.9rem 0; border-bottom: 1px solid var(--ldt-filete); font-family: var(--ldt-display); text-transform: uppercase; font-size: var(--ldt-t-2xl); text-decoration: none; color: var(--ldt-crema); }
.ldt-movil__enlace[aria-current='page'] { color: var(--ldt-tostado); }
.ldt-movil__pie { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ldt-e-2); }

@media (max-width: 1099px) { .ldt-nav__lista { gap: 1.5rem; } .ldt-cabecera__lado .ldt-nav__enlace { display: none; } }
@media (max-width: 899px) {
	.ldt-nav, .ldt-cabecera__lado { display: none; }
	.ldt-hamburguesa { display: inline-flex; }
	.ldt-logo { height: 40px; }
}

/* -------------------------------------------------------------------------
   Secciones
   ------------------------------------------------------------------------- */

.ldt-seccion { padding-block: var(--ldt-seccion); }
.ldt-seccion--estrecha { padding-block: var(--ldt-e-5); }
.ldt-seccion--filete { border-top: 1px solid var(--ldt-filete); }
.ldt-seccion--banda { border-block: 1px solid var(--ldt-filete); }
.ldt-seccion--arena, .ldt-seccion--tinta { background: var(--ldt-tinta); }
.ldt-encabezado { display: flex; flex-direction: column; gap: var(--ldt-e-2); margin-bottom: var(--ldt-e-5); }
.ldt-encabezado--fila { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--ldt-e-3) var(--ldt-e-5); }
:where(.ldt-encabezado--fila) > p { max-width: 28em; color: var(--ldt-perla); }
.ldt-franja { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ldt-e-4); }
.ldt-franja > div:first-child { display: flex; flex-direction: column; gap: 0.75rem; }

/* -------------------------------------------------------------------------
   Fotografia y huecos

   Mientras no hay foto, el hueco va plano y rotulado abajo a la izquierda,
   como en la maqueta: sin rayados, que en negro hacen ruido.
   ------------------------------------------------------------------------- */

.ldt-marco { position: relative; overflow: hidden; background: var(--ldt-hueco); width: 100%; }
.ldt-marco .ldt-foto, .ldt-marco .ldt-foto-zoom, .ldt-marco .ldt-foto-zoom img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ldt-marco--hueco { display: flex; align-items: flex-end; justify-content: flex-start; padding: var(--ldt-e-2); border: 1px solid var(--ldt-filete); }
.ldt-marco__rotulo { font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ldt-gris); line-height: 1.35; text-wrap: balance; }
.ldt-foto-zoom { cursor: zoom-in; display: block; }
.ldt-visor { border: 0; padding: 0; background: transparent; max-width: min(92vw, 1400px); max-height: 92vh; }
.ldt-visor::backdrop { background: rgba(0, 0, 0, 0.92); }
.ldt-visor img { max-width: 100%; max-height: 92vh; width: auto; height: auto; }

/* -------------------------------------------------------------------------
   Heroe
   ------------------------------------------------------------------------- */

.ldt-heroe { padding-block: clamp(3.5rem, 2rem + 4vw, 6rem) var(--ldt-e-5); }
.ldt-heroe__reticula { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2.5rem, 5vw, 4rem); align-items: end; }
.ldt-heroe__texto { display: flex; flex-direction: column; gap: 2rem; }
.ldt-hoy { font-size: var(--ldt-t-s); border-top: 1px solid var(--ldt-filete); padding-top: 1.1rem; font-variant-numeric: tabular-nums; }
.ldt-hoy:empty { display: none; }
.ldt-hoy .ldt-estado { margin: 0; }
@media (max-width: 899px) {
	.ldt-heroe__reticula { grid-template-columns: 1fr; }
	.ldt-heroe__foto { max-width: 30rem; }
}

/* Mosaico de seis fotos verticales, la cadencia de la web antigua */
.ldt-mosaico { padding-bottom: var(--ldt-seccion); }
.ldt-mosaico__reticula { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75rem; }
.ldt-mosaico__reticula > :nth-child(even) { margin-top: 3rem; }
@media (max-width: 899px) {
	.ldt-mosaico__reticula { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ldt-mosaico__reticula > :nth-child(even) { margin-top: 1.5rem; }
}
@media (max-width: 520px) { .ldt-mosaico__reticula { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Tres pilares escalonados: carta, especiales, cocteleria */
.ldt-tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ldt-e-4); }
.ldt-tres__pieza { display: flex; flex-direction: column; gap: 1.25rem; }
.ldt-tres__pieza:nth-child(2) { margin-top: clamp(3rem, 8vw, 7.5rem); }
.ldt-tres__pieza:nth-child(3) { margin-top: clamp(6rem, 16vw, 15rem); }
:where(.ldt-tres__pieza) p { color: var(--ldt-perla); }
@media (max-width: 899px) {
	.ldt-tres { grid-template-columns: 1fr; max-width: 30rem; }
	.ldt-tres__pieza:nth-child(n) { margin-top: 0; }
	.ldt-tres__pieza + .ldt-tres__pieza { padding-top: var(--ldt-e-3); }
}

/* Reparto: cabecera estrecha y contenido ancho */
.ldt-reparto { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2.5rem, 5vw, 4rem); align-items: start; }
.ldt-reparto--mitades { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ldt-reparto__cabeza { display: flex; flex-direction: column; gap: 1.25rem; }
:where(.ldt-reparto__cabeza) p { color: var(--ldt-perla); max-width: 26em; }
.ldt-reparto__cuerpo { display: flex; flex-direction: column; gap: var(--ldt-e-4); }
@media (max-width: 899px) { .ldt-reparto, .ldt-reparto--mitades { grid-template-columns: 1fr; } }

/* Lineas de carta en la portada */
.ldt-lineas { display: flex; flex-direction: column; }
.ldt-linea { display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr) auto; align-items: baseline; gap: 0.35rem 1.5rem; padding-block: 1.25rem; border-bottom: 1px solid var(--ldt-filete); }
.ldt-linea__nombre { font-size: var(--ldt-t-l); font-weight: 500; line-height: 1.3; color: var(--ldt-crema); }
.ldt-linea__desc { color: var(--ldt-gris); font-size: var(--ldt-t-s); }
.ldt-linea__precio { grid-column: 3; color: var(--ldt-tostado); font-size: var(--ldt-t-m); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 680px) {
	.ldt-linea { grid-template-columns: minmax(0, 1fr) auto; }
	.ldt-linea__precio { grid-column: 2; grid-row: 1; }
	.ldt-linea__desc { grid-column: 1 / -1; }
}

/* Cifras del legado */
.ldt-numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ldt-e-4); }
.ldt-numero { display: flex; flex-direction: column; gap: 1rem; border-top: 1px solid var(--ldt-filete-fuerte); padding-top: 1.5rem; }
.ldt-numero__cifra { font-family: var(--ldt-display); font-size: var(--ldt-t-cifra); line-height: 1; color: var(--ldt-terracota); }
.ldt-numero h3 { font-family: var(--ldt-texto-familia); font-size: var(--ldt-t-l); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; }
:where(.ldt-numero) p { color: var(--ldt-perla); }
@media (max-width: 899px) { .ldt-numeros { grid-template-columns: 1fr; } }

/* Visita */
.ldt-visita { display: flex; flex-direction: column; gap: 1.75rem; }
.ldt-visita .ldt-horario { max-width: 30rem; }

/* Horario */
.ldt-horario { --ldt-filete-local: var(--ldt-filete); display: flex; flex-direction: column; font-variant-numeric: tabular-nums; }
.ldt-horario__fila { display: grid; grid-template-columns: minmax(7.5rem, auto) 1fr; gap: var(--ldt-e-2); padding: 0.7rem 0; border-top: 1px solid var(--ldt-filete-local); }
.ldt-horario__fila:last-child { border-bottom: 1px solid var(--ldt-filete-local); }
.ldt-horario dt { color: var(--ldt-gris); }
.ldt-horario dd { color: var(--ldt-perla); text-align: right; }
.ldt-horario__fila--cerrado dd { color: var(--ldt-gris); }
.ldt-estado { margin-top: 0.75rem; font-size: var(--ldt-t-s); color: var(--ldt-perla); display: flex; align-items: center; gap: 0.5rem; }
.ldt-estado::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--ldt-gris); flex: none; }
.ldt-estado[data-abierto='true']::before { background: #7DBA7A; }

/* -------------------------------------------------------------------------
   Paginas interiores
   ------------------------------------------------------------------------- */

.ldt-cabeza { padding-block: clamp(3.5rem, 2rem + 4vw, 6rem) var(--ldt-e-4); }
.ldt-cabeza__reticula { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.ldt-cabeza__reticula > * { max-width: 56rem; }
.ldt-cabeza__reticula > .ldt-hoy { width: 100%; max-width: 36rem; }
.ldt-cabeza__acciones { display: flex; flex-wrap: wrap; gap: 0.875rem; margin-top: var(--ldt-e-1); }
.ldt-prosa { max-width: 44rem; display: flex; flex-direction: column; gap: 1.1rem; }
.ldt-prosa h2 { font-family: var(--ldt-display); text-transform: uppercase; font-size: var(--ldt-t-xl); margin-top: var(--ldt-e-3); }
.ldt-prosa h3 { font-size: var(--ldt-t-l); font-weight: 500; margin-top: var(--ldt-e-2); }
.ldt-prosa ul { list-style: disc; padding-left: 1.25rem; display: flex; flex-direction: column; gap: 0.4rem; }
.ldt-prosa table { border-collapse: collapse; width: 100%; font-size: var(--ldt-t-s); }
.ldt-prosa th, .ldt-prosa td { text-align: left; padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--ldt-filete); vertical-align: top; }
.ldt-prosa th { color: var(--ldt-crema); font-weight: 500; }
.ldt-tabla { overflow-x: auto; }

/* Carta */
.ldt-carta { display: flex; flex-direction: column; }
.ldt-pestanas { position: sticky; top: calc(var(--ldt-barra-admin) + var(--ldt-cabecera-alto)); z-index: 20; background: var(--ldt-negro); border-bottom: 1px solid var(--ldt-filete); margin-inline: calc(-1 * var(--ldt-margen)); padding-inline: var(--ldt-margen); }
.ldt-pestanas__lista { display: flex; gap: 0.5rem; overflow-x: auto; scroll-padding-inline: var(--ldt-margen); overscroll-behavior-x: contain; padding-block: 0.75rem; scrollbar-width: none; min-height: var(--ldt-pestanas-alto); align-items: center; }
.ldt-pestana { display: inline-flex; align-items: center; min-height: 44px; padding: 0.5rem 1.1rem; border: 1px solid var(--ldt-filete); text-decoration: none; font-size: var(--ldt-t-xs); letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; color: var(--ldt-perla); transition: background-color var(--ldt-rapido) var(--ldt-curva), color var(--ldt-rapido) var(--ldt-curva), border-color var(--ldt-rapido) var(--ldt-curva); }
.ldt-pestana[aria-current='true'] { background: var(--ldt-tostado); border-color: var(--ldt-tostado); color: var(--ldt-negro); }
@media (hover: hover) { .ldt-pestana:hover { border-color: var(--ldt-crema); color: var(--ldt-crema); } .ldt-pestana[aria-current='true']:hover { color: var(--ldt-negro); } }
.ldt-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; padding-block: var(--ldt-e-3); }
.ldt-filtros__titulo { font-size: var(--ldt-t-s); color: var(--ldt-crema); font-weight: 500; }
.ldt-filtros__lista { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.ldt-filtro { min-height: 44px; padding: 0.45rem 1rem; border: 1px dashed var(--ldt-filete-fuerte); background: transparent; color: var(--ldt-perla); font-size: var(--ldt-t-s); cursor: pointer; }
.ldt-filtro[aria-pressed='true'] { background: var(--ldt-crema); border-style: solid; border-color: var(--ldt-crema); color: var(--ldt-negro); }
.ldt-filtros__aviso { font-size: var(--ldt-t-s); color: var(--ldt-crema); flex-basis: 100%; }
.ldt-filtros__aviso:empty { display: none; }
.ldt-filtros__nota { flex-basis: 100%; font-size: var(--ldt-t-xs); color: var(--ldt-gris); }
.ldt-carta__seccion { padding-block: var(--ldt-e-5) 0; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--ldt-e-5); align-items: start; }
.ldt-carta__seccion[hidden] { display: none; }
.ldt-carta__cabeza { grid-column: 1; position: sticky; top: calc(var(--ldt-barra-admin) + var(--ldt-cabecera-alto) + var(--ldt-pestanas-alto) + 1.5rem); z-index: 1; display: flex; flex-direction: column; gap: 0.6rem; }
.ldt-carta__titulo { font-family: var(--ldt-display); text-transform: uppercase; font-size: var(--ldt-t-2xl); }
.ldt-carta__nota { font-size: var(--ldt-t-s); color: var(--ldt-gris); max-width: 22em; }
.ldt-carta__lista { grid-column: 2; min-width: 0; }
.ldt-plato { padding-block: 1.15rem; border-bottom: 1px solid var(--ldt-filete); display: flex; flex-direction: column; gap: 0.3rem; }
.ldt-plato:first-child { padding-top: 0.25rem; }
.ldt-plato__linea { display: flex; align-items: baseline; justify-content: space-between; gap: var(--ldt-e-2); }
.ldt-plato__nombre { font-family: var(--ldt-texto-familia); font-size: var(--ldt-t-l); font-weight: 500; line-height: 1.35; }
.ldt-plato--destacado .ldt-plato__nombre::after { content: ''; display: inline-block; width: 7px; height: 7px; margin-left: 0.6rem; vertical-align: 0.2em; background: var(--ldt-terracota); transform: rotate(45deg); }
.ldt-plato__precio { font-variant-numeric: tabular-nums; color: var(--ldt-tostado); white-space: nowrap; text-align: right; }
.ldt-plato__desc { color: var(--ldt-perla); }
.ldt-plato__alergenos { font-size: var(--ldt-t-xs); color: var(--ldt-gris); letter-spacing: 0.01em; }
@media (max-width: 899px) {
	.ldt-carta__seccion { grid-template-columns: 1fr; gap: var(--ldt-e-2); }
	.ldt-carta__cabeza { position: static; }
	.ldt-carta__lista, .ldt-carta__cabeza { grid-column: 1; }
}
.ldt-leyenda { margin-top: var(--ldt-e-5); padding-top: var(--ldt-e-3); border-top: 1px solid var(--ldt-filete); font-size: var(--ldt-t-s); color: var(--ldt-gris); display: flex; flex-direction: column; gap: 0.5rem; max-width: 52rem; }

/* Glosario */
.ldt-glosario { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 0 var(--ldt-e-4); }
.ldt-glosario > div { padding-block: 1.1rem; border-top: 1px solid var(--ldt-filete); display: flex; flex-direction: column; gap: 0.35rem; }
.ldt-glosario dt { font-family: var(--ldt-display); text-transform: uppercase; font-size: var(--ldt-t-l); color: var(--ldt-crema); line-height: 1.2; }
.ldt-glosario dd { color: var(--ldt-perla); font-size: var(--ldt-t-s); }

/* Banda de fotos de la barra: dos apaisadas apiladas y una vertical */
.ldt-barra-fotos { padding-block: var(--ldt-e-2) var(--ldt-e-4); }
.ldt-barra-fotos__reticula { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0.75rem; align-items: stretch; }
.ldt-barra-fotos__pila { display: flex; flex-direction: column; gap: 0.75rem; }
.ldt-barra-fotos__reticula > .ldt-marco { height: 100%; aspect-ratio: auto !important; }
@media (max-width: 899px) {
	.ldt-barra-fotos__reticula { grid-template-columns: 1fr; }
	.ldt-barra-fotos__reticula > .ldt-marco { height: auto; aspect-ratio: 4 / 5 !important; }
}

/* Foto de seccion en la carta */
.ldt-carta__foto { margin-top: 0.75rem; max-width: 20rem; }
@media (max-width: 899px) { .ldt-carta__foto { max-width: 16rem; } }

/* Galeria */
.ldt-galeria { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ldt-e-2); }
.ldt-galeria > :nth-child(6n + 1) { grid-column: span 2; grid-row: span 2; }
@media (max-width: 899px) { .ldt-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Contacto y visita */
.ldt-contacto { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
.ldt-contacto__datos { display: flex; flex-direction: column; gap: var(--ldt-e-4); }
.ldt-contacto__bloque { display: flex; flex-direction: column; gap: 0.5rem; }
.ldt-contacto__bloque h2 { font-family: var(--ldt-display); text-transform: uppercase; font-size: var(--ldt-t-xl); margin-bottom: 0.4rem; }
.ldt-contacto__lado { display: flex; flex-direction: column; gap: var(--ldt-e-3); }
@media (max-width: 899px) { .ldt-contacto { grid-template-columns: 1fr; } }
.ldt-direccion { display: flex; flex-direction: column; }
.ldt-mapa { aspect-ratio: 4 / 3; min-width: 0; width: 100%; background: var(--ldt-hueco); border: 1px solid var(--ldt-filete); display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: var(--ldt-e-2); padding: var(--ldt-e-4); overflow: hidden; }
.ldt-mapa[data-cargado] { padding: 0; }
@media (max-width: 599px) { .ldt-mapa { aspect-ratio: auto; min-height: 18rem; padding: var(--ldt-e-3); } }
.ldt-mapa iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(0.6) invert(0.92) hue-rotate(180deg); }
.ldt-mapa .ldt-medida { max-width: 24em; font-size: var(--ldt-t-s); }

/* Blog: plantillas nativas de WordPress (home, single, archive, search).
   El listado son filas separadas por filete, no tarjetas: aguanta diez
   articulos sin parecer un catalogo. El contenido del editor se estiliza
   dentro de .ldt-prosa porque el tema no carga el CSS de bloques. */
.ldt-arriba { margin-top: var(--ldt-e-2); }
.ldt-marco--filete { border: 1px solid var(--ldt-filete); }
.ldt-entradas { display: flex; flex-direction: column; border-bottom: 1px solid var(--ldt-filete); }
.ldt-entrada { border-top: 1px solid var(--ldt-filete); }
.ldt-entrada__enlace { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--ldt-e-3) var(--ldt-e-5); align-items: center; padding-block: var(--ldt-e-4); text-decoration: none; color: inherit; }
.ldt-entrada__enlace > .ldt-entrada__texto:only-child { grid-column: 1 / -1; }
.ldt-entrada__texto { display: flex; flex-direction: column; gap: 0.85rem; max-width: 44rem; }
.ldt-entrada__meta { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; font-size: var(--ldt-t-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ldt-gris); font-variant-numeric: tabular-nums; }
.ldt-entrada__cat { color: var(--ldt-tostado); }
.ldt-entrada__titulo { transition: color var(--ldt-rapido) var(--ldt-curva); }
.ldt-entrada__extracto { max-width: 38em; }
.ldt-entrada__mas { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--ldt-t-s); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ldt-perla); }
.ldt-entrada__mas::after { content: '\2192'; margin-left: 0.5em; transition: translate var(--ldt-rapido) var(--ldt-curva); }
.ldt-entrada__foto .ldt-foto { transition: scale 600ms var(--ldt-curva); }
@media (hover: hover) {
	.ldt-entrada__enlace:hover .ldt-entrada__titulo { color: var(--ldt-tostado); }
	.ldt-entrada__enlace:hover .ldt-entrada__mas::after { translate: 4px 0; }
	.ldt-entrada__enlace:hover .ldt-entrada__foto .ldt-foto { scale: 1.03; }
}
@media (max-width: 899px) { .ldt-entrada__enlace { grid-template-columns: 1fr; } .ldt-entrada__foto { max-width: 30rem; } }

.ldt-paginacion { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-top: var(--ldt-e-5); }
.ldt-paginacion a, .ldt-paginacion span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 0.9rem; border: 1px solid var(--ldt-filete); text-decoration: none; font-size: var(--ldt-t-s); color: var(--ldt-perla); font-variant-numeric: tabular-nums; }
.ldt-paginacion .current { background: var(--ldt-tostado); border-color: var(--ldt-tostado); color: var(--ldt-negro); }
@media (hover: hover) { .ldt-paginacion a:hover { border-color: var(--ldt-crema); color: var(--ldt-crema); } }

.ldt-vecinas { display: flex; justify-content: space-between; gap: var(--ldt-e-4); }
.ldt-vecina { display: flex; flex-direction: column; gap: 0.35rem; text-decoration: none; max-width: 24rem; padding-block: 0.25rem; }
.ldt-vecina--fin { text-align: right; margin-left: auto; align-items: flex-end; }
.ldt-vecina__titulo { color: var(--ldt-crema); font-size: var(--ldt-t-l); line-height: 1.35; }
@media (hover: hover) { .ldt-vecina:hover .ldt-vecina__titulo { color: var(--ldt-tostado); } }
@media (max-width: 599px) { .ldt-vecinas { flex-direction: column; } .ldt-vecina--fin { text-align: left; margin-left: 0; align-items: flex-start; } }

/* Contenido del editor dentro del articulo */
.ldt-prosa { font-size: 1.125rem; line-height: 1.75; }
.ldt-prosa :where(a) { color: var(--ldt-crema); text-decoration-color: var(--ldt-tostado); }
.ldt-prosa :where(ol) { list-style: decimal; padding-left: 1.4rem; display: flex; flex-direction: column; gap: 0.4rem; }
.ldt-prosa :where(li)::marker { color: var(--ldt-tostado); }
.ldt-prosa :where(figure) { margin: var(--ldt-e-3) 0; }
.ldt-prosa :where(img) { height: auto; }
.ldt-prosa :where(figure) img { max-height: 85vh; width: auto; }
.ldt-prosa :where(figcaption), .ldt-prosa .wp-element-caption { margin-top: 0.6rem; font-size: var(--ldt-t-s); color: var(--ldt-gris); }
.ldt-prosa :where(blockquote) { margin: var(--ldt-e-3) 0; padding-left: var(--ldt-e-3); border-left: 2px solid var(--ldt-terracota); font-size: var(--ldt-t-l); color: var(--ldt-crema); }
.ldt-prosa :where(blockquote) cite { display: block; margin-top: 0.5rem; font-size: var(--ldt-t-s); font-style: normal; color: var(--ldt-gris); }
.ldt-prosa :where(hr) { border: 0; border-top: 1px solid var(--ldt-filete); margin: var(--ldt-e-4) 0; }
.ldt-prosa .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0.75rem; }
.ldt-prosa .wp-block-gallery figure { margin: 0; }
.ldt-prosa .wp-block-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.ldt-prosa .wp-block-embed iframe, .ldt-prosa iframe, .ldt-prosa video { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.ldt-prosa .wp-block-columns { display: flex; flex-wrap: wrap; gap: var(--ldt-e-3); }
.ldt-prosa .wp-block-column { flex: 1 1 14rem; min-width: 0; }
.ldt-prosa .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: 0.85rem 1.75rem; background: var(--ldt-tostado); color: var(--ldt-negro); text-decoration: none; font-size: var(--ldt-t-xs); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.ldt-prosa .aligncenter { margin-inline: auto; text-align: center; }
.ldt-prosa .has-text-align-center { text-align: center; }
/* Carta de mesa (/menu): una columna estrecha pensada para el movil del
   comensal. Cada plato con foto la lleva encima; los vinos van sin foto. */
.ldt-mesa { max-width: 42rem; margin-inline: auto; }
.ldt-mesa__grupo { margin-top: var(--ldt-e-5); padding-top: var(--ldt-e-4); border-top: 1px solid var(--ldt-filete-fuerte); }
.ldt-carta--mesa .ldt-carta__seccion { grid-template-columns: 1fr; gap: var(--ldt-e-2); padding-top: var(--ldt-e-4); }
.ldt-carta--mesa .ldt-carta__cabeza { position: static; grid-column: 1; }
.ldt-carta--mesa .ldt-carta__lista { grid-column: 1; }
.ldt-carta--mesa .ldt-plato--con-foto { padding-top: 1.5rem; }
.ldt-carta--mesa .ldt-plato--con-foto:first-child { padding-top: 0.5rem; }
.ldt-plato__foto { margin-bottom: 0.9rem; border: 1px solid var(--ldt-filete); }
.ldt-carta--mesa .ldt-pestanas { margin-inline: calc(-1 * var(--ldt-margen)); }
.ldt-pagina-mesa .ldt-barra-movil { display: none; }
.ldt-pagina-mesa.ldt-scope { padding-bottom: 0; }
.ldt-pagina-mesa .ldt-cabeza { padding-block: var(--ldt-e-4) var(--ldt-e-2); }
.ldt-carta--mesa .ldt-plato__linea { flex-wrap: wrap; row-gap: 0.15rem; }
.ldt-carta--mesa .ldt-plato__nombre { flex: 1 1 12rem; }

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

.ldt-pie { border-top: 1px solid var(--ldt-filete); padding-top: var(--ldt-e-5); font-size: var(--ldt-t-s); }
.ldt-pie__reticula { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--ldt-e-4); }
.ldt-pie__marca { display: flex; flex-direction: column; gap: 1rem; color: var(--ldt-perla); }
.ldt-logo--pie { height: auto; width: 12.5rem; }
.ldt-pie__lema { font-size: 0.75rem; line-height: 1.9; letter-spacing: 0.45em; text-transform: uppercase; color: var(--ldt-gris); }
.ldt-pie__titulo { font-size: var(--ldt-t-xs); font-weight: 500; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ldt-tostado); margin-bottom: 0.9rem; }
.ldt-pie .ldt-direccion { margin-bottom: 0.4rem; }
.ldt-pie .ldt-pila { gap: 0.6rem; align-items: flex-start; }
.ldt-pie .ldt-btn { min-height: 44px; padding: 0.7rem 1.25rem; }
.ldt-pie .ldt-horario__fila { grid-template-columns: 1fr auto; }
.ldt-pie__bajo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ldt-e-2); margin-top: var(--ldt-e-5); padding-block: var(--ldt-e-3); border-top: 1px solid var(--ldt-filete); font-size: var(--ldt-t-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ldt-gris); }
.ldt-pie__legal { display: flex; flex-wrap: wrap; gap: 0.25rem var(--ldt-e-3); }
.ldt-pie__legal a { text-decoration: none; color: var(--ldt-perla); display: inline-block; padding-block: 0.6rem; }
.ldt-pie__legal a:hover { color: var(--ldt-crema); }
@media (max-width: 1099px) { .ldt-pie__reticula { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .ldt-pie__reticula { grid-template-columns: 1fr; } }

/* Barra fija de movil: llamar, carta y reservar a un toque */
.ldt-barra-movil { display: none; }
@media (max-width: 899px) {
	.ldt-barra-movil { display: grid; grid-template-columns: 1fr 1fr 1.4fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--ldt-negro); border-top: 1px solid var(--ldt-filete); padding: 0.5rem 0.5rem calc(0.5rem + env(safe-area-inset-bottom)); gap: 0.5rem; }
	.ldt-barra-movil__accion { min-height: 48px; display: flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 500; font-size: var(--ldt-t-xs); letter-spacing: 0.14em; text-transform: uppercase; border: 1px solid var(--ldt-filete-fuerte); color: var(--ldt-crema); }
	.ldt-barra-movil__accion--principal { background: var(--ldt-tostado); border-color: var(--ldt-tostado); color: var(--ldt-negro); font-weight: 600; }
	.ldt-barra-movil__accion--principal:hover { color: var(--ldt-negro); }
	.ldt-scope { padding-bottom: calc(4.25rem + env(safe-area-inset-bottom)); }
}

/* -------------------------------------------------------------------------
   Movimiento

   Cuatro trabajos y ninguno mas: la entrada del heroe al cargar, el revelado
   de cada bloque la primera vez que aparece, el fundido entre paginas y el
   desplazamiento suave a los anclas. El scroll es el del navegador.

   Solo opacity, translate y scale. Curva de salida fuerte; nada rebota.
   El contenido se entrega visible: el revelado lo oculta el script justo
   antes de animarlo, asi que si el script no llega, la pagina se lee igual.
   ------------------------------------------------------------------------- */

:root {
	--ldt-revela-recorrido: 18px;
	--ldt-revela-tiempo: 650ms;
	--ldt-revela-paso: 70ms;
}

@keyframes ldt-entra { from { opacity: 0; translate: 0 16px; } }
@keyframes ldt-entra-titular { from { opacity: 0; translate: 0 22px; } }
@keyframes ldt-asienta { from { scale: 1.06; } }
@keyframes ldt-funde { from { opacity: 0; } }

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }

	.ldt-heroe__texto > *,
	.ldt-cabeza__reticula > * { animation: ldt-entra 700ms var(--ldt-curva) backwards; }
	.ldt-heroe__texto > .ldt-display-1,
	.ldt-cabeza__reticula > .ldt-display-1,
	.ldt-cabeza__reticula > .ldt-display-2 { animation-name: ldt-entra-titular; animation-duration: 900ms; }
	.ldt-heroe__texto > :nth-child(1), .ldt-cabeza__reticula > :nth-child(1) { animation-delay: 60ms; }
	.ldt-heroe__texto > :nth-child(2), .ldt-cabeza__reticula > :nth-child(2) { animation-delay: 140ms; }
	.ldt-heroe__texto > :nth-child(3), .ldt-cabeza__reticula > :nth-child(3) { animation-delay: 260ms; }
	.ldt-heroe__texto > :nth-child(4), .ldt-cabeza__reticula > :nth-child(4) { animation-delay: 360ms; }
	.ldt-heroe__texto > :nth-child(n+5), .ldt-cabeza__reticula > :nth-child(n+5) { animation-delay: 440ms; }

	.ldt-heroe__foto { animation: ldt-funde 1000ms var(--ldt-curva) 120ms backwards; }
	.ldt-heroe__foto .ldt-foto { animation: ldt-asienta 1800ms var(--ldt-curva) 120ms backwards; }

	[data-revela] {
		transition:
			opacity var(--ldt-revela-tiempo) var(--ldt-curva),
			translate calc(var(--ldt-revela-tiempo) + 100ms) var(--ldt-curva);
		transition-delay: calc(var(--ldt-i, 0) * var(--ldt-revela-paso));
	}
	[data-revela]:not([data-visto]) { opacity: 0; translate: 0 var(--ldt-revela-recorrido); }
	[data-revela][data-visto] { translate: none; }

	[data-revela] .ldt-marco .ldt-foto { transition: scale 1600ms var(--ldt-curva); transition-delay: calc(var(--ldt-i, 0) * var(--ldt-revela-paso)); }
	[data-revela]:not([data-visto]) .ldt-marco .ldt-foto { scale: 1.06; }
	[data-revela].ldt-marco .ldt-foto { transition: scale 1600ms var(--ldt-curva); transition-delay: calc(var(--ldt-i, 0) * var(--ldt-revela-paso)); }
	[data-revela].ldt-marco:not([data-visto]) .ldt-foto { scale: 1.06; }

	@view-transition { navigation: auto; }
	::view-transition-old(root) { animation: 160ms var(--ldt-curva) both ldt-vt-sale; }
	::view-transition-new(root) { animation: 420ms var(--ldt-curva) 60ms both ldt-vt-entra; }
	.ldt-cabecera { view-transition-name: ldt-cabecera; }
	.ldt-barra-movil { view-transition-name: ldt-barra-movil; }
	::view-transition-group(ldt-cabecera),
	::view-transition-group(ldt-barra-movil) { animation-duration: 0s; }
}

@keyframes ldt-vt-sale { to { opacity: 0; } }
@keyframes ldt-vt-entra { from { opacity: 0; translate: 0 10px; } }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.ldt-heroe__texto > *, .ldt-cabeza__reticula > *, .ldt-heroe__foto { animation: ldt-funde 400ms ease-out backwards; }
	[data-revela] { transition: opacity 400ms ease-out; }
	[data-revela]:not([data-visto]) { opacity: 0; }
	.ldt-btn:active { transform: none; }
}

/* Firma de agencia (Maserai Digital). El hueco de la barra de movil ya lo reserva .ldt-scope. */
.ldt-firma { background: var(--ldt-negro); color: var(--ldt-gris); border-top: 1px solid var(--ldt-filete); }
.ldt-firma__texto { margin: 0; padding-block: 0.7rem; font-size: 0.75rem; letter-spacing: 0.06em; text-align: center; }
.ldt-firma__enlace { color: var(--ldt-crema); text-decoration: underline; text-decoration-color: rgba(243, 236, 225, 0.4); text-underline-offset: 3px; }
.ldt-firma__enlace:hover, .ldt-firma__enlace:focus-visible { color: var(--ldt-tostado); text-decoration-color: currentColor; }

/* -------------------------------------------------------------------------
   Reserva en ventana

   Dialogo nativo con el modulo de CoverManager dentro. En movil ocupa la
   pantalla entera; en escritorio es un panel alto centrado. El modulo es
   claro, asi que el hueco que lo rodea va en crema y no en negro.
   ------------------------------------------------------------------------- */

.ldt-reserva {
	width: min(44rem, 100% - 2 * var(--ldt-margen));
	height: min(54rem, 100dvh - 2 * var(--ldt-e-4));
	max-width: none;
	max-height: none;
	padding: 0;
	border: 1px solid var(--ldt-filete-fuerte);
	background: var(--ldt-negro);
	color: var(--ldt-perla);
	overflow: hidden;
}
.ldt-reserva[open] { display: flex; flex-direction: column; }
.ldt-reserva::backdrop { background: rgba(0, 0, 0, 0.82); }
html:has(.ldt-reserva[open]) { overflow: hidden; }

.ldt-reserva__cabeza { display: flex; align-items: center; justify-content: space-between; gap: var(--ldt-e-2); padding: var(--ldt-e-2) var(--ldt-e-3); border-bottom: 1px solid var(--ldt-filete); }
.ldt-reserva__titulo { font-family: var(--ldt-display); font-size: var(--ldt-t-xl); text-transform: uppercase; letter-spacing: 0.01em; line-height: 1; }
.ldt-reserva .ldt-reserva__cerrar { min-height: 44px; padding: 0.6rem 1.1rem; }

.ldt-reserva__cuerpo { position: relative; flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; background: var(--ldt-crema); }
.ldt-reserva__cargando { position: absolute; inset: var(--ldt-e-3) var(--ldt-e-3) auto; color: var(--ldt-negro); font-size: var(--ldt-t-s); }
.ldt-reserva__cuerpo[data-cargado] .ldt-reserva__cargando { display: none; }
.ldt-reserva__cuerpo iframe { position: relative; display: block; width: 100%; height: 800px; border: 0; }

.ldt-reserva__pie { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ldt-e-1) var(--ldt-e-3); padding: var(--ldt-e-2) var(--ldt-e-3) calc(var(--ldt-e-2) + env(safe-area-inset-bottom)); border-top: 1px solid var(--ldt-filete); font-size: var(--ldt-t-s); color: var(--ldt-gris); }

@media (max-width: 599px) {
	.ldt-reserva { width: 100%; height: 100dvh; border: 0; }
	.ldt-reserva__cabeza, .ldt-reserva__pie { padding-inline: var(--ldt-margen); }
}

@keyframes ldt-reserva-entra { from { opacity: 0; translate: 0 12px; } }
@media (prefers-reduced-motion: no-preference) {
	.ldt-reserva[open] { animation: ldt-reserva-entra 220ms var(--ldt-curva); }
	.ldt-reserva[open]::backdrop { animation: ldt-funde 220ms var(--ldt-curva); }
}