/* =========================================================
   Happy Life - global header/menu system + PMPro locked state
   Astra Child
   ========================================================= */

/* =========================================================
   1. USTAWIENIA KOLORÓW / DESIGN TOKENS
   ========================================================= */
:root {
	--hl-brand: #1fa8e8;
	--hl-brand-dark: #0f6fa5;
	--hl-text: #111827;
	--hl-text-soft: #4b5563;
	--hl-white: #ffffff;
	--hl-border: #e5e7eb;
	--hl-shadow: 0 12px 30px rgba(17, 24, 39, 0.10);

	/* Transparent / hero header */
	--hl-transparent-header-bg: linear-gradient(
		to bottom,
		rgba(15, 23, 42, 0.38),
		rgba(15, 23, 42, 0.14)
	);
	--hl-transparent-link: #ffffff;
	--hl-transparent-link-hover: #dff6ff;
	--hl-transparent-dropdown-bg: rgba(8, 32, 55, 0.70);
	--hl-transparent-dropdown-border: rgba(255, 255, 255, 0.18);
	--hl-transparent-dropdown-hover: rgba(255, 255, 255, 0.10);

	/* Normal / white header */
	--hl-normal-header-bg: rgba(255, 255, 255, 0.96);
	--hl-normal-link: #111827;
	--hl-normal-link-hover: var(--hl-brand-dark);
	--hl-normal-dropdown-bg: rgba(255, 255, 255, 0.98);
	--hl-normal-dropdown-hover: rgba(31, 168, 232, 0.08);
}

/* =========================================================
   2. OGÓLNE PORZĄDKI
   ========================================================= */
body .site-header,
body #masthead {
	z-index: 100;
}

body .main-header-menu .sub-menu,
body .ast-builder-menu-1 .sub-menu {
	min-width: 250px;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid transparent;
	box-shadow: var(--hl-shadow);
	padding: 10px 0;
}

body .main-header-menu .sub-menu .menu-link,
body .ast-builder-menu-1 .sub-menu .menu-link {
	padding: 14px 20px;
	line-height: 1.35;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body .main-header-menu .menu-link,
body .ast-builder-menu-1 .menu-link,
body .site-title a,
body .ast-header-account-wrap a,
body .ast-header-account-wrap .menu-link,
body .ast-cart-menu-wrap a {
	transition: color 0.2s ease, opacity 0.2s ease;
}

/* =========================================================
   3. GLOBALNY NORMALNY HEADER (strony bez transparent header)
   ========================================================= */
body:not(.ast-theme-transparent-header) #masthead,
body:not(.ast-theme-transparent-header) .site-header,
body:not(.ast-theme-transparent-header) .main-header-bar,
body:not(.ast-theme-transparent-header) .ast-primary-header-bar,
body:not(.ast-theme-transparent-header) .ast-builder-grid-row-container {
	background: var(--hl-normal-header-bg) !important;
	backdrop-filter: saturate(180%) blur(8px);
	-webkit-backdrop-filter: saturate(180%) blur(8px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

body:not(.ast-theme-transparent-header) .main-header-menu .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .menu-link,
body:not(.ast-theme-transparent-header) .site-title a,
body:not(.ast-theme-transparent-header) .ast-header-account-wrap a,
body:not(.ast-theme-transparent-header) .ast-header-account-wrap .menu-link,
body:not(.ast-theme-transparent-header) .ast-cart-menu-wrap a,
body:not(.ast-theme-transparent-header) .ast-builder-grid-row .site-header-section * {
	color: var(--hl-normal-link) !important;
}

body:not(.ast-theme-transparent-header) .main-header-menu .menu-item:hover > .menu-link,
body:not(.ast-theme-transparent-header) .main-header-menu .current-menu-item > .menu-link,
body:not(.ast-theme-transparent-header) .main-header-menu .current-menu-ancestor > .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .menu-item:hover > .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .current-menu-item > .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .current-menu-ancestor > .menu-link {
	color: var(--hl-normal-link-hover) !important;
}

body:not(.ast-theme-transparent-header) .main-header-menu .sub-menu,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .sub-menu {
	background: var(--hl-normal-dropdown-bg) !important;
	border-color: rgba(17, 24, 39, 0.08);
}

body:not(.ast-theme-transparent-header) .main-header-menu .sub-menu .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .sub-menu .menu-link {
	color: var(--hl-text) !important;
}

body:not(.ast-theme-transparent-header) .main-header-menu .sub-menu .menu-item:hover > .menu-link,
body:not(.ast-theme-transparent-header) .main-header-menu .sub-menu .current-menu-item > .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .sub-menu .menu-item:hover > .menu-link,
body:not(.ast-theme-transparent-header) .ast-builder-menu-1 .sub-menu .current-menu-item > .menu-link {
	background: var(--hl-normal-dropdown-hover);
	color: var(--hl-brand-dark) !important;
}

/* =========================================================
   4. GLOBALNY TRANSPARENT HEADER (strony z hero / zdjęciem)
   Główny pasek całkowicie przezroczysty, dropdown ciemny
   ========================================================= */
body.ast-theme-transparent-header:not(.hl-membership-locked) #masthead,
body.ast-theme-transparent-header:not(.hl-membership-locked) .site-header,
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-bar,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-primary-header-bar {
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* WAŻNE:
   wewnętrzne kontenery też muszą być transparentne,
   żeby nie tworzyły dodatkowej warstwy */
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-grid-row-container,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-grid-row,
body.ast-theme-transparent-header:not(.hl-membership-locked) .site-primary-header-wrap,
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-container,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-layout-element {
	background: transparent !important;
	box-shadow: none !important;
}

/* Tekst i linki na hero */
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .site-title a,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-header-account-wrap a,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-header-account-wrap .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-cart-menu-wrap a,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-grid-row .site-header-section * {
	color: #ffffff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.20);
}

body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .menu-item:hover > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .current-menu-item > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .current-menu-ancestor > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .menu-item:hover > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .current-menu-item > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .current-menu-ancestor > .menu-link {
	color: #dff6ff !important;
}

/* Dropdown zostaje ciemny i półprzezroczysty */
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .sub-menu,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .sub-menu {
	background: rgba(8, 32, 55, 0.68) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .sub-menu .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .sub-menu .menu-link {
	color: #ffffff !important;
}

body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .sub-menu .menu-item:hover > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .main-header-menu .sub-menu .current-menu-item > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .sub-menu .menu-item:hover > .menu-link,
body.ast-theme-transparent-header:not(.hl-membership-locked) .ast-builder-menu-1 .sub-menu .current-menu-item > .menu-link {
	background: rgba(255, 255, 255, 0.08) !important;
	color: #ffffff !important;
}

/* =========================================================
   5. STRONY CZŁONKOWSKIE - ogólne
   ========================================================= */
body.hl-membership-ui .ast-container {
	max-width: 1120px;
	padding-left: 20px;
	padding-right: 20px;
}

/* =========================================================
   6. STAN: BRAK DOSTĘPU / PMPro locked
   Tylko wtedy header przechodzi na normalny biały wariant.
   ========================================================= */
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header #masthead,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .site-header,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .main-header-bar,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-primary-header-bar,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-builder-grid-row-container {
	background: var(--hl-normal-header-bg) !important;
	backdrop-filter: saturate(180%) blur(8px);
	-webkit-backdrop-filter: saturate(180%) blur(8px);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

/* Ciemny tekst menu tylko w stanie locked */
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .main-header-menu .menu-link,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-builder-menu-1 .menu-link,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .site-title a,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-header-account-wrap a,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-header-account-wrap .menu-link,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-cart-menu-wrap a,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-builder-grid-row .site-header-section * {
	color: var(--hl-normal-link) !important;
	text-shadow: none !important;
}

/* Ikony / SVG w locked */
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ahfb-svg-iconset svg,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ahfb-svg-iconset svg path,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-icon svg,
body.hl-membership-ui.hl-membership-locked.ast-theme-transparent-header .ast-icon svg path {
	fill: var(--hl-normal-link) !important;
	color: var(--hl-normal-link) !important;
	filter: none;
}

/* Schowaj hero / tytuł strony tylko w stanie locked,
   żeby nie dublował się z komunikatem PMPro */
body.hl-membership-ui.hl-membership-locked .entry-header,
body.hl-membership-ui.hl-membership-locked .entry-title,
body.hl-membership-ui.hl-membership-locked .post-thumb-img-content,
body.hl-membership-ui.hl-membership-locked .wp-post-image,
body.hl-membership-ui.hl-membership-locked .ast-single-post-featured-section,
body.hl-membership-ui.hl-membership-locked .site-content .hero,
body.hl-membership-ui.hl-membership-locked .site-content .banner,
body.hl-membership-ui.hl-membership-locked .site-content .cover {
	display: none !important;
}

/* Odstęp od góry, żeby box PMPro nie siedział pod headerem */
body.hl-membership-ui.hl-membership-locked .site-content {
	padding-top: 150px;
}

/* Gdy jesteś zalogowany jako admin i masz górny pasek WP */
body.admin-bar.hl-membership-ui.hl-membership-locked .site-content {
	padding-top: 182px;
}

/* Box z komunikatem PMPro */
body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message {
	max-width: 940px;
	margin: 24px auto 40px;
}

body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_content_message,
body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_non_member_text,
body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_message,
body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_msg {
	background: #ffffff;
	border: 1px solid var(--hl-border);
	border-radius: 18px;
	padding: 32px;
	box-shadow: var(--hl-shadow);
}

/* Przyciski PMPro */
body.hl-membership-ui.hl-membership-locked .pmpro_btn,
body.hl-membership-ui.hl-membership-locked a.pmpro_btn,
body.hl-membership-ui.hl-membership-locked .pmpro_btn-select {
	border-radius: 12px;
	padding: 12px 22px;
}

/* Link logowania pod komunikatem */
body.hl-membership-ui.hl-membership-locked .pmpro_actions_nav,
body.hl-membership-ui.hl-membership-locked .pmpro_login_wrap {
	margin-top: 18px;
}

/* =========================================================
   7. TABLET / TELEFON - mobile drawer i menu
   ========================================================= */
body.ast-header-break-point .ast-mobile-popup-drawer,
body.ast-header-break-point .ast-mobile-popup-content,
body.ast-header-break-point .ast-builder-menu-mobile {
	background: rgba(255, 255, 255, 0.98) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

body.ast-header-break-point .ast-mobile-popup-drawer .menu-link,
body.ast-header-break-point .ast-builder-menu-mobile .menu-link,
body.ast-header-break-point .main-header-menu .menu-link,
body.ast-header-break-point .ast-header-account-wrap a,
body.ast-header-break-point .ast-cart-menu-wrap a {
	color: var(--hl-text) !important;
	text-shadow: none !important;
}

body.ast-header-break-point .ast-mobile-popup-drawer .menu-link:hover,
body.ast-header-break-point .ast-builder-menu-mobile .menu-link:hover,
body.ast-header-break-point .main-header-menu .menu-item:hover > .menu-link,
body.ast-header-break-point .main-header-menu .current-menu-item > .menu-link,
body.ast-header-break-point .main-header-menu .current-menu-ancestor > .menu-link {
	color: var(--hl-brand-dark) !important;
}

body.ast-header-break-point .ast-mobile-popup-drawer .sub-menu,
body.ast-header-break-point .ast-builder-menu-mobile .sub-menu,
body.ast-header-break-point .main-header-menu .sub-menu {
	background: rgba(31, 168, 232, 0.06) !important;
	border: 1px solid rgba(31, 168, 232, 0.10);
	border-radius: 12px;
	box-shadow: none;
	padding: 6px 0;
	margin-top: 8px;
}

body.ast-header-break-point .ast-mobile-popup-drawer .sub-menu .menu-link,
body.ast-header-break-point .ast-builder-menu-mobile .sub-menu .menu-link,
body.ast-header-break-point .main-header-menu .sub-menu .menu-link {
	color: var(--hl-text) !important;
	padding: 12px 16px;
}

body.ast-header-break-point .menu-toggle-close,
body.ast-header-break-point .ast-mobile-popup-close,
body.ast-header-break-point .menu-toggle-open,
body.ast-header-break-point .ast-button-wrap .menu-toggle {
	color: var(--hl-text) !important;
	fill: var(--hl-text) !important;
}

/* Locked state na mobile */
@media (max-width: 768px) {
	body.hl-membership-ui.hl-membership-locked .site-content {
		padding-top: 110px;
	}

	body.admin-bar.hl-membership-ui.hl-membership-locked .site-content {
		padding-top: 142px;
	}

	body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_content_message,
	body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_non_member_text,
	body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_message,
	body.hl-membership-ui.hl-membership-locked .hl-membership-locked-message .pmpro_msg {
		padding: 20px;
		border-radius: 14px;
	}

	body .main-header-menu .sub-menu,
	body .ast-builder-menu-1 .sub-menu {
		min-width: 220px;
	}
}

/* =========================================================
   8. MINI KOSZYK / DROPDOWN CART – MOCNA POPRAWA CZYTELNOŚCI
   ========================================================= */

.ast-site-header-cart,
.site-header-cart,
.widget_shopping_cart_content,
.woocommerce-mini-cart,
.woocommerce-mini-cart__total,
.woocommerce-mini-cart__buttons {
	color: #1f2937;
}

/* Panel koszyka */
.ast-site-header-cart .widget_shopping_cart,
.ast-site-header-cart .widget_shopping_cart_content,
.site-header-cart .widget_shopping_cart,
.site-header-cart .widget_shopping_cart_content {
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 18px;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18);
	color: #1f2937;
	padding: 18px;
}

/* Lista produktów w mini koszyku */
.ast-site-header-cart .woocommerce-mini-cart li,
.site-header-cart .woocommerce-mini-cart li,
.ast-site-header-cart .woocommerce-mini-cart-item,
.site-header-cart .woocommerce-mini-cart-item {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	padding-bottom: 12px;
	margin-bottom: 12px;
	color: #1f2937;
}

/* Linki i nazwy produktów */
.ast-site-header-cart .woocommerce-mini-cart li a,
.site-header-cart .woocommerce-mini-cart li a,
.ast-site-header-cart .woocommerce-mini-cart__total,
.site-header-cart .woocommerce-mini-cart__total,
.ast-site-header-cart .quantity,
.site-header-cart .quantity {
	color: #1f2937 !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* Miniatury */
.ast-site-header-cart .woocommerce-mini-cart img,
.site-header-cart .woocommerce-mini-cart img {
	border-radius: 10px;
}

/* Cena / ilość */
.ast-site-header-cart .quantity,
.site-header-cart .quantity,
.ast-site-header-cart .amount,
.site-header-cart .amount {
	color: #4b5563 !important;
	font-weight: 500;
}

/* Suma */
.ast-site-header-cart .woocommerce-mini-cart__total,
.site-header-cart .woocommerce-mini-cart__total {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	font-weight: 700;
}

/* Przyciski w mini koszyku */
.ast-site-header-cart .woocommerce-mini-cart__buttons a,
.site-header-cart .woocommerce-mini-cart__buttons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
	margin-top: 10px;
	text-shadow: none !important;
}

/* "Zobacz koszyk" */
.ast-site-header-cart .woocommerce-mini-cart__buttons .button,
.site-header-cart .woocommerce-mini-cart__buttons .button {
	background: #ffffff;
	color: #2f6f1e !important;
	border: 2px solid #2f6f1e;
}

/* "Zamówienie" / checkout */
.ast-site-header-cart .woocommerce-mini-cart__buttons .checkout,
.site-header-cart .woocommerce-mini-cart__buttons .checkout {
	background: #3b7f1a;
	color: #ffffff !important;
	border: 2px solid #3b7f1a;
}

.ast-site-header-cart .woocommerce-mini-cart__buttons .button:hover,
.site-header-cart .woocommerce-mini-cart__buttons .button:hover {
	background: #f7faf7;
	color: #245815 !important;
	border-color: #245815;
}

.ast-site-header-cart .woocommerce-mini-cart__buttons .checkout:hover,
.site-header-cart .woocommerce-mini-cart__buttons .checkout:hover {
	background: #2f6f1e;
	border-color: #2f6f1e;
	color: #ffffff !important;
}

/* Przycisk usuwania z koszyka */
.ast-site-header-cart .remove,
.site-header-cart .remove {
	color: #b91c1c !important;
	background: transparent !important;
	font-size: 18px;
	line-height: 1;
}

/* Pusty koszyk */
.ast-site-header-cart .woocommerce-mini-cart__empty-message,
.site-header-cart .woocommerce-mini-cart__empty-message {
	color: #4b5563 !important;
	text-align: center;
	margin: 0;
}

/* =========================================================
   9. FINAL FIX – MINI KOSZYK W TRANSPARENT HEADER
   Wklej NA SAM KONIEC pliku
   ========================================================= */

/* Panel mini-koszyka na stronach z transparent header */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content {
	background: rgba(255, 255, 255, 0.98) !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
	border-radius: 20px !important;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #1f2937 !important;
	opacity: 1 !important;
	filter: none !important;
}

/* Cała zawartość mini-koszyka: tekst ma być ciemny i bez cienia */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content *,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content *,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content *,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content * {
	color: #1f2937 !important;
	text-shadow: none !important;
	opacity: 1 !important;
	filter: none !important;
	visibility: visible !important;
}

/* Nazwa produktu */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart li a,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart-item a {
	color: #1f2937 !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
}

/* Cena / ilość */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .quantity,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .amount,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__total,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__total strong {
	color: #4b5563 !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* Suma */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__total {
	border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
	padding-top: 12px !important;
	margin-top: 12px !important;
}

/* Separator produktów */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart li,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart-item {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
	padding-bottom: 12px !important;
	margin-bottom: 12px !important;
}

/* Przycisk usuń */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .remove {
	color: #b91c1c !important;
	background: transparent !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* "Zobacz koszyk" */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__buttons .button {
	background: #ffffff !important;
	color: #2f6f1e !important;
	border: 2px solid #2f6f1e !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* "Zamówienie" / checkout */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__buttons .checkout {
	background: #3b7f1a !important;
	color: #ffffff !important;
	border: 2px solid #3b7f1a !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/* Hover przycisków */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__buttons .button:hover {
	background: #f7faf7 !important;
	color: #245815 !important;
	border-color: #245815 !important;
}

body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart__buttons .checkout:hover {
	background: #2f6f1e !important;
	border-color: #2f6f1e !important;
	color: #ffffff !important;
}

/* Miniatury */
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .woocommerce-mini-cart img {
	border-radius: 10px !important;
	opacity: 1 !important;
	filter: none !important;
}

/* =========================================================
   10. MINI KOSZYK – SZEROKOŚĆ PANELU
   Wklej na sam koniec pliku
   ========================================================= */

/* Desktop / global */
.ast-site-header-cart .widget_shopping_cart_content,
.site-header-cart .widget_shopping_cart_content,
.ast-cart-menu-wrap .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content {
	width: min(420px, calc(100vw - 40px)) !important;
	min-width: 420px !important;
	max-width: min(420px, calc(100vw - 40px)) !important;
}

/* Trochę więcej miejsca na treść produktu */
.ast-site-header-cart .woocommerce-mini-cart li,
.site-header-cart .woocommerce-mini-cart li,
.ast-cart-menu-wrap .woocommerce-mini-cart li,
.ast-site-header-cart .woocommerce-mini-cart-item,
.site-header-cart .woocommerce-mini-cart-item,
.ast-cart-menu-wrap .woocommerce-mini-cart-item {
	padding-right: 8px !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.ast-site-header-cart .widget_shopping_cart_content,
	.site-header-cart .widget_shopping_cart_content,
	.ast-cart-menu-wrap .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content {
		width: min(380px, calc(100vw - 32px)) !important;
		min-width: 380px !important;
		max-width: min(380px, calc(100vw - 32px)) !important;
	}
}

/* Telefon */
@media (max-width: 767px) {
	.ast-site-header-cart .widget_shopping_cart_content,
	.site-header-cart .widget_shopping_cart_content,
	.ast-cart-menu-wrap .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content,
	body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content {
		width: calc(100vw - 24px) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 24px) !important;
		right: 12px !important;
		left: auto !important;
	}
}

/* =========================================================
   11. MINI KOSZYK – USUNIĘCIE ZEWNĘTRZNEGO DODATKOWEGO BOXA
   Wklej na sam koniec pliku
   ========================================================= */

/* Zewnętrzny wrapper ma być całkowicie "niewidzialny" */
.ast-site-header-cart .widget_shopping_cart,
.site-header-cart .widget_shopping_cart,
.ast-cart-menu-wrap .widget_shopping_cart,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
}

/* Tylko wewnętrzny panel ma wyglądać jak box */
.ast-site-header-cart .widget_shopping_cart_content,
.site-header-cart .widget_shopping_cart_content,
.ast-cart-menu-wrap .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .site-header-cart .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .ast-cart-menu-wrap .widget_shopping_cart_content,
body.ast-theme-transparent-header .ast-builder-grid-row .site-header-section .widget_shopping_cart_content {
	background: rgba(255, 255, 255, 0.98) !important;
	border: 1px solid rgba(15, 23, 42, 0.08) !important;
	border-radius: 20px !important;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18) !important;
	padding: 18px !important;
	margin: 0 !important;
}

/* Dodatkowe zabezpieczenie przed pseudo-elementami wrappera */
.ast-site-header-cart .widget_shopping_cart::before,
.ast-site-header-cart .widget_shopping_cart::after,
.site-header-cart .widget_shopping_cart::before,
.site-header-cart .widget_shopping_cart::after,
.ast-cart-menu-wrap .widget_shopping_cart::before,
.ast-cart-menu-wrap .widget_shopping_cart::after {
	display: none !important;
	content: none !important;
}

/* =========================================================
   12. PMPRO SYSTEM PAGES – odstęp od headera
   Membership Confirmation / Account / Billing / Orders etc.
   ========================================================= */

/*
   Dotyczy stron członkowskich PMPro bez transparentnego hero.
   Dzięki temu tytuły typu "Membership Confirmation" nie siedzą
   zbyt blisko dolnej kreski headera.
*/
body.hl-membership-ui:not(.hl-membership-locked):not(.ast-theme-transparent-header) .site-content > .ast-container {
	padding-top: 42px;
}

/* Ładniejszy oddech dla głównego tytułu strony PMPro */
body.hl-membership-ui:not(.hl-membership-locked):not(.ast-theme-transparent-header) .entry-header,
body.hl-membership-ui:not(.hl-membership-locked):not(.ast-theme-transparent-header) .entry-title {
	margin-top: 0;
}

/* Delikatne dopracowanie treści PMPro */
body.hl-membership-ui:not(.hl-membership-locked):not(.ast-theme-transparent-header) .pmpro {
	margin-top: 18px;
}

/* Karty / potwierdzenia PMPro – trochę więcej oddechu */
body.hl-membership-ui:not(.hl-membership-locked) .pmpro_confirmation_wrap,
body.hl-membership-ui:not(.hl-membership-locked) .pmpro_invoice_wrap,
body.hl-membership-ui:not(.hl-membership-locked) .pmpro_account,
body.hl-membership-ui:not(.hl-membership-locked) .pmpro_billing_wrap,
body.hl-membership-ui:not(.hl-membership-locked) .pmpro_orders_wrap {
	margin-top: 24px;
}

/* Mobile/tablet */
@media (max-width: 768px) {
	body.hl-membership-ui:not(.hl-membership-locked):not(.ast-theme-transparent-header) .site-content > .ast-container {
		padding-top: 28px;
	}

	body.hl-membership-ui:not(.hl-membership-locked) .pmpro_confirmation_wrap,
	body.hl-membership-ui:not(.hl-membership-locked) .pmpro_invoice_wrap,
	body.hl-membership-ui:not(.hl-membership-locked) .pmpro_account,
	body.hl-membership-ui:not(.hl-membership-locked) .pmpro_billing_wrap,
	body.hl-membership-ui:not(.hl-membership-locked) .pmpro_orders_wrap {
		margin-top: 18px;
	}
}