/* Resto de slides del home. Home y About se gestionan aparte (About: Elementor). */

/* Experience: flecha del menú con degradado de marca (escritorio + responsive). */
[data-anchor="Experience"] .vlt-timeline-item__link .vlt-dot-link__inner svg {
	width: 18px;
	height: 18px;
	display: block;
	stroke: none !important;
	fill: none !important;
	background-image: linear-gradient(144deg, rgba(0, 189, 255, 1) 0%, rgba(198, 0, 186, 1) 22%, rgba(198, 0, 186, 1) 100%);
	-webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M12 5l7 7-7 7'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
}

[data-anchor="Experience"] .vlt-timeline-item__link .vlt-dot-link__inner svg path {
	opacity: 0;
}

@media (max-width: 1024px) {
	[data-anchor="Contacts"] .vlt-section__content {
		padding-top: calc(var(--vlt-navbar-height, 3.5rem) + 35px) !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section-title__heading,
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section-title__heading.h1,
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .large-heading {
		font-size: clamp(30px, 4.4vw, 44px) !important;
		line-height: 1.1 !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .soul-hero__title-gradient {
		font-size: inherit !important;
		line-height: inherit !important;
	}

	[data-anchor="Services"] .vlt-service-box {
		min-height: 0 !important;
		height: auto !important;
		justify-content: flex-start !important;
		gap: 6px;
		padding: 20px !important;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	[data-anchor="Services"] .vlt-service-box__title {
		margin-bottom: 0 !important;
	}

	[data-anchor="Services"] .vlt-service-box__text,
	[data-anchor="Services"] .vlt-service-box p.vlt-service-box__text {
		margin-top: 6px !important;
		margin-bottom: 0 !important;
	}

	[data-anchor="Services"] .vlt-service-box__fill {
		min-height: 0 !important;
		height: auto !important;
	}

	[data-anchor="Services"] .premium-carousel-wrapper,
	[data-anchor="Services"] .premium-carousel-inner,
	[data-anchor="Services"] .slick-list,
	[data-anchor="Services"] .slick-track,
	[data-anchor="Services"] .slick-slide,
	[data-anchor="Services"] .slick-slide > div {
		height: auto !important;
	}

	[data-anchor="Services"] .slick-dots,
	[data-anchor="Services"] .premium-carousel-wrapper .slick-dots {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		margin: 0 !important;
		overflow: hidden !important;
	}

	[data-anchor="Services"] .vlt-service-box__icon,
	[data-anchor="Services"] .vlt-service-box__icon i,
	[data-anchor="Services"] .vlt-service-box__icon svg {
		font-size: 32px !important;
		width: 32px !important;
		height: 32px !important;
		line-height: 1 !important;
	}
}

@media (max-width: 767px) {
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) {
		overflow-x: hidden;
		overflow-y: auto !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section__content,
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section__vertical-align {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		height: auto !important;
		min-height: 100%;
		overflow: visible !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]):not([data-anchor="Services"]):not([data-anchor="Experience"]):not([data-anchor="Skills"]):not([data-anchor="Awards"]):not([data-anchor="Contacts"]) .vlt-section__content {
		padding-top: 80px !important;
		padding-bottom: 32px !important;
	}

	.vlt-section[data-anchor="Services"] .vlt-section__content,
	.vlt-section[data-anchor="Experience"] .vlt-section__content,
	.vlt-section[data-anchor="Skills"] .vlt-section__content,
	.vlt-section[data-anchor="Awards"] .vlt-section__content,
	.vlt-section[data-anchor="Contacts"] .vlt-section__content {
		padding-top: calc(var(--vlt-navbar-height, 3.5rem) + 35px) !important;
		padding-bottom: 32px !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section__content,
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .e-con-boxed {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .e-con-boxed > .e-con-inner {
		padding: 8px 0 !important;
		max-width: 100% !important;
		gap: 10px !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .e-con.e-parent,
	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .e-con.e-child {
		gap: 10px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section-title__heading,
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section-title__heading.h1,
	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .large-heading {
		font-size: clamp(24px, 7.2vw, 30px) !important;
		line-height: 1.12 !important;
		letter-spacing: -0.02em !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="Home"]):not([data-anchor="About"]):not([data-anchor="Experience"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .soul-hero__title-gradient {
		font-size: inherit !important;
		line-height: inherit !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section-title__description,
	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .vlt-section-title__description p,
	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .elementor-widget-text-editor,
	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Contacts"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .elementor-widget-text-editor p {
		font-size: 13px !important;
		line-height: 1.4 !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .elementor-widget-image-carousel img {
		max-height: 40px !important;
		width: auto !important;
	}

	.vlt-section[data-anchor]:not([data-anchor="About"]):not([data-anchor="Projects"]):not([data-anchor="Articles"]) .elementor-widget-vlt-spacer {
		display: none;
	}

	/* Services: un pantallazo; el badge se oculta para ganar altura */
	[data-anchor="Services"].vlt-section .vlt-section__content {
		padding-top: calc(var(--vlt-navbar-height, 3.5rem) + 18px) !important;
		padding-bottom: 14px !important;
	}

	[data-anchor="Services"] .e-con-boxed > .e-con-inner,
	[data-anchor="Services"] .e-con.e-parent,
	[data-anchor="Services"] .e-con.e-child {
		gap: 6px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	[data-anchor="Services"] .elementor-element-77520dd .vlt-section-title__subtitle.vlt-badge {
		display: none !important;
	}

	[data-anchor="Services"] .elementor-element-77520dd .vlt-section-title__heading,
	[data-anchor="Services"] .elementor-element-77520dd .vlt-section-title__heading.h2,
	[data-anchor="Services"] .elementor-element-77520dd .large-heading {
		font-size: 24px !important;
		line-height: 1.08 !important;
		margin: 0 !important;
	}

	[data-anchor="Services"] .vlt-service-box {
		padding: 20px !important;
		gap: 6px;
		width: calc(100% - 24px) !important;
		max-width: calc(100% - 24px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
	}

	[data-anchor="Services"] .vlt-service-box__title {
		font-size: 14px !important;
		line-height: 1.2 !important;
	}

	[data-anchor="Services"] .vlt-service-box__text,
	[data-anchor="Services"] .vlt-service-box p.vlt-service-box__text {
		font-size: 12px !important;
		line-height: 1.32 !important;
		margin-top: 4px !important;
	}

	[data-anchor="Services"] .slick-dots,
	[data-anchor="Services"] .premium-carousel-wrapper .slick-dots {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		margin: 0 !important;
	}

	[data-anchor="Services"] .elementor-element-efdd326 .vlt-section-title__heading {
		font-size: 20px !important;
		line-height: 1.1 !important;
	}

	[data-anchor="Services"] .elementor-element-8cbea39,
	[data-anchor="Services"] .elementor-element-8cbea39 p {
		font-size: 12px !important;
		line-height: 1.32 !important;
	}

	[data-anchor="Services"] .premium-carousel-inner,
	[data-anchor="Services"] .slick-list,
	[data-anchor="Services"] .premium-carousel-wrapper {
		max-height: none;
	}

	/* Experience: títulos se ajustan en Elementor */
	[data-anchor="Experience"] .elementor-element-afbb480 {
		margin-top: 14px !important;
	}

	[data-anchor="Experience"] .elementor-element-a94a25c {
		margin-top: 0 !important;
	}

	[data-anchor="Experience"] .vlt-timeline-slider,
	[data-anchor="Experience"] .swiper-wrapper,
	[data-anchor="Experience"] .swiper-slide {
		height: auto !important;
	}

	[data-anchor="Experience"] .vlt-timeline-item {
		display: grid !important;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"year brand"
			"header header";
		align-items: start;
		column-gap: 12px;
		row-gap: 6px;
		width: 100%;
		padding: 16px 0 18px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		position: relative;
	}

	[data-anchor="Experience"] .vlt-timeline-item__year {
		grid-area: year;
	}

	[data-anchor="Experience"] .vlt-timeline-item__header {
		grid-area: header;
		width: 100% !important;
		max-width: none !important;
	}

	[data-anchor="Experience"] .vlt-timeline-item__brand {
		grid-area: brand;
		justify-self: end;
		align-self: start;
		margin: 0 !important;
	}

	[data-anchor="Experience"] .vlt-timeline-item__brand img {
		max-height: 28px !important;
		max-width: 72px !important;
		width: auto !important;
		height: auto !important;
	}

	[data-anchor="Experience"] .vlt-timeline-item__title {
		font-size: 15px !important;
		line-height: 1.25 !important;
		margin: 0 0 4px !important;
	}

	[data-anchor="Experience"] .vlt-timeline-item__subtitle {
		font-size: 12px !important;
		line-height: 1.3 !important;
		margin-top: 0 !important;
		opacity: 0.72;
	}

	[data-anchor="Experience"] .vlt-timeline-item__link {
		position: absolute;
		right: 0;
		bottom: 16px;
	}

	/* Skills */
	[data-anchor="Skills"] .vlt-skill {
		margin-bottom: 10px !important;
	}

	[data-anchor="Skills"] .vlt-section__ken-burn-background img {
		object-fit: cover;
		object-position: center;
	}

	/* Awards */
	[data-anchor="Awards"] .vlt-section-title__heading {
		font-size: 24px !important;
	}

	[data-anchor="Awards"] .elementor-element-e6b784e,
	[data-anchor="Awards"] .elementor-element-e6b784e p {
		display: block;
		-webkit-line-clamp: unset;
		overflow: visible !important;
		max-height: none;
	}

	[data-anchor="Awards"] .elementor-image-carousel img {
		max-height: 36px !important;
		max-width: 100% !important;
		width: auto !important;
		object-fit: contain !important;
	}

	[data-anchor="Awards"] .vlt-rewards {
		max-height: none;
		overflow: visible;
	}

	[data-anchor="Awards"] .vlt-reward {
		display: grid !important;
		grid-template-columns: 48px 1fr auto;
		align-items: center;
		gap: 12px;
		padding: 8px 0 !important;
		min-height: 0 !important;
	}

	[data-anchor="Awards"] .vlt-reward__brand {
		width: 48px !important;
		height: 40px !important;
		margin: 0 !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

	[data-anchor="Awards"] .vlt-reward__brand img {
		width: auto !important;
		height: auto !important;
		max-width: 48px !important;
		max-height: 36px !important;
		object-fit: contain !important;
	}

	[data-anchor="Awards"] .vlt-reward__title {
		font-size: 13px !important;
		line-height: 1.25 !important;
		margin: 0 !important;
	}

	[data-anchor="Awards"] .vlt-reward__year {
		font-size: 12px !important;
		opacity: 0.7;
		margin: 0 !important;
	}

	/* Contacts: titular de marca visible; el chat sigue siendo el CTA */
	[data-anchor="Contacts"] .vlt-section__elementor,
	[data-anchor="Contacts"] .vlt-section__elementor .elementor,
	[data-anchor="Contacts"] .vlt-section__elementor .e-con.e-parent,
	[data-anchor="Contacts"] .vlt-section__elementor .e-con-inner {
		height: auto !important;
		min-height: 0 !important;
	}

	[data-anchor="Contacts"] .elementor-element-bce31b6 {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	[data-anchor="Contacts"] .elementor-element-1b7746d,
	[data-anchor="Contacts"] .elementor-element-1b7746d p {
		display: block;
		-webkit-line-clamp: unset;
		overflow: visible;
		max-height: none;
	}

	[data-anchor="Contacts"] .elementor-element-93a7666,
	[data-anchor="Contacts"] .elementor-element-8d3c43e,
	[data-anchor="Contacts"] .elementor-element-8056856 {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		height: auto !important;
	}

	[data-anchor="Contacts"] .jj-asistente {
		min-height: 240px !important;
		height: min(340px, 46vh) !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
	}
}

/* About: 30px bajo el header; la mitad del aire inferior. */
@media (max-width: 1024px) {
	[data-anchor="About"].vlt-section .vlt-section__content,
	[data-anchor="About"].vlt-section .vlt-section__vertical-align {
		align-items: flex-start !important;
	}

	[data-anchor="About"].vlt-section .vlt-section__content {
		padding-top: calc(var(--vlt-navbar-height, 3.5rem) + 30px) !important;
		padding-bottom: 60px !important;
	}

	[data-anchor="About"] .elementor-element-c878384 {
		padding-top: 0 !important;
	}

	[data-anchor="About"] .elementor-element-23b451d,
	[data-anchor="About"] .elementor-element-23b451d > .e-con-inner {
		min-height: calc(var(--jj-app-height, 100dvh) - var(--vlt-navbar-height, 3.5rem) - 90px) !important;
	}

	[data-anchor="About"] .elementor-element-23b451d > .e-con-inner {
		justify-content: space-between !important;
	}
}

@keyframes jj-logo-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 1024px) {
	[data-anchor="Home"] .elementor-widget-image-carousel.jj-has-marquee,
	[data-anchor="Home"] .elementor-element-8c01520.jj-has-marquee {
		max-width: 100% !important;
		width: 100% !important;
	}

	[data-anchor="Home"] .elementor-widget-image-carousel.jj-has-marquee .swiper,
	[data-anchor="Awards"] .elementor-widget-image-carousel.jj-has-marquee .swiper {
		display: none !important;
	}

	[data-anchor="Home"] .jj-logo-marquee,
	[data-anchor="Awards"] .jj-logo-marquee,
	[data-anchor="Awards"] .jj-awards-marquee {
		overflow: hidden;
		width: 100%;
		-webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
		mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
	}

	[data-anchor="Home"] .jj-logo-marquee-track,
	[data-anchor="Awards"] .jj-logo-marquee-track,
	[data-anchor="Awards"] .jj-awards-marquee-track {
		display: flex;
		width: max-content;
		animation: jj-logo-marquee 26s linear infinite;
	}

	[data-anchor="Home"] .jj-logo-marquee:hover .jj-logo-marquee-track,
	[data-anchor="Awards"] .jj-logo-marquee:hover .jj-logo-marquee-track,
	[data-anchor="Awards"] .jj-awards-marquee:hover .jj-awards-marquee-track {
		animation-play-state: paused;
	}

	[data-anchor="Home"] .jj-logo-marquee-group,
	[data-anchor="Awards"] .jj-logo-marquee-group,
	[data-anchor="Awards"] .jj-awards-marquee-group {
		display: flex;
		align-items: center;
		gap: 28px;
		padding-right: 28px;
	}

	[data-anchor="Home"] .jj-logo-marquee img {
		height: 32px !important;
		width: auto !important;
		max-width: none !important;
		max-height: 32px !important;
		flex: 0 0 auto;
		object-fit: contain !important;
	}

	[data-anchor="Awards"] .jj-logo-marquee img,
	[data-anchor="Awards"] .jj-awards-marquee img {
		height: 36px !important;
		width: auto !important;
		max-width: none !important;
		max-height: 36px !important;
		flex: 0 0 auto;
		object-fit: contain !important;
	}
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
	[data-anchor="Home"] .jj-logo-marquee-track,
	[data-anchor="Awards"] .jj-logo-marquee-track,
	[data-anchor="Awards"] .jj-awards-marquee-track {
		animation: none;
	}
}
