/* =========================================================
   Daga po angielsku — WordPress + WooCommerce overrides
   Loaded after main.css. Brand tokens (--orange, --espresso,
   --cream, etc.) come from main.css :root.
   ========================================================= */

/* ---------- Accessibility helpers ---------- */
.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; word-wrap: normal !important;
}
.skip-link:focus {
	position: fixed; left: 16px; top: 16px; z-index: 200;
	background: var(--white); color: var(--espresso);
	padding: 12px 20px; border-radius: 12px;
	box-shadow: var(--shadow-md); clip: auto; width: auto; height: auto;
}

/* ---------- wp_nav_menu structure (desktop) ---------- */
.nav-links ul.nav-links-ul,
.nav-links > ul.menu {
	display: flex; align-items: center; gap: 4px;
	margin: 0; padding: 0; list-style: none;
}
.nav-links li { display: flex; margin: 0; }
.nav-links .menu-item-has-children > a::after { content: " ▾"; opacity: .5; font-size: .8em; }
/* keep the existing .nav-links a pill styling from main.css */

/* current item highlight */
.nav-links .current-menu-item > a,
.nav-links .current_page_item > a {
	color: var(--orange-deep);
	background: oklch(0.95 0.035 58 / 0.85);
}

/* ---------- mobile drawer list ---------- */
.mobile-menu ul.menu {
	display: flex; flex-direction: column; gap: 6px;
	width: 100%; margin: 0; padding: 0; list-style: none;
}
.mobile-menu ul.menu li { margin: 0; width: 100%; }
.mobile-menu ul.menu a { display: block; }

/* ---------- Header: cart + shop button ---------- */
.nav-cart {
	position: relative;
	width: 46px; height: 46px;
	display: grid; place-items: center;
	border-radius: 14px;
	background: oklch(0.99 0.01 80 / 0.7);
	border: 1px solid var(--line);
	color: var(--espresso);
	transition: transform .25s var(--ease), border-color .25s, color .25s;
	flex-shrink: 0;
}
.nav-cart:hover { transform: translateY(-2px); border-color: var(--orange); color: var(--orange-deep); }
.nav-cart svg { width: 21px; height: 21px; }
.nav-cart-count {
	position: absolute; top: -6px; right: -6px;
	min-width: 20px; height: 20px; padding: 0 5px;
	border-radius: 100px;
	background: linear-gradient(135deg, var(--orange), var(--orange-deep));
	color: var(--white);
	font-family: var(--font-body);
	font-size: 0.72rem; font-weight: 800;
	display: grid; place-items: center;
	box-shadow: var(--shadow-sm);
	transform: scale(0);
	transition: transform .3s var(--ease);
}
.nav-cart-count.has-items { transform: scale(1); }
.nav-shop-btn { padding: 13px 26px; font-size: 0.96rem; }
@media (max-width: 720px) {
	.nav-shop-btn { display: none; }
	.nav-cart { width: 42px; height: 42px; }
}

/* =========================================================
   PAGE BANNER (inner pages, shop, archives)
   ========================================================= */
.page-banner {
	position: relative;
	padding-block: clamp(60px, 8vw, 110px) clamp(36px, 5vw, 60px);
	text-align: center;
	overflow: hidden;
}
.page-banner-inner { max-width: 820px; margin-inline: auto; }
.page-banner h1 { margin-top: 22px; }
.page-banner .lead {
	margin-top: 20px; font-size: 1.15rem;
	color: var(--espresso-2); text-wrap: pretty;
	max-width: 680px; margin-inline: auto;
}
.page-banner-stripes {
	max-width: 220px; margin: 34px auto 0; height: 6px;
}

/* ---------- Narrow content + article typography ---------- */
.container-narrow { max-width: 820px; }
.page-content-section { padding-block: clamp(28px, 4vw, 56px) clamp(64px, 8vw, 110px); }
.page-thumb { margin-bottom: 32px; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md); }
.page-thumb img { width: 100%; height: auto; display: block; }

.entry-content { font-size: 1.08rem; color: var(--espresso-2); line-height: 1.7; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin-top: 1.6em; color: var(--espresso); }
.entry-content h3 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); margin-top: 1.4em; color: var(--espresso); }
.entry-content a { color: var(--orange-deep); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--orange); }
.entry-content ul, .entry-content ol { padding-left: 1.4em; display: grid; gap: 8px; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content img { border-radius: var(--r-md); height: auto; }
.entry-content blockquote {
	border-left: 3px solid var(--orange);
	padding: 4px 0 4px 24px; margin-left: 0;
	font-family: var(--font-display); font-style: italic;
	font-size: 1.4rem; color: var(--espresso);
}
.entry-content code {
	background: var(--cream-2); padding: 2px 7px; border-radius: 7px;
	font-size: 0.92em;
}

/* ---------- Blog grid ---------- */
.post-grid { align-items: stretch; }
.post-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.post-card-thumb { display: block; aspect-ratio: 16/10; overflow: hidden; }
.post-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.post-card:hover .post-card-thumb img { transform: scale(1.05); }
.post-card .course-kicker,
.post-card h3 { padding-inline: 28px; }
.post-card .course-kicker { margin-top: 24px; }
.post-card h3 { margin-top: 10px; }
.post-card p { padding-inline: 28px; margin-top: 12px; color: var(--muted); font-size: 0.98rem; }
.post-card .course-foot { padding: 22px 28px 26px; }

.pagination-wrap { margin-top: 56px; display: flex; justify-content: center; }
.pagination .nav-links,
.pagination-wrap .page-numbers {
	display: inline-flex; gap: 8px; align-items: center; list-style: none;
	padding: 0; margin: 0; flex-wrap: wrap; justify-content: center;
}
.page-numbers {
	display: grid; place-items: center;
	min-width: 44px; height: 44px; padding: 0 12px;
	border-radius: 12px; border: 1px solid var(--line);
	background: var(--white); color: var(--espresso-2);
	font-weight: 700; transition: all .25s var(--ease);
}
.page-numbers.current { background: linear-gradient(135deg, var(--orange), var(--orange-deep)); color: var(--white); border-color: transparent; }
a.page-numbers:hover { border-color: var(--orange); color: var(--orange-deep); transform: translateY(-2px); }

.post-nav { display: flex; justify-content: space-between; gap: 16px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line); font-weight: 600; }
.post-nav a { color: var(--espresso-2); }
.post-nav a:hover { color: var(--orange-deep); }

/* ---------- Search form ---------- */
.search-form { display: flex; gap: 10px; }
.search-form .search-field {
	flex: 1; font-family: inherit; font-size: 1rem;
	padding: 14px 18px; border-radius: 100px;
	border: 1.5px solid var(--line); background: var(--white); color: var(--espresso);
}
.search-form .search-field:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px oklch(0.7 0.15 52 / 0.15); }
.search-form .search-submit { flex-shrink: 0; }

/* =========================================================
   WOOCOMMERCE — global
   ========================================================= */
.woocommerce, .woocommerce-page { color: var(--espresso); }
.woocommerce a { color: var(--orange-deep); }

/* CRITICAL: brand pill buttons must keep readable text even though the
   generic ".woocommerce a" rule above tries to colour every link orange.
   (This caused orange-on-orange, unreadable "Sklep" + "Do koszyka" buttons.) */
.woocommerce a.btn,
.woocommerce a.btn-primary,
.woocommerce a.nav-shop-btn,
.woocommerce a.product-card-btn,
.woocommerce a.button.btn-primary,
a.btn.btn-primary,
.nav-shop-btn,
.product-card-btn { color: var(--white) !important; }
.woocommerce a.btn-ghost,
a.btn.btn-ghost { color: var(--espresso) !important; }
.woocommerce a.btn-ghost:hover,
a.btn.btn-ghost:hover { color: var(--orange-deep) !important; }
.woocommerce a.course-link { color: var(--orange-deep); }

/* WooCommerce buttons → brand pill buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	font-family: var(--font-body); font-weight: 700; font-size: 1rem;
	padding: 14px 28px; border-radius: 100px;
	background: linear-gradient(135deg, var(--orange), var(--orange-deep));
	color: var(--white); border: none; line-height: 1.2;
	box-shadow: var(--shadow-glow);
	transition: transform .35s var(--ease), box-shadow .35s var(--ease);
	text-decoration: none; cursor: pointer;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #place_order:hover {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 30px 70px -26px oklch(0.70 0.15 52 / 0.6);
	background: linear-gradient(135deg, var(--orange), var(--orange-deep));
	color: var(--white);
}
/* Secondary / ghost buttons */
.woocommerce a.button.wc-backward,
.woocommerce button.button:disabled,
.woocommerce .cart .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { /* keep primary for proceed */ }
.woocommerce a.added_to_cart {
	display: inline-flex; align-items: center; margin-left: 10px;
	font-weight: 700; color: var(--orange-deep); text-decoration: underline;
	text-underline-offset: 3px;
}
.woocommerce button.button:disabled,
.woocommerce button.button.disabled { opacity: .55; transform: none !important; box-shadow: var(--shadow-sm) !important; cursor: not-allowed; }

/* Prices */
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--espresso); font-weight: 700;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-family: var(--font-display); font-size: 2rem; }
.woocommerce .price del { color: var(--muted); font-weight: 500; opacity: .8; margin-right: 8px; }
.woocommerce .price ins { text-decoration: none; color: var(--orange-deep); }

/* Star ratings */
.woocommerce .star-rating span::before,
.woocommerce p.stars a::before { color: var(--orange); }

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb,
.woo-breadcrumb {
	font-size: 0.86rem; color: var(--muted); font-weight: 600;
	display: inline-flex; flex-wrap: wrap; gap: 4px; align-items: center;
}
.woo-breadcrumb { margin-top: 18px; justify-content: center; }
.woo-breadcrumb--single { justify-content: flex-start; margin-top: 0; margin-bottom: 28px; }
.woocommerce-breadcrumb a, .woo-breadcrumb a { color: var(--espresso-2); }
.woocommerce-breadcrumb a:hover, .woo-breadcrumb a:hover { color: var(--orange-deep); }
.bc-sep { color: var(--sand-deep); }

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-store-notice {
	border-radius: var(--r-md);
	border: 1px solid var(--line);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	padding: 16px 20px 16px 54px;
	position: relative;
	color: var(--espresso);
	list-style: none;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { left: 20px; top: 18px; color: var(--orange-deep); }
.woocommerce-message { border-left: 4px solid var(--orange); }
.woocommerce-info { border-left: 4px solid var(--rose-deep); }
.woocommerce-error { border-left: 4px solid oklch(0.6 0.18 25); }
.woocommerce-error::before { color: oklch(0.6 0.18 25); }

/* =========================================================
   WOOCOMMERCE — shop archive grid
   ========================================================= */
.woo-shop { padding-top: clamp(20px, 3vw, 40px); }

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important;
	display: flex;
}
.woocommerce ul.products li.product::before { display: none; }

/* the card */
.dagaang-product-card .product-card {
	width: 100%; padding: 0; overflow: hidden;
}
.product-card-media {
	position: relative; display: block;
	aspect-ratio: 1 / 1; overflow: hidden;
	background: linear-gradient(145deg, var(--orange-soft), var(--rose-soft));
}
.product-card-media img { width: 100%; height: 100%; object-fit: cover; }
.product-card-media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	transition: transform .5s var(--ease);
	margin: 0;
}
.course.product-card:hover .product-card-media img { transform: scale(1.05); }
.product-flash {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase;
	background: var(--orange); color: var(--white);
	padding: 6px 13px; border-radius: 100px;
	box-shadow: var(--shadow-sm);
}
.product-card-body { display: flex; flex-direction: column; flex: 1; padding: 24px 26px 26px; }
.product-card-body .course-kicker { color: var(--rose-deep); }
.product-card-title { margin-top: 10px; font-size: 1.35rem; line-height: 1.15; }
.product-card-title a { color: var(--espresso); }
.product-card-title a:hover { color: var(--orange-deep); }
.product-card-desc { margin-top: 10px; color: var(--muted); font-size: 0.95rem; }
.product-card-foot {
	margin-top: auto; padding-top: 20px;
	display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
}
.product-card-foot .price-tag .now { font-size: 1.15rem; }
.product-card-foot .price-tag .now del { font-size: 0.8rem; }
.product-card-foot .price-tag .now ins { text-decoration: none; }
.product-card-btn { padding: 11px 20px; font-size: 0.92rem; }

/* result count + ordering bar */
.woocommerce .woocommerce-result-count {
	color: var(--muted); font-size: 0.92rem; font-weight: 600; margin: 0 0 24px;
}
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select,
.woocommerce-ordering .orderby {
	font-family: inherit; font-size: 0.95rem;
	padding: 12px 16px; border-radius: 100px;
	border: 1.5px solid var(--line); background: var(--white); color: var(--espresso);
	cursor: pointer;
}
.woocommerce-products-header__title { display: none; } /* banner shows it */

/* archive pagination */
.woocommerce nav.woocommerce-pagination ul { border: none; display: flex; gap: 8px; justify-content: center; margin-top: 48px; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px; height: 44px; padding: 0 12px;
	display: grid; place-items: center;
	border-radius: 12px; border: 1px solid var(--line);
	background: var(--white); color: var(--espresso-2); font-weight: 700;
	transition: all .25s var(--ease);
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: linear-gradient(135deg, var(--orange), var(--orange-deep)); color: var(--white); border-color: transparent;
}
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--orange); color: var(--orange-deep); }

/* =========================================================
   WOOCOMMERCE — single product
   ========================================================= */
.woo-single { padding-top: clamp(28px, 4vw, 56px); }
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 64px); align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; margin: 0; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--r-lg); }
.woocommerce div.product .summary { margin: 0 !important; width: 100% !important; }
.woocommerce div.product .product_title {
	font-family: var(--font-display); font-weight: 600;
	font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1.06; color: var(--espresso);
}
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 14px; }
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--espresso-2); font-size: 1.06rem; line-height: 1.6; margin-top: 8px;
}
.woocommerce div.product form.cart { margin-top: 24px; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.woocommerce div.product form.cart .quantity input.qty {
	width: 76px; height: 52px; text-align: center;
	border-radius: 14px; border: 1.5px solid var(--line);
	font-family: inherit; font-size: 1rem; background: var(--white);
}
.woocommerce div.product form.cart .button { padding: 16px 32px; }
.woocommerce div.product .product_meta {
	margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line);
	font-size: 0.9rem; color: var(--muted);
}
.woocommerce div.product .product_meta > span { display: block; margin-bottom: 6px; }
.woocommerce div.product .product_meta a { color: var(--espresso-2); }

/* tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; display: flex; gap: 10px; flex-wrap: wrap; border: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 1px solid var(--line); background: var(--white); border-radius: 100px;
	padding: 0; margin: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 11px 22px; color: var(--espresso-2); font-weight: 700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: linear-gradient(135deg, var(--orange), var(--orange-deep)); border-color: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--white); }
.woocommerce div.product .woocommerce-Tabs-panel { color: var(--espresso-2); line-height: 1.7; }
.woocommerce div.product .woocommerce-Tabs-panel h2 { font-size: 1.6rem; color: var(--espresso); margin-bottom: 14px; }

/* related / upsells */
.woocommerce .related, .woocommerce .upsells { grid-column: 1 / -1; margin-top: 40px; }
.woocommerce .related > h2, .woocommerce .upsells > h2 {
	font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.3rem); margin-bottom: 28px;
}

/* sale flash on single */
.woocommerce span.onsale {
	background: var(--orange); color: var(--white);
	border-radius: 100px; padding: 8px 16px; min-height: 0; min-width: 0;
	font-weight: 800; font-size: 0.74rem; letter-spacing: .1em; text-transform: uppercase;
	line-height: 1.2; top: 14px; left: 14px; margin: 0;
}

/* =========================================================
   WOOCOMMERCE — cart / checkout / account
   ========================================================= */
.woo-page, .woo-container { width: 100%; }

.woocommerce table.shop_table {
	border-radius: var(--r-md); border: 1px solid var(--line);
	border-collapse: separate; border-spacing: 0; overflow: hidden;
	background: var(--white); box-shadow: var(--shadow-sm);
}
.woocommerce table.shop_table th { font-family: var(--font-body); font-weight: 800; color: var(--espresso); background: var(--cream-2); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 16px 18px; border-top: 1px solid var(--line); }
.woocommerce table.cart img { width: 64px; border-radius: 10px; }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--white); border: 1px solid var(--line);
	border-radius: var(--r-md); padding: 26px; box-shadow: var(--shadow-md);
}
.woocommerce .cart-collaterals .cart_totals h2 { font-family: var(--font-display); font-size: 1.8rem; margin-bottom: 16px; }
.woocommerce-cart .wc-proceed-to-checkout { padding-top: 18px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; }

.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce form .form-row label { font-weight: 700; font-size: 0.88rem; color: var(--espresso-2); margin-bottom: 6px; display: block; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	font-family: inherit; font-size: 1rem;
	padding: 13px 15px; min-height: 50px; height: auto;
	border-radius: 14px; border: 1.5px solid var(--line);
	background: var(--white); color: var(--espresso); width: 100%;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px oklch(0.7 0.15 52 / 0.15);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.woocommerce-checkout #payment {
	background: var(--cream-2); border-radius: var(--r-md); border: 1px solid var(--line);
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line); }
.woocommerce-checkout #payment div.payment_box { background: var(--white); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--white); }
.woocommerce .order-total .amount { color: var(--orange-deep); }

/* coupon */
.woocommerce form.checkout_coupon,
.woocommerce .cart .coupon { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 6px; list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: 12px 18px; border-radius: 12px;
	background: var(--white); border: 1px solid var(--line); color: var(--espresso-2); font-weight: 600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: linear-gradient(135deg, var(--orange), var(--orange-deep)); color: var(--white); border-color: transparent;
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: var(--white); border: 1px solid var(--line);
	border-radius: var(--r-md); padding: 30px; box-shadow: var(--shadow-sm);
}
@media (min-width: 769px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 28%; }
	.woocommerce-account .woocommerce-MyAccount-content { width: 68%; }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1000px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
	.woocommerce div.product { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: 1fr; gap: 18px; }
	.woocommerce div.product form.cart { flex-direction: column; align-items: stretch; }
	.woocommerce div.product form.cart .button { width: 100%; }
	.post-nav { flex-direction: column; }
}

/* =========================================================
   Footer author credit
   ========================================================= */
.footer-credit {
	display: inline-flex; align-items: center; gap: 7px;
	color: var(--muted); font-size: 0.8rem; font-weight: 600;
	opacity: .9; transition: opacity .25s var(--ease);
}
.footer-credit:hover { opacity: 1; color: var(--espresso-2); }
.footer-credit img { height: 15px; width: auto; display: block; opacity: .9; }
.footer-credit .fc-by { color: var(--muted); }
.footer-credit .fc-name { font-weight: 700; color: var(--espresso-2); }
@media (max-width: 720px) {
	.footer-credit { font-size: 0.76rem; gap: 6px; }
}

/* =========================================================
   SHOP GRID — bulletproof 3-up + clean price tags on cards
   (overrides WooCommerce's default flex/float loop layout)
   ========================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products.columns-1,
.woocommerce ul.products.columns-2,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-5 {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-auto-rows: 1fr;            /* equal-height rows */
	gap: 24px !important;
	float: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none !important; display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
}
.woocommerce ul.products li.product .course.product-card { height: 100%; }

/* clean price tag inside product cards (no overlapping del/ins) */
.product-card-foot .price-tag { align-items: flex-start; }
.product-card-foot .price-tag .now,
.product-card-foot .price-tag .now ins { font-size: 1.2rem; text-decoration: none; }
.product-card-foot .price-tag .now del,
.product-card-foot .price-tag .old { display: none; }      /* old price handled by .old span */
.product-card-foot .price-tag .old {
	display: block; font-size: 0.74rem; font-weight: 600;
	text-decoration: line-through; opacity: .7; color: var(--muted);
}
.product-card-foot .price-tag .now { color: var(--espresso); }
@media (max-width: 1000px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4 { grid-template-columns: 1fr !important; }
}

/* =========================================================
   SHOP — value strip, search/filters, toolbar
   ========================================================= */
.shop-trust {
	border-block: 1px solid var(--line);
	background: oklch(0.97 0.02 64 / 0.5);
	padding-block: 20px;
}
.shop-trust-list {
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 14px 36px; margin: 0; padding: 0; list-style: none;
}
.shop-trust-list li {
	display: inline-flex; align-items: center; gap: 11px;
	font-weight: 600; font-size: 0.96rem; color: var(--espresso-2);
}
.shop-trust .st-ic {
	width: 36px; height: 36px; flex-shrink: 0;
	display: grid; place-items: center; border-radius: 11px;
	background: linear-gradient(145deg, var(--orange-soft), var(--rose-soft));
	color: var(--orange-deep);
}
.shop-trust .st-ic svg { width: 19px; height: 19px; }

.woo-shop { padding-top: clamp(28px, 4vw, 48px); }

.shop-controls {
	display: flex; align-items: center; justify-content: space-between;
	gap: 18px; flex-wrap: wrap; margin-bottom: 22px;
}
.shop-search {
	position: relative; display: flex; align-items: center;
	flex: 1 1 320px; max-width: 460px;
	background: var(--white); border: 1.5px solid var(--line);
	border-radius: 100px; padding: 5px 6px 5px 16px;
	box-shadow: var(--shadow-sm);
	transition: border-color .25s, box-shadow .25s;
}
.shop-search:focus-within { border-color: var(--orange); box-shadow: 0 0 0 4px oklch(0.7 0.15 52 / 0.15); }
.shop-search-ic { display: grid; place-items: center; color: var(--muted); flex-shrink: 0; }
.shop-search-ic svg { width: 18px; height: 18px; }
.shop-search input[type="search"] {
	flex: 1; min-width: 0; border: none; outline: none; background: none;
	font-family: inherit; font-size: 1rem; color: var(--espresso);
	padding: 10px 12px;
}
.shop-search-btn { padding: 11px 22px; font-size: 0.92rem; flex-shrink: 0; }

.shop-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-cat {
	display: inline-flex; align-items: center;
	padding: 9px 18px; border-radius: 100px;
	font-size: 0.9rem; font-weight: 700;
	color: var(--espresso-2);
	background: var(--white); border: 1.5px solid var(--line);
	transition: all .25s var(--ease);
}
.shop-cat:hover { border-color: var(--orange); color: var(--orange-deep); transform: translateY(-2px); }
.shop-cat.is-active {
	background: linear-gradient(135deg, var(--orange), var(--orange-deep));
	color: var(--white); border-color: transparent; box-shadow: var(--shadow-glow);
}

.shop-loop-head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap;
	padding: 14px 22px; margin-bottom: 26px;
	background: oklch(0.99 0.008 80 / 0.7);
	border: 1px solid var(--line); border-radius: var(--r-md);
	box-shadow: var(--shadow-sm);
}
.shop-loop-head .woocommerce-result-count { margin: 0; }
.shop-loop-head .woocommerce-ordering { margin: 0; }

.shop-empty { text-align: center; padding: 40px 0 10px; display: grid; gap: 22px; justify-items: center; }

/* =========================================================
   SHOP — animated "Jak wygląda zakup"
   ========================================================= */
.shop-steps { position: relative; overflow: hidden; }
.steps-blob { position: absolute; border-radius: 50%; filter: blur(70px); pointer-events: none; z-index: 0; }
.steps-blob.sb1 { width: 360px; height: 360px; top: -90px; left: -120px; background: radial-gradient(circle, oklch(0.88 0.06 60 / 0.5), transparent 70%); }
.steps-blob.sb2 { width: 400px; height: 400px; bottom: -150px; right: -120px; background: radial-gradient(circle, oklch(0.90 0.05 22 / 0.45), transparent 70%); }
.shop-steps .container { position: relative; z-index: 1; }

.steps-track {
	position: relative;
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 22px; margin-top: 20px;
}
.steps-line {
	position: absolute; top: 52px; left: 12%; right: 12%; height: 3px;
	border-radius: 100px; overflow: hidden;
	background: repeating-linear-gradient(90deg, var(--sand-deep) 0 8px, transparent 8px 16px);
	opacity: .6; z-index: 0;
}
.steps-line-fill {
	position: absolute; inset: 0; width: 100%;
	background: linear-gradient(90deg, var(--orange), var(--rose-deep), var(--orange));
	background-size: 200% 100%;
	animation: stepsFlow 3s linear infinite;
	-webkit-mask: linear-gradient(90deg, #000 0 70%, transparent);
	        mask: linear-gradient(90deg, #000 0 70%, transparent);
}
@keyframes stepsFlow { to { background-position: -200% 0; } }

.step-card {
	position: relative; z-index: 1;
	background: var(--white); border: 1px solid var(--line);
	border-radius: var(--r-lg); padding: 30px 26px 26px;
	box-shadow: var(--shadow-md); text-align: center;
	transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
}
.step-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: oklch(0.85 0.06 58 / 0.9); }
.step-badge {
	position: absolute; top: 16px; right: 20px;
	font-family: var(--font-display); font-style: italic; font-weight: 600;
	font-size: 1.5rem; color: var(--sand-deep);
}
.step-ic {
	width: 64px; height: 64px; margin: 0 auto 18px;
	display: grid; place-items: center; border-radius: 20px;
	background: linear-gradient(145deg, var(--orange), var(--orange-deep));
	color: var(--white); box-shadow: var(--shadow-glow);
	animation: stepFloat 5s ease-in-out infinite;
}
.step-card:nth-child(3) .step-ic { animation-delay: .4s; }
.step-card:nth-child(4) .step-ic { animation-delay: .8s; }
.step-card:nth-child(5) .step-ic { animation-delay: 1.2s; }
.step-ic svg { width: 30px; height: 30px; }
@keyframes stepFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.step-card h3 { font-size: 1.22rem; }
.step-card p { margin-top: 10px; color: var(--muted); font-size: 0.96rem; }

/* CTA pulse */
.steps-cta {
	margin-top: 40px;
	display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
	padding: 26px 30px; border-radius: var(--r-lg);
	background: linear-gradient(165deg, var(--espresso), oklch(0.27 0.03 48));
	box-shadow: var(--shadow-lg); position: relative; overflow: hidden;
}
.steps-pulse { position: relative; width: 64px; height: 64px; flex-shrink: 0; display: grid; place-items: center; }
.sp-core {
	position: relative; z-index: 2;
	width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center;
	background: linear-gradient(135deg, var(--orange), var(--orange-deep));
	color: var(--white); box-shadow: var(--shadow-glow);
}
.sp-core svg { width: 26px; height: 26px; }
.sp-ring {
	position: absolute; inset: 0; margin: auto;
	width: 56px; height: 56px; border-radius: 50%;
	border: 2px solid var(--orange);
	animation: spPulse 2.4s ease-out infinite;
}
.sp-ring:nth-child(2) { animation-delay: 1.2s; }
@keyframes spPulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(2.1); opacity: 0; } }
.steps-cta-copy { flex: 1; min-width: 200px; }
.steps-cta-copy b { display: block; font-family: var(--font-display); font-style: italic; font-size: 1.5rem; color: var(--cream); }
.steps-cta-copy span { display: block; margin-top: 6px; color: oklch(0.84 0.03 70); font-size: 0.98rem; line-height: 1.45; }
.steps-cta-btn { flex-shrink: 0; }

/* =========================================================
   SHOP — guarantee band
   ========================================================= */
.shop-guarantee { padding-top: 0; }
.guarantee-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.guarantee-card {
	background: var(--white); border: 1px solid var(--line);
	border-radius: var(--r-lg); padding: 30px 28px;
	box-shadow: var(--shadow-md); text-align: left;
	transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.guarantee-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.guarantee-card .icon-chip { margin-bottom: 16px; }
.guarantee-card h3 { font-size: 1.2rem; }
.guarantee-card p { margin-top: 8px; color: var(--muted); font-size: 0.96rem; }

.guarantee-cta {
	margin-top: 26px;
	display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap;
	padding: clamp(28px, 4vw, 44px);
	border-radius: var(--r-xl);
	background: linear-gradient(165deg, oklch(0.985 0.012 76), oklch(0.95 0.03 60 / 0.9));
	border: 1px solid oklch(1 0 0 / 0.7);
	box-shadow: var(--shadow-lg);
}
.guarantee-cta .gc-copy { max-width: 560px; }
.guarantee-cta h2 { margin-top: 14px; }
.guarantee-cta p { margin-top: 12px; color: var(--espresso-2); font-size: 1.06rem; }

@media (prefers-reduced-motion: reduce) {
	.steps-line-fill, .step-ic, .sp-ring { animation: none; }
}
@media (max-width: 1000px) {
	.steps-track { grid-template-columns: repeat(2, 1fr); }
	.steps-line { display: none; }
	.guarantee-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.steps-track { grid-template-columns: 1fr; }
	.shop-controls { flex-direction: column; align-items: stretch; }
	.shop-search { max-width: none; flex: 0 0 auto; width: 100%; }
	.shop-cats { justify-content: center; }
	.steps-cta, .guarantee-cta { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* =========================================================
   WOOCOMMERCE — CART & CHECKOUT BLOCKS (Gutenberg / Store API)
   Klasy .wc-block-* — blokowy koszyk i kasa. Wymusza czytelny
   układ 2-kolumnowy, pełną szerokość pól i markę.
   ========================================================= */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart { max-width: 1180px; margin-inline: auto; }

/* ---- Two-column desktop layout (form + sticky summary) ---- */
@media (min-width: 1000px) {
	.wc-block-checkout__form,
	.wc-block-cart__main { flex: 1 1 58% !important; min-width: 0 !important; }
	.wc-block-checkout__sidebar,
	.wc-block-cart__sidebar { flex: 0 0 360px !important; max-width: 380px !important; }
	.wc-block-checkout,
	.wc-block-cart { display: flex !important; gap: 40px !important; align-items: flex-start !important; }
	.wc-block-checkout__sidebar { position: sticky; top: 90px; }
}

/* ---- Panels / cards ---- */
.wc-block-components-panel,
.wc-block-checkout__sidebar > .wc-block-components-sidebar,
.wc-block-components-order-summary,
.wc-block-checkout__payment-method,
.wc-block-checkout__shipping-option {
	border-radius: var(--r-md);
}
.wc-block-checkout__sidebar .wc-block-components-sidebar {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-md);
	padding: 8px 22px 18px;
}

/* ---- Form fields: full width + brand ---- */
.wc-block-components-text-input,
.wc-block-components-country-input,
.wc-block-components-state-input,
.wc-block-components-address-form__field,
.wc-block-components-select,
.wc-block-components-textarea { width: 100% !important; }

.wc-block-components-text-input input,
.wc-block-components-text-input.is-active input,
.wc-block-components-select select,
.wc-block-components-select__select,
.wc-block-components-combobox input,
.wc-block-components-textarea,
.wc-block-components-address-form input,
.wc-block-checkout input.input-text,
.wc-block-components-form .wc-block-components-text-input input {
	width: 100% !important;
	min-height: 52px !important;
	border-radius: 14px !important;
	border: 1.5px solid var(--line) !important;
	background: var(--white) !important;
	color: var(--espresso) !important;
	font-family: var(--font-body) !important;
	font-size: 1rem !important;
	box-shadow: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox.is-active input,
.wc-block-components-address-form input:focus {
	outline: none !important;
	border-color: var(--orange) !important;
	box-shadow: 0 0 0 4px oklch(0.7 0.15 52 / 0.15) !important;
}

/* floating labels */
.wc-block-components-text-input label,
.wc-block-components-combobox label { color: var(--muted) !important; }
.wc-block-components-text-input.is-active label,
.wc-block-components-checkout-step__title { color: var(--espresso) !important; }

/* address rows side-by-side on desktop */
@media (min-width: 600px) {
	.wc-block-components-address-form {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 14px 16px !important;
	}
	.wc-block-components-address-form > * { margin: 0 !important; }
	.wc-block-components-address-form .wc-block-components-address-form__company,
	.wc-block-components-address-form .wc-block-components-address-form__address_1,
	.wc-block-components-address-form .wc-block-components-address-form__address_2,
	.wc-block-components-address-form #shipping-country,
	.wc-block-components-address-form #billing-country,
	.wc-block-components-address-form .wc-block-components-country-input,
	.wc-block-components-address-form .wc-block-components-address-form__phone { grid-column: 1 / -1 !important; }
}

/* ---- Section headings ---- */
.wc-block-checkout__main .wc-block-components-checkout-step__title,
.wc-block-components-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: 1.5rem !important;
	color: var(--espresso) !important;
}
.wc-block-components-checkout-step {
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	background: var(--white);
	box-shadow: var(--shadow-sm);
	padding: 24px 26px !important;
	margin-bottom: 18px !important;
}

/* ---- Order summary rows ---- */
.wc-block-components-totals-item { font-size: 0.98rem; }
.wc-block-components-totals-footer-item,
.wc-block-components-totals-item__value { font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-order-summary__total .wc-block-formatted-money-amount { color: var(--orange-deep) !important; }
.wc-block-components-product-metadata,
.wc-block-components-order-summary-item__description { color: var(--muted); }

/* ---- Coupon ---- */
.wc-block-components-totals-coupon__button,
.wc-block-components-panel__button { color: var(--orange-deep) !important; font-weight: 700 !important; }

/* ---- Radio (payment / shipping) ---- */
.wc-block-components-radio-control__option {
	border-radius: 14px;
	border: 1.5px solid var(--line);
	background: var(--white);
	margin-bottom: 10px;
	padding: 14px 16px 14px 46px !important;
}
.wc-block-components-radio-control__option-checked {
	border-color: var(--orange) !important;
	box-shadow: 0 0 0 3px oklch(0.7 0.15 52 / 0.12);
}
.wc-block-components-radio-control__input:checked { border-color: var(--orange) !important; background: var(--orange) !important; }

/* ---- Buttons ---- */
.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wc-block-cart__submit-container a {
	background: linear-gradient(135deg, var(--orange), var(--orange-deep)) !important;
	color: var(--white) !important;
	border: none !important;
	border-radius: 100px !important;
	font-family: var(--font-body) !important;
	font-weight: 700 !important;
	min-height: 54px !important;
	box-shadow: var(--shadow-glow) !important;
	transition: transform .3s var(--ease), box-shadow .3s var(--ease) !important;
}
.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	transform: translateY(-2px) !important;
}
.wc-block-components-button.outlined,
.wc-block-components-button.wc-block-components-button--outlined {
	background: var(--white) !important;
	color: var(--espresso) !important;
	border: 1.5px solid var(--line) !important;
	box-shadow: none !important;
}

/* ---- Express checkout area ---- */
.wc-block-components-express-payment {
	border-radius: 14px; overflow: hidden;
}
.wc-block-components-express-payment-continue-rule { color: var(--muted); }

/* ---- Cart line items ---- */
.wc-block-cart-items__row,
.wc-block-cart-item__total { color: var(--espresso); }
.wc-block-cart-item__image img { border-radius: 12px; }
.wc-block-components-quantity-selector {
	border-radius: 12px; border: 1.5px solid var(--line);
}

/* Links inside blocks keep brand color but readable */
.wc-block-components-checkout-step a,
.wc-block-checkout a { color: var(--orange-deep); }

/* =========================================================
   PERF / FIX — proporcje logo (audyt: incorrect aspect ratio)
   ========================================================= */
.brand-logo img,
.brand-logo .custom-logo { max-width: none !important; width: auto !important; }
@media (max-width: 480px) {
	.brand-logo img, .nav.scrolled .brand-logo img { height: 30px; }
}

/* =========================================================
   SINGLE PRODUCT — prestiżowy opis (jak strona główna)
   ========================================================= */
.woocommerce div.product .woocommerce-Tabs-panel--description,
.woocommerce div.product .wc-tab,
.woocommerce-product-details__short-description {
	color: var(--espresso-2);
	font-size: 1.08rem;
	line-height: 1.75;
	text-wrap: pretty;
}
.woocommerce div.product .woocommerce-Tabs-panel--description > *:first-child { margin-top: 0; }

/* Headings → serif, prestiżowe */
.woocommerce div.product .woocommerce-Tabs-panel--description h2,
.woocommerce div.product .wc-tab h2 {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
	line-height: 1.1 !important;
	color: var(--espresso) !important;
	margin: 1.5em 0 0.5em !important;
	text-wrap: balance;
}
.woocommerce div.product .woocommerce-Tabs-panel--description h3,
.woocommerce div.product .wc-tab h3 {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-style: italic;
	font-size: clamp(1.35rem, 2.2vw, 1.7rem) !important;
	color: var(--orange-deep) !important;
	margin: 1.4em 0 0.4em !important;
}
.woocommerce div.product .woocommerce-Tabs-panel--description h4 {
	font-weight: 800 !important; font-size: 1.05rem !important; color: var(--espresso) !important;
	margin: 1.2em 0 0.4em !important;
}
.woocommerce div.product .woocommerce-Tabs-panel--description p { margin: 0 0 1em; }
.woocommerce div.product .woocommerce-Tabs-panel--description strong,
.woocommerce div.product .woocommerce-Tabs-panel--description b { color: var(--espresso); font-weight: 700; }

/* Listy → markowe „ptaszki" w kafelkach */
.woocommerce div.product .woocommerce-Tabs-panel--description ul,
.woocommerce div.product .wc-tab ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0.4em 0 1.4em !important;
	display: grid; gap: 12px;
}
.woocommerce div.product .woocommerce-Tabs-panel--description ul li {
	position: relative;
	padding: 0 0 0 40px !important;
	margin: 0 !important;
	font-size: 1.05rem;
	color: var(--espresso);
	line-height: 1.5;
}
.woocommerce div.product .woocommerce-Tabs-panel--description ul li::before {
	content: "✓";
	position: absolute; left: 0; top: 1px;
	width: 26px; height: 26px; border-radius: 9px;
	background: linear-gradient(145deg, var(--orange), var(--orange-deep));
	color: #fff; font-weight: 800; font-size: 14px; line-height: 26px;
	text-align: center;
	box-shadow: inset 0 1px 0 oklch(1 0 0 / 0.4);
}
/* Numbered lists keep numbers but branded */
.woocommerce div.product .woocommerce-Tabs-panel--description ol {
	padding-left: 1.2em; display: grid; gap: 10px; margin: 0.4em 0 1.4em;
}
.woocommerce div.product .woocommerce-Tabs-panel--description ol li::marker {
	color: var(--orange-deep); font-weight: 700; font-family: var(--font-display);
}

/* nice rhythm + optional divider before headings */
.woocommerce div.product .woocommerce-Tabs-panel--description h2 + p,
.woocommerce div.product .woocommerce-Tabs-panel--description h3 + p { margin-top: 0; }

/* Short description under the title */
.woocommerce-product-details__short-description ul { list-style: none; padding: 0; display: grid; gap: 8px; margin: 12px 0; }
.woocommerce-product-details__short-description ul li { position: relative; padding-left: 26px; }
.woocommerce-product-details__short-description ul li::before {
	content: "★"; position: absolute; left: 0; top: 0; color: var(--orange); font-size: 0.9em;
}

/* ---- Empty cart block ---- */
.wp-block-woocommerce-empty-cart-block { text-align: center; padding: 20px 0 10px; }
.wp-block-woocommerce-empty-cart-block img,
.wp-block-woocommerce-empty-cart-block svg,
.wc-block-cart__empty-cart__image,
.cart-empty + p img { max-width: 120px !important; height: auto !important; margin-inline: auto; opacity: .9; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
.cart-empty.woocommerce-info {
	font-family: var(--font-display) !important;
	font-size: 1.6rem !important; color: var(--espresso) !important;
	background: none !important; border: none !important; box-shadow: none !important;
	padding: 0 !important; margin: 18px 0 !important;
}
.cart-empty.woocommerce-info::before { display: none !important; }
/* the "Browse store / Przejdź do sklepu" button */
.wc-block-cart__shopping-button a,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-button a,
.woocommerce .cart-empty ~ p .button,
.return-to-shop .button {
	display: inline-flex !important; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--orange), var(--orange-deep)) !important;
	color: var(--white) !important;
	border: none !important; border-radius: 100px !important;
	font-weight: 700 !important; padding: 15px 30px !important;
	box-shadow: var(--shadow-glow) !important; text-decoration: none !important;
}
.wc-block-cart__shopping-button a:hover,
.return-to-shop .button:hover { transform: translateY(-2px); color: var(--white) !important; }

/* =========================================================
   WOOCOMMERCE — CLASSIC CHECKOUT (shortcode) — solidny układ
   Naprawia rozjechane, pływające pola .form-row-first/last.
   ========================================================= */
/* Wyśrodkowana, jednokolumnowa kasa (bez pustej połowy) */
.woocommerce-checkout .woocommerce {
	max-width: 900px; margin-inline: auto;
}
.woocommerce-checkout #customer_details.col2-set,
.woocommerce-page #customer_details.col2-set {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important; max-width: none !important; float: none !important; margin: 0 0 8px !important;
}
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 10px; }
/* every field full width + stacked label/input (kills the float overlap) */
.woocommerce-checkout form .form-row,
.woocommerce form.checkout .form-row {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	clear: both !important;
}
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last,
.woocommerce-checkout form .form-row-wide { width: 100% !important; }
.woocommerce-checkout form .form-row label,
.woocommerce form.checkout .form-row label {
	display: block !important;
	margin: 0 0 6px !important;
	font-weight: 700; font-size: 0.88rem; color: var(--espresso-2);
}
.woocommerce-checkout form .form-row .woocommerce-input-wrapper { width: 100%; display: block; }
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100% !important; min-height: 52px; height: auto;
	border-radius: 14px; border: 1.5px solid var(--line);
	background: var(--white); color: var(--espresso);
	font-family: var(--font-body); font-size: 1rem; padding: 13px 15px;
}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
	outline: none; border-color: var(--orange); box-shadow: 0 0 0 4px oklch(0.7 0.15 52 / 0.15);
}
/* section headings */
.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-display) !important; font-weight: 600 !important;
	font-size: 1.6rem !important; color: var(--espresso) !important; margin-bottom: 18px !important;
}
/* order review full width below customer details */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading { width: 100% !important; float: none !important; }
.woocommerce-checkout #payment { border-radius: var(--r-md); }

@media (max-width: 768px) {
	.woocommerce-checkout #customer_details.col2-set { grid-template-columns: 1fr !important; }
}
