/* ==========================================================================
   Dismo – Hero header (estilo B&B Italia)
   astra-child-dismo/assets/css/dismo-hero.css
   ========================================================================== */

.dismo-hero {
	/* Ajustables */
	--dh-height: 750px;           /* alto en escritorio */
	--dh-fade: 1.2s;              /* duración del fundido entre slides */
	--dh-zoom: 1.06;              /* escala inicial del "Ken Burns" (1 = sin zoom) */
	--dh-text: #fff;
	--dh-track: rgba(255, 255, 255, .35);
	--dh-bar: #fff;
	--dh-gutter: clamp(16px, 4vw, 64px);
	--dh-font-title: "Raleway", sans-serif;
	--dh-font-body: "Raleway", sans-serif;
	--dh-duration: 6000ms;        /* lo sobreescribe el JS con data-interval */

	position: relative;
	height: var(--dh-height);
	overflow: hidden;
	background: #1a1a1a;
	color: var(--dh-text);
	isolation: isolate;
}

/* --- Slides ------------------------------------------------------------- */

.dismo-hero__slides,
.dismo-hero__slide {
	position: absolute;
	inset: 0;
}

.dismo-hero__slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--dh-fade) ease, visibility 0s linear var(--dh-fade);
}

.dismo-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--dh-fade) ease, visibility 0s;
	z-index: 1;
}

/* Selectores con doble clase: Elementor (.elementor img) y Astra
   (.entry-content img) fuerzan height:auto y le ganan a una sola clase. */
.dismo-hero .dismo-hero__picture {
	display: block;
	width: 100%;
	height: 100%;
}

.dismo-hero .dismo-hero__media {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	object-fit: cover;
	object-position: center center;
	transform-origin: center center;
	transform: scale(var(--dh-zoom));
	transition: transform calc(var(--dh-duration) + var(--dh-fade)) linear;
}

.dismo-hero .dismo-hero__slide.is-active .dismo-hero__media {
	transform: scale(1);
}

/* Toda la foto es clickeable (como en B&B) */
.dismo-hero__slide-link {
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Degradado inferior para que el texto se lea sobre cualquier foto */
.dismo-hero::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 45%;
	background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
	pointer-events: none;
	z-index: 2;
}

/* --- Navegación inferior (títulos + barras de progreso) ----------------- */

.dismo-hero__nav {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 3;
	padding: 0 var(--dh-gutter) clamp(24px, 5vh, 56px);
}

.dismo-hero__list {
	display: grid;
	grid-template-columns: repeat(var(--dh-count, 3), minmax(0, 1fr));
	gap: clamp(16px, 3vw, 48px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.dismo-hero__item {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 14px;
	margin: 0;
	opacity: .6;
	transition: opacity .4s ease;
}

.dismo-hero__item.is-active,
.dismo-hero__item:hover,
.dismo-hero__item:focus-within {
	opacity: 1;
}

.dismo-hero__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

/* Reset fuerte: Astra/Elementor le ponen estilos a los <button> */
.dismo-hero .dismo-hero__tab {
	all: unset;
	box-sizing: border-box;
	cursor: pointer;
	font-family: var(--dh-font-title);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.25;
	color: var(--dh-text);
	text-align: left;
}

.dismo-hero .dismo-hero__more {
	display: inline-block;
	padding: 17px 35px;
	border: solid 1px #fff;
	font-family: var(--dh-font-body);
	font-size: .8125rem;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dh-text);
	text-decoration: none;
	transition: background-color .3s ease, color .3s ease;
}

.dismo-hero .dismo-hero__more:hover,
.dismo-hero .dismo-hero__more:focus-visible {
	background-color: #fff;
	color: #1a1a1a;
}

.dismo-hero .dismo-hero__tab:focus-visible,
.dismo-hero .dismo-hero__more:focus-visible {
	outline: 2px solid var(--dh-text);
	outline-offset: 4px;
}

/* Barra de progreso */
.dismo-hero__progress {
	display: block;
	height: 2px;
	background: var(--dh-track);
	overflow: hidden;
}

.dismo-hero__bar {
	display: block;
	height: 100%;
	background: var(--dh-bar);
	transform: scaleX(0);
	transform-origin: left center;
}

.dismo-hero__item.is-done .dismo-hero__bar {
	transform: scaleX(1);
}

.dismo-hero__item.is-active .dismo-hero__bar {
	animation: dismo-hero-progress var(--dh-duration) linear forwards;
}

.dismo-hero.is-paused .dismo-hero__item.is-active .dismo-hero__bar {
	animation-play-state: paused;
}

@keyframes dismo-hero-progress {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}

/* --- Mobile ------------------------------------------------------------- */

@media (max-width: 767px) {
	/* Celular: 70% del alto de la pantalla.
	   svh = alto con las barras del navegador visibles, así no "salta" al hacer scroll.
	   vh queda como respaldo para navegadores viejos. */
	.dismo-hero {
		--dh-height: 70vh;
	}

	@supports (height: 1svh) {
		.dismo-hero {
			--dh-height: 70svh;
		}
	}

	/* Mobile: arriba el texto del slide activo a todo el ancho,
	   abajo las barras en fila. display:contents "aplana" cada <li>
	   para que texto y barra se ubiquen directo en la grilla. */
	.dismo-hero__list {
		row-gap: 16px;
		column-gap: 8px;
	}

	.dismo-hero__item {
		display: contents;
	}

	.dismo-hero__text {
		grid-row: 1;
		grid-column: 1 / -1;
		align-self: end;
		visibility: hidden;
	}

	.dismo-hero__item.is-active .dismo-hero__text {
		visibility: visible;
	}

	.dismo-hero__progress {
		grid-row: 2;
		height: 3px;
		cursor: pointer;
	}
}

/* --- Accesibilidad: sin movimiento ------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.dismo-hero__slide,
	.dismo-hero__slide.is-active {
		transition: none;
	}

	.dismo-hero .dismo-hero__media,
	.dismo-hero .dismo-hero__slide.is-active .dismo-hero__media {
		transform: none;
		transition: none;
	}
}

/* --- Header de Astra transparente encima del hero ---------------------- */
/* Activá en Astra: Personalizar → Header → Transparent Header → Home.
   Esto solo asegura que el hero arranque debajo (detrás) del header. */
.ast-theme-transparent-header .dismo-hero {
	margin-top: 0;
}
