/**
 * HityNaSobie.pl - Kompletny Dark Mode Design System dla WooCommerce (v1.1.0)
 * Zoptymalizowany pod Astra + WooCommerce + InPost + HotPay
 */

:root,
body {
	--hns-bg-main: #0b0f19;
	--hns-bg-card: #151b2b;
	--hns-bg-elevated: #1e273d;
	--hns-bg-input: #0f1422;
	--hns-border: #2e3a59;
	--hns-text-main: #f8fafc;
	--hns-text-secondary: #e2e8f0;
	--hns-text-muted: #94a3b8;
	--hns-accent: #8b5cf6;
	--hns-accent-hover: #7c3aed;
	--hns-accent-green: #10b981;
	--hns-accent-purple: #8b5cf6;
	--hns-danger: #ef4444;
	--hns-radius: 12px;
	--hns-radius-sm: 8px;

	/* Nadpisanie globalnej palety motywu Astra (eliminacja ciemnogranatowej czcionki #1e293b / #334155) */
	--ast-global-color-0: #8b5cf6 !important;
	--ast-global-color-1: #a78bfa !important;
	--ast-global-color-2: #f8fafc !important;
	--ast-global-color-3: #e2e8f0 !important;
	--ast-global-color-4: #151b2b !important;
	--ast-global-color-5: #0b0f19 !important;
	--ast-global-color-6: #2e3a59 !important;
	--ast-global-color-7: #0b0f19 !important;
	--ast-global-color-8: #f8fafc !important;
}

/* ==========================================================================
   0. GLOBALNY BOX-SIZING & KONTENERY PODSTRON (KONIEC ROZCIĄGANIA NA 100%)
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Na wszystkich podstronach poza główną (Koszyk, Zamówienie, Sklep, Produkt)
   centrujemy zawartość do czytelnej szerokości 1220px z odstępami */
body:not(.home) .hns-site-content,
body:not(.home) .site-content > .ast-container,
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content {
	max-width: 1220px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 40px 24px 64px !important;
}

body.home .hns-site-content {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

/* ==========================================================================
   1. RESET TŁA I TYPOGRAFII (ZERO BIAŁYCH PLAM I ZLEWAJĄCEGO SIĘ TEKSTU)
   ========================================================================== */
html,
body,
#page,
.site,
.site-content,
.content-area,
.ast-separate-container,
.ast-plain-container,
.ast-page-builder-template,
.entry-content,
.woocommerce,
.woocommerce-page {
	background-color: var(--hns-bg-main) !important;
	color: var(--hns-text-main) !important;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.product_title,
.woocommerce-loop-product__title,
.cart_totals > h2,
#order_review_heading {
	color: var(--hns-text-main) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
}

.entry-header {
	margin-bottom: 28px !important;
}

.entry-title {
	font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
}

p,
li,
ul,
ol,
dd,
dt,
blockquote,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content ul,
.entry-content ol,
.woocommerce-product-details__short-description,
.woocommerce-Tabs-panel,
.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li,
.product_meta {
	color: var(--hns-text-secondary) !important;
	font-size: 1rem;
	line-height: 1.7;
}

strong,
b,
.entry-content strong,
.entry-content b,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
	color: var(--hns-text-main) !important;
}

.entry-content h2 {
	margin-top: 32px !important;
	margin-bottom: 14px !important;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--hns-border);
	font-size: 1.4rem !important;
}

.entry-content h3 {
	margin-top: 24px !important;
	margin-bottom: 10px !important;
	font-size: 1.15rem !important;
}

.entry-content a:not(.button):not(.hns-btn-cta) {
	color: #a78bfa !important;
	text-decoration: underline;
	font-weight: 600;
}

.entry-content a:not(.button):not(.hns-btn-cta):hover {
	color: #c4b5fd !important;
}

a {
	color: var(--hns-text-main);
	text-decoration: none;
	transition: color 0.2s ease;
}

a:hover {
	color: var(--hns-accent);
}

/* ==========================================================================
   2. HEADER & MOBILE DRAWER NAVIGATION
   ========================================================================== */
.hns-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(11, 15, 25, 0.92);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--hns-border);
}

.hns-header__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.hns-logo {
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: -0.04em;
	color: var(--hns-text-main);
}

.hns-logo span {
	color: var(--hns-accent);
}

.hns-nav-desktop {
	display: flex;
	gap: 32px;
}

.hns-nav-desktop a {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--hns-text-secondary);
}

.hns-nav-desktop a:hover,
.hns-nav-desktop a.is-active {
	color: var(--hns-text-main);
}

.hns-header__actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.hns-cart-trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--hns-bg-card);
	border: 1px solid var(--hns-border);
	color: var(--hns-text-main);
}

.hns-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--hns-accent);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hns-burger-btn {
	display: none;
	background: transparent;
	border: 1px solid var(--hns-border);
	color: var(--hns-text-main);
	width: 44px;
	height: 44px;
	border-radius: var(--hns-radius-sm);
	cursor: pointer;
}

/* Mobile Drawer */
.hns-drawer {
	position: fixed;
	inset: 0;
	z-index: 2000;
	pointer-events: none;
	visibility: hidden;
}

.hns-drawer.is-open {
	pointer-events: auto;
	visibility: visible;
}

.hns-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.hns-drawer.is-open .hns-drawer__backdrop {
	opacity: 1;
}

.hns-drawer__panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 290px;
	background: var(--hns-bg-card);
	border-right: 1px solid var(--hns-border);
	padding: 24px;
	transform: translateX(-100%);
	transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.hns-drawer.is-open .hns-drawer__panel {
	transform: translateX(0);
}

.hns-drawer__nav {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 32px;
}

.hns-drawer__nav a {
	font-size: 1.15rem;
	font-weight: 700;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--hns-border);
}

@media (max-width: 768px) {
	.hns-nav-desktop {
		display: none;
	}
	.hns-burger-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	body:not(.home) .hns-site-content,
	.woocommerce-cart .site-content,
	.woocommerce-checkout .site-content {
		padding: 24px 16px 48px !important;
	}
}

/* ==========================================================================
   3. STRONA GŁÓWNA: HERO, KARUZELA SWIPER, KORZYŚCI
   ========================================================================== */
.hns-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}

.hns-hero {
	padding: 72px 0 56px;
	text-align: center;
	background: radial-gradient(circle at 50% 0%, rgba(139, 92, 246, 0.18), transparent 65%);
}

.hns-eyebrow {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(139, 92, 246, 0.16);
	color: #c4b5fd;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.hns-hero__title {
	font-size: clamp(2.2rem, 5vw, 4rem);
	line-height: 1.08;
	margin: 0 auto 20px;
	max-width: 820px;
}

.hns-hero__subtitle {
	font-size: 1.125rem;
	color: var(--hns-text-secondary);
	max-width: 600px;
	margin: 0 auto 32px;
}

/* Główne przyciski CTA (Strona główna, Dodaj do koszyka, Przejdź do płatności, Kupuję i płacę) */
.hns-btn-cta,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.single_add_to_cart_button,
#place_order {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	box-sizing: border-box !important;
	gap: 8px;
	background-color: var(--hns-accent) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
	padding: 15px 28px !important;
	border-radius: var(--hns-radius-sm) !important;
	border: none !important;
	cursor: pointer;
	transition: transform 0.15s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
	box-shadow: 0 8px 24px -6px rgba(139, 92, 246, 0.5);
}

.hns-btn-cta:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
#place_order:hover {
	background-color: var(--hns-accent-hover) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
}

/* NAPRAWA PRZYCISKU "WYBIERZ ROZMIAR" W KARCIE PRODUKTU - IDEALNE WYCENTROWANIE */
.hns-btn-cta--full,
.hns-product-card .hns-btn-cta,
.hns-product-card__body a.hns-btn-cta {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 auto !important;
	padding: 14px 16px !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

/* Sekcja Karuzeli */
.hns-carousel-section {
	padding: 48px 0;
}

.hns-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 28px;
}

.hns-swiper-nav {
	display: flex;
	gap: 10px;
}

.hns-swiper-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--hns-bg-card);
	border: 1px solid var(--hns-border);
	color: var(--hns-text-main);
	cursor: pointer;
	font-size: 1.1rem;
}

.hns-swiper-btn:hover {
	border-color: var(--hns-accent);
	color: var(--hns-accent);
}

.hns-product-card {
	background: var(--hns-bg-card);
	border: 1px solid var(--hns-border);
	border-radius: var(--hns-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.hns-product-card__media {
	position: relative;
	aspect-ratio: 4 / 5;
	background: #ffffff;
	overflow: hidden;
	display: block;
}

.hns-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
	display: block;
}

.hns-product-card:hover .hns-product-card__img {
	transform: scale(1.04);
}

.hns-product-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: var(--hns-accent-purple);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 800;
	padding: 4px 10px;
	border-radius: 999px;
}

.hns-product-card__body {
	padding: 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
	box-sizing: border-box;
	width: 100%;
}

.hns-product-card__title {
	font-size: 1.08rem;
	margin: 0 0 8px;
}

.hns-product-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 16px;
}

.hns-product-card__price,
.hns-product-card__price .amount {
	font-size: 1.15rem;
	font-weight: 800;
	color: #a78bfa !important;
}

.hns-product-card__sizes {
	font-size: 0.78rem;
	color: var(--hns-text-secondary);
	font-weight: 600;
}

/* 3 Kafelki Korzyści */
.hns-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 40px 0 24px;
}

.hns-benefit-card {
	background: var(--hns-bg-card);
	border: 1px solid var(--hns-border);
	border-radius: var(--hns-radius);
	padding: 28px;
}

.hns-benefit-card__icon {
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background: rgba(139, 92, 246, 0.15);
	color: var(--hns-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	font-size: 1.4rem;
}

@media (max-width: 768px) {
	.hns-benefits-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   4. KARTA PRODUKTU (PDP): WARIANTY PILLS, TABELA ROZMIARÓW, STICKY BAR
   ========================================================================== */
.hns-variant-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 8px 0 18px;
}

.hns-variant-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: var(--hns-radius-sm);
	background: var(--hns-bg-card);
	border: 1.5px solid var(--hns-border);
	color: var(--hns-text-main);
	font-weight: 700;
	font-size: 0.92rem;
	cursor: pointer;
	transition: all 0.18s ease;
}

.hns-variant-pill:hover {
	border-color: var(--hns-text-secondary);
}

.hns-variant-pill.is-active {
	border-color: var(--hns-accent);
	background: rgba(139, 92, 246, 0.18);
	color: #ffffff;
	box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.28);
}

.hns-color-dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	display: inline-block;
}

.hns-size-chart-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--hns-bg-elevated);
	border: 1px dashed var(--hns-border);
	color: var(--hns-text-secondary);
	padding: 9px 15px;
	border-radius: var(--hns-radius-sm);
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	margin-bottom: 16px;
}

.hns-size-chart-btn:hover {
	color: #ffffff;
	border-color: var(--hns-accent);
}

/* Modal Ogólny (Tabela rozmiarów + Geowidget) */
.hns-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.hns-modal.is-open {
	display: flex;
}

.hns-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 15, 0.82);
	backdrop-filter: blur(6px);
}

.hns-modal__dialog {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 540px;
	background: var(--hns-bg-card);
	border: 1px solid var(--hns-border);
	border-radius: var(--hns-radius);
	padding: 24px;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.6);
}

.hns-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.hns-modal__close {
	background: var(--hns-bg-elevated);
	border: none;
	color: var(--hns-text-main);
	width: 36px;
	height: 36px;
	border-radius: 50%;
	font-size: 1.4rem;
	cursor: pointer;
}

.hns-size-table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
}

.hns-size-table th,
.hns-size-table td {
	padding: 12px;
	border: 1px solid var(--hns-border);
	text-align: center;
	color: var(--hns-text-main);
}

.hns-size-table th {
	background: var(--hns-bg-elevated);
}

/* Zakładki na karcie produktu (Opis / Tabela rozmiarów S-XL) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--hns-border) !important;
	padding: 0 !important;
	margin: 0 0 24px 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-bottom: 1px solid var(--hns-border) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background-color: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-bottom: none !important;
	border-radius: var(--hns-radius-sm) var(--hns-radius-sm) 0 0 !important;
	margin: 0 6px 0 0 !important;
	padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--hns-text-secondary) !important;
	padding: 12px 20px !important;
	font-weight: 700 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background-color: var(--hns-bg-elevated) !important;
	border-top: 2px solid var(--hns-accent) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--hns-text-main) !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
	background-color: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius) !important;
	padding: 24px !important;
	color: var(--hns-text-secondary) !important;
}

/* Sticky Mobile Add to Cart */
.hns-mobile-sticky-bar {
	display: none;
}

@media (max-width: 768px) {
	.hns-mobile-sticky-bar {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 990;
		background: rgba(21, 27, 43, 0.96);
		backdrop-filter: blur(10px);
		border-top: 1px solid var(--hns-border);
		padding: 12px 16px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}
	.hns-mobile-sticky-bar__info {
		display: flex;
		flex-direction: column;
	}
	.hns-mobile-sticky-bar__title {
		font-size: 0.85rem;
		font-weight: 700;
		color: var(--hns-text-main);
	}
	.hns-mobile-sticky-bar__price {
		font-size: 0.95rem;
		font-weight: 800;
		color: #a78bfa;
	}
	.hns-mobile-sticky-bar__btn {
		background: var(--hns-accent);
		color: #ffffff;
		font-weight: 800;
		border: none;
		padding: 12px 20px;
		border-radius: var(--hns-radius-sm);
	}
	body.single-product {
		padding-bottom: 84px;
	}
}

/* ==========================================================================
   5. KOSZYK (/KOSZYK/) I ZAMÓWIENIE (/ZAMOWIENIE/) - KOMPLETNA NAPRAWA KOLORÓW
   ========================================================================== */

/* 5.1. Eliminacja białych pasków nagłówków tabel i sekcji z motywu Astra */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.woocommerce-checkout-review-order-table,
.cart_totals table {
	background-color: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden;
	width: 100% !important;
	margin-bottom: 28px !important;
}

.woocommerce table.shop_table thead,
.woocommerce-page table.shop_table thead,
.woocommerce table.shop_table thead tr,
.woocommerce table.shop_table thead th,
.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading {
	background-color: var(--hns-bg-elevated) !important;
	color: var(--hns-text-main) !important;
	border-bottom: 1px solid var(--hns-border) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-checkout #order_review_heading {
	padding: 16px 20px !important;
	margin: 0 !important;
	border: 1px solid var(--hns-border) !important;
	border-bottom: none !important;
	border-radius: var(--hns-radius) var(--hns-radius) 0 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	background-color: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius) !important;
	padding: 0 !important;
	overflow: hidden;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
	border: none !important;
	border-radius: 0 !important;
	margin-bottom: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout {
	padding: 20px !important;
	margin: 0 !important;
	background-color: var(--hns-bg-card) !important;
	border-top: 1px solid var(--hns-border) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout a.checkout-button {
	width: 100% !important;
	margin: 0 !important;
	padding: 16px 24px !important;
	font-size: 1.05rem !important;
}

/* Wiersze i komórki tabel koszyka oraz zamówienia */
.woocommerce table.shop_table tbody tr,
.woocommerce table.shop_table tfoot tr,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	background-color: var(--hns-bg-card) !important;
	color: var(--hns-text-main) !important;
	border-color: var(--hns-border) !important;
	padding: 16px 18px !important;
	font-size: 0.98rem !important;
	vertical-align: middle !important;
}

.woocommerce table.shop_table td a:not(.button) {
	color: var(--hns-text-main) !important;
	font-weight: 600;
}

.woocommerce table.shop_table td a:not(.button):hover {
	color: #a78bfa !important;
}

/* Ikona usuwania produktu (X) w koszyku - wyraźna i kontrastowa */
.woocommerce a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: 30px !important;
	line-height: 28px !important;
	border-radius: 50% !important;
	background-color: var(--hns-bg-elevated) !important;
	color: var(--hns-text-main) !important;
	border: 1px solid var(--hns-border) !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.woocommerce a.remove:hover {
	background-color: var(--hns-danger) !important;
	border-color: var(--hns-danger) !important;
	color: #ffffff !important;
}

/* Pole Kuponu i Przyciski pomocnicze (Wykorzystaj kupon, Zaktualizuj koszyk, Zmień paczkomat) */
.woocommerce table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.woocommerce table.cart td.actions .coupon .input-text,
#coupon_code {
	width: 220px !important;
	min-width: 180px !important;
	background-color: var(--hns-bg-input) !important;
	color: var(--hns-text-main) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius-sm) !important;
	padding: 11px 14px !important;
	font-size: 0.95rem !important;
	margin: 0 !important;
}

.woocommerce .quantity .qty {
	width: 72px !important;
	text-align: center !important;
	background-color: var(--hns-bg-input) !important;
	color: var(--hns-text-main) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius-sm) !important;
	padding: 8px 6px !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
}

/* Przyciski Secondary (Kupon, Aktualizacja koszyka, Zmień paczkomat InPost) */
.woocommerce button.button:not(.alt),
.woocommerce a.button:not(.alt),
.woocommerce input.button:not(.alt),
.woocommerce #respond input#submit:not(.alt),
.button.easypack-parcel-machine-select,
.inpost-pl-geowidget-btn,
button[class*="inpost"],
a[class*="inpost"] {
	background-color: var(--hns-bg-elevated) !important;
	color: var(--hns-text-main) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius-sm) !important;
	padding: 11px 20px !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: all 0.2s ease !important;
}

.woocommerce button.button:not(.alt):hover,
.woocommerce a.button:not(.alt):hover,
.woocommerce input.button:not(.alt):hover {
	background-color: var(--hns-accent) !important;
	border-color: var(--hns-accent) !important;
	color: #ffffff !important;
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	opacity: 0.55 !important;
	color: var(--hns-text-muted) !important;
}

/* 5.2. Sekcja Wysyłki i Paczkomatu InPost (naprawa niewidocznego napisu "Paczkomaty: 9,99 zł") */
.woocommerce ul#shipping_method,
.woocommerce-shipping-methods {
	list-style: none !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
}

.woocommerce ul#shipping_method li,
.woocommerce-shipping-methods li {
	margin-bottom: 8px !important;
	color: var(--hns-text-main) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
}

.woocommerce ul#shipping_method li label,
.woocommerce-shipping-methods li label,
.woocommerce-shipping-totals td,
.woocommerce-shipping-totals th,
.woocommerce-shipping-destination,
.woocommerce-shipping-destination strong,
.shipping-calculator-button {
	color: var(--hns-text-main) !important;
	font-size: 0.96rem !important;
	line-height: 1.5 !important;
}

.woocommerce ul#shipping_method .amount,
.cart-subtotal .amount,
.order-total .amount {
	color: #a78bfa !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
}

/* 5.3. Formularz Zamówienia (Checkout) - Etykiety, Pola Input, Select2, Płatności */
.woocommerce-checkout form.checkout {
	margin-top: 16px;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
#order_review {
	background-color: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius) !important;
	padding: 24px !important;
	margin-bottom: 24px !important;
}

#order_review_heading + #order_review {
	border-top-left-radius: 0 !important;
	border-top-right-radius: 0 !important;
}

.woocommerce form .form-row {
	margin-bottom: 16px !important;
}

/* Etykiety pól w zamówieniu - duże i kontrastowe */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce-checkout label {
	color: var(--hns-text-main) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	margin-bottom: 6px !important;
}

.woocommerce form .form-row .required {
	color: #a78bfa !important;
	text-decoration: none !important;
}

/* Pola tekstowe w zamówieniu i całym sklepie */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single,
.select2-dropdown,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
textarea,
select {
	background-color: var(--hns-bg-input) !important;
	color: var(--hns-text-main) !important;
	border: 1.5px solid var(--hns-border) !important;
	border-radius: var(--hns-radius-sm) !important;
	padding: 13px 15px !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
	color: var(--hns-text-muted) !important;
	opacity: 1 !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
	border-color: var(--hns-accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.25) !important;
}

.select2-container--default .select2-selection--single {
	height: 48px !important;
	display: flex !important;
	align-items: center !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--hns-text-main) !important;
	line-height: 46px !important;
	padding-left: 4px !important;
}

.select2-results__option {
	background-color: var(--hns-bg-card) !important;
	color: var(--hns-text-main) !important;
	padding: 10px 14px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--hns-accent) !important;
	color: #ffffff !important;
}

/* Sekcja płatności (HotPay / BLIK) oraz zgody prawne w Checkout */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius) !important;
	padding: 16px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--hns-border) !important;
	padding: 12px !important;
	margin: 0 0 16px 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	color: var(--hns-text-main) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.6 !important;
	margin-bottom: 10px !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	color: var(--hns-text-main) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	cursor: pointer;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
	background-color: var(--hns-bg-elevated) !important;
	color: var(--hns-text-secondary) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius-sm) !important;
	font-size: 0.94rem !important;
	line-height: 1.55 !important;
}

#add_payment_method #payment div.payment_box p,
.woocommerce-checkout #payment div.payment_box p {
	color: var(--hns-text-secondary) !important;
	font-size: 0.94rem !important;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--hns-bg-elevated) !important;
}

/* Zgody prawne, RODO i Checkbox Print-on-Demand (Art. 38) */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p,
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-terms-and-conditions-checkbox-text,
.hns-legal-checkbox label,
.hns-legal-checkbox span {
	color: var(--hns-text-secondary) !important;
	font-size: 0.92rem !important;
	line-height: 1.55 !important;
	font-weight: 400 !important;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-checkbox-text a {
	color: #a78bfa !important;
	text-decoration: underline !important;
	font-weight: 600 !important;
}

#place_order {
	width: 100% !important;
	padding: 18px 28px !important;
	font-size: 1.1rem !important;
	margin-top: 12px !important;
}

/* Powiadomienia WooCommerce (Alerts / Notices / Puste stany) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background-color: var(--hns-bg-elevated) !important;
	color: var(--hns-text-main) !important;
	border: 1px solid var(--hns-border) !important;
	border-top-width: 3px !important;
	border-radius: var(--hns-radius-sm) !important;
	font-size: 0.95rem !important;
}

.woocommerce-message {
	border-top-color: var(--hns-accent-green) !important;
}

.woocommerce-info {
	border-top-color: var(--hns-accent-purple) !important;
}

.woocommerce-error,
.woocommerce-error li {
	border-top-color: var(--hns-danger) !important;
	color: #fecaca !important;
}

/* ==========================================================================
   6. ARCHIWUM SKLEPU (/SKLEP/) - KARTY PRODUKTÓW WOOCOMMERCE
   ========================================================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background-color: var(--hns-bg-card) !important;
	border: 1px solid var(--hns-border) !important;
	border-radius: var(--hns-radius) !important;
	padding: 0 0 18px 0 !important;
	overflow: hidden;
	display: flex !important;
	flex-direction: column !important;
	text-align: center !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
	padding: 14px 16px 0 !important;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #a78bfa !important;
	font-weight: 800 !important;
	font-size: 1.15rem !important;
}

.woocommerce ul.products li.product .button {
	display: flex !important;
	width: calc(100% - 32px) !important;
	margin: 12px auto 0 auto !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	background-color: var(--hns-accent) !important;
	color: #ffffff !important;
	border: none !important;
}

