/* Soler Core — site header, original Soler design language:
   transparent top row with green tab menu, green bookmark pinned top-right, green menu panel from the right,
   cream category drawer from the left. Every selector is scoped under .soler-hdr (specificity >= 0,2,0)
   so global Elementor kit styles for button/a can't leak in. */

.soler-hdr {
	--sh-green: var(--e-global-color-primary, #296640);
	--sh-green-deep: #1f4f31;
	--sh-cream: #fffdf8;
	--sh-sand: #f1efe7;
	--sh-card: #f7f7f5;
	--sh-ink: #1b1d1a;
	--sh-muted: #5d625b;
	--sh-line: rgba(41, 102, 64, 0.16);
	--sh-font: var(--e-global-typography-primary-font-family, "Lora"), Georgia, serif;
	--sh-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--sh-top-h: 70px;
	--sh-flow-h: 2vw; /* the homepage hero card is offset by -2vw, so this keeps it flush with the top at any width */
	--sh-bm-w: 70px;
	--sh-bm-right: 15px;
	--sh-admin: var(--wp-admin--admin-bar--height, 0px);

	font-family: var(--sh-font);
	color: var(--sh-ink);
}

html .soler-hdr *,
html .soler-hdr *::before,
html .soler-hdr *::after {
	box-sizing: border-box;
}

html .soler-hdr ul,
html .soler-hdr ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

html .soler-hdr p,
html .soler-hdr figure {
	margin: 0;
}

html .soler-hdr a {
	color: inherit;
	text-decoration: none;
}

html .soler-hdr button {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: none;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
	min-height: 0;
	cursor: pointer;
	white-space: normal;
}

html .soler-hdr button:hover,
html .soler-hdr button:focus,
html .soler-hdr button:active {
	background: none;
	color: inherit;
	border: 0;
	box-shadow: none;
}

.soler-hdr :focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.soler-hdr .soler-icon {
	flex: none;
	width: 22px;
	height: 22px;
}

/* ---------------------------------------------------------------------------
   Top row: logo + tab menu (transparent, scrolls with the page)
   ------------------------------------------------------------------------- */

.soler-hdr .soler-hdr__top {
	position: relative;
	z-index: 900;
	display: flex;
	align-items: flex-start;
	height: var(--sh-flow-h);
	padding: 0 calc(var(--sh-bm-w) + var(--sh-bm-right) + 24px) 0 15px;
}

.soler-hdr .soler-hdr__logo {
	display: inline-flex;
	margin-top: 15px;
}

.soler-hdr .soler-hdr__logo img {
	display: block;
	width: auto;
	height: 31px;
	max-width: none;
}

.soler-hdr .soler-mega {
	margin-left: clamp(32px, 8.5vw, 128px);
}

.soler-hdr .soler-mega__menu {
	display: flex;
	align-items: flex-start;
}

/* Tab: a green "bookmark" drops from the top edge on hover/open, like the original active tab. */
html .soler-hdr .soler-mega__toggle {
	position: relative;
	z-index: 0;
	display: inline-flex;
	align-items: flex-end;
	height: 52px;
	padding: 0 16px 13px;
	color: var(--sh-green);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	transition: color 0.3s var(--sh-ease);
}

.soler-hdr .soler-mega__toggle::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--sh-green);
	border-radius: 0 0 8px 8px;
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.38s var(--sh-ease);
}

html .soler-hdr .soler-mega__item:hover .soler-mega__toggle,
html .soler-hdr .soler-mega__item.is-open .soler-mega__toggle {
	color: var(--sh-cream);
}

.soler-hdr .soler-mega__item:hover .soler-mega__toggle::before,
.soler-hdr .soler-mega__item.is-open .soler-mega__toggle::before {
	transform: scaleY(1);
}

.soler-hdr .soler-mega__item.is-current .soler-mega__toggle::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 8px;
	height: 1px;
	background: currentColor;
}

/* ---------------------------------------------------------------------------
   Mega panel: a rounded card that unfolds downwards from the tab row
   ------------------------------------------------------------------------- */

.soler-hdr .soler-mega__panel {
	position: absolute;
	top: 58px;
	left: 15px;
	right: calc(var(--sh-bm-w) + var(--sh-bm-right) + 15px);
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0s linear 0.45s;
}

.soler-hdr .soler-mega__item.is-open .soler-mega__panel {
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.soler-hdr .soler-mega__card {
	display: grid;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(200px, 260px);
	gap: clamp(28px, 3.5vw, 56px);
	max-height: calc(100vh - var(--sh-top-h) - var(--sh-admin) - 24px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(28px, 3vw, 44px);
	background: var(--sh-card);
	border-radius: 20px;
	box-shadow: 0 1px 0 rgba(41, 102, 64, 0.06), 0 28px 70px -28px rgba(31, 79, 49, 0.38);
	clip-path: inset(0 0 100% 0 round 20px);
	opacity: 0;
	transition: clip-path 0.55s var(--sh-ease), opacity 0.3s ease;
}

.soler-hdr .soler-mega__item.is-open .soler-mega__card {
	clip-path: inset(0 0 0 0 round 20px);
	opacity: 1;
}

.soler-hdr .soler-mega__count {
	color: var(--sh-green);
	font-size: 13px;
	letter-spacing: 0.14em;
}

.soler-hdr .soler-mega__count span {
	color: var(--sh-muted);
}

.soler-hdr .soler-mega__title {
	margin: 18px 0 14px;
	color: var(--sh-green);
	font-size: clamp(34px, 3.2vw, 46px);
	font-weight: 400;
	line-height: 1.05;
}

.soler-hdr .soler-mega__text {
	max-width: 30ch;
	color: var(--sh-muted);
	font-size: 15px;
	line-height: 1.6;
}

.soler-hdr .soler-mega__all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	color: var(--sh-green);
	font-size: 15px;
}

.soler-hdr .soler-mega__all .soler-icon,
.soler-hdr .soler-cats__all .soler-icon {
	width: 18px;
	height: 18px;
	transition: transform 0.35s var(--sh-ease);
}

.soler-hdr .soler-mega__all:hover .soler-icon,
.soler-hdr .soler-cats__all:hover .soler-icon {
	transform: translateX(5px);
}

.soler-hdr .soler-mega__links {
	padding-top: 6px;
}

.soler-hdr .soler-mega__flat {
	columns: 2;
	column-gap: clamp(24px, 3vw, 48px);
}

.soler-hdr .soler-mega__flat > li {
	break-inside: avoid;
}

.soler-hdr .soler-mega__links a {
	display: inline-block;
	padding: 6px 0;
	color: var(--sh-ink);
	font-size: 16px;
	line-height: 1.35;
	background: linear-gradient(currentColor, currentColor) no-repeat 0 calc(100% - 3px) / 0 1px;
	transition: color 0.25s ease, background-size 0.35s var(--sh-ease);
}

.soler-hdr .soler-mega__links a:hover {
	color: var(--sh-green);
	background-size: 100% 1px;
}

.soler-hdr .soler-mega__sub {
	margin: 0 0 8px 1px;
	padding-left: 14px;
	border-left: 1px solid var(--sh-line);
}

.soler-hdr .soler-mega__links .soler-mega__sub a {
	padding: 4px 0;
	color: var(--sh-muted);
	font-size: 14.5px;
}

.soler-hdr .soler-mega__links.is-grouped {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 26px clamp(24px, 3vw, 44px);
	align-content: start;
}

.soler-hdr .soler-mega__group.is-long {
	grid-column: span 2;
}

.soler-hdr .soler-mega__group.is-long ul {
	columns: 2;
	column-gap: clamp(24px, 3vw, 44px);
}

.soler-hdr .soler-mega__links .soler-mega__group-title {
	display: block;
	margin-bottom: 8px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--sh-line);
	color: var(--sh-green);
	font-size: 12.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: none;
}

.soler-hdr .soler-mega__links .soler-mega__group-title:hover {
	color: var(--sh-green-deep);
}

/* Staggered entrance of the links once the card has started to unfold. */
.soler-hdr .soler-mega__links [style*="--i"] {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.4s ease, transform 0.5s var(--sh-ease);
}

.soler-hdr .soler-mega__item.is-open .soler-mega__links [style*="--i"] {
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--i) * 22ms + 140ms);
}

.soler-hdr .soler-mega__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	max-height: 380px;
	border-radius: 14px;
	background: var(--sh-sand);
}

/* Photos are stacked; hovering a category crossfades to its photo. */
.soler-hdr .soler-mega__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.08);
	transition: opacity 0.6s ease, transform 1.4s var(--sh-ease);
}

.soler-hdr .soler-mega__media img.is-active {
	opacity: 1;
}

.soler-hdr .soler-mega__item.is-open .soler-mega__media img.is-active {
	transform: none;
}

.soler-hdr .soler-mega__caption {
	position: absolute;
	left: 14px;
	bottom: 14px;
	max-width: calc(100% - 28px);
	padding: 7px 14px;
	background: rgba(255, 253, 248, 0.94);
	color: var(--sh-green);
	font-size: 13.5px;
	line-height: 1.3;
	border-radius: 999px;
}

.soler-hdr .soler-mega__caption span {
	display: block;
	animation: soler-caption-in 0.45s var(--sh-ease);
}

@keyframes soler-caption-in {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------------------
   Bookmark (pinned top-right): menu, search, cart
   ------------------------------------------------------------------------- */

.soler-hdr .soler-bm {
	position: fixed;
	top: var(--sh-admin);
	right: var(--sh-bm-right);
	z-index: 1003;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	width: var(--sh-bm-w);
	padding: 12px 0 14px;
	background: var(--sh-green);
	color: var(--sh-cream);
	border-radius: 0 0 10px 10px;
	transition: border-radius 0.4s var(--sh-ease);
}

.soler-hdr.is-menu-open .soler-bm {
	border-radius: 0;
}

html .soler-hdr .soler-bm__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	color: var(--sh-cream);
	transition: opacity 0.25s ease, transform 0.35s var(--sh-ease);
}

html .soler-hdr .soler-bm__btn:hover {
	color: var(--sh-cream);
	transform: scale(1.08);
}

.soler-hdr .soler-bm__btn .soler-icon {
	width: 32px;
	height: 32px;
}

.soler-hdr.is-menu-open .soler-bm__btn {
	opacity: 0;
	pointer-events: none;
}

.soler-hdr .soler-cart-count {
	position: absolute;
	top: 7px;
	right: 4px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	background: var(--sh-cream);
	color: var(--sh-green);
	font-family: system-ui, sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
	border-radius: 9px;
}

.soler-hdr .soler-cart-count[data-count="0"] {
	display: none;
}

/* Hamburger: the three thin lines fold into the middle, then rotate into an X (and back). */
html .soler-hdr .soler-burger {
	position: relative;
	width: 52px;
	height: 52px;
	color: var(--sh-cream);
}

.soler-hdr .soler-burger span {
	position: absolute;
	left: 10px;
	width: 32px;
	height: 1.5px;
	background: currentColor;
	border-radius: 1px;
	transition: top 0.2s var(--sh-ease) 0.2s, transform 0.2s var(--sh-ease) 0s, opacity 0.12s ease 0.2s;
}

.soler-hdr .soler-burger span:nth-child(1) { top: 16px; }
.soler-hdr .soler-burger span:nth-child(2) { top: 25px; }
.soler-hdr .soler-burger span:nth-child(3) { top: 34px; }

/* Idle: the lines breathe in a slow staggered wave so the menu always feels alive. */
.soler-hdr .soler-burger[aria-expanded="false"] span {
	transform-origin: right center;
	animation: soler-burger-idle 2.8s var(--sh-ease) infinite;
}

.soler-hdr .soler-burger[aria-expanded="false"] span:nth-child(2) { animation-delay: 0.22s; }
.soler-hdr .soler-burger[aria-expanded="false"] span:nth-child(3) { animation-delay: 0.44s; }

.soler-hdr .soler-burger[aria-expanded="false"]:hover span {
	animation-duration: 1.1s;
}

@keyframes soler-burger-idle {
	0%, 100% { transform: scaleX(1); }
	50% { transform: scaleX(0.5); }
}

.soler-hdr .soler-burger[aria-expanded="true"] span {
	transition: top 0.2s var(--sh-ease) 0s, transform 0.28s var(--sh-ease) 0.2s, opacity 0.12s ease 0.12s;
}

.soler-hdr .soler-burger[aria-expanded="true"] span:nth-child(1) {
	top: 25px;
	transform: rotate(45deg);
}

.soler-hdr .soler-burger[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

.soler-hdr .soler-burger[aria-expanded="true"] span:nth-child(3) {
	top: 25px;
	transform: rotate(-45deg);
}

/* ---------------------------------------------------------------------------
   Menu panel (green, from the right)
   ------------------------------------------------------------------------- */

.soler-hdr .soler-menu {
	position: fixed;
	top: var(--sh-admin);
	right: 0;
	bottom: 0;
	z-index: 1002;
	width: min(560px, 44vw);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--sh-green);
	color: var(--sh-cream);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform 0.7s var(--sh-ease), visibility 0s linear 0.7s;
}

.soler-hdr .soler-menu:focus {
	outline: none;
}

.soler-hdr.is-menu-open .soler-menu {
	transform: none;
	visibility: visible;
	transition-delay: 0s;
}

.soler-hdr .soler-menu__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: clamp(72px, 12vh, 130px) clamp(28px, 4.5vw, 72px) clamp(20px, 3.5vh, 36px);
}

.soler-hdr .soler-menu__nav a {
	display: inline-flex;
	align-items: baseline;
	gap: 18px;
	padding: clamp(1px, 0.5vh, 5px) 0;
}

.soler-hdr .soler-menu__num {
	min-width: 2ch;
	font-size: 13px;
	letter-spacing: 0.12em;
	opacity: 0.55;
}

.soler-hdr .soler-menu__label {
	position: relative;
	padding: 0 12px;
	margin-left: -12px;
	font-size: clamp(26px, min(2.9vw, 5vh), 40px);
	line-height: 1.2;
	transition: transform 0.45s var(--sh-ease), background-size 0.5s var(--sh-ease), background-color 0.3s ease, color 0.3s ease;
}

/* Links in the green panel stay cream in every state (the Elementor kit would turn them green = invisible). */
html .soler-hdr .soler-menu a,
html .soler-hdr .soler-menu a:hover,
html .soler-hdr .soler-menu a:focus {
	color: var(--sh-cream);
}

/* Hover: the label slides and a hand-drawn cream line runs under it, as in the mega menu. */
.soler-hdr .soler-menu__label {
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 12px calc(100% - 2px);
	background-size: 0 1.5px;
}

.soler-hdr .soler-menu__nav a:hover .soler-menu__label,
.soler-hdr .soler-menu__nav a:focus-visible .soler-menu__label {
	transform: translateX(10px);
	background-size: calc(100% - 24px) 1.5px;
}

html .soler-hdr .soler-menu__nav .is-current a .soler-menu__label {
	background-color: var(--sh-sand);
	color: var(--sh-green);
}

.soler-hdr .soler-menu__photos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin: clamp(18px, 4.5vh, 48px) 0 clamp(18px, 4vh, 36px);
}

.soler-hdr .soler-menu__photos img {
	display: block;
	width: 100%;
	height: clamp(64px, 14vh, 130px);
	object-fit: cover;
	border-radius: 10px;
}

.soler-hdr .soler-menu__foot {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-top: auto;
	padding-top: clamp(14px, 2.5vh, 24px);
	border-top: 1px solid rgba(255, 253, 248, 0.22);
	font-size: 14.5px;
	line-height: 1.45;
}

.soler-hdr .soler-menu__contact li {
	display: flex;
	gap: 12px;
	padding: 3px 0;
}

.soler-hdr .soler-menu__contact .soler-icon,
.soler-hdr .soler-menu__account .soler-icon {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	opacity: 0.8;
}

.soler-hdr .soler-menu__contact a,
.soler-hdr .soler-menu__account {
	text-decoration: underline;
	text-decoration-color: rgba(255, 253, 248, 0.4);
	text-underline-offset: 4px;
	transition: text-decoration-color 0.25s ease;
}

.soler-hdr .soler-menu__contact a:hover,
.soler-hdr .soler-menu__account:hover {
	text-decoration-color: currentColor;
}

.soler-hdr .soler-menu__account {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 17px;
}

/* Entrance: items rise in after the panel has started sliding. */
.soler-hdr .soler-menu [style*="--i"] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.4s ease, transform 0.6s var(--sh-ease);
}

.soler-hdr.is-menu-open .soler-menu [style*="--i"] {
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--i) * 70ms + 220ms);
}

/* ---------------------------------------------------------------------------
   Category drawer (mobile, cream, from the left)
   ------------------------------------------------------------------------- */

html .soler-hdr .soler-hdr__cats-btn {
	display: none;
	margin: 15px 0 0 20px;
	padding: 8px 15px;
	background: var(--sh-green);
	color: var(--sh-cream);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.soler-hdr .soler-cats {
	position: fixed;
	top: var(--sh-admin);
	left: 0;
	bottom: 0;
	z-index: 1002;
	display: flex;
	flex-direction: column;
	width: min(440px, calc(100vw - var(--sh-bm-w) - var(--sh-bm-right) - 12px));
	background: var(--sh-cream);
	transform: translateX(-100%);
	visibility: hidden;
	transition: transform 0.6s var(--sh-ease), visibility 0s linear 0.6s;
}

.soler-hdr .soler-cats:focus {
	outline: none;
}

.soler-hdr.is-cats-open .soler-cats {
	transform: none;
	visibility: visible;
	transition-delay: 0s;
}

.soler-hdr .soler-cats__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 12px 12px 22px;
	border-bottom: 1px solid var(--sh-line);
}

.soler-hdr .soler-cats__title {
	color: var(--sh-green);
	font-size: 28px;
	line-height: 1.2;
}

html .soler-hdr .soler-cats__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	color: var(--sh-green);
	transition: transform 0.4s var(--sh-ease);
}

html .soler-hdr .soler-cats__close:hover {
	color: var(--sh-green);
	transform: rotate(90deg);
}

.soler-hdr .soler-cats__close .soler-icon {
	width: 26px;
	height: 26px;
}

.soler-hdr .soler-cats__body {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 4px 22px 40px;
}

.soler-hdr .soler-acc {
	border-bottom: 1px solid var(--sh-line);
}

html .soler-hdr .soler-acc__toggle {
	display: flex;
	width: 100%;
	min-height: 60px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	text-align: left;
	color: var(--sh-ink);
	font-size: 21px;
	line-height: 1.25;
	transition: color 0.25s ease;
}

.soler-hdr .soler-acc__toggle .soler-icon {
	width: 20px;
	height: 20px;
	color: var(--sh-green);
	transition: transform 0.45s var(--sh-ease);
}

html .soler-hdr .soler-acc.is-open > .soler-acc__toggle {
	color: var(--sh-green);
}

.soler-hdr .soler-acc.is-open > .soler-acc__toggle .soler-icon {
	transform: rotate(45deg);
}

.soler-hdr .soler-acc--l2 {
	border-bottom: 0;
	border-top: 1px solid var(--sh-line);
}

html .soler-hdr .soler-acc--l2 .soler-acc__toggle {
	min-height: 50px;
	color: var(--sh-green);
	font-size: 17px;
}

.soler-hdr .soler-acc__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.45s var(--sh-ease);
}

.soler-hdr .soler-acc.is-open > .soler-acc__panel {
	grid-template-rows: 1fr;
}

.soler-hdr .soler-acc__inner {
	overflow: hidden;
}

.soler-hdr .soler-acc.is-open > .soler-acc__panel > .soler-acc__inner {
	padding-bottom: 14px;
}

.soler-hdr .soler-acc--l2.is-open > .soler-acc__panel > .soler-acc__inner {
	padding-left: 14px;
}

.soler-hdr .soler-cats__media {
	position: relative;
	overflow: hidden;
	margin: 2px 0 6px;
	border-radius: 14px;
	aspect-ratio: 16 / 9;
}

.soler-hdr .soler-cats__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	transition: transform 1.2s var(--sh-ease);
}

.soler-hdr .soler-acc.is-open .soler-cats__media img {
	transform: none;
}

.soler-hdr .soler-cats__media figcaption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px 14px 12px;
	background: linear-gradient(transparent, rgba(16, 28, 20, 0.62));
	color: var(--sh-cream);
	font-size: 14px;
	line-height: 1.45;
}

.soler-hdr .soler-cats__all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	color: var(--sh-green);
	font-size: 15px;
}

.soler-hdr .soler-cats__list a {
	display: flex;
	align-items: center;
	min-height: 42px;
	color: var(--sh-ink);
	font-size: 16px;
}

.soler-hdr .soler-cats__list a:hover {
	color: var(--sh-green);
}

.soler-hdr .soler-cats__list ul {
	margin: 0 0 6px 2px;
	padding-left: 14px;
	border-left: 1px solid var(--sh-line);
}

.soler-hdr .soler-cats__list ul a {
	min-height: 38px;
	color: var(--sh-muted);
	font-size: 15px;
}

/* ---------------------------------------------------------------------------
   Search (cream sheet unfolding from the top)
   ------------------------------------------------------------------------- */

.soler-hdr .soler-search {
	position: fixed;
	top: var(--sh-admin);
	left: 0;
	right: 0;
	z-index: 1002;
	padding: clamp(96px, 14vh, 140px) calc(var(--sh-bm-w) + var(--sh-bm-right) + 32px) clamp(48px, 8vh, 80px) clamp(20px, 8vw, 140px);
	background: var(--sh-cream);
	border-radius: 0 0 20px 20px;
	box-shadow: 0 28px 70px -28px rgba(31, 79, 49, 0.38);
	clip-path: inset(0 0 100% 0);
	visibility: hidden;
	transition: clip-path 0.6s var(--sh-ease), visibility 0s linear 0.6s;
}

.soler-hdr.is-search-open .soler-search {
	clip-path: inset(0 0 -100px 0);
	visibility: visible;
	transition-delay: 0s;
}

.soler-hdr .soler-search__label {
	display: block;
	margin-bottom: 14px;
	color: var(--sh-green);
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.soler-hdr .soler-search__field {
	display: flex;
	align-items: center;
	gap: 16px;
	border-bottom: 1.5px solid var(--sh-green);
}

html .soler-hdr .soler-search__field input[type="search"] {
	flex: 1;
	min-width: 0;
	height: auto;
	padding: 6px 0 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	color: var(--sh-ink);
	font-family: var(--sh-font);
	font-size: clamp(26px, 4vw, 52px);
	line-height: 1.2;
}

.soler-hdr .soler-search__field input::placeholder {
	color: rgba(27, 29, 26, 0.32);
}

html .soler-hdr .soler-search__field button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 8px;
	background: var(--sh-green);
	color: var(--sh-cream);
	border-radius: 50%;
	transition: background-color 0.25s ease, transform 0.35s var(--sh-ease);
}

html .soler-hdr .soler-search__field button:hover {
	background: var(--sh-green-deep);
	color: var(--sh-cream);
	transform: translateX(4px);
}

/* ---------------------------------------------------------------------------
   Overlay (behind menu, drawer and search)
   ------------------------------------------------------------------------- */

.soler-hdr .soler-overlay {
	position: fixed;
	inset: 0;
	z-index: 1001;
	background: rgba(16, 28, 20, 0.42);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0s linear 0.5s;
}

.soler-hdr.is-menu-open .soler-overlay,
.soler-hdr.is-cats-open .soler-overlay,
.soler-hdr.is-search-open .soler-overlay {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

html.soler-scroll-lock {
	overflow: hidden;
}

/* ---------------------------------------------------------------------------
   Tablet & mobile: tab menu → "Категории" button + drawer
   ------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.soler-hdr {
		--sh-bm-w: 58px;
		--sh-top-h: 64px;
		--sh-flow-h: 0px;
	}

	.soler-hdr .soler-mega {
		display: none;
	}

	html .soler-hdr .soler-hdr__cats-btn {
		display: inline-block;
	}

	.soler-hdr .soler-hdr__logo img {
		height: 30px;
	}

	.soler-hdr .soler-bm {
		padding: 8px 0 10px;
	}

	html .soler-hdr .soler-bm__btn,
	html .soler-hdr .soler-burger {
		width: 46px;
		height: 46px;
	}

	.soler-hdr .soler-bm__btn .soler-icon {
		width: 28px;
		height: 28px;
	}

	.soler-hdr .soler-burger span {
		left: 9px;
		width: 28px;
	}

	.soler-hdr .soler-burger span:nth-child(1) { top: 14px; }
	.soler-hdr .soler-burger span:nth-child(2) { top: 22px; }
	.soler-hdr .soler-burger span:nth-child(3) { top: 30px; }

	.soler-hdr .soler-burger[aria-expanded="true"] span:nth-child(1),
	.soler-hdr .soler-burger[aria-expanded="true"] span:nth-child(3) {
		top: 22px;
	}

	.soler-hdr .soler-menu {
		width: 100vw;
	}
}

@media (max-width: 600px) {
	.soler-hdr {
		--sh-admin: 0px;
	}

	.soler-hdr .soler-menu__photos {
		grid-template-columns: repeat(2, 1fr);
	}

	.soler-hdr .soler-menu__photos img:nth-child(3) {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.soler-hdr *,
	.soler-hdr *::before,
	.soler-hdr *::after {
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
		animation: none !important;
	}
}

/* ---------------------------------------------------------------------------
   Living icons: each bookmark icon has a short idle gesture, staggered so they
   take turns after the hamburger's wave; on hover the gesture loops.
   ------------------------------------------------------------------------- */

.soler-hdr .soler-icon * {
	transform-box: fill-box;
}

/* Search: the lens takes a slow look around. */
.soler-hdr .soler-bm__btn .i-search {
	transform-origin: 40% 40%;
	animation: soler-search-idle 7s var(--sh-ease) 1.6s infinite;
}

.soler-hdr .soler-bm__btn:hover .i-search {
	animation: soler-search-look 1.1s var(--sh-ease) infinite;
}

@keyframes soler-search-idle {
	0%, 74%, 100% { transform: none; }
	80% { transform: translate(-1.6px, -1px) rotate(-10deg); }
	88% { transform: translate(1.6px, -0.6px) rotate(9deg); }
	95% { transform: none; }
}

@keyframes soler-search-look {
	0%, 100% { transform: none; }
	30% { transform: translate(-1.6px, -1px) rotate(-10deg); }
	65% { transform: translate(1.6px, -0.6px) rotate(9deg); }
}

/* Bag: hops while the handle swings — a beat after the search. */
.soler-hdr .soler-bm__cart .i-bag {
	transform-origin: 50% 100%;
	animation: soler-bag-hop 7s var(--sh-ease) 3.4s infinite;
}

.soler-hdr .soler-bm__cart .i-bag-handle {
	transform-origin: 50% 100%;
	animation: soler-bag-handle 7s var(--sh-ease) 3.4s infinite;
}

.soler-hdr .soler-bm__cart:hover .i-bag,
.soler-hdr .soler-bm__cart.is-bumped .i-bag {
	animation: soler-bag-hop-loop 0.9s var(--sh-ease) infinite;
}

.soler-hdr .soler-bm__cart:hover .i-bag-handle,
.soler-hdr .soler-bm__cart.is-bumped .i-bag-handle {
	animation: soler-bag-handle-loop 0.9s var(--sh-ease) infinite;
}

@keyframes soler-bag-hop {
	0%, 74%, 100% { transform: none; }
	79% { transform: translateY(-3px) scaleY(1.03); }
	85% { transform: translateY(0) scaleY(0.97); }
	90% { transform: translateY(-1px); }
	95% { transform: none; }
}

@keyframes soler-bag-handle {
	0%, 74%, 100% { transform: none; }
	80% { transform: rotate(-16deg); }
	87% { transform: rotate(11deg); }
	94% { transform: none; }
}

@keyframes soler-bag-hop-loop {
	0%, 100% { transform: none; }
	35% { transform: translateY(-3px) scaleY(1.03); }
	65% { transform: translateY(0) scaleY(0.97); }
}

@keyframes soler-bag-handle-loop {
	0%, 100% { transform: rotate(0); }
	30% { transform: rotate(-16deg); }
	65% { transform: rotate(11deg); }
}

.soler-hdr .soler-bm__cart.is-bumped .soler-cart-count {
	animation: soler-count-pop 0.5s var(--sh-ease);
}

@keyframes soler-count-pop {
	0% { transform: scale(0.4); }
	60% { transform: scale(1.25); }
	100% { transform: none; }
}

/* User ("Вход"): a small nod. */
.soler-hdr .soler-menu__account .i-head {
	transform-origin: 50% 100%;
	animation: soler-user-nod 5s var(--sh-ease) 1s infinite;
}

.soler-hdr .soler-menu__account:hover .i-head {
	animation: soler-user-nod-loop 0.8s var(--sh-ease) infinite;
}

@keyframes soler-user-nod {
	0%, 80%, 100% { transform: none; }
	86% { transform: translateY(-1.5px) rotate(-8deg); }
	93% { transform: rotate(6deg); }
}

@keyframes soler-user-nod-loop {
	0%, 100% { transform: none; }
	40% { transform: translateY(-1.5px) rotate(-8deg); }
	75% { transform: rotate(6deg); }
}

/* ---------------------------------------------------------------------------
   Bookmark flyouts: hovering the search or the bag unfolds a cream panel from the
   bookmark's left edge (search field / mini cart). Touch devices keep tap behaviour.
   ------------------------------------------------------------------------- */

.soler-hdr .soler-bm__slot {
	position: relative;
}

.soler-hdr .soler-flyout {
	position: absolute;
	top: 0;
	right: calc(100% + (var(--sh-bm-w) - 52px) / 2);
	z-index: -1;
	background: var(--sh-cream);
	color: var(--sh-ink);
	border-radius: 10px 0 0 10px;
	box-shadow: 0 22px 48px -22px rgba(16, 28, 20, 0.5);
	visibility: hidden;
	clip-path: inset(0 0 0 100% round 10px 0 0 10px);
	transition: clip-path 0.55s var(--sh-ease), visibility 0s linear 0.55s;
}

.soler-hdr .soler-bm__slot.is-open .soler-flyout {
	visibility: visible;
	clip-path: inset(0 0 0 0 round 10px 0 0 10px);
	transition-delay: 0s;
}

.soler-hdr .soler-flyout--search {
	width: min(420px, 60vw);
}

.soler-hdr .soler-flyout__search {
	display: flex;
	align-items: center;
	height: 52px;
	padding: 0 8px 0 20px;
}

html .soler-hdr .soler-flyout__search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	color: var(--sh-ink);
	font-family: var(--sh-font);
	font-size: 17px;
}

.soler-hdr .soler-flyout__search input::placeholder {
	color: rgba(27, 29, 26, 0.4);
	font-style: italic;
}

html .soler-hdr .soler-flyout__search button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	background: var(--sh-green);
	color: var(--sh-cream);
	border-radius: 50%;
	transition: transform 0.35s var(--sh-ease), background-color 0.25s ease;
}

html .soler-hdr .soler-flyout__search button:hover {
	background: var(--sh-green-deep);
	color: var(--sh-cream);
	transform: translateX(3px);
}

.soler-hdr .soler-flyout__search .soler-icon {
	width: 18px;
	height: 18px;
}

/* Mini cart */
.soler-hdr .soler-flyout--cart {
	top: -12px;
	width: 360px;
	max-height: min(70vh, 560px);
	padding: 20px 22px 22px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.soler-hdr .soler-flyout__title {
	margin-bottom: 6px;
	color: var(--sh-green);
	font-size: 20px;
}

.soler-hdr .soler-flyout--cart ul.woocommerce-mini-cart {
	margin: 0;
	padding: 0;
	list-style: none;
}

.soler-hdr .soler-flyout--cart li.woocommerce-mini-cart-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 12px 26px 12px 0;
	border-bottom: 1px solid var(--sh-line);
	font-size: 14.5px;
	line-height: 1.35;
}

html .soler-hdr .soler-flyout--cart li.woocommerce-mini-cart-item a:not(.remove) {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--sh-ink);
	font-weight: 400;
}

html .soler-hdr .soler-flyout--cart li.woocommerce-mini-cart-item a:not(.remove):hover {
	color: var(--sh-green);
}

.soler-hdr .soler-flyout--cart li.woocommerce-mini-cart-item img {
	flex: none;
	width: 54px !important;
	height: 54px;
	margin: 0 !important;
	padding: 4px;
	object-fit: contain;
	background: var(--sh-sand);
	border-radius: 8px;
	mix-blend-mode: multiply;
}

/* The product page's framed quantity control (shop.css) doesn't belong here: a plain "1 × 2,90 €" line. */
html body .soler-hdr .soler-flyout--cart .quantity {
	display: block;
	z-index: auto;
	margin-left: 66px;
	background: none;
	border: 0;
	color: var(--sh-muted);
	font-size: 13.5px;
}

html .soler-hdr .soler-flyout--cart a.remove {
	position: absolute;
	top: 12px;
	right: 0;
	width: 22px;
	height: 22px;
	color: var(--sh-muted) !important;
	background: none !important;
	font-size: 20px;
	line-height: 20px;
	text-align: center;
	border-radius: 50%;
	transition: color 0.2s ease, transform 0.3s var(--sh-ease);
}

html .soler-hdr .soler-flyout--cart a.remove:hover {
	color: var(--sh-green) !important;
	transform: rotate(90deg);
}

.soler-hdr .soler-flyout--cart .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 14px 0 16px;
	font-size: 16px;
}

.soler-hdr .soler-flyout--cart .woocommerce-mini-cart__total strong {
	font-weight: 400;
}

.soler-hdr .soler-flyout--cart .woocommerce-mini-cart__buttons {
	display: grid;
	gap: 8px;
	margin: 0;
}

html .soler-hdr .soler-flyout--cart .woocommerce-mini-cart__buttons a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 0;
	padding: 10px 12px;
	background: transparent;
	color: var(--sh-green);
	border: 1px solid var(--sh-green);
	border-radius: 0;
	font-family: var(--sh-font);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transition: background-color 0.25s ease, color 0.25s ease;
}

html .soler-hdr .soler-flyout--cart .woocommerce-mini-cart__buttons a.button.checkout,
html .soler-hdr .soler-flyout--cart .woocommerce-mini-cart__buttons a.button:hover {
	background: var(--sh-green);
	color: var(--sh-cream);
}

html .soler-hdr .soler-flyout--cart .woocommerce-mini-cart__buttons a.button.checkout:hover {
	background: var(--sh-green-deep);
}

.soler-hdr .soler-flyout--cart .woocommerce-mini-cart__empty-message {
	margin: 10px 0 4px;
	color: var(--sh-muted);
	font-style: italic;
}

/* Without a fine pointer: no flyouts — the magnifier opens the search sheet, the bag goes to the cart. */
@media (hover: none), (pointer: coarse) {
	.soler-hdr .soler-flyout {
		display: none;
	}
}

/* Cream herb outline in the green menu panel, on its own clipped layer so its drift and sway
   never make the panel scroll. */
.soler-hdr .soler-menu__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.soler-hdr .soler-menu .ghost--menu {
	right: 1.5vw;
	bottom: 2vh;
	width: min(220px, 15vw);
}

.soler-hdr .soler-menu .herb-ghost .herb__ink {
	stroke: var(--sh-cream);
	stroke-opacity: 0.2;
}

.soler-hdr .soler-menu__inner {
	position: relative;
	z-index: 1;
	overflow: clip;
}

/* Live search results (flyout on desktop, search sheet on touch). */
.soler-hdr .soler-live {
	max-height: min(60vh, 460px);
	overflow-y: auto;
	overscroll-behavior: contain;
	border-top: 1px solid var(--sh-line);
	animation: soler-live-in 0.35s var(--sh-ease);
}

.soler-hdr .soler-flyout .soler-live {
	padding: 6px 0 4px;
}

.soler-hdr .soler-search .soler-live {
	max-width: 760px;
	margin-top: 18px;
	background: var(--sh-cream);
}

.soler-hdr .soler-live.is-loading {
	opacity: 0.55;
}

@keyframes soler-live-in {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

html .soler-hdr .soler-live__item {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 8px 18px 8px 14px;
	color: var(--sh-ink);
	font-size: 14.5px;
	line-height: 1.3;
	transition: background-color 0.2s ease;
}

html .soler-hdr .soler-live__item:hover,
html .soler-hdr .soler-live__item:focus-visible {
	background: var(--sh-sand);
	color: var(--sh-ink);
	outline: none;
}

.soler-hdr .soler-live__thumb {
	width: 44px;
	height: 44px;
	background: var(--sh-sand);
	border-radius: 6px;
	overflow: hidden;
}

.soler-hdr .soler-live__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.soler-hdr .soler-live__rx {
	color: var(--sh-green);
	font-size: 12.5px;
}

.soler-hdr .soler-live__price {
	color: var(--sh-green);
	white-space: nowrap;
}

html .soler-hdr .soler-live__all {
	display: block;
	margin: 6px 14px 10px;
	padding: 11px 14px;
	background: var(--sh-green);
	color: var(--sh-cream);
	font-size: 14px;
	letter-spacing: 0.02em;
	text-align: center;
	text-transform: uppercase;
	transition: background-color 0.25s ease;
}

html .soler-hdr .soler-live__all:hover {
	background: var(--sh-green-deep);
	color: var(--sh-cream);
}

.soler-hdr .soler-live__empty {
	padding: 14px 18px;
	color: var(--sh-muted);
	font-style: italic;
}

html .soler-hdr .soler-mini-cart-browse a {
	color: var(--sh-green);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* The browser's own blue clear button is off-brand; Escape or backspace clears the field. */
.soler-hdr input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}
