/**
 * MebliU WooCommerce — fluid catalog & product page
 */

/* --- Breadcrumbs --- */
.breadcrumbs {
	margin-bottom: var(--space-md);
}

.breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 0;
	font-size: var(--text-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.breadcrumbs__item {
	display: flex;
	align-items: center;
	color: #8a8f9c;
}

.breadcrumbs__item:not(:last-child)::after {
	content: '/';
	margin: 0 clamp(8px, 0.8vw, 12px);
	opacity: 0.45;
}

.breadcrumbs__item a { color: var(--color-primary); }
.breadcrumbs__item a:hover { opacity: 1; }
.breadcrumbs__item span { color: var(--color-text); }

.shop-hero .breadcrumbs__item,
.shop-hero .breadcrumbs__item a,
.shop-hero .breadcrumbs__item span {
	color: rgba(255, 255, 255, 0.88);
}

/* --- Shop hero --- */
.shop-hero {
	position: relative;
	min-height: clamp(200px, 22vw, 320px);
	display: flex;
	align-items: flex-end;
	margin-bottom: var(--space-lg);
	overflow: hidden;
}

.shop-hero__bg { position: absolute; inset: 0; }
.shop-hero__bg img { width: 100%; height: 100%; object-fit: cover; }

.shop-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(47, 69, 123, 0.25) 0%, rgba(47, 69, 123, 0.88) 100%);
}

.shop-hero__content {
	position: relative;
	z-index: 1;
	padding: clamp(32px, 4vw, 56px) var(--container-pad) clamp(28px, 3vw, 44px);
	width: 100%;
}

.shop-hero__title {
	color: #fff;
	font-size: var(--text-2xl);
	margin-bottom: var(--space-xs);
}

.shop-hero__desc {
	color: rgba(255, 255, 255, 0.92);
	max-width: min(720px, 90%);
	font-size: var(--text-base);
	line-height: 1.55;
}

.shop-page-header {
	padding-top: var(--space-md);
}

/* --- Shop layout --- */
.shop-main { padding-bottom: var(--space-xl); }

.shop-layout {
	display: grid;
	grid-template-columns: minmax(220px, clamp(240px, 18vw, 300px)) 1fr;
	gap: clamp(24px, 3vw, 48px);
	align-items: start;
	margin-top: var(--space-md);
}

.shop-sidebar {
	position: sticky;
	top: calc(var(--header-height) + 16px);
}

.shop-sidebar__block {
	background: #fff;
	padding: clamp(18px, 1.8vw, 28px);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-soft);
}

.shop-sidebar__title {
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	text-transform: uppercase;
	margin-bottom: var(--space-sm);
	letter-spacing: 0.06em;
}

.shop-sidebar-toggle {
	display: none;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 18px;
	margin-bottom: var(--space-sm);
	background: var(--color-primary);
	color: #fff;
	border: none;
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

.shop-sidebar-toggle__icon {
	width: 16px;
	height: 2px;
	background: currentColor;
	position: relative;
}

.shop-sidebar-toggle__icon::before,
.shop-sidebar-toggle__icon::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
}

.shop-sidebar-toggle__icon::before { top: -5px; }
.shop-sidebar-toggle__icon::after { top: 5px; }

.shop-cat-nav {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.shop-cat-nav--depth-1,
.shop-cat-nav--depth-2 {
	margin-top: 4px;
	padding-left: 12px;
	border-left: 2px solid var(--color-border);
}

.shop-cat-nav__item a {
	display: block;
	padding: 10px 12px;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-text);
	border-radius: var(--radius-sm);
	transition: background var(--transition), color var(--transition);
}

.shop-cat-nav__item a:hover,
.shop-cat-nav__item.is-current > a {
	background: var(--color-primary);
	color: #fff;
	opacity: 1;
}

.shop-cat-nav__item.is-ancestor > a {
	color: var(--color-primary);
	font-weight: 600;
	background: var(--color-bg-alt);
}

/* --- Category tiles --- */
.section--compact { padding: var(--space-md) 0 var(--space-lg); }

.shop-categories__title {
	font-size: var(--text-xl);
	margin-bottom: var(--space-md);
}

.shop-categories__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--cat-tile-min), 1fr));
	gap: clamp(12px, 1.5vw, 20px);
}

.shop-cat-tile {
	display: block;
	color: inherit;
	text-align: center;
}

.shop-cat-tile__image {
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--color-bg-alt);
	margin-bottom: var(--space-xs);
	border: 1px solid var(--color-border);
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.shop-cat-tile:hover .shop-cat-tile__image {
	border-color: var(--color-primary);
	box-shadow: var(--shadow-card);
	transform: translateY(-3px);
}

.shop-cat-tile__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.shop-cat-tile:hover .shop-cat-tile__image img { transform: scale(1.06); }

.shop-cat-tile__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e8ecf4, #d4dbe8);
}

.shop-cat-tile__label {
	font-size: var(--text-xs);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--color-primary);
	line-height: 1.35;
	letter-spacing: 0.03em;
}

/* --- Shop toolbar --- */
.shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	margin-bottom: var(--space-md);
	padding: var(--space-sm) 0 var(--space-md);
	border-bottom: 1px solid var(--color-border);
}

.shop-toolbar .woocommerce-result-count {
	margin: 0;
	font-size: var(--text-sm);
	color: #666;
}

.shop-toolbar .woocommerce-ordering { margin: 0; }

.shop-toolbar .woocommerce-ordering select {
	min-width: clamp(180px, 16vw, 240px);
	padding: 12px 40px 12px 16px;
	border: 1px solid var(--color-border);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	background: #fff;
	color: var(--color-text);
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232F457B' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

.shop-pagination { margin-top: var(--space-lg); }

/* --- Single product (mebliu.com.ua) --- */
.single-product-main {
	padding: 0 0 var(--space-xl);
}

.single-product-main .breadcrumbs {
	padding-top: clamp(40px, 6vw, 80px);
	padding-bottom: clamp(16px, 2vw, 24px);
	margin-bottom: 0;
	border-bottom: 1px solid var(--color-border);
}

.single-product__hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: start;
	margin-bottom: clamp(48px, 6vw, 80px);
}

.single-product__gallery-col {
	padding-right: clamp(24px, 5vw, 72px);
	border-right: 1px solid var(--color-primary);
}

.single-product__summary-col {
	padding-left: clamp(24px, 5vw, 72px);
}

/* Trust badges row */
.product-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-top: clamp(24px, 3vw, 40px);
	padding-top: clamp(20px, 2.5vw, 32px);
	border-top: 1px solid var(--color-border);
}

.product-trust__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: clamp(12px, 1.5vw, 20px) clamp(8px, 1vw, 16px);
	border-right: 1px solid var(--color-border);
}

.product-trust__item:last-child { border-right: none; }

.product-trust__label {
	font-family: var(--font-heading);
	font-size: clamp(11px, 0.9vw, 13px);
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-primary);
	letter-spacing: 0.06em;
}

.product-trust__value {
	font-size: clamp(11px, 0.85vw, 12px);
	color: #666;
	margin-top: 4px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.single-product__gallery { position: relative; }

.single-product__gallery .onsale,
.single-product__summary .onsale {
	position: absolute;
	top: var(--space-sm);
	left: var(--space-sm);
	z-index: 3;
	background: var(--color-accent);
	color: #fff;
	font-size: var(--text-xs);
	font-weight: 700;
	padding: 6px 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.single-product__summary {
	position: sticky;
	top: calc(var(--header-height) + 20px);
	background: #fff;
	padding: clamp(20px, 2vw, 32px);
	border: 1px solid var(--color-border);
	box-shadow: var(--shadow-soft);
}

.single-product__hero .single-product__summary {
	background: transparent;
	padding: 0;
	border: none;
	box-shadow: none;
}

.single-product__summary .product_title {
	font-size: var(--text-xl);
	margin-bottom: var(--space-sm);
	line-height: 1.2;
	text-transform: none;
	font-weight: 600;
}

.single-product__hero .single-product__summary .product_title {
	font-family: var(--font-heading);
	font-size: clamp(24px, 2.8vw, 38px);
	line-height: 1.21;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: clamp(16px, 2vw, 24px);
}

.single-product__summary .price {
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 700;
	color: var(--color-primary);
	margin-bottom: var(--space-md);
	letter-spacing: -0.02em;
}

.single-product__hero .single-product__summary .price {
	font-family: var(--font-heading);
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 600;
	letter-spacing: 1px;
}

.single-product__summary .price del {
	font-size: var(--text-lg);
	font-weight: 400;
	opacity: 0.45;
	margin-right: 8px;
}

.single-product__summary .price ins { text-decoration: none; }

.single-product__summary .woocommerce-product-details__short-description {
	font-size: var(--text-base);
	line-height: 1.65;
	color: #555;
	margin-bottom: var(--space-md);
	padding-bottom: var(--space-md);
	border-bottom: 1px solid var(--color-border);
}

.single-product__features {
	margin: var(--space-md) 0 0;
	padding: var(--space-md) 0 0;
	border-top: 1px solid var(--color-border);
	display: grid;
	gap: var(--space-xs);
}

.single-product__features li {
	position: relative;
	padding-left: 20px;
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-primary);
}

.single-product__features li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 8px;
	height: 8px;
	background: var(--color-accent);
	border-radius: 50%;
}

/* Gallery */
.woocommerce div.product div.images {
	margin-bottom: 0;
	float: none;
	width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery {
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	overflow: hidden;
}

.single-product__hero .woocommerce div.product div.images .woocommerce-product-gallery {
	border: none;
	background: transparent;
}

.single-product__hero .woocommerce div.product div.images .woocommerce-product-gallery__image {
	background: var(--color-bg-alt);
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
	background: #fff;
	aspect-ratio: 1;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: clamp(12px, 1.5vw, 24px);
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(clamp(56px, 6vw, 88px), 1fr));
	gap: clamp(8px, 0.8vw, 12px);
	margin-top: var(--space-sm);
	padding: 0;
	list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: 100%;
	float: none;
	margin: 0;
	aspect-ratio: 1;
}

.woocommerce div.product div.images .flex-control-thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 2px solid transparent;
	opacity: 0.65;
	cursor: pointer;
	transition: border-color var(--transition), opacity var(--transition);
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
	border-color: var(--color-primary);
	opacity: 1;
}

/* --- Variation picker --- */
.variation-picker {
	margin-bottom: var(--space-md);
	padding: var(--space-md);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
}

.variation-picker__heading {
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-primary);
	margin: 0 0 var(--space-md);
}

.variation-field + .variation-field {
	margin-top: var(--space-md);
	padding-top: var(--space-md);
	border-top: 1px solid var(--color-border);
}

.variation-field__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-sm);
	margin-bottom: var(--space-sm);
}

.variation-field__label {
	font-size: var(--text-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-primary);
	margin: 0;
}

.variation-field__selected {
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-text);
	text-align: right;
}

.variation-field__select--hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.variation-field__options {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(8px, 0.8vw, 12px);
}

/* Color swatches */
.variation-field--color .variation-field__options {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(clamp(72px, 7vw, 96px), 1fr));
	gap: clamp(10px, 1vw, 14px);
}

.variation-swatch {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: clamp(72px, 7vw, 96px);
	padding: 0;
	border: 2px solid var(--color-border);
	background-color: #fff;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	cursor: pointer;
	overflow: hidden;
	transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.variation-swatch:hover {
	border-color: var(--color-primary);
	transform: translateY(-2px);
	box-shadow: var(--shadow-card);
}

.variation-swatch.is-active {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 1px var(--color-primary);
}

.variation-swatch.is-active::after {
	content: '';
	position: absolute;
	top: 8px;
	right: 8px;
	width: 18px;
	height: 18px;
	background: var(--color-primary);
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='%23fff' d='M1 5.2 4.1 8.3 11 1.4' stroke='%23fff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10px;
}

.variation-swatch__name {
	margin-top: auto;
	padding: 6px 4px;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--color-primary);
	background: rgba(255, 255, 255, 0.94);
}

/* Text option pills */
.variation-pill {
	padding: 10px 16px;
	border: 1px solid var(--color-border);
	background: #fff;
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-text);
	cursor: pointer;
	transition: background var(--transition), border-color var(--transition), color var(--transition);
	min-height: 44px;
}

.variation-pill:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.variation-pill.is-active {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #fff;
}

.single-product__summary .reset_variations {
	display: inline-block;
	margin-top: var(--space-sm);
	font-size: var(--text-xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.single-product__summary .reset_variations:hover {
	color: var(--color-primary);
	opacity: 1;
}

.single-product__summary .single_variation_wrap {
	margin-top: var(--space-md);
}

.single-product__summary .woocommerce-variation-price {
	margin-bottom: var(--space-sm);
}

.single-product__summary .single_add_to_cart_button {
	width: 100%;
	padding: 20px 28px;
	font-family: var(--font-body);
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 700;
	background: var(--color-primary);
	color: #fff;
	border: none;
	cursor: pointer;
	transition: background var(--transition), transform var(--transition);
	min-height: 56px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.single-product__summary .single_add_to_cart_button:hover {
	background: #243a66;
	transform: translateY(-1px);
}

.single-product__summary .product_meta {
	margin-top: var(--space-md);
	padding-top: var(--space-sm);
	border-top: 1px solid var(--color-border);
	font-size: var(--text-xs);
	color: #888;
}

.single-product__summary .product_meta > span {
	display: block;
	margin-bottom: 6px;
}

/* Product tabs */
.single-product__details,
.single-product__below { margin-top: var(--space-md); }

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	padding: 0;
	margin: 0 0 var(--space-md);
	border-bottom: 2px solid var(--color-border);
	list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: clamp(12px, 1.2vw, 16px) clamp(18px, 2vw, 28px);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: 600;
	text-transform: uppercase;
	color: #888;
	letter-spacing: 0.06em;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--color-primary);
	box-shadow: inset 0 -2px 0 var(--color-primary);
}

.woocommerce div.product .woocommerce-Tabs-panel {
	padding: var(--space-md) 0;
	font-size: var(--text-base);
	line-height: 1.7;
}

.woocommerce div.product .woocommerce-Tabs-panel h2 { display: none; }

.woocommerce table.shop_attributes {
	border: 1px solid var(--color-border);
	border-collapse: collapse;
	width: 100%;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	padding: clamp(10px, 1vw, 14px) clamp(14px, 1.4vw, 20px);
	border-bottom: 1px solid var(--color-border);
	font-size: var(--text-sm);
}

.woocommerce table.shop_attributes th {
	background: var(--color-bg-alt);
	font-weight: 600;
	width: 38%;
	color: var(--color-primary);
}

/* Related products */
.single-product__details .related.products,
.single-product__below .related.products {
	margin-top: var(--space-xl);
	padding-top: var(--space-lg);
	border-top: 1px solid var(--color-border);
}

.single-product__details .related.products > h2,
.single-product__below .related.products > h2 {
	font-size: var(--text-2xl);
	text-align: center;
	margin-bottom: var(--space-lg);
}

.single-product__details .related.products ul.products,
.single-product__below .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(var(--product-col-min), 1fr));
	gap: clamp(20px, 2vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product__details .related.products ul.products::before,
.single-product__details .related.products ul.products::after,
.single-product__below .related.products ul.products::before,
.single-product__below .related.products ul.products::after { display: none; }

.single-product__details .related.products ul.products li.product,
.single-product__below .related.products ul.products li.product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* --- Cart / Checkout --- */
.wc-main { padding: var(--space-lg) 0 var(--space-xl); }

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	border: 1px solid var(--color-border);
	border-collapse: collapse;
	width: 100%;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	padding: clamp(12px, 1.2vw, 16px);
	border-bottom: 1px solid var(--color-border);
	font-size: var(--text-sm);
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th {
	background: var(--color-bg-alt);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--text-xs);
	letter-spacing: 0.05em;
	color: var(--color-primary);
}

.woocommerce .cart_totals,
.woocommerce .checkout_coupon,
.woocommerce form.checkout {
	background: var(--color-bg-alt);
	padding: clamp(20px, 2vw, 32px);
	border: 1px solid var(--color-border);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 12px 14px;
	border: 1px solid var(--color-border);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	width: 100%;
}

.woocommerce #place_order,
.woocommerce .checkout-button,
.woocommerce button.button.alt {
	background: var(--color-primary) !important;
	color: #fff !important;
	padding: 16px 28px !important;
	font-weight: 700 !important;
	border-radius: var(--radius-sm) !important;
	min-height: 52px !important;
}

/* --- Shop catalog (mebliu.com.ua) --- */
.shop-main--mebliu {
	padding: clamp(24px, 3vw, 40px) 0 clamp(60px, 8vw, 100px);
}

.shop-main--mebliu .breadcrumbs {
	margin-bottom: clamp(20px, 2.5vw, 32px);
}

.shop-header {
	margin-bottom: clamp(28px, 3.5vw, 48px);
}

.shop-header__title {
	font-family: var(--font-heading);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-primary);
	margin-bottom: clamp(12px, 1.5vw, 20px);
}

.shop-header__desc {
	font-size: var(--text-base);
	line-height: 1.6;
	color: #555;
	max-width: 720px;
	margin: 0;
}

.shop-header__banner {
	margin-bottom: clamp(28px, 3.5vw, 48px);
	overflow: hidden;
}

.shop-header__banner img {
	width: 100%;
	max-height: 320px;
	object-fit: cover;
}

.shop-toolbar--mebliu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	margin-bottom: clamp(28px, 3.5vw, 40px);
	padding: clamp(16px, 2vw, 24px) 0;
	border-bottom: 1px solid var(--color-primary);
}

.shop-toolbar--mebliu .woocommerce-result-count {
	margin: 0;
	font-size: var(--text-sm);
	color: #666;
}

.shop-toolbar--mebliu .woocommerce-ordering { margin: 0; }

.shop-toolbar--mebliu .woocommerce-ordering select {
	min-width: clamp(200px, 18vw, 280px);
	padding: 12px 0;
	border: none;
	border-bottom: 1px solid var(--color-primary);
	font-family: var(--font-body);
	font-size: clamp(14px, 1.1vw, 18px);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	appearance: none;
	border-radius: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232F457B' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 4px center;
}

.products-grid--shop {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.products-grid--shop::before,
.products-grid--shop::after { display: none; }

.products-grid--shop > .product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.shop-pagination {
	margin-top: clamp(60px, 8vw, 100px);
}

.shop-pagination .woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	border: none;
}

.shop-pagination .woocommerce-pagination ul li {
	border: none;
}

.shop-pagination .woocommerce-pagination ul li a,
.shop-pagination .woocommerce-pagination ul li span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--color-border);
	font-weight: 600;
	color: var(--color-primary);
}

.shop-pagination .woocommerce-pagination ul li span.current,
.shop-pagination .woocommerce-pagination ul li a:hover {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

/* Characteristics grid (attributes tab) */
.woocommerce table.shop_attributes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid var(--color-primary);
}

.woocommerce table.shop_attributes tbody,
.woocommerce table.shop_attributes tr {
	display: contents;
}

.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td {
	border: 1px solid var(--color-primary);
}

.single-product__details .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

/* --- Pages --- */
.entry-content { font-size: var(--text-base); line-height: 1.7; }
.contacts-page { padding: var(--space-lg) 0 var(--space-xl); }
.contacts-info,
.contacts-form {
	padding: clamp(24px, 2.5vw, 36px);
	border: 1px solid var(--color-border);
}
.contacts-info { background: var(--color-bg-alt); }
.contacts-form { background: #fff; box-shadow: var(--shadow-soft); }

.collection-single { padding: var(--space-lg) 0 var(--space-xl); }
.collection-header {
	padding: clamp(24px, 2.5vw, 40px);
	border: 1px solid var(--color-border);
	background: var(--color-bg-alt);
}

.posts-list { display: grid; gap: var(--space-md); }

/* --- Responsive --- */
@media (max-width: 1100px) {
	.single-product__hero { grid-template-columns: 1fr; }
	.single-product__gallery-col {
		padding-right: 0;
		border-right: none;
		padding-bottom: clamp(24px, 3vw, 40px);
		border-bottom: 1px solid var(--color-border);
	}
	.single-product__summary-col { padding-left: 0; }
	.single-product__summary { position: static; }
	.products-grid--shop { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	.single-product__details .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 992px) {
	.shop-layout { grid-template-columns: 1fr; }
	.shop-sidebar { position: static; display: none; }
	.shop-sidebar.is-open { display: block; }
	.shop-sidebar-toggle { display: flex; }
	.woocommerce table.shop_attributes { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
	.products-grid--shop { grid-template-columns: 1fr; }
	.single-product__details .related.products ul.products { grid-template-columns: 1fr; }
	.product-trust { grid-template-columns: 1fr; }
	.product-trust__item { border-right: none; border-bottom: 1px solid var(--color-border); }
	.product-trust__item:last-child { border-bottom: none; }
	.variation-field--color .variation-field__options {
		grid-template-columns: repeat(3, 1fr);
	}

	.single-product__summary { padding: var(--space-md); }
}
