/* ============================================
Header — top-bar, навігація, пошук,
shop buttons, language switcher
============================================ */

/* You Security Overrides - Start */
:root {
	--header-height: 139px;
	--top-bar-height: 55px;
}
@media (max-width: 1279px) {
	:root {
		--header-height: 64px;
		--top-bar-height: 0px;
	}
}
/* You Security Overrides - End */

/* Header Top - Start */
header {
	position: fixed;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--white);
	width: 100%;
	height: var(--header-height);
	margin: 0;
	padding: 0;
	z-index: 1000;
	box-shadow: 0px 4px 34px rgba(0, 0, 0, 0.05);
}
header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--top-bar-height);
	background: var(--black);
}
.header-top {
	height: var(--top-bar-height);
	align-items: center;
	flex-wrap: nowrap !important;
}
.header-top .top-bar-menu {
	display: flex;
	align-items: center;
}
.header-top .top-bar-menu nav ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0;
	padding: 0;
}
.header-top .top-bar-menu nav ul li a {
	color: rgba(255, 255, 255, 0.8);
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	transition: color 0.3s ease;
}
.header-top .top-bar-menu nav ul li a:hover {
	color: var(--primary);
}
@media (max-width: 1279px) {
	.header-top {
		display: none !important;
	}
	header::before {
		display: none !important;
	}
}
/* Header Top - End */

/* Header Main - Start */
.header-main {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 20px;
	height: calc(var(--header-height) - var(--top-bar-height));
	padding-left: 20px;
	padding-right: 0;
	max-width: 100%;
	width: 100%;
}
.header-main > .block-with-cols {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 20px;
	width: 100%;
	height: 100%;
	margin: 0;
}
.logo-header {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}
.logo-header img {
	width: 111px;
	height: auto;
	object-fit: contain;
}
.btn:is(.btn-catalog, .btn-sale) {
	font-size: 16px;
	line-height: 16px;
	font-weight: 400;
	padding: 0 24px;
}
.btn-catalog {
	height: 58px;
	min-width: 181px;
	border-radius: var(--radius-small);
	gap: 13px;
}
.btn-catalog .catalog-icon {
	width: 13px;
	height: 13px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}
.btn-catalog .catalog-chevron {
	width: 11px;
	height: 8px;
	object-fit: contain;
	filter: brightness(0) invert(1);
	margin-left: auto;
	transform: translateY(1px);
	transition: transform 0.3s ease;
}
.btn-catalog.active .catalog-chevron {
	transform: translateY(1px) rotate(180deg);
}
.btn-catalog picture {
	transition: all 0.3s ease-in-out;
}
.btn-catalog .close-menu {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	transition: all 0.3s ease-in-out;
}
header .btn-circle.user-account {
	width: 50px;
	height: 50px;
	min-width: 50px;
	padding: 0;
	background: var(--light-gray);
	border: none;
	border-radius: var(--radius-max);
	margin-left: 0;
	margin-right: -10px;
	flex-shrink: 0;
}
header .btn-circle.user-account img {
	width: 16px;
	height: 16px;
	object-fit: contain;
	filter: var(--primary-filter);
}
.btn-sale,
header .chating {
	display: none !important;
}
.header-divider-mob {
	display: none;
}

/* Phone Callback Block (Right) - Start */
.header-phone-callback {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 274px;
	min-width: 274px;
	height: 100%;
	margin-left: auto;
	background: var(--primary);
	flex-shrink: 0;
}
.header-phone-callback .phone-input {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	outline: none;
	color: var(--white);
	font-family: var(--font-family-1);
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
	text-align: center;
	padding: 0 20px;
}
.header-phone-callback .phone-input::placeholder {
	color: var(--white);
	opacity: 0.7;
}
/* Phone Callback Block (Right) - End */

@media (max-width: 1279px) {
	.header-main {
		gap: 10px;
		padding: 11px 10px;
	}
	.header-main > .block-with-cols {
		gap: 10px;
	}
	.side-menu-call {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 6px;
		width: 32px;
		height: 32px;
		min-width: 32px;
		cursor: pointer;
		background: var(--primary);
		border-radius: var(--radius-small);
		flex-shrink: 0;
	}
	.side-menu-call > .menu-line {
		display: flex;
		width: 18px;
		height: 2px;
		background: var(--white);
		border-radius: 10px;
	}
	.side-menu-call > .menu-line:nth-child(3) {
		display: none;
	}
	.header-divider-mob {
		display: block;
		width: 1px;
		height: 36px;
		background: var(--border);
		flex-shrink: 0;
	}
	.logo-header {
		margin-right: auto;
	}
	.logo-header img {
		width: 89px;
	}
	.btn-sale,
	.btn-catalog,
	.mega-menu-wrapper {
		display: none !important;
	}
	header .btn-catalog span {
		display: none !important;
	}
	header .chating,
	header .change-lang {
		display: none !important;
	}
	header .btn-circle.user-account {
		display: none !important;
	}
	.header-phone-callback {
		display: none !important;
	}
	.header-compare-button {
		display: none !important;
	}
}
/* Header Main - End */

/* Language Pill (Top Bar) - Start */
.dropdown-wrapper.top-bar-language {
	position: relative;
	display: flex;
	align-items: center;
	gap: 7px;
	margin-left: auto;
	margin-top: 0;
	padding: 0 12px 0 0;
	background: var(--dark-gray);
	border-radius: var(--radius-pill);
	height: 38px;
	cursor: pointer;
}
.dropdown-wrapper.top-bar-language .lang-globe-circle {
	width: 38px;
	height: 38px;
	min-width: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--primary);
	border-radius: var(--radius-max);
}
.dropdown-wrapper.top-bar-language .lang-globe-circle img {
	width: 13px;
	height: 12px;
	object-fit: contain;
	filter: brightness(0) invert(1);
}
.dropdown-wrapper.top-bar-language .current-choise {
	font-family: var(--font-family-1);
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
	color: var(--white);
	margin: 0;
}
.dropdown-wrapper.top-bar-language .dropdown-icon {
	width: 9px;
	height: 9px;
	min-width: 9px;
	object-fit: contain;
	filter: brightness(0) invert(1);
	margin-top: 0;
}
.dropdown-wrapper.top-bar-language .dropdown-box {
	bottom: auto;
	top: calc(100% + 8px);
	right: 0;
	left: auto;
	width: 56px;
	min-width: 56px;
	padding: 8px 0;
	align-items: center;
	background: var(--dark-gray);
	border-radius: var(--radius-medium);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.dropdown-wrapper.top-bar-language .dropdown-box .item-switch {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 4px 0;
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 18px;
	color: rgba(255, 255, 255, 0.8);
	transition: color 0.3s ease;
}
.dropdown-wrapper.top-bar-language .dropdown-box .item-switch:hover,
.dropdown-wrapper.top-bar-language .dropdown-box .item-switch.active {
	color: var(--white);
}
/* Language Pill (Top Bar) - End */

/* Search - Start */
.search-wrapper {
	display: flex;
	flex-grow: 1;
}
.search-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 1;
}
.search-wrapper.in-search .search-background {
	visibility: visible;
	pointer-events: all;
}
.search-wrapper .search-box .icon {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: initial;
	right: 20px;
	width: 17px;
	height: 17px;
	background: url(/wp-content/themes/shop/img/icons/header-search.svg) no-repeat center center;
	background-size: contain;
	transition: all 0.5s ease;
	cursor: pointer;
	z-index: 2;
}
.search-wrapper.in-search .search-box .icon {
	background: url(/wp-content/themes/shop/img/icons/close.svg) no-repeat center center;
	background-size: contain;
}
.search-wrapper .search-box .input,
.search-wrapper .search-box input[type="text"],
#search-input-pc,
#search-input-mob {
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 18px;
	font-weight: 400;
	background: var(--light-gray);
	color: var(--primary);
	border: 1px solid var(--primary);
	border-radius: var(--radius-small);
	height: 58px;
	padding: 0 50px 0 20px;
	transform: translateY(0px);
	box-sizing: border-box;
	width: 100%;
}
.search-wrapper .search-box .input::placeholder,
.search-wrapper .search-box input[type="text"]::placeholder,
#search-input-pc::placeholder,
#search-input-mob::placeholder {
	color: var(--primary);
	opacity: 1;
}
.search-wrapper .search-box .btn-search {
	display: none !important;
}
.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;
	min-width: 600px;
	height: fit-content;
	min-height: 250px;
	max-height: 50vh;
	padding: 0 15px;
	background: var(--white);
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	box-shadow: 0px 2px 5px rgb(0 0 0 / 10%);
	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 #eee;
	border-top-color: var(--primary);
	border-radius: 50%;
	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: #fff;
	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);
	min-width: max-content;
	font-size: 16px;
	line-height: 16px;
}
#search-results .category-tabs a.active,
#search-results .category-tabs a:hover {
	color: var(--primary);
}
#search-results .view-all-results {
	position: sticky;
	bottom: -1px;
	display: flex;
	padding: 15px 0;
	margin-top: auto;
	background: #fff;
}
#search-results .tab-content {
	display: flex;
	overflow-y: auto;
	overflow-x: hidden;
	padding-right: 16px;
	scrollbar-gutter: stable;
}
#search-results .tab-pane {
	display: none;
	flex-direction: column;
	width: 100%;
}
#search-results .tab-pane.active {
	display: flex;
}
#search-results .product-item__image {
	flex-shrink: 0;
}
#search-results .product-item__image-link,
#search-results .product-item__img {
	display: block;
	width: 100%;
	height: 100%;
}
#search-results .product-item__img {
	object-fit: contain;
}
#search-results .product-item__info {
	min-width: 0;
}

/* Search Responsive - Start */
@media (min-width: 1280px) {
	.search-inline-pc {
		position: relative;
		display: flex;
		gap: 10px;
		width: 100%;
		z-index: 2;
	}
	.search-wrapper.in-search .search-background {
		visibility: visible;
		pointer-events: all;
	}
}
@media (max-width: 1279px) {
	.search-call-mob {
		display: flex;
		margin-left: auto;
		cursor: pointer;
		width: 16px;
		min-width: 16px;
		height: 16px;
		flex-shrink: 0;
		background: url(/wp-content/themes/shop/img/icons/header-search.svg) no-repeat center center;
		background-size: contain;
	}
	.search-call-mob img {
		display: none;
	}
	.search-wrapper {
		position: fixed;
		display: flex;
		justify-content: center;
		width: 100%;
		z-index: 10;
	}
	.search-background {
		background: #00000000;
		-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) / 2);
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 90%;
		max-width: 800px;
		padding: 10px;
		border-radius: var(--radius-medium);
		background: var(--light-gray);
		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 {
		background: #fff;
	}
	.search-wrapper .search-box .icon {
		right: calc(14px + 10px);
	}
	#search-results {
		min-width: 0px;
		top: calc(var(--header-height) / 2 + 61px);
		left: 0;
		right: 0;
		margin: 0 auto;
	}
}
@media (max-width: 768px) {
	.search-background {
		background: rgb(0 0 0 / 5%);
		backdrop-filter: blur(0px);
	}
	.search-popup-mob {
		top: var(--header-height);
		width: 100%;
		border-radius: 0px;
	}
	#search-results {
		top: calc(var(--header-height) + 61px);
		width: 100%!important;
		max-height: 70vh;
	}
}
/* Search - End */

/* Shop Functions Group - Start */
.shop-functions-group {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}
.header-shop-button {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	width: 50px;
	height: 50px;
	min-width: 50px;
	background: var(--light-gray);
	border-radius: var(--radius-max);
}
.header-shop-button img {
	width: 19px;
	height: 16px;
	object-fit: contain;
	filter: var(--primary-filter);
}
.header-shop-button.header-compare-button img {
	width: 20px;
	height: 19px;
}
.header-shop-button.header-cart-button img {
	width: 13px;
	height: 16px;
}
.header-shop-button.header-wishlist-button img {
	width: 19px;
	height: 16px;
}
.compare-counter,
.cart-counter,
.wishlist-counter {
	position: absolute;
	bottom: -2px;
	right: -1px;
	left: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: transparent;
	color: var(--black);
	font-family: var(--font-family-1);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	border-radius: 0;
	z-index: 1;
}
.compare-counter:empty,
.cart-counter:empty,
.wishlist-counter:empty {
	display: none;
}
.user-account {
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.account-dropdown {
	top: 100%;
	right: 0;
	left: auto;
	min-width: 150px;
	z-index: 10;
}
.account-dropdown.dropdown-box {
	left: 0;
}

@media (max-width: 1279px) {
	.shop-functions-group {
		gap: 8px;
	}
	.header-shop-button {
		position: relative;
		width: 36px;
		height: 36px;
		min-width: 36px;
		background: var(--light-gray);
		border-radius: var(--radius-max);
		padding: 0;
	}
	.header-shop-button img {
		width: 14px;
		height: 12px;
	}
	.header-shop-button.header-wishlist-button img {
		width: 14px;
		height: 12px;
	}
	.header-shop-button.header-cart-button img {
		width: 10px;
		height: 13px;
	}
	.compare-counter,
	.cart-counter,
	.wishlist-counter {
        background: var(--primary);
        color: var(--primary-match);
        border-radius: 100%;
        font-size: 9px;
        line-height: 10px;
        width: 18px;
        height: 18px;
        min-width: 18px;
        padding: 0;
        bottom: -4px;
        right: -4px;
	}
}
/* Shop Functions Group - End */

/* ==========================================
Laptop range (1280-1680) - 1440 spec
--header-height: 123px / --top-bar-height: 44px
========================================== */
@media (max-width: 1680px) and (min-width: 1280px) {
	:root {
		--header-height: 123px;
		--top-bar-height: 44px;
	}

	/* Top Bar */
	.header-top .top-bar-menu nav ul {
		gap: 12px;
	}
	.header-top .top-bar-menu nav ul li a {
		font-size: 14px;
	}
	.dropdown-wrapper.top-bar-language {
		height: 28px;
		gap: 5px;
		padding: 0 10px 0 0;
	}
	.dropdown-wrapper.top-bar-language .lang-globe-circle {
		width: 28px;
		height: 28px;
		min-width: 28px;
	}
	.dropdown-wrapper.top-bar-language .lang-globe-circle img {
		width: 10px;
		height: 9px;
	}
	.dropdown-wrapper.top-bar-language .current-choise {
		font-size: 14px;
		line-height: 18px;
	}
	.dropdown-wrapper.top-bar-language .dropdown-icon {
		width: 6px;
		height: 6px;
		min-width: 6px;
	}

	/* Header Main */
	.header-main {
		gap: 15px;
	}
	.logo-header img {
		width: 95px;
	}
	.btn-catalog {
		height: 46px;
		min-width: 140px;
		gap: 10px;
	}
	.btn:is(.btn-catalog, .btn-sale) {
		font-size: 14px;
		line-height: 14px;
	}
	.btn-catalog .catalog-icon {
		width: 12px;
		height: 12px;
	}
	/* Search */
	.search-wrapper .search-box .input,
	.search-wrapper .search-box input[type="text"],
	#search-input-pc,
	#search-input-mob {
		height: 46px;
		min-height: 46px;
		font-size: 12px;
		padding: 0 40px 0 15px;
	}
	.search-wrapper .search-box .icon {
		width: 13px;
		height: 13px;
		right: 15px;
	}

	/* User account (btn-circle) */
	header .btn-circle.user-account {
		width: 46px;
		height: 46px;
		min-width: 46px;
		margin-right: -8px;
	}
	header .btn-circle.user-account img {
		width: 14px;
		height: 14px;
	}

	/* Shop Functions Group */
	.shop-functions-group {
		gap: 8px;
	}
	.header-shop-button {
		width: 46px;
		height: 46px;
		min-width: 46px;
	}
	.header-shop-button img {
		width: 17px;
		height: 15px;
	}
	.header-shop-button.header-compare-button img {
		width: 18px;
		height: 17px;
	}
	.header-shop-button.header-cart-button img {
		width: 12px;
		height: 15px;
	}
	.header-shop-button.header-wishlist-button img {
		width: 17px;
		height: 15px;
	}
	.compare-counter,
	.cart-counter,
	.wishlist-counter {
		font-size: 14px;
		min-width: 16px;
		height: 16px;
	}

	/* Phone Callback */
	.header-phone-callback .phone-input {
		font-size: 14px;
	}
}
