/* Native WooCommerce markup and behavior retained. */
.vestige-commerce{min-width:0}
.woocommerce .woocommerce-breadcrumb{font-size:.75rem;color:var(--v-text-secondary);margin-bottom:var(--v-primitives-spacing-12)}
.woocommerce-products-header{padding-block:var(--v-primitives-spacing-8);margin-bottom:var(--v-primitives-spacing-12)}
.woocommerce-products-header h1{font:400 var(--vestige-text-title)/1.05 var(--vestige-font-editorial);letter-spacing:-.03em;margin:0 0 var(--v-primitives-spacing-6)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:.75rem;margin-bottom:var(--v-primitives-spacing-8)}
.v-filters{clear:both;display:flex;align-items:end;gap:var(--v-primitives-spacing-6);padding-block:var(--v-primitives-spacing-6);border-block:1px solid var(--vestige-border);margin-bottom:var(--v-primitives-spacing-8);font-size:.75rem}
.v-filters label{display:grid;gap:.5rem;min-width:8rem}
.v-filters input{width:8rem}
.v-filters select,.v-filters input,.v-filters button,.woocommerce select{background:var(--vestige-background);color:var(--vestige-text);border:1px solid var(--vestige-border);padding:.75rem;border-radius:0}
.woocommerce ul.products,.v-home ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--v-primitives-spacing-8);padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after,.v-home ul.products::before,.v-home ul.products::after{display:none}
.woocommerce ul.products li.product,.v-home ul.products li.product{float:none;width:auto!important;margin:0 0 var(--v-primitives-spacing-8);position:relative}
.woocommerce ul.products li.product a img,.v-home ul.products li.product a img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--v-background-subtle);margin:0 0 var(--v-primitives-spacing-4)}
.woocommerce ul.products li.product a,.v-home ul.products li.product a{text-decoration:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.v-home ul.products li.product .woocommerce-loop-product__title{font:400 .875rem/1.4 var(--vestige-font-body);padding:.25rem 0}
.v-product-brand{font:500 .75rem/1.4 var(--vestige-font-body);letter-spacing:.04em;text-transform:uppercase;margin:.5rem 0}
.woocommerce ul.products li.product .price,.v-home ul.products li.product .price{color:var(--vestige-text);font-size:.875rem;font-weight:500;display:block}
.woocommerce ul.products li.product .button,.v-home ul.products li.product .button{display:inline-block;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:.4rem 0;font-size:.75rem;font-weight:400;border-radius:0;margin-top:.5rem}
.woocommerce span.onsale{min-height:0;min-width:0;border-radius:0;padding:.4rem .7rem;background:var(--v-component-badge-sale-bg);color:var(--v-component-badge-sale-text);line-height:1.4;font-size:.75rem}
.woocommerce div.product div.images{width:52%}
.woocommerce div.product div.summary{width:42%;padding-block:var(--v-primitives-spacing-6)}
.woocommerce div.product .product_title{font:400 clamp(2.5rem,3.4vw,4rem)/1.1 var(--vestige-font-editorial);letter-spacing:-.03em;margin:var(--v-primitives-spacing-4) 0 var(--v-primitives-spacing-6)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--vestige-text);font-size:1.25rem}
.woocommerce div.product form.cart{margin-block:var(--v-primitives-spacing-8);display:flex;flex-wrap:wrap;gap:var(--v-primitives-spacing-4)}
.woocommerce div.product form.variations_form{display:block}
.woocommerce div.product form.cart .variations select{min-height:3rem;width:100%;margin-bottom:1rem}
.woocommerce div.product form.cart .variations label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{padding:.5rem 0;text-align:left}
.woocommerce .quantity .qty{height:3rem;border:1px solid var(--vestige-border);background:var(--vestige-background);color:inherit}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{border-radius:0;background:var(--v-text-primary);color:var(--v-background-canvas);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;padding:1.1rem 1.5rem;line-height:1.4}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--v-text-primary);color:var(--v-background-canvas)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover{background:var(--v-text-secondary);color:var(--v-background-canvas)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 1.5rem 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent;color:var(--vestige-text);border-bottom:1px solid currentColor}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:500;color:var(--v-text-secondary);font-size:.875rem}
.woocommerce div.product .woocommerce-tabs .panel{max-width:56rem;padding-block:var(--v-primitives-spacing-8)}
.woocommerce div.product .woocommerce-tabs .panel h2,.woocommerce .related h2,.woocommerce .upsells h2{font:400 2.5rem/1.15 var(--vestige-font-editorial)}
.woocommerce .related{clear:both;padding-top:var(--v-primitives-spacing-16)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--v-background-subtle);color:var(--vestige-text);border-top:1px solid var(--vestige-border)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:1rem;border:1px solid var(--vestige-border);background:var(--vestige-background);color:var(--vestige-text);border-radius:0}
.woocommerce form .form-row label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.woocommerce form.login,.woocommerce form.register,.woocommerce table.shop_table{border-radius:0;border-color:var(--vestige-border)}
.woocommerce-account .woocommerce{max-width:80rem;margin-inline:auto}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--v-primitives-spacing-24)}
.woocommerce-account .u-columns .u-column1,.woocommerce-account .u-columns .u-column2{width:auto;float:none}
.woocommerce-account h2{font:400 3rem/1.15 var(--vestige-font-editorial)}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:.75rem 0}
.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{border-color:var(--vestige-border)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{padding:1rem;background:transparent;color:inherit}
@media(max-width:64rem){.v-filters{flex-wrap:wrap}.woocommerce ul.products,.v-home ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%}.woocommerce-account .u-columns{grid-template-columns:1fr;gap:2rem}}
@media(max-width:30rem){.woocommerce ul.products,.v-home ul.products{gap:1rem}}

/* Compact reference archive: typography and controls are independent of
   catalogue population. Unavailable taxonomy selectors remain disabled. */
body.post-type-archive-product .vestige-commerce,
body.tax-product_cat .vestige-commerce,
body.tax-product_brand .vestige-commerce{padding-top:.5rem}
.v-archive-season{font:400 .625rem/1.5 var(--vestige-font-body);letter-spacing:.18em;color:var(--v-text-secondary);margin:0 0 1rem}
.woocommerce-products-header{padding:0;margin:0}
.woocommerce-products-header h1{font:400 3.75rem/1 var(--vestige-font-editorial);letter-spacing:-.025em;margin:0 0 1rem}
.v-archive-count{font:400 .8125rem/1.5 var(--vestige-font-body);color:var(--v-text-secondary);margin:0 0 2.5rem}
.v-filters{display:grid;grid-template-columns:2fr 2fr 1.3fr 1.3fr 1.7fr auto;align-items:center;gap:1rem 1.5rem;padding:1.5rem 0;margin:0 0 3.75rem;font-size:.6875rem}
.v-filters label{display:flex;align-items:center;gap:.75rem;min-width:0}
.v-filters label>span,.v-filter-price>span{color:var(--v-text-secondary);text-transform:uppercase;white-space:nowrap}
.v-filters select,.v-filters input[type=number]{min-width:0;width:100%;padding:.375rem 0;border:0;border-bottom:1px solid var(--vestige-border);background:transparent;font:400 .6875rem/1.5 var(--vestige-font-body);color:var(--vestige-text)}
.v-filters select{text-transform:uppercase}
.v-filters select:disabled{opacity:.6}
.v-filter-price{display:flex;align-items:center;gap:.625rem;margin:0;padding:0;border:0;min-width:0}
.v-filters .v-filter-sale input{width:1rem;height:1rem;margin:0;accent-color:var(--vestige-text)}
.v-filters .v-filter-sort{grid-column:5 / 7;justify-self:end;width:16rem}
.v-filters .v-filter-submit{font-size:.6875rem;padding:.4rem 0;border:0;border-bottom:1px solid var(--vestige-border);justify-self:start;background:transparent;color:var(--vestige-text)}
.v-filters[data-enhanced] .v-filter-submit{display:none}
.woocommerce .woocommerce-no-products-found .woocommerce-info{padding:1.5rem 0;background:transparent;border:0;font-size:.8125rem}
.woocommerce .woocommerce-no-products-found .woocommerce-info::before{display:none}
@media(max-width:64rem){.v-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.v-filters .v-filter-sort{grid-column:auto;width:auto;justify-self:stretch}}
@media(max-width:40rem){.woocommerce-products-header h1{font-size:2.25rem}.v-filters{grid-template-columns:1fr}.v-filters .v-filter-sort{grid-column:auto}}

/* Product and account typography, separate from editorial headings. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,.v-home ul.products li.product .woocommerce-loop-product__title{font-size:.8125rem;line-height:1.5}
.v-product-brand{font-size:.6875rem;line-height:1.5;font-weight:400;letter-spacing:.18em}
.woocommerce ul.products li.product .price,.v-home ul.products li.product .price{font-size:.8125rem;font-weight:400}
.woocommerce div.product .product_title{font-size:2.25rem;line-height:1.111111;letter-spacing:-.025em}
.woocommerce .related h2,.woocommerce .upsells h2{font-size:1.875rem;line-height:1.2}
.woocommerce-account h2{font-size:1.5rem;line-height:2rem;font-weight:400}
.woocommerce-account form.login,.woocommerce-account form.register{max-width:31rem;border:0;padding:0}
.woocommerce-account form .form-row input.input-text{border:0;border-bottom:1px solid var(--vestige-border);padding:.75rem 0;font-size:.8125rem}
.woocommerce-account form .form-row label{font-size:.625rem;letter-spacing:.18em}
