/* ==========================================================================
   1. GŁÓWNE STYLE NAGŁÓWKA (Desktop)
   ========================================================================== */

:root {
	--nav-text: var(--font-color-1);
	--nav-text-scroll: var(--font-color-1);
	--desktop-menu-height: 92px;
	--mobile-menu-height: 80px;
}

@media (max-width: 992px) {
	:root {
		--mobile-menu-height: 75px;
	}
}

@media (max-width: 768px) {
	:root {
		--mobile-menu-height: 71px;
	}
}

@media (max-width: 576px) {
	:root {
		--mobile-menu-height: 51px;
	}
}

.site-header {
	position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
	transition: 0.3s ease; background-color: rgba(255,255,255,1);
}
.site-header.is-scrolled {
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
body.mobile-menu-is-open .site-header {
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
.site-header__navigation {
	position: relative; z-index: 1000; display: flex; align-items: stretch;
	justify-content: space-between; 
	padding: 1.6rem 0;
	transition: 0.3s ease;
	background-color: rgba(255,255,255,1);
}
.custom-logo-link { display: inline-block; }
.site-branding { display: flex; align-items: center; gap: 1.6rem; flex-shrink: 0; }
.site-branding .custom-logo { height: 6rem; min-width: 10rem; width: auto; display: flex; align-items: center; object-fit: contain; object-position: center; }
@media (max-width: 576px) {
	.site-branding .custom-logo { height: 4.2rem; }
}

html:not(.dgwt-wcas-overlay-mobile-on) .dgwt-wcas-style-pirx.dgwt-wcas-style-pirx-compact .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
	border-radius: 0;
	transform: translatey(2px);
}

.dgwt-wcas-style-pirx.dgwt-wcas-style-pirx-compact .dgwt-wcas-sf-wrapp {
	border-radius: 0;
}

.dgwt-wcas-search-wrapp {
	display: flex;
	align-items: center;
}

.mobile-navigation .dgwt-wcas-search-wrapp {
	margin: 0;
}

.dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier-handler {
	height: 2.2rem;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier-handler path {
	fill: var(--font-color-1);
	transition: .3s ease;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier-handler:hover path {
	fill: var(--color-2);
}

.mobile-navigation .dgwt-wcas-search-wrapp .dgwt-wcas-ico-magnifier-handler path {
	fill: var(--font-color-1);
}

.dgwt-wcas-open-pirx .dgwt-wcas-open .dgwt-wcas-suggestions-wrapp, .dgwt-wcas-open-pirx .dgwt-wcas-open.dgwt-wcas-nores .dgwt-wcas-suggestions-wrapp {
	padding: 1rem;
	border-radius: var(--radius-3);
	box-shadow: var(--shadow-1);
}
.dgwt-wcas-has-img .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product {
	border-radius: var(--radius-3);
}
.dgwt-wcas-suggestion-selected {
	background-color: var(--bg-1);
}

/* Navigation */
.main-navigation, .woo-navigation, .woo-navigation .icons-box { display: flex; align-items: stretch; flex-shrink: 0; gap: 2.4rem; }
.mobile-navigation .woo-navigation .icons-box { justify-content: center; margin: .8rem 0; }
.woo-navigation .woo-item { position: relative; display: flex; align-items: center; }
.woo-item svg { height: 2.2rem; width: auto; object-fit: contain; fill: none; }
.woo-item svg path { stroke: var(--font-color-1); transition: .3s ease; }
.woo-icons .woo-item::after { display: none; }
.mobile-navigation .woo-item svg path { stroke: var(--font-color-1); }
.woo-item:hover svg path { stroke: var(--color-2); }
.woo-item .icon-wrapper { position: relative; }
.woo-item .woo-cart-count { position: absolute; top: -.6rem; left: -.4rem; display: flex; align-items: center; justify-content: center;  min-width: 1.6rem; height: 1.6rem; padding: 0 .4rem;  
	background-color: var(--color-2,); color: var(--font-color-1); font-size: 1rem; font-weight: 700; line-height: 1; border-radius: 1rem; pointer-events: none; }
.woo-item .woo-cart-count.hidden { display: none; } 
.woo-item .text-ss { color: var(--font-color-3); }
.woo-item .text-s { color: var(--font-color-1); line-height: 1.2; }
.woo-item .text { font-size: 1.8rem; color: var(--font-color-1); }
.site-header__navigation .woo-navigation .woo-item::after { content: ""; position: absolute; bottom: -1.5rem; right: 0; left: unset; width: 0; height: 2px; background-color: var(--color-1); transition: all 0.3s ease; } 
.site-header__navigation .woo-navigation .woo-item:hover::after { width: 100%; right: unset; left: 0; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; }
.main-navigation .menu-item { position: relative; display: flex; align-items: stretch; }
.main-navigation .menu-item a { color: var(--nav-text); text-decoration: none; position: relative; display: flex; align-items: center; transition: color 0.2s ease; font-size: 1.6rem; }
.site-header__category .main-navigation > .site-navigation-menu > .menu-item > a::after { content: ""; position: absolute; bottom: -.1rem; right: 0; left: unset; width: 0; height: 2px; background-color: var(--color-1); transition: all 0.3s ease; }
.site-header__category .main-navigation > .site-navigation-menu > .menu-item:hover > a::after { width: 100%; right: unset; left: 0; }

/* Menu kategorii */
.nav-category .main-categories-menu { 
	display: flex;
	align-items: center;
	list-style: none; 
	height: 100%;
	padding: 0;
}

.main-categories-menu li {
	height: 100%;
}

.nav-category:hover .main-categories-menu { pointer-events: auto; opacity: 1; visibility: visible; transition: opacity 0.3s ease, visibility 0s linear 0s; }
.main-categories-menu li a { 
	display: block;
	padding: .8rem 1.6rem; 
	font-size: 1.8rem; 
	transition: .3s ease; 
	display: flex;
    align-items: center;
	height: 100%;
}
.main-categories-menu li.has-children { position: relative; }
.main-categories-menu li a:hover { background-color: var(--bg-1); }
.main-categories-menu li span { color: var(--font-color-1); white-space: nowrap; transition: .3s ease; }
.main-categories-menu > li:hover a span { color: var(--font-color-1); }
.main-categories-menu li li a:hover {
	background-color: var(--bg-3);
}
.main-categories-menu li li a:hover span {
	color: var(--font-color-1);
}
.mobile-navigation .main-categories-menu li li a:hover span {
	color: var(--color-1);
}

.mobile-navigation .main-categories-menu li.has-children > a:before {
	position: absolute;
	content: "+";
	right: 0;
	top: 1rem;
	transition: .3s ease;
	font-size: 1.8rem;
}
.mobile-navigation .main-categories-menu li.has-children.submenu-is-open > a:before {
	transform: rotate(-45deg);
}

.main-categories-menu .sub-menu-space { 
	position: absolute; 
	top: 100%; 
	left: 0; 
	list-style: none; 
	pointer-events: none; 
	opacity: 0; 
	visibility: hidden; 
	transition: opacity .3s ease, visibility 0s linear 0.3s;
}
.main-categories-menu li.has-children:hover > .sub-menu-space { pointer-events: auto; opacity: 1; visibility: visible; transition: opacity 0.3s ease, visibility 0s linear 0s; }
.main-categories-menu li.has-children:hover > a { background-color: var(--bg-1); }
.main-categories-menu .sub-menu { padding: 1rem; min-width: 20rem; background-color: var(--bg-1); /*box-shadow: var(--shadow-1);*/ list-style: none; }
.main-categories-menu .sub-menu .text-ss { padding: .2rem .5rem; color: var(--font-color-3); }


/* ==========================================================================
   2. NAWIGACJA MOBILNA (NOWA WERSJA)
   ========================================================================== */

/* Przycisk "Hamburger" */
.mobile-menu-toggle { display: none; background: none; border: none; cursor: pointer; padding: 0; z-index: 1010; margin: 0 1.5rem; }
.mobile-menu-toggle .mobile-menu-line { height: 2px; width: 28px; background-color: var(--color-1); transition: transform 0.3s ease-in-out; display: block; }
.mobile-menu-toggle .mobile-menu-line:nth-child(3) { margin: 6px 0; }

.mobile-navigation {
    position: fixed; top: var(--mobile-menu-height); left: 0; width: 100%; height: calc(100% - var(--mobile-menu-height));
    background-color: var(--white-1); z-index: 999;
    transform: translateX(100%); transition: transform 0.4s ease-in-out;
    display: flex; flex-direction: column;
}

.mobile-navigation__content {
    overflow-y: auto;
	overflow-x: hidden;
    flex-grow: 1;
	padding: 2rem 4rem;
}

body.mobile-menu-is-open { overflow: hidden; }
body.mobile-menu-is-open .mobile-navigation { transform: translateX(0); }
body.mobile-menu-is-open .mobile-menu-toggle .mobile-menu-line:nth-child(2) { transform: translateY(8px) rotate(45deg); }
body.mobile-menu-is-open .mobile-menu-toggle .mobile-menu-line:nth-child(3) { transform: scaleX(0); }
body.mobile-menu-is-open .mobile-menu-toggle .mobile-menu-line:nth-child(4) { transform: translateY(-8px) rotate(-45deg); }

.mobile-navigation nav,
.mobile-navigation ul,
.mobile-navigation li {
    display: block;
    margin: 0;
    padding: 0;
    position: static;
}

.mobile-navigation .main-categories-menu {
	display: block;
}

.mobile-navigation .sub-menu,
.mobile-navigation .sub-menu-space {
    position: static;
    transform: none;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    background: none;
    min-width: unset;
    padding: 0;
}

.mobile-navigation .main-categories-menu li span {
	color: var(--font-color-1);
}

.mobile-navigation .woo-navigation .woo-item, 
.mobile-navigation .main-navigation .menu-item {
	margin: 0;
}

.mobile-navigation .main-navigation .menu-item {
	display: block;
}

.mobile-navigation a {
    display: flex;
    align-items: center;
    padding: 1.2rem 0;
    color: var(--font-color-1);
    text-decoration: none;
    border-bottom: 1px solid var(--bg-2);
}
.mobile-navigation .woo-navigation a {
	border-bottom: unset;
}

.mobile-navigation .main-navigation .menu-item:last-child a, 
.mobile-navigation .woo-navigation .woo-item:last-child, 
.mobile-navigation .category-all, 
.mobile-navigation .main-categories-menu > li:last-child a {
	border-bottom: unset;
}
.mobile-navigation .main-categories-menu .sub-menu li:last-child a {
	margin-bottom: 1rem;
}

.mobile-navigation .nav-category .category-all {
	border-bottom: 1px solid var(--white-1);
	transition: border .3s ease, padding .3s ease;
}
.mobile-navigation .nav-category.submenu-is-open .category-all {
	border-bottom: 1px solid var(--bg-1);
	padding-bottom: 2rem;
}

.mobile-navigation .nav-category:hover .category-all p {
	color: var(--font-color-1);
}
.mobile-navigation .nav-category:hover .category-all svg {
	fill: var(--font-color-1);
}

.mobile-navigation .main-categories-menu li a {
	border-radius: 0;
	padding: 1rem 0;
}
.mobile-navigation .main-categories-menu li a:hover, .mobile-navigation .main-categories-menu li.has-children:hover > a {
	background-color: unset;
}

.mobile-navigation .main-categories-menu li svg {
	transform: rotate(-270deg);
	transition: transform .3s ease;
}
.mobile-navigation .main-categories-menu li.submenu-is-open svg {
	transform: rotate(-90deg);
}

.mobile-navigation nav {
    border-bottom: 2px solid var(--bg-1);
}
.mobile-navigation nav:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.mobile-navigation .sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out !important;
    padding-left: 2.5rem;
}

.mobile-navigation .sub-menu-space {
	position: relative;
	padding: 0;
	top: unset;
	left: unset;
}

.mobile-navigation .submenu-is-open > .main-categories-menu,
.mobile-navigation .submenu-is-open > .sub-menu,
.mobile-navigation .submenu-is-open > .sub-menu-space > .sub-menu {
    max-height: 100vh;
}

.mobile-navigation .nav-category:hover > .category-all svg:last-child {
    transform: unset;
}
.mobile-navigation .submenu-is-open.nav-category > .category-all svg:last-child {
    transform: rotate(180deg);
}


/* ==========================================================================
   3. MEDIA QUERIES (UKRYWANIE/POKAZYWANIE ELEMENTÓW)
   ========================================================================== */
@media (max-width: 1200px) {

    .site-header .main-navigation,
    .site-header .woo-navigation,
	.site-header .nav-category {
        display: none;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .site-header__navigation {
        padding: 1rem 0;
    }
	
	.mobile-navigation .nav-category:after {
		display: none
	}
}

/* ==========================================================================
   4. Animacje Mobile
   ========================================================================== */

.mobile-navigation .mobile-navigation__content > * {
	opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.mobile-menu-is-open .mobile-navigation .mobile-navigation__content > * {
	opacity: 1;
    transform: translateX(0);
}

.mobile-menu-is-open .mobile-navigation .mobile-navigation__content > *:nth-child(1) { transition-delay: .25s; }
.mobile-menu-is-open .mobile-navigation .mobile-navigation__content > *:nth-child(2) { transition-delay: .30s; }
.mobile-menu-is-open .mobile-navigation .mobile-navigation__content > *:nth-child(3) { transition-delay: .35s; }
.mobile-menu-is-open .mobile-navigation .mobile-navigation__content > *:nth-child(4) { transition-delay: .40s; }