/*!
Theme Name: marcinpohl
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: marcinpohl
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

marcinpohl is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}


/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
embed,
iframe,
object {
	max-width: 100%;
}

.custom-logo-link {
	display: inline-block;
}

.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-caption {
	display: block;
}


/*--------------------------------------------------------------
# Cartzilla Color Overrides
# Paleta Med Experts Trichology
# Primary / Nagłówki: #1B3A2D
# CTA / Akcenty:      #3A6B52
--------------------------------------------------------------*/
:root,
[data-bs-theme="light"] {
	--cz-primary: #3A6B52;
	--cz-primary-rgb: 58,107,82;
	--cz-primary-text-emphasis: #1B3A2D;
	--cz-primary-bg-subtle: #eef5f1;
	--cz-primary-border-subtle: #c0d9ca;
	--cz-link-color: #3A6B52;
	--cz-link-color-rgb: 58,107,82;
	--cz-link-hover-color: #1B3A2D;
	--cz-link-hover-color-rgb: 27,58,45;
	--cz-dark: #1B3A2D;
	--cz-dark-rgb: 27,58,45;
	--cz-emphasis-color: #1B3A2D;
	--cz-emphasis-color-rgb: 27,58,45;
	--cz-heading-color: #1B3A2D;
	--cz-info: #3A6B52;
	--cz-info-rgb: 58,107,82;
	--cz-info-text-emphasis: #2d5a40;
	--cz-info-bg-subtle: #eef5f1;
	--cz-info-border-subtle: #c0d9ca;
	--cz-cayes-mint: #3A6B52;
	--cz-cayes-mint-rgb: 58,107,82;
}

/* Primary buttons and badges */
.btn-primary {
	--cz-btn-bg: #3A6B52;
	--cz-btn-border-color: #3A6B52;
	--cz-btn-hover-bg: #1B3A2D;
	--cz-btn-hover-border-color: #1B3A2D;
	--cz-btn-active-bg: #152e23;
	--cz-btn-active-border-color: #152e23;
}

.badge.bg-primary,
.text-bg-primary {
	background-color: #3A6B52 !important;
}

.text-primary {
	color: #3A6B52 !important;
}

/* Dark buttons */
.btn-dark {
	--cz-btn-bg: #1B3A2D;
	--cz-btn-border-color: #1B3A2D;
	--cz-btn-hover-bg: #152e23;
	--cz-btn-hover-border-color: #152e23;
}

/*--------------------------------------------------------------
# Cartzilla Theme Overrides
--------------------------------------------------------------*/

/* Hide default Underscores menu - we use Cartzilla navigation */
.main-navigation {
	display: none !important;
}

/* WooCommerce cart quantity input */
.woocommerce .quantity .qty {
	width: 60px;
	text-align: center;
}

/* Product card images - prevent stretching/distortion */
.product-card .ratio img,
.product-card-img .ratio img {
	object-fit: contain;
	object-position: center center;
}

/*--------------------------------------------------------------
# WooCommerce Price Styling (Cartzilla pattern)
--------------------------------------------------------------*/

/* Price container: show new price first, old price after (like Cartzilla grocery) */
.product-card .h5,
.product-card .h6,
.animate-underline .h6,
.card .h6 {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 .375rem;
}

/* New price (ins) appears first via order */
.product-card .h5 ins,
.product-card .h6 ins,
.animate-underline .h6 ins,
.card .h6 ins {
	text-decoration: none;
	order: -1;
}

/* Old price (del) - smaller, gray, like Cartzilla: fs-sm fw-normal text-body-tertiary */
.product-card .h5 del,
.product-card .h6 del,
.animate-underline .h6 del,
.card .h6 del {
	font-size: .8125rem;
	font-weight: 400;
	color: var(--cz-tertiary-color, #8b919a);
	text-decoration: line-through;
}

/* Hide WooCommerce screen-reader price text in cards */
.product-card .screen-reader-text,
.animate-underline .screen-reader-text,
.card .h6 .screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
}

/* Product card badge z-index fix */
.product-card .badge {
	z-index: 3;
}

/*--------------------------------------------------------------
# Gradient border - universal class
# Użycie: dodaj .gradient-border do dowolnego elementu
--------------------------------------------------------------*/
.gradient-border {
	border: 1px solid transparent;
	background-image: linear-gradient(#fff, #fff), linear-gradient(135deg, #3A6B52, #1B3A2D);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

[data-bs-theme="dark"] .gradient-border {
	background-image: linear-gradient(var(--cz-body-bg, #121519), var(--cz-body-bg, #121519)), linear-gradient(135deg, #3A6B52, #1B3A2D);
}

/*--------------------------------------------------------------
# Kolorystyka sklepu - Med Experts Trichology
--------------------------------------------------------------*/

/* Akcent sekcji - subtelne podkreślenia nagłówków */
.section-accent {
	position: relative;
	display: inline-block;
}

.section-accent::after {
	content: "";
	position: absolute;
	bottom: -.25rem;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, #3A6B52, #1B3A2D);
	border-radius: 1px;
}

/* Przycisk gradientowy */
.btn-gradient {
	background: linear-gradient(135deg, #3A6B52, #1B3A2D);
	border: none;
	color: #fff;
	transition: opacity .2s;
}

.btn-gradient:hover {
	opacity: .9;
	color: #fff;
}

/*--------------------------------------------------------------
# Mini-cart offcanvas (Cartzilla style)
--------------------------------------------------------------*/

/* Reset default WooCommerce mini-cart styles */
.widget_shopping_cart_content .woocommerce-mini-cart {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Hide default WooCommerce mini-cart totals and buttons (we have our own in header) */
.widget_shopping_cart_content .woocommerce-mini-cart__total,
.widget_shopping_cart_content .woocommerce-mini-cart__buttons {
	display: none !important;
}

/* Mini-cart item separator */
.woocommerce-mini-cart-item + .woocommerce-mini-cart-item {
	padding-top: 1rem;
	border-top: 1px solid var(--cz-border-color, #e9ecef);
}

/* Mini-cart price styling */
.woocommerce-mini-cart-item .h6 del {
	font-size: .75rem;
	font-weight: 400;
	color: var(--cz-tertiary-color, #8b919a);
}

.woocommerce-mini-cart-item .h6 ins {
	text-decoration: none;
}


/*--------------------------------------------------------------
# WooCommerce Checkout & Cart - Bootstrap/Cartzilla form styling
--------------------------------------------------------------*/

/* Form rows layout */
.woocommerce-checkout .form-row {
	margin-bottom: 1rem;
}

/* Text inputs, email, tel, password */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--cz-body-color);
	appearance: none;
	background-color: var(--cz-body-bg);
	background-clip: padding-box;
	border: var(--cz-border-width) solid var(--cz-border-color);
	border-radius: var(--cz-border-radius);
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus {
	border-color: var(--cz-primary);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--cz-primary-rgb), .25);
}

/* Large variant for checkout */
.woocommerce-checkout .form-row input.form-control-lg,
.woocommerce-checkout .form-row textarea.form-control-lg {
	padding: .625rem 1rem;
	font-size: 1rem;
	border-radius: var(--cz-border-radius-lg, .5rem);
}

/* Select fields */
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single {
	display: block;
	width: 100%;
	padding: .5rem 2.25rem .5rem .75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--cz-body-color);
	appearance: none;
	background-color: var(--cz-body-bg);
	border: var(--cz-border-width) solid var(--cz-border-color);
	border-radius: var(--cz-border-radius);
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.woocommerce-checkout .form-row select:focus {
	border-color: var(--cz-primary);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(var(--cz-primary-rgb), .25);
}

/* Select2 overrides (WooCommerce uses Select2 for country/state) */
.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: auto;
	min-height: 46px;
	padding: .5rem .75rem;
	border: var(--cz-border-width) solid var(--cz-border-color);
	border-radius: var(--cz-border-radius);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5;
	padding: 0;
	color: var(--cz-body-color);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
	right: .75rem;
}

.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--cz-primary);
	box-shadow: 0 0 0 .25rem rgba(var(--cz-primary-rgb), .25);
}

/* Labels */
.woocommerce-checkout .form-row label {
	font-size: .875rem;
	font-weight: 500;
	margin-bottom: .375rem;
	color: var(--cz-heading-color);
}

.woocommerce-checkout .form-row label .required {
	color: var(--cz-danger, #dc3545);
}

/* WooCommerce validation states */
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
	border-color: var(--cz-danger, #dc3545);
}

.woocommerce-checkout .form-row.woocommerce-validated input.input-text,
.woocommerce-checkout .form-row.woocommerce-validated select {
	border-color: var(--cz-success, #198754);
}

/* Checkbox fields */
.woocommerce-checkout .form-row input[type="checkbox"] {
	width: 1em;
	height: 1em;
	margin-right: .5em;
	vertical-align: middle;
}

/* Payment methods section */
.woocommerce-checkout #payment {
	background: var(--cz-body-tertiary-bg, #f8f9fa);
	border-radius: var(--cz-border-radius-lg, .5rem);
	padding: 1.5rem;
	margin-top: 1rem;
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 1rem;
	border-bottom: 1px solid var(--cz-border-color);
	padding-bottom: 1rem;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: .75rem 0;
}

.woocommerce-checkout #payment ul.payment_methods li + li {
	border-top: 1px solid var(--cz-border-color);
}

.woocommerce-checkout #payment ul.payment_methods li label {
	font-weight: 500;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: .5rem;
}

.woocommerce-checkout #payment .payment_box {
	padding: .75rem 0 0 1.75rem;
	font-size: .875rem;
	color: var(--cz-body-secondary-color, #6c757d);
}

/* Place order button */
.woocommerce-checkout #payment #place_order {
	display: block;
	width: 100%;
	padding: .75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background-color: var(--cz-primary);
	border: 0;
	border-radius: var(--cz-border-radius-lg, .5rem);
	cursor: pointer;
	transition: background-color .15s ease-in-out;
}

.woocommerce-checkout #payment #place_order:hover {
	background-color: var(--cz-primary-text-emphasis);
}

/* Order review table in checkout sidebar */
.woocommerce-checkout-review-order-table {
	width: 100%;
	font-size: .875rem;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: .5rem 0;
	vertical-align: top;
}

.woocommerce-checkout-review-order-table thead th {
	border-bottom: 1px solid var(--cz-border-color);
	font-weight: 500;
	font-size: .8125rem;
	color: var(--cz-body-secondary-color, #6c757d);
}

.woocommerce-checkout-review-order-table .cart_item td {
	padding: .75rem 0;
	border-bottom: 1px solid var(--cz-border-color);
}

.woocommerce-checkout-review-order-table .cart_item .product-name {
	font-weight: 500;
}

.woocommerce-checkout-review-order-table .cart_item .product-total {
	text-align: right;
	font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot th {
	text-align: left;
	font-weight: 500;
}

.woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
	font-weight: 600;
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	border-top: 1px solid var(--cz-border-color);
	padding-top: 1rem;
	font-size: 1.125rem;
}

/* WooCommerce notices */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
	padding: 1rem;
	margin-bottom: 1.5rem;
	border: 1px solid transparent;
	border-radius: var(--cz-border-radius);
	font-size: .875rem;
	list-style: none;
}

.woocommerce-checkout .woocommerce-info {
	background-color: var(--cz-info-bg-subtle);
	border-color: var(--cz-info-border-subtle);
	color: var(--cz-info-text-emphasis);
}

.woocommerce-checkout .woocommerce-message {
	background-color: rgba(25, 135, 84, .1);
	border-color: rgba(25, 135, 84, .25);
	color: #0a5c36;
}

.woocommerce-checkout .woocommerce-error {
	background-color: rgba(220, 53, 69, .1);
	border-color: rgba(220, 53, 69, .25);
	color: #842029;
}

/* Cart page form styling */
.woocommerce-cart-form .quantity input.qty {
	width: 64px;
	padding: .375rem .5rem;
	text-align: center;
	border: var(--cz-border-width) solid var(--cz-border-color);
	border-radius: var(--cz-border-radius);
	font-size: .875rem;
}

/* Coupon form on checkout */
.woocommerce .checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: .5rem;
	padding: 1rem;
	margin-bottom: 1.5rem;
	background: var(--cz-body-tertiary-bg, #f8f9fa);
	border-radius: var(--cz-border-radius);
	border: 0;
}

.woocommerce .checkout_coupon .form-row {
	margin: 0;
}

.woocommerce .checkout_coupon .form-row-first {
	flex: 1 1 200px;
}

.woocommerce .checkout_coupon .form-row-first input {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	font-size: .875rem;
	border: var(--cz-border-width) solid var(--cz-border-color);
	border-radius: var(--cz-border-radius);
	background: var(--cz-body-bg);
}

.woocommerce .checkout_coupon .form-row-last {
	flex: 0 0 auto;
}

.woocommerce .checkout_coupon .form-row-last button {
	display: block;
	padding: .5rem 1.25rem;
	font-size: .875rem;
	font-weight: 500;
	background: var(--cz-dark);
	color: #fff;
	border: 0;
	border-radius: var(--cz-border-radius);
	cursor: pointer;
	white-space: nowrap;
}

.woocommerce .checkout_coupon .clear {
	display: none;
}

/* WC notices, coupon toggle, login form - constrain width on checkout page */
.woocommerce .woocommerce-form-coupon-toggle,
.woocommerce .woocommerce-form-login-toggle,
.woocommerce form.checkout_coupon,
.woocommerce form.woocommerce-form-login {
	max-width: 100%;
	margin-bottom: 1rem;
}

/* Notices wrapper — wycentrowany jak Bootstrap .container */
.woocommerce > .woocommerce-notices-wrapper {
	width: 100%;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
	padding-left: var(--bs-gutter-x, 1.5rem);
	padding-right: var(--bs-gutter-x, 1.5rem);
	padding-top: 1rem;
}

.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
	cursor: pointer;
	padding: .75rem 1rem;
	margin-bottom: 0;
	border-radius: var(--cz-border-radius, .375rem);
	background-color: var(--cz-info-bg-subtle, #eef5f1);
	border: 1px solid var(--cz-info-border-subtle, #c0d9ca);
	color: var(--cz-info-text-emphasis, #2d5a40);
	font-size: .875rem;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-message {
	padding: .75rem 1rem;
	margin-bottom: 1rem;
	border-radius: var(--cz-border-radius, .375rem);
	background-color: rgba(25, 135, 84, .1);
	border: 1px solid rgba(25, 135, 84, .25);
	color: #0a5c36;
	font-size: .875rem;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-message .button {
	display: inline-block;
	margin-left: .5rem;
	padding: .25rem .75rem;
	font-size: .8125rem;
	font-weight: 500;
	color: #fff;
	background: var(--cz-primary);
	border: 0;
	border-radius: var(--cz-border-radius);
	text-decoration: none;
}

/* Terms and conditions checkbox */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1rem;
	font-size: .875rem;
}

/* Price amounts - never break */
.woocommerce-Price-amount {
	white-space: nowrap;
}

/* Consistent border color across checkout */
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout-review-order-table .cart_item td,
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
	border-color: var(--cz-border-color, #dee2e6);
}

/* Checkout form fields - clean spacing, no extra gaps */
.woocommerce-checkout .form-row {
	margin-bottom: 0;
}

.woocommerce-checkout .row.g-3 > .form-row,
.woocommerce-checkout .row.g-sm-4 > .form-row {
	margin-bottom: 0;
}

/* Responsive adjustments for checkout */
@media (max-width: 991.98px) {
	.woocommerce-checkout .col-lg-8 {
		margin-bottom: 2rem;
	}
}


/* ─── Single Product Page ─────────────────────────────────────────────────── */

/* Sticky sidebar z-index below header */
.single-product .sticky-md-top {
	z-index: 1;
}

/* Gutenberg content in product description */
.single-product .entry-content {
	max-width: none;
}
.single-product .entry-content > *:last-child {
	margin-bottom: 0;
}
.single-product .entry-content .wp-block-columns {
	gap: 2rem;
}

/* Gallery hover dark overlay */
.single-product .hover-effect-opacity .bg-opacity-25 {
	transition: opacity .2s ease-in-out;
}

/* Mobile "show more pictures" toggle icon */
.single-product .collapse-toggle-icon {
	transition: transform .2s;
}
.single-product [aria-expanded="true"] .collapse-toggle-icon {
	transform: rotate(180deg);
}

/* Related products carousel button overlap fix */
.single-product .popular-prev,
.single-product .popular-next {
	margin-top: -2rem;
}

/* Product accordion description - images responsive */
.single-product .accordion-body .entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--cz-border-radius-lg, .5rem);
}

/* Shipping options table in sidebar */
.single-product .table-borderless td,
.single-product .table-borderless th {
	border: 0;
}

/* Contact box hover */
.single-product .bg-body-tertiary .btn-outline-dark:hover {
	color: #fff;
}

/* Product gallery Swiper - constrain within column */
.single-product #productPreview {
	border-radius: var(--cz-border-radius-xl, .75rem);
	overflow: hidden;
}

.single-product #productPreview .ratio img {
	object-fit: contain;
	object-position: center;
}

/* Swiper thumbnails active state */
.single-product .swiper-thumb {
	cursor: pointer;
	opacity: .6;
	transition: opacity .2s;
	border-radius: var(--cz-border-radius, .375rem);
	overflow: hidden;
}
.single-product .swiper-thumb.swiper-slide-thumb-active,
.single-product .swiper-thumb:hover {
	opacity: 1;
}

.single-product .swiper-thumb .ratio img {
	object-fit: cover;
	object-position: center;
}

/* Drift zoom pane positioning */
.single-product #zoomPane .drift-zoom-pane {
	border-radius: var(--cz-border-radius-lg, .5rem);
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}

/* Related products badge fix - badge contained in positioned wrapper */
.single-product .swiper-slide .position-relative .badge {
	font-size: .6875rem;
}

/* Related products images - sharp rendering */
.single-product .swiper-slide .ratio img.object-fit-contain {
	object-fit: contain;
	object-position: center;
}

/* Reviews carousel on product page */
.single-product .bg-body-tertiary.rounded-5 .card {
	box-shadow: none;
}

/* Product description blocks */
.product-blocks .product-block:last-child {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

/* Block images: natural height, rounded */
.product-blocks .product-block-text-image img,
.product-blocks .product-block-gallery img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* H2 w opisie produktu — dekoracyjny akcent (krótki gruby + fadeout thin) */
.entry-content.product-blocks h2 {
	position: relative;
	padding-bottom: 1rem;
	margin-top: 2.25rem;
	margin-bottom: 1.15rem;
	letter-spacing: -.01em;
}
.entry-content.product-blocks h2:first-child {
	margin-top: 0;
}
.entry-content.product-blocks h2::before,
.entry-content.product-blocks h2::after {
	content: '';
	position: absolute;
	bottom: 0;
	border-radius: 2px;
}
.entry-content.product-blocks h2::before {
	left: 0;
	width: 34px;
	height: 4px;
	background: #1B3A2D;
}
.entry-content.product-blocks h2::after {
	left: 42px;
	bottom: 1.5px;
	width: 110px;
	max-width: calc(50% - 42px);
	height: 1px;
	background: linear-gradient(to right, #3A6B52 0%, rgba(58,107,82,.55) 55%, rgba(58,107,82,0) 100%);
}

.product-blocks .product-block-text .fs-base ul,
.product-blocks .product-block-text .fs-base ol,
.product-blocks .product-block-text-image .fs-base ul,
.product-blocks .product-block-text-image .fs-base ol {
	padding-left: 1.25rem;
}

.product-blocks .product-block-text .fs-base li,
.product-blocks .product-block-text-image .fs-base li {
	padding-bottom: .35rem;
}

.product-blocks .product-block-text hr,
.product-blocks .product-block-text-image hr {
	margin: 1.5rem 0;
	opacity: .15;
}

/* Separator between blocks */
.product-blocks .product-block + .product-block {
	border-top: 1px solid var(--cz-border-color, rgba(0,0,0,.1));
	padding-top: 1.5rem;
	margin-top: .5rem;
}


/*--------------------------------------------------------------
# Shop / Category archive
--------------------------------------------------------------*/

/* WooCommerce ordering dropdown - Bootstrap form-select style */
.woocommerce-ordering {
	display: inline-block;
	margin: 0;
}
.woocommerce-ordering select.orderby {
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--cz-body-bg, #fff);
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: 16px 12px;
	border: var(--cz-border-width, 1px) solid var(--cz-border-color, #dee2e6);
	border-radius: var(--cz-border-radius, .375rem);
	color: var(--cz-body-color, #212529);
	display: block;
	font-size: .875rem;
	font-weight: 400;
	line-height: 1.5;
	padding: .375rem 2.25rem .375rem .75rem;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.woocommerce-ordering select.orderby:focus {
	border-color: var(--cz-primary, #3A6B52);
	box-shadow: 0 0 0 .25rem rgba(58, 107, 82, .25);
	outline: 0;
}

/* Price filter widget */
.widget_price_filter .price_slider_wrapper {
	padding-top: .5rem;
}
.widget_price_filter .ui-slider {
	position: relative;
	height: 4px;
	background: var(--cz-border-color, #dee2e6);
	border-radius: 2px;
	margin: 1rem 0;
}
.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	height: 100%;
	background: var(--cz-primary, #3A6B52);
	border-radius: 2px;
}
.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-left: -9px;
	margin-top: -9px;
	background: var(--cz-primary, #3A6B52);
	border: 2px solid #fff;
	border-radius: 50%;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0,0,0,.15);
	outline: none;
	z-index: 1;
}
.widget_price_filter .price_slider_amount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	font-size: .875rem;
}
.widget_price_filter .price_slider_amount .price_label {
	font-weight: 500;
	white-space: nowrap;
}
.widget_price_filter .price_slider_amount .button {
	display: inline-block;
	background: var(--cz-dark, #1B3A2D);
	color: #fff;
	border: 0;
	border-radius: var(--cz-border-radius-pill, 50rem);
	padding: .375rem 1rem;
	font-size: .8125rem;
	font-weight: 500;
	cursor: pointer;
	transition: opacity .2s;
}
.widget_price_filter .price_slider_amount .button:hover {
	opacity: .85;
}
.widget_price_filter .price_slider_amount .clear {
	display: none;
}

/* Product card hover on archive */
.product-card.animate-underline .animate-target {
	text-decoration: none;
}

/* Archive product card price formatting */
.product-card .h5 .woocommerce-Price-amount {
	font-weight: 700;
}
.product-card .h5 del {
	font-size: .75em;
	color: var(--cz-body-secondary-color, #6c757d);
	font-weight: 400;
}
.product-card .h5 ins {
	text-decoration: none;
}

/* Fixed bottom filter button - extra padding for mobile safe area */
.fixed-bottom.btn-lg[data-bs-target="#filterSidebar"] {
	padding-bottom: env(safe-area-inset-bottom, 1rem) !important;
}

/* Category header card on archive */
.post-type-archive-product .card.rounded-5 img,
.tax-product_cat .card.rounded-5 img {
	transition: transform .3s ease;
}

/* Offcanvas filter sidebar alignment */
@media (min-width: 992px) {
	#filterSidebar {
		display: block !important;
	}
	#filterSidebar .offcanvas-header {
		display: none;
	}
	#filterSidebar .offcanvas-body {
		padding: 0;
		overflow: visible;
	}
}


/*--------------------------------------------------------------
# YITH Ajax Search styling (header integration)
--------------------------------------------------------------*/
.yith-ajaxsearchform-container {
	width: 100%;
}
.yith-ajaxsearchform-container .search-field,
.yith-ajaxsearchform-container input[type="search"] {
	background-color: transparent;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: var(--cz-border-radius-pill, 50rem) !important;
	color: #fff;
	font-size: .875rem;
	padding: .5rem 1rem .5rem 2.5rem;
	height: auto;
}
.yith-ajaxsearchform-container input[type="search"]::placeholder {
	color: rgba(255,255,255,.6);
}
.yith-ajaxsearchform-container input[type="search"]:focus {
	border-color: rgba(255,255,255,.6);
	box-shadow: none;
	outline: none;
}
.yith-ajaxsearchform-container .search-submit,
.yith-ajaxsearchform-container button[type="submit"] {
	position: absolute;
	left: .75rem;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	color: #fff;
	padding: 0;
	font-size: 1rem;
	cursor: pointer;
}
.yith-ajaxsearchform-container .autocomplete-suggestions,
.yith-ajaxsearchform-container .yith-ajaxsearchform-results,
.autocomplete-suggestions {
	border-radius: var(--cz-border-radius, .375rem);
	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
	border: var(--cz-border-width, 1px) solid var(--cz-border-color, #dee2e6);
	max-height: 400px;
	overflow-y: auto;
}

/*--------------------------------------------------------------
# YITH Wishlist – icon-only heart button overrides
# Handles both <a> links and <button> (themed-button mode) output
--------------------------------------------------------------*/

/* Container reset */
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	width: auto;
	position: static;
}
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist::after,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist .count {
	display: none !important;
}

/* Hide ALL text labels everywhere */
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist-button__label,
.cayes-wishlist-btn .feedback,
.cayes-wishlist-btn .yith-wcwl-add-button span:not(.yith-wcwl-icon-svg__wrapper),
.cayes-wishlist-btn a > span:not(.yith-wcwl-icon-svg__wrapper):not(.yith-wcwl-icon) {
	display: none !important;
}

/* Base style for ALL clickable elements (a links AND buttons) */
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist a,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist button,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--cz-border-color, #dee2e6);
	background: transparent;
	color: var(--cz-body-color, #212529);
	text-decoration: none;
	transition: all .2s ease;
	padding: 0;
	line-height: 1;
	flex-shrink: 0;
	cursor: pointer;
	outline: none;
}

/* ── Small size (listing, related, sticky) ── */
.cayes-wishlist-sm .yith-wcwl-add-to-wishlist a,
.cayes-wishlist-sm .yith-wcwl-add-to-wishlist button,
.cayes-wishlist-sm .yith-wcwl-add-to-wishlist-button {
	width: 34px;
	height: 34px;
	border-radius: 50%;
}
.cayes-wishlist-sm svg.yith-wcwl-icon {
	width: 16px;
	height: 16px;
}

/* ── Large size (single product) ── */
.cayes-wishlist-lg .yith-wcwl-add-to-wishlist a,
.cayes-wishlist-lg .yith-wcwl-add-to-wishlist button,
.cayes-wishlist-lg .yith-wcwl-add-to-wishlist-button {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--cz-secondary-bg, #e9ecef);
	border-color: transparent;
}
.cayes-wishlist-lg svg.yith-wcwl-icon {
	width: 22px;
	height: 22px;
}

/* ── Hover: rose accent ── */
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist a:hover,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist button:hover,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist-button:hover {
	background: var(--cz-primary, #3A6B52) !important;
	border-color: var(--cz-primary, #3A6B52) !important;
	color: #fff !important;
}
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist a:hover svg,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist button:hover svg {
	stroke: #fff;
}

/* ── "Already in wishlist" state: rose outline + filled heart ── */
.cayes-wishlist-btn .yith-wcwl-wishlistexistsbrowse a,
.cayes-wishlist-btn .yith-wcwl-wishlistexistsbrowse button {
	color: var(--cz-primary, #3A6B52) !important;
	border-color: var(--cz-primary, #3A6B52) !important;
}
.cayes-wishlist-btn .yith-wcwl-wishlistexistsbrowse svg {
	stroke: var(--cz-primary, #3A6B52);
	fill: var(--cz-primary, #3A6B52);
	fill-opacity: .2;
}

/* ── SVG icon sizing inside wrapper ── */
.cayes-wishlist-btn .yith-wcwl-icon-svg__wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

/* ── Loading spinner while AJAX resolves ── */
@keyframes cayes-spin {
	to { transform: rotate(360deg); }
}
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist.on-first-load a,
.cayes-wishlist-btn .yith-wcwl-add-to-wishlist.on-first-load button {
	pointer-events: none;
	opacity: .5;
}

/*--------------------------------------------------------------
# Product card – equal heights alignment
--------------------------------------------------------------*/

/* Card is a flex column so inner content stretches evenly */
.product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.product-card > .w-100 {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

/* Product title: fixed 2-line height with ellipsis overflow */
.product-card h3 {
	min-height: 2.6em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-card h3 a {
	display: block !important;
}

/* Price: push the button row to the bottom */
.product-card .h5.lh-1 {
	margin-top: auto;
}

/* Button row: always at bottom */
.product-card .d-flex.align-items-center.gap-2:last-child {
	margin-top: auto;
}


/* Footer separator and headings */
.footer h6 .fw-bold,
.footer .accordion-header .fw-bold {
	letter-spacing: .02em;
}

/* Footer — blok danych kontaktowych */
.footer-contact__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(58, 107, 82, .1);
	color: #1B3A2D;
	font-size: 1.05rem;
	transition: background .2s ease, color .2s ease;
}
.footer-contact li:hover .footer-contact__icon {
	background: #1B3A2D;
	color: #fff;
}
.footer-contact__label {
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cz-body-tertiary-color, #8b919a);
	margin-bottom: .125rem;
}
.footer-contact__value {
	display: block;
	font-size: .9375rem;
	font-weight: 500;
	color: var(--cz-heading-color, #1B3A2D);
	max-width: 100%;
}
a.footer-contact__value {
	transition: color .15s ease;
}
a.footer-contact__value:hover {
	color: #3A6B52;
}


/*--------------------------------------------------------------
# Blog – Single post & listing styles
--------------------------------------------------------------*/

/* Entry content (Gutenberg) spacing */
.single-post .entry-content > *:first-child { margin-top: 0; }
.single-post .entry-content p { margin-bottom: 1.25rem; }
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
	margin-top: 2rem;
	margin-bottom: 1rem;
}
.single-post .entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--cz-border-radius-lg, .5rem);
}
.single-post .entry-content blockquote {
	border-left: 4px solid var(--cz-primary, #3A6B52);
	padding-left: 1.5rem;
	margin: 2rem 0;
}
.single-post .entry-content ul,
.single-post .entry-content ol {
	padding-left: 1.5rem;
}
.single-post .entry-content figure {
	margin: 1.5rem 0;
}
.single-post .entry-content .wp-block-image img {
	border-radius: var(--cz-border-radius-xl, 1rem);
}

/* Blog pagination – style WP nav-links as Cartzilla pills */
.nav-links {
	display: flex;
	gap: .5rem;
	justify-content: center;
	flex-wrap: wrap;
}
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: .25rem .75rem;
	border: 1px solid var(--cz-border-color, #dee2e6);
	border-radius: 50rem;
	text-decoration: none;
	font-size: .875rem;
	color: var(--cz-body-color, #212529);
	transition: all .2s;
}
.nav-links .page-numbers:hover {
	background: var(--cz-primary, #3A6B52);
	border-color: var(--cz-primary, #3A6B52);
	color: #fff;
}
.nav-links .page-numbers.current {
	background: var(--cz-primary, #3A6B52);
	border-color: var(--cz-primary, #3A6B52);
	color: #fff;
}

/* Blog grid – image ratio consistency */
.blog-grid article .ratio img,
article .ratio img {
	object-fit: cover;
}


/*--------------------------------------------------------------
# Shop – Attribute filter sidebar
--------------------------------------------------------------*/

/* Filter link rows – clickable full row */
.cayes-filter-link {
	border-radius: var(--cz-border-radius-sm, .25rem);
	padding-left: .25rem;
	padding-right: .25rem;
	transition: background .15s;
}
.cayes-filter-link:hover {
	background: var(--cz-tertiary-bg, #f8f9fa);
}

/* Checked state – rose accent on checkbox */
.cayes-filter-link .form-check-input:checked {
	background-color: var(--cz-primary, #3A6B52);
	border-color: var(--cz-primary, #3A6B52);
}

/* Collapse chevron rotation */
.w-100 > h4 > a[aria-expanded="false"] .ci-chevron-down {
	transform: rotate(-90deg);
	transition: transform .2s;
}
.w-100 > h4 > a[aria-expanded="true"] .ci-chevron-down {
	transform: rotate(0);
	transition: transform .2s;
}

/* Active filter pills in header bar */
.btn-secondary.rounded-pill .ci-close {
	opacity: .7;
	transition: opacity .15s;
}
.btn-secondary.rounded-pill:hover .ci-close {
	opacity: 1;
}

/* Custom price filter – predefined ranges + inputs */
#custom_min_price,
#custom_max_price {
	border: 1px solid var(--cz-border-color, #dee2e6);
	border-radius: var(--cz-border-radius-sm, .25rem);
	font-size: .8125rem;
	padding: .375rem .5rem;
	background: #fff;
	color: var(--cz-body-color, #212529);
	width: 100%;
}
#custom_min_price::placeholder,
#custom_max_price::placeholder {
	color: var(--cz-body-tertiary, #6c757d);
}
#custom_min_price:focus,
#custom_max_price:focus {
	border-color: var(--cz-primary, #3A6B52);
	box-shadow: 0 0 0 3px rgba(58, 107, 82, 0.1);
	outline: none;
}
#apply_custom_price {
	padding: .375rem .75rem;
	font-size: .8125rem;
	white-space: nowrap;
	flex-shrink: 0;
}
#apply_custom_price:hover {
	background: var(--cz-primary-text-emphasis, #1B3A2D);
}


/* ── Polska flaga (CSS-only) – używana w modułach cech / why_my ─────────────
   Użycie w ACF: wpisz "polishflag" w polu klasa_css_ikony
   ────────────────────────────────────────────────────────────────────────── */
.cayes-polish-flag {
	display: inline-block;
	width: 40px;
	height: 27px; /* proporcje ~3:2 jak oryginalna flaga */
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18), 0 0 0 1px rgba(0, 0, 0, .06);
	flex-shrink: 0;
	vertical-align: middle;
	position: relative;
}
.cayes-polish-flag::before,
.cayes-polish-flag::after {
	content: '';
	display: block;
	height: 50%;
}
.cayes-polish-flag::before {
	background: #fff;
}
.cayes-polish-flag::after {
	background: #dc143c; /* Crimson – kolor flagi RP */
}

/* Ikona cechy w kółku na stronie produktu (80px circle) */
.cayes-feat-icon-lg {
	font-size: 2rem;
	color: var(--cz-primary, #3A6B52);
}
/* Flaga w kółku produktu – nieco większa */
.cayes-feat-icon-lg.cayes-polish-flag {
	width: 48px;
	height: 32px;
}

/* Features bar – homepage (4 items, zawsze pionowy układ) */
.cayes-feature-circle {
	width: 64px;
	height: 64px;
	font-size: 1.625rem; /* rozmiar ikony Remixicon */
	color: var(--cz-primary, #3A6B52);
}
/* Flaga w kółku features baru */
.cayes-feature-circle .cayes-polish-flag {
	width: 38px;
	height: 26px;
}

/* ═══════════════════════════════════════════════════════════════════
   WOOCOMMERCE — MOJE KONTO (My Account)
   ═══════════════════════════════════════════════════════════════════ */

/* Sidebar nawigacja */
.cayes-account-nav,
ul.cayes-account-nav {
	list-style: none !important;
	list-style-type: none !important;
	padding-left: 0 !important;
	margin: 0 !important;
}
.cayes-account-nav li,
ul.cayes-account-nav li {
	list-style: none !important;
	list-style-type: none !important;
	list-style-image: none !important;
}
.cayes-account-nav .list-group-item {
	border: none;
	padding: .5rem .75rem;
	border-radius: .5rem !important;
	color: var(--cz-body-color);
	transition: background .15s, color .15s;
}
.cayes-account-nav .list-group-item:hover {
	background: var(--cz-body-tertiary-bg, #f5f5f7);
	color: var(--cz-heading-color);
}
.cayes-account-nav .list-group-item.active {
	background: rgba(58, 107, 82, .1);
	color: var(--cz-primary, #3A6B52);
	font-weight: 600;
}
.cayes-account-nav .list-group-item.active i {
	opacity: 1 !important;
}
.cayes-account-nav .list-group-item.text-danger:hover {
	background: rgba(220, 53, 69, .08);
}

/* Karty quick-links na dashboardzie */
.card-lift {
	transition: transform .2s ease, box-shadow .2s ease;
}
.card-lift:hover {
	transform: translateY(-3px);
	box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.1) !important;
}

/* Tabela zamówień */
.cayes-orders-table th,
.cayes-orders-table td {
	vertical-align: middle;
}

/* Formularze WooCommerce — przepisz na Bootstrap form-control */
.woocommerce-MyAccount-content .woocommerce-Input,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select {
	display: block;
	width: 100%;
	padding: .5rem .875rem;
	font-size: .9375rem;
	line-height: 1.5;
	color: var(--cz-body-color);
	background-color: var(--cz-body-bg);
	border: 1px solid var(--cz-border-color);
	border-radius: .5rem;
	transition: border-color .15s ease, box-shadow .15s ease;
	appearance: none;
}
.woocommerce-MyAccount-content .woocommerce-Input:focus,
.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content input[type="tel"]:focus,
.woocommerce-MyAccount-content select:focus {
	border-color: rgba(58, 107, 82, .5);
	outline: 0;
	box-shadow: 0 0 0 .2rem rgba(58, 107, 82, .15);
}

/* WooCommerce address form fields — pełny reset + Bootstrap grid */
.cayes-address-form .woocommerce-address-fields__field-wrapper::before,
.cayes-address-form .woocommerce-address-fields__field-wrapper::after {
	content: none !important;
	display: none !important;
}
.woocommerce-MyAccount-content .cayes-address-form .woocommerce-address-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 1rem 1.25rem !important;
	float: none !important;
	width: 100% !important;
}
/* Każde pole — reset floatów WC, zajmuje komórkę gridu */
.woocommerce-MyAccount-content .cayes-address-form .form-row,
.woocommerce-MyAccount-content .cayes-address-form p.form-row {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}
/* Wide fields (firma, kraj, ulica, telefon, email) — pełna szerokość */
.woocommerce-MyAccount-content .cayes-address-form .form-row.form-row-wide,
.woocommerce-MyAccount-content .cayes-address-form p.form-row-wide {
	grid-column: 1 / -1 !important;
}
/* Na mobile — zawsze 1 kolumna */
@media (max-width: 575px) {
	.woocommerce-MyAccount-content .cayes-address-form .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr !important;
	}
	.woocommerce-MyAccount-content .cayes-address-form .form-row,
	.woocommerce-MyAccount-content .cayes-address-form p.form-row {
		grid-column: 1 / -1 !important;
	}
}
/* Etykiety */
.cayes-address-form .form-row label,
.cayes-address-form .form-row > label {
	display: block;
	margin-bottom: .25rem;
	font-weight: 500;
	font-size: .9375rem;
}
/* Inputy i selecty */
.cayes-address-form .form-row .input-text,
.cayes-address-form .form-row input[type="text"],
.cayes-address-form .form-row input[type="email"],
.cayes-address-form .form-row input[type="tel"],
.cayes-address-form .form-row input[type="number"],
.cayes-address-form .form-row select,
.cayes-address-form .form-row textarea {
	display: block;
	width: 100%;
	padding: .5rem .875rem;
	font-size: .9375rem;
	line-height: 1.5;
	color: var(--cz-body-color);
	background-color: var(--cz-body-bg);
	border: 1px solid var(--cz-border-color, #dee2e6);
	border-radius: .5rem;
	transition: border-color .15s, box-shadow .15s;
	appearance: none;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.cayes-address-form .form-row .input-text:focus,
.cayes-address-form .form-row input:focus,
.cayes-address-form .form-row select:focus,
.cayes-address-form .form-row textarea:focus {
	border-color: rgba(58, 107, 82, .5);
	outline: 0;
	box-shadow: 0 0 0 .2rem rgba(58, 107, 82, .15);
}
/* Kraj — WC wyświetla jako tekst gdy jest 1 kraj */
.cayes-address-form .form-row .country_to_state_text {
	display: block;
	padding: .5rem .875rem;
	background: var(--cz-body-tertiary-bg, #f5f5f7);
	border-radius: .5rem;
	font-size: .9375rem;
}

/* Notices WooCommerce w content konta */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-error,
.woocommerce-MyAccount-content .woocommerce-info {
	list-style: none;
	padding: .875rem 1.25rem;
	margin-bottom: 1.25rem;
	border-radius: .5rem;
	border-left: 4px solid;
}
.woocommerce-MyAccount-content .woocommerce-message {
	background: rgba(126, 200, 184, .12);
	border-color: #3A6B52;
	color: #1B3A2D;
}
.woocommerce-MyAccount-content .woocommerce-error {
	background: rgba(220, 53, 69, .08);
	border-color: #dc3545;
	color: #842029;
}
.woocommerce-MyAccount-content .woocommerce-info {
	background: rgba(13, 110, 253, .08);
	border-color: #0d6efd;
	color: #084298;
}

/* Strona logowania — poza layout konta (własna strona WC) */
.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 900px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

/* ─── Series badge overlay on product gallery ────────────────── */
.series-badge-img {
  background: rgba(255,255,255,.92);
  padding: 6px;
  object-fit: contain;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.series-badge-img:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.series-badge-icon {
  width: 64px;
  height: 64px;
  font-size: 2rem;
  background: rgba(255,255,255,.92);
  color: #3A6B52;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  transition: transform .2s ease;
}
.series-badge-icon:hover { transform: scale(1.08); }

/* ─── Homepage hero + features shared band ───────────────────── */
.homepage-hero-band {
  background: rgba(27, 58, 45, .035);
}

/* ─── Category initials badge in header menu ─────────────────── */
.cat-menu-initials {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px;
  min-height: 26px;
  border-radius: 6px;
  background: #1B3A2D !important;
  color: #fff !important;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .02em;
  flex-shrink: 0;
  line-height: 1;
  text-align: center;
}

/* ─── Category section divider (green + fading grey) ─────────── */
.cayes-cat-divider {
  height: 3px;
  width: 260px;
  max-width: 100%;
  border-radius: 3px;
  background: linear-gradient(to right,
    #1B3A2D 0,
    #1B3A2D 60px,
    transparent 60px,
    transparent 72px,
    rgba(120,120,120,.45) 72px,
    rgba(120,120,120,.08) 210px,
    rgba(120,120,120,0) 260px);
}



/* ─── Mobile offcanvas logo ──────────────────────────────────── */
a.offcanvas-title img {
  max-height: 32px;
  display: block;
}


/* ─── Header "Dobierz kurację" nav item ──────────────────────── */
.cayes-kuracja-nav {
  margin-left: .5rem;
}
@media (min-width: 992px) {
  .cayes-kuracja-nav { margin-left: 1rem; }
}
.cayes-kuracja-nav > .nav-item > .nav-link {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(58,107,82,.9), rgba(27,58,45,1));
  border-radius: 999px;
  padding: .65rem 1.25rem !important;
  font-weight: 500;
  font-size: .95rem;
  box-shadow: 0 3px 12px rgba(27,58,45,.3);
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease, opacity .25s ease;
}
.cayes-kuracja-nav > .nav-item > .nav-link::after {
  margin-left: .4em;
  opacity: .75;
}
.cayes-kuracja-nav > .nav-item > .nav-link:hover,
.cayes-kuracja-nav > .nav-item > .nav-link:focus,
.cayes-kuracja-nav > .nav-item.dropdown.show > .nav-link {
  background: linear-gradient(135deg, rgba(58,107,82,0), rgba(27,58,45,0));
  color: #fff !important;
  box-shadow: none;
  transform: translateY(-1px);
}

/* ─── Problem Finder module (minimal chips) ──────────────────── */
.cayes-pf-chips { display: flex; flex-wrap: wrap; }
.cayes-pf-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  border: 1px solid rgba(27,58,45,.15);
  background: #fff;
  color: #1B3A2D;
  border-radius: 999px;
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.cayes-pf-chip:hover {
  background: rgba(27,58,45,.04);
  border-color: rgba(27,58,45,.3);
  color: #1B3A2D;
}
.cayes-pf-chip.active {
  background: #1B3A2D;
  border-color: #1B3A2D;
  color: #fff;
}
.cayes-pf-chip-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(27,58,45,.08);
  color: #1B3A2D;
  font-size: .7rem;
  font-weight: 600;
  line-height: 1;
}
.cayes-pf-chip.active .cayes-pf-chip-count {
  background: rgba(255,255,255,.22);
  color: #fff;
}

.cayes-pf-chips .tab-pane { transition: opacity .25s ease; }

/* ─── Lighter header navbar (brand green instead of near-black) */
header.navbar.bg-dark {
  --cz-bg-dark: #2d5a40;
  background-color: #2d5a40 !important;
}
header.navbar.bg-dark .navbar-stuck {
  background-color: #264c36 !important;
}

/* ─── Product card: subtle border + problem badges ───────────── */
.cayes-pc {
  border: 1px solid rgba(27,58,45,.08);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cayes-pc:hover {
  border-color: rgba(58,107,82,.28);
  box-shadow: 0 8px 22px -10px rgba(27,58,45,.2);
}
.cayes-pc-problems {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.cayes-pc-problem {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(58,107,82,.08);
  color: #1B3A2D;
  font-size: .68rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  border: 1px solid rgba(58,107,82,.18);
  transition: background .15s ease, color .15s ease;
}
.cayes-pc-problem:hover {
  background: #1B3A2D;
  color: #fff;
}
.cayes-pc-problem i {
  font-size: .72rem;
  opacity: .8;
}

/* ─── Category tile problem badges ───────────────────────────── */
.cayes-cat-tile-problems,
.cayes-cat-card .cayes-cat-tile-problems {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  justify-content: center;
}
.cayes-cat-card .cayes-cat-tile-problems { justify-content: flex-start; margin-top: .35rem; }
.cayes-cat-tile-problem {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(58,107,82,.08);
  color: #1B3A2D;
  font-size: .62rem;
  font-weight: 600;
  line-height: 1.35;
  border: 1px solid rgba(58,107,82,.18);
}
.cayes-cat-tile-problem i { font-size: .66rem; opacity: .8; }

/* ─── Homepage: tighter vertical rhythm ──────────────────────── */
.homepage-hero-band + section,
.homepage-hero-band + div {
  margin-top: 0;
}
body.home section.py-5,
body.home section.py-5.my-2,
body.home section.py-5.my-lg-3 {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}
@media (min-width: 992px) {
  body.home section.py-5,
  body.home section.py-5.my-2,
  body.home section.py-5.my-lg-3 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
body.home section[class*="pt-5"] { padding-top: 2.25rem; }
body.home section[class*="pb-5"] { padding-bottom: 2.25rem; }
body.home section[class*="mt-lg-4"] { margin-top: 1rem !important; }
body.home section[class*="mt-sm-3"] { margin-top: .75rem !important; }
body.home section[class*="mb-lg-4"] { margin-bottom: 1rem !important; }
body.home section[class*="mb-3"] { margin-bottom: .75rem !important; }
body.home .cayes-cat-divider { margin-bottom: 1rem !important; }

/* ─── Mobile: hero slider full-bleed + features list ─────────── */
@media (max-width: 767.98px) {
  /* Hero: edge-to-edge, flush with header, no padding anywhere */
  .cayes-hero-section.container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .cayes-hero-section > .row {
    --cz-gutter-x: 0 !important;
    margin: 0 !important;
  }
  .cayes-hero-section > .row > [class*="col-"] {
    padding: 0 !important;
  }
  .cayes-hero-section .hero-slider-v2 {
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .homepage-hero-band {
    padding-top: 0 !important;
  }

  /* Features: compact vertical list (icon + title only) */
  .cayes-features-mobile li {
    border-bottom: 1px solid rgba(27,58,45,.06);
  }
  .cayes-features-mobile li:last-child { border-bottom: 0; }
  .cayes-feature-circle-mobile {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }
  .cayes-features-band {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
}

/* ─── Desktop: Serie sidebar + hero slider unified block ─────── */
@media (min-width: 992px) {
  /* Subtle tint ONLY on the Serie dropdown (col-lg-3 in offcanvas) */
  .offcanvas-body .col-lg-3 > .navbar-nav > .dropdown > .dropdown-menu {
    background: #f5f8f6 !important;
    box-shadow: 0 4px 20px -10px rgba(27,58,45,.15) !important;
  }

  /* Remove gap between header and hero row */
  body.home .homepage-hero-band { padding-top: 0 !important; margin-top: 0 !important; }
  body.home .cayes-hero-section.container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Zero every gutter/padding so Serie col and slider col touch */
  body.home .offcanvas-body > .container > .row,
  body.home .cayes-hero-section > .row {
    --cz-gutter-x: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.home .offcanvas-body .col-lg-3 {
    padding-right: 0 !important;
  }
  body.home .cayes-hero-section > .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Slider: only bottom-right corner rounded */
  body.home .cayes-hero-section .hero-slider-v2 {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }

  /* Serie sidebar dropdown on HOME: square right edge, match slider height */
  body.home .offcanvas-body .col-lg-3 > .navbar-nav > .dropdown > .dropdown-menu {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    min-height: 520px;
    max-height: 520px;
    overflow: hidden;
    padding: .25rem !important;
  }
  body.home .offcanvas-body .col-lg-3 .dropdown .btn-light {
    border-top-left-radius: .5rem !important;
    border-top-right-radius: .5rem !important;
  }

  /* Same Bootstrap container px on both rows so cols align precisely */
  body.home .offcanvas-body > .container.px-0.px-lg-3 {
    padding-left: var(--cz-gutter-x, 1.5rem) !important;
    padding-right: var(--cz-gutter-x, 1.5rem) !important;
  }
}

/* ─── Serie dropdown: comfortable item spacing (global) ──────── */
.offcanvas-body .col-lg-3 > .navbar-nav > .dropdown > .dropdown-menu > li > div {
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
}
.offcanvas-body .col-lg-3 > .navbar-nav > .dropdown > .dropdown-menu .dropdown-item {
  padding-top: .35rem !important;
  padding-bottom: .35rem !important;
}

/* ─── Features: unified icon+title list (both mobile & desktop) */
.cayes-features-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
}
.cayes-features-list .cayes-feature-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(27,58,45,.06);
}
.cayes-features-list .cayes-feature-item:last-child { border-bottom: 0; }
.cayes-feature-circle-mobile {
  width: 36px;
  height: 36px;
  font-size: 1.1rem;
}

@media (min-width: 768px) {
  .cayes-features-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
  }
  .cayes-features-list .cayes-feature-item {
    flex: 0 1 auto;
    min-width: 0;
    padding: 0;
    border-bottom: 0;
    justify-content: center;
  }
}

/* ─── Product card: align prices + CTAs across the grid ──────── */
.product-card.cayes-pc {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.product-card.cayes-pc > .w-100.d-flex.flex-column {
  flex: 1 1 auto;
}
.product-card.cayes-pc .h5 {
  justify-content: center;
}


/* ─── More breathing room on the left of the main nav ────────── */
@media (min-width: 992px) {
  body.home .offcanvas-body .col-lg-9.d-lg-flex,
  .offcanvas-body .col-lg-9.d-lg-flex {
    padding-left: 1.5rem !important;
  }
}

/* ─── Problem Finder chips: tighter on mobile, all visible ───── */
@media (max-width: 767.98px) {
  .cayes-pf-chips {
    gap: 6px !important;
    justify-content: center;
  }
  .cayes-pf-chip {
    padding: .35rem .7rem !important;
    font-size: .78rem !important;
    gap: .35rem !important;
    flex-shrink: 0;
  }
  .cayes-pf-chip-count {
    min-width: 18px;
    height: 16px;
    padding: 0 4px;
    font-size: .62rem;
  }
}

/* ─── Product card: full name on mobile, no truncation ───────── */
.product-card h3 a,
.product-card h3 .animate-target {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: block !important;
  word-break: break-word;
  line-height: 1.35;
}
@media (max-width: 575.98px) {
  .product-card h3 a { font-size: .82rem; }
}

/* ─── Header: plain white icons, no button circle ─────────────── */
header.navbar.bg-dark .btn-outline-secondary,
header.navbar.bg-dark .btn-secondary {
  background: transparent !important;
  border-color: transparent !important;
  color: #fff !important;
  --cz-btn-bg: transparent;
  --cz-btn-border-color: transparent;
  --cz-btn-hover-bg: transparent;
  --cz-btn-hover-border-color: transparent;
  --cz-btn-active-bg: transparent;
  --cz-btn-active-border-color: transparent;
  --cz-btn-color: #fff;
  --cz-btn-hover-color: #fff;
  --cz-btn-active-color: #fff;
  box-shadow: none !important;
}
header.navbar.bg-dark .btn-outline-secondary:hover,
header.navbar.bg-dark .btn-secondary:hover,
header.navbar.bg-dark .btn-outline-secondary:focus,
header.navbar.bg-dark .btn-secondary:focus {
  background: transparent !important;
  color: rgba(255,255,255,.85) !important;
  border-color: transparent !important;
}
header.navbar.bg-dark .btn i { color: inherit; }

/* Count badges: white pill with brand-green number */
header.navbar.bg-dark .cart-count-badge,
header.navbar.bg-dark .wishlist-count-badge {
  background: #fff !important;
  color: #1B3A2D !important;
  border-color: #fff !important;
}

/* ─── Search collapse panel: sit above the Serie dropdown ─────── */
#searchBar {
  z-index: 1060 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}

/* ─── Mini-cart offcanvas: wrap long product names ───────────── */
#shoppingCart .woocommerce-mini-cart__product-name,
#shoppingCart .woocommerce-mini-cart-item a,
.widget_shopping_cart .cart_list li a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word;
  line-height: 1.35;
  display: block;
}
#shoppingCart .woocommerce-mini-cart-item,
.widget_shopping_cart .cart_list li {
  overflow: hidden;
}

/* ─── Category SEO block: compact headings ───────────────────── */
.cayes-cat-seo h2 {
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.5rem;
  margin-bottom: .5rem;
  color: #1B3A2D;
}
.cayes-cat-seo h2:first-child { margin-top: 0; }
.cayes-cat-seo h3 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.25rem;
  margin-bottom: .4rem;
  color: #1B3A2D;
}
.cayes-cat-seo p {
  font-size: .95rem;
  line-height: 1.55;
  margin-bottom: 1rem;
}

/* ─── Footer: subtle brand tint (matches hero band) ──────────── */
.cayes-footer {
  background-color: rgba(27,58,45,.035) !important;
  border-top: 1px solid rgba(27,58,45,.06);
}

/* ─── Header: thin vertical dividers between icons ───────────── */
header.navbar.bg-dark .d-flex.align-items-center > .btn + .btn::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 22px;
  background: rgba(255,255,255,.15);
  pointer-events: none;
}
header.navbar.bg-dark .d-flex.align-items-center > .btn {
  position: relative;
}

/* ─── Text-image section: more editorial/less infantile ──────── */
.cayes-text-image-section .cayes-tis-thumb,
.cayes-text-image-section .cayes-tis-thumb.rounded-5 {
  border-radius: .75rem !important;
  box-shadow: 0 12px 28px -14px rgba(27,58,45,.2);
  transition: transform .35s ease, box-shadow .35s ease;
  position: relative;
  overflow: hidden;
}
.cayes-text-image-section .cayes-tis-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(27,58,45,.08) 100%);
  pointer-events: none;
}
.cayes-text-image-section .cayes-tis-thumb:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px -14px rgba(27,58,45,.28);
}
.cayes-text-image-section .cayes-tis-thumb img {
  transition: transform .5s ease;
}
.cayes-text-image-section .cayes-tis-thumb:hover img {
  transform: scale(1.03);
}

/* ─── Single post: compact headings, matching category SEO ───── */
.single-post .entry-content h2,
.single-post article h2 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.75rem;
  margin-bottom: .6rem;
  color: #1B3A2D;
}
.single-post .entry-content h2:first-child,
.single-post article h2:first-child { margin-top: 0; }
.single-post .entry-content h3,
.single-post article h3 {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.35rem;
  margin-bottom: .45rem;
  color: #1B3A2D;
}
.single-post .entry-content h4,
.single-post article h4 {
  font-size: .95rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.15rem;
  margin-bottom: .4rem;
  color: #1B3A2D;
}
.single-post .entry-content p,
.single-post article p {
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.single-post .entry-content ul,
.single-post .entry-content ol,
.single-post article ul,
.single-post article ol {
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.single-post .entry-content img,
.single-post article img {
  border-radius: .5rem;
  margin: 1.25rem 0;
}

/* ─── Checkout: shipping methods list (clean rows) ───────────── */
.woocommerce-shipping-methods,
ul#shipping_method {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-shipping-methods > li,
ul#shipping_method > li {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  padding: .55rem .25rem;
  border-bottom: 1px solid rgba(27,58,45,.06);
  margin: 0 !important;
}
.woocommerce-shipping-methods > li:last-child,
ul#shipping_method > li:last-child {
  border-bottom: 0;
}
.woocommerce-shipping-methods > li::before,
ul#shipping_method > li::before {
  content: none !important;
}
.woocommerce-shipping-methods > li input[type="radio"],
ul#shipping_method > li input[type="radio"] {
  flex-shrink: 0;
  margin: 0;
  width: 16px;
  height: 16px;
  accent-color: #1B3A2D;
}
.woocommerce-shipping-methods > li label,
ul#shipping_method > li label {
  margin: 0 !important;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 500;
  color: #1B3A2D;
  flex: 0 1 auto;
  white-space: nowrap;
}
#select-point-container {
  display: block !important;
  width: 100% !important;
  flex-basis: 100% !important;
  margin: .4rem 0 0 1.65rem !important;
  padding: 0 !important;
}
#select-point-container a {
  font-size: .82rem;
  font-weight: 600;
  color: #3A6B52;
  text-decoration: none;
  border-bottom: 1px dashed currentColor;
}
#select-point-container a:hover { color: #1B3A2D; }
#selected-point {
  display: block;
  font-size: .82rem;
  color: #1B3A2D;
  margin-top: .25rem;
}

/* ─── Checkout: tighten shipping list inside order summary ───── */
.wc-block-components-totals-shipping .woocommerce-shipping-methods,
.wc-block-components-totals-shipping ul#shipping_method,
.wc-block-checkout__sidebar .woocommerce-shipping-methods,
.wc-block-checkout__sidebar ul#shipping_method {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.wc-block-components-totals-shipping .woocommerce-shipping-methods > li,
.wc-block-components-totals-shipping ul#shipping_method > li,
.wc-block-checkout__sidebar .woocommerce-shipping-methods > li,
.wc-block-checkout__sidebar ul#shipping_method > li {
  padding: .35rem 0 !important;
  gap: .4rem !important;
  border-bottom: 1px solid rgba(27,58,45,.05) !important;
  font-size: .82rem;
  line-height: 1.25;
}
.wc-block-components-totals-shipping .woocommerce-shipping-methods > li label,
.wc-block-components-totals-shipping ul#shipping_method > li label,
.wc-block-checkout__sidebar .woocommerce-shipping-methods > li label,
.wc-block-checkout__sidebar ul#shipping_method > li label {
  font-size: .82rem !important;
  font-weight: 500 !important;
  white-space: normal;
  line-height: 1.3;
}
.wc-block-components-totals-shipping #select-point-container,
.wc-block-checkout__sidebar #select-point-container {
  margin: .15rem 0 0 1.4rem !important;
}
.wc-block-components-totals-shipping #select-point-container a,
.wc-block-checkout__sidebar #select-point-container a {
  font-size: .75rem;
}

/* Cart/Checkout summary product thumbnails: re-show if hidden */
.wc-block-components-order-summary-item__image,
.wc-block-cart-item__image,
.wc-block-components-product-image {
  display: block !important;
}
.wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: 48px 1fr auto;
  gap: .75rem;
  align-items: start;
}
.wc-block-components-order-summary-item__image img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: .35rem;
  background: rgba(27,58,45,.04);
}
