/***************/
/*** Main Classes */
/***************/
:root {
	--color-gold-1: #d9bc93;
	--color-white: #ffffff;
	--color-white-2: #f2f2f2;
	--color-dark: #000000;
}
.color-gold-1 {
	color: var(--color-gold-1);
}
.color-white {
	color: var(--color-white);
}
.bg-gold-1 {
	background-color: var(--color-gold-1);
}
.bg-white {
	background-color: var(--color-white);
}
* {
	box-sizing: border-box;
}

#menuToggle i,
.icon-instagram i {
	color: var(--color-gold-1);
	transition: color 0.2s ease-in-out;
}

.icon-instagram:hover i,
.icon-instagram:active i,
#menuToggle:hover i,
#menuToggle:active i {
	color: var(--color-white);
}

@font-face {
	font-family: "Caudex";
	src: url("../fonts/Caudex-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "Caudex";
	src: url("../fonts/Caudex-Italic.ttf") format("truetype");
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: "Caudex";
	src: url("../fonts/Caudex-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "Caudex";
	src: url("../fonts/Caudex-BoldItalic.ttf") format("truetype");
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
	font-weight: 100 900; /* variable range */
	font-style: oblique 0deg 10deg; /* slnt axis support */
	font-display: swap;
}

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");
	font-weight: 100 900; /* variable range */
	font-style: italic;
	font-display: swap;
}

.font-inter-light {
	font-family: "Inter", sans-serif !important;
	font-weight: 300;
}

.font-inter-bold {
	font-family: "Inter", sans-serif !important;
	font-weight: 700;
}

.font-inter {
	font-family: "Inter", sans-serif !important;
}

.font-caudex {
	font-family: "Caudex", serif;
}
.font-caudex-regular {
	font-family: "Caudex", serif;
	font-weight: 400;
	font-style: normal;
}
.font-caudex-italic {
	font-family: "Caudex", serif;
	font-weight: 400;
	font-style: italic;
}
.font-caudex-bold {
	font-family: "Caudex", serif;
	font-weight: 700;
	font-style: normal;
}
.font-caudex-bold-italic {
	font-family: "Caudex", serif;
	font-weight: 700;
	font-style: italic;
}

body {
	font-family: "Caudex", serif;
}
html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: var(--color-dark);
}
html {
	font-size: 16px;
}
/* medium devices */
@media (max-width: 768px) {
	html {
		font-size: 14px;
	}
}
/* small devices */
@media (max-width: 576px) {
	html {
		font-size: 12px;
	}
}
/***************/
/*** Fonts */
/***************/
h1,
h2,
h3,
h4,
h5,
p,
small,
h1 i,
h2 i,
h3 i,
h4 i,
h5 i,
p i,
small i,
a,
span,
.display {
	color: var(--color-white);
	font-family: "Caudex", serif;
	font-style: normal;
	font-weight: 400;
}

.display,
.display i {
	text-align: center;
	font-size: 128px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 89.6px;
	text-transform: uppercase;
}

h1,
h1 i {
	font-size: 64px;
	font-style: normal;
	font-weight: 400;
	line-height: 70px; /* 109.725% */
}

h2,
h2 i {
	font-size: 48px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}

h3,
h3 i {
	font-size: 31px; /* ~1.953rem */
	font-style: normal;
	font-weight: 400;
	line-height: 32px;
}

h4,
h4 i {
	font-size: 25px; /* ~1.563rem */
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
}

h5,
h5 i {
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: normal;
}

p,
p i {
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 21px;
	letter-spacing: 7px;
	text-transform: uppercase;
}

.p-small,
p-small i {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 21px;
	letter-spacing: 7px;
	text-transform: uppercase;
}

a {
	color: var(--color-white);
	cursor: pointer;
	-webkit-transition: color 0.3s linear;
	-moz-transition: color 0.3s linear;
	-o-transition: color 0.3s linear;
	-ms-transition: color 0.3s linear;
	transition: color 0.3s linear;
}

a:hover,
form a:hover {
	color: var(--color-gold-1);
}

.age-gate-text-1 {
	font-family: "Caudex", serif;
	color: var(--color-gold-1);
	text-align: center;
	font-family: Caudex;
	font-size: 3rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}
.age-gate-text-2 {
	font-family: "Caudex", serif;
	color: var(--color-white);
	text-align: center;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: normal;
}

.text-uppercase {
	text-transform: uppercase !important;
}
.font-100,
.font-100 * {
	font-weight: 100 !important;
}
.font-200,
.font-200 * {
	font-weight: 200 !important;
}
.font-300,
.font-300 * {
	font-weight: 300 !important;
}
.font-400,
.font-400 * {
	font-weight: 400 !important;
}
.font-500,
.font-500 * {
	font-weight: 500 !important;
}
.font-600,
.font-600 * {
	font-weight: 600 !important;
}
.font-700,
.font-700 * {
	font-weight: 700 !important;
}
.font-800,
.font-800 * {
	font-weight: 800 !important;
}
.font-900,
.font-900 * {
	font-weight: 900 !important;
}

.lang-switcher .lang-link {
	text-transform: uppercase;
	font-size: 1rem;
	color: var(--color-white);
	text-decoration: none;
	transition: color 0.2s ease-in-out;
	font-family: "Inter", sans-serif !important;
	font-weight: 300; /* regular for inactive */
}

.lang-switcher .lang-link:hover {
	color: var(--color-gold-1);
}

.lang-switcher .lang-link.active {
	color: var(--color-gold-1);
	font-weight: 300; /* medium for active */
}

/***************/
/*** Main clases */
/***************/
main {
	position: relative;
}

/* Age Gate */
.age-gate {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	z-index: 99999;
}

.bg-video-gate {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}

.age-gate-overlay {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	padding: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-start; /* ← esto cambia */
	align-items: center;
	text-align: center;
}

.age-gate-logo:first-child {
	max-width: 80px; /* más pequeño y arriba */
	margin-top: 3rem; /* espacio superior */
	margin-bottom: 1rem;
}
.age-gate-logo:last-child {
	max-width: 120px;
	margin-bottom: 2rem;
}

form#age_gate {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.2rem;
	margin-top: 1rem;
}

form#age_gate button {
	all: unset; /* limpia todos los estilos por defecto del <button> */
	cursor: pointer;
	margin-top: 1.5rem;
	font-family: "Inter", sans-serif !important;
	color: var(--color-white);
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	text-decoration: underline;
	transition: color 0.3s ease;
}

form#age_gate button:hover,
form#age_gate button:focus,
form#age_gate button:active {
	color: var(--color-gold-1);
	outline: none;
	text-decoration: underline;
}

.footer-custom-link {
	all: unset; /* limpia todos los estilos por defecto del <button> */
	cursor: pointer;
	margin-top: 1.5rem;
	font-family: "Caudex", serif;
	color: var(--color-white);
	font-size: 1rem;
	font-style: normal;
	font-weight: 200;
	line-height: normal;
	text-transform: uppercase;
	text-decoration: underline;
	transition: color 0.3s ease;
}
.custom-legal-links {
	all: unset; /* limpia todos los estilos por defecto del <button> */
	cursor: pointer;
	text-decoration: none;
	transition: color 0.3s ease;
	color: #848484;
	text-align: center;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}

.custom-legal-links:hover,
.custom-legal-links:focus,
.custom-legal-links:active {
	color: var(--color-gold-1);
	outline: none;
	text-decoration: underline;
}

.footer-custom-link:hover,
.footer-custom-link:focus,
.footer-custom-link:active {
	color: var(--color-gold-1);
	outline: none;
	text-decoration: underline;
}

.custom-header-link {
	all: unset; /* limpia todos los estilos por defecto del <button> */
	cursor: pointer;
	margin-bottom: 1rem;
	font-family: "Caudex", serif;
	color: var(--color-white);
	font-size: 1rem;
	font-style: normal;
	font-weight: 200;
	line-height: normal;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.3s ease;
}
.custom-header-cat {
	all: unset; /* limpia todos los estilos por defecto del <button> */
	margin-bottom: 1rem;
	font-family: "Caudex", serif;
	color: var(--color-white);
	text-transform: uppercase;
	text-align: center;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.custom-header-link:hover,
.custom-header-link:focus,
.custom-header-link:active {
	color: var(--color-gold-1);
	outline: none;
	text-decoration: none;
}
.gate-button {
	color: #fff;
	font-family: Inter, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
	text-decoration: underline;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	transition: color 0.3s ease; /* smooth color animation */
}

.gate-button:hover,
.gate-button:active,
.gate-button:focus {
	color: var(--color-gold-1);
}

/* === Frontpage === */

/* Lock scroll on front page */
body.page-id-7 {
	overflow: hidden;
}

/* Swiper full viewport */
.frontpage-swiper-wrapper {
	height: 100vh;
	width: 100vw;
	position: relative;
	overflow: hidden;
}

/* Core Swiper layout */
.swiper,
.swiper-wrapper,
.frontpage-swiper .swiper-slide {
	height: 100%;
	width: 100%;
}

.frontpage-swiper .swiper-slide {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* Video background */
.slide-bg-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	z-index: 0;
	pointer-events: none;
}
@media (max-width: 600px) {
	.slide-bg-video {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		z-index: 0;
		pointer-events: none;
	}
}

/* Slide as link */
.frontpage-swiper .swiper-slide > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	position: relative;
	text-decoration: none;
	z-index: 1;
}

/* Slide content with padding for header/footer */
.slide-content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-top: 100px; /* space for header */
	padding-bottom: 120px; /* space for footer */
}

/* Bottle centered */
.bottle-img {
	height: auto;
	max-height: 65vh;
	width: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0rem;
}

@media (max-width: 992px) {
	.bottle-img {
		margin-top: 5rem;
		max-height: 50vh;
	}
}

/* Floating text (desktop only) */
.slide-text-overlay {
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%);
	max-width: 450px;
	z-index: 3;
	padding-left: var(--bs-gutter-x, 1.5rem); /* Bootstrap container padding */
}

/* Claim */
.slide-claim {
	color: var(--color-gold-1);
	text-align: start;
	font-family: "Caudex", serif;
	font-size: 1.25rem;
	font-style: italic;
	font-weight: 400;
	line-height: normal;
}

/* Title */
.slide-title {
	color: #e9e7e7;
	font-family: "Caudex", serif;
	font-size: 2.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 109.725%; /* 4.389rem */
}

/* Mobile stacked layout */
@media (max-width: 992px) {
	.bottle-img {
		margin-bottom: 1rem;
	}

	.slide-title,
	.slide-claim {
		text-align: center;
	}
}

/* Arrows fix: remove default Swiper blue color */
.swiper-button-next,
.swiper-button-prev {
	color: var(--color-gold-1) !important;
	fill: var(--color-gold-1) !important;
	stroke: var(--color-gold-1) !important;
	z-index: 10;
}

/* Base arrow styles */
.custom-arrow-prev,
.custom-arrow-next {
	width: 35px;
	height: 35px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	cursor: pointer;
	background-color: rgba(0, 0, 0, 0.4);
	border: 1px solid var(--color-gold-1);
	border-radius: 50%;
}

/* Background images */
.custom-arrow-prev {
	background-image: url("../img/prev.svg");
}

.custom-arrow-next {
	background-image: url("../img/next.svg");
}

/* Position arrows based on container width (assumes Bootstrap 1140px) */
.frontpage-swiper-wrapper .custom-arrow-prev {
	left: calc((100vw - 1140px) / 2);
}

.frontpage-swiper-wrapper .custom-arrow-next {
	right: calc((100vw - 1140px) / 2);
}

/* Adjust for smaller screens */
@media (max-width: 1200px) {
	.frontpage-swiper-wrapper .custom-arrow-prev {
		left: 1rem;
	}

	.frontpage-swiper-wrapper .custom-arrow-next {
		right: 1rem;
	}
}

/* Smaller arrows on mobile */
@media (max-width: 991.98px) {
	.custom-arrow {
		width: 40px;
		height: 40px;
	}

	.custom-arrow-prev {
		left: 10px;
	}

	.custom-arrow-next {
		right: 10px;
	}
}

.swiper-button-prev::after,
.swiper-button-next::after {
	display: none;
	content: none;
}
/* === /Frontpage === */

/* header */

/* Burger icon inherits bootstrap colors */
#menuToggle span {
	transition: all 0.3s ease;
}

/* Optional: smoother show/hide for menu */
.fullscreen-menu {
	transition: opacity 0.3s ease;
}

/* /header */

/* === SINGLE OUR-WINES STYLES === */

/* Hero Section */
.wine-hero {
	height: 100vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.wine-hero-pdp {
	height: 80vh;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 600px) {
	.wine-hero-pdp {
		height: 60vh;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.wine-hero-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	z-index: 0;
	pointer-events: none;
}
@media (max-width: 600px) {
	.wine-hero-video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		z-index: 0;
		pointer-events: none;
	}
}

.wine-hero .container {
	position: relative;
	z-index: 2;
}

.pdp-custom-text-1 {
	font-family: "Caudex", serif;
	color: var(--color-white-2);
	text-align: center;
	font-size: 2.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.pdp-custom-text-2 {
	font-family: "Caudex", serif;
	color: var(--color-white-2);
	text-align: center;
	font-size: 0.6rem;
	font-style: normal;
	font-weight: 300;
	line-height: 150%;
	letter-spacing: 0.4rem;
	text-transform: uppercase;
}

/* Discover CTA + Bottle Block */
.wine-body {
	position: relative;
}

.arrow-icon {
	font-size: 0.6rem;
	color: var(--color-white);
}

.wine-bottle-wrapper {
	margin: 0 auto;
	position: relative;
}

.wine-bottle {
	height: auto;
	width: auto;
	display: block;
	margin: 0 auto;
	z-index: 1;
}

.wine-title-overlay {
	top: 5%;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	z-index: 2;
}

/* Title on Bottle */
.pdp-custom-text-3 {
	font-family: "Caudex", serif;
	color: #e9e7e7;
	text-align: center;
	font-size: 8rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 5.6rem;
	text-transform: uppercase;
}

/* Description Fields */
.desc-left-1,
.desc-left-2,
.desc-right {
	max-width: 16rem;
	font-size: 0.9rem;
	font-style: italic;
	font-family: "Caudex", serif;
	color: var(--color-white);
	z-index: 3;
}

.desc-left-1 {
	top: 50%;
	left: 25%;
}

.desc-right {
	top: 65%;
	right: 25%;
}

.desc-left-2 {
	top: 75%;
	left: 25%;
}

@media (max-width: 1599.98px) {
	.desc-left-1 {
		left: 18%;
	}

	.desc-right {
		right: 18%;
	}

	.desc-left-2 {
		left: 18%;
	}
}

@media (max-width: 1399.98px) {
	.desc-left-1 {
		left: 15%;
	}

	.desc-right {
		right: 15%;
	}

	.desc-left-2 {
		left: 15%;
	}
}

@media (max-width: 1199.98px) {
	.desc-left-1 {
		left: 10%;
	}

	.desc-right {
		right: 10%;
	}

	.desc-left-2 {
		left: 10%;
	}
}

/* Description Fields - Dual Wine Adjustment */
.dual-wine.desc-left-1 {
	left: 15%; /* 25% - 5% */
}

.dual-wine.desc-left-2 {
	left: 15%;
}

.dual-wine.desc-right {
	right: 15%;
}

@media (max-width: 1599.98px) {
	.dual-wine.desc-left-1 {
		left: 13%; /* 18% - 5% */
	}

	.dual-wine.desc-left-2 {
		left: 13%;
	}

	.dual-wine.desc-right {
		right: 13%;
	}
}

@media (max-width: 1399.98px) {
	.dual-wine.desc-left-1 {
		left: 5%; /* 15% - 5% */
	}

	.dual-wine.desc-left-2 {
		left: 5%;
	}

	.dual-wine.desc-right {
		right: 5%;
	}
}

@media (max-width: 1199.98px) {
	.dual-wine.desc-left-1 {
		left: 5%; /* 10% - 5% */
	}

	.dual-wine.desc-left-2 {
		left: 5%;
	}

	.dual-wine.desc-right {
		right: 5%;
	}
}

.pdp-custom-text-4,
.pdp-custom-text-5,
.pdp-custom-text-6 {
	font-family: "Caudex", serif;
	color: #fbe2cd;
	text-align: right;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 0.3125rem;
	text-transform: uppercase;
}

/* Responsive Adjustments */
@media (max-width: 991.98px) {
	.desc-left-1,
	.desc-left-2,
	.desc-right {
		position: static;
		text-align: center;
		margin: 1.5rem auto;
	}

	.wine-title-overlay {
		position: static;
		transform: none;
		margin-bottom: 1rem;
	}

	.wine-bottle-wrapper {
		padding: 0 1rem;
	}
}

/* Download Section */
.pdp-custom-text-7 {
	font-family: "Inter";
	color: #f2f2f2;
	text-align: center;
	font-size: 1rem;
	font-style: normal;
	font-weight: 300;
	line-height: 150%;
	letter-spacing: 0.4rem;
	text-transform: uppercase;
	text-decoration: underline;
}
.pdp-custom-text-7-buy {
	color: #d9bc93;
	text-align: center;
	font-family: "Inter";
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 2px;
	text-transform: uppercase;
	border: 1px solid #d9bc93;
}
.pdp-custom-text-7-buy {
	color: #d9bc93;
	width: auto;
	text-align: center;
	font-family: "Inter";
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 2px;
	text-transform: uppercase;
	border: 1px solid #d9bc93;
	transition: all 0.2s ease-in-out;
	text-decoration: none;
}

.pdp-custom-text-7-buy:hover {
	color: #f2f2f2;
	background-color: #d9bc93;
	border-color: #d9bc93;
	text-decoration: none;
}

.pdp-custom-text-8 {
	font-family: "Inter";
	color: #848484;
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	text-transform: uppercase;
	letter-spacing: 0.2rem;
}

/* Contained Final Video with Text Overlay */
.wine-footer-loop-contained {
	background: black;
	overflow: hidden;
	position: relative;
}

.video-wrapper {
	max-width: 420px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 2rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.wine-loop-contained {
	width: 100%;
	height: auto;
	display: block;
}

.loop-overlay {
	z-index: 2;
}

.overlay-text {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	pointer-events: none; /* para que el video debajo reciba clics si es necesario */
}

.overlay-text a {
	pointer-events: auto; /* pero que el link sí sea clickeable */
}

.pdp-custom-text-9 {
	font-family: "Inter", sans-serif !important;
	color: #fbe2cd;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0;
	text-align: center;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 300;
	line-height: 150%;
	letter-spacing: 0.4rem;
}

/* Extra space at bottom */
.spacer-footer {
	height: 100px;
}

/* === /SINGLE OUR-WINES === */

.fixed-side-links {
	bottom: 20%;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.fixed-link-item {
	background-color: var(--color-dark);
	padding: 0;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	display: inline-block;
	max-width: 100px;
}

.fixed-link-item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
	max-height: 5rem;
	max-width: 3rem;
	padding: 0;
}

.fixed-link-item:hover {
	opacity: 0.8;
	transition: opacity 0.2s ease-in-out;
}
.fixed-link-item {
	transition: opacity 0.2s ease-in-out;
}

.site-header {
	transition: transform 0.3s ease;
	will-change: transform;
}

.site-header.hide-on-scroll {
	transform: translateY(-100%);
}

#contactToggle {
	transition: transform 0.3s ease;
	will-change: transform;
}

#contactToggle.hide-on-scroll {
	transform: translateY(100%);
}

/* Fullscreen overlays */
.fullscreen-menu,
#contactOverlay {
	z-index: 120000 !important;
	background-color: black !important;
	overflow-y: auto;
}

/* Prevent body scroll */
body.no-scroll {
	overflow: hidden !important;
	position: fixed;
	width: 100%;
}

.site-header {
	z-index: 120001 !important;
}

#menuToggle {
	z-index: 120001 !important;
}

.lang-switcher,
.site-header .col.text-center {
	z-index: 120001 !important;
}

/* === Contact Form 7 Styles === */

/* form.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 600px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

form.wpcf7-form label {
	font-family: "Caudex", serif;
	color: var(--color-white);
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	display: block;
	margin-bottom: 0.5rem;
}

form.wpcf7-form .wpcf7-form-control {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 2px solid var(--color-gold-1);
	background-color: transparent;
	color: var(--color-gold-1);
	font-family: "Caudex", serif;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	transition: all 0.3s ease-in-out;
}

form.wpcf7-form .wpcf7-form-control:focus {
	outline: none;
	background-color: var(--color-gold-1);
	color: var(--color-dark);
}

form.wpcf7-form .form-textarea {
	resize: vertical;
	min-height: 150px;
	line-height: 1.5;
}

form.wpcf7-form .form-submit {
	all: unset;
	cursor: pointer;
	color: var(--color-white);
	font-family: "Caudex", serif;
	font-size: 1rem;
	text-transform: uppercase;
	text-decoration: underline;
	transition: color 0.3s ease;
	text-align: center;
}

form.wpcf7-form .form-submit:hover {
	color: var(--color-gold-1);
} */

/* Response message */
.wpcf7-response-output {
	color: var(--color-white);
	font-family: "Caudex", serif;
	font-size: 1rem;
	margin-top: 1rem;
	text-align: center;
}

/* Spinner visibility */
.wpcf7-spinner {
	display: inline-block;
	margin-left: 10px;
}

.fixed-footer {
	transition: transform 0.3s ease;
	will-change: transform;
}

.fixed-footer.hide-on-scroll {
	transform: translateY(100%);
}

.static-footer {
	position: relative !important;
	bottom: auto !important;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1;
}

.inter-content,
.inter-content * {
	font-family: "Inter", sans-serif !important;
	font-size: 14px;
	font-weight: 300;
	line-height: calc(14px * 1.2);
	letter-spacing: 0;
	text-transform: uppercase;
}

/********************************************/
/* CONTACT FORM STYLES                      */
/********************************************/

#contact-form {
	margin: 0 auto;
	width: 100%;
	font-family: "Inter", sans-serif !important;
}

/* Inter everywhere */
#contact-form * {
	font-family: "Inter", sans-serif !important;
	color: var(--color-white);
	font-weight: 300;
	letter-spacing: 0.25rem;
	text-transform: uppercase;
}

/********************************************/
/* GRID                                     */
/********************************************/

#contact-form .form-row {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin-bottom: 2rem;
}

#contact-form .form-group {
	position: relative;
	flex: 1 1 100%;
}

@media (min-width: 768px) {
	#contact-form .form-group.col-md-6 {
		flex: 1 1 calc(50% - 2rem);
	}

	#contact-form .form-group.col-md-4 {
		flex: 1 1 calc(33.333% - 2rem);
	}
}

/********************************************/
/* INPUTS / SELECTS / TEXTAREA              */
/********************************************/

#contact-form input,
#contact-form select,
#contact-form textarea {
	width: 100%;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 0;
	padding: 1rem 0.25rem 0.75rem 0.25rem;
	font-size: 1rem;
	transition: all 0.2s ease;
}

/* White placeholders */
#contact-form input::placeholder,
#contact-form textarea::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

/* Focus highlight */
#contact-form input:focus,
#contact-form select:focus,
#contact-form textarea:focus {
	outline: none;
	border-bottom-color: var(--color-white);
}

/********************************************/
/* TEXTAREA HEIGHT                          */
/********************************************/

#contact-form textarea {
	min-height: 160px;
	resize: vertical;
}

/********************************************/
/* CF7 ACCEPTANCE CHECKBOX INLINE FIX       */
/********************************************/

/* acceptance control wrapper */
#contact-form .wpcf7-form-control.wpcf7-acceptance {
	display: flex;
	align-items: center;
	width: 100%;
}

/* normalize CF7 list item */
#contact-form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
	display: flex;
	align-items: center;
}

/* THIS is the key fix */
#contact-form .wpcf7-acceptance label {
	display: flex;
	align-items: center;
	gap: 1rem;
	cursor: pointer;
}

/* checkbox */
#contact-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--color-white);
	cursor: pointer;
	flex-shrink: 0;
}

/* label text */
#contact-form .wpcf7-list-item-label {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 300;
	letter-spacing: 0.25rem;
	line-height: 1.4;
	color: var(--color-white);
}

/* privacy policy link */
#contact-form .wpcf7-list-item-label a {
	color: var(--color-white);
	text-decoration: underline;
}

#contact-form .wpcf7-list-item-label a:hover {
	opacity: 0.8;
}

/********************************************/
/* SUBMIT BUTTON                            */
/********************************************/

/* Button container center */
#contact-form .form-group-submit,
#contact-form .form-row-submit {
	display: flex;
	justify-content: center;
}

/* Button looks like an input */
#contact-form input[type="submit"] {
	all: unset;
	display: inline-block;
	padding: 1rem 0.25rem 0.75rem 0.25rem;
	font-size: 1rem;
	letter-spacing: 0.25rem;
	text-transform: uppercase;
	color: var(--color-white);
	cursor: pointer;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	width: 200px;
	text-align: center;
}

/* Hover: slightly lighter black */
#contact-form input[type="submit"]:hover {
	background-color: rgba(255, 255, 255, 0.08);
	border-bottom-color: var(--color-white);
	color: var(--color-white);
}

/********************************************/
/* REQUIRED TEXT                            */
/********************************************/

#contact-form .required-note {
	font-size: 0.75rem;
	opacity: 0.6;
}

/********************************************/
/* VALIDATION                               */
/********************************************/

#contact-form .wpcf7-not-valid {
	border-bottom-color: #ff4444 !important;
	color: #ff4444 !important;
}

#contact-form .wpcf7-not-valid-tip {
	font-size: 0.7rem;
	color: #ff4444;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	letter-spacing: 0.1rem;
	text-transform: none;
}

/********************************************/
/* SUCCESS MESSAGE                          */
/********************************************/

#contact-form .wpcf7-response-output {
	margin-top: 2rem;
	padding: 1rem;
	text-align: center;
	border: none;
	background: transparent;
	color: var(--color-white);
	font-size: 0.9rem;
	letter-spacing: 0.2rem;
	text-transform: uppercase;
}

/* spinner visible on dark bg */
#contact-form .wpcf7-spinner {
	margin-left: 0.5rem;
	filter: invert(1);
}

#contact-form input:focus,
#contact-form textarea:focus,
#contact-form select:focus,
#contact-form .form-control:focus,
#contact-form .form-select:focus {
	outline: none !important;
	box-shadow: none !important;
	border-color: inherit !important;
}

/* select options visible on white background */
#contact-form select option {
	background-color: #000;
	color: #fff;
}

/* for browsers that use optgroup styling */
#contact-form select optgroup {
	background-color: #000;
	color: #fff;
}

/* force default option background when opened */
#contact-form select:focus option,
#contact-form select:active option {
	background-color: #000;
	color: #fff;
}

.contact-tite {
	color: #fcfcfc;
	text-align: center;
	font-family: "Inter", sans-serif !important;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.contact-text {
	color: #fbe2cd;
	text-align: center;
	font-family: "Inter", sans-serif !important;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.contact-cta {
	color: #fbe2cd;
	text-align: center;
	font-family: "Inter", sans-serif !important;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 400;
	line-height: 150%;
	/* 30px */
	letter-spacing: 2px;
	text-transform: uppercase;
}
