/*
 * Site chrome: header (tpl 13), drawer (off-canvas), footer (tpl 16), buttons,
 * language switcher. Values transcribed from the Elementor settings.
 */

/* Buttons: see blocks.css §4 (shared with the editor). */

/* ── Language switcher ───────────────────────────────────────────────────── */
.d-lang { display: inline-flex; align-items: center; gap: 0; font: 700 11px/1 var(--f-body); letter-spacing: var(--ls-button); text-transform: uppercase; }
.d-lang__item { color: var(--c-cream-55); padding: 6px 6px; text-decoration: none; transition: color var(--t-fast) ease; }
.d-lang__item + .d-lang__item { border-left: 1px solid var(--c-gold-30); }
.d-lang__item:hover { color: var(--c-cream); }
.d-lang__item.is-current { color: var(--c-gold); }

/* ── Header ──────────────────────────────────────────────────────────────── */
.d-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	padding: 10px var(--gutter);
	background: var(--c-black-66);
	border-bottom: 1px solid var(--c-white-10);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	will-change: transform, opacity;
	backface-visibility: hidden;
	transition: transform 320ms var(--ease-out), opacity 320ms var(--ease-out);
}
.d-header.is-hidden { opacity: 0; transform: translate3d(0, calc(-100% - 12px), 0); pointer-events: none; }
.d-header__announcement { margin: -10px calc(var(--gutter) * -1) 10px; padding: 8px var(--gutter); background: var(--c-gold); color: #000; font: 700 11px/1.3 var(--f-body); letter-spacing: var(--ls-button); text-transform: uppercase; text-align: center; }
.d-header__shell {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 24px;
	width: 100%;
	max-width: var(--shell);
	min-height: 78px;
	margin-inline: auto;
}
.d-header__brand {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1 0 auto;
	width: 24%;
	color: inherit;
	text-decoration: none;
}
.d-header__logo { width: 64px; height: auto; flex: 0 1 auto; min-width: 0; }
.d-header__address {
	flex: 0 1 auto;
	min-width: 0;
	color: var(--c-taupe);
	font: 700 10px/1.1 var(--f-body);
	letter-spacing: 1.4px;
	text-transform: uppercase;
}
.d-header__nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1 0 auto;
	width: 52%;
	padding: 10px;
}
.d-menu { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.d-menu > li { margin: 0 2px; transition: filter .4s; }
.d-menu > li:hover { filter: blur(.5px); }
.d-menu a {
	display: flex;
	padding: 8px 12px;
	color: var(--c-white);
	font: 400 13px/20px var(--f-body);
	letter-spacing: 2.4px;
	text-transform: uppercase;
	text-decoration: none;
}
.d-header__actions {
	display: flex;
	flex: 0 1 auto;
	width: 100%;
	justify-content: flex-end;
	align-items: stretch;
	gap: 8px;
	align-self: stretch;
	min-width: 0; /* Elementor containers overflow instead of growing */
}
.d-header__lang {
	display: flex;
	align-items: center;
	padding: 0 6px;
	color: var(--c-cream-55);
	font: 700 11px/1 var(--f-body);
	letter-spacing: var(--ls-button);
	text-decoration: none;
	transition: color var(--t-fast) ease;
}
.d-header__lang:hover, .d-header__lang:focus-visible { color: var(--c-gold); }
@media (max-width: 1199px) { .d-header__lang { display: none; } }
.d-header__icon { display: flex; align-items: center; justify-content: center; flex: 0 1 auto; min-width: 0; color: var(--c-white); transition: transform .3s; }
.d-header__icon:hover { transform: scale(1.02); }
.d-header__icon .d-icon { display: block; width: 20px; height: 20px; }
.d-header__icon--fb { padding-right: 15px; }
.d-header__icon--fb .d-icon { width: 15px; height: 15px; }
.d-header__cta { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; }
.d-header__cta .d-btn { flex: none; }

@media (max-width: 1024px) {
	.d-header { padding: 0 var(--gutter); }
	.d-header__brand { width: 34%; }
	.d-header__nav, .d-header__icon, .d-header__cta { display: none; }
}
@media (max-width: 767px) {
	.d-header__brand { width: 30%; }
	.d-header__address { display: none; }
}

/* ── Hamburger (jonsuh "emphatic", from the header HTML widget) ──────────── */
.d-burger {
	display: none;
	position: fixed;
	top: 26px;
	right: 18px;
	z-index: 10001; /* above the open drawer: it is the drawer's close button */
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	transform: scale(1.1);
	overflow: hidden;
	user-select: none;
	transition: opacity 320ms var(--ease-out), transform 320ms var(--ease-out);
}
.d-burger:hover { opacity: .7; }
.d-header.is-hidden ~ .d-burger:not([aria-expanded="true"]) { opacity: 0; pointer-events: none; transform: translate3d(0, calc(-100% - 12px), 0) scale(1.1); }
.d-burger__box { display: block; width: 40px; height: 24px; position: relative; }
.d-burger__inner, .d-burger__inner::before, .d-burger__inner::after {
	position: absolute;
	width: 40px;
	height: 3px;
	border-radius: 4px;
	background-color: var(--c-white);
}
.d-burger__inner { display: block; top: 50%; margin-top: -2px; transition: background-color .125s .175s ease-in; }
.d-burger__inner::before, .d-burger__inner::after { content: ""; display: block; }
.d-burger__inner::before { top: -10px; left: 0; transition: transform .125s cubic-bezier(.6, .04, .98, .335), top .05s .125s linear, left .125s .175s ease-in; }
.d-burger__inner::after { top: 10px; right: 0; transition: transform .125s cubic-bezier(.6, .04, .98, .335), top .05s .125s linear, right .125s .175s ease-in; }
.d-burger[aria-expanded="true"] .d-burger__inner { background-color: transparent; transition-delay: 0s; transition-timing-function: ease-out; }
.d-burger[aria-expanded="true"] .d-burger__inner::before { left: -80px; top: -80px; transform: translate3d(80px, 80px, 0) rotate(45deg); transition: left .125s ease-out, top .05s .125s linear, transform .125s .175s cubic-bezier(.075, .82, .165, 1); }
.d-burger[aria-expanded="true"] .d-burger__inner::after { right: -80px; top: -80px; transform: translate3d(-80px, 80px, 0) rotate(-45deg); transition: right .125s ease-out, top .05s .125s linear, transform .125s .175s cubic-bezier(.075, .82, .165, 1); }
@media (max-width: 1024px) { .d-burger { display: block; } }
@media (max-width: 767px) { .d-burger { right: 14px; } }

/* ── Drawer (Elementor off-canvas: full-screen black, fade on tablet/mobile) ─ */
.d-drawer {
	position: fixed;
	inset: 0;
	z-index: 10000; /* covers the header bar (9999), like the original off-canvas */
	display: flex;
	align-items: center;
	justify-content: center;
	background: #000;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease, visibility 0s linear .4s;
}
.d-drawer[hidden] { display: flex; }
.d-drawer:focus { outline: none; } /* focused on open as the dialog; its links show the ring */
.d-drawer.is-open { opacity: 1; visibility: visible; transition: opacity .4s ease, visibility 0s; }
.d-drawer__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 10px; }
.d-drawer__menu { list-style: none; margin: 0; padding: 0; }
.d-drawer__menu a {
	display: block;
	padding: 13px 20px;
	color: var(--c-white);
	font: 400 54px/.6em var(--f-display);
	letter-spacing: .06em;
	text-decoration: none;
}
.d-drawer__social { display: flex; align-items: center; justify-content: center; gap: 20px; }
.d-drawer__social a { display: flex; color: var(--c-white); }
.d-drawer__social .d-icon { width: 40px; height: 40px; }
.d-drawer__social a + a { padding-right: 5px; }
.d-lang--drawer { font-size: 13px; margin-top: 8px; }
.d-lang--drawer .d-lang__item { padding: 8px 12px; }
@media (min-width: 1025px) { .d-drawer { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .d-drawer { transition: none; } }

/* ── Footer ──────────────────────────────────────────────────────────────── */
.d-footer {
	position: relative;
	z-index: 1; /* above decorative backdrops */
	background: #000;
	padding: 0 var(--gutter);
}
.d-footer a { color: var(--c-cream); text-decoration: none; }
.d-footer a:hover { color: var(--c-gold); }
.d-footer__shell {
	display: flex;
	flex-direction: column;
	gap: 42px;
	max-width: var(--shell);
	margin-inline: auto;
	padding: 76px 0 28px;
}
.d-footer__big {
	margin: 0;
	padding: 0;
	color: var(--c-cream);
	font: 400 var(--fs-display)/.82 var(--f-display);
	letter-spacing: var(--ls-display);
}
.d-footer__cols { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px; }
.d-footer__col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.d-footer__col--brand { width: 34%; gap: 14px; }
.d-footer__col--nav { width: 18%; }
.d-footer__col--contact, .d-footer__col--social { width: 20%; }
.d-footer__claim {
	margin: 0;
	padding-right: 15px;
	color: var(--c-sand);
	font: 500 20px/1.25 var(--f-body);
}
.d-footer__title {
	margin: 0;
	color: var(--c-gold);
	font: 700 11px/1 var(--f-body);
	letter-spacing: 2.2px;
	text-transform: uppercase;
}
.d-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.d-footer__menu li + li { margin-top: 2px; }
.d-footer__menu a {
	display: block;
	padding: 6px 0;
	color: var(--c-cream) !important; /* footer `a{color:#F7F1E7!important}` beats the menu colour */
	font: 600 13px/20px var(--f-body);
	letter-spacing: 2.2px;
	text-transform: uppercase;
}
.d-footer__menu a:hover { color: var(--c-gold) !important; }

.d-footer__text, .d-footer__text p { color: var(--c-sand-4); font: 400 14px/1.55 var(--f-body); }
.d-footer__text { margin: 0; }
.d-footer__cta { display: flex; }
.d-footer__cta .d-btn { color: var(--c-cream); }
.d-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
	padding-top: 20px;
	border-top: 1px solid var(--c-white-07);
	color: var(--c-taupe);
	font: 400 12px/1.55 var(--f-body);
}
.d-footer__bottom p { margin: 0; }
.d-footer__sep { margin: 0 6px; }
.d-footer__cookies, .d-footer__privacy { color: inherit; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.d-footer__cookies:hover, .d-footer__privacy:hover { color: var(--c-gold); }
.d-footer__tagline { text-align: right; }
.d-lang--footer { font-size: 10px; }
.d-lang--footer .d-lang__item { padding: 2px 6px; }

@media (max-width: 1024px) {
	.d-footer__shell { gap: 42px; }
	.d-footer__cols { flex-wrap: nowrap; }
	.d-footer__col { width: 50%; }
	.d-footer__claim { font-size: 16px; }
	.d-footer__menu a { padding: 0; }
}
@media (max-width: 767px) {
	.d-footer__shell { padding: 52px 0 24px; }
	.d-footer__cols { flex-wrap: wrap; }
	.d-footer__col { width: 100%; }
	.d-footer__col--nav { display: none; }
	.d-footer__claim { font-size: 18px; }
}
