/* ============================================
   Header — біжучий рядок, шапка, пошук,
   іконки кабінету й кошика, мобільна група
   ============================================ */

/* Header Top - Start */
header {
	position: fixed;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	background: var(--white);
	width: 100%;
	height: var(--header-height);
	margin: 0;
	padding: 0;
	z-index: 1000;
}
.header-top {
	display: flex;
	align-items: center;
	width: 100%;
	height: var(--top-bar-height);
	background: var(--primary);
	overflow: hidden;
}
.header-top-marquee {
	display: flex;
	width: 100%;
	overflow: hidden;
}
.header-top-track {
	display: flex;
	width: max-content;
	animation: header-top-scroll var(--marquee-duration, 135s) linear infinite;
}
.header-top-group {
	display: flex;
	align-items: center;
	gap: 160px;
	padding-right: 160px;
	color: var(--primary-match);
}
.header-top-item {
	font-family: var(--font-family-1);
	font-size: 16px;
	line-height: 19px;
	font-weight: 500;
	white-space: nowrap;
}
.header-top-dot {
	font-size: 18px;
	line-height: 22px;
}
@keyframes header-top-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (max-width: 1680px) {
	.header-top-group {
		gap: 100px;
		padding-right: 100px;
	}
	.header-top-item {
		font-size: 14px;
		line-height: 17px;
	}
}
@media (max-width: 1279px) {
	.header-top-group {
		gap: 90px;
		padding-right: 90px;
	}
	.header-top-item {
		font-size: 12px;
		line-height: 14px;
	}
	.header-top-dot {
		font-size: 14px;
		line-height: 17px;
	}
}
/* Header Top - End */

/* Header Main - Start */
.header-main {
	height: calc(var(--header-height) - var(--top-bar-height));
}
.header-main .block-with-cols {
	flex-wrap: nowrap;
}
.header-main .block-with-cols > * {
	min-width: 0;
}
.header-left {
	display: flex;
	align-items: center;
	gap: 40px;
}
.logo-header {
	display: flex;
	align-items: center;
}
.logo-header img {
	width: 218px;
	height: auto;
	object-fit: contain;
}
.header-nav {
	display: flex;
	align-items: center;
	gap: 40px;
}
.header-nav .btn.btn-catalog {
	--btn-height: 44px;
	--btn-pad: 32px;
	--btn-ring: 6px;
	--btn-border-width: 0.5px;
	gap: 24px;
}
.header-nav .btn.btn-catalog span {
	font-weight: 700;
}
.header-nav .btn.btn-catalog.active {
	--btn-hover-bg: var(--primary);
	--btn-hover-color: var(--primary-match);
	--btn-hover-img-filter: var(--primary-filter-match);
}
.header-nav .mega-menu > li > a {
	white-space: nowrap;
}
.header-nav .mega-menu > li.current-menu-item > a,
.header-nav .mega-menu > li.current-menu-ancestor > a {
	color: var(--primary-ring);
}
.header-right {
	display: flex;
	align-items: center;
	gap: 64px;
}
.header-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}
.header-actions .language-wrapper {
	margin-right: 16px;
}
.header-icons {
	display: flex;
	align-items: center;
	gap: 4px;
}
.header-shop-button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 57px;
	height: 57px;
	cursor: pointer;
}
.header-shop-button .icon-mask {
	width: 38px;
	height: 38px;
	transition: all 0.3s ease;
}
@media not all and (pointer: coarse) {
	.header-shop-button:hover .icon-mask {
		background-color: var(--primary-ring);
	}
}
.header-wishlist-button .icon-mask {
	width: 41px;
	height: 41px;
}
.wishlist-counter {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--white);
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 14px;
	font-weight: 500;
	pointer-events: none;
}
.wishlist-counter:empty {
	display: none;
}
.btn.header-cart-button {
	--btn-height: 44px;
	--btn-ring: 6px;
	--btn-border-width: 0.5px;
	padding: 6px 12px 6px 30px;
	gap: 24px;
}
.btn.header-cart-button span:first-child {
	font-weight: 700;
}
.btn.header-cart-button .cart-counter {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 6px 10px;
	background: var(--white);
	color: var(--black);
	border-radius: 20px;
	font-family: var(--font-family-1);
	font-size: 12px;
	line-height: 20px;
	font-weight: 500;
}
.btn.header-cart-button .cart-counter,
.menu-mob-account .btn.header-cart-button .cart-counter {
	display: flex !important;
}
.btn.header-cart-button .cart-counter:empty::before,
.menu-mob-account .btn.header-cart-button .cart-counter:empty::before {
	content: attr(data-count);
}
.header-mob-group {
	display: none;
}

@media (max-width: 1680px) {
	.logo-header img {
		width: 209px;
	}
	.header-left,
	.header-nav {
		gap: 32px;
	}
	.header-right {
		gap: 40px;
	}
	.header-nav .btn.btn-catalog {
		--btn-height: 41px;
		--btn-pad: 28px;
		--btn-ring: 4px;
	}
	.header-shop-button {
		width: 49px;
		height: 49px;
	}
	.header-shop-button .icon-mask {
		width: 33px;
		height: 33px;
	}
	.header-wishlist-button .icon-mask {
		width: 35px;
		height: 35px;
	}
	.btn.header-cart-button {
		--btn-height: 41px;
		--btn-ring: 4px;
		padding: 4px 10px 4px 24px;
		gap: 16px;
	}
	.btn.header-cart-button .cart-counter {
		min-width: 28px;
		height: 28px;
	}
}
@media (max-width: 1366px) {
	.header-left,
	.header-nav {
		gap: 20px;
	}
	.header-right {
		gap: 24px;
	}
	.header-actions {
		gap: 12px;
	}
	.header-actions .language-wrapper {
		margin-right: 8px;
	}
}
@media (max-width: 1279px) {
	.header-left {
		gap: 0;
	}
	.logo-header img {
		width: 175px;
	}
	.header-right {
		gap: 0;
	}
	.header-mob-group {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.header-mob-pill {
		display: flex;
		align-items: center;
		height: 44px;
		padding: 0 6px;
		background: var(--light-gray);
		border-radius: var(--radius-pill);
	}
	.header-right > .search-call-mob {
		display: none;
	}
	.header-mob-pill > * {
		display: flex;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 35px;
		height: 36px;
		cursor: pointer;
	}
	.header-mob-pill .search-call-mob .icon-mask {
		width: 16px;
		height: 16px;
	}
	.header-mob-pill .header-mob-cart .icon-mask {
		width: 18px;
		height: 18px;
	}
	.header-mob-pill .cart-counter {
		display: none;
	}
	.side-menu-call {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 4px;
		border: 0.5px solid var(--black);
		border-radius: var(--radius-max);
		cursor: pointer;
	}
	.side-menu-call-circle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 35px;
		height: 35px;
		background: var(--black);
		border-radius: var(--radius-max);
	}
	.side-menu-call-circle .icon-mask {
		width: 17px;
		height: 16px;
		--icon: url('/wp-content/themes/shop/img/icons/menu-burger.svg');
	}
	.side-menu-call.active .icon-mask {
		--icon: url('/wp-content/themes/shop/img/icons/close.svg');
	}
}
/* Header Main - End */

/* Lanuage Switcher - Start */
.language-wrapper {
	position: relative;
	cursor: pointer;
}
.language-wrapper .change-lang {
	font-family: var(--font-family-1);
	font-size: 18px;
	line-height: 22px;
	font-weight: 700;
	color: var(--black);
	text-transform: uppercase;
}
.language-wrapper .language-box {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: calc(100% + 10px);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 10px;
	background: var(--white);
	border-radius: var(--radius-mid);
	box-shadow: 0 0 24px 0 var(--shadow-soft);
	transition: all 0.3s ease;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 10;
}
.language-wrapper.active .language-box {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.language-wrapper .language-box a {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 38px;
	height: 38px;
	font-family: var(--font-family-1);
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase;
	border: 1px solid var(--input-border);
	border-radius: var(--radius-max);
	transition: all 0.3s ease;
}
.language-wrapper .language-box a.active {
	background: var(--primary);
	border-color: var(--primary);
}
@media not all and (pointer: coarse) {
	.language-wrapper .language-box a:hover {
		background: var(--primary);
		border-color: var(--primary);
	}
}
.language-wrapper .language-box a.active {
	pointer-events: none;
	cursor: default;
}
@media (max-width: 1680px) {
	.language-wrapper .change-lang {
		font-size: 16px;
		line-height: 19px;
	}
}
/* Lanuage Switcher - End */

/* Search - Start */
.search-wrapper {
	display: flex;
	flex-grow: 1;
}
.search-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--overlay-scrim);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 1;
}
.search-wrapper.in-search .search-background {
	visibility: visible;
	pointer-events: all;
	opacity: 1;
}
.search-wrapper .search-box .icon {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: initial;
	right: 24px;
	width: 21px;
	height: 21px;
	background-color: var(--black);
	-webkit-mask: url(/wp-content/themes/shop/img/icons/search.svg) no-repeat center / contain;
	mask: url(/wp-content/themes/shop/img/icons/search.svg) no-repeat center / contain;
	transition: all 0.3s ease;
	cursor: pointer;
	z-index: 2;
}
.search-wrapper.in-search .search-box .icon {
	-webkit-mask-image: url(/wp-content/themes/shop/img/icons/close.svg);
	mask-image: url(/wp-content/themes/shop/img/icons/close.svg);
}
.search-wrapper .search-box .input,
.search-wrapper .search-box input[type="text"] {
	font-family: var(--font-family-1);
	font-size: 18px;
	line-height: 22px;
	font-weight: 400;
	background: var(--white);
	color: var(--black);
	border: none;
	border-radius: var(--radius-pill);
	padding: 11px 56px 11px 24px;
	transform: translateY(0px);
}
.search-wrapper .btn-search {
	display: none;
}
.search-inline-pc {
	display: none;
}
.search-popup-mob {
	display: none;
}
.search-call-mob {
	display: none;
}
/* Search Result - Start */
#search-results {
	position: fixed;
	top: var(--header-height);
	display: flex;
	flex-direction: column;
	width: 628px;
	height: fit-content;
	min-height: 250px;
	max-height: 50vh;
	padding: 0 20px;
	background: var(--white);
	border-bottom-right-radius: var(--radius-medium);
	border-bottom-left-radius: var(--radius-medium);
	box-shadow: 0 4px 24px 0 var(--shadow-soft);
	z-index: 2;
}
#search-results .no-result {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 250px;
}
#search-results .search-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 250px;
}
#search-results .search-loading span {
	width: 30px;
	height: 30px;
	border: 3px solid var(--border);
	border-top-color: var(--primary);
	border-radius: var(--radius-max);
	animation: search-spin 0.6s linear infinite;
}
@keyframes search-spin {
	to { transform: rotate(360deg); }
}
#search-results .category-tabs {
	position: sticky;
	top: 0;
	list-style: none;
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
	min-height: calc(30px + 16px);
	padding: 15px 0;
	margin: 0 0 15px 0;
	background: var(--white);
	overflow-x: auto;
	overflow-y: hidden;
	z-index: 1;
}
#search-results .category-tabs::-webkit-scrollbar {
	height: 6px;
}
#search-results .category-tabs a {
	display: flex;
	color: var(--gray-text);
	min-width: max-content;
	font-size: 16px;
	line-height: 16px;
}
#search-results .category-tabs a.active {
	color: var(--black);
}
@media not all and (pointer: coarse) {
	#search-results .category-tabs a:hover {
		color: var(--black);
	}
}
#search-results .view-all-results {
	position: sticky;
	bottom: -1px;
	display: flex;
	padding: 15px 0;
	margin-top: auto;
	background: var(--white);
}
#search-results .tab-content {
	display: flex;
	overflow-y: auto;
	overflow-x: hidden;
	padding-right: 5px;
}
#search-results .tab-pane {
	display: none;
	flex-direction: column;
	width: 100%;
}
#search-results .tab-pane.active {
	display: flex;
}
#search-results .product-item {
	align-items: center;
	gap: 16px;
	padding: 8px 0;
}
#search-results .product-item__image {
	width: 96px;
	height: 92px;
	border-radius: var(--radius-small);
}
#search-results .product-item__img {
	border-radius: var(--radius-small);
}
#search-results .product-item__info {
	gap: 6px;
	min-width: 0;
}
#search-results .product-item__name {
	font-size: 16px;
	line-height: 19.2px;
}
#search-results .product-item__price {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 19.2px;
	text-align: left;
}
#search-results .product-item__actions {
	flex-shrink: 0;
}
#search-results .product-item__actions .btn {
	--btn-height: 35px;
	--btn-ring: 4px;
	--btn-pad: 16px;
	height: calc(var(--btn-height) + 2 * var(--btn-ring) + 2 * var(--btn-border-width, 1px));
	font-size: 14px;
	line-height: 17px;
}
#search-results .product-item__actions .btn span {
	height: 17px;
	white-space: nowrap;
}
#search-results .product-item__actions .btn img {
	height: 17px;
}

/* Search Responsive - Start */
@media (min-width: 1280px) {
	.search-wrapper {
		--search-open-w: 668px;
		position: relative;
		flex: 0 1 auto;
		width: 311px;
		min-width: 200px;
		height: 58px;
	}
	.search-inline-pc {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 6px;
		background: var(--white);
		border: 0.5px solid var(--black);
		border-radius: var(--radius-pill);
		transition: width 0.35s ease;
		z-index: 2;
	}
	.search-wrapper:focus-within .search-inline-pc,
	.search-wrapper.in-search .search-inline-pc {
		width: var(--search-open-w);
	}
}
@media (min-width: 1280px) and (max-width: 1679px) {
	.search-wrapper {
		--search-open-w: 560px;
		width: 268px;
		height: 50px;
	}
	.search-box.search-inline-pc .input,
	.search-box.search-inline-pc input[type="text"] {
		width: 100%;
		padding: 9px 48px 9px 20px;
		font-size: 16px;
		line-height: 19px;
	}
	.search-wrapper .search-box .icon {
		right: 20px;
	}
}
@media (max-width: 1279px) {
	.header-mob-pill .search-call-mob {
		display: flex;
	}
	.search-wrapper {
		position: fixed;
		display: flex;
		justify-content: center;
		width: 100%;
		z-index: 10;
	}
	.search-background {
		background: transparent;
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
	}
	.search-background.active {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.search-popup-mob {
		position: fixed;
		top: calc(var(--header-height) + 10px);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: calc(100% - var(--container-indent));
		max-width: 800px;
		padding: 6px;
		border: 0.5px solid var(--black);
		border-radius: var(--radius-pill);
		background: var(--white);
		z-index: 2;
		display: flex;
		justify-content: center;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}
	.search-popup-mob.active {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}
	.search-popup-mob input {
		width: 100%;
		background: var(--white);
		font-size: 16px;
		line-height: 19px;
		padding: 10px 44px 10px 16px;
	}
	.search-wrapper .search-box .icon {
		right: 16px;
		width: 18px;
		height: 18px;
	}
	#search-results {
		top: calc(var(--header-height) + 66px);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: calc(100% - var(--container-indent));
		max-height: 70vh;
	}
}
/* Search - End */
