.catalog-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 36px; align-items: start; }
.catalog-filters { position: sticky; top: calc(var(--header) + 16px); }
.catalog-filters fieldset { border: 0; margin: 0 0 22px; padding: 0; }
.catalog-filters legend { font-family: var(--display); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px; }
.catalog-filters select, .catalog-filters input[type="number"], .sort-form select {
	background: transparent; border: 0; border-bottom: 1px solid var(--line); height: 44px; width: 100%; margin-bottom: 10px;
}
.check { display: flex; gap: 10px; align-items: center; min-height: 36px; cursor: pointer; }
.check input[type="checkbox"] { width: 16px; height: 16px; margin: 0; flex: 0 0 auto; accent-color: var(--blue); }
.check small { margin-left: auto; color: var(--muted); }
.price-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.filters-head, .filters-close, .filter-backdrop, .sort-submit { display: none; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 18px; padding: 0; }
.filter-chips a { display: inline-flex; gap: 8px; text-decoration: none; border: 1px solid var(--line); padding: 6px 10px; font-size: 13px; }
.filter-reset { margin-top: 12px; }
.catalog-toolbar { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.sort-form { min-width: 220px; }

ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
.tire-card {
	background: #10151b; border: 1px solid rgba(255,255,255,0.08);
	display: flex; flex-direction: column; min-height: 0;
}
.product-media {
	position: relative; display: grid; place-items: center; min-height: 210px; aspect-ratio: 1.05;
	background: radial-gradient(circle at 50% 42%, #2a3340, #0b0e13 72%);
	overflow: hidden; text-decoration: none;
}
.product-media img, .tire-svg--card { width: 88%; height: 88%; object-fit: contain; transition: transform 0.5s ease; }
.tire-card:hover .product-media img { transform: scale(1.05); }
.media-note {
	position: absolute; left: 8px; bottom: 8px;
	font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
	background: rgba(0,0,0,0.55); padding: 3px 6px; color: #d5dbe3;
}
.onsale { position: absolute; top: 8px; left: 8px; background: var(--blue); color: #fff; padding: 3px 6px; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; }
.tire-card__body { padding: 14px 14px 12px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tire-card .eyebrow { margin: 0; font-size: 11px; letter-spacing: 0.16em; }
.woocommerce-loop-product__title { font-size: 26px; text-transform: uppercase; margin: 0; line-height: 0.95; }
.woocommerce-loop-product__title a { text-decoration: none; }
.tire-card__size, .tire-card__spec, .stock { color: var(--muted); font-size: 13px; margin: 0; }
.tire-card__buy { margin-top: auto; display: flex; justify-content: space-between; gap: 10px; align-items: flex-end; }
.tire-card .button { width: auto; }
.tire-card a.button.button--cart,
.button--cart {
	width: 100%; height: 44px; min-height: 44px; padding: 0 12px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 12px; line-height: 1; letter-spacing: 0.08em;
}
.tire-card__buy { align-items: stretch; flex-direction: column; }
.tire-card .price, .summary .price, .woocommerce-Price-amount { font-variant-numeric: lining-nums; }
.tire-card .price, .summary .price { color: var(--ds-ink); font-family: var(--ds-font-display); font-size: var(--ds-size-price); letter-spacing: var(--ds-track-display); margin: 0; }
.tire-card .price del, .summary .price del { color: var(--muted); font-size: 0.7em; margin-right: 8px; }
.eu-chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.eu-chips li { border: 1px solid var(--line); padding: 4px 6px; font-size: 12px; color: var(--muted); }
.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--ds-blue); color: var(--ds-on-blue); border: 0; border-radius: var(--ds-radius);
	min-height: var(--ds-button); padding: 0 16px; letter-spacing: var(--ds-track-button);
	text-transform: uppercase; font-size: var(--ds-size-button); font-weight: 700;
	transition: background var(--ds-duration) var(--ds-ease), color var(--ds-duration) var(--ds-ease), border-color var(--ds-duration) var(--ds-ease);
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover { background: var(--ds-blue-hover); color: var(--ds-on-blue); }
.button:active, .woocommerce a.button:active, .woocommerce button.button:active { background: var(--ds-blue-active); }
.button:disabled, .button.disabled, .woocommerce button.button:disabled, .woocommerce input.button:disabled {
	background: var(--ds-surface); color: var(--ds-muted); cursor: not-allowed; transform: none;
}
.button.loading, .woocommerce a.button.loading, .woocommerce button.button.loading { opacity: 0.72; cursor: progress; }
.added_to_cart { display: inline-block; margin-top: 8px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }

.tn-product__top { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); gap: 48px; align-items: start; }
.woocommerce-product-gallery, .tn-gallery-fallback { width: 100% !important; background: #0b0e12; border: 0; }
.tn-gallery-fallback { min-height: 520px; display: grid; place-items: center; position: relative; }
.tire-svg--single, .tire-photo--single { width: min(520px, 86%); height: auto; object-fit: contain; }
.tn-gallery-fallback .media-note { left: 16px; bottom: 16px; }
.woocommerce-product-gallery img { width: 100%; height: auto; }
.flex-control-thumbs { display: flex; gap: 8px; list-style: none; padding: 8px; margin: 0; }
.flex-control-thumbs li { width: 72px; }
.product-heading .product_title { font-size: clamp(3rem, 5vw, 4.8rem); text-transform: uppercase; }
.product-size { color: var(--muted); letter-spacing: 0.08em; text-transform: uppercase; }
.summary .price { font-size: 48px; }
.tax-note, .delivery-note { color: var(--muted); font-size: 14px; }
form.cart { display: flex; gap: 12px; align-items: center; margin: 18px 0; }
.quantity .qty { width: 76px; height: 52px; background: #101318; color: #fff; border: 1px solid var(--line); text-align: center; }
.tech-panel, .product-description, .related.products, .upsells.products { margin-top: 56px; }
.tech-table { width: 100%; border-collapse: collapse; }
.tech-table th, .tech-table td { border-bottom: 1px solid var(--line); padding: 14px 0; text-align: left; vertical-align: top; }
.tech-table th { width: 42%; color: var(--muted); font-weight: 500; }
.related.products h2, .upsells h2 { font-size: clamp(2rem, 4vw, 3.2rem); text-transform: uppercase; margin-bottom: 18px; }

.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: #101318; border: 1px solid var(--line); border-left: 3px solid var(--blue);
	color: var(--text); padding: 14px 16px; list-style: none; margin: 0 0 18px;
}
.woocommerce-error { border-left-color: #ff6b6b; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; background: transparent; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td {
	border-bottom: 1px solid var(--line); padding: 16px 8px; text-align: left; background: transparent; color: var(--text);
}
.woocommerce table.shop_table img, .tire-svg--cart { width: 84px; height: auto; display: block; }
.cart_totals, .woocommerce-checkout-review-order, #order_review, .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation {
	background: #101318; border: 1px solid var(--line); padding: 18px;
}
.cart-collaterals { display: grid; grid-template-columns: 1fr minmax(280px, 380px); gap: 24px; margin-top: 24px; }
.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; color: var(--ds-muted); font-size: var(--ds-size-label); font-weight: 600; line-height: var(--ds-leading-label); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	width: 100%; background: var(--ds-bg-deep); color: var(--ds-ink); border: 1px solid var(--ds-line); border-radius: var(--ds-radius); min-height: var(--ds-control); padding: 0 14px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--ds-blue);
	outline: none;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ds-ink); line-height: var(--ds-control); }
.select2-dropdown { background: #14181e; color: #fff; border-color: var(--line); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--blue); }
#payment, .woocommerce-checkout #payment { background: #101318; }
#payment .payment_box { background: #0c0e12; color: var(--text); }
.woocommerce-checkout #place_order { width: 100%; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 0; text-decoration: none; border-bottom: 1px solid var(--line); }
.woocommerce-MyAccount-navigation .is-active a { color: var(--blue); }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; }
.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout {
	background: transparent; color: var(--text);
}
.wc-block-components-text-input input, .wc-block-components-select select {
	background: #0c0e12; color: #fff; border-color: var(--line);
}

@media (max-width: 900px) {
	.catalog-layout, .tn-product__top, .cart-collaterals, .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.catalog-filters {
		position: fixed; z-index: 80; inset: 0 auto 0 0; width: min(420px, 100%);
		background: #0c0f14; padding: 20px; overflow: auto;
		transform: translateX(-105%);
	}
	.catalog-filters.is-open { transform: none; }
	.filters-head { display: flex; justify-content: space-between; align-items: center; }
	.filters-close { display: inline-flex; background: none; border: 0; color: #fff; min-height: 44px; }
	.filter-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 70; }
	body.filters-open { overflow: hidden; }
	.filter-open { display: inline-flex; }
}
@media (min-width: 901px) {
	.filter-open { display: none; }
}
.brand-logo {
	display: block;
	width: auto;
	max-width: 148px;
	height: 22px;
	object-fit: contain;
	object-position: left center;
	background: transparent;
}
.brand-logo--continental { object-view-box: inset(18% 5% 18% 5%); }
.brand-logo--goodyear { object-view-box: inset(43% 13% 42% 13%); }
.brand-logo--pirelli { object-view-box: inset(36% 4% 36% 4%); max-width: 120px; }
.brand-logo--text {
	color: var(--ds-blue);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}
.brand-logo--single { height: 34px; max-width: 190px; }
.brand-logo--cart { height: 18px; max-width: 120px; }

@media (prefers-reduced-motion: reduce) {
	.product-media img { transition: none; }
}
