/*
 * Header, mega menus, mobile drawer, and footer. Ported from the Astro
 * Header.astro / Footer.astro, retokenized onto theme.json variables.
 */

/* ------------------------------------------------------------------ Header */
.gow-header {
	position: sticky;
	top: 0;
	z-index: 100;
	width: 100%;
	background: color-mix(in srgb, var(--wp--preset--color--base) 75%, transparent);
	backdrop-filter: saturate(1.4) blur(14px);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	border-bottom: 1px solid transparent;
	transition: background-color 240ms ease, border-color 240ms ease;
}

.gow-header.is-scrolled {
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	border-bottom-color: rgba(43, 42, 51, 0.08);
}

.gow-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: var(--wp--custom--header--height, 72px);
	padding-block: 14px;
	padding-inline: clamp(16px, 3vw, 40px);
	max-width: none;
}

.gow-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: 1.2rem;
	letter-spacing: -0.01em;
	flex-shrink: 0;
}

.gow-brand__mark,
.gow-brand__logo,
.gow-brand .custom-logo {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	flex-shrink: 0;
	object-fit: cover;
	display: block;
}

.gow-brand__mark {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 0.95rem;
}

.gow-header__menu {
	display: flex;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gow-header__menu a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border-radius: var(--wp--custom--radius--pill, 999px);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 180ms ease;
}

.gow-header__menu a:hover,
.gow-header__menu .is-open > a {
	background: var(--wp--preset--color--primary);
}

.gow-header__menu .has-mega > a::after {
	content: "";
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.7;
	transition: transform 200ms ease;
}

.gow-header__menu .is-open.has-mega > a::after {
	transform: translateY(1px) rotate(225deg);
}

.gow-header__utility {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	margin-left: auto;
}

.gow-header__search {
	display: flex;
	align-items: center;
	gap: 4px;
	position: relative;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill, 999px);
	padding: 4px 4px 4px 16px;
	transition: border-color 160ms ease;
}

.gow-header__search:focus-within {
	border-color: var(--wp--preset--color--contrast-2);
}

.gow-header__search input {
	border: none;
	outline: none;
	background: transparent;
	font: inherit;
	font-size: 0.9rem;
	padding: 6px 0;
	min-width: 170px;
}

.gow-header__search button {
	background: transparent;
	border: none;
	color: var(--wp--preset--color--contrast-2);
	cursor: pointer;
	padding: 6px;
	border-radius: 50%;
	display: inline-flex;
}

/* Autocomplete suggestions dropdown (combobox listbox popup). */
.gow-search-suggest {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--card, 16px);
	box-shadow: var(--wp--custom--shadow--raised, 0 8px 28px rgba(0, 0, 0, 0.16));
	z-index: 120;
	max-height: min(60vh, 420px);
	overflow-y: auto;
}

.gow-search-suggest[hidden] {
	display: none;
}

.gow-search-suggest__item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 12px;
	border-radius: var(--wp--custom--radius--pill, 999px);
	cursor: pointer;
	color: var(--wp--preset--color--contrast);
}

.gow-search-suggest__item:hover,
.gow-search-suggest__item[aria-selected="true"] {
	background: var(--wp--preset--color--muted);
}

.gow-search-suggest__title {
	font-size: 0.92rem;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gow-search-suggest__price {
	font-size: 0.85rem;
	font-weight: 700;
	white-space: nowrap;
	color: var(--wp--preset--color--contrast);
}

.gow-search-suggest__type {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wp--preset--color--contrast-2);
}

.gow-socials {
	display: flex;
	align-items: center;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gow-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	color: inherit;
	transition: background-color 160ms ease;
}

.gow-socials a:hover {
	background: rgba(43, 42, 51, 0.06);
}

/* Align the brand glyph and the rightmost social icon with the page edge. */
@media (min-width: 1100px) {
	.gow-brand {
		margin-left: -12px;
	}

	.gow-header__utility > .gow-header__socials {
		margin-right: -8px;
	}
}

.gow-header__toggle {
	display: none;
	background: transparent;
	border: none;
	color: inherit;
	cursor: pointer;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	padding: 8px;
	align-items: center;
	justify-content: center;
}

/* ----------------------------------------------------------- Mega panels */
.gow-header__mega-wrapper {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	pointer-events: none;
}

.gow-mega-panel {
	position: absolute;
	top: 8px;
	left: 0;
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--panel, 24px);
	box-shadow: var(--wp--custom--shadow--raised);
	padding: clamp(20px, 2.5vw, 32px);
	width: max-content;
	max-width: calc(100vw - 32px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	pointer-events: none;
	z-index: 110;
}

.gow-mega-panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

.gow-mega-destinations__grid,
.gow-mega-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 40px;
	min-width: min(640px, 78vw);
}

@media (max-width: 720px) {
	.gow-mega-destinations__grid,
	.gow-mega-columns {
		grid-template-columns: 1fr;
	}
}

.gow-mega-continent__title,
.gow-mega-link-list__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 18px;
}

.gow-mega-link-list__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Country links sit in a dense 2-column grid (mirrors the Astro flag grid). */
.gow-mega-continent__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 18px;
}

.gow-mega-country a,
.gow-mega-link-list__item a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
	font-size: 0.95rem;
}

.gow-mega-country a:hover,
.gow-mega-link-list__item a:hover {
	color: var(--wp--preset--color--contrast-2);
}

.gow-mega-link-list__via {
	color: var(--wp--preset--color--contrast-2);
	font-size: 0.8rem;
}

.gow-mega-continent__more,
.gow-mega-link-list__more,
.gow-mega-destinations__more {
	display: inline-block;
	margin-top: 12px;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast-2);
	text-decoration: none;
}

/* --------------------------------------------------------- Mobile drawer */
.gow-mobile-drawer[hidden] {
	display: none;
}

.gow-mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
}

.gow-mobile-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(43, 42, 51, 0.4);
}

.gow-mobile-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	/* Above the full-viewport backdrop sibling — without this, the backdrop
	   paints on top (DOM order) and eats every tap on the menu. */
	z-index: 1;
	height: 100%;
	width: min(360px, 85vw);
	background: var(--wp--preset--color--base);
	box-shadow: var(--wp--custom--shadow--raised);
	padding: 24px;
	overflow-y: auto;
}

.gow-mobile-drawer__close {
	background: transparent;
	border: none;
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	color: inherit;
	margin-bottom: 16px;
}

.gow-mobile-drawer__menu,
.gow-mobile-drawer__menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.gow-mobile-drawer__menu a {
	display: block;
	padding: 12px 8px;
	text-decoration: none;
	color: inherit;
	font-weight: 600;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* Accordion: items with a mega panel get a link + chevron row, then a
   collapsible sub-panel that reuses the desktop mega-panel content. */
.gow-mobile-drawer__menu li.has-mega {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.gow-mobile-drawer__menu li.has-mega > a {
	flex: 1;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.gow-mobile-drawer__expand {
	flex: 0 0 auto;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--wp--preset--color--border);
	align-self: stretch;
	padding: 0 12px;
	cursor: pointer;
	color: inherit;
	display: inline-flex;
	align-items: center;
}

.gow-mobile-drawer__expand svg {
	transition: transform 160ms ease;
}

.gow-mobile-drawer__expand[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.gow-mobile-drawer__sub {
	flex-basis: 100%;
	padding: 4px 8px 12px 16px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* Compact the mega blocks for the narrow drawer column. */
.gow-mobile-drawer__sub .gow-mega-destinations__grid,
.gow-mobile-drawer__sub .gow-mega-columns {
	display: block;
	min-width: 0;
	width: 100%;
}

.gow-mobile-drawer__sub .gow-mega-continent,
.gow-mobile-drawer__sub .gow-mega-link-list {
	margin: 10px 0 0;
	min-width: 0;
}

.gow-mobile-drawer__sub a {
	font-weight: 500;
	font-size: 0.95rem;
	padding: 8px 0;
	border-bottom: none;
}

.gow-mobile-drawer__socials {
	margin-top: 24px;
}

@media (max-width: 1099px) {
	.gow-header__nav,
	.gow-header__utility,
	.gow-header__mega-wrapper {
		display: none;
	}

	.gow-header__toggle {
		display: inline-flex;
		margin-left: auto;
	}
}

/* ------------------------------------------------------------------ Footer */
.gow-footer {
	margin-top: var(--wp--preset--spacing--xl);
	position: relative;
}

.gow-footer__wave {
	display: block;
	width: 100%;
	height: clamp(80px, 10vw, 140px);
	margin-bottom: -1px;
}

.gow-footer__body {
	background: var(--wp--preset--color--footer);
	padding-block: var(--wp--preset--spacing--l) var(--wp--preset--spacing--m);
}

.gow-footer__container {
	position: relative;
}

.gow-footer__ig-slot {
	position: absolute;
	top: 0;
	right: 0;
	transform: translateY(clamp(-260px, -18vw, -180px));
	z-index: 3;
}

/* Blobby Instagram card — a photo with an overlay (mirrors the Astro SocialCta). */
.gow-footer__ig {
	display: block;
	position: relative;
	width: clamp(240px, 24vw, 320px);
	aspect-ratio: 14 / 15;
	border-radius: 46% 68% 38% 54% / 48% 60% 42% 58%;
	overflow: hidden;
	text-decoration: none;
	box-shadow: var(--wp--custom--shadow--raised);
	transition: transform 240ms ease;
}

.gow-footer__ig:hover {
	transform: scale(1.02);
}

.gow-footer__ig-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gow-footer__ig-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 clamp(20px, 8%, 36px);
	color: var(--wp--preset--color--surface);
	background: linear-gradient(180deg, rgba(43, 42, 51, 0) 0%, rgba(43, 42, 51, 0.42) 28%, rgba(43, 42, 51, 0.42) 72%, rgba(43, 42, 51, 0) 100%);
	font-weight: 600;
	font-size: 0.9rem;
	line-height: 1.35;
}

.gow-footer__ig-mark {
	display: inline-flex;
	flex-shrink: 0;
}

/* Image-less fallback: a soft gradient blob. */
.gow-footer__ig--plain {
	background: linear-gradient(135deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--primary) 55%, var(--wp--preset--color--accent) 100%);
}

.gow-footer__ig-count {
	font-weight: 500;
	font-size: 0.85em;
	opacity: 0.9;
}

.gow-footer__ig--plain .gow-footer__ig-overlay {
	flex-direction: column;
	justify-content: center;
	text-align: center;
	background: none;
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 1000px) {
	.gow-footer__ig-slot {
		position: static;
		transform: none;
		margin: -40px auto 24px;
		width: max-content;
	}
}

.gow-footer__top {
	margin-bottom: var(--wp--preset--spacing--l);
}

/* Optional composable mega-footer region (a "footer" gow_area of blocks). */
.gow-footer__mega {
	margin-bottom: var(--wp--preset--spacing--l);
	padding-bottom: var(--wp--preset--spacing--m);
	/* Divider tuned to the light footer (was a leftover white-alpha rule from a
	   dark-footer design, invisible on this background). */
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
}

.gow-footer__mega > * {
	margin-top: 0;
}

.gow-newsletter {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 600px;
}

.gow-newsletter.is-sidebar,
.gow-newsletter.is-links {
	max-width: none;
	gap: 14px;
}

/* Under-construction / coming-soon page. */
.gow-uc {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background:
		radial-gradient(circle at 12% 22%, rgba(201, 228, 222, 0.45), transparent 38%),
		radial-gradient(circle at 88% 16%, rgba(245, 214, 198, 0.4), transparent 40%),
		radial-gradient(circle at 78% 84%, rgba(247, 231, 180, 0.35), transparent 42%);
}

.gow-uc__card {
	position: relative;
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--panel, 24px);
	box-shadow: var(--wp--custom--shadow--raised);
	max-width: 520px;
	width: 100%;
	padding: 44px 36px;
	text-align: center;
}

.gow-uc__lang {
	position: absolute;
	top: 16px;
	right: 16px;
}

.gow-uc__brand {
	display: inline-flex;
	margin-bottom: 18px;
}

.gow-uc__title {
	font-size: var(--wp--preset--font-size--xx-large);
	margin: 0 0 12px;
}

.gow-uc__body {
	color: var(--wp--preset--color--contrast-2);
	margin: 0 0 24px;
	line-height: 1.55;
}

.gow-uc__actions {
	margin: 4px 0 8px;
	display: flex;
	justify-content: center;
}

.gow-uc__cta {
	font-size: var(--wp--preset--font-size--medium, 1rem);
	padding: 13px 26px;
}

.gow-uc__card .gow-newsletter {
	max-width: none;
	text-align: left;
}

.gow-uc__socials {
	margin-top: 24px;
	display: flex;
	justify-content: center;
}

/* Newsletter double-opt-in confirmation screens (chrome-light, centered). */
.gow-confirm {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background:
		radial-gradient(circle at 15% 20%, rgba(201, 228, 222, 0.4), transparent 38%),
		radial-gradient(circle at 85% 18%, rgba(245, 214, 198, 0.35), transparent 40%);
}

.gow-confirm__card {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--panel, 24px);
	box-shadow: var(--wp--custom--shadow--raised);
	max-width: 460px;
	width: 100%;
	padding: 40px 32px;
	text-align: center;
}

.gow-confirm__icon {
	display: inline-flex;
	color: var(--wp--preset--color--contrast-2);
	margin-bottom: 12px;
}

.gow-confirm__title {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0 0 10px;
}

.gow-confirm__body {
	color: var(--wp--preset--color--contrast-2);
	margin: 0 0 24px;
	line-height: 1.55;
}

.gow-newsletter.is-sidebar .gow-newsletter__title,
.gow-newsletter.is-links .gow-newsletter__title {
	font-size: var(--wp--custom--heading--h5);
}

.gow-newsletter.is-sidebar .gow-newsletter__fields,
.gow-newsletter.is-links .gow-newsletter__fields {
	max-width: none;
}

.gow-newsletter__consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 0.8rem;
	line-height: 1.45;
	color: var(--wp--preset--color--contrast-2);
	cursor: pointer;
}

.gow-newsletter__consent input {
	margin-top: 3px;
	flex-shrink: 0;
}

.gow-newsletter__consent a {
	color: inherit;
	text-underline-offset: 0.15em;
}

.gow-newsletter__copy {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gow-newsletter__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 3.4vw, 3rem);
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.gow-newsletter__body {
	margin: 0;
	color: var(--wp--preset--color--contrast-2);
	font-size: 1rem;
	line-height: 1.5;
}

.gow-newsletter__fields {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	max-width: 520px;
}

.gow-newsletter__fields input[type="email"] {
	flex: 1 1 240px;
	min-width: 0;
	border: none;
	outline: none;
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--pill, 999px);
	padding: 14px 24px;
	font: inherit;
	font-size: 1rem;
}

.gow-newsletter__fields .gow-button {
	padding: 14px 32px;
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
}

.gow-newsletter__fields .gow-button:hover {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 82%, #000);
	color: var(--wp--preset--color--contrast);
}

.gow-newsletter__status:empty {
	display: none;
}

.gow-footer__columns {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
	gap: 32px clamp(16px, 2vw, 32px);
	padding-block: var(--wp--preset--spacing--m);
	border-top: 1px solid rgba(43, 42, 51, 0.08);
}

@media (max-width: 1100px) {
	.gow-footer__columns {
		grid-template-columns: repeat(2, 1fr);
	}

	.gow-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 520px) {
	.gow-footer__columns {
		grid-template-columns: 1fr;
	}
}

.gow-footer__col h3,
.gow-footer__col .gow-footer__col-title {
	margin: 0 0 18px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}

.gow-footer__col-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gow-footer__col-list a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-size: 0.95rem;
	font-weight: 500;
}

.gow-footer__col-list a:hover {
	color: var(--wp--preset--color--contrast-2);
	text-decoration: underline;
}

.gow-footer__email {
	margin: 0 0 12px;
	font-size: 0.95rem;
}

.gow-footer__email a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
}

.gow-footer__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-self: end;
	align-self: end;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.1rem;
}

.gow-footer__brand .gow-brand__mark,
.gow-footer__brand .gow-brand__logo,
.gow-footer__brand .custom-logo {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	object-fit: cover;
	font-size: 1.1rem;
}

.gow-footer__bottom {
	padding-top: var(--wp--preset--spacing--s);
	border-top: 1px solid rgba(43, 42, 51, 0.08);
}

.gow-footer__copyright {
	margin: 0;
	font-size: 0.85rem;
	color: var(--wp--preset--color--contrast-2);
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
}

.gow-footer__copyright a {
	color: inherit;
	text-decoration: none;
}

.gow-footer__copyright a:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.gow-footer__legal {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gow-footer__legal li::before {
	content: "·";
	margin-right: 4px;
	color: var(--wp--preset--color--contrast-2);
}

.gow-footer__legal a {
	color: inherit;
}

/* ── Language switcher (header + mobile drawer) ───────────────────────── */
.lang-switcher {
	position: relative;
}

.lang-switcher__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: transparent;
	border: 1px solid var(--wp--preset--color--border, rgba(43, 42, 51, 0.15));
	border-radius: var(--wp--custom--radius--pill, 999px);
	padding: 8px 14px;
	font: inherit;
	font-weight: 600;
	font-size: 0.85rem;
	color: inherit;
	cursor: pointer;
	line-height: 1;
}

.lang-switcher__toggle:hover {
	border-color: var(--wp--preset--color--contrast-2, #5b5967);
}

.lang-switcher__flag {
	font-size: 1em;
	line-height: 1;
}

.lang-switcher__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 180px;
	background: var(--wp--preset--color--surface, #fff);
	color: var(--wp--preset--color--contrast, #2b2a33);
	border-radius: 16px;
	box-shadow: var(--wp--custom--shadow--raised, 0 14px 36px rgba(43, 42, 51, 0.16));
	padding: 8px;
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	z-index: 110;
}

.lang-switcher[data-open] .lang-switcher__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.lang-switcher__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	font-size: 0.95rem;
	font-weight: 500;
}

.lang-switcher__item:hover {
	background: var(--wp--preset--color--base, #fdfbf7);
}

.lang-switcher__item.is-current {
	background: var(--wp--preset--color--muted, #e8e4f3);
}

/* Drawer variant: full-width, open below, lighter border on the dark panel. */
.lang-switcher--drawer {
	margin: 12px 0;
}

.lang-switcher--drawer .lang-switcher__toggle {
	border-color: rgba(253, 251, 247, 0.2);
}

.lang-switcher--drawer .lang-switcher__menu {
	right: auto;
	left: 0;
}

@media (prefers-reduced-motion: reduce) {
	.lang-switcher__menu {
		transition: none;
	}
}
