﻿/**
 * Servicios — Hero full viewport (100vh / 100dvh, como el home).
 */

.elementor-widget-althus-servicios-hero,
.elementor-widget-althus-servicios-hero > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
	height: auto !important;
}

.althus-servicios-hero {
	--althus-servicios-hero-bg: #000000;
	--althus-servicios-hero-text: #ffffff;
	--althus-servicios-hero-header-clearance: clamp(5.5rem, 12vh, 8.5rem);
	--althus-servicios-hero-pad-bottom: clamp(3rem, 8vh, 5rem);
	--althus-servicios-hero-headline-size: clamp(2rem, 4.2vw, 4.75rem);
	--althus-servicios-hero-desc-size: clamp(0.9375rem, 1.2vw, 1.25rem);
	/* Full viewport: sale de columnas/boxed de Elementor */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	min-height: 100vh;
	min-height: 100dvh;
	background-color: var(--althus-servicios-hero-bg);
	color: var(--althus-servicios-hero-text);
	box-sizing: border-box;
	font-family: var(--althus-font-family);
	overflow: visible;
	display: flex;
	flex-direction: column;
}

.althus-servicios-hero *,
.althus-servicios-hero *::before,
.althus-servicios-hero *::after {
	box-sizing: inherit;
}

.althus-servicios-hero__inner {
	position: relative;
	display: block;
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0 auto;
	padding:
		var(--althus-servicios-hero-header-clearance)
		clamp(1.5rem, 5vw, 6rem)
		var(--althus-servicios-hero-pad-bottom);
}

.althus-servicios-hero__content {
	position: absolute;
	top: 50%;
	left: clamp(1.5rem, 5vw, 6rem);
	right: clamp(1.5rem, 5vw, 6rem);
	width: auto;
	max-width: none;
	margin: 0;
	transform: none;
}

.althus-servicios-hero__headline {
	margin: 0;
	max-width: min(92vw, 72rem);
	color: var(--althus-servicios-hero-text);
	font-family: var(--althus-font-family) !important;
	font-size: var(--althus-servicios-hero-headline-size);
	font-weight: 400 !important;
	line-height: 1.08;
	letter-spacing: -0.03em;
	text-transform: none;
	overflow: visible;
	white-space: normal;
}

.althus-servicios-hero__description {
	margin: clamp(1.25rem, 2.2vw, 1.85rem) 0 0;
	max-width: min(92vw, 70rem);
	color: var(--althus-servicios-hero-text);
	font-family: var(--althus-font-family) !important;
	font-size: var(--althus-servicios-hero-desc-size);
	font-weight: 400 !important;
	line-height: 1.5;
	letter-spacing: -0.01em;
	opacity: 1;
	overflow: visible;
	text-overflow: unset;
	white-space: normal;
}

@media (min-width: 1600px) {
	.althus-servicios-hero {
		--althus-servicios-hero-headline-size: clamp(3.75rem, 4vw, 4.75rem);
		--althus-servicios-hero-desc-size: 1.25rem;
	}
}

@media (min-width: 1920px) {
	.althus-servicios-hero {
		--althus-servicios-hero-header-clearance: 8.5rem;
		--althus-servicios-hero-pad-bottom: 5rem;
		--althus-servicios-hero-headline-size: 4.75rem; /* ~76px */
		--althus-servicios-hero-desc-size: 1.25rem; /* 20px */
	}

	.althus-servicios-hero__inner {
		padding-left: 6rem;
		padding-right: 6rem;
	}

	.althus-servicios-hero__content {
		left: 6rem;
		right: 6rem;
		top: 52%;
	}

	.althus-servicios-hero__headline {
		max-width: 72rem;
	}

	.althus-servicios-hero__description {
		margin-top: 1.85rem;
		max-width: 70rem;
	}
}

@media (max-width: 767px) {
	.althus-servicios-hero {
		--althus-servicios-hero-header-clearance: 4.5rem;
		--althus-servicios-hero-pad-bottom: 2.5rem;
		--althus-servicios-hero-headline-size: clamp(1.85rem, 8vw, 2.5rem);
		--althus-servicios-hero-desc-size: clamp(0.9375rem, 3.8vw, 1.0625rem);
	}

	.althus-servicios-hero__inner {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.althus-servicios-hero__content {
		top: 48%;
		left: 1.15rem;
		right: 1.15rem;
	}

	.althus-servicios-hero__headline,
	.althus-servicios-hero__description {
		max-width: none;
	}
}
