/**
 * Header — premium glass on scroll, larger logo, refined spacing.
 */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	background: #fffcfa;
	border-bottom: 1px solid transparent;
	transition:
		background 0.4s var(--tolin-ease),
		border-color 0.4s var(--tolin-ease),
		box-shadow 0.4s var(--tolin-ease),
		backdrop-filter 0.4s var(--tolin-ease);
}

/* Homepage header stays fixed always. Switching absolute↔sticky mid-scroll
   was resetting the page scroll after in-page nav (reviews/contact). */
.site-header--marketing {
	position: fixed;
	inset-inline: 0;
	top: 0;
	width: 100%;
}

.site-header--marketing:not(.is-scrolled) {
	/* Keep height stable — padding changes on scroll were shifting anchor targets. */
	padding-top: 0;
	background: linear-gradient(180deg, rgba(45, 40, 48, 0.5) 0%, rgba(45, 40, 48, 0.18) 65%, transparent 100%) !important;
	box-shadow: none !important;
	border-bottom-color: transparent !important;
	backdrop-filter: none !important;
}

/* Inner pages — always solid so content never shows through. */
.site-header--solid {
	position: sticky;
	background: #fffcfa;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom-color: rgba(216, 111, 142, 0.28);
	box-shadow: 0 10px 32px rgba(45, 40, 48, 0.07);
}

/* Offset for the WordPress admin bar (logged-in users). */
body.admin-bar .site-header {
	top: 32px;
}

body.admin-bar .site-header--marketing:not(.is-scrolled) {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .site-header,
	body.admin-bar .site-header--marketing:not(.is-scrolled) {
		top: 46px;
	}
}

/* On phones the admin bar scrolls away with the page (WP core makes it
   position: absolute), so the sticky header must not keep the offset. */
@media (max-width: 600px) {
	body.admin-bar .site-header,
	body.admin-bar .site-header--marketing:not(.is-scrolled) {
		top: 0;
	}
}

.site-header--marketing:not(.is-scrolled) .lang-switcher__link {
	color: rgba(255, 252, 250, 0.82);
}

.site-header--marketing:not(.is-scrolled) .lang-switcher__link:hover,
.site-header--marketing:not(.is-scrolled) .lang-switcher__link.is-active {
	color: var(--tolin-canvas);
	background: rgba(255, 252, 250, 0.16);
}

.site-header--marketing:not(.is-scrolled) .lang-switcher__sep {
	color: rgba(255, 252, 250, 0.35);
}

.site-header--marketing:not(.is-scrolled) .site-nav__list a {
	color: rgba(255, 252, 250, 0.94);
}

.site-header--marketing:not(.is-scrolled) .site-nav__list a::after {
	background: linear-gradient(90deg, transparent, #F7C4CE, transparent);
}

.site-header--marketing:not(.is-scrolled) .site-nav__list .current-menu-item > a,
.site-header--marketing:not(.is-scrolled) .site-nav__list .current_page_item > a {
	color: #F7C4CE;
}

.site-header--marketing:not(.is-scrolled) .site-nav__toggle-bar {
	background: var(--tolin-canvas);
}

.site-header--marketing.is-scrolled {
	background: rgba(255, 252, 250, 0.97);
	backdrop-filter: blur(22px) saturate(180%);
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	border-bottom-color: rgba(216, 111, 142, 0.35);
	box-shadow:
		0 12px 40px rgba(45, 40, 48, 0.08),
		0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: var(--tolin-header-h);
	gap: var(--space-3);
	padding-block: 6px;
}

.site-logo {
	display: flex;
	align-items: center;
	line-height: 0;
}

.site-logo__img,
.custom-logo-link img,
.custom-logo {
	display: block;
	height: 68px;
	width: auto;
	max-width: 200px;
	object-fit: contain;
	transition: height var(--tolin-duration) var(--tolin-ease), filter var(--tolin-duration) var(--tolin-ease);
}

.site-header--marketing.is-scrolled .site-logo__img,
.site-header--marketing.is-scrolled .custom-logo-link img,
.site-header--marketing.is-scrolled .custom-logo {
	height: 58px;
}

.site-logo--footer .site-logo__img {
	height: 72px;
	max-width: 200px;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.lang-switcher {
	display: flex;
	align-items: center;
	gap: 2px;
	font-size: 12px;
}

.lang-switcher__link {
	color: var(--tolin-ink-muted);
	font-weight: 600;
	padding: 7px 11px;
	border-radius: var(--tolin-radius-pill);
	transition: color var(--tolin-duration) ease, background var(--tolin-duration) ease;
}

.lang-switcher__link:hover {
	color: var(--tolin-rose);
}

.lang-switcher__link.is-active {
	color: var(--tolin-rose);
	font-weight: 700;
	background: var(--tolin-blush);
}

.lang-switcher__sep {
	display: none;
}

/* Keep anchored homepage content clear of the sticky header. */
#reviews,
#contact-form {
	scroll-margin-top: calc(var(--tolin-header-h) + 24px);
}
