/* Qubo Hero Slider */
.qhs {
	--qhs-gutter: max(16px, calc((100% - 1170px) / 2));
	--qhs-font: var(--wp--preset--font-family--display, Oswald, "Arial Narrow", Arial, sans-serif);
	position: relative;
	overflow: hidden;
	aspect-ratio: var(--qhs-ratio, 1920/800);
	min-height: var(--qhs-min, 420px);
	max-height: var(--qhs-max, 800px);
	background: #0b1220;
	isolation: isolate;
	margin-block: 0;
}
.qhs-track { position: absolute; inset: 0; user-select: none; }
.qhs-slide__img { -webkit-user-drag: none; }

/* Diapositivas */
.qhs-slide { position: absolute; inset: 0; color: var(--qhs-color, #fff); }
.qhs.is-transition-fade .qhs-slide { opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility 0s linear .9s; }
.qhs.is-transition-fade .qhs-slide.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease; z-index: 1; }
/* Deslizar: curva medida en Master Slider (vista "basic", speed 20): salida rápida y frenado largo */
.qhs.is-transition-slide .qhs-slide { transition: transform var(--qhs-speed, 1.4s) cubic-bezier(.1, .85, .2, 1); will-change: transform; }
.qhs.is-transition-slide .qhs-slide.is-positioning { transition: none; }
.qhs.is-transition-slide .qhs-slide:not(.is-active) { transform: translateX(100%); }

.qhs-slide__media { position: absolute; inset: 0; }
.qhs-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.qhs-slide__media::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, var(--qhs-overlay, .2)); }
.qhs-slide.is-h-right .qhs-slide__media::after { background: linear-gradient(90deg, rgba(0,0,0,0) 45%, rgba(0,0,0,calc(var(--qhs-overlay, .2) * 2))), rgba(0, 0, 0, calc(var(--qhs-overlay, .2) / 2)); }
.qhs-slide.is-h-left .qhs-slide__media::after { background: linear-gradient(270deg, rgba(0,0,0,0) 45%, rgba(0,0,0,calc(var(--qhs-overlay, .2) * 2))), rgba(0, 0, 0, calc(var(--qhs-overlay, .2) / 2)); }
.qhs-slide__link { position: absolute; inset: 0; z-index: 2; color: inherit; text-decoration: none; }

.qhs-slide__content {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	padding: clamp(1.5rem, 5vw, 4rem) var(--qhs-gutter);
	pointer-events: none;
}
.qhs-slide.is-h-left .qhs-slide__content { justify-content: flex-start; text-align: left; }
.qhs-slide.is-h-center .qhs-slide__content { justify-content: center; text-align: center; }
.qhs-slide.is-h-right .qhs-slide__content { justify-content: flex-end; text-align: left; }
.qhs-slide.is-v-top .qhs-slide__content { align-items: flex-start; }
.qhs-slide.is-v-center .qhs-slide__content { align-items: center; }
.qhs-slide.is-v-bottom .qhs-slide__content { align-items: flex-end; }
.qhs-slide__inner { width: auto; max-width: min(100%, 27rem); pointer-events: auto; }
/* Posición de las capas como en Master Slider: bloque a la derecha, ~13% desde el borde */
.qhs-slide.is-h-right .qhs-slide__content { padding-right: max(var(--qhs-gutter), 8vw); }
.qhs-slide.is-h-left .qhs-slide__content { padding-left: max(var(--qhs-gutter), 8vw); }
.qhs-slide.is-h-center .qhs-slide__inner { width: min(100%, 52rem); }

.qhs .qhs-slide__title {
	margin: 0 0 .35em;
	color: inherit;
	font-family: var(--qhs-font);
	font-size: clamp(1.6rem, 3.646vw, 4.375rem); /* 70px en 1920px */
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: uppercase;
	text-shadow: 0 2px 18px rgba(0,0,0,.35);
}
.qhs .qhs-slide__text {
	margin: 0;
	color: inherit;
	font-family: var(--qhs-font);
	font-size: clamp(1rem, 2.083vw, 2.5rem); /* 40px en 1920px */
	font-weight: 200;
	line-height: 1.5;
	text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.qhs-slide__actions { margin: 1.5rem 0 0; }
.qhs-slide__button {
	display: inline-block;
	padding: .8em 1.8em;
	border: 2px solid currentColor;
	color: inherit !important;
	font-family: var(--qhs-font);
	font-size: clamp(.95rem, 1.2vw, 1.15rem);
	letter-spacing: .05em;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color .25s ease, color .25s ease;
}
.qhs-slide__button:hover, .qhs-slide__button:focus-visible { background: #fff; color: #111 !important; }

/* Animaciones de capas (medidas en Master Slider):
   título  → desde 150px arriba, fundido, 2s, retardo 0.5s, easeOutQuint
   texto   → desde 150px abajo,  fundido, 2s, retardo 1s,   easeOutQuint
   Las distancias escalan con el ancho (150px en un lienzo de 1920px = 7.8vw). */
@keyframes qhs-from-top { from { opacity: 0; transform: translateY(calc(-1 * var(--qhs-shift))); } to { opacity: 1; transform: none; } }
@keyframes qhs-from-bottom { from { opacity: 0; transform: translateY(var(--qhs-shift)); } to { opacity: 1; transform: none; } }
.qhs { --qhs-shift: clamp(40px, 7.8vw, 150px); --qhs-ease: cubic-bezier(.22, 1, .36, 1); --qhs-wait: 0s; }
/* En modo deslizar, como Master Slider, las capas esperan a que la diapositiva llegue */
.qhs.is-transition-slide.has-moved { --qhs-wait: .7s; }
.qhs-slide .qhs-slide__title, .qhs-slide .qhs-slide__text, .qhs-slide .qhs-slide__actions { opacity: 0; }
.qhs-slide.is-active .qhs-slide__title { animation: qhs-from-top 2s var(--qhs-ease) calc(var(--qhs-wait) + .5s) both; }
.qhs-slide.is-active .qhs-slide__text { animation: qhs-from-bottom 2s var(--qhs-ease) calc(var(--qhs-wait) + 1s) both; }
.qhs-slide.is-active .qhs-slide__actions { animation: qhs-from-bottom 2s var(--qhs-ease) calc(var(--qhs-wait) + 1.3s) both; }

/* Controles */
.qhs-nav, .qhs-toggle, .qhs-dot { appearance: none; border: 0; cursor: pointer; }
.qhs-nav {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-top: -1.5rem;
	border-radius: 50%;
	background: rgba(0,0,0,.35);
	color: #fff;
	opacity: 0;
	transition: opacity .3s ease, background-color .2s ease;
}
.qhs-nav svg, .qhs-toggle svg { width: 1.6rem; height: 1.6rem; fill: currentColor; }
.qhs-nav--prev { left: 1rem; }
.qhs-nav--next { right: 1rem; }
.qhs:hover .qhs-nav, .qhs-nav:focus-visible { opacity: 1; }
.qhs-nav:hover { background: rgba(0,0,0,.6); }
.qhs-dots { position: absolute; z-index: 3; left: 50%; bottom: 1.25rem; display: flex; gap: .6rem; transform: translateX(-50%); }
.qhs-dot { width: .75rem; height: .75rem; padding: 0; border-radius: 50%; background: rgba(255,255,255,.5); transition: background-color .2s ease, transform .2s ease; }
.qhs-dot:hover { background: rgba(255,255,255,.85); }
.qhs-dot.is-active { background: #fff; transform: scale(1.25); }
.qhs-toggle { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0; border-radius: 50%; background: rgba(0,0,0,.35); color: #fff; }
.qhs-toggle svg { width: 1.1rem; height: 1.1rem; }
.qhs-toggle__play { display: none; }
.qhs.is-paused .qhs-toggle__play { display: block; }
.qhs.is-paused .qhs-toggle__pause { display: none; }
.qhs :focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 781px) {
	.qhs { aspect-ratio: auto; height: clamp(var(--qhs-min, 420px), 75vw, 560px); }
	.qhs-slide .qhs-slide__content { justify-content: center !important; text-align: center !important; align-items: flex-end !important; padding-bottom: 3.5rem; }
	.qhs-slide .qhs-slide__media::after { background: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.65)) !important; }
	.qhs-nav { display: none; }
}

/* "Reducir movimiento": solo si el bloque tiene activada la opción (clase añadida por view.js) */
.qhs.is-reduced-motion .qhs-slide.is-active .qhs-slide__title,
.qhs.is-reduced-motion .qhs-slide.is-active .qhs-slide__text,
.qhs.is-reduced-motion .qhs-slide.is-active .qhs-slide__actions { animation: none; opacity: 1; }
.qhs.is-reduced-motion .qhs-slide { transition: none !important; }
