/* AJF · Visor de zonas para Elementor */

.ajfzg {
	--ajfzg-card-width: 26rem;
	--ajfzg-card-height: 19rem;
	--ajfzg-gap: 1rem;
	--ajfzg-mask: 2.5%;
	--ajfzg-gray: 100%;
	--ajfzg-brightness: 85%;
	--ajfzg-contrast: 105%;
	--ajfzg-scale: 1.02;
	--ajfzg-gray-hover: 0%;
	--ajfzg-brightness-hover: 100%;
	--ajfzg-contrast-hover: 100%;
	--ajfzg-scale-hover: 1.07;
	--ajfzg-transition: 700ms;
	--ajfzg-ease: cubic-bezier(.2, .7, .2, 1);
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ajfzg,
.ajfzg *,
.ajfzg *::before,
.ajfzg *::after {
	box-sizing: border-box;
}

.ajfzg button {
	font: inherit;
}

.ajfzg-tabs {
	display: flex;
	width: 100%;
	max-width: 100%;
	margin: 0 0 2.5rem;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	border-style: solid;
	border-width: 1px 0;
	border-color: rgba(255, 255, 255, .12);
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
}

.ajfzg-tabs::-webkit-scrollbar,
.ajfzg-track::-webkit-scrollbar {
	display: none;
}

.ajfzg-tab {
	position: relative;
	flex: 1 1 0;
	min-width: 11rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .375rem;
	margin: 0;
	padding: 1.5rem 1.75rem;
	background: transparent;
	border-style: solid;
	border-width: 0 1px 0 0;
	border-color: rgba(255, 255, 255, .12);
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	text-align: start;
	appearance: none;
	-webkit-appearance: none;
	transition: background-color .35s var(--ajfzg-ease);
	-webkit-tap-highlight-color: transparent;
}

.ajfzg-tab:last-child {
	border-inline-end-width: 0 !important;
}

.ajfzg-tab::after {
	content: "";
	position: absolute;
	inset: auto auto -1px 0;
	width: 0;
	height: 2px;
	background: #b2271a;
	transition: width .5s var(--ajfzg-ease);
}

.ajfzg-tab[aria-selected="true"]::after {
	width: 100%;
}

.ajfzg-tab-index {
	font-family: "Inter", sans-serif;
	font-size: .6875rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .18em;
	color: #6b6b68;
	transition: color .35s var(--ajfzg-ease);
}

.ajfzg-tab-name {
	font-family: "Barlow", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #8e8e8b;
	transition: color .35s var(--ajfzg-ease);
}

.ajfzg-tab-count {
	font-family: "Inter", sans-serif;
	font-size: .75rem;
	font-weight: 400;
	line-height: 1.3;
	color: #6b6b68;
	transition: color .35s var(--ajfzg-ease);
}

.ajfzg-tab:hover,
.ajfzg-tab[aria-selected="true"] {
	background: rgba(255, 255, 255, .03);
}

.ajfzg-tab:hover .ajfzg-tab-name,
.ajfzg-tab[aria-selected="true"] .ajfzg-tab-name {
	color: #fff;
}

.ajfzg-tab:hover .ajfzg-tab-index,
.ajfzg-tab[aria-selected="true"] .ajfzg-tab-index {
	color: #e86a5a;
}

.ajfzg-stage,
.ajfzg-panel {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.ajfzg-panel[hidden] {
	display: none !important;
}

.ajfzg-panel.is-active {
	animation: ajfzg-panel-in .55s var(--ajfzg-ease) both;
}

@keyframes ajfzg-panel-in {
	from {
		opacity: 0;
		transform: translateY(.75rem);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.ajfzg-track {
	display: flex;
	flex-flow: row nowrap;
	align-items: stretch;
	gap: var(--ajfzg-gap);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0 0 .25rem;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.ajfzg--snap .ajfzg-track {
	scroll-snap-type: inline proximity;
}

.ajfzg--mask .ajfzg-track {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--ajfzg-mask), #000 calc(100% - var(--ajfzg-mask)), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 var(--ajfzg-mask), #000 calc(100% - var(--ajfzg-mask)), transparent 100%);
}

.ajfzg[data-enable-drag="true"] .ajfzg-track {
	cursor: grab;
}

.ajfzg-track.is-dragging {
	cursor: grabbing !important;
	scroll-snap-type: none !important;
	user-select: none;
}

.ajfzg-track.is-dragging .ajfzg-shot {
	pointer-events: none;
}

.ajfzg-shot {
	position: relative;
	flex: 0 0 var(--ajfzg-card-width);
	width: var(--ajfzg-card-width);
	height: var(--ajfzg-card-height);
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #1c1c1c;
	border-radius: 0;
	scroll-snap-align: center;
	isolation: isolate;
}

.ajfzg-shot-trigger,
.ajfzg-shot-static {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: transparent;
	border: 0;
	border-radius: inherit;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}

.ajfzg-shot-trigger {
	cursor: zoom-in;
}

.ajfzg-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0;
	object-fit: cover;
	object-position: center center;
	filter: grayscale(var(--ajfzg-gray)) brightness(var(--ajfzg-brightness)) contrast(var(--ajfzg-contrast));
	transform: scale(var(--ajfzg-scale));
	transform-origin: center;
	transition: filter var(--ajfzg-transition) var(--ajfzg-ease), transform var(--ajfzg-transition) var(--ajfzg-ease);
	user-select: none;
	-webkit-user-drag: none;
}

.ajfzg-shot:hover .ajfzg-image,
.ajfzg-shot:focus-within .ajfzg-image {
	filter: grayscale(var(--ajfzg-gray-hover)) brightness(var(--ajfzg-brightness-hover)) contrast(var(--ajfzg-contrast-hover));
	transform: scale(var(--ajfzg-scale-hover));
}

.ajfzg-shot::after {
	content: "";
	position: absolute;
	z-index: 3;
	inset: 0 auto auto 0;
	width: 0;
	height: 2px;
	background: #b2271a;
	pointer-events: none;
	transition: width .5s var(--ajfzg-ease);
}

.ajfzg:not(.ajfzg--accent) .ajfzg-shot::after {
	display: none;
}

.ajfzg-shot:hover::after,
.ajfzg-shot:focus-within::after {
	width: 100%;
}

.ajfzg-caption {
	position: absolute;
	z-index: 2;
	inset: auto 0 0;
	display: block;
	margin: 0;
	padding: .75rem .875rem;
	background: rgba(20, 20, 20, .78);
	color: #fff;
	font-family: "Inter", sans-serif;
	font-size: .8125rem;
	font-weight: 400;
	line-height: 1.45;
	pointer-events: none;
}

.ajfzg-empty {
	flex: 1 0 100%;
	width: 100%;
	margin: 0;
	padding: 2.5rem;
	border: 1px dashed rgba(255, 255, 255, .25);
	color: #a0a09d;
	font-family: "Inter", sans-serif;
	font-size: .9375rem;
	line-height: 1.6;
	text-align: center;
}

.ajfzg-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
	margin-top: 1.75rem;
}

.ajfzg-description {
	max-width: 36rem;
	margin: 0;
	color: #a0a09d;
	font-family: "Inter", sans-serif;
	font-size: .9375rem;
	font-weight: 300;
	line-height: 1.7;
}

.ajfzg-controls {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-inline-start: auto;
}

.ajfzg-counter {
	margin-inline-end: .5rem;
	color: #8e8e8b;
	font-family: "Inter", sans-serif;
	font-size: .75rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .16em;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ajfzg-arrow,
.ajfzg-lightbox-control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	background: transparent;
	border-style: solid;
	border-width: 1px;
	border-color: rgba(255, 255, 255, .28);
	border-radius: 0;
	box-shadow: none;
	color: #fff;
	fill: #fff;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: color .3s var(--ajfzg-ease), fill .3s var(--ajfzg-ease), background-color .3s var(--ajfzg-ease), border-color .3s var(--ajfzg-ease), opacity .3s var(--ajfzg-ease);
	-webkit-tap-highlight-color: transparent;
}

.ajfzg-arrow {
	width: 3rem;
	height: 3rem;
	font-size: 1rem;
}

.ajfzg-arrow svg,
.ajfzg-lightbox-control svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.ajfzg-arrow:hover,
.ajfzg-arrow:focus-visible,
.ajfzg-lightbox-control:hover,
.ajfzg-lightbox-control:focus-visible {
	background: #b2271a;
	border-color: #b2271a;
	color: #fff;
	fill: #fff;
}

.ajfzg-arrow:disabled,
.ajfzg-lightbox-control:disabled {
	cursor: not-allowed;
	opacity: .32;
}

.ajfzg-progress {
	height: 2px;
	margin-top: 1.5rem;
	overflow: hidden;
	background: rgba(255, 255, 255, .12);
}

.ajfzg-progress-bar {
	display: block;
	width: 100%;
	height: 100%;
	background: #b2271a;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .15s linear;
}

.ajfzg-lightbox {
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4.5rem 1.5rem 5.5rem;
	background: rgba(10, 10, 10, .97);
	animation: ajfzg-lightbox-in .3s var(--ajfzg-ease) both;
}

.ajfzg-lightbox[hidden] {
	display: none !important;
}

@keyframes ajfzg-lightbox-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

.ajfzg-lightbox-figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	padding: 0;
}

.ajfzg-lightbox-image {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 82vh;
	object-fit: contain;
	animation: ajfzg-lightbox-image-in .45s var(--ajfzg-ease) both;
	user-select: none;
	-webkit-user-drag: none;
}

@keyframes ajfzg-lightbox-image-in {
	from {
		opacity: 0;
		transform: scale(.97);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.ajfzg-lightbox-caption {
	max-width: min(52rem, 90vw);
	margin: .875rem auto 0;
	color: #c9c9c6;
	font-family: "Inter", sans-serif;
	font-size: .8125rem;
	font-weight: 400;
	line-height: 1.55;
	text-align: center;
}

.ajfzg-lightbox-caption:empty {
	display: none;
}

.ajfzg-lightbox-control {
	position: absolute;
	width: 3rem;
	height: 3rem;
	font-size: 1rem;
}

.ajfzg-lightbox-close {
	top: 1.5rem;
	right: 1.5rem;
}

.ajfzg-lightbox-prev,
.ajfzg-lightbox-next {
	top: 50%;
	transform: translateY(-50%);
}

.ajfzg-lightbox-prev {
	left: 1.5rem;
}

.ajfzg-lightbox-next {
	right: 1.5rem;
}

.ajfzg-lightbox-meta {
	position: absolute;
	inset: auto auto 1.75rem 1.5rem;
	display: flex;
	align-items: baseline;
	gap: 1rem;
	font-family: "Inter", sans-serif;
}

.ajfzg-lightbox-zone {
	color: #e86a5a;
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ajfzg-lightbox-counter {
	color: #8e8e8b;
	font-size: .75rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .14em;
	font-variant-numeric: tabular-nums;
}

.ajfzg-tab:focus,
.ajfzg-arrow:focus,
.ajfzg-shot-trigger:focus,
.ajfzg-lightbox-control:focus {
	box-shadow: none;
}

.ajfzg-tab:focus-visible,
.ajfzg-arrow:focus-visible,
.ajfzg-shot-trigger:focus-visible,
.ajfzg-lightbox-control:focus-visible {
	outline: 2px solid #e86a5a;
	outline-offset: 3px;
}

.ajfzg-tab,
.ajfzg-tab *,
.ajfzg-arrow,
.ajfzg-track,
.ajfzg-track *,
.ajfzg-lightbox-control {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

html.ajfzg-lock,
html.ajfzg-lock body {
	overflow: hidden !important;
}

@media (max-width: 1024px) {
	.ajfzg {
		--ajfzg-card-width: 22rem;
		--ajfzg-card-height: 16rem;
		--ajfzg-gray: 70%;
	}
}

@media (max-width: 767px) {
	.ajfzg {
		--ajfzg-card-width: 16rem;
		--ajfzg-card-height: 12rem;
		--ajfzg-gray: 0%;
		--ajfzg-brightness: 100%;
		--ajfzg-scale: 1;
	}

	.ajfzg-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.ajfzg-controls {
		width: 100%;
		margin-inline-start: 0;
	}

	.ajfzg-counter {
		margin-inline-end: auto;
	}

	.ajfzg-lightbox {
		padding: 4rem .75rem 4.5rem;
	}

	.ajfzg-lightbox-close {
		top: .75rem;
		right: .75rem;
	}

	.ajfzg-lightbox-prev {
		left: .5rem;
	}

	.ajfzg-lightbox-next {
		right: .5rem;
	}

	.ajfzg-lightbox-meta {
		inset: auto auto 1rem .75rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ajfzg *,
	.ajfzg *::before,
	.ajfzg *::after {
		scroll-behavior: auto !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}
