/* Brendz – style podstawowe i nagłówek (odwzorowanie brendz.com) */

:root {
	--green: #2bb039;
	--text: #373f50;
	--text-soft: #4b566b;
	--muted: #7d879c;
	--border: #e3e9ef;
	--border-strong: #dee2e6;
	--font: "acumin-pro", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html {
	font-size: 14px;
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

html.has-side-menu { overflow: hidden; }

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-width: 320px;
	margin: 0;
	overflow-x: clip;
	font-family: var(--font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.site-main { flex: 1 0 auto; }

img { max-width: 100%; height: auto; }
a { color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	z-index: 2000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	margin: 0;
	padding: 8px 16px;
	clip: auto;
	background: #fff;
	color: var(--text);
}

/* Kontener: pełna szerokość z paddingiem 10,5 px, od 1200 px węższy (jak w oryginale) */
.container {
	width: 100%;
	margin-inline: auto;
	padding-inline: 10.5px;
}
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (min-width: 1400px) { .container { max-width: 1320px; } }

/* Ikony (maski SVG, kolor = currentColor) */
.icon {
	display: inline-block;
	flex: none;
	background-color: currentColor;
	-webkit-mask: var(--icon) center / contain no-repeat;
	mask: var(--icon) center / contain no-repeat;
}
.icon--user   { --icon: url("../img/icons/user.svg");   width: 21px; height: 21px; }
.icon--cart   { --icon: url("../img/icons/cart.svg");   width: 21px; height: 21px; }
.icon--search { --icon: url("../img/icons/search.svg"); width: 16.8px; height: 16.8px; }
.icon--phone  { --icon: url("../img/icons/phone.svg");  width: 20px; height: 20px; }
.icon--mail   { --icon: url("../img/icons/mail.svg");   width: 20px; height: 20px; }
.icon--pin    { --icon: url("../img/icons/pin.svg");    width: 20px; height: 20px; }
.icon--zoom   { --icon: url("../img/icons/zoom.svg");   width: 24px; height: 24px; }
.icon--check  { --icon: url("../img/icons/check.svg");  width: 17px; height: 17px; }
.icon--file   { --icon: url("../img/icons/file.svg");   width: 22px; height: 22px; }
.icon--filter { --icon: url("../img/icons/filter.svg");  width: 18px; height: 18px; }
.icon--menu   { --icon: url("../img/icons/menu.svg");   width: 24px; height: 24px; }
.icon--close  { --icon: url("../img/icons/close.svg");  width: 24px; height: 24px; }
.icon--chevron { --icon: url("../img/icons/chevron-down.svg"); width: 24px; height: 24px; }

/* Przycisk główny */
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 21px;
	border: 0;
	border-radius: 4.9px;
	background: var(--green);
	font: 700 14px/14px var(--font);
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.button:hover { background: #249a31; }

/* ---------- Komunikaty WooCommerce ---------- */

.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-NoticeGroup,
.woocommerce-notices-wrapper { margin-bottom: 20px; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	--notice-color: #1f6f2a;
	--notice-bg: #eef9ef;
	--notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin: 0 0 16px;
	padding: 14px 18px 14px 52px;
	border: 0;
	border-radius: 10px;
	background: var(--notice-bg);
	font-size: 14px;
	line-height: 22px;
	color: var(--notice-color);
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "";
	position: absolute;
	left: 18px;
	top: 50%;
	margin-top: -11px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: var(--notice-color);
	mask: var(--notice-icon) center / 14px no-repeat exclude, linear-gradient(#000 0 0);
	mask-composite: exclude;
}
.woocommerce-info {
	--notice-color: #2f5f8f;
	--notice-bg: #eef5fc;
	--notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7v.01'/%3E%3C/svg%3E");
}
.woocommerce-error {
	--notice-color: #b42b2b;
	--notice-bg: #fdf1f1;
	--notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v7M12 17v.01'/%3E%3C/svg%3E");
	display: block;
}
.woocommerce-error::before { top: 14px; margin-top: 0; }
.woocommerce-message:focus,
.woocommerce-info:focus,
.woocommerce-error:focus { outline: 0; }
.woocommerce-error li { margin: 0; padding: 0; }
.woocommerce-error li + li { margin-top: 4px; }
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button) { color: inherit; font-weight: 700; text-underline-offset: 2px; }
.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover,
.woocommerce-error a:not(.button):hover { text-decoration: none; }
.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	margin-left: auto;
	padding: 10px 16px;
	float: none;
	white-space: nowrap;
}

/* ---------- Nagłówek ---------- */

.header {
	position: sticky;
	top: 0;
	z-index: 1020;
	background: #fff;
	border-bottom: 1px solid var(--border);
	line-height: 1.5;
}
body.admin-bar .header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }

.header__wrapper {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	padding: 0 0 8px;
}
@media (min-width: 768px) {
	.header__wrapper { flex-wrap: nowrap; padding: 16px 0; }
}

.logo {
	display: flex;
	flex: 1 140px;
	align-items: center;
	justify-content: center;
	max-width: 140px;
	text-decoration: none;
}
.logo img { display: block; width: 100%; height: auto; }
.header__logo { padding: 12px 0; }
@media (min-width: 768px) {
	.logo { flex: 1 195px; max-width: 195px; }
	.header__logo { order: 2; padding: 0; }
}
@media (min-width: 1024px) {
	.logo { justify-content: flex-start; }
}

/* Przyciski: konto, koszyk */
.header__buttons {
	display: flex;
	flex: 1 calc(100% - 140px);
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	width: calc(100% - 140px);
}
@media (min-width: 768px) {
	.header__buttons { order: 3; flex: 0 0 auto; width: auto; }
}

.header-account {
	display: flex;
	align-items: center;
	margin-right: 7px;
	padding: 7px 7px 7px 0;
	border-right: 1px solid var(--border-strong);
	color: var(--text);
	text-decoration: none;
}
.header-account__text {
	display: none;
	margin-left: 7px;
	line-height: 1.25;
	color: #000;
	white-space: nowrap;
}
.header-account__text small,
.header-cart__text small {
	display: block;
	font-size: 12px;
	line-height: 15px;
	color: var(--muted);
}

.header-cart {
	display: flex;
	align-items: center;
	padding: 0;
	border: 1px solid transparent;
	color: var(--text);
	text-decoration: none;
}
.header-cart__icon { position: relative; display: flex; align-items: center; }
.header-cart__text { display: none; margin-left: 7px; line-height: 1.25; color: #000; white-space: nowrap; }
.header-cart__total .woocommerce-Price-amount { font-weight: 400; }

.header-counter {
	position: absolute;
	top: -10px;
	right: -10px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	border: 2px solid #fff;
	border-radius: 22px;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	background: var(--green);
}
.header-counter--hidden { display: none; }

@media (min-width: 768px) {
	.header-account { margin-right: 21px; padding-right: 21px; }
}
@media (min-width: 992px) {
	.header-account__text,
	.header-cart__text { display: block; }
}

/* Wyszukiwarka */
.header__search-wrapper {
	z-index: 51;
	display: flex;
	flex: 1 1 50%;
	flex-flow: column nowrap;
	justify-content: center;
	order: 3;
	padding: 0 0 0 8px;
}
@media (min-width: 768px) {
	.header__search-wrapper { order: 2; padding: 0 24px; }
}
@media (min-width: 1024px) {
	.header__search-wrapper { padding: 0 42px; }
}
@media (min-width: 1200px) {
	.header__search-wrapper { padding: 0 42px 0 140px; }
}

.search-form { position: relative; width: 100%; margin: 0; }
.search-form__wrapper { position: relative; }

.search-form__input {
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0 42px 0 8px;
	border: 1px solid var(--border);
	border-radius: 70px;
	font: inherit;
	font-size: 14px;
	color: #000;
	background: #fff;
	-webkit-appearance: none;
	appearance: none;
}
.search-form__input::placeholder { font-size: 13px; color: var(--text); opacity: 1; }
.search-form__input:focus { outline: 0; border-color: var(--green); }
.search-form__input::-webkit-search-cancel-button { display: none; }

.search-form__button {
	position: absolute;
	top: 1px;
	right: 0;
	display: flex;
	align-items: center;
	height: 100%;
	margin: 0;
	padding: 0 14px 0 8px;
	border: 0;
	background: none;
	color: var(--text);
	cursor: pointer;
}
@media (min-width: 768px) {
	.search-form__input { height: 48px; padding-left: 16px; }
	.search-form__input::placeholder { font-size: 14px; }
	.search-form__button { padding-right: 21px; }
}

/* Przycisk menu (tylko mobile) */
.side-menu { order: 1; display: flex; align-items: center; }
.side-menu__trigger {
	display: flex;
	padding: 0;
	border: 0;
	background: none;
	color: var(--text-soft);
	cursor: pointer;
}
@media (min-width: 768px) {
	.side-menu { margin-right: 12px; }
}
@media (min-width: 1200px) {
	.side-menu { display: none; }
}

/* ---------- Pasek menu (desktop) ---------- */

.mega-menu {
	position: relative;
	z-index: 50;
	display: none;
	margin: 0;
	border-top: 1px solid var(--border);
}
@media (min-width: 1200px) {
	.mega-menu { display: block; }
}

.mega-menu__list {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	flex-wrap: nowrap;
	justify-content: center;
	column-gap: 20px;
	background: #fff;
}
@media (min-width: 1200px) and (max-width: 1399px) {
	.mega-menu__list { max-width: none; padding-inline: 24px; }
}
@media (min-width: 1400px) {
	.mega-menu__list { column-gap: 35px; }
}

.mega-menu__item { position: relative; display: flex; }

.mega-menu__link {
	position: relative;
	z-index: 51;
	display: flex;
	align-items: center;
	padding: 14px 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
}
@media (min-width: 1400px) {
	.mega-menu__link { font-size: 15.4px; }
}
.mega-menu__item--parent > .mega-menu__link::after {
	content: "";
	display: block;
	width: 21px;
	height: 21px;
	margin-left: 3.5px;
	background: url("../img/icons/chevron-down.svg") center / contain no-repeat;
}

.mega-menu__item:hover > .mega-menu__link,
.mega-menu__item:focus-within > .mega-menu__link { color: var(--green); }

.mega-menu__inner-list {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	display: none;
	flex-direction: column;
	min-width: 210px;
	width: max-content;
	background: #fff;
	box-shadow: 0 4.2px 21.35px -5.25px rgba(0, 0, 0, 0.1);
}
.mega-menu__item:hover > .mega-menu__inner-list,
.mega-menu__item:focus-within > .mega-menu__inner-list { display: flex; }

.mega-menu__inner-link {
	display: block;
	padding: 8px 16px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--text-soft);
	text-decoration: none;
}
.mega-menu__inner-link:hover,
.mega-menu__inner-link:focus-visible { color: var(--green); }

/* ---------- Menu boczne (mobile) ---------- */

.side-menu__backdrop {
	position: fixed;
	inset: 0;
	z-index: 1099;
	background: rgba(15, 20, 30, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0s 0.3s;
}
.side-menu__backdrop.is-open { opacity: 1; visibility: visible; transition: opacity 0.3s ease; }

.side-menu__modal {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 1100;
	display: flex;
	flex-direction: column;
	width: min(100%, 400px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	visibility: hidden;
	transform: translateX(-100%);
	transition: transform 0.3s ease, visibility 0s 0.3s;
}
.side-menu__modal.is-open { visibility: visible; transform: none; transition: transform 0.3s ease; }

.side-menu__top {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-bottom: 1px solid var(--border);
	background: #fff;
}
.side-menu__logo { display: block; width: 130px; }
.side-menu__logo img { display: block; width: 100%; height: auto; }

.side-menu__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: var(--text-soft);
	cursor: pointer;
}
.side-menu__close:active { background: #f2f4f7; }

.dropdown-list { padding: 8px 16px 0; }
.dropdown-list__item { border-bottom: 1px solid var(--border); }

.dropdown-list__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 54px;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: #000;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.dropdown-list__label .icon { color: var(--text-soft); transition: transform 0.25s ease; }
.dropdown-list__item.is-open > .dropdown-list__label { color: var(--green); }
.dropdown-list__item.is-open > .dropdown-list__label .icon { transform: rotate(180deg); }

/* Animowane rozwijanie (grid 0fr → 1fr) */
.dropdown-list__panel {
	display: grid;
	grid-template-rows: 0fr;
	visibility: hidden;
	transition: grid-template-rows 0.25s ease, visibility 0s 0.25s;
}
.dropdown-list__item.is-open > .dropdown-list__panel {
	grid-template-rows: 1fr;
	visibility: visible;
	transition: grid-template-rows 0.25s ease;
}
.dropdown-list__inner { min-height: 0; overflow: hidden; }
.dropdown-list__item.is-open .dropdown-list__inner { padding-bottom: 10px; }

.dropdown-list__link {
	display: flex;
	align-items: center;
	min-height: 46px;
	padding: 4px 0 4px 12px;
	font-size: 15px;
	color: var(--text-soft);
	text-decoration: none;
}
.dropdown-list__link:active,
.dropdown-list__link:hover { color: var(--green); }
.dropdown-list__link--all { font-weight: 700; color: var(--green); }

.contact-bar { margin-top: auto; padding: 24px 16px 32px; }
.contact-bar a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font-size: 15px;
	color: var(--text);
	text-decoration: none;
}
.contact-bar li:first-child a { font-weight: 500; }
.contact-bar li:not(:first-child) a { font-size: 14px; color: var(--green); }

@media (prefers-reduced-motion: reduce) {
	.side-menu__modal,
	.side-menu__backdrop,
	.dropdown-list__panel,
	.dropdown-list__label .icon { transition: none; }
}

/* ---------- Stopka ---------- */

.footer {
	margin: 0;
	background: url("../img/footer-bg.svg") 50% 0 / cover no-repeat;
	color: var(--text);
}

.footer__top { padding-top: 21px; }
@media (min-width: 768px) { .footer__top { padding-top: 42px; } }

.footer__grid { display: flex; flex-direction: column; }
@media (min-width: 768px) {
	.footer__grid { flex-direction: row; margin-inline: -10.5px; }
	.footer__main { flex: 0 0 58.3333%; padding-inline: 10.5px; }
	.footer__contact { flex: 0 0 41.6667%; padding-inline: 10.5px; }
}
@media (min-width: 992px) {
	.footer__main { flex-basis: 66.6667%; }
	.footer__contact { flex-basis: 33.3333%; }
}

.footer__main { display: grid; grid-template-columns: 1fr; }
@media (min-width: 768px) {
	.footer__main { grid-template-columns: 1fr 1fr; column-gap: 14px; align-items: start; }
}

.footer__label {
	margin: 0;
	padding: 0 48px 14px 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 25.6px;
	color: var(--text);
}

.footer__list { padding-bottom: 21px; }
.footer__list li + li { margin-top: 8.4px; }
.footer__link { display: inline-block; font-size: 14px; line-height: 22.4px; color: var(--text); text-decoration: none; }
.footer__link:hover { color: var(--green); }

.footer__contact-title {
	margin: 0 0 14px;
	font-size: 17.5px;
	font-weight: 700;
	line-height: 28px;
	color: var(--text);
}
@media (min-width: 768px) { .footer__contact-title { margin-bottom: 21px; } }

.footer__address { margin: 0 0 14px; font-size: 15px; font-style: normal; line-height: 22.5px; }
.footer__company { display: block; font-weight: 500; }
.footer__contact-links { display: flex; flex-direction: column; }
.footer__contact-links a { font-size: 15px; line-height: 24px; color: var(--text); text-decoration: none; }
.footer__contact-links a:hover { color: var(--green); }

.footer__bottom { padding: 42px 0 14px; text-align: center; }
@media (min-width: 768px) { .footer__bottom { padding-bottom: 21px; text-align: left; } }

.footer__logo { display: block; width: 140px; margin: 0 auto 21px; }
@media (min-width: 768px) { .footer__logo { width: 195px; margin-inline: 0; } }
.footer__logo img { display: block; width: 100%; height: auto; }

.footer__legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 21px; margin-bottom: 31px; }
@media (min-width: 768px) { .footer__legal { justify-content: flex-start; } }
.footer__legal a { font-size: 14px; line-height: 22.4px; color: #8d8d8d; text-decoration: none; }
.footer__legal a:hover { color: var(--green); }

.footer__copy { display: block; font-size: 12px; line-height: 18px; color: var(--text); }

/* Okruszki */
.breadcrumbs { padding: 8px 0; }
.breadcrumbs__list { display: flex; flex-wrap: wrap; align-items: center; }
.breadcrumbs__item { display: flex; align-items: center; font-size: 12.25px; line-height: 24px; color: #7d879c; }
.breadcrumbs__item + .breadcrumbs__item::before {
	content: "";
	width: 9px;
	height: 9px;
	margin: 0 8px;
	background: #7d879c;
	-webkit-mask: url("../img/icons/chevron-left.svg") center / contain no-repeat;
	mask: url("../img/icons/chevron-left.svg") center / contain no-repeat;
	transform: scaleX(-1);
}
.breadcrumbs__link { color: var(--text-soft); text-decoration: none; }
.breadcrumbs__link:hover { color: var(--green); }
