/* Responsive-slider mode: JS adds is-rslider to reset display:grid so Swiper can take over.
   Two-class specificity (.products.is-rslider) beats the single-class .products { display:grid }
   rule regardless of source order, so no !important is needed. */
.products.is-rslider {
	display: block;
	overflow: hidden;
}

/* Shop loop grid */
.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wooforge-products-gap, 24px);
	list-style: none;
	padding: 0;
}

.products.columns-1,
.products.desktop-columns-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.products.columns-2,
.products.desktop-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.products.columns-3,
.products.desktop-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.products.columns-4,
.products.desktop-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.products.columns-5,
.products.desktop-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.products.columns-6,
.products.desktop-columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* desktop-columns-N/tablet-columns-N/mobile-columns-N (see
   WooForge_Product_Archive::get_responsive_column_classes() and the
   [wooforge_products_grid]/[wooforge_product_categories] shortcodes) carry
   the per-breakpoint column count directly on .products, so the rule that
   matches the current breakpoint just needs to come later in the
   stylesheet than the .products fallback above - no !important needed. */
@media (max-width: 900px) {
	.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.products.tablet-columns-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.products.tablet-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.products.tablet-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.products.tablet-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.products.tablet-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.products.tablet-columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.products {
		grid-template-columns: 1fr;
	}

	.products.mobile-columns-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
	.products.mobile-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.products.mobile-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.products.mobile-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.products.mobile-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.products.mobile-columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.wooforge-products-slider .swiper-slide {
	height: auto;
}

.wooforge-products-slider .wooforge-product-card {
	height: 100%;
}

.wooforge-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	border: 1px solid #e5e5e5;
	padding: 16px;
	text-align: center;
}

.wooforge-product-card.outofstock {
	opacity: 0.5;
}

.wooforge-product-card img {
	width: 100%;
	height: auto;
}

.wooforge-product-card-image {
	position: relative;
}

.wooforge-product-card-category {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #888;
	margin-bottom: 4px;
}

.wooforge-product-card-category a {
	color: inherit;
	text-decoration: none;
}

.wooforge-product-card .woocommerce-loop-product__title {
	font-size: 16px;
	margin: 8px 0;
}

/* Hover second image */
.wooforge-product-card-image {
	overflow: hidden;
}

.wooforge-product-card-hover-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}

@media (hover: hover) {
	.wooforge-product-card:hover .wooforge-product-card-hover-img {
		opacity: 1;
	}
}

.wooforge-product-card .price {
	color: var(--wooforge-color-accent);
	font-weight: 600;
	margin-bottom: 12px;
}

.wooforge-product-card-button {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.wooforge-product-card .wooforge-product-badges,
.woocommerce div.product .wooforge-product-badges {
	position: absolute;
	top: 12px;
	left: 12px;
	/* Swiper's own wrapper/slides sit at z-index:1 too and come after the
	   badges in source order (see woocommerce/single-product/product-image.php
	   and the products slider), so a tied z-index let the gallery paint over
	   them - needs to clear Swiper's nav arrows/pagination (z-index:10) too. */
	z-index: 20;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}

.wooforge-product-badges .onsale,
.wooforge-product-badges .wooforge-badge {
	display: inline-block;
	background: var(--wooforge-color-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 8px;
}

.wooforge-product-badges .wooforge-badge-featured {
	background: var(--wooforge-color-primary);
}

.wooforge-product-badges .wooforge-badge-new {
	background: #2a7d2e;
}

.wooforge-product-card .button {
	display: inline-block;
	padding: 10px 16px;
	background: var(--wooforge-color-primary);
	color: #fff;
	text-decoration: none;
}

.wooforge-product-card .star-rating {
	margin: 0 auto 8px;
}

/* Wishlist toggle button */
.wooforge-wishlist-toggle {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #aaa;
	padding: 0;
	cursor: pointer;
	border: 0;
	background: transparent;
}

.wooforge-wishlist-toggle.is-active {
	
}

.wooforge-product-card .wooforge-wishlist-label {
	display: none;
}

.single-product .entry-summary .wooforge-wishlist-toggle {
	position: static;
	width: auto;
	height: auto;
	padding: 8px 14px;
	gap: 6px;
	margin-top: 12px;
}

.wooforge-wishlist-empty {
	margin: 24px 0;
}

/* Cart & checkout tables */
.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
}

.shop_table th,
.shop_table td {
	padding: 12px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
}

.shop_table .product-thumbnail img {
	width: 64px;
	height: auto;
}

.shop_table .product-remove {
	text-align: right;
	width: 40px;
}

.shop_table .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.shop_table .product-remove a.remove img {
	width: 16px;
	height: 16px;
	display: block;
}

.cart-collaterals .cart_totals {
	max-width: 400px;
	margin-left: auto;
	border: 1px solid #e5e5e5;
	padding: 16px;
}

.wc-proceed-to-checkout .checkout-button {
	display: block;
	text-align: center;
	padding: 12px 16px;
	background: var(--wooforge-color-accent);
	color: #fff;
	text-decoration: none;
}

/* Buttons shared across WooCommerce forms */
.woocommerce form .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--wooforge-color-primary);
	color: #fff;
	border: none;
	padding: 10px 16px;
	cursor: pointer;
}

/* Checkout layout */
.checkout.woocommerce-checkout .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

@media (max-width: 700px) {
	.checkout.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr;
	}
}

#order_review_heading {
	margin-top: 32px;
}

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

.checkout.woocommerce-checkout .form-row-first,
.checkout.woocommerce-checkout .form-row-last {
	display: inline-block;
	width: 48%;
}

.checkout.woocommerce-checkout .form-row-first {
	margin-right: 4%;
}

.checkout.woocommerce-checkout label {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
}

.checkout.woocommerce-checkout .input-text,
.checkout.woocommerce-checkout select {
	width: 100%;
	padding: 10px;
	border: 1px solid #d5d5d5;
}

#order_review,
.woocommerce-checkout-review-order-table {
	border: 1px solid #e5e5e5;
	padding: 16px;
}

.woocommerce-checkout-payment {
	margin-top: 24px;
	border: 1px solid #e5e5e5;
	padding: 16px;
}

.wc_payment_methods {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

.wc_payment_methods .payment_box {
	margin: 8px 0 16px;
	padding: 12px;
	background: #f7f7f7;
}

.place-order .button.alt {
	width: 100%;
	font-size: 16px;
	padding: 14px;
}

/* Product filters */
.wooforge-product-filters {
	margin-bottom: 24px;
}

.wooforge-filter-group {
	border: none;
	margin: 0 0 16px;
	padding: 0;
}

.wooforge-filter-group legend {
	font-weight: 600;
	margin-bottom: 6px;
	padding: 0;
}

.wooforge-filter-group label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	font-size: 14px;
	cursor: pointer;
	user-select: none;
}

.wooforge-filter-group label.is-disabled {
	color: #aaa;
	cursor: not-allowed;
}

.wooforge-filter-group label.is-disabled input[type="checkbox"] {
	pointer-events: none;
}

.wooforge-filter-group label.is-selected {
	font-weight: 600;
	color: var(--wooforge-color-primary);
}

.wooforge-product-filters input[type="number"] {
	width: 80px;
}

.wooforge-filters-controls {
	margin-top: 8px;
	margin-bottom: 24px;
}

.wooforge-filters-controls .button {
	background: var(--wooforge-color-primary);
	color: #fff;
	border: none;
	padding: 10px 16px;
	cursor: pointer;
}

.wooforge-filters-reset {
	margin-left: 8px;
}

/* Price filter slider — noUiSlider theme overrides */
.wooforge-price-slider-track {
	margin: 20px 8px 16px;
}
.wooforge-price-slider-track .noUi-connect {
	background: var(--wooforge-color-accent);
}
.wooforge-price-slider-track .noUi-handle {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: none;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
	background: var(--wooforge-color-primary);
	cursor: pointer;
	right: -8px;
	top: -6px;
}
.wooforge-price-slider-track .noUi-handle::before,
.wooforge-price-slider-track .noUi-handle::after {
	display: none;
}
.wooforge-price-slider-values {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
}

/* AJAX shop loading state */
.wooforge-ajax-loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 9999;
	width: 32px;
	height: 32px;
	margin: -16px 0 0 -16px;
	border: 3px solid rgba(0, 0, 0, .1);
	border-top-color: var(--wooforge-color-accent, currentColor);
	border-radius: 50%;
	pointer-events: none;
	animation: wooforge-ajax-spin .65s linear infinite;
}

.wooforge-ajax-loading .wooforge-ajax-loader {
	display: block;
}

.wooforge-ajax-loading .products:not(.wooforge-categories-grid) {
	opacity: .4;
	pointer-events: none;
	user-select: none;
}

@keyframes wooforge-ajax-spin {
	to { transform: rotate(360deg); }
}

/* No prefers-color-scheme overrides: the theme has no dark mode, styling by
   the OS theme makes elements dark on the always-light site. */

/* Attribute swatches — filter labels */
.wooforge-swatch {
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
	border: 1px solid #e5e5e5;
	object-fit: cover;
}

.wooforge-filter-group label.is-disabled .wooforge-swatch {
	opacity: 0.4;
}

.wooforge-variation-select-hidden {
	display: none;
}

/* ── Variation swatch buttons (product page) ─────────────────────────── */

.wooforge-variation-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.wooforge-vs {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 3px;
	border: 2px solid transparent;
	background: none;
	border-radius: 4px;
	cursor: pointer;
	transition: border-color .15s, opacity .15s;
	line-height: 1;
}

.wooforge-vs:hover:not(.is-unavailable) {
	border-color: #ccc;
}

.wooforge-vs.is-selected {
	border-color: var(--wooforge-color-primary);
}

.wooforge-vs.is-unavailable {
	opacity: .4;
	cursor: default;
}

/* Text button */
.wooforge-vs--button {
	padding: 5px 12px;
	font-size: .875em;
	border-color: #e2e2e2;
	line-height: 1.4;
}

.wooforge-vs--button.is-selected {
	border-color: var(--wooforge-color-primary);
}

.wooforge-vs--button.is-unavailable {
	text-decoration: line-through;
}

/* Color swatch */
.wooforge-vs--color {
	gap: 6px;
	padding: 5px 10px 5px 5px;
}

.wooforge-vs--color .wooforge-vs-inner {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, .1);
	flex-shrink: 0;
}

.wooforge-vs-label {
	font-size: .875em;
	line-height: 1;
}

/* Image swatch */
.wooforge-vs--image .wooforge-vs-inner {
	display: block;
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 2px;
}

/* ── Variable price "from …" + live variation updates ─────────────────── */

.wooforge-price-from-label {
	font-weight: 400;
	font-size: .8em;
	opacity: .75;
}

/* The main price / theme stock-status block mirrors the selected variation
   (js/product/variation-live-updates.js), so WC's own duplicates inside
   .single_variation_wrap are hidden. */
.variations_form.wooforge-live-price .woocommerce-variation-price {
	display: none;
}

.variations_form.wooforge-live-stock .woocommerce-variation-availability {
	display: none;
}

/* ── Back-in-stock notify button ──────────────────────────────────────── */

.wooforge-stock-notify-btn {
	cursor: pointer;
}

.single_add_to_cart_button.wooforge-notify-mode {
	opacity: 1;
	cursor: pointer;
}

/* ── Linked Variations (swatches linking to sibling products) ─────────── */

.wooforge-lv {
	margin-bottom: 16px;
}

.wooforge-lv-row {
	margin-bottom: 8px;
}

.wooforge-lv-label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
	font-size: .875em;
}

.wooforge-lv a.wooforge-vs {
	text-decoration: none;
	color: inherit;
}

/* Linked product is out of stock: crossed out but still navigable. */
.wooforge-vs.is-out-of-stock {
	opacity: .5;
}

.wooforge-vs.is-out-of-stock .wooforge-vs-label {
	text-decoration: line-through;
}

.wooforge-vs.is-out-of-stock .wooforge-vs-inner {
	position: relative;
}

.wooforge-vs.is-out-of-stock .wooforge-vs-inner::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to left top, transparent calc(50% - 1px), rgba(0, 0, 0, .45), transparent calc(50% + 1px));
}

/* Catalog card: compact row, no label, smaller swatches. */
.wooforge-lv--card {
	margin: 6px 0 0;
}

.wooforge-lv--card .wooforge-lv-row {
	margin-bottom: 0;
}

.wooforge-lv--card .wooforge-variation-swatches {
	gap: 4px;
	margin-bottom: 0;
	justify-content: inherit;
}

.wooforge-lv--card .wooforge-vs--color {
	padding: 3px;
	gap: 0;
}

.wooforge-lv--card .wooforge-vs--color .wooforge-vs-label {
	display: none;
}

.wooforge-lv--card .wooforge-vs--color .wooforge-vs-inner {
	width: 16px;
	height: 16px;
}

.wooforge-lv--card .wooforge-vs--image .wooforge-vs-inner {
	width: 28px;
	height: 28px;
}

.wooforge-lv--card .wooforge-vs--button {
	padding: 2px 8px;
	font-size: .75em;
}

/* ── Cart / mini-cart variation attributes ───────────────────────────── */

.wooforge-cart-attrs {
	margin-top: 4px;
}

.wooforge-cart-attr {
	display: block;
	font-size: .8125rem;
	color: #767676;
	line-height: 1.5;
}

.wooforge-cart-attr-key {
	font-weight: 500;
}

/* WC variation dl — cart page and checkout (plain text lines) */
.cart_item .variation {
	margin: 4px 0 0;
}

.cart_item .variation dt,
.cart_item .variation dd {
	display: inline;
	margin: 0 2px 0 0;
	padding: 0;
	font-size: .8125rem;
	color: #767676;
	font-weight: normal;
}

.cart_item .variation dt {
	font-weight: 500;
}

.cart_item .variation dd::after {
	content: '';
	display: block;
}

/* ── Ordering dropdown (Select2 / selectWoo) ──────────────────────────── */

/* Hide native select before Select2 replaces it to prevent FOUC.
   Height and min-width match the Select2 container so no layout shift occurs.
   Select2 adds select2-hidden-accessible + display:none on init. */
.woocommerce-ordering select.orderby:not(.select2-hidden-accessible) {
	visibility: hidden;
	height: 38px;
	min-width: 160px;
	box-sizing: border-box;
}

.woocommerce-ordering {
	margin: 0;
}

.woocommerce-ordering .select2-container {
	min-width: 160px;
}

.woocommerce-ordering .select2-selection--single {
	height: 38px;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: #fff;
	display: flex;
	align-items: center;
}

.woocommerce-ordering .select2-selection--single .select2-selection__rendered {
	padding: 0 32px 0 12px;
	line-height: 1;
	color: inherit;
	font-size: inherit;
}

.woocommerce-ordering .select2-selection--single .select2-selection__arrow {
	height: 36px;
	width: 28px;
	right: 4px;
}

.woocommerce-ordering .select2-selection--single .select2-selection__arrow b {
	border-color: currentColor transparent transparent;
	border-width: 5px 4px 0;
	top: 55%;
}

.select2-dropdown {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.select2-results__option {
	padding: 8px 12px;
	font-size: inherit;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted[data-selected] {
	background-color: var(--wooforge-color-primary);
}

.select2-results__option[aria-selected="true"],
.select2-results__option[data-selected="true"] {
	background-color: rgba(0, 0, 0, 0.04);
	color: inherit;
	font-weight: 600;
}

/* Product archive: title row, then a toolbar row (result count, ordering, view toggle) */
.wooforge-shop-toolbar {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

.wooforge-shop-toolbar-right {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}

/* Product archive: products grid + sidebar row */
.products-grid {
	display: flex;
	gap: 32px;
	align-items: flex-start;
}

.products-grid > .products {
	flex: 1;
	min-width: 0;
}

.products-grid > .wooforge-sidebar {
	flex: 0 0 var(--wooforge-sidebar-width, 280px);
}

body.wooforge-sidebar-left .products-grid > .wooforge-sidebar {
	order: -1;
}

@media (max-width: 768px) {
	.products-grid {
		flex-direction: column;
	}
}

.wooforge-shop-toolbar-right .woocommerce-result-count,
.wooforge-shop-toolbar-right .wooforge-view-toggle {
	margin: 0;
}

/* ── Sorting: button style ────────────────────────────────────────────── */

.wooforge-sorting-button {
	position: relative;
	display: inline-block;
}

.wooforge-sorting-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 38px;
	padding: 0 12px;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: #fff;
	font-size: inherit;
	color: inherit;
	cursor: pointer;
	white-space: nowrap;
}

.wooforge-sorting-toggle:hover {
	border-color: var(--wooforge-color-primary, #333);
}

.wooforge-sorting-chevron {
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	transition: transform 0.2s;
}

.wooforge-sorting-toggle[aria-expanded="true"] .wooforge-sorting-chevron {
	transform: rotate(180deg);
}

.wooforge-sorting-list {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	z-index: 9999;
	min-width: 100%;
	margin: 0;
	padding: 4px 0;
	list-style: none;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	white-space: nowrap;
}

.wooforge-sorting-list[hidden] {
	display: none;
}

.wooforge-sorting-option {
	display: block;
	padding: 8px 14px;
	font-size: inherit;
	color: inherit;
	text-decoration: none;
}

.wooforge-sorting-option:hover {
	background: rgba(0, 0, 0, 0.04);
}

.wooforge-sorting-option.is-active {
	font-weight: 600;
	color: var(--wooforge-color-primary, inherit);
}

.wooforge-filters-button {
	background: #fff;
	border: 1px solid #e5e5e5;
	padding: 8px 16px;
	cursor: pointer;
}

.wooforge-filters-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	width: var(--wooforge-sidebar-width, 280px);
	max-width: 90vw;
	overflow-y: auto;
	z-index: 9999;
	background: #fff;
	padding: 24px;
	box-shadow: 0 0 16px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s ease;
}

.wooforge-filters-drawer--right {
	right: 0;
	transform: translateX(100%);
}

.wooforge-filters-drawer--left {
	left: 0;
	transform: translateX(-100%);
}

.wooforge-filters-drawer.is-open {
	transform: translateX(0);
}

.wooforge-filters-drawer-close {
	position: absolute;
	top: 12px;
	right: 12px;
	background: none;
	border: none;
	cursor: pointer;
}

/* Product archive: view toggle, list view, load more / infinite scroll */
.wooforge-view-toggle {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
}

.wooforge-view-toggle button {
	background: #fff;
	border: 1px solid #e5e5e5;
	padding: 6px 14px;
	cursor: pointer;
}

.wooforge-view-toggle button.is-active,
.wooforge-view-toggle.is-list .wooforge-view-toggle-list,
.wooforge-view-toggle:not(.is-list) .wooforge-view-toggle-grid {
	border-color: var(--wooforge-color-primary);
	font-weight: 600;
}

.wooforge-load-more {
	text-align: center;
	margin: 24px 0;
}

.wooforge-infinite-sentinel {
	height: 1px;
}

.products.wooforge-view-list {
	grid-template-columns: 1fr;
}

.products.wooforge-view-list .wooforge-product-card {
	flex-direction: row;
	align-items: center;
	gap: 16px;
	text-align: left;
}

.products.wooforge-view-list .wooforge-product-card img {
	width: 120px;
	flex: 0 0 120px;
	margin-bottom: 0;
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews {
	list-style: none;
	margin: 0 0 24px;
	padding: 14px 18px;
	background: #f0f6ff;
	border-left: 4px solid var(--wooforge-color-primary);
}

.woocommerce-error {
	background: #fdecea;
	border-left-color: #d4373d;
}

.woocommerce-message .button {
	float: right;
}

/* Single product page */
.single-product .product {
	max-width: 100%;
}
@media (max-width: 700px) {
	.woocommerce div.product {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

.woocommerce div.product div.images {
	position: relative;
}

/* Swiper-driven gallery (thumbnails left/right/bottom, carousel) */
.wooforge-gallery-swiper {
	position: relative;
}

.wooforge-gallery-swiper .wooforge-gallery-main {
	max-width: 100%;
	overflow: hidden;
	transition: height 0.25s ease;
}

.wooforge-gallery-swiper .wooforge-gallery-main img {
	width: 100%;
	height: auto;
	display: block;
}

/* thumbnails_left / thumbnails_right: main gallery is 480px tall (flex stretch
   from thumbs strip). Images need height:100% + object-fit so they fill it. */
.wooforge-gallery-thumbnails_left .wooforge-gallery-main .swiper-slide,
.wooforge-gallery-thumbnails_right .wooforge-gallery-main .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wooforge-gallery-thumbnails_left .wooforge-gallery-main .swiper-slide img,
.wooforge-gallery-thumbnails_right .wooforge-gallery-main .swiper-slide img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

/* Carousel: fixed 1:1 ratio so mixed-aspect-ratio images don't stretch the slider */
.wooforge-gallery-carousel .wooforge-gallery-main {
	aspect-ratio: 1 / 1;
}

.wooforge-gallery-carousel .wooforge-gallery-main .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.wooforge-gallery-carousel .wooforge-gallery-main .swiper-slide img {
	width: 100%;
	height: 100% !important;
	object-fit: contain;
}

.wooforge-gallery-swiper .wooforge-gallery-main .swiper-button-prev,
.wooforge-gallery-swiper .wooforge-gallery-main .swiper-button-next {
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.wooforge-gallery-swiper .wooforge-gallery-main .swiper-button-prev::after,
.wooforge-gallery-swiper .wooforge-gallery-main .swiper-button-next::after {
	font-size: 16px;
	color: var(--wooforge-color-primary);
}

.wooforge-gallery-swiper .wooforge-gallery-thumbs {
	margin-top: 8px;
}

.wooforge-gallery-swiper .wooforge-gallery-thumbs img {
	width: 100%;
	height: auto;
	display: block;
	cursor: pointer;
	opacity: 0.7;
}

.wooforge-gallery-swiper .wooforge-gallery-thumbs .swiper-slide-thumb-active img {
	opacity: 1;
}

.wooforge-gallery-swiper.wooforge-gallery-thumbnails_left,
.wooforge-gallery-swiper.wooforge-gallery-thumbnails_right {
	display: flex;
	gap: 12px;
}

.wooforge-gallery-swiper.wooforge-gallery-thumbnails_left {
	flex-direction: row-reverse;
}

.wooforge-gallery-swiper.wooforge-gallery-thumbnails_left .wooforge-gallery-main,
.wooforge-gallery-swiper.wooforge-gallery-thumbnails_right .wooforge-gallery-main {
	flex: 1;
	min-width: 0;
}

.wooforge-gallery-swiper.wooforge-gallery-thumbnails_left .wooforge-gallery-thumbs,
.wooforge-gallery-swiper.wooforge-gallery-thumbnails_right .wooforge-gallery-thumbs {
	flex: 0 0 90px;
	margin-top: 0;
	height: 480px;
}

.wooforge-gallery-swiper.wooforge-gallery-thumbnails_left .wooforge-gallery-thumbs .swiper-slide,
.wooforge-gallery-swiper.wooforge-gallery-thumbnails_right .wooforge-gallery-thumbs .swiper-slide {
	height: auto;
}

/* Grid-family layouts (static CSS grid, no slider) */
.wooforge-gallery-grid .woocommerce-product-gallery__wrapper,
.wooforge-gallery-bottom_grid .woocommerce-product-gallery__wrapper,
.wooforge-gallery-combined_1 .woocommerce-product-gallery__wrapper,
.wooforge-gallery-combined_2 .woocommerce-product-gallery__wrapper,
.wooforge-gallery-combined_3 .woocommerce-product-gallery__wrapper {
	display: grid !important;
	grid-template-columns: repeat( var( --wooforge-gallery-columns, 2 ), 1fr );
	gap: 12px;
}

.wooforge-gallery-grid .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.wooforge-gallery-bottom_grid .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.wooforge-gallery-combined_1 .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.wooforge-gallery-combined_2 .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.wooforge-gallery-combined_3 .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image {
	position: static !important;
	width: auto !important;
	float: none !important;
}

.wooforge-gallery-combined_1 .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child {
	grid-column: 1 / -1;
}

.wooforge-gallery-combined_2 .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child {
	grid-row: span 2;
}

.wooforge-gallery-combined_3 .woocommerce-product-gallery__wrapper {
	grid-template-columns: 2fr 1fr;
}

.wooforge-gallery-combined_3 .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:first-child {
	grid-row: span 2;
}

/* ── Grid gallery: tablet columns ───────────────────────────────────────── */

@media (max-width: 899px) {
	.wooforge-gallery-grid .woocommerce-product-gallery__wrapper,
	.wooforge-gallery-bottom_grid .woocommerce-product-gallery__wrapper,
	.wooforge-gallery-combined_1 .woocommerce-product-gallery__wrapper,
	.wooforge-gallery-combined_2 .woocommerce-product-gallery__wrapper,
	.wooforge-gallery-combined_3 .woocommerce-product-gallery__wrapper {
		grid-template-columns: repeat( var( --wooforge-gallery-columns-tab, var( --wooforge-gallery-columns, 2 ) ), 1fr );
	}
}

/* ── Grid gallery → responsive slider ───────────────────────────────────── */

/* Hide grid gallery on breakpoints where it will convert to a slider, until
   JS has finished the conversion and adds .wooforge-gallery-rgrid-ready. */
@media (max-width: 899px) {
	.wooforge-gallery-rgrid[data-grid-tablet-slider="1"]:not(.wooforge-gallery-rgrid-ready) {
		visibility: hidden;
	}
}

@media (max-width: 559px) {
	.wooforge-gallery-rgrid[data-grid-mobile-slider="1"]:not(.wooforge-gallery-rgrid-ready) {
		visibility: hidden;
	}
}

/* When slider is active, the wrapper switches from grid to Swiper container. */
.wooforge-gallery-rgrid-active .woocommerce-product-gallery__wrapper {
	display: block !important;
	gap: 0;
}

/* All __image children are now swiper slides — drop per-layout overrides. */
.wooforge-gallery-rgrid-active .woocommerce-product-gallery__image {
	width: 100% !important;
}

/* Thumbnail strip for rgrid slider. */
.wooforge-gallery-rgrid-thumbs {
	margin-top: 8px;
}

/* Swiper CSS sets display:block on .swiper which overrides the browser default
   for the HTML hidden attribute - keep thumbs invisible until JS activates the slider. */
.wooforge-gallery-rgrid-thumbs[hidden] {
	display: none !important;
}

.wooforge-gallery-rgrid-thumbs .swiper-slide img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	display: block;
	opacity: 0.5;
	transition: opacity 0.2s;
}

.wooforge-gallery-rgrid-thumbs .swiper-slide-thumb-active img {
	opacity: 1;
}

/* ── Mobile thumbs: move below (thumbnails left/right layouts) ───────────── */

@media (max-width: 559px) {
	.wooforge-mobile-thumbs-below.wooforge-gallery-thumbnails_left,
	.wooforge-mobile-thumbs-below.wooforge-gallery-thumbnails_right {
		flex-direction: column;
	}

	.wooforge-mobile-thumbs-below .wooforge-gallery-thumbs {
		flex: 0 0 auto;
		width: 100%;
		height: auto !important;
		margin-top: 8px;
	}
}

.woocommerce div.product .wooforge-page-title .page-title {
	font-size: 28px;
	margin-bottom: 8px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wooforge-color-accent);
	font-size: 22px;
	font-weight: 600;
	margin-bottom: 16px;
}

.woocommerce div.product .stock {
	display: inline-block;
	font-size: 13px;
	margin-bottom: 16px;
}

.woocommerce div.product .stock.in-stock {
	color: #2a7d2e;
}

.woocommerce div.product .stock.out-of-stock {
	color: #b00;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 16px;
}

.woocommerce div.product form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

/* Mini-cart (see woocommerce/cart/mini-cart.php) */
.wooforge-mini-cart-items {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	max-height: 360px;
	overflow-y: auto;
}

.wooforge-mini-cart-item {
	position: relative;
	display: flex;
	gap: 12px;
	padding-right: 20px;
}

.wooforge-mini-cart-item-thumbnail img {
	width: 64px;
	height: 64px;
	object-fit: cover;
}

.wooforge-mini-cart-item-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.wooforge-mini-cart-item-name {
	font-size: 14px;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
}

.wooforge-mini-cart-item-info .variation {
	margin: 4px 0;
	font-size: 12px;
	color: #777;
}

.wooforge-mini-cart-item-info .quantity {
	font-size: 13px;
	color: #666;
}

.wooforge-mini-cart-item-remove {
	position: absolute;
	top: 0;
	right: 0;
}

.wooforge-mini-cart-item-remove img {
	width: 14px;
	height: 14px;
	display: block;
}

.wooforge-mini-cart-total {
	display: flex;
	justify-content: space-between;
	font-weight: 600;
	padding-top: 12px;
	border-top: 1px solid #e5e5e5;
}

.wooforge-mini-cart-buttons {
	display: flex;
	gap: 8px;
}

.wooforge-mini-cart-buttons a {
	flex: 1;
	text-align: center;
}

/* WooCommerce blockUI overlay when removing a mini cart item - replace the
   default black overlay with a white fade and a centred spinner. */
#wooforge-cart-flyout .blockOverlay {
	background: rgba(255, 255, 255, 0.8) !important;
	cursor: wait !important;
}

#wooforge-cart-flyout .blockOverlay::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -11px;
	border: 2px solid rgba(0, 0, 0, 0.1);
	border-top-color: #555;
	border-radius: 50%;
	animation: wooforge-ajax-spin 0.6s linear infinite;
}

.wooforge-mini-cart-empty {
	text-align: center;
	padding: 24px 0;
}

.wooforge-mini-cart-empty .button {
	margin-top: 12px;
}

.wooforge-mini-cart-quantity {
	margin-top: 6px;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.wooforge-mini-cart-quantity-price {
	font-size: 13px;
	color: #666;
}

.wooforge-mini-cart-quantity.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

/* Quantity stepper: - / number field / + (see js/quantity-stepper.js) */
.quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid #d5d5d5;
	overflow: hidden;
}

.quantity .qty {
	width: 48px;
	border: none;
	padding: 10px 4px;
	text-align: center;
	-moz-appearance: textfield;
}

.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wooforge-qty-step {
	flex: 0 0 32px;
	width: 32px;
	border: none;
	background: #f7f7f7;
	color: var(--wooforge-color-primary);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.wooforge-qty-step:hover {
	background: #ececec;
}

.wooforge-qty-minus {
	border-right: 1px solid #d5d5d5;
}

.wooforge-qty-plus {
	border-left: 1px solid #d5d5d5;
}

.woocommerce div.product .single_add_to_cart_button {
	font-size: 15px;
	padding: 12px 24px;
	transition: background-color 0.2s ease, opacity 0.2s ease;
}

/* Dims the button for the duration of the request (still useful - tells
   the visitor a click registered) - the green/checkmark .added state and
   the "View cart" link WC core adds alongside it are stripped in
   js/add-to-cart.js instead, since the theme's own toast/flyout already
   covers that signal. Also applies to loop "Add to cart" buttons - both get
   a .wooforge-btn-spinner child injected by JS for the duration of the
   request (see js/add-to-cart.js and js/single-add-to-cart.js). */
.woocommerce div.product .single_add_to_cart_button.loading,
.add_to_cart_button.loading {
	position: relative;
	opacity: 0.6;
	cursor: default;
	pointer-events: none;
}

.wooforge-btn-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	margin: -7px 0 0 -7px;
	border: 2px solid currentColor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: wooforge-btn-spin 0.6s linear infinite;
}

@keyframes wooforge-btn-spin {
	to {
		transform: rotate(360deg);
	}
}

.star-rating {
	color: var(--wooforge-color-accent);
}

/* Product tabs */
.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
	border-bottom: 1px solid #e5e5e5;
}

.woocommerce-tabs ul.tabs li {
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 12px 18px;
	text-decoration: none;
	font-weight: 600;
	color: #777;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--wooforge-color-primary);
	border-bottom: 2px solid var(--wooforge-color-primary);
}

.woocommerce-tabs .woocommerce-Tabs-panel {
	padding: 24px 0;
}

.woocommerce-tabs table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td {
	padding: 10px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
}

/* Related / upsell products */
.related.products,
.upsells.products {
	margin-top: 48px;
}

.related.products > h2,
.upsells.products > h2 {
	font-size: 22px;
	margin-bottom: 16px;
}

/* ─── My Account Dashboard ───────────────────────────────────────────────── */

.wooforge-db {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.wooforge-db-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.wooforge-db-card {
	border: 1px solid #e5e5e5;
	background: #fff;
}

.wooforge-db-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 20px;
	border-bottom: 1px solid #e5e5e5;
}

.wooforge-db-card__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wooforge-color-primary);
}

.wooforge-db-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--wooforge-color-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.wooforge-db-viewall {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--wooforge-color-primary);
	text-decoration: none;
	white-space: nowrap;
	opacity: 0.6;
	transition: opacity 0.15s;
}

.wooforge-db-viewall:hover {
	opacity: 1;
}

.wooforge-db-card__body {
	padding: 20px;
}

/* Orders table */
.wooforge-db-orders-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.wooforge-db-orders {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	white-space: nowrap;
}

.wooforge-db-orders th {
	padding: 0 12px 10px;
	text-align: left;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
	border-bottom: 1px solid #e5e5e5;
}

.wooforge-db-orders th:first-child,
.wooforge-db-orders td:first-child {
	padding-left: 0;
}

.wooforge-db-orders th:last-child,
.wooforge-db-orders td:last-child {
	padding-right: 0;
	text-align: right;
}

.wooforge-db-orders td {
	padding: 12px;
	border-bottom: 1px solid #f0f0f0;
	color: var(--wooforge-color-primary);
	vertical-align: middle;
}

.wooforge-db-orders tbody tr:last-child td {
	border-bottom: none;
}

.wooforge-db-orders a {
	color: var(--wooforge-color-primary);
	font-weight: 600;
	text-decoration: none;
}

.wooforge-db-orders a:hover {
	text-decoration: underline;
}

/* Order status badges */
.wooforge-db-status {
	display: inline-block;
	padding: 3px 9px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.wooforge-db-status--pending,
.wooforge-db-status--on-hold {
	background: #fff8e1;
	color: #b45309;
}

.wooforge-db-status--processing {
	background: #e0f2fe;
	color: #075985;
}

.wooforge-db-status--completed {
	background: #dcfce7;
	color: #166534;
}

.wooforge-db-status--cancelled,
.wooforge-db-status--failed {
	background: #fee2e2;
	color: #991b1b;
}

.wooforge-db-status--refunded {
	background: #f3e8ff;
	color: #6b21a8;
}

/* Small action button */
.wooforge-db-btn {
	display: inline-block;
	padding: 5px 14px;
	background: var(--wooforge-color-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: opacity 0.15s;
}

.wooforge-db-btn:hover {
	color: #fff;
	opacity: 0.8;
}

/* Wishlist products — reset grid margin inside card */
.wooforge-db-card__body .products {
	margin: 0;
}

/* Shipping address */
.wooforge-db-address {
	font-style: normal;
	line-height: 1.7;
	color: var(--wooforge-color-primary);
}

/* Account details dl */
.wooforge-db-details {
	margin: 0;
}

.wooforge-db-details__row {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 1px solid #f0f0f0;
}

.wooforge-db-details__row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.wooforge-db-details__row:first-child {
	padding-top: 0;
}

.wooforge-db-details dt {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #888;
	padding-top: 2px;
}

.wooforge-db-details dd {
	margin: 0;
	font-size: 14px;
	color: var(--wooforge-color-primary);
	word-break: break-word;
}

/* Empty state */
.wooforge-db-empty {
	margin: 0 0 12px;
	color: #888;
	font-size: 14px;
}

.wooforge-db-empty:only-child {
	margin-bottom: 0;
}

/* Responsive */
@media (max-width: 700px) {
	.wooforge-db-row {
		grid-template-columns: 1fr;
	}
}

/* ── Active Filters widget / shortcode ───────────────────────────────── */

.wooforge-active-filters {
	margin-bottom: 16px;
}

.wooforge-active-filters--empty {
	display: none;
}

.wooforge-active-filters__list {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wooforge-active-filters__tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border: 1px solid var(--wooforge-color-primary, #333);
	border-radius: 20px;
	font-size: 0.85em;
	line-height: 1.4;
	color: var(--wooforge-color-primary, #333);
	text-decoration: none;
	background: transparent;
	transition: background 0.15s, color 0.15s;
}

.wooforge-active-filters__tag:hover {
	background: var(--wooforge-color-primary, #333);
	color: #fff;
}

.wooforge-active-filters__remove {
	font-size: 1.1em;
	line-height: 1;
	margin-top: -1px;
}

.wooforge-active-filters__reset {
	font-size: 0.85em;
	text-decoration: underline;
	color: inherit;
	opacity: 0.6;
	transition: opacity 0.15s;
}

.wooforge-active-filters__reset:hover {
	opacity: 1;
}

/* ── Size Guide ─────────────────────────────────────────────────────────────── */

.wooforge-size-guide-btn {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.wooforge-size-guide-dialog {
	max-width: 800px;
}

.wooforge-size-guide-title {
	margin: 0 0 20px;
	font-size: 1.2em;
}

.wooforge-size-guide-table-wrap {
	overflow-x: auto;
	margin-bottom: 24px;
}

.wooforge-size-guide-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
}

.wooforge-size-guide-table th,
.wooforge-size-guide-table td {
	border: 1px solid #e0e0e0;
	padding: 8px 14px;
	text-align: center;
}

.wooforge-size-guide-table thead th {
	background: #f5f5f5;
	font-weight: 600;
}

.wooforge-size-guide-table tbody tr:nth-child(even) td {
	background: #fafafa;
}

.wooforge-size-guide-table td:first-child {
	text-align: left;
	font-weight: 500;
}

.wooforge-size-guide-content {
	margin-top: 20px;
	line-height: 1.6;
}

.wooforge-size-guide-content img {
	max-width: 100%;
	height: auto;
}

/* ===== WC Tabs Accordion ===== */

/* Hidden until our JS corrects WC's init state (prevents flash of wrong tab) */
.wooforge-wc-tabs-accordion {
	opacity: 0;
}
.wooforge-wc-tabs-accordion.wf-init-done {
	opacity: 1;
	transition: opacity 0.15s ease;
}

.wooforge-wc-tabs-accordion .wc-tabs-wrapper,
.wooforge-wc-tabs-accordion .woocommerce-tabs {
	display: block;
}

.wooforge-wc-tabs-accordion .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}

.wooforge-wc-tabs-accordion ul.tabs.wc-tabs {
	display: flex;
	flex-direction: column;
	border-bottom: none;
}

.wooforge-wc-tabs-accordion ul.tabs.wc-tabs::before {
	display: none;
}

.wooforge-wc-tabs-accordion ul.tabs.wc-tabs li {
	background: transparent;
	border: 1px solid var(--wooforge-color-border, #e0e0e0);
	border-radius: 4px;
	margin: 0 0 4px;
}

.wooforge-wc-tabs-accordion ul.tabs.wc-tabs li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	font-weight: 500;
}

.wooforge-wc-tabs-accordion ul.tabs.wc-tabs li a::after {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s;
	flex-shrink: 0;
}

.wooforge-wc-tabs-accordion ul.tabs.wc-tabs li.active a::after {
	transform: rotate(-135deg);
}

.wooforge-wc-tabs-accordion .woocommerce-Tabs-panel {
	display: none;
	border: 1px solid var(--wooforge-color-border, #e0e0e0);
	border-top: none;
	border-radius: 0 0 4px 4px;
	padding: 20px;
	margin: -4px 0 4px;
}
/* ── Bundle: mini-cart ─────────────────────────────────────────── */

.wooforge-mini-cart-bundle {
	border: 1px solid var(--wooforge-color-border, #e0e0e0);
	border-radius: 6px;
	margin-bottom: 10px;
	overflow: hidden;
}

.wooforge-mini-cart-bundle-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	background: var(--wooforge-color-surface, #f7f7f7);
	position: relative;
}

.wooforge-mini-cart-bundle-header .wooforge-mini-cart-item-remove {
	position: absolute;
	top: 6px;
	right: 6px;
	opacity: 0.5;
	flex-shrink: 0;
}
.wooforge-mini-cart-bundle-header .wooforge-mini-cart-item-remove:hover {
	opacity: 1;
}

.wooforge-mini-cart-bundle-thumb {
	flex-shrink: 0;
}
.wooforge-mini-cart-bundle-thumb img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}

.wooforge-mini-cart-bundle-info {
	flex: 1;
	min-width: 0;
}

.wooforge-mini-cart-bundle-name {
	display: block;
	font-weight: 600;
	font-size: 13px;
	color: var(--wooforge-color-heading, #111);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-right: 20px;
}

.wooforge-mini-cart-bundle-discount {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	color: var(--wooforge-color-sale, #e00);
	margin-top: 2px;
}

.wooforge-mini-cart-bundle-items {
	padding: 4px 0 4px 14px;
	border-top: 1px solid var(--wooforge-color-border, #e0e0e0);
}

.wooforge-mini-cart-bundle-child {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 0;
	border-bottom: 1px solid var(--wooforge-color-border, #e0e0e0);
}

.wooforge-mini-cart-bundle-child:last-child {
	border-bottom: none;
}

.wooforge-mini-cart-bundle-child-thumb {
	flex-shrink: 0;
}

.wooforge-mini-cart-bundle-child-thumb img {
	width: 32px;
	height: 32px;
	object-fit: cover;
	border-radius: 3px;
	display: block;
}

.wooforge-mini-cart-bundle-child-info {
	flex: 1;
	min-width: 0;
}

.wooforge-mini-cart-bundle-child-name {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wooforge-mini-cart-bundle-child-qty {
	display: block;
	font-size: 11px;
	color: var(--wooforge-color-muted, #888);
}

/* ── Bundle: product page summary ──────────────────────────────── */

.wf-bundle-summary {
	margin: 16px 0;
	padding: 14px 16px;
	border: 1px solid var(--wooforge-color-border, #e0e0e0);
	border-radius: 6px;
	background: var(--wooforge-color-surface, #f9f9f9);
}

.wf-bundle-summary-title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 10px;
	color: var(--wooforge-color-heading, #111);
}

.wf-bundle-summary-list {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
}

.wf-bundle-summary-item {
	display: flex;
	align-items: baseline;
	gap: 6px;
	padding: 4px 0;
	border-bottom: 1px solid var(--wooforge-color-border, #e0e0e0);
	font-size: 13px;
}

.wf-bundle-summary-item:last-child {
	border-bottom: none;
}

.wf-bundle-item-qty {
	font-weight: 700;
	flex-shrink: 0;
	color: var(--wooforge-color-muted, #666);
}

.wf-bundle-item-name {
	flex: 1;
}

.wf-bundle-item-price {
	font-weight: 600;
	flex-shrink: 0;
}

.wf-bundle-discount-badge {
	display: inline-block;
	background: var(--wooforge-color-sale, #e00);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 3px;
	margin-top: 6px;
}

/* ── Bundle: main cart table ───────────────────────────────────── */

.wf-bundle-header-row {
	background: var(--wooforge-color-surface, #f7f7f7);
	border-top: 2px solid var(--wooforge-color-primary, #000);
}

.wf-bundle-header-row td {
	padding-top: 10px;
	padding-bottom: 10px;
}

.wf-bundle-header-name {
	display: flex;
	align-items: center;
	gap: 10px;
}

.wf-bundle-cart-name {
	font-weight: 700;
	font-size: 15px;
	color: var(--wooforge-color-heading, #111);
	text-decoration: none;
}

.wf-bundle-cart-name:hover {
	text-decoration: underline;
}

.wf-bundle-cart-discount {
	display: inline-block;
	background: var(--wooforge-color-sale, #e00);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 7px;
	border-radius: 3px;
}

.wf-bundle-child-row td {
	background: rgba(0,0,0,.015);
	padding-left: 18px;
}

.wf-bundle-item-qty-fixed {
	font-size: 14px;
	color: var(--wooforge-color-muted, #666);
}
