/* =====================================================================
   Landing evento — Destino Castilla (P1-2)
   Frames Figma: 42-d/43-m (hero->modelos->amenidades->ubicacion->CTA),
   46-d/47-m (nivel+plantas), 48-d/49-m (detalle+galeria).
   Solo frontend. Todo bajo .le-page para no colisionar con castilla.css.
   Tokens de marca tomados del Figma (no se toca :root global).
   ===================================================================== */

.le-page {
	--le-olive: #414929;
	--le-olive-dark: #302e12;
	--le-gold: #b08524;
	--le-gold-600: #9c7420;
	--le-olive-base: #a6a64f;
	--le-badge: #F4F4F7;
	--le-header: #14142B;
	--le-body: #4E4B66;
	--le-label: #6E7191;
	--le-line: #D9DBE9;
	--le-bg: #FFFFFF;
	--le-cream: #f7f8ef;
	--le-sand: #F3EBD7;   /* chip activo / flechas / textura CTA (Figma) */
	--le-mist: #F7F7FC;   /* fondo sección amenidades + badges de ícono */
	--le-cta-bg: #FFFBF2;
	--le-radius: 24px;

	background: var(--le-bg);
	color: var(--le-body);
	font-family: 'Montserrat', sans-serif;
	overflow-x: hidden;
}
.le-page * { box-sizing: border-box; }

.le-container { max-width: 1154px; margin: 0 auto; padding: 0 20px; }

.le-h2 {
	font-weight: 700;
	font-size: 36px;
	line-height: 1.1;
	letter-spacing: .01em;
	color: var(--le-header);
	text-transform: uppercase;
	margin: 0;
}

/* ---------- Botones ---------- */
.le-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border-radius: 40px; padding: 15px 28px;
	font-weight: 600; font-size: 16px; line-height: 1;
	text-decoration: none; cursor: pointer; border: 1.5px solid transparent;
	transition: background .18s ease, color .18s ease;
}
.le-btn--primary { background: var(--le-gold); color: #fff; }
.le-btn--primary:hover { background: var(--le-gold-600); color: #fff; }
.le-btn--secondary { background: #fff; color: var(--le-gold); border-color: var(--le-gold); }
.le-btn--secondary:hover { background: var(--le-cream); }
.le-btn[disabled], .le-btn.is-disabled {
	background: #C7CBD9; color: #fff; border-color: transparent; cursor: not-allowed; pointer-events: none;
}

/* =========================== HERO =========================== */
.le-hero {
	position: relative;
	padding: 93px 20px 0;
	text-align: center;
	isolation: isolate;
}
.le-hero__bg {
	position: absolute; inset: 0; z-index: 0; overflow: hidden;
	background: var(--le-olive); pointer-events: none;
}
.le-hero__texture {
	position: absolute; top: -260px; right: -120px;
	width: 1049px; height: 1049px; display: block;
	background: url('../../images/le-textura-castilla.svg') no-repeat center / contain;
	opacity: .55;
}
.le-hero__logo { position: relative; z-index: 2; display: inline-block; margin-bottom: 58px; }
.le-hero__logo img { display: block; height: 46px; width: auto; }

.le-hero__card {
	position: relative; z-index: 1;
	max-width: 1268px; margin: 0 auto -215px;
	border-radius: var(--le-radius); overflow: hidden;
	aspect-ratio: 1268 / 585;
	box-shadow: 0 40px 70px rgba(0,0,0,.25);
}
.le-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.le-hero__overlay {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(20,22,15,.15) 0%, rgba(20,22,15,.35) 55%, rgba(20,22,15,.55) 100%);
}
.le-hero__content {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
	width: 90%; max-width: 860px; display: flex; flex-direction: column; align-items: center;
}
.le-hero__title {
	color: #fff; font-weight: 700; font-size: 56px; line-height: 1.1; margin: 0 0 28px;
	text-transform: uppercase; letter-spacing: 0; /* Figma Display Large Bold */
}
.le-hero__btn { font-size: 14px; padding: 14px 24px; }

/* ========================= MODELOS ========================= */
.le-modelos { padding: 330px 0 56px; }
.le-modelos__head { margin-bottom: 28px; }
.le-chips { display: flex; align-items: center; gap: 8px; margin-top: 20px; flex-wrap: wrap; }
.le-chips__label { font-weight: 500; font-size: 16px; color: var(--le-label); white-space: nowrap; margin-right: 10px; }
.le-chips__list { display: flex; gap: 4px; flex-wrap: wrap; }
/* Los "chips" del Figma son texto plano; solo el activo lleva pastilla arena + dorado. */
.le-chip {
	border: none; background: transparent; color: var(--le-body);
	border-radius: 8px; padding: 6px 16px; font-family: inherit;
	font-weight: 500; font-size: 16px; line-height: 1.4; cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.le-chip:hover { color: var(--le-gold); }
.le-chip.is-active { background: var(--le-sand); color: var(--le-gold); font-weight: 700; }
.le-modelos .le-modelos__select { display: none; }

.le-modelo-card {
	display: grid; grid-template-columns: 1fr 1fr; margin-top: 28px;
	background: #fff; border-radius: var(--le-radius); overflow: hidden;
	box-shadow: 0 20px 50px rgba(20,22,15,.08); /* Figma: solo Elevation, sin borde */
}
.le-modelo-card__info { padding: 36px 56px 40px; display: flex; flex-direction: column; }
.le-modelo-card__desde { display: block; font-weight: 500; font-size: 20px; color: var(--le-label); }
.le-modelo-card__amount { display: block; margin-top: 2px; font-weight: 700; font-size: 40px; line-height: 1.1; color: var(--le-gold); }
.le-bullets { list-style: none; margin: 26px 0 auto; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.le-bullets li { display: flex; align-items: flex-start; gap: 12px; font-weight: 500; font-size: 16px; line-height: 1.4; color: var(--le-body); }
.le-bullet { flex: none; width: 5px; height: 5px; border-radius: 50%; background: var(--le-gold); margin-top: 9px; }
.le-modelo-card__info .le-btn { margin-top: 28px; align-self: flex-start; padding: 16px 32px; }

.le-modelo-card__media { position: relative; min-height: 460px; }
.le-modelo-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.le-media-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 48px; height: 48px; border-radius: 50%; border: none; background: var(--le-sand);
	display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0;
	color: var(--le-gold); z-index: 2; transition: background .15s ease;
}
.le-media-arrow:hover { background: #EDE2C6; }
.le-media-arrow svg { width: 22px; height: 22px; display: block; }
.le-media-arrow--prev { left: 24px; }
.le-media-arrow--next { right: 24px; }

/* ======================== AMENIDADES ======================== */
.le-amenidades { padding: 100px 0; background: var(--le-mist); }
.le-amenidades__grid {
	/* La foto puede encogerse (minmax) para que la columna de contenido —con la
	   fila de 5 iconos— siempre quepa en la banda 768–1111 sin desbordar. */
	display: grid; grid-template-columns: minmax(0, 428px) 1fr; align-items: stretch;
	background: #fff; border-radius: var(--le-radius); overflow: hidden;
	box-shadow: 0 20px 50px rgba(20,22,15,.06);
	max-width: 1112px; padding: 0; min-height: 582px;
}
.le-amenidades__photo { position: relative; min-height: 582px; }
.le-amenidades__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.le-amenidades__body { padding: 48px 40px 48px 56px; display: flex; flex-direction: column; justify-content: center; }
.le-amenidades__sub { margin: 12px 0 34px; font-weight: 500; font-size: 18px; color: var(--le-body); }
.le-amenidades__items { display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px 4px; }
.le-amenidad { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.le-amenidad__ico {
	width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	font-size: 22px; color: var(--le-header); background: var(--le-mist); flex: none;
}
.le-amenidad__ico--svg svg { width: 24px; height: 24px; display: block; }
.le-amenidad__label { font-weight: 500; font-size: 14px; line-height: 1.55; color: var(--le-body); max-width: 98px; }
.le-amenidad.is-active .le-amenidad__ico { background: var(--le-olive-base); color: #fff; }
.le-amenidad.is-active .le-amenidad__label { color: var(--le-header); font-weight: 700; }

/* Indicador de progreso del carrusel de fotos (banda inferior de la foto) */
.le-progress {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
	height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px;
	background: rgba(28,28,24,.42);
	-webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}
.le-progress__num { font-weight: 700; font-size: 16px; line-height: 1; color: rgba(255,255,255,.78); }
.le-progress__num.is-current { color: #fff; }
.le-progress__num:last-child { font-weight: 500; font-size: 14px; }
.le-progress__bar {
	position: relative; display: block; width: 110px; height: 1px;
	background: rgba(255,255,255,.55); border-radius: 1px;
}
.le-progress__fill {
	position: absolute; top: 50%; transform: translateY(-50%);
	left: calc((var(--le-i, 1) - 1) * 10%);
	width: 15px; height: 4px; border-radius: 2px; background: #fff;
}

/* ======================== UBICACIÓN ======================== */
.le-ubicacion {
	display: grid; grid-template-columns: 990fr 450fr; align-items: center;
	max-width: 1440px; margin: 40px auto 0;
}
.le-ubicacion__map { line-height: 0; }
.le-ubicacion__map img { width: 100%; height: auto; display: block; }
.le-ubicacion__body { padding: 40px 56px; }
.le-ubicacion__title { margin-bottom: 24px; font-size: 48px; line-height: 1.1; max-width: 320px; }
.le-ubicacion__addr {
	font-weight: 500; font-size: 18px; line-height: 1.55; color: var(--le-body);
	margin: 0; max-width: 300px;
}
.le-ubicacion__addr strong { font-weight: 700; color: var(--le-header); }

/* =========================== CTA =========================== */
.le-cta {
	position: relative; overflow: hidden; background: var(--le-cta-bg);
	text-align: center; padding: 74px 20px; isolation: isolate;
}
/* La textura es el logomark "D" gigante recortado; se pinta con máscara para
   poder colorearlo (el SVG trae fill oliva fijo). */
.le-cta__texture {
	position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background-color: var(--le-sand);
	-webkit-mask: url('../../images/le-textura-castilla.svg') no-repeat center / 1049px auto;
	mask: url('../../images/le-textura-castilla.svg') no-repeat center / 1049px auto;
}
.le-cta__inner { position: relative; z-index: 1; }
.le-cta__title {
	font-weight: 700; font-size: 36px; line-height: 1.15; color: var(--le-header);
	text-transform: uppercase; max-width: 620px; margin: 0 auto 26px;
}
.le-cta .le-btn { font-size: 14px; padding: 15px 34px; }

/* =====================================================================
   MOBILE  (<= 767px)  — frame 43-m-Friends 1
   ===================================================================== */
@media screen and (max-width: 767px) {
	.le-container { padding: 0 24px; }
	.le-h2 { font-size: 26px; }

	/* Hero — la banda oliva mide 440px y la foto (331x676) sobresale hacia abajo. */
	.le-hero { padding: 152px 22px 0; }
	.le-hero__logo { margin-bottom: 28px; }
	.le-hero__logo img { height: 40px; }
	.le-hero__card { margin: 0 auto -388px; aspect-ratio: 331 / 676; border-radius: 16px; }
	.le-hero__content { top: 50%; width: 90%; }
	.le-hero__title { font-size: 28px; line-height: 1.18; margin-bottom: 22px; }
	.le-hero__br { display: none; } /* en mobile el título fluye a 4 líneas (43-m) */

	/* Modelos: tarjeta a sangre (sin borde ni sombra) + foto full-bleed */
	.le-modelos { padding: 405px 0 0; }
	.le-chips { display: block; margin-top: 12px; }
	.le-chips__label { font-size: 14px; margin-right: 0; }
	.le-chips__list { display: none; }
	.le-modelos .le-modelos__select { display: block; width: 100%; margin-top: 12px; }
	/* La tarjeta rompe el contenedor: en 43-m va a sangre completa. */
	.le-modelo-card {
		grid-template-columns: 1fr; margin: 24px -24px 0;
		border-radius: 0; box-shadow: none; border: none;
	}
	.le-modelo-card__info { padding: 32px 40px 36px; order: 1; }
	.le-modelo-card__media { order: 2; min-height: 0; height: 305px; }
	.le-modelo-card__amount { font-size: 36px; }
	.le-media-arrow { width: 40px; height: 40px; }
	.le-media-arrow svg { width: 18px; height: 18px; }
	.le-media-arrow--prev { left: 16px; }
	.le-media-arrow--next { right: 16px; }

	/* Amenidades: foto full-bleed con barra de progreso + rejilla de 2 columnas */
	.le-amenidades { padding: 0 0 32px; background: #fff; }
	.le-amenidades__grid {
		grid-template-columns: 1fr; box-shadow: none; border: none; background: transparent;
		padding: 0; min-height: 0; border-radius: 0; max-width: none;
	}
	.le-amenidades__photo { display: block; position: relative; min-height: 0; aspect-ratio: 375 / 411; }
	.le-amenidades__body { padding: 40px 40px 0; display: block; }
	.le-amenidades .le-h2 { color: var(--le-olive-dark); }
	.le-amenidades__sub { font-size: 15px; margin: 12px 0 28px; color: rgba(48,46,18,.78); }
	.le-amenidades__items { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
	.le-amenidad {
		flex-direction: column; align-items: center; text-align: center; gap: 12px;
		background: transparent; border: none; border-radius: 0; padding: 0;
	}
	.le-amenidad__ico { width: 44px; height: 44px; border-radius: 50%; font-size: 20px; flex: none; }
	.le-amenidad__ico--svg svg { width: 22px; height: 22px; }
	.le-amenidad__label { font-size: 14px; }
	.le-amenidad.is-active .le-amenidad__label {
		background: #F4F4F7; border-radius: 8px; padding: 6px 10px;
	}
	.le-progress { height: 40px; }
	.le-progress__num { font-size: 14px; }
	.le-progress__num:last-child { font-size: 13px; }
	.le-progress__bar { width: 96px; }

	/* Ubicación */
	.le-ubicacion { grid-template-columns: 1fr; margin-top: 24px; }
	.le-ubicacion__map img { height: 392px; object-fit: cover; }
	.le-ubicacion__body { padding: 28px 24px 32px; }
	.le-ubicacion__title { font-size: 26px; max-width: 260px; margin-bottom: 14px; }
	.le-ubicacion__addr { font-size: 14px; max-width: none; }

	/* CTA: en mobile la banda es arena y la textura sale en crema */
	.le-cta { padding: 48px 24px; background: var(--le-sand); }
	.le-cta__texture { background-color: var(--le-cta-bg); -webkit-mask-size: 620px auto; mask-size: 620px auto; }
	.le-cta__title { font-size: 26px; max-width: 280px; }
}

/* =====================================================================
   NIVEL + PLANTAS  (frame 46-d / 47-m)
   ===================================================================== */
.le-page--nivel { background: #fff; }

.le-topbar { padding: 40px 20px 0; }
.le-topbar__inner {
	max-width: 1119px; margin: 0 auto;
	display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
}
.le-topbar__left { display: flex; flex-direction: column; gap: 20px; }
.le-back {
	display: inline-flex; align-items: center; gap: 8px;
	font-weight: 500; font-size: 15px; color: var(--le-gold); text-decoration: none;
}
.le-back .icon-back-arrow { font-size: 14px; }
.le-back:hover { color: var(--le-gold-600); }

.le-select-field {
	display: block; position: relative; min-width: 325px;
	border: 1px solid var(--le-line); border-radius: 12px; background: #fff; padding: 8px 16px;
}
.le-select-field__label { display: block; font-weight: 500; font-size: 12px; color: var(--le-label); }
.le-select-field__control {
	width: 100%; border: none; background: transparent; padding: 2px 20px 2px 0;
	font-weight: 600; font-size: 16px; color: var(--le-header); appearance: none; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2314142B' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right center;
}
.le-select-field__control:focus { outline: none; }

.le-enganche {
	border: 1px solid var(--le-line); border-radius: 12px; background: #fff; padding: 18px 24px;
	min-width: 350px; box-shadow: 0 8px 24px rgba(20,22,15,.05);
}
.le-enganche__label { display: block; font-weight: 500; font-size: 14px; color: var(--le-body); }
.le-enganche__amount { display: block; font-weight: 700; font-size: 32px; line-height: 1.1; color: var(--le-gold); }

.le-plantas { max-width: 1440px; margin: 8px auto 0; padding: 0 20px 24px; }
.le-plantas__img { width: 100%; height: auto; display: block; }

/* Encabezado nivel + listado de unidades: solo mobile */
.le-nivel-heading, .le-unidades { display: none; }

@media screen and (max-width: 767px) {
	.le-page--nivel { background: #fff; }
	.le-topbar { padding: 24px 24px 0; }
	.le-topbar__inner { flex-direction: column; align-items: stretch; gap: 16px; }
	.le-topbar__left { gap: 16px; }
	.le-select-field { min-width: 0; }
	.le-enganche {
		min-width: 0; text-align: center; background: var(--le-cream); border-color: transparent;
	}
	.le-enganche__amount { font-size: 30px; }

	.le-nivel-heading { display: block; padding: 24px 24px 4px; }
	.le-nivel-heading__torre { margin: 0; font-weight: 700; font-size: 18px; color: var(--le-header); }
	.le-nivel-heading__sub { margin: 4px 0 0; font-weight: 500; font-size: 14px; color: var(--le-label); }

	.le-plantas { padding: 12px 16px; margin-top: 4px; }

	.le-unidades { display: block; padding: 8px 24px 8px; }
	.le-unidad-card {
		border: 1px solid #EEEEEA; border-radius: 16px; padding: 20px; margin-bottom: 16px; background: #fff;
		box-shadow: 0 6px 18px rgba(20,22,15,.04);
	}
	.le-unidad-card__model { font-weight: 600; font-size: 12px; letter-spacing: .04em; color: var(--le-gold); text-transform: uppercase; }
	.le-unidad-card__num { margin: 6px 0 8px; font-weight: 700; font-size: 26px; color: var(--le-header); }
	.le-unidad-card__specs { margin: 0 0 6px; font-weight: 500; font-size: 14px; color: var(--le-body); }
	.le-unidad-card__view { margin: 0 0 16px; font-weight: 400; font-size: 13px; line-height: 1.4; color: var(--le-label); }
	.le-unidad-card__btn { padding: 12px 22px; font-size: 14px; }

	/* Cards inyectadas por ajax_disponibilidad (plugin viviendas) con piel le- */
	.le-unidades .col-12 { padding: 0; }
	.le-unidades .card-vivienda {
		border: 1px solid #EEEEEA; border-radius: 16px; padding: 20px; margin-bottom: 16px; background: #fff;
		box-shadow: 0 6px 18px rgba(20,22,15,.04);
	}
	.le-unidades .card-vivienda h6 { margin: 0; font-weight: 600; font-size: 12px; letter-spacing: .04em; color: var(--le-gold); text-transform: uppercase; }
	.le-unidades .card-vivienda h3 { margin: 6px 0 4px; font-weight: 700; font-size: 26px; color: var(--le-header); }
	.le-unidades .card-vivienda h4 { margin: 0 0 8px; font-weight: 500; font-size: 14px; color: var(--le-label); }
	.le-unidades .card-vivienda p { margin: 0 0 16px; font-weight: 500; font-size: 14px; color: var(--le-body); }
	.le-unidades .card-vivienda .btn-detail {
		display: inline-block; padding: 12px 22px; border-radius: 40px;
		background: var(--le-gold); color: #fff; font-weight: 600; font-size: 14px; text-decoration: none;
	}
	.le-unidades .card-vivienda .btn-detail:hover { background: var(--le-gold-600); }
}

/* =====================================================================
   DETALLE APTO + GALERÍA  (frames 48-d / 49-m)
   ===================================================================== */
.le-page--detalle { background: #fff; }

.le-detalle-back { padding: 32px 20px 0; }
.le-detalle-back__inner { max-width: 1116px; margin: 0 auto; }

.le-detalle { padding: 24px 20px 8px; }
.le-detalle__hero { position: relative; max-width: 1116px; margin: 0 auto; }
.le-detalle__photo { width: 100%; height: 560px; object-fit: cover; border-radius: var(--le-radius); display: block; }
.le-detalle__card {
	position: absolute; top: 28px; left: 60px; width: 684px;
	background: #fff; border-radius: var(--le-radius); padding: 44px 56px;
	box-shadow: 0 30px 60px rgba(20,22,15,.18);
}
.le-detalle__model { font-weight: 500; font-size: 16px; color: var(--le-gold); }
.le-detalle__num { margin: 6px 0 6px; font-weight: 700; font-size: 40px; line-height: 1.1; color: var(--le-header); text-transform: uppercase; }
.le-detalle__meta { margin: 0; font-weight: 500; font-size: 20px; color: var(--le-body); }
.le-detalle__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 22px 0 28px; }
.le-detalle__specs .le-bullets { margin: 0; gap: 8px; }
.le-detalle__specs .le-bullets li { font-size: 15px; }
.le-detalle__actions { display: flex; gap: 24px; flex-wrap: wrap; }
.le-detalle__note { margin: 20px 0 0; font-weight: 400; font-size: 12px; line-height: 1.6; color: #8A8CA0; }

.le-notif {
	display: flex; align-items: flex-start; gap: 12px; margin-top: 22px;
	background: #FFF6DE; border-radius: 12px; padding: 16px 18px;
}
.le-notif__icon { color: #C39A3D; font-size: 20px; margin-top: 1px; }
.le-notif__title { display: block; font-weight: 700; font-size: 15px; color: var(--le-header); }
.le-notif__text { margin: 4px 0 0; font-weight: 400; font-size: 13px; line-height: 1.4; color: var(--le-body); }

/* Galería */
.le-galeria { text-align: center; padding: 137px 0 64px; }
.le-galeria__title { margin: 0 0 32px; font-weight: 700; font-size: 36px; text-transform: uppercase; color: var(--le-header); }
.le-galeria__viewport { position: relative; max-width: 1440px; margin: 0 auto; overflow: hidden; padding: 0 20px; }
.le-galeria__track { display: flex; align-items: center; justify-content: center; gap: 24px; }
.le-galeria__slide { flex: 0 0 auto; width: 660px; max-width: 82vw; }
.le-galeria__slide img { width: 100%; height: 460px; object-fit: cover; border-radius: 12px; display: block; }
.le-galeria__slide:not(.is-current) { opacity: .96; }
.le-galeria__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	width: 64px; height: 64px; border-radius: 50%; border: none; cursor: pointer;
	background: rgba(255,255,255,.75); box-shadow: 0 8px 24px rgba(0,0,0,.15);
	display: flex; align-items: center; justify-content: center; font-size: 22px; color: var(--le-header);
}
.le-galeria__arrow--prev { left: 24px; }
.le-galeria__arrow--next { right: 24px; }
.le-galeria__progress { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 26px; }
.le-galeria__num { font-weight: 600; font-size: 14px; color: #A0A3BD; }
.le-galeria__num.is-current { color: var(--le-gold); }
.le-galeria__bar { position: relative; width: 120px; height: 2px; background: #E4E4EC; border-radius: 2px; }
.le-galeria__bar-fill { position: absolute; inset: 0 auto 0 0; width: 22%; background: var(--le-gold); border-radius: 2px; }

/* -------- Mobile detalle + galería (49-m) -------- */
@media screen and (max-width: 767px) {
	.le-detalle-back { padding: 20px 24px 0; }
	.le-detalle { padding: 12px 16px 8px; }
	.le-detalle__hero { position: relative; border-radius: 20px; overflow: hidden; }
	.le-detalle__photo { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 0; }
	.le-detalle__card {
		position: relative; top: auto; left: auto; width: auto; margin: 96px 14px 14px;
		padding: 26px 22px; box-shadow: 0 20px 40px rgba(20,22,15,.20);
	}
	.le-detalle__num { font-size: 24px; }
	.le-detalle__meta { font-size: 16px; }
	.le-detalle__specs { grid-template-columns: 1fr; gap: 8px; margin: 18px 0 22px; }
	.le-detalle__actions { flex-direction: column; gap: 12px; }
	.le-detalle__actions .le-btn { width: 100%; }

	.le-galeria { padding: 28px 0 36px; }
	.le-galeria__title { font-size: 28px; margin-bottom: 22px; }
	.le-galeria__viewport { padding: 0 16px; }
	.le-galeria__slide { width: 78vw; }
	.le-galeria__slide img { height: 200px; }
	.le-galeria__arrow { width: 44px; height: 44px; font-size: 18px; }
	.le-galeria__arrow--prev { left: 8px; }
	.le-galeria__arrow--next { right: 8px; }
}

/* Mobile: recortar la banda "NIVEL 3" horneada en la imagen del plano
   (en mobile el encabezado "Torre 1 - Nivel 3" ya se muestra como texto). */
@media screen and (max-width: 767px) {
	.le-plantas { overflow: hidden; border-radius: 12px; padding: 0 12px; }
	.le-plantas__img { margin-top: -9%; margin-bottom: -4%; }
}
