/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Child theme for Hello Elementor.
Author: Federico Domenech
Author URI: https://iniestajuegointerior.com/
Template: hello-elementor
Version: 1.0.3
Text Domain: hello-elementor-child
*/

/* Carousel de texto superior. */
.carousel-frase {
	overflow: hidden !important;
	white-space: nowrap !important;
	width: 100%;
}

.carousel-frase-track {
	display: flex !important;
	align-items: center;
	flex-wrap: nowrap !important;
	width: max-content;
	animation: carousel-frase-scroll 45s linear infinite;
	will-change: transform;
}

.carousel-frase p {
	display: contents !important;
	margin: 0 !important;
}

.carousel-frase em {
	display: inline !important;
	white-space: nowrap !important;
}

.carousel-frase-track span {
	display: inline-flex !important;
	align-items: baseline;
	flex: 0 0 auto !important;
	white-space: nowrap !important;
	padding-right: 48px;
}

@keyframes carousel-frase-scroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

/* Login de WordPress personalizado. */
body.login {
	background: #000;
	color: #fff;
}

body.login #login {
	width: min(420px, calc(100vw - 48px));
	padding-top: 8vh;
}

body.login h1 a {
	width: 280px;
	height: 92px;
	margin-bottom: 28px;
	background-image: url('/wp-content/uploads/2026/07/iniesta_juegointerior_logo.svg');
	background-position: center;
	background-size: contain;
}

body.login form {
	background: #080808;
	border: 1px solid #262626;
	border-radius: 8px;
	box-shadow: none;
	color: #fff;
}

body.login label,
body.login .message,
body.login .notice,
body.login #nav,
body.login #backtoblog {
	color: #fff;
}

body.login #nav a,
body.login #backtoblog a,
body.login .privacy-policy-page-link a,
body.login .message a,
body.login .notice a,
body.login #login_error a {
	color: #fff;
	text-decoration-color: rgba(255, 255, 255, 0.55);
}

body.login #nav a:hover,
body.login #nav a:focus,
body.login #backtoblog a:hover,
body.login #backtoblog a:focus,
body.login .privacy-policy-page-link a:hover,
body.login .privacy-policy-page-link a:focus,
body.login .message a:hover,
body.login .message a:focus,
body.login .notice a:hover,
body.login .notice a:focus,
body.login #login_error a:hover,
body.login #login_error a:focus {
	color: #d9a600;
	text-decoration-color: #d9a600;
}

body.login .message,
body.login .notice,
body.login #login_error {
	background: #080808;
	border: 1px solid #262626;
	border-left: 4px solid #f7bd00;
	box-shadow: none;
	color: #fff;
}

body.login .message {
	border-left-color: #f7bd00;
}

body.login .notice-success {
	border-left-color: #36c275;
}

body.login .notice-info {
	border-left-color: #5aa7ff;
}

body.login .message p,
body.login .notice p,
body.login #login_error p,
body.login .message strong,
body.login .notice strong,
body.login #login_error strong {
	color: #fff;
}

body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"] {
	background: #111;
	border-color: #333;
	color: #fff;
}

body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus {
	border-color: #f7bd00;
	box-shadow: 0 0 0 1px #f7bd00;
}

body.login input[type="checkbox"]:checked {
	background: #f7bd00;
	border-color: #f7bd00;
}

body.login input[type="checkbox"]:focus,
body.login input[type="checkbox"]:checked:focus {
	border-color: #f7bd00;
	box-shadow: 0 0 0 2px rgba(247, 189, 0, 0.45);
	outline: none;
}

body.login input[type="checkbox"]:checked::before {
	filter: brightness(0);
}

body.login .button.wp-hide-pw {
	color: #f7bd00;
}

body.login .button.wp-hide-pw:hover,
body.login .button.wp-hide-pw:focus {
	color: #d9a600;
	border-color: transparent;
	box-shadow: none;
}

body.login .button.wp-hide-pw .dashicons {
	color: inherit;
}

body.login .button-primary {
	background: #f7bd00;
	border-color: #f7bd00;
	color: #212322;
}

body.login .button-primary:hover,
body.login .button-primary:focus {
	background: #d9a600;
	border-color: #d9a600;
	color: #212322;
}

body.login .language-switcher {
	display: none;
}

/* Carrusel horizontal de la experiencia. */
.experiencia-carousel {
	overflow-x: auto;
	overflow-y: hidden;
	width: 100%;
	box-sizing: border-box;
	padding-left: 10%;
	scroll-padding-left: 10%;
	cursor: grab;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.experiencia-carousel::-webkit-scrollbar {
	display: none;
}

.experiencia-carousel.is-dragging {
	cursor: grabbing;
	user-select: none;
}

.experiencia-carousel-track {
	display: flex;
	gap: 8px;
	width: max-content;
}

.experiencia-card {
	flex: 0 0 calc((100vw - 24px) / 3.25);
	color: inherit;
	text-decoration: none;
}

/* Ajuste individual del recorte de cada imagen del carrusel. */
.experiencia-carousel-track .experiencia-card:nth-child(1),
.experiencia-card--origen {
	--experiencia-img-position: 85% center;
}

.experiencia-carousel-track .experiencia-card:nth-child(2),
.experiencia-card--campo {
	--experiencia-img-position: 75% center;
}

.experiencia-carousel-track .experiencia-card:nth-child(3),
.experiencia-card--stamford {
	--experiencia-img-position: 70% center;
}

.experiencia-carousel-track .experiencia-card:nth-child(4),
.experiencia-card--gol {
	--experiencia-img-position: center center;
}

.experiencia-carousel-track .experiencia-card:nth-child(5),
.experiencia-card--objetos {
	--experiencia-img-position: center center;
}

.experiencia-carousel-track .experiencia-card:nth-child(6),
.experiencia-card--artista {
	--experiencia-img-position: center center;
}

.experiencia-carousel-track .experiencia-card:nth-child(7),
.experiencia-card--japon {
	--experiencia-img-position: center center;
}

.experiencia-carousel-track .experiencia-card:nth-child(8),
.experiencia-card--continua {
	--experiencia-img-position: 100% center;
}

.experiencia-card img {
	display: block;
	width: 100%;
	height: 75vh;
	object-fit: cover;
	object-position: var(--experiencia-img-position, center center);
	border-radius: 15px;
	pointer-events: none;
}

.experiencia-card br {
	display: none;
}

.experiencia-card-title {
	display: block;
	margin-top: 12px;
	font-weight: 700;
	line-height: 1.1;
}

.experiencia-card-text {
	display: block;
	margin-top: 0;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.experiencia-carousel-track {
		gap: 6px;
	}

	.experiencia-card {
		flex-basis: 78vw;
	}

	.experiencia-card img {
		height: 68vh;
	}
}

/* Texto destacado con énfasis editorial. */
.texto-leyenda em {
	font-style: italic !important;
	font-weight: 400 !important;
}

/* Composición visual del precio. */
.precio-desde {
	display: inline-flex;
	align-items: flex-start;
	gap: 6px;
	color: #222;
}

.precio-desde .desde {
	font-size: 24px;
	line-height: 1;
	margin-top: 10px;
}

.precio-desde .cantidad {
	font-size: 120px;
	font-weight: 700;
	line-height: 0.85;
}

.precio-desde .euro {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	margin-top: 72px;
}

/* Menú móvil a pantalla completa. */
@media (max-width: 767px) {
	.elementor-nav-menu--dropdown,
	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container,
	.site-navigation-dropdown {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100dvh !important;
		min-height: 100dvh !important;
		max-height: 100dvh !important;
		background: #000 !important;
		z-index: 99999 !important;
		margin: 0 !important;
		padding: 72px 24px 0 !important;
		text-align: left !important;
		overflow-y: auto !important;
	}

	.elementor-nav-menu--dropdown .elementor-item,
	.site-navigation-dropdown a {
		color: #fff !important;
		font-size: 40px !important;
		line-height: 1.1 !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.elementor-nav-menu--dropdown .elementor-nav-menu,
	.site-navigation-dropdown ul {
		align-items: flex-start !important;
		text-align: left !important;
	}

	.elementor-menu-toggle.elementor-active,
	.site-navigation-toggle {
		position: fixed !important;
		top: 20px !important;
		right: 20px !important;
		z-index: 100000 !important;
		background: transparent !important;
	}

	.elementor-menu-toggle.elementor-active,
	.elementor-menu-toggle.elementor-active i,
	.elementor-menu-toggle.elementor-active svg,
	.elementor-menu-toggle.elementor-active svg path,
	.site-navigation-toggle,
	.site-navigation-toggle i,
	.site-navigation-toggle svg,
	.site-navigation-toggle svg path {
		color: #fff !important;
		fill: #fff !important;
		stroke: #fff !important;
	}
}
