/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://responsible-blue-pig.avalonsportsus.com/
 Description:  Child theme Ready Infinity — slider home + motion (letras + hovers).
 Author:       Avalon Sports
 Template:     hello-elementor
 Version:      1.9.2
 Text Domain:  hello-elementor-child
*/

/* ===== Header fijo arriba ===== */
.elementor-location-header {
	position: sticky;
	top: 0;
	z-index: 9990;
	width: 100%;
}

/* Respaldo layout nav SOLO desktop (en mobile Elementor oculta --main y muestra burger).
   No poner margin:0 en el UL: Elementor usa margin-inline-start:auto para Align End. */
@media (min-width: 768px) {
	.elementor-location-header .elementor-nav-menu--layout-horizontal {
		display: flex;
		width: 100%;
	}

	.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		list-style: none;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
	}

	.elementor-location-header .elementor-nav-menu__align-end .elementor-nav-menu,
	.elementor-location-header .elementor-nav-menu__align-right .elementor-nav-menu {
		justify-content: flex-end;
		margin-inline-start: auto;
	}

	.elementor-location-header .elementor-nav-menu__align-center .elementor-nav-menu {
		justify-content: center;
		margin-inline: auto;
	}

	.elementor-location-header .elementor-nav-menu__align-start .elementor-nav-menu,
	.elementor-location-header .elementor-nav-menu__align-left .elementor-nav-menu {
		justify-content: flex-start;
		margin-inline-end: auto;
	}

	.elementor-location-header .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li {
		display: flex;
		position: relative;
	}
}

/* Mobile: menú horizontal oculto + burger a la derecha */
@media (max-width: 767px) {
	.elementor-location-header .elementor-nav-menu--dropdown-mobile .elementor-nav-menu--main.elementor-nav-menu--layout-horizontal {
		display: none;
	}

	.elementor-location-header .elementor-nav-menu--dropdown-mobile .elementor-menu-toggle {
		display: inline-flex;
		margin-inline-start: auto;
	}

	.elementor-location-header .elementor-element-c216901 > .elementor-widget-container {
		display: flex;
		justify-content: flex-end;
		width: 100%;
	}
}

.elementor-location-header .elementor-section.elementor-element-4630c821 {
	z-index: 9990;
	transition: background-color 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease;
}

/* Al fijarse con scroll: negro transparente + letras blancas */
.elementor-location-header.ri-header--scrolled .elementor-section.elementor-element-4630c821 {
	background-color: rgba(0, 0, 0, 0.72) !important;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.elementor-location-header.ri-header--scrolled .elementor-section.elementor-element-4630c821 > .elementor-background-overlay {
	opacity: 0 !important;
}

.elementor-location-header.ri-header--scrolled .elementor-nav-menu--main .elementor-item,
.elementor-location-header.ri-header--scrolled .elementor-nav-menu--main .elementor-item:visited {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.elementor-location-header.ri-header--scrolled .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header.ri-header--scrolled .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-location-header.ri-header--scrolled .elementor-nav-menu--main .elementor-item.highlighted {
	color: #ffffff !important;
	fill: #ffffff !important;
	opacity: 0.85;
}

.elementor-location-header.ri-header--scrolled .elementor-menu-toggle,
.elementor-location-header.ri-header--scrolled .elementor-menu-toggle i,
.elementor-location-header.ri-header--scrolled .elementor-menu-toggle svg {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.elementor-location-header.ri-header--scrolled .elementor-widget-theme-site-logo img,
.elementor-location-header.ri-header--scrolled .elementor-widget-image img {
	filter: brightness(0) invert(1);
	transition: filter 0.35s ease;
}

/* ===== Motion: solo hovers (entradas = Elementor) ===== */
.ri-letters__target {
	display: inline-block;
	perspective: 420px;
}

.ri-char {
	display: inline-block;
	transform-origin: 50% 100%;
	will-change: transform, color;
}

/* Typewriter */
.ri-typewriter__target {
	display: inline;
	white-space: pre-wrap;
}

.ri-typewriter__target.is-typing::after {
	content: '';
	display: inline-block;
	width: 0.08em;
	height: 0.95em;
	margin-left: 0.08em;
	vertical-align: -0.08em;
	background: currentColor;
	animation: ri-typewriter-caret 0.85s steps(1) infinite;
}

@keyframes ri-typewriter-caret {
	0%,
	45% {
		opacity: 1;
	}
	50%,
	100% {
		opacity: 0;
	}
}

.ri-hover,
.ri-hover-zoom,
.ri-img-zoom,
.ri-img-shine,
.ri-logo,
.ri-cta {
	cursor: pointer;
}

.ri-hover,
.ri-logo,
.ri-hover-zoom .elementor-widget-container,
.ri-hover-zoom img,
.ri-hover-zoom video,
.ri-img-zoom img,
.ri-img-shine img {
	will-change: transform;
	backface-visibility: hidden;
}

.ri-hover-zoom,
.ri-img-zoom,
.ri-img-shine {
	overflow: hidden;
}

/* Carousel / solape home: nunca clippear el widget del slider */
.elementor-widget-image-carousel.ri-hover-zoom,
.elementor-widget-image-carousel.ri-img-zoom,
.elementor-widget-image-carousel.ri-img-shine,
.elementor-14 .elementor-element-c0d1c27,
.elementor-14 .elementor-element-c0d1c27.ri-hover-zoom {
	overflow: visible !important;
}

.elementor-widget-image-carousel .ri-img-frame,
.elementor-14 .elementor-element-c0d1c27 .ri-img-frame,
.elementor-14 .elementor-element-c0d1c27 > .elementor-widget-container {
	overflow: visible !important;
	isolation: auto;
}

.ri-img-frame {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.ri-img-shine__host {
	position: relative;
}

.ri-img-shine__beam {
	position: absolute;
	top: -20%;
	left: 0;
	width: 38%;
	height: 140%;
	pointer-events: none;
	z-index: 2;
	transform: skewX(-22deg);
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.1) 35%,
		rgba(255, 255, 255, 0.28) 50%,
		rgba(255, 255, 255, 0.1) 65%,
		rgba(255, 255, 255, 0) 100%
	);
	opacity: 0;
}

.ri-hover-zoom img,
.ri-hover-zoom video {
	transition: filter 0.45s ease;
}

.ri-hover-zoom:hover img,
.ri-hover-zoom:hover video {
	filter: brightness(1.05) contrast(1.04);
}

.ri-hover-glow {
	transition: filter 0.35s ease, box-shadow 0.35s ease;
}

.ri-hover-glow:hover {
	filter: brightness(1.08);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}

.ri-underline {
	position: relative;
	display: inline-block;
}

.ri-underline::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.08em;
	width: 100%;
	height: 0.08em;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
}

.ri-underline:hover::after,
.ri-underline:focus-within::after {
	transform: scaleX(1);
}

.ri-cta .elementor-button,
.ri-cta a.elementor-button,
a.ri-cta,
.ri-cta {
	transition: box-shadow 0.3s ease;
}

.ri-cta .elementor-button:hover,
.ri-cta a.elementor-button:hover,
a.ri-cta:hover {
	box-shadow: 5px 9px 0 rgba(0, 0, 0, 0.2);
}

@media (prefers-reduced-motion: reduce) {
	.ri-char,
	.ri-hover,
	.ri-logo,
	.ri-cta,
	.ri-hover-zoom img,
	.ri-img-zoom img,
	.ri-img-shine__beam,
	.ri-underline::after {
		transition: none !important;
		transform: none !important;
		animation: none !important;
	}

	.ri-typewriter__target.is-typing::after {
		animation: none !important;
		display: none !important;
	}

	.ri-img-shine__beam {
		display: none !important;
	}

	.ri-underline::after {
		transform: scaleX(1) !important;
	}
}


/* ===== Home slider: fila B (#c0d1c27) ===== */
@media (min-width: 768px) {
	.elementor-14 .elementor-element-d675630 {
		position: relative;
		z-index: 9;
	}
}

.elementor-14 .elementor-element-c0d1c27 .elementor-image-carousel-wrapper {
	width: 100%;
	overflow: visible;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.elementor-14 .elementor-element-c0d1c27 .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background: transparent;
}

/* Contener altura (override Image Stretch) */
.elementor-14 .elementor-element-c0d1c27 .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image,
.elementor-14 .elementor-element-c0d1c27 .swiper-slide .swiper-slide-image {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height:800px;
	object-fit: contain;
	object-position: center bottom;
	margin-inline: auto;
	display: block;
}

@media (max-width: 1024px) {
	.elementor-14 .elementor-element-c0d1c27 .swiper-slide .swiper-slide-image {
		max-height: 50vh;
	}
}

@media (max-width: 767px) {
	.elementor-14 .elementor-element-c0d1c27 .swiper-slide .swiper-slide-image {
		max-height: 42vh;
	}
}

.elementor-element .swiper .elementor-swiper-button, .elementor-element .swiper~.elementor-swiper-button, .elementor-lightbox .swiper .elementor-swiper-button, .elementor-lightbox .swiper~.elementor-swiper-button {
    color: hsla(0, 0%, 93%, .9);
    cursor: pointer;
    display: inline-flex;
    font-size: 25px;
    position: absolute;
    top: 30%;
    transform: translateY(-50%);
    z-index: 1;
}

/* ===== Hero slideshow pagination dots ===== */
.ri-hero-dots {
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	transform: translateX(-50%);
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: auto;
	margin: 0;
	padding: 0;
	pointer-events: auto;
}

.ri-hero-dots__dot {
	width: 12px;
	height: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	box-shadow: none;
	opacity: 1;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ri-hero-dots__dot.is-active {
	background: #ffffff;
}

.ri-hero-dots__dot:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}
