/**
 * Sakura — шапка, сбросы. Шрифт: Montserrat (подключается в functions.php, Google Fonts, кириллица).
 */

/* Липкая шапка */
.sakura-header-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 12px rgba(22, 18, 19, 0.08);
}

/* Логотип — нормальный размер (блок задаёт max-width; высота ограничена пропорционально) */
.sakura-header-sticky .sakura-header-logo .custom-logo-link,
.sakura-header-sticky .wp-block-site-logo .custom-logo-link {
	display: block;
	line-height: 0;
}

.sakura-header-sticky .sakura-header-logo img,
.sakura-header-sticky .sakura-header-logo .custom-logo,
.sakura-header-sticky .wp-block-site-logo.sakura-header-logo img {
	height: auto;
	max-height: 100px;
	width: auto;
	max-width: 280px;
	object-fit: contain;
}

@media (min-width: 782px) {
	.sakura-header-sticky .sakura-header-logo img,
	.sakura-header-sticky .wp-block-site-logo.sakura-header-logo img {
		max-height: 128px;
		max-width: 360px;
	}
}

/* Логотип сверху, слоган строкой под ним */
.sakura-header-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	max-width: min(100%, 22rem);
}

.sakura-header-tagline {
	margin: 0;
	max-width: 100%;
	font-size: 0.9375rem;
	line-height: 1.4;
}

/* Основное меню (wp_nav_menu) — те же визуальные параметры, что у блока Navigation: small, gap 40, off-white */
.sakura-header-nav-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}

.sakura-header-sticky .sakura-header-nav.sakura-nav {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

/* Кнопка как у .wp-block-navigation__responsive-container-open (без «коробки») */
.sakura-header-sticky .sakura-header-nav .sakura-nav__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	min-width: 2.5rem;
	min-height: 2.5rem;
	border: none;
	background: transparent;
	color: var(--wp--preset--color--off-white, #fcf8f9);
	cursor: pointer;
	text-transform: inherit;
	vertical-align: middle;
}

.sakura-header-sticky .sakura-header-nav .sakura-nav__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--off-white, #fcf8f9);
	outline-offset: 2px;
}

.sakura-header-sticky .sakura-header-nav .sakura-nav__toggle-bars {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 1.5rem;
}

.sakura-header-sticky .sakura-header-nav .sakura-nav__toggle-bar {
	display: block;
	height: 1.5px;
	background: currentColor;
	border-radius: 1px;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.sakura-header-sticky .sakura-header-nav.sakura-nav.is-open .sakura-nav__toggle-bar:nth-child(1) {
	transform: translateY(6.5px) rotate(45deg);
}

.sakura-header-sticky .sakura-header-nav.sakura-nav.is-open .sakura-nav__toggle-bar:nth-child(2) {
	opacity: 0;
}

.sakura-header-sticky .sakura-header-nav.sakura-nav.is-open .sakura-nav__toggle-bar:nth-child(3) {
	transform: translateY(-6.5px) rotate(-45deg);
}

.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--wp--preset--spacing--40);
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--montserrat, "Montserrat", sans-serif);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.4;
	color: var(--wp--preset--color--off-white, #fcf8f9);
}

.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list a {
	display: block;
	padding: 0.25rem 0;
	color: inherit;
	text-decoration: none;
}

.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list a:hover,
.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list a:focus-visible {
	opacity: 0.9;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0.25rem 0 0;
	min-width: 11rem;
}

@media (min-width: 600px) {
	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list > li {
		position: relative;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list > li > .sub-menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: auto;
		padding: 0.4rem 0.65rem;
		background: rgba(22, 18, 19, 0.2);
		border-radius: 4px;
		z-index: 120;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list > li:hover > .sub-menu,
	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list > li:focus-within > .sub-menu {
		display: block;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list .sub-menu a {
		padding: 0.3rem 0;
		font-size: var(--wp--preset--font-size--small, 0.875rem);
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list .sub-menu .sub-menu {
		top: 0;
		left: 100%;
		right: auto;
		padding-top: 0.2rem;
		margin-left: 0.15rem;
	}
}

/* Кабинет / корзина внутри панели — только мобильный оверлей (на десктопе блок в разметке скрыт) */
.sakura-header-sticky .sakura-header-nav .sakura-header-actions--drawer {
	display: none;
}

/* Мобильный оверлей — как у блока Navigation (светлый фон, тёмный текст) */
@media (max-width: 599px) {
	.sakura-header-sticky .sakura-header-nav .sakura-nav__toggle {
		display: inline-flex;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-nav__panel {
		display: none;
		position: fixed;
		inset: 0;
		z-index: 100001;
		padding: clamp(1rem, 4vw, 2rem);
		padding-top: calc(2.75rem + env(safe-area-inset-top, 0px));
		background-color: var(--wp--preset--color--off-white, #fcf8f9);
		color: var(--wp--preset--color--warm-black, #161213);
		overflow: auto;
	}

	.sakura-header-sticky .sakura-header-nav.sakura-nav.is-open .sakura-nav__panel {
		display: block;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		font-size: var(--wp--preset--font-size--small, 0.875rem);
		color: inherit;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list a {
		padding: 0.5rem 0;
		color: inherit;
	}

	.sakura-header-sticky .sakura-header-nav .sakura-main-nav__list .sub-menu {
		padding: 0 0 0.35rem 0.75rem;
		opacity: 0.95;
	}

	/* Кнопка поверх оверлея, чтобы закрыть меню (как «крестик» у блока Navigation) */
	.sakura-header-sticky .sakura-header-nav.sakura-nav.is-open .sakura-nav__toggle {
		position: fixed;
		top: max(0.75rem, env(safe-area-inset-top, 0px));
		right: max(0.75rem, env(safe-area-inset-right, 0px));
		z-index: 100002;
		color: var(--wp--preset--color--warm-black, #161213);
	}
}

html.sakura-nav-open {
	overflow: hidden;
}

/* Контактная строка: SVG-иконки вместо эмодзи */
.sakura-header-meta {
	margin-top: var(--wp--preset--spacing--30, 1rem);
	color: var(--wp--preset--color--off-white, #fcf8f9);
	font-size: 0.875rem;
	line-height: 1.5;
}

.sakura-header-meta__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
}

@media (min-width: 960px) {
	.sakura-header-meta {
		display: block;
	}
}

.sakura-header-meta__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.sakura-header-meta__icon {
	flex-shrink: 0;
	color: currentColor;
	opacity: 0.95;
}

.sakura-header-meta__sep {
	display: none;
}

@media (min-width: 600px) {
	.sakura-header-meta__sep {
		display: block;
		width: 1px;
		height: 1rem;
		background: rgba(252, 248, 249, 0.35);
		flex-shrink: 0;
	}
}

.sakura-accent-script {
	font-family: var(--wp--preset--font-family--montserrat, "Montserrat", sans-serif);
	font-weight: 500;
	font-style: italic;
}

.sakura-theme .wp-block-button__link {
	transition: background-color 0.2s ease, color 0.2s ease;
}

/* Сброс вертикального blockGap из глобальных стилей WP (flow / constrained / корневые блоки сайта) */
:root :where(.is-layout-flow) > *,
:root :where(.is-layout-constrained) > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}
