/* ====================================================
   Kinder Shop — WooCommerce CSS (woocommerce.css)
   Classic Shortcodes + WC Blocks + Mini-Cart Drawer
   ==================================================== */

/* === 1. GENERAL WC OVERRIDES === */
.woocommerce,
.woocommerce-page {
	font-family: var(--kinder-font-body);
}

/* WC Notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	border-radius: var(--kinder-radius-md);
	margin-bottom: 1.5rem;
	font-family: var(--kinder-font-body);
}
.woocommerce-notices-wrapper .woocommerce-message {
	border-top-color: var(--kinder-accent);
}
.woocommerce-notices-wrapper .woocommerce-info {
	border-top-color: #3B82F6;
}
.woocommerce-notices-wrapper .woocommerce-error {
	border-top-color: #EF4444;
}

/* === 2. SHOP / ARCHIVE PAGE === */
.woocommerce-products-header {
	margin-bottom: 2rem;
}
.woocommerce-products-header__title {
	font-size: var(--kinder-fs-xl);
	font-weight: 800;
}

/* Products per row */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (max-width: 1100px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}

/* Use our product card renderer — override default WC styles */
.woocommerce ul.products li.product {
	margin: 0;
	padding: 0;
}

/* Sorting & Result Count bar */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
	font-family: var(--kinder-font-body);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-full);
	padding: 0.5em 2em 0.5em 1em;
	background-color: var(--kinder-surface);
	color: var(--kinder-text);
	appearance: none;
	cursor: pointer;
}

.woocommerce-result-count {
	color: var(--kinder-text-muted);
	font-size: var(--kinder-fs-sm);
}

/* WC Pagination */
.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	gap: 0.5rem;
	list-style: none;
	padding: 0;
	justify-content: center;
	margin: 2.5rem 0 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--kinder-border);
	background: var(--kinder-surface);
	color: var(--kinder-text);
	font-weight: 600;
	transition: all var(--kinder-transition);
	text-decoration: none;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--kinder-accent);
	color: #fff;
	border-color: var(--kinder-accent);
}

/* === 3. SINGLE PRODUCT PAGE === */
.woocommerce div.product {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
}
/* Gallery + summary side by side; everything else (tabs, related, plugin output) spans the full row */
.woocommerce div.product > div.images { grid-column: 1; grid-row: 1; width: auto; float: none; }
.woocommerce div.product > div.summary { grid-column: 2; grid-row: 1; width: auto; float: none; }
.woocommerce div.product > *:not(.images):not(.summary):not(.onsale) { grid-column: 1 / -1; }
.woocommerce div.product > span.onsale {
	position: absolute;
	top: 1rem;
	inset-inline-start: 1rem;
	z-index: 5;
	margin: 0;
}
@media (max-width: 900px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	.woocommerce div.product > div.images,
	.woocommerce div.product > div.summary { grid-column: 1; grid-row: auto; }
	.woocommerce div.product div.images { position: relative; top: auto; }
}

/* Product gallery */
/* Not sticky: the sticky area would be the whole product grid (tabs + related products),
   so the photo slid over the thumbnails and the related products while scrolling. */
.woocommerce div.product div.images {
	position: relative;
	top: auto;
	align-self: start;
}
.woocommerce div.product div.images img {
	border-radius: var(--kinder-radius-lg);
	border: 1px solid var(--kinder-border);
}

/* Product summary */
.woocommerce div.product div.summary .product_title {
	font-size: var(--kinder-fs-xl);
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 0.75rem;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: var(--kinder-fs-lg);
	font-weight: 700;
	color: var(--kinder-text);
	margin-bottom: 1rem;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--kinder-text-muted);
	font-weight: 400;
	font-size: 0.85em;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	color: var(--kinder-rose);
	text-decoration: none;
}

/* Star rating */
.woocommerce .star-rating {
	color: var(--kinder-accent);
}
.woocommerce .star-rating::before {
	color: var(--kinder-border);
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--kinder-text-muted);
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--kinder-border);
	padding-bottom: 1.5rem;
}

/* Add to cart */
.woocommerce div.product form.cart .qty {
	font-family: var(--kinder-font-body);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-md);
	padding: 0.6em 0.8em;
	width: 70px;
	text-align: center;
	font-size: var(--kinder-fs-base);
	background: var(--kinder-surface);
	color: var(--kinder-text);
}

.woocommerce div.product form.cart button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button:not(.kinder-product-card__atc),
.woocommerce button.button,
.woocommerce input.button {
	background-color: var(--kinder-btn-bg) !important;
	color: var(--kinder-btn-fg) !important;
	border: 2px solid var(--kinder-btn-bg) !important;
	border-radius: var(--kinder-radius-full) !important;
	padding: 0.75em 2em !important;
	font-family: var(--kinder-font-body) !important;
	font-size: var(--kinder-fs-base) !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: all var(--kinder-transition) !important;
	text-decoration: none !important;
}
.woocommerce div.product form.cart button[type="submit"]:hover,
.woocommerce a.button:not(.kinder-product-card__atc):hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background-color: var(--kinder-accent) !important;
	color: #fff !important;
	border-color: var(--kinder-accent) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background-color: var(--kinder-accent) !important;
	color: #fff !important;
	border-color: var(--kinder-accent) !important;
}

/* Size Guide Button */
.kinder-size-guide-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	margin-top: 0.75rem;
	padding: 0.5em 1.2em;
	background: transparent;
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-full);
	font-family: var(--kinder-font-body);
	font-size: var(--kinder-fs-sm);
	font-weight: 600;
	color: var(--kinder-text-muted);
	cursor: pointer;
	transition: all var(--kinder-transition);
}
.kinder-size-guide-btn:hover {
	border-color: var(--kinder-accent);
	color: var(--kinder-accent);
}

/* WhatsApp Order Button */
.kinder-whatsapp-order-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	width: 100%;
	margin-top: 0.75rem;
	padding: 0.75em 1.5em;
	background: #1FA855;
	color: #ffffff;
	border-radius: var(--kinder-radius-full);
	font-family: var(--kinder-font-body);
	font-size: var(--kinder-fs-base);
	font-weight: 700;
	text-decoration: none;
	transition: all var(--kinder-transition);
}
.kinder-whatsapp-order-btn:hover {
	background: #1A9149;
	color: #ffffff;
	box-shadow: 0 4px 20px rgba(37,211,102,0.4);
}

/* Product meta */
.woocommerce div.product .product_meta {
	font-size: var(--kinder-fs-sm);
	color: var(--kinder-text-muted);
	border-top: 1px solid var(--kinder-border);
	padding-top: 1rem;
	margin-top: 1rem;
}
.woocommerce div.product .product_meta span a {
	color: var(--kinder-accent);
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0.25rem;
	list-style: none;
	padding: 0;
	border-bottom: 2px solid var(--kinder-border);
	margin-bottom: 2rem;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.75em 1.5em;
	font-weight: 600;
	font-size: var(--kinder-fs-sm);
	color: var(--kinder-text-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color var(--kinder-transition), border-color var(--kinder-transition);
	text-decoration: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--kinder-accent);
	border-bottom-color: var(--kinder-accent);
}

/* Reviews */
#reviews #comments ol.commentlist li .comment-text {
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-md);
	padding: 1.25rem;
	background: var(--kinder-surface);
}
#reviews #comments ol.commentlist li img.avatar {
	border-radius: 50%;
	border: 2px solid var(--kinder-accent);
}

/* Review form */
#review_form_wrapper h3 {
	font-size: var(--kinder-fs-lg);
	font-weight: 700;
}
#review_form .comment-form-rating .stars a {
	color: var(--kinder-accent);
	font-size: 1.5rem;
}

/* === 4. CART PAGE === */
.woocommerce table.cart,
.woocommerce-page table.cart {
	border-collapse: separate;
	border-spacing: 0 0.75rem;
	width: 100%;
}
.woocommerce table.cart th {
	font-size: var(--kinder-fs-sm);
	font-weight: 700;
	color: var(--kinder-text-muted);
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--kinder-border);
}
.woocommerce table.cart td {
	padding: 1rem 0.75rem;
	vertical-align: middle;
	background: var(--kinder-surface);
	border-top: 1px solid var(--kinder-border);
	border-bottom: 1px solid var(--kinder-border);
}
.woocommerce table.cart td:first-child { border-radius: var(--kinder-radius-md) 0 0 var(--kinder-radius-md); border-inline-start: 1px solid var(--kinder-border); }
.woocommerce table.cart td:last-child  { border-radius: 0 var(--kinder-radius-md) var(--kinder-radius-md) 0; border-inline-end: 1px solid var(--kinder-border); }

.woocommerce table.cart td.product-thumbnail img {
	border-radius: var(--kinder-radius-md);
	width: 70px;
	height: 70px;
	object-fit: cover;
}
.woocommerce table.cart a.remove {
	color: var(--kinder-rose) !important;
	font-size: 1.5rem;
	line-height: 1;
}

/* Cart totals */
.woocommerce .cart_totals,
.woocommerce-page .cart_totals {
	background: var(--kinder-surface);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-xl);
	padding: 2rem;
}
.woocommerce .cart_totals h2 {
	font-size: var(--kinder-fs-lg);
	font-weight: 700;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--kinder-border);
}

/* === 5. CHECKOUT PAGE (4-FIELD SIMPLIFIED) === */
/* NOTE: .woocommerce-checkout is also a <body> class — always scope layout rules to the form. */

.woocommerce form .form-row {
	margin-bottom: 1.25rem;
}
.woocommerce form .form-row label {
	display: block;
	font-size: var(--kinder-fs-sm);
	font-weight: 700;
	color: var(--kinder-text);
	margin-bottom: 0.4rem;
}
.woocommerce form .form-row label .required {
	color: var(--kinder-rose);
	margin-inline-start: 0.2rem;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	font-family: var(--kinder-font-body);
	font-size: var(--kinder-fs-base);
	border: 1.5px solid var(--kinder-border);
	border-radius: var(--kinder-radius-md);
	padding: 0.75em 1em;
	width: 100%;
	background: var(--kinder-surface);
	color: var(--kinder-text);
	transition: border-color var(--kinder-transition), box-shadow var(--kinder-transition);
}
.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(--kinder-accent);
	box-shadow: 0 0 0 3px rgba(190, 40, 69, 0.15);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text {
	border-color: #EF4444;
}
.woocommerce form .form-row.woocommerce-validated input.input-text {
	border-color: #22C55E;
}

/* Two-column row for phones */
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: calc(50% - 0.625rem);
	float: inline-start;
}
.woocommerce form .form-row-first { margin-inline-end: 1.25rem; }
.woocommerce form .form-row-wide { float: none; width: 100%; clear: both; }

/* Order review */
.woocommerce-checkout-review-order table {
	width: 100%;
	border-collapse: collapse;
}
.woocommerce-checkout-review-order table th,
.woocommerce-checkout-review-order table td {
	padding: 0.75rem;
	border-bottom: 1px solid var(--kinder-border);
	font-size: var(--kinder-fs-sm);
}
.woocommerce-checkout-review-order table tfoot tr:last-child th,
.woocommerce-checkout-review-order table tfoot tr:last-child td {
	font-size: var(--kinder-fs-md);
	font-weight: 700;
	color: var(--kinder-accent);
	border-bottom: none;
	padding-top: 1rem;
}

/* Payment section */
#payment {
	background: var(--kinder-surface-alt);
	border-radius: var(--kinder-radius-lg);
	padding: 1.5rem;
	margin-top: 1.5rem;
}
#payment ul.payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
}
#payment ul.payment_methods li {
	padding: 0.75rem;
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-md);
	margin-bottom: 0.5rem;
	background: var(--kinder-surface);
	cursor: pointer;
	transition: border-color var(--kinder-transition);
}
#payment ul.payment_methods li:has(input:checked) {
	border-color: var(--kinder-accent);
	background: rgba(190, 40, 69, 0.04);
}

/* Place order button */
#place_order {
	width: 100%;
	padding: 0.85em 1.5em !important;
	font-size: var(--kinder-fs-base) !important;
	background-color: var(--kinder-accent) !important;
	color: #fff !important;
	border-color: var(--kinder-accent) !important;
	border-radius: var(--kinder-radius-full) !important;
	font-weight: 800 !important;
}
#place_order:hover {
	background-color: var(--kinder-accent-hover) !important;
	border-color: var(--kinder-accent-hover) !important;
}

/* === 6. ACCOUNT PAGES === */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-lg);
	overflow: hidden;
}
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.875rem 1.25rem;
	font-weight: 600;
	color: var(--kinder-text);
	border-bottom: 1px solid var(--kinder-border);
	transition: all var(--kinder-transition);
	text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--kinder-accent);
	background: rgba(190, 40, 69, 0.05);
	padding-inline-start: 1.75rem;
}

/* === 7. WC BLOCKS COMPATIBILITY === */
/* Cart Block */
.wp-block-woocommerce-cart .wc-block-cart {
	font-family: var(--kinder-font-body);
}
.wc-block-cart__submit-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	background-color: var(--kinder-accent) !important;
	color: #fff !important;
	border-radius: var(--kinder-radius-full) !important;
	font-family: var(--kinder-font-body) !important;
	font-weight: 700 !important;
}

/* Checkout Block */
.wc-block-checkout__form label {
	font-family: var(--kinder-font-body);
	font-weight: 600;
}
.wc-block-components-text-input input,
.wc-block-components-select select {
	font-family: var(--kinder-font-body);
	border-radius: var(--kinder-radius-md) !important;
	border: 1.5px solid var(--kinder-border) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
	border-color: var(--kinder-accent) !important;
	box-shadow: 0 0 0 3px rgba(190, 40, 69, 0.15) !important;
	outline: none !important;
}

/* === 8. MINI-CART DRAWER === */
.kinder-mini-cart {
	position: fixed;
	top: 0;
	inset-inline-end: 0;
	width: min(400px, 100vw);
	height: 100dvh;
	background: var(--kinder-surface);
	z-index: var(--kinder-z-drawer);
	display: flex;
	flex-direction: column;
	/* Anchored to the inline-end edge: hidden to the right in LTR, to the left in RTL */
	transform: translateX(100%);
	visibility: hidden;
	transition: transform var(--kinder-transition-slow), visibility 0s linear 0.45s;
	box-shadow: var(--kinder-shadow-lg);
}
html[dir="rtl"] .kinder-mini-cart { transform: translateX(-100%); }
.kinder-mini-cart.is-open,
html[dir="rtl"] .kinder-mini-cart.is-open {
	transform: translateX(0);
	visibility: visible;
	transition-delay: 0s;
}

.kinder-mini-cart__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--kinder-border);
	flex-shrink: 0;
}
.kinder-mini-cart__title {
	font-size: var(--kinder-fs-lg);
	font-weight: 700;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.kinder-mini-cart__close {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--kinder-surface-alt);
	border: 1px solid var(--kinder-border);
	border-radius: 50%;
	color: var(--kinder-text-muted);
	cursor: pointer;
	transition: all var(--kinder-transition);
}
.kinder-mini-cart__close:hover { background: var(--kinder-accent); color: #fff; border-color: var(--kinder-accent); }

.kinder-mini-cart__body {
	flex: 1;
	overflow-y: auto;
	padding: 1rem 1.5rem;
}

.kinder-cart-item {
	display: grid;
	grid-template-columns: 72px 1fr auto;
	gap: 0.875rem;
	align-items: start;
	padding: 1rem 0;
	border-bottom: 1px solid var(--kinder-border);
}
.kinder-cart-item:last-child { border-bottom: none; }

.kinder-cart-item__img {
	width: 72px;
	height: 72px;
	border-radius: var(--kinder-radius-md);
	object-fit: cover;
	border: 1px solid var(--kinder-border);
}

.kinder-cart-item__name {
	font-size: var(--kinder-fs-sm);
	font-weight: 600;
	color: var(--kinder-text);
	text-decoration: none;
	display: block;
	margin-bottom: 0.3rem;
	line-height: 1.4;
}
.kinder-cart-item__name:hover { color: var(--kinder-accent); }

.kinder-cart-item__meta {
	font-size: var(--kinder-fs-xs);
	color: var(--kinder-text-muted);
	margin-bottom: 0.4rem;
}

.kinder-cart-item__price {
	font-size: var(--kinder-fs-base);
	font-weight: 700;
	color: var(--kinder-text);
}
.kinder-cart-item__price ins { color: var(--kinder-rose); text-decoration: none; }

.kinder-cart-item__remove {
	background: none;
	border: none;
	color: var(--kinder-text-light);
	cursor: pointer;
	padding: 0.2rem;
	transition: color var(--kinder-transition);
	line-height: 1;
	font-size: 1.2rem;
}
.kinder-cart-item__remove:hover { color: var(--kinder-rose); }

.kinder-mini-cart__empty {
	text-align: center;
	padding: 3rem 1rem;
	color: var(--kinder-text-muted);
}
.kinder-mini-cart__empty svg {
	width: 56px;
	height: 56px;
	color: var(--kinder-border);
	margin-inline: auto;
	margin-bottom: 1rem;
}

.kinder-mini-cart__footer {
	border-top: 1px solid var(--kinder-border);
	padding: 1.5rem;
	flex-shrink: 0;
	background: var(--kinder-surface);
}

.kinder-mini-cart__subtotal {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
	font-size: var(--kinder-fs-base);
}
.kinder-mini-cart__subtotal-label { color: var(--kinder-text-muted); font-weight: 600; }
.kinder-mini-cart__subtotal-value { font-size: var(--kinder-fs-lg); font-weight: 800; color: var(--kinder-accent); }

.kinder-mini-cart__actions {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}
.kinder-mini-cart__actions .kinder-btn { width: 100%; justify-content: center; }

/* Free shipping bar */
.kinder-free-shipping-bar {
	padding: 0.75rem 1rem;
	background: rgba(190, 40, 69, 0.08);
	border-radius: var(--kinder-radius-md);
	margin-bottom: 1rem;
	border: 1px solid rgba(190, 40, 69, 0.2);
}
.kinder-shipping-msg {
	font-size: var(--kinder-fs-xs);
	color: var(--kinder-text-muted);
	margin: 0 0 0.5rem;
	text-align: center;
}
.kinder-shipping-track {
	height: 6px;
	background: var(--kinder-border);
	border-radius: var(--kinder-radius-full);
	overflow: hidden;
}
.kinder-shipping-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--kinder-accent), var(--kinder-accent-hover));
	border-radius: var(--kinder-radius-full);
	transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Cart count badge */
.kinder-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--kinder-accent);
	color: #fff;
	border-radius: var(--kinder-radius-full);
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	top: -6px;
	inset-inline-end: -6px;
}

/* Quick View Modal */
.kinder-quick-view__content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}
@media (max-width: 600px) { .kinder-quick-view__content { grid-template-columns: 1fr; } }

.kinder-quick-view__image img {
	border-radius: var(--kinder-radius-lg);
	width: 100%;
	aspect-ratio: 3/4;
	object-fit: cover;
}
.kinder-quick-view__product-title { font-size: var(--kinder-fs-lg); font-weight: 700; margin-bottom: 0.5rem; }
.kinder-quick-view__price { font-size: var(--kinder-fs-lg); font-weight: 700; color: var(--kinder-text); margin-bottom: 1rem; }
.kinder-quick-view__desc { color: var(--kinder-text-muted); font-size: var(--kinder-fs-sm); margin-bottom: 1.5rem; }
.kinder-quick-view__atc { display: flex; flex-direction: column; gap: 0.75rem; }

/* Modal loader */
.kinder-modal-loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 3rem;
	gap: 1rem;
}
.kinder-modal-loader__spinner {
	width: 40px;
	height: 40px;
	border: 3px solid var(--kinder-border);
	border-top-color: var(--kinder-accent);
	border-radius: 50%;
	animation: kinder-spin 0.8s linear infinite;
}
@keyframes kinder-spin {
	to { transform: rotate(360deg); }
}
.kinder-modal-loader__text { color: var(--kinder-text-muted); font-size: var(--kinder-fs-sm); }

/* === 9. PRODUCT CARD BUTTON (beats generic `.woocommerce a.button` rules) === */
.kinder-product-card a.kinder-product-card__atc,
.woocommerce .kinder-product-card a.button.kinder-product-card__atc {
	width: 100%;
	min-height: 0;
	margin-top: 0.75rem;
	padding: 0.6em 1em;
	font-size: var(--kinder-fs-sm);
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
@media (max-width: 480px) {
	.kinder-product-card a.kinder-product-card__atc,
	.woocommerce .kinder-product-card a.button.kinder-product-card__atc {
		padding: 0.55em 0.6em;
		font-size: var(--kinder-fs-xs);
	}
}

/* =====================================================================
   10. SINGLE PRODUCT GALLERY — thumbnail strip (WooCommerce prints an <ol>)
   ===================================================================== */
.woocommerce div.product div.images { margin: 0; }
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
	border-radius: var(--kinder-radius-lg);
	overflow: hidden;
}
.woocommerce div.product div.images .flex-control-thumbs {
	list-style: none;
	margin: 0.875rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.625rem;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	margin: 0;
	padding: 0;
	width: auto;
	float: none;
	list-style: none;
}
.woocommerce div.product div.images .flex-control-thumbs li::marker { content: none; }
.woocommerce div.product div.images .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--kinder-radius-md);
	border: 2px solid transparent;
	opacity: 0.55;
	cursor: pointer;
	transition: opacity var(--kinder-transition), border-color var(--kinder-transition);
}
.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
	opacity: 1;
	border-color: var(--kinder-accent);
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	inset-inline-end: 1rem;
	z-index: 5;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--kinder-surface);
	box-shadow: var(--kinder-shadow-sm);
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (max-width: 600px) {
	.woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
}

/* Quantity + add to cart on one row */
.woocommerce div.product form.cart:not(.variations_form),
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
}
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product form.cart .qty {
	height: 100%;
	min-height: 50px;
	width: 80px;
	background: var(--kinder-surface);
	color: var(--kinder-text);
	border: 1.5px solid var(--kinder-border);
	border-radius: var(--kinder-radius-full);
}
.woocommerce div.product form.cart button.single_add_to_cart_button {
	flex: 1;
	min-height: 50px;
}
.woocommerce div.product form.cart .kinder-whatsapp-order-btn { flex-basis: 100%; margin-top: 0; }
.woocommerce div.product form.cart table.variations { width: 100%; margin-bottom: 1rem; border: 0; }
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td { display: block; padding: 0 0 0.4rem; text-align: start; border: 0; }
.woocommerce div.product form.cart table.variations select {
	width: 100%;
	padding: 0.7em 1em;
	border: 1.5px solid var(--kinder-border);
	border-radius: var(--kinder-radius-md);
	background: var(--kinder-surface);
	color: var(--kinder-text);
	font-family: var(--kinder-font-body);
}
.woocommerce div.product form.cart .reset_variations { font-size: var(--kinder-fs-xs); color: var(--kinder-rose); }

/* =====================================================================
   11. PRODUCT CARD QUICK ACTIONS (wishlist / quick view) — visible in light & dark
   ===================================================================== */
.kinder-product-card__action {
	width: 40px;
	height: 40px;
	background: rgba(20, 18, 24, 0.78);
	border: 1px solid rgba(190, 40, 69, 0.45);
	color: #FFF6EF;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	cursor: pointer;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.kinder-product-card__action svg { width: 18px; height: 18px; }
.kinder-product-card__action:hover,
.kinder-product-card__action:focus-visible {
	background: var(--kinder-accent);
	border-color: var(--kinder-accent);
	color: #24100A;
}
.kinder-product-card__action.is-wishlisted {
	background: var(--kinder-rose);
	border-color: var(--kinder-rose);
	color: #ffffff;
}
.kinder-product-card__action.is-wishlisted svg { fill: currentColor; }
/* Touch screens have no hover: keep the actions visible */
@media (hover: none) {
	.kinder-product-card__actions { opacity: 1; transform: none; }
}
.kinder-product-card:focus-within .kinder-product-card__actions { opacity: 1; transform: none; }

/* =====================================================================
   12. SHOP ARCHIVE — wide layout, filters panel, toolbar, chips
   ===================================================================== */
.kinder-container--wide { max-width: 1680px; }
.kinder-wc-main--archive { padding-top: 1rem; }

.woocommerce-products-header {
	margin-bottom: 1.5rem;
	padding: 2rem 2.25rem;
	border-radius: var(--kinder-radius-xl);
	background:
		radial-gradient(circle at 15% 20%, rgba(190, 40, 69, 0.22), transparent 55%),
		linear-gradient(135deg, #3A1C11 0%, #24100A 100%);
	color: #FFF6EF;
}
.woocommerce-products-header__title.page-title,
.woocommerce-products-header__title {
	margin: 0;
	color: #FFF6EF;
	font-size: var(--kinder-fs-xl);
}
.woocommerce-products-header .term-description,
.woocommerce-products-header .page-description { color: rgba(249, 246, 240, 0.75); margin-top: 0.5rem; }
.woocommerce-products-header .term-description p { margin: 0; }

.kinder-wc-layout--sidebar {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}
.kinder-shop-filters { position: sticky; top: calc(var(--kinder-header-h) + 1rem); }
.admin-bar .kinder-shop-filters { top: calc(var(--kinder-header-h) + 32px + 1rem); }
.kinder-shop-filters__inner {
	background: var(--kinder-surface);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-xl);
	padding: 1.5rem;
	max-height: calc(100vh - var(--kinder-header-h) - 2rem);
	overflow-y: auto;
	scrollbar-width: thin;
}
.kinder-shop-filters__widgets { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--kinder-border); }

.kinder-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.25rem; }
.kinder-filters__title { display: flex; align-items: center; gap: 0.5rem; margin: 0; font-size: var(--kinder-fs-md); font-weight: 800; }
.kinder-filters__title svg { color: var(--kinder-accent); }
.kinder-filters__close {
	display: none;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--kinder-border);
	border-radius: 50%;
	background: var(--kinder-surface-alt);
	color: var(--kinder-text);
	cursor: pointer;
}

.kinder-filter-group { border: 0; margin: 0 0 1.25rem; padding: 0 0 1.25rem; border-bottom: 1px dashed var(--kinder-border); min-width: 0; }
.kinder-filter-group:last-of-type { border-bottom: 0; }
.kinder-filter-group__title { padding: 0; margin-bottom: 0.75rem; font-size: var(--kinder-fs-sm); font-weight: 800; color: var(--kinder-text); }

.kinder-filter-cats { display: flex; flex-direction: column; gap: 0.25rem; }
.kinder-filter-cat {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.55rem 0.85rem;
	border-radius: var(--kinder-radius-md);
	font-size: var(--kinder-fs-sm);
	font-weight: 600;
	color: var(--kinder-text);
	cursor: pointer;
	transition: background var(--kinder-transition), color var(--kinder-transition);
}
.kinder-filter-cat input { position: absolute; opacity: 0; pointer-events: none; }
.kinder-filter-cat:hover { background: rgba(190, 40, 69, 0.08); }
.kinder-filter-cat.is-active,
.kinder-filter-cat:has(input:checked) { background: rgba(190, 40, 69, 0.16); color: var(--kinder-accent-hover); }
html[data-theme="dark"] .kinder-filter-cat.is-active,
html[data-theme="dark"] .kinder-filter-cat:has(input:checked) { color: var(--kinder-accent); }
.kinder-filter-cat:has(input:focus-visible) { outline: 2px solid var(--kinder-accent); outline-offset: 2px; }
.kinder-filter-cat__count {
	min-width: 28px;
	padding: 0 0.45em;
	border-radius: var(--kinder-radius-full);
	background: var(--kinder-surface-alt);
	color: var(--kinder-text-muted);
	font-size: var(--kinder-fs-xs);
	text-align: center;
}

/* Dual price range */
.kinder-price-range__track { position: relative; height: 28px; margin: 0.25rem 0 0.75rem; }
.kinder-price-range__track::before,
.kinder-price-range__fill {
	content: "";
	position: absolute;
	top: 50%;
	height: 4px;
	transform: translateY(-50%);
	border-radius: 4px;
}
.kinder-price-range__track::before { left: 0; right: 0; background: var(--kinder-border); }
.kinder-price-range__fill { background: var(--kinder-accent); left: 0; right: 0; }
.kinder-price-range__input {
	position: absolute;
	inset: 0;
	width: 100%;
	margin: 0;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
	direction: ltr;
}
.kinder-price-range__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	pointer-events: auto;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--kinder-surface);
	border: 3px solid var(--kinder-accent);
	box-shadow: var(--kinder-shadow-sm);
	cursor: pointer;
}
.kinder-price-range__input::-moz-range-thumb {
	pointer-events: auto;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--kinder-surface);
	border: 3px solid var(--kinder-accent);
	cursor: pointer;
}
.kinder-price-range__input::-moz-range-track { background: none; }
.kinder-price-range__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.625rem; }
.kinder-price-range__fields label { display: flex; flex-direction: column; gap: 0.25rem; font-size: var(--kinder-fs-xs); color: var(--kinder-text-muted); }
.kinder-price-range__number {
	width: 100%;
	padding: 0.5em 0.7em;
	border: 1.5px solid var(--kinder-border);
	border-radius: var(--kinder-radius-md);
	background: var(--kinder-bg);
	color: var(--kinder-text);
	font-family: var(--kinder-font-body);
	font-size: var(--kinder-fs-sm);
	font-weight: 700;
}

/* Attribute chips */
.kinder-filter-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.kinder-filter-chip { position: relative; cursor: pointer; }
.kinder-filter-chip input { position: absolute; opacity: 0; pointer-events: none; }
.kinder-filter-chip span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	padding: 0.45em 0.9em;
	border: 1.5px solid var(--kinder-border);
	border-radius: var(--kinder-radius-full);
	font-size: var(--kinder-fs-sm);
	font-weight: 700;
	transition: all var(--kinder-transition);
}
.kinder-filter-chip:hover span { border-color: var(--kinder-accent); }
.kinder-filter-chip input:checked + span { background: var(--kinder-accent); border-color: var(--kinder-accent); color: #24100A; }
.kinder-filter-chip input:focus-visible + span { outline: 2px solid var(--kinder-accent); outline-offset: 2px; }

/* Switches */
.kinder-filter-switch { position: relative; display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 0; font-size: var(--kinder-fs-sm); font-weight: 600; cursor: pointer; }
.kinder-filter-switch input { position: absolute; opacity: 0; pointer-events: none; }
.kinder-filter-switch__ui {
	position: relative;
	flex-shrink: 0;
	width: 40px;
	height: 22px;
	border-radius: 22px;
	background: var(--kinder-border);
	transition: background var(--kinder-transition);
}
.kinder-filter-switch__ui::after {
	content: "";
	position: absolute;
	top: 3px;
	inset-inline-start: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	transition: inset-inline-start var(--kinder-transition);
}
.kinder-filter-switch input:checked + .kinder-filter-switch__ui { background: var(--kinder-accent); }
.kinder-filter-switch input:checked + .kinder-filter-switch__ui::after { inset-inline-start: 21px; }
.kinder-filter-switch input:focus-visible + .kinder-filter-switch__ui { outline: 2px solid var(--kinder-accent); outline-offset: 2px; }

.kinder-filters__actions { display: grid; grid-template-columns: 1fr auto; gap: 0.5rem; }
.kinder-filters__actions .kinder-btn { padding: 0.7em 1.1em; font-size: var(--kinder-fs-sm); }

/* Toolbar */
.kinder-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-bottom: 1.25rem;
	padding: 0.75rem 1rem;
	background: var(--kinder-surface);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-lg);
}
.kinder-shop-toolbar--empty:not(:has(.kinder-filter-toggle)) { display: none; }
.kinder-shop-toolbar .woocommerce-result-count { margin: 0; flex: 1; }
.kinder-shop-toolbar .woocommerce-ordering { margin: 0; }
.kinder-shop-toolbar .woocommerce-ordering select { padding: 0.55em 2.25em 0.55em 1.1em; background-color: var(--kinder-bg); }
.kinder-filter-toggle {
	display: none;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55em 1.1em;
	border: 1.5px solid var(--kinder-text);
	border-radius: var(--kinder-radius-full);
	background: var(--kinder-text);
	color: var(--kinder-bg);
	font-family: var(--kinder-font-body);
	font-size: var(--kinder-fs-sm);
	font-weight: 700;
	cursor: pointer;
}
.kinder-filter-toggle__count {
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 20px;
	background: var(--kinder-accent);
	color: #24100A;
	font-size: 0.7rem;
	line-height: 20px;
	text-align: center;
}

/* Active filter chips */
.kinder-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: -0.25rem 0 1.25rem; }
.kinder-active-filter {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.35em 0.85em;
	border-radius: var(--kinder-radius-full);
	background: rgba(190, 40, 69, 0.15);
	color: var(--kinder-text);
	font-size: var(--kinder-fs-xs);
	font-weight: 700;
	text-decoration: none;
}
.kinder-active-filter svg { width: 14px; height: 14px; }
.kinder-active-filter:hover { background: var(--kinder-rose); color: #fff; }
.kinder-active-filters__clear { font-size: var(--kinder-fs-xs); font-weight: 700; color: var(--kinder-rose); }

/* Responsive product grid that fills the available width */
body .kinder-wc-main--archive ul.products {
	grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr));
	gap: 1.5rem;
}
@media (max-width: 600px) {
	body .kinder-wc-main--archive ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem; }
}

/* Filters are an off-canvas drawer at every width (catalogue layout: quick filters in the toolbar) */
@media all {
	.kinder-wc-layout--sidebar { grid-template-columns: minmax(0, 1fr); }
	.kinder-filter-toggle { display: inline-flex; }
	.kinder-shop-filters {
		position: fixed;
		top: 0;
		bottom: 0;
		inset-inline-start: 0;
		z-index: var(--kinder-z-drawer);
		width: min(360px, 88vw);
		transform: translateX(100%);
		visibility: hidden;
		pointer-events: none;
		transition: transform var(--kinder-transition-slow), visibility 0s linear 0.45s;
	}
	html[dir="ltr"] .kinder-shop-filters { transform: translateX(-100%); }
	.kinder-shop-filters.is-open,
	html[dir="ltr"] .kinder-shop-filters.is-open { transform: translateX(0); visibility: visible; pointer-events: auto; transition-delay: 0s; }
	.admin-bar .kinder-shop-filters { top: 0; }
	.kinder-shop-filters__inner { height: 100%; max-height: none; border-radius: 0; border: 0; box-shadow: var(--kinder-shadow-lg); }
	.kinder-filters__close { display: inline-flex; }
}

/* =====================================================================
   13. CHECKOUT — two columns (details | order summary), full-width fields
   ===================================================================== */
form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	grid-auto-flow: row dense;
	gap: 0 2.5rem;
	align-items: start;
}
form.checkout.woocommerce-checkout > * { grid-column: 1 / -1; }
form.checkout.woocommerce-checkout > #customer_details { grid-column: 1; grid-row: span 2; }
form.checkout.woocommerce-checkout > #order_review_heading,
form.checkout.woocommerce-checkout > #order_review { grid-column: 2; }
form.checkout.woocommerce-checkout > #order_review {
	position: sticky;
	top: calc(var(--kinder-header-h) + 1rem);
	padding: 1.5rem;
	background: var(--kinder-surface);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-xl);
}
#customer_details .col-1,
#customer_details .col-2 { width: 100%; float: none; }
#customer_details {
	padding: 1.75rem;
	background: var(--kinder-surface);
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-xl);
}
form.checkout h3,
#order_review_heading { font-size: var(--kinder-fs-md); font-weight: 800; margin: 0 0 1.25rem; }
form.checkout .form-row { width: 100%; float: none; }
form.checkout .form-row.form-row-first,
form.checkout .form-row.form-row-last { width: 100%; float: none; margin-inline-end: 0; }
form.checkout .form-row label .optional { color: var(--kinder-text-light); font-weight: 400; font-size: 0.9em; }
@media (max-width: 900px) {
	form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); }
	form.checkout.woocommerce-checkout > #customer_details,
	form.checkout.woocommerce-checkout > #order_review_heading,
	form.checkout.woocommerce-checkout > #order_review { grid-column: 1; grid-row: auto; position: static; }
	#customer_details,
	form.checkout.woocommerce-checkout > #order_review { padding: 1.25rem; }
}

/* =====================================================================
   14. THANK-YOU / ORDER RECEIVED PAGE
   ===================================================================== */
.woocommerce-order { display: flex; flex-direction: column; gap: 1.5rem; }
.woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce-order .woocommerce-notice--success {
	margin: 0;
	padding: 1.75rem 2rem;
	border-radius: var(--kinder-radius-xl);
	background:
		radial-gradient(circle at 85% 20%, rgba(190, 40, 69, 0.25), transparent 55%),
		linear-gradient(135deg, #3A1C11 0%, #24100A 100%);
	color: #FFF6EF;
	font-size: var(--kinder-fs-md);
	font-weight: 700;
	line-height: 1.6;
}
.woocommerce-order ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-order ul.woocommerce-order-overview::before,
.woocommerce-order ul.woocommerce-order-overview::after { display: none; }
.woocommerce-order ul.woocommerce-order-overview li {
	margin: 0;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-lg);
	background: var(--kinder-surface);
	font-size: var(--kinder-fs-xs);
	color: var(--kinder-text-muted);
	float: none;
}
.woocommerce-order ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 0.35rem;
	font-size: var(--kinder-fs-base);
	color: var(--kinder-text);
}
.woocommerce-order > p { margin: 0; }
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
	margin: 0;
	padding: 1.5rem;
	border: 1px solid var(--kinder-border);
	border-radius: var(--kinder-radius-xl);
	background: var(--kinder-surface);
}
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title { font-size: var(--kinder-fs-md); font-weight: 800; margin: 0 0 1rem; }
.woocommerce-order table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td { padding: 0.75rem; border-bottom: 1px solid var(--kinder-border); text-align: start; }
.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child td { color: var(--kinder-accent); font-weight: 800; border-bottom: 0; }
.woocommerce-order .woocommerce-customer-details address {
	font-style: normal;
	line-height: 1.9;
	padding: 1rem 1.25rem;
	border-radius: var(--kinder-radius-md);
	background: var(--kinder-surface-alt);
	border: 0;
}
.woocommerce-order .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.woocommerce-order .woocommerce-columns--addresses .woocommerce-column { width: auto; float: none; }

/* Sale badge on the single product page */
.woocommerce span.onsale {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	min-width: 0;
	padding: 0.35em 0.9em;
	border-radius: var(--kinder-radius-full);
	background: var(--kinder-rose);
	color: #ffffff;
	font-size: var(--kinder-fs-xs);
	font-weight: 800;
	line-height: 1.4;
}

/* Leave room for the WordPress admin bar (logged-in users) above off-canvas panels */
@media (max-width: 1024px) {
	.admin-bar .kinder-shop-filters__inner,
	.admin-bar .kinder-mini-cart__header { padding-top: calc(1.25rem + 46px); }
}
@media (min-width: 783px) and (max-width: 1024px) {
	.admin-bar .kinder-shop-filters__inner,
	.admin-bar .kinder-mini-cart__header { padding-top: calc(1.25rem + 32px); }
}

/* =====================================================================
   15. VARIATION SWATCHES (product page), CARD VARIANTS, COLOR FILTERS
   ===================================================================== */
/* Keep the native select for WooCommerce's script, hide it visually */
.kinder-swatch-field { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.woocommerce div.product form.cart table.variations { margin-bottom: 0.5rem; }
.woocommerce div.product form.cart table.variations tr { display: block; margin-bottom: 1.1rem; }
.woocommerce div.product form.cart table.variations th.label label { font-size: var(--kinder-fs-sm); font-weight: 800; color: var(--kinder-text); }
.woocommerce div.product form.cart table.variations td.value { position: relative; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 0.5rem; }

.kinder-swatches { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.kinder-swatch {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.35rem 0.95rem;
	border: 1.5px solid var(--kinder-border);
	border-radius: var(--kinder-radius-full);
	background: var(--kinder-surface);
	color: var(--kinder-text);
	font-family: var(--kinder-font-body);
	font-size: var(--kinder-fs-sm);
	font-weight: 700;
	cursor: pointer;
	transition: border-color var(--kinder-transition), box-shadow var(--kinder-transition), opacity var(--kinder-transition);
}
.kinder-swatches--label .kinder-swatch { min-width: 52px; justify-content: center; }
.kinder-swatch--hex { padding-inline-start: 0.4rem; }
.kinder-swatch__dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.15), 0 0 0 2px var(--kinder-surface);
}
.kinder-swatch:hover { border-color: var(--kinder-accent); }
.kinder-swatch.is-selected {
	border-color: var(--kinder-accent);
	box-shadow: 0 0 0 3px rgba(190, 40, 69, 0.25);
	background: rgba(190, 40, 69, 0.12);
}
.kinder-swatches--label .kinder-swatch.is-selected { background: var(--kinder-btn-bg); border-color: var(--kinder-btn-bg); color: var(--kinder-btn-fg); }
.kinder-swatch:focus-visible { outline: 2px solid var(--kinder-accent); outline-offset: 2px; }
.kinder-swatch.is-disabled { opacity: 0.35; cursor: not-allowed; }
.kinder-swatch.is-disabled::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10%;
	right: 10%;
	height: 1.5px;
	background: var(--kinder-text-muted);
	transform: rotate(-12deg);
}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-price { margin: 0.5rem 0 1rem; font-size: var(--kinder-fs-md); font-weight: 800; }
.woocommerce div.product .woocommerce-variation-availability .stock { font-size: var(--kinder-fs-sm); font-weight: 700; }

/* Product cards */
.kinder-card-variants { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.4rem 0.75rem; margin-top: -0.15rem; }
.kinder-card-variants__colors { display: inline-flex; align-items: center; gap: 0.3rem; }
.kinder-card-variants__dot {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 1.5px var(--kinder-surface), 0 0 0 2.5px var(--kinder-border);
}
.kinder-card-variants__dot.is-unknown { background: conic-gradient(#BE2845, #C89B6D, #1F2A44, #D8C3A5, #BE2845); }
.kinder-card-variants__more { font-size: var(--kinder-fs-xs); font-weight: 700; color: var(--kinder-text-muted); }
.kinder-card-variants__sizes { font-size: var(--kinder-fs-xs); font-weight: 700; color: var(--kinder-text-muted); letter-spacing: 0.02em; }

/* Filters: color chips */
.kinder-filter-chip__dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-inline-end: 0.35rem;
	border-radius: 50%;
	background: var(--swatch);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
	vertical-align: -2px;
}
.kinder-filter-chip--color span { padding-inline-start: 0.6em; }
.kinder-filter-chip input:checked + span .kinder-filter-chip__dot { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 2px #24100A; }
