/*
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.7
Text Domain: hello-elementor-child
*/

@font-face {
	font-family: 'At Aero';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('assets/fonts/at-aero/AtAero-Light.woff2') format('woff2'),
		url('assets/fonts/at-aero/AtAero-Light.woff') format('woff');
}

@font-face {
	font-family: 'At Aero';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url('assets/fonts/at-aero/AtAero-LightItalic.woff2') format('woff2'),
		url('assets/fonts/at-aero/AtAero-LightItalic.woff') format('woff');
}

@font-face {
	font-family: 'At Aero';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/at-aero/AtAero-Regular.woff2') format('woff2'),
		url('assets/fonts/at-aero/AtAero-Regular.woff') format('woff');
}

@font-face {
	font-family: 'At Aero';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/at-aero/AtAero-RegularItalic.woff2') format('woff2'),
		url('assets/fonts/at-aero/AtAero-RegularItalic.woff') format('woff');
}

@font-face {
	font-family: 'At Aero';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/at-aero/AtAero-Bold.woff2') format('woff2'),
		url('assets/fonts/at-aero/AtAero-Bold.woff') format('woff');
}

@font-face {
	font-family: 'At Aero';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/at-aero/AtAero-BoldItalic.woff2') format('woff2'),
		url('assets/fonts/at-aero/AtAero-BoldItalic.woff') format('woff');
}

:where(h1, h2, h3, h4, h5, h6, .elementor-heading-title) {
	font-family: 'At Aero', sans-serif;
}

/* Utilidades tipográficas. */
.at-aero {
	font-family: 'At Aero', sans-serif !important;
}

.subrayado-rojo {
	text-decoration-line: underline;
	text-decoration-color: #D6272E;
	text-decoration-thickness: 0.16em;
	text-underline-offset: 0.12em;
	text-decoration-skip-ink: none;
}

.marcado-rojo,
.fondo-rojo {
	background-color: #D6272E;
	color: #fff;
	padding: 0 0.12em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* 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;
	white-space: nowrap !important;
	animation: carousel-frase-scroll 45s linear infinite;
	will-change: transform;
}

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

.carousel-frase br {
	display: none !important;
}

.carousel-frase-track,
.carousel-frase-track * {
	text-wrap: nowrap !important;
	white-space: nowrap !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;
	overscroll-behavior-x: contain;
	-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: 20% 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--stamford {
		--experiencia-img-position: 20% center;
	}

	.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-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-13 .elementor-element.elementor-element-43cdbcfc .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		margin-top: 0 !important;
	}

	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu--dropdown {
		position: static !important;
		inset: auto !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		z-index: auto !important;
		overflow: visible !important;
	}

	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu--dropdown .elementor-sub-item {
		justify-content: flex-start !important;
		text-align: left !important;
	}

	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-item,
	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-sub-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-menu-toggle.elementor-active + .elementor-nav-menu__container .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;
	}
}

/* === Responsive tipografías: ajustes agrupados para poder retirar en bloque === */
@media (max-width: 1199px) {
	.precio-desde .cantidad {
		font-size: 96px;
	}

	.precio-desde .desde {
		font-size: 22px;
	}

	.precio-desde .euro {
		font-size: 28px;
	}
}

@media (max-width: 1024px) {
	.experiencia-card-title {
		font-size: 14px;
	}

	.experiencia-card-text {
		font-size: 12px;
	}
}

@media (max-width: 767px) {
	.precio-desde .cantidad {
		font-size: 100px;
	}

	.precio-desde .desde {
		font-size: 18px;
	}

	.precio-desde .euro {
		font-size: 22px;
	}
}

@media (max-width: 480px) {
	.experiencia-card-title {
		font-size: 13px;
	}

	.experiencia-card-text {
		font-size: 11px;
	}

	.precio-desde .cantidad {
		font-size: 100px;
	}

	.precio-desde .desde {
		font-size: 16px;
	}

	.precio-desde .euro {
		font-size: 18px;
	}

	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-item,
	.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-sub-item,
	.site-navigation-dropdown a {
		font-size: 32px !important;
	}
}

@media (max-width: 375px) {
	.precio-desde .cantidad {
		font-size: 100px;
	}

	.precio-desde .desde {
		font-size: 14px;
	}

	.precio-desde .euro {
		font-size: 16px;
	}
}
/* === Fin responsive tipografías === */

/* Coming soon: composición compacta proporcional al arte final. */
body.page-id-647 #site-header {
	display: none !important;
}

.elementor-647 .elementor-element.elementor-element-6b3be96 {
	--padding-top: 5vh !important;
	--padding-bottom: 2.5vh !important;
	--padding-left: 24px !important;
	--padding-right: 24px !important;
	--justify-content: center !important;
}

.elementor-647 .elementor-element.elementor-element-f7b93af {
	top: 8% !important;
	margin-bottom: clamp(96px, 13vh, 150px) !important;
}

.elementor-647 .elementor-element.elementor-element-57548af {
	margin-bottom: 20px !important;
	font-size: clamp(30px, 2.25vw, 40px) !important;
	line-height: 1.02em !important;
}

.elementor-647 .elementor-element.elementor-element-3f4d5d1 {
	max-width: 880px !important;
	margin-right: auto !important;
	margin-bottom: 24px !important;
	margin-left: auto !important;
	font-size: clamp(16px, 1.15vw, 22px) !important;
	line-height: 1.16em !important;
}

.elementor-647 .elementor-element.elementor-element-87d233a {
	width: min(386px, 90vw) !important;
	max-width: min(386px, 90vw) !important;
	margin-right: auto !important;
	margin-bottom: 18px !important;
	margin-left: auto !important;
	--container-widget-width: min(386px, 90vw) !important;
}

.elementor-647 .elementor-element.elementor-element-5a86f27 {
	position: absolute !important;
	right: 0 !important;
	bottom: 24px !important;
	left: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	font-size: 11px !important;
	letter-spacing: 0.05em !important;
}

.elementor-647 .elementor-element.elementor-element-80e3a60 {
	margin-bottom: 0 !important;
	font-size: 10px !important;
	letter-spacing: 0.03em !important;
}

@media (max-width: 767px) {
	.elementor-647 .elementor-element.elementor-element-6b3be96 {
		--padding-top: 10vh !important;
		--padding-bottom: 6vh !important;
	}

	.elementor-647 .elementor-element.elementor-element-f7b93af {
		margin-bottom: 72px !important;
	}

	.elementor-647 .elementor-element.elementor-element-57548af {
		font-size: 30px !important;
	}

	.elementor-647 .elementor-element.elementor-element-3f4d5d1 {
		font-size: 16px !important;
	}

	.elementor-647 .elementor-element.elementor-element-87d233a {
		width: min(386px, 100%) !important;
		max-width: min(386px, 100%) !important;
		--container-widget-width: min(386px, 100%) !important;
	}

	.elementor-647 .elementor-element.elementor-element-5a86f27 {
		bottom: 24px !important;
	}
}

/* Mapa de Google (pagina 28): radio de 7px que recorta de verdad, sin margenes ni padding. */
.elementor-element.elementor-element-425be07,
.elementor-element.elementor-element-425be07 > .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 7px !important;
	overflow: hidden !important;
}

.elementor-element.elementor-element-425be07 iframe {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 7px;
}

/* Boton de entradas: oculto hasta que expira la cuenta atras (la del header manda, este donde este). */
.btn-entradas {
	display: none !important;
}

body.is-countdown-expired .btn-entradas {
	display: block !important;
}

/* Elementor oculta en movil sin !important, asi que hay que restaurarlo aqui. */
@media (max-width: 767px) {
	body.is-countdown-expired .btn-entradas.elementor-hidden-mobile,
	.btn-entradas.elementor-hidden-mobile {
		display: none !important;
	}
}

/* Al expirar, ocultar el widget completo: si no, su margen/padding deja el hueco. */
.elementor-widget-countdown:has(.elementor-countdown-wrapper[style*="none"]) {
	display: none !important;
}
