/* Variables root */
:root {
	--carvallo-slider__arrow__top_bottom_separation: 3.1rem;
	--carvallo-slider__arrow--prev--next_separation: 20px;
}

.site-content .ast-container {
	flex-direction: column;
}

.carvallo-slider {
	--carvallo-slider-height: 340px;
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f766e 100%);
	/* box-shadow: 0 18px 50px rgba(15, 23, 42, 0.18); */
	color: #fff;
}

/* Full-width breakout mode (viewport wide) */
.carvallo-slider--full-width {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	left: auto;
	right: auto;
	position: relative;
	z-index: 1;
}

.carvallo-slider__inner {
	position: relative;
	min-height: var(--carvallo-slider-height);
}

.carvallo-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(0.98);
	transition: opacity 0.45s ease, transform 0.45s ease;
	pointer-events: none;
}

.carvallo-slider__slide.is-active {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
	z-index: 2;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > * {
	opacity: 0;
	animation-duration: 0.8s;
	animation-fill-mode: both;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > *:nth-child(1) {
	animation-delay: 0ms;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > *:nth-child(2) {
	animation-delay: calc(var(--carvallo-content-delay, 0ms) * 1);
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > *:nth-child(3) {
	animation-delay: calc(var(--carvallo-content-delay, 0ms) * 2);
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > *:nth-child(4) {
	animation-delay: calc(var(--carvallo-content-delay, 0ms) * 3);
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > *:nth-child(5) {
	animation-delay: calc(var(--carvallo-content-delay, 0ms) * 4);
}

.carvallo-slider__slide.is-animating .carvallo-slider__content > *:nth-child(6) {
	animation-delay: calc(var(--carvallo-content-delay, 0ms) * 5);
}

.carvallo-slider__slide.is-animating .carvallo-slider__content[data-content-animation="fade-up"] > * {
	animation-name: carvalloFadeUp;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content[data-content-animation="fade-down"] > * {
	animation-name: carvalloFadeDown;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content[data-content-animation="fade-left"] > * {
	animation-name: carvalloFadeLeft;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content[data-content-animation="fade-right"] > * {
	animation-name: carvalloFadeRight;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content[data-content-animation="zoom-in"] > * {
	animation-name: carvalloZoomIn;
}

.carvallo-slider__slide.is-animating .carvallo-slider__content[data-content-animation="zoom-out"] > * {
	animation-name: carvalloZoomOut;
}

.carvallo-slider__media,
.carvallo-slider__overlay {
	position: absolute;
	inset: 0;
}

.carvallo-slider__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.carvallo-slider__overlay {
	background: linear-gradient(90deg, rgba(2, 6, 23, 0.72) 0%, rgba(2, 6, 23, 0.36) 60%, rgba(2, 6, 23, 0.1) 100%);
}

.carvallo-slider__overlay.is-disabled {
	display: none;
}

.carvallo-slider--type-text-side-image .carvallo-slider__slide {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: stretch;
    grid-auto-flow: column;
	gap: 2rem;
}

.carvallo-slider--type-text-side-image .carvallo-slider__content p {
    font-size: 0.7rem;
    text-align: left;
	text-transform: none;
	margin: 0 0 1em;
}
.carvallo-slider--type-text-side-image .carvallo-slider__content .carvallo-slider__title {
    text-align: left;
    text-transform: none;
	font-size: 2rem;
    font-weight: 400;
}

.carvallo-slider--type-text-side-image .carvallo-slider__show-more {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.carvallo-slider--type-text-side-image .carvallo-slider__show-more:hover, .carvallo-slider--type-text-side-image .carvallo-slider__show-more:focus {
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	color: #fff;
}

.carvallo-slider--type-text-side-image .carvallo-slider__media {
	position: relative;
	inset: auto;
	grid-column: 2;
	min-height: var(--carvallo-slider-height);
	z-index: 0;
}

.carvallo-slider--type-text-side-image .carvallo-slider__overlay {
	left: 50%;
	z-index: 1;
}

.carvallo-slider--type-text-side-image .carvallo-slider__content {
	grid-column: 1;
	max-width: none;
	padding: unset;
	min-height: var(--carvallo-slider-height);
	z-index: 2;
	align-items: start;
    background: none;
	height: 100%;
    justify-content: flex-start;
}

.carvallo-slider--type-text-side-image .carvallo-slider__inner {
    width: 1200px;
}

.carvallo-slider--type-carousel {
	--carvallo-carousel-gap: 18px;
	--carvallo-carousel-visible-items: 4;
	padding: 26px 64px 45px;
	background: #ffffff;
	color: #0f172a;
}

.carvallo-slider--type-carousel .carvallo-slider__inner {
	overflow: hidden;
	min-height: auto;
}

.carvallo-slider--type-carousel .carvallo-slider__track {
	display: flex;
	gap: var(--carvallo-carousel-gap);
	transition: transform 0.45s ease;
	will-change: transform;
}

.carvallo-slider--type-carousel .carvallo-slider__slide {
	position: relative;
	inset: auto;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	flex: 0 0 calc((100% - (var(--carvallo-carousel-gap) * (var(--carvallo-carousel-visible-items) - 1))) / var(--carvallo-carousel-visible-items));
	z-index: 1;
	flex-direction:column;
}

.carvallo-slider__carousel-media {
	aspect-ratio: 1 / 1;
	border-radius: 0;
	overflow: hidden;
	background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.carvallo-slider--type-carousel .carvallo-slider__image {
	height: 100%;
	object-fit: cover;
}

.carvallo-slider__carousel-title {
	margin: 12px 4px 0;
	font-size: .9rem;
	line-height: 1.4;
	font-weight: 200;
	color: #0f172a;
	text-align: center;
	text-transform: uppercase;
}

.carvallo-slider__content {
	position: relative;
	z-index: 1;
	max-width: 760px;
	padding: 56px 64px;
    margin: auto;
	min-height: var(--carvallo-slider-height);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	gap: 12px;
}

.carvallo-slider__content--top-left {
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
}

.carvallo-slider__content--top-center {
	justify-content: flex-start;
	align-items: center;
	text-align: center;
}

.carvallo-slider__content--top-right {
	justify-content: flex-start;
	align-items: flex-end;
	text-align: right;
}

.carvallo-slider__content--center-center {
	justify-content: center;
	align-items: center;
	text-align: center;
}

.carvallo-slider__content--bottom-left {
	justify-content: flex-end;
	align-items: flex-start;
	text-align: left;
}

.carvallo-slider__content--bottom-center {
	justify-content: flex-end;
	align-items: center;
	text-align: center;
}

.carvallo-slider__content--bottom-right {
	justify-content: flex-end;
	align-items: flex-end;
	text-align: right;
}

.carvallo-slider__eyebrow {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 12px;
	font-weight: 700;
	opacity: 0.88;
}

.carvallo-slider--type-text-image .carvallo-slider__title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1.02;
	font-weight: 800;
	text-wrap: balance;
}

.carvallo-slider__text {
	font-size: 1.05rem;
	line-height: 1.7;
	max-width: 56ch;
}

.carvallo-slider__content--top-center .carvallo-slider__text,
.carvallo-slider__content--center-center .carvallo-slider__text,
.carvallo-slider__content--bottom-center .carvallo-slider__text {
	margin-left: auto;
	margin-right: auto;
}

.carvallo-slider__content--top-right .carvallo-slider__text,
.carvallo-slider__content--bottom-right .carvallo-slider__text {
	margin-left: auto;
}
.carvallo-slider.carvallo-slider--type-text-side-image {
	background: #383c46;
}

.carvallo-slider--type-text-side-image .carvallo-slider__arrow {
	position: absolute;
    top: var(--carvallo-slider__arrow__top_bottom_separation);
    bottom: var(--carvallo-slider__arrow__top_bottom_separation);
    width: 80px;
    border: 0;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.15);
    
    cursor: pointer;
    z-index: 3;
    backdrop-filter: blur(12px);
    transition: background 0.2s ease, transform 0.2s ease;
    padding: 0;
}

.carvallo-slider--type-text-side-image .carvallo-slider__arrow:hover {
	background: rgb(255 255 255 / 20%);
}

.carvallo-slider--type-carousel .carvallo-slider__arrow {
	position: absolute;
    top: 22%;
    width: 42px;
    height: 100px;
    border: 0;
    border-radius: 0;
    /* background: rgb(197 197 197 / 30%); */
	background: none;
    color: #1f1e1e;
	font-size: 5rem;
    font-family: 'Montserrat';
    font-weight: 200;
    line-height: 1;
    cursor: pointer;
    z-index: 4;
}

.carvallo-slider--type-carousel .carvallo-slider__arrow.carvallo-slider__arrow--prev::before {
	content: "\2039"; /* ‹ */
	position: absolute;
	left: 50%;
	top: 44%;
	transform: translate(-50%, -50%);
}

.carvallo-slider--type-carousel .carvallo-slider__arrow.carvallo-slider__arrow--next::before {
	content: "\203A"; /* › */
	position: absolute;
	left: 54%;
	top: 44%;
	transform: translate(-50%, -50%);
}

.carvallo-slider--type-carousel .carvallo-slider__arrow.carvallo-slider__arrow--prev {
	left: 0;
}

.carvallo-slider--type-carousel .carvallo-slider__arrow.carvallo-slider__arrow--next {
	right: 0;
}

.carvallo-slider--type-carousel .carvallo-slider__bullets {
	bottom: 14px;
}

.carvallo-slider--type-text-side-image.carvallo-slider {
	/* padding: var(--carvallo-slider__arrow__top_bottom_separation) 11.5rem; */
	display: flex;
	justify-content: center;
	padding: 3rem 0;
}

.carvallo-slider--type-text-side-image .carvallo-slider__arrow.carvallo-slider__arrow--prev::before {
    content: "\2039"; /* ‹ */
	transform: translate(-51%, -57%);
}

.carvallo-slider--type-text-side-image .carvallo-slider__arrow.carvallo-slider__arrow--next::before {
	content: "\203A"; /* › */
	transform: translate(-40%, -57%);
}

.carvallo-slider--type-text-side-image .carvallo-slider__arrow.carvallo-slider__arrow--prev::before, .carvallo-slider--type-text-side-image .carvallo-slider__arrow.carvallo-slider__arrow--next::before {
	position: absolute;
	/* left: 50%;
	top: 50%;
	transform: translate(-50%, -50%); */
	color: #fff;
    font-size: 10rem;
    font-family: 'Montserrat';
    font-weight: 100;
    line-height: 1;
}

.carvallo-slider__slide--carousel article {
	flex-direction: column;
}

    /* position: absolute;
    left: 50%;
    top: 50%;

    font-size: 10rem;
    line-height: 1;

    transform: translate(-50%, -50%);
} */

.carvallo-slider__arrow--prev {
	left: var(--carvallo-slider__arrow--prev--next_separation);
	/* left: calc((100vw - 1200px) / 4 - (75px / 2)); */
}

.carvallo-slider__arrow--next {
	right: var(--carvallo-slider__arrow--prev--next_separation);
}

.carvallo-slider__bullets {
	position: absolute;
	left: 50%;
	bottom: 18px;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 3;
}

.carvallo-slider__bullet {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.42);
	cursor: pointer;
	transition: transform 0.2s ease, background 0.2s ease, width 0.2s ease;
}

.carvallo-slider__bullet.is-active {
	width: 30px;
	background: #fff;
}

@keyframes carvalloFadeUp {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes carvalloFadeDown {
	from {
		opacity: 0;
		transform: translateY(-18px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes carvalloFadeLeft {
	from {
		opacity: 0;
		transform: translateX(24px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes carvalloFadeRight {
	from {
		opacity: 0;
		transform: translateX(-24px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes carvalloSlideLeft {
	from {
		opacity: 0;
		transform: translateX(32px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes carvalloSlideRight {
	from {
		opacity: 0;
		transform: translateX(-32px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes carvalloZoomIn {
	from {
		opacity: 0;
		transform: scale(0.94);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes carvalloZoomOut {
	from {
		opacity: 0;
		transform: scale(1.04);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media (max-width: 782px) {
	.carvallo-slider--type-carousel {
		padding: 20px 22px 48px;
		--carvallo-carousel-visible-items: 2;
	}

	.carvallo-slider--type-carousel .carvallo-slider__arrow {
		top: 44px;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__slide {
		grid-template-columns: 1fr;
        grid-template-rows: 50% 1fr;
		height: 100%;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__media,
	.carvallo-slider--type-text-side-image .carvallo-slider__content {
		grid-column: 1;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__overlay {
		left: 0;
	}

	.carvallo-slider__content {
		padding: 0;
		min-height: max(280px, var(--carvallo-slider-height));
	}

	.carvallo-slider__inner {
		min-height: max(280px, var(--carvallo-slider-height));
	}

	.carvallo-slider__arrow {
		width: 42px;
		height: 42px;
		font-size: 24px;
	}

	.carvallo-slider__arrow--prev {
		left: 2rem;
	}

	.carvallo-slider__arrow--next {
		right: 2rem;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__inner {
		width: 100%;
		height: 100vh;
	}

	.carvallo-slider__content {
		padding: 0 2rem !important;
		margin-top: 4rem;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__arrow {
		top: 52.7%;
        height: 50px;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__content p {
		font-size: 0.9rem;
		display: -webkit-box;
		-webkit-line-clamp: 8; /* Número de líneas a mostrar */
		-webkit-box-orient: vertical;  
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.carvallo-slider__media {
    	max-height: 440px;
		height: 100%;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__arrow.carvallo-slider__arrow--prev::before, .carvallo-slider--type-text-side-image .carvallo-slider__arrow.carvallo-slider__arrow--next::before {
		font-size: 6rem;
		top: 22px;
	}

	.carvallo-slider--type-text-side-image.carvallo-slider {
		padding: 0;
	}

	.carvallo-slider--type-text-side-image .carvallo-slider__content .carvallo-slider__title {
		font-size: 1.5rem;
	}

	.carvallo-slider__carousel-media {
		min-width: 170px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.carvallo-slider__slide,
	.carvallo-slider__arrow,
	.carvallo-slider__bullet {
		transition: none;
	}

	.carvallo-slider__slide.is-animating .carvallo-slider__content {
		animation: none;
	}
}
