/* Keep native Woo templates, notices and behavior; customize presentation only. */
.woocommerce .woocommerce-breadcrumb { font-size: .75rem; color: var(--vh-muted); margin-bottom: 32px; }
.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.woocommerce-products-header { margin: 24px auto 48px; text-align: center; max-width: 760px; }
.woocommerce-products-header h1 { margin: 0 0 24px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom: 32px; font-size: .875rem; }
.woocommerce .woocommerce-ordering select { padding-right: 28px; }
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; clear: both; margin: 0 0 48px; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after, .woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; min-width: 0; }
.woocommerce ul.products li.product a img { width: 100%; height: auto; display: block; margin-bottom: 20px; background: #f0ece5; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 { font-family: var(--wp--preset--font-family--body, system-ui, sans-serif); font-size: .875rem; font-weight: 400; line-height: 1.5; padding: 0; margin-bottom: 8px; }
.woocommerce ul.products li.product .price { color: var(--vh-muted); font-size: .875rem; }
.woocommerce ul.products li.product .button { margin-top: 12px; }
.woocommerce span.onsale { border-radius: 0; min-height: auto; min-width: auto; padding: 6px 12px; background: var(--vh-ink); color: #fff; font-size: .7rem; line-height: 1.4; font-weight: 500; }
.woocommerce ul.products li.product .onsale { top: 12px; right: 12px; margin: 0; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { border: 1px solid var(--vh-ink); border-radius: 0; padding: 14px 22px; min-height: 48px; background: var(--vh-ink); color: #fff; font-family: var(--wp--preset--font-family--body, system-ui, sans-serif); font-size: .875rem; font-weight: 500; line-height: 1.4; text-align: center; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--vh-ink); color: #fff; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--vh-accent); border-color: var(--vh-accent); color: #fff; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled], .woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled { opacity: .55; padding: 14px 22px; background: var(--vh-ink); color: #fff; cursor: not-allowed; }
.woocommerce .quantity .qty { min-width: 76px; width: 76px; padding: 10px 6px; min-height: 48px; }
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images { width: 54%; }
.woocommerce div.product div.summary { width: 42%; }
.woocommerce div.product .product_title { font-size: clamp(2rem, 3vw, 3rem); margin: 0 0 24px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--vh-ink); font-size: 1.25rem; }
.woocommerce div.product form.cart { margin-top: 32px; }
.woocommerce div.product form.cart .variations th { text-align: start; }
.woocommerce div.product form.cart .variations label { font-weight: 500; font-size: .875rem; }
.woocommerce div.product form.cart .variations select { width: 100%; margin: 0; }
.woocommerce div.product .product_meta { border-top: 1px solid var(--vh-line); padding-top: 24px; font-size: .8rem; color: var(--vh-muted); }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: 8px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; margin: 0 24px 0 0; padding: 0; background: transparent; }
.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 a { padding: 16px 0; font-weight: 500; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: transparent; border-bottom: 2px solid var(--vh-ink); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; }
.woocommerce .related { clear: both; padding-top: 48px; }
.woocommerce .related > h2 { margin-bottom: 32px; }
.woocommerce table.shop_table { border-radius: 0; border-color: var(--vh-line); border-collapse: collapse; }
.woocommerce table.shop_table th { font-weight: 500; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 16px; }
.woocommerce form .form-row label { line-height: 1.8; margin-bottom: 6px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { border: 1px solid var(--vh-line); min-height: 48px; }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #a12828; }
.woocommerce #payment { background: #f0ece5; border-radius: 0; }
.woocommerce #payment ul.payment_methods { border-color: var(--vh-line); }
.woocommerce .woocommerce-info, .woocommerce .woocommerce-message, .woocommerce .woocommerce-error { background: #fff; color: var(--vh-ink); }
.woocommerce .woocommerce-info { border-top-color: var(--vh-accent); }
.woocommerce .woocommerce-info::before { color: var(--vh-accent); }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; padding: 14px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--vh-ink); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { font-weight: 600; }
/* Only outer layout is styled for Blocks. Payment extension internals are untouched. */
.page-shell .entry-content > .woocommerce, .page-shell .entry-content > .wp-block-woocommerce-cart, .page-shell .entry-content > .wp-block-woocommerce-checkout { max-width: var(--vh-wide); }
.wc-block-components-button.wp-element-button { min-height: 48px; border-radius: 0; }
@media (min-width: 768px) and (max-width: 1023px) {
 .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
 .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
 .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; width: 100%; margin-bottom: 16px; }
 .woocommerce .woocommerce-ordering select { width: 100%; }
 .woocommerce ul.products li.product .button { padding: 12px; width: 100%; }
 .woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: 100%; }
 .woocommerce div.product form.cart .single_add_to_cart_button { width: calc(100% - 88px); }
 .woocommerce div.product form.cart.grouped_form .single_add_to_cart_button { width: 100%; }
 .woocommerce div.product .woocommerce-tabs ul.tabs li { margin-right: 16px; }
 .woocommerce div.product .woocommerce-tabs { padding-top: 24px; }
 .woocommerce table.shop_table td, .woocommerce table.shop_table th { padding: 12px; }
 .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; }
 .woocommerce table.cart td.actions .coupon .input-text { width: 50%; min-width: 0; }
 .woocommerce table.cart td.actions .coupon .button { width: 50%; padding-inline: 8px; }
 .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
}

/* 0.9.0 commerce: native Woo data/forms, warm rounded storefront. */
.shop-shell { max-width:1368px; margin:auto; padding:32px 32px 80px; }
.woocommerce .woocommerce-products-header h1 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.035em; font-size:clamp(36px,5vw,64px); }
.catalog-filters { clear:both; margin:0 0 28px; border:1px solid #ddd5cb; background:#fffdfa; border-radius:20px; overflow:hidden; }
.catalog-filters > summary { cursor:pointer; display:flex; justify-content:space-between; padding:20px 24px; font-weight:600; list-style:none; }
.catalog-filters > summary::-webkit-details-marker { display:none; }
.catalog-filters > summary span { font-size:22px; transition:rotate .25s; }
.catalog-filters[open] > summary span { rotate:45deg; }
.catalog-filter-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:0 24px 24px; }
.catalog-filter-form label { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:500; }
.catalog-filter-form :is(select,input[type=number]) { width:100%; min-width:0; min-height:46px; border:1px solid #d8cfc3; background:#fffdfa; color:#24211e; border-radius:10px; padding:10px; }
.catalog-filter-form .filter-check { flex-direction:row; align-items:center; min-height:44px; }
.filter-check input { width:18px; height:18px; accent-color:#39312b; }
.filter-actions { grid-column:1/-1; display:flex; align-items:center; gap:24px; }
.filter-actions button { border:0; background:#39312b; color:#fffdfa; padding:14px 24px; border-radius:30px; cursor:pointer; min-height:48px; }
.filter-actions a { font-size:13px; text-underline-offset:4px; }
.shop-shell .woocommerce-ordering select { border-radius:24px; border:1px solid #d8cfc3; background:#fffdfa; min-height:44px; padding:10px 36px 10px 18px; max-width:100%; }
.woocommerce .shop-shell ul.products { gap:28px 20px; }
.woocommerce .shop-shell ul.products li.product { background:#fffdfa; border:1px solid #ebe5dd; border-radius:22px; padding:10px 10px 18px; overflow:hidden; transition:translate .35s,box-shadow .35s; }
.woocommerce .shop-shell ul.products li.product a img { border-radius:15px; aspect-ratio:1; object-fit:cover; margin-bottom:16px; }
.woocommerce .shop-shell ul.products li.product .woocommerce-loop-product__title { padding-inline:6px; font-weight:500; }
.woocommerce .shop-shell ul.products li.product .price { padding-inline:6px; color:#39312b; font-weight:600; }
.woocommerce .shop-shell ul.products li.product .button { display:block; border-radius:30px; margin-top:16px; font-size:12px; padding:12px 14px; }
.woocommerce .shop-shell span.onsale { border-radius:20px; z-index:2; }
.woocommerce .shop-shell ul.products li.product .onsale { right:18px; top:18px; }
.woocommerce .shop-shell nav.woocommerce-pagination ul li :is(a,span) { border-radius:50%; }
.catalog-empty { text-align:center; background:#eae5de; border-radius:24px; padding:56px 24px; margin-block:24px; }
.catalog-empty h2 { font:400 clamp(28px,4vw,42px) Georgia,serif; }
.catalog-empty .button { border-radius:28px; margin-top:12px; }
.woocommerce .shop-shell div.product div.images { width:55%; }
.woocommerce .shop-shell div.product div.summary { width:40%; padding-top:8px; }
.woocommerce .shop-shell div.product .woocommerce-product-gallery__wrapper { border-radius:24px; overflow:hidden; background:#ebe6df; }
.woocommerce .shop-shell div.product .flex-control-thumbs { display:flex; gap:12px; margin-top:14px; overflow:auto; }
.woocommerce .shop-shell div.product .flex-control-thumbs li { flex:0 0 80px; width:80px; border-radius:12px; overflow:hidden; }
.woocommerce .shop-shell div.product .flex-control-thumbs img { border:2px solid transparent; border-radius:12px; }
.woocommerce .shop-shell div.product .flex-control-thumbs img.flex-active { border-color:#695746; }
.woocommerce .shop-shell div.product .product_title { font:400 clamp(30px,3.4vw,48px)/1.15 Georgia,serif; letter-spacing:-.025em; margin-bottom:20px; }
.woocommerce .shop-shell div.product p.price { font-size:24px; }
.woocommerce .shop-shell div.product .woocommerce-product-details__short-description { font-size:14px; line-height:1.8; color:#675e55; }
.woocommerce .shop-shell div.product form.cart .variations { margin-bottom:20px; }
.woocommerce .shop-shell div.product form.cart .variations :is(th,td) { display:block; width:100%; padding:0 0 9px; }
.woocommerce .shop-shell div.product form.cart .variations select { min-height:48px; border:1px solid #cfc5b9; background:#fffdfa; border-radius:12px; padding:12px; color:#24211e; }
.woocommerce .shop-shell div.product .reset_variations { font-size:12px; text-underline-offset:4px; }
.woocommerce .shop-shell div.product form.cart .quantity .qty { border:1px solid #cfc5b9; border-radius:12px; min-height:52px; }
.woocommerce .shop-shell div.product form.cart .single_add_to_cart_button { border-radius:30px; min-height:52px; width:calc(100% - 88px); }
.woocommerce .shop-shell div.product .stock { font-size:13px; }
.woocommerce .shop-shell div.product .stock.out-of-stock { color:#a02d24; }
.product-size-guide { border-block:1px solid #d8cfc3; margin:24px 0; }
.product-size-guide summary { cursor:pointer; padding:16px 0; font-size:14px; font-weight:600; }
.product-size-guide > div { overflow:auto; padding:0 0 18px; font-size:13px; }
.product-size-guide table { width:100%; border-collapse:collapse; }
.product-size-guide :is(th,td) { padding:10px; border:1px solid #d8cfc3; text-align:left; }
.shop-shell :is(a,button,select,input,summary):focus-visible { outline:2px solid #8c7560; outline-offset:4px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .woocommerce .shop-shell ul.products li.product:hover { translate:0 -5px; box-shadow:0 12px 24px #39312b12; }
}
@media(max-width:1023px) { .catalog-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .shop-shell { padding:22px 16px 48px; }
 .woocommerce-products-header { margin:16px auto 28px; }
 .catalog-filters > summary { padding:16px; }
 .catalog-filter-form { padding:0 16px 20px; gap:16px 12px; }
 .woocommerce .shop-shell ul.products { gap:20px 12px; }
 .woocommerce .shop-shell ul.products li.product { border-radius:17px; padding:6px 6px 14px; }
 .woocommerce .shop-shell ul.products li.product .woocommerce-loop-product__title { font-size:12px; }
 .woocommerce .shop-shell div.product div.images,.woocommerce .shop-shell div.product div.summary { width:100%; float:none; }
 .woocommerce .shop-shell div.product div.summary { margin-top:26px; }
 .woocommerce .shop-shell div.product .flex-control-thumbs li { flex-basis:64px; }
 .woocommerce .shop-shell div.product .woocommerce-product-gallery__wrapper { border-radius:18px; }
}

/* Product reference layout: vertical gallery, compact option buttons and real commerce. */
.single-product .shop-shell { max-width:1520px; }
.woocommerce .shop-shell div.product div.images { width:49%; display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; align-items:start; }
.woocommerce .shop-shell div.product div.images > .flex-viewport { grid-column:2; grid-row:1; width:100%; border-radius:14px; }
.woocommerce .shop-shell div.product div.images > .woocommerce-product-gallery__wrapper { grid-column:2; }
.woocommerce .shop-shell div.product div.images .woocommerce-product-gallery__wrapper { border-radius:14px; }
.woocommerce .shop-shell div.product .flex-control-thumbs { grid-column:1; grid-row:1; flex-direction:column; gap:9px; margin:0; max-height:650px; scrollbar-width:thin; }
.woocommerce .shop-shell div.product .flex-control-thumbs li { flex:0 0 auto; width:100%; border-radius:8px; }
.woocommerce .shop-shell div.product .flex-control-thumbs img { aspect-ratio:1; object-fit:cover; border-radius:8px; }
.woocommerce .shop-shell div.product div.summary { width:47%; }
.woocommerce .shop-shell div.product .product_title { font-size:clamp(22px,2vw,30px); margin:0 0 14px; letter-spacing:-.015em; }
.woocommerce .shop-shell div.product p.price { font-size:30px; margin:0 0 16px; }
.vh-review-link { display:inline-flex; gap:10px; font-size:12px; text-decoration:none; margin-bottom:22px; }
.vh-review-link > span { font-size:20px; }
.vh-option-buttons { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.vh-option-buttons button { border:1px solid #d3cbc2; border-radius:7px; background:#fffdfa; color:#39312b; min-width:40px; min-height:42px; padding:9px 13px; font:500 12px/1.3 inherit; cursor:pointer; transition:background .2s,color .2s,translate .2s; }
.vh-option-buttons button[aria-pressed=true] { background:#514038; color:#fffdfa; border-color:#514038; }
.vh-option-buttons button:disabled { opacity:.35; text-decoration:line-through; cursor:not-allowed; }
.vh-option-buttons button:not(:disabled):hover { translate:0 -2px; border-color:#514038; }
.woocommerce .shop-shell select.vh-native-options { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; opacity:0; pointer-events:none; overflow:hidden; }
.woocommerce .shop-shell div.product form.cart .variations { margin-bottom:10px; }
.woocommerce .shop-shell div.product form.cart .variations :is(th,td) { padding-bottom:5px; }
.woocommerce .shop-shell div.product .summary form.cart:not(.variations_form),.woocommerce .shop-shell .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; align-items:stretch; gap:8px; }
.woocommerce .shop-shell div.product form.cart .quantity { display:flex; align-items:center; width:106px; border:1px solid #cfc5b9; border-radius:8px; margin:0; flex-shrink:0; }
.woocommerce .shop-shell div.product form.cart .quantity .qty { width:40px; min-width:0; border:0; border-radius:0; padding:4px; appearance:textfield; background:transparent; }
.woocommerce .shop-shell .quantity .qty::-webkit-inner-spin-button { -webkit-appearance:none; }
.woocommerce .shop-shell .quantity button { width:32px; min-height:50px; border:0; padding:0; background:transparent; color:#39312b; cursor:pointer; }
.woocommerce .shop-shell div.product form.cart .single_add_to_cart_button { flex:1; width:auto; border-radius:8px; padding:12px 10px; font-size:13px; order:2; background:#fffdfa; color:#24211e; }
.woocommerce .shop-shell div.product form.cart .vh-buy-now { order:1; background:#24211e; color:#fffdfa; }
.woocommerce .shop-shell div.product .stock { color:#466349; }
.woocommerce .shop-shell div.product .stock.out-of-stock { color:#a02d24; }
.woocommerce .shop-shell div.product .summary .woocommerce-tabs { padding-top:20px; }
.woocommerce .shop-shell div.product .summary .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:12px; }
.woocommerce .shop-shell div.product .summary .woocommerce-tabs ul.tabs li { margin:0; }
.woocommerce .shop-shell div.product .summary .woocommerce-tabs ul.tabs li a { font-size:11px; font-weight:500; text-transform:uppercase; padding-block:12px; }
.woocommerce .shop-shell div.product .summary .woocommerce-tabs .panel { font-size:13px; line-height:1.8; }
.woocommerce .shop-shell div.product .summary .woocommerce-tabs .panel h2 { font-size:18px; }
.vh-product-reviews { clear:both; max-width:900px; margin:0 auto; padding:56px 16px; }
.vh-product-reviews > h2 { font:400 32px Georgia,serif; text-align:center; margin-bottom:28px; }
.vh-product-reviews .woocommerce-Reviews-title { font-size:18px; }
.woocommerce .vh-related-rail { position:relative; max-width:1100px; margin:0 auto; padding:40px 0 70px; }
.woocommerce .vh-related-rail > h2 { text-align:center; font:400 32px Georgia,serif; margin-bottom:30px; }
.woocommerce .shop-shell .vh-related-rail ul.products { display:flex; overflow-x:auto; gap:20px; scroll-snap-type:x mandatory; scrollbar-width:none; padding:10px 2px 20px; margin-bottom:12px; }
.woocommerce .shop-shell .vh-related-rail ul.products::-webkit-scrollbar { display:none; }
.woocommerce .shop-shell .vh-related-rail ul.products.is-sliding { scroll-snap-type:none; scroll-behavior:auto!important; }
.woocommerce .shop-shell .vh-related-rail ul.products li.product { flex:0 0 calc((100% - 40px)/3); scroll-snap-align:start; position:relative; text-align:center; }
.vh-related-controls { display:flex; justify-content:center; gap:14px; }
.vh-related-controls[hidden] { display:none; }
.vh-related-controls button { border:1px solid #ddd5cb; border-radius:50%; width:46px; height:46px; background:#fffdfa; font-size:20px; color:#39312b; cursor:pointer; }
.vh-related-controls button:disabled { opacity:.3; cursor:default; }
@media(hover:hover) {
 .woocommerce .vh-related-rail li.product .button { opacity:0; translate:0 8px; transition:opacity .3s,translate .3s; }
 .woocommerce .vh-related-rail li.product:is(:hover,:focus-within) .button { opacity:1; translate:0 0; }
}
@media(max-width:767px) {
 .woocommerce .shop-shell div.product div.images { width:100%; display:block; }
 .woocommerce .shop-shell div.product div.summary { width:100%; }
 .woocommerce .shop-shell div.product .flex-control-thumbs { flex-direction:row; margin-top:12px; }
 .woocommerce .shop-shell div.product .flex-control-thumbs li { width:64px; flex:0 0 64px; }
 .woocommerce .shop-shell div.product form.cart .quantity { width:96px; }
 .woocommerce .shop-shell .quantity button { width:28px; }
 .woocommerce .shop-shell div.product form.cart .single_add_to_cart_button { font-size:12px; }
 .woocommerce .shop-shell .vh-related-rail ul.products { gap:12px; }
 .woocommerce .shop-shell .vh-related-rail ul.products li.product { flex-basis:75%; }
 .vh-product-reviews { padding:36px 0; }
}

/* Override native Woo minimum select width and thumbnail percentage widths. */
.woocommerce .shop-shell div.product form.cart .variations select.vh-native-options { min-width:0!important; max-width:1px!important; width:1px!important; clip-path:inset(50%); left:0; }
.woocommerce .shop-shell div.product div.images .flex-control-thumbs li { width:100%; float:none; }
.vh-product-reviews #comments { text-align:center; }
.vh-product-reviews .commentlist { text-align:left; }
.vh-review-form-toggle > summary { display:table; list-style:none; margin:24px auto; padding:12px 22px; background:#24211e; color:#fffdfa; border-radius:8px; font-size:13px; cursor:pointer; }
.vh-review-form-toggle > summary::-webkit-details-marker { display:none; }
.vh-review-form-toggle[open] #review_form_wrapper { background:#fffdfa; padding:24px; border-radius:16px; }
@media(max-width:767px){.woocommerce .shop-shell div.product div.images .flex-control-thumbs li { width:64px; }}

/* Related cards share Home motion; controls override global button padding. */
.vh-related-controls button { display:grid; place-items:center; padding:0; min-width:48px; min-height:48px; width:48px; height:48px; line-height:1; flex:0 0 48px; transition:background .2s,transform .2s; }
.vh-related-controls button:not(:disabled):hover { background:#eae5de; transform:translateY(-2px); }
.woocommerce .shop-shell .vh-related-rail ul.products { scroll-padding-inline:2px; }
.vh-related-image { display:block; overflow:hidden; border-radius:15px; margin-bottom:16px; }
.woocommerce .shop-shell .vh-related-rail li.product .vh-related-image img { margin:0; transition:scale .6s cubic-bezier(.22,1,.36,1); }
@media(hover:hover) {
 .woocommerce .shop-shell .vh-related-rail ul.products li.product:is(:hover,:focus-within) { translate:0 -8px; box-shadow:0 18px 34px #39312b24; }
 .woocommerce .shop-shell .vh-related-rail li.product:is(:hover,:focus-within) .vh-related-image img { scale:1.14; }
}

/* Official PayPal smart buttons occupy their own row beneath purchase controls. */
.single-product .summary .ppc-button-wrapper { clear:both; width:100%; flex:0 0 100%; grid-column:1 / -1; margin-top:18px; }

/* All native Woo catalog cards use the same explicit motion as Home. */
.woocommerce ul.products li.product.vh-motion-card { transition:translate .45s cubic-bezier(.22,1,.36,1),box-shadow .45s; }
.woocommerce ul.products li.product.vh-motion-card .vh-related-image img { margin:0; transition:scale .6s cubic-bezier(.22,1,.36,1); }
.woocommerce .shop-shell ul.products li.product.vh-motion-card:is(.vh-card-hover,:focus-within) { translate:0 -8px; box-shadow:0 18px 34px #39312b24; }
.woocommerce ul.products li.product.vh-motion-card:is(.vh-card-hover,:focus-within) .vh-related-image img { scale:1.14; }

/* Cart: native Woo forms and totals, presented as a calm two-column checkout summary. */
.woocommerce-cart .page-shell { max-width:1240px; margin-inline:auto; padding:48px 28px 88px; }
.woocommerce-cart .page-heading { text-align:left; padding:0; margin:0 0 32px; }
.woocommerce-cart .page-heading h1 { font:400 clamp(32px,4vw,48px)/1.15 Georgia,serif; }
.woocommerce-cart .entry-content > .woocommerce { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:28px; align-items:start; }
.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop { grid-column:1 / -1; }
.woocommerce-cart .woocommerce-notices-wrapper:empty { display:none; }
.woocommerce-cart .woocommerce-cart-form { min-width:0; background:#fffdfa; border:1px solid #e7e0d7; border-radius:24px; padding:20px; }
.woocommerce-cart .woocommerce table.shop_table { border:0; margin:0; border-collapse:collapse; }
.woocommerce-cart .woocommerce-cart-form table thead { display:none; }
.woocommerce-cart .woocommerce-cart-form tr.cart_item { display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:8px 16px; padding:20px 0; border-bottom:1px solid #ece5dc; }
.woocommerce-cart .woocommerce-cart-form tr.cart_item td { border:0; padding:0; text-align:left!important; background:transparent!important; }
.woocommerce-cart .woocommerce-cart-form tr.cart_item td:before { display:none!important; }
.woocommerce-cart .woocommerce-cart-form .product-thumbnail { display:block!important; grid-column:1; grid-row:1 / 4; }
.woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width:84px; height:104px; object-fit:cover; border-radius:12px; }
.woocommerce-cart .woocommerce-cart-form .product-name { grid-column:2; grid-row:1; font-size:14px; line-height:1.5; }
.woocommerce-cart .woocommerce-cart-form .product-name a { text-decoration:none; font-weight:600; }
.woocommerce-cart .woocommerce-cart-form .product-name dl.variation { margin:6px 0 0; font-size:12px; color:#71685e; }
.woocommerce-cart .woocommerce-cart-form .product-price { grid-column:2; grid-row:2; font-size:13px; color:#71685e; }
.woocommerce-cart .woocommerce-cart-form .product-subtotal { grid-column:3; grid-row:1; font-size:15px; font-weight:600; }
.woocommerce-cart .woocommerce-cart-form .product-quantity { grid-column:2; grid-row:3; }
.woocommerce-cart .woocommerce-cart-form .product-remove { grid-column:3; grid-row:3; justify-self:end; }
.woocommerce-cart .woocommerce a.remove { display:grid; place-items:center; width:36px; height:36px; background:#f1ede7; color:#71685e!important; font-weight:400; }
.woocommerce-cart .woocommerce a.remove:hover { background:#39312b; color:white!important; }
.vh-cart-quantity { display:inline-flex; align-items:center; border:1px solid #d9d0c4; border-radius:30px; overflow:hidden; }
.vh-cart-quantity button { padding:0; width:36px; min-height:40px; border:0; background:transparent; color:#39312b; }
.woocommerce .vh-cart-quantity input.qty { width:38px; min-height:40px; padding:0; border:0; background:transparent; appearance:textfield; }
.vh-cart-quantity input::-webkit-inner-spin-button { appearance:none; }
.woocommerce-cart .woocommerce table.cart td.actions { display:block; border:0; padding:24px 0 0; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon { float:none; display:flex; gap:8px; margin-bottom:16px; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon .input-text { flex:1; width:0; min-width:0; border-radius:30px; padding:12px 16px; border-color:#d9d0c4; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon .button { width:auto; }
.woocommerce-cart .woocommerce .button { border-radius:30px; font-size:13px; padding:14px 20px; }
.woocommerce-cart .woocommerce .cart-collaterals { width:auto; min-width:0; }
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { width:100%; float:none; background:#eae5dd; border:1px solid #e1d9ce; border-radius:24px; padding:26px; }
.woocommerce-cart .cart_totals h2 { font:400 27px Georgia,serif; margin:0 0 22px; }
.woocommerce-cart .woocommerce .cart_totals :is(th,td) { padding:14px 0; border-color:#d8cfc3; font-size:14px; }
.woocommerce-cart .woocommerce .cart_totals td { text-align:right; }
.woocommerce-cart .woocommerce .cart_totals .order-total { font-size:20px; }
.woocommerce-cart .woocommerce .wc-proceed-to-checkout { padding:22px 0 0; }
.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button { margin:0; width:100%; font-size:15px; background:#39312b; }
.woocommerce-cart .cart-empty { background:#fffdfa; border-radius:20px; padding:32px!important; border:1px solid #e7e0d7; }
@media(max-width:900px) { .woocommerce-cart .entry-content > .woocommerce { grid-template-columns:minmax(0,1fr); } }
@media(max-width:480px) {
 .woocommerce-cart .page-shell { padding:28px 14px 56px; }
 .woocommerce-cart .woocommerce-cart-form { padding:14px; }
 .woocommerce-cart .woocommerce-cart-form tr.cart_item { grid-template-columns:64px minmax(0,1fr) auto; gap:8px 10px; }
 .woocommerce-cart .woocommerce-cart-form .product-thumbnail img { width:64px; height:84px; }
 .woocommerce-cart .woocommerce-cart-form .product-name { grid-column:2 / 4; padding-right:0; }
 .woocommerce-cart .woocommerce-cart-form .product-subtotal { grid-row:2; }
 .woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding:22px; }
 .woocommerce-cart .woocommerce table.cart td.actions .coupon .button { padding-inline:12px; }
}

/* Keep the native update submit control for Woo AJAX and no-JS fallback. */
.vh-auto-cart .woocommerce-cart-form [name="update_cart"] { display:none!important; }

/* Checkout uses native Woo validation, address selectors and order calculation. */
.woocommerce-checkout .page-shell { max-width:1240px; margin-inline:auto; padding:40px 28px 80px; }
.woocommerce-checkout .page-heading { text-align:left; padding:0; margin:0 0 32px; }
.woocommerce-checkout .page-heading h1 { font:400 clamp(32px,4vw,48px)/1.15 Georgia,serif; }
.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr); gap:0 32px; align-items:start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column:1 / -1; }
.woocommerce-checkout #customer_details { grid-column:1; grid-row:1 / 4; width:auto; padding:28px; border:1px solid #e7e0d7; background:#fffdfa; border-radius:24px; }
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2 { width:100%; float:none; }
.woocommerce-checkout #customer_details h3 { font:400 25px Georgia,serif; margin:0 0 24px; }
.woocommerce-checkout #customer_details .col-2 { margin-top:28px; }
.woocommerce-checkout #order_review_heading { grid-column:2; margin:0; padding:26px 26px 16px; background:#eae5dd; border-radius:24px 24px 0 0; font:400 27px Georgia,serif; }
.woocommerce-checkout #order_review { grid-column:2; min-width:0; padding:0 26px 26px; background:#eae5dd; border-radius:0 0 24px 24px; }
.woocommerce-checkout .woocommerce form .form-row { padding:0; margin-bottom:18px; }
.woocommerce-checkout .woocommerce form .form-row label { font-size:13px; margin-bottom:7px; line-height:1.5; }
.woocommerce-checkout .woocommerce form .form-row :is(input.input-text,textarea,select) { width:100%; min-height:48px; border:1px solid #d8cfc3; border-radius:16px; padding:12px 15px; background:#fffdfa; color:#39312b; font-size:14px; }
.woocommerce-checkout .woocommerce form .form-row input:focus,.woocommerce-checkout .woocommerce form .form-row textarea:focus { outline:2px solid #8c7560; outline-offset:2px; }
.woocommerce-checkout .select2-container .select2-selection--single { min-height:48px; border:1px solid #d8cfc3; border-radius:24px; background:#fffdfa; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height:46px; padding:0 40px 0 16px; font-size:14px; color:#39312b; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height:46px; right:14px; }
.woocommerce-checkout .select2-dropdown { border:1px solid #d8cfc3; border-radius:16px; padding:8px; overflow:hidden; background:#fffdfa; box-shadow:0 14px 30px #39312b20; }
.woocommerce-checkout .select2-search--dropdown .select2-search__field { border:1px solid #d8cfc3; border-radius:20px; padding:10px 12px; }
.woocommerce-checkout .select2-results__option { border-radius:10px; padding:11px 12px; font-size:14px; }
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],.woocommerce-checkout .select2-container--default .select2-results__option[data-selected=true] { background:#39312b; color:#fffdfa; }
.woocommerce-checkout .woocommerce table.shop_table { border:0; border-collapse:collapse; margin:0 0 24px; background:transparent; }
.woocommerce-checkout .woocommerce table.shop_table :is(th,td) { border-color:#d9d0c4; padding:16px 4px; font-size:13px; vertical-align:top; }
.woocommerce-checkout .woocommerce table.shop_table thead { display:none; }
.woocommerce-checkout .woocommerce table.shop_table .product-total,.woocommerce-checkout .woocommerce table.shop_table tfoot td { text-align:right; }
.vh-checkout-thumbnail { float:left; margin:0 12px 8px 0; }
.vh-checkout-thumbnail img { width:58px; height:72px; object-fit:cover; border-radius:10px; }
.woocommerce-checkout #payment { background:#fffdfa; border:1px solid #ded5ca; border-radius:18px; overflow:hidden; }
.woocommerce-checkout #payment .payment_box { background:#f1ede7; border-radius:12px; }
.woocommerce-checkout #payment .payment_box:before { border-bottom-color:#f1ede7; }
.woocommerce-checkout .woocommerce .button { border-radius:28px; padding:14px 22px; font-size:14px; }
.woocommerce-checkout #place_order { width:100%; background:#39312b; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size:12px; line-height:1.6; color:#71685e; }
.woocommerce-checkout .woocommerce form.checkout_coupon { border:1px solid #ded5ca; border-radius:20px; background:#fffdfa; }
@media(max-width:900px) {
 .woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1fr); gap:0; }
 .woocommerce-checkout #customer_details { grid-row:auto; margin-bottom:24px; }
 .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { grid-column:1; }
}
@media(max-width:480px) {
 .woocommerce-checkout .page-shell { padding:28px 14px 56px; }
 .woocommerce-checkout #customer_details { padding:20px 16px; }
 .woocommerce-checkout #order_review_heading { padding:22px 18px 14px; }
 .woocommerce-checkout #order_review { padding:0 18px 22px; }
 .woocommerce-checkout .woocommerce form .form-row-first,.woocommerce-checkout .woocommerce form .form-row-last { width:100%; float:none; }
}

/* Validation never reflows the summary beneath the address column. */
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column:1 / -1; grid-row:1; }
.woocommerce-checkout #customer_details { grid-row:2 / 4; }
.woocommerce-checkout #order_review_heading { grid-row:2; }
.woocommerce-checkout #order_review { grid-row:3; }
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error { background:#fff4f1; border:1px solid #e6b9af; color:#843c2e; border-radius:16px; padding:16px 20px; margin:0 0 24px; font-size:14px; line-height:1.6; }
.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error:before { display:none; }
.woocommerce-checkout .woocommerce-error li[hidden] { display:none!important; }
.woocommerce-checkout .vh-validation-summary { font-weight:600; }
.woocommerce-checkout .checkout-inline-error-message { display:block; font-size:12px; line-height:1.5; color:#a13f32; margin:8px 2px 0; }
.woocommerce-checkout .woocommerce-invalid :is(input.input-text,textarea,.select2-selection) { border-color:#b95443!important; background:#fffaf8; }
@media(max-width:900px) {
 .woocommerce-checkout #customer_details { grid-row:2; }
 .woocommerce-checkout #order_review_heading { grid-row:3; }
 .woocommerce-checkout #order_review { grid-row:4; }
}

/* SelectWoo popup: separate search and results, one focus treatment per control. */
.woocommerce-checkout .select2-container--default .select2-dropdown { padding:10px; border-radius:18px; border:1px solid #d8cfc3; }
.woocommerce-checkout .select2-container--default .select2-search--dropdown { display:block; padding:0 0 10px; height:auto; background:#fffdfa; }
.woocommerce-checkout .select2-container--default .select2-search--dropdown input.select2-search__field { display:block; box-sizing:border-box; width:100%; height:44px; min-height:44px; margin:0; padding:10px 14px; border:1px solid #d8cfc3; border-radius:12px; line-height:22px; font-size:14px; background:#f7f4ef; color:#39312b; box-shadow:none; }
.woocommerce-checkout .select2-container--default .select2-search--dropdown input.select2-search__field:focus { outline:none; border-color:#8c7560; box-shadow:inset 0 0 0 1px #8c7560; }
.woocommerce-checkout .select2-container--default .select2-results > .select2-results__options { max-height:240px; padding:0 4px 0 0; margin:0; scrollbar-width:thin; scrollbar-color:#b8ac9e transparent; }
.woocommerce-checkout .select2-container--default .select2-results__option { padding:11px 12px; line-height:22px; margin:2px 0; border-radius:10px; }
.woocommerce-checkout .select2-container--default .select2-results__option[data-selected=true],.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected=true] { background:#eee7dd; color:#39312b; font-weight:600; }
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] { background:#39312b; color:#fffdfa; }
.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single { border-radius:24px; border-color:#8c7560; }
.woocommerce-checkout .woocommerce-validated .select2-container .select2-selection--single { border-color:#d8cfc3; }

/* Account: native Woo endpoints, forms and authorization, matched to the storefront. */
.woocommerce-account .page-shell { max-width:1200px; margin:auto; padding:40px 24px 80px; }
.woocommerce-account .page-heading { padding:0; text-align:left; margin-bottom:30px; }
.woocommerce-account .page-heading h1 { font:400 clamp(32px,4vw,46px) Georgia,serif; }
.woocommerce-account .woocommerce-MyAccount-navigation { width:24%; padding:12px; border:1px solid #e4dbcf; border-radius:22px; background:#eee8df; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display:block; padding:14px 16px; min-height:48px; border-radius:14px; text-decoration:none; font-size:14px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background:#39312b; color:#fffdfa; }
.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background:#fffdfa; }
.woocommerce-account .woocommerce-MyAccount-content { width:72%; background:#fffdfa; border:1px solid #e4dbcf; border-radius:24px; padding:28px; min-width:0; }
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce h2 { font:400 28px Georgia,serif; }
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.lost_reset_password { max-width:580px; padding:28px; border:1px solid #e4dbcf; border-radius:24px; background:#fffdfa; margin:20px auto; }
.woocommerce-account .woocommerce form .form-row { margin-bottom:18px; padding:0; }
.woocommerce-account .woocommerce form .form-row label { font-size:13px; line-height:1.6; margin-bottom:6px; }
.woocommerce-account .woocommerce form :is(input.input-text,textarea,select) { border:1px solid #d8cfc3; border-radius:14px; padding:12px 14px; min-height:48px; background:#fffdfa; width:100%; }
.woocommerce-account .woocommerce .button { border-radius:28px; min-height:44px; padding:13px 20px; }
.woocommerce-account .woocommerce :is(.woocommerce-error,.woocommerce-message,.woocommerce-info) { border-radius:16px; font-size:14px; }
.woocommerce-account .woocommerce table.shop_table { border:0; font-size:14px; }
.woocommerce-account .woocommerce table.shop_table :is(th,td) { border-color:#e9e2d8; padding:14px 8px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width:100%; float:none; padding:20px; margin-bottom:18px; border:1px solid #e4dbcf; border-radius:18px; }
.woocommerce-account .woocommerce-Address address { line-height:1.8; margin-top:14px; }
.woocommerce-account .woocommerce form fieldset { border:1px solid #e4dbcf; border-radius:18px; padding:20px; margin-block:24px; }
.woocommerce-account .select2-container .select2-selection--single { height:48px; border:1px solid #d8cfc3; border-radius:24px; }
.woocommerce-account .select2-container .select2-selection__rendered { line-height:46px!important; padding-left:16px!important; }
.woocommerce-account .select2-container .select2-selection__arrow { top:10px; right:10px; }
.woocommerce-account .select2-dropdown { border:1px solid #d8cfc3; border-radius:16px; padding:10px; overflow:hidden; background:#fffdfa; }
.woocommerce-account .select2-search--dropdown input.select2-search__field { height:44px; border:1px solid #8c7560; border-radius:12px; padding:10px; outline:none; }
.woocommerce-account .select2-search--dropdown { padding:0 0 10px; }
.woocommerce-account .select2-results__option { padding:12px; border-radius:10px; }
.woocommerce-account .select2-container--default .select2-results__option--highlighted[aria-selected] { background:#39312b; color:#fffdfa; }
@media(max-width:767px) {
 .woocommerce-account .page-shell { padding:28px 14px 56px; }
 .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content { width:100%; float:none; }
 .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:20px; }
 .woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; overflow-x:auto; gap:6px; }
 .woocommerce-account .woocommerce-MyAccount-navigation a { white-space:nowrap; }
 .woocommerce-account .woocommerce-MyAccount-content { padding:20px 16px; overflow-wrap:anywhere; }
 .woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.lost_reset_password { padding:22px 18px; }
 .woocommerce-account .woocommerce form .form-row-first,.woocommerce-account .woocommerce form .form-row-last { width:100%; }
}

@media(max-width:767px) {
 .woocommerce-account .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
 .woocommerce-account .woocommerce-MyAccount-navigation li a { white-space:normal; font-size:13px; padding:12px; }
}

/* Catalog filters: aligned groups and one clear action row. */
.catalog-filters { border-radius:16px; border-color:#e2d9ce; background:#fffdfa; }
.catalog-filters > summary { align-items:center; padding:20px 24px; gap:16px; }
.catalog-filters > summary .filter-heading { display:flex; align-items:center; gap:12px; font-size:15px; rotate:none; }
.catalog-filters[open] > summary .filter-heading { rotate:none; }
.filter-count { padding:4px 8px; border-radius:6px; background:#ece5db; font-size:11px; font-weight:500; color:#544539; }
.filter-chevron { flex:none; transition:transform .2s ease; }
.catalog-filters[open] .filter-chevron { transform:rotate(180deg); }
.catalog-filter-form { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr); gap:24px; padding:8px 24px 0; }
.catalog-filter-form > label, .catalog-filter-form fieldset { min-width:0; }
.catalog-filter-form fieldset { margin:0; padding:0; border:0; }
.catalog-filter-form legend { padding:0; margin-bottom:10px; font-size:13px; font-weight:500; color:#51483f; }
.catalog-filter-form > label { gap:10px; color:#51483f; }
.catalog-filter-form .vh-select-trigger { min-height:52px; border-radius:10px; background:#fffdfa; padding-inline:14px; font-size:14px; }
.filter-price-inputs { display:grid; grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr); gap:10px; align-items:center; }
.filter-price-inputs label { position:relative; }
.filter-price-inputs label > span { position:absolute; top:6px; left:12px; font-size:10px; color:#6b6055; pointer-events:none; }
.catalog-filters .catalog-filter-form .filter-price-inputs label input[type="number"] { border-radius:10px; min-height:52px; padding:21px 12px 6px; background:#fffdfa; border:1px solid #d8cfc3; font-size:14px; width:100%; min-width:0; }
.filter-price-separator { color:#8a7b6c; text-align:center; }
.filter-options { display:flex; gap:10px; flex-wrap:wrap; }
.catalog-filter-form .filter-check { display:flex; flex:1; flex-direction:row; gap:9px; min-height:52px; padding:10px 12px; border:1px solid #d8cfc3; border-radius:10px; cursor:pointer; white-space:nowrap; transition:background .18s,border-color .18s; }
.catalog-filter-form .filter-check:hover { background:#f7f3ed; }
.catalog-filter-form .filter-check:has(input:checked) { background:#eee6dc; border-color:#796552; }
.catalog-filter-form .filter-check input { margin:0; flex:none; }
.catalog-filter-form .filter-actions { margin:0 -24px; padding:16px 24px; border-top:1px solid #eee6dc; gap:20px; background:#faf7f2; }
.filter-actions p { margin:0 auto 0 0; color:#6b6055; font-size:12px; }
.catalog-filter-form .filter-actions button { display:inline-flex; align-items:center; justify-content:center; gap:16px; border-radius:10px; min-height:46px; padding:12px 20px; font-size:13px; transition:background .18s; }
.catalog-filter-form .filter-actions button:hover { background:#594635; }
.catalog-filter-form .filter-actions a { color:#51483f; font-size:12px; }
@media(min-width:768px) and (max-width:1023px) { .catalog-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .catalog-filters > summary { padding:16px; }
 .catalog-filter-form { grid-template-columns:minmax(0,1fr); gap:20px; padding:4px 16px 0; }
 .catalog-filter-form .filter-actions { margin:0 -16px; padding:16px; gap:16px; justify-content:space-between; }
 .filter-actions p { display:none; }
 .catalog-filter-form .filter-actions button { flex:1; max-width:220px; }
}
@media(prefers-reduced-motion:reduce) { .filter-chevron,.catalog-filter-form .filter-check,.catalog-filter-form .filter-actions button { transition:none; } }

/* Discovery and order lookup share the storefront's warm, quiet palette. */
.vh-discovery-intro { max-width:580px; margin:0 auto 32px; text-align:center; color:#746a60; line-height:1.8; }
.vh-order-lookup { max-width:680px; margin:0 auto 72px; }
.vh-lookup-card { padding:32px; border:1px solid #e3d9ce; border-radius:20px; background:#fffdfa; box-shadow:0 8px 30px #30282005; margin-bottom:28px; }
.vh-lookup-eyebrow { display:block; font-size:11px; letter-spacing:.13em; color:#857669; margin-bottom:20px; }
.vh-lookup-card .woocommerce form.track_order { margin:0; padding:0; border:0; }
.vh-lookup-card .track_order .form-row { width:100%; float:none; margin:0 0 20px; padding:0; }
.vh-lookup-card .track_order label { display:block; margin-bottom:8px; font-weight:600; }
.vh-order-lookup .vh-lookup-card .woocommerce .track_order input.input-text[type] { width:100%; min-height:52px; border-radius:10px; background:white; padding:12px 16px; }
.vh-lookup-card .track_order button { min-height:48px; padding-inline:28px; }
.vh-tracking-faq { border-bottom:1px solid #e3d9ce; padding:20px 4px; }
.vh-tracking-faq summary { cursor:pointer; font-weight:600; }
.vh-tracking-faq p { margin:16px 0 0; color:#746a60; line-height:1.8; }
.vh-tracking-faq a { text-decoration:underline; }
@media(max-width:600px) { .vh-lookup-card { padding:22px 18px; border-radius:16px; } .vh-order-lookup { margin-bottom:40px; } }

@media(min-width:1024px) { .catalog-filters .catalog-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Trending uses full catalog cards with consistent content rows. */
.page-shell:has(.vh-trending) { width:100%; }
.page-shell .entry-content > .vh-trending { max-width:var(--vh-wide); }
.vh-trending .woocommerce ul.products { gap:28px 20px; }
.vh-trending .woocommerce ul.products li.product { display:flex; flex-direction:column; background:#fffdfa; border:1px solid #ebe5dd; border-radius:22px; padding:10px 10px 18px; overflow:hidden; }
.vh-trending .woocommerce ul.products li.product .woocommerce-LoopProduct-link { display:flex; flex-direction:column; flex:1; }
.vh-trending .woocommerce ul.products li.product a img { aspect-ratio:1; object-fit:cover; border-radius:15px; margin-bottom:16px; }
.vh-trending .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:3em; margin:0 0 10px; padding:0 6px; font-weight:500; }
.vh-trending .woocommerce ul.products li.product .price { padding:0 6px; margin-top:auto; color:#39312b; font-weight:600; }
.vh-trending .woocommerce ul.products li.product .button { margin:16px 0 0; border-radius:30px; min-height:44px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:12px; padding:12px 14px; }
@media(max-width:600px) { .vh-trending .woocommerce ul.products { gap:20px 12px; } .vh-trending .woocommerce ul.products li.product { border-radius:17px; padding:6px 6px 14px; } }

/* WooCommerce Blocks: spacious purchase flow, independent of classic shortcodes. */
:is(.woocommerce-cart,.woocommerce-checkout) .page-shell { width:100%; max-width:1240px; }
.page-shell .entry-content > :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) { width:100%; max-width:1200px; }
:is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) { --wc-form-border-color:#dcd2c6; --wc-form-border-radius:10px; --wc-form-color-text:#39312b; --wc-form-color-background:#fffdfa; }
:is(.wc-block-cart,.wc-block-checkout) .wc-block-components-sidebar-layout { gap:32px; align-items:flex-start; }
:is(.wc-block-cart,.wc-block-checkout).wc-block-components-sidebar-layout { gap:32px; align-items:flex-start; }
:is(.wc-block-cart,.wc-block-checkout) .wc-block-components-main { min-width:0; padding-right:0; }
:is(.wc-block-cart,.wc-block-checkout) .wc-block-components-sidebar { min-width:0; margin-top:0; padding:24px; background:#fffdfa; border:1px solid #e3d9cd; border-radius:20px; box-shadow:0 4px 20px #39312b05; }
.wc-block-cart .wc-block-cart__main { background:#fffdfa; border:1px solid #e3d9cd; border-radius:20px; padding:24px; }
.wc-block-checkout .wc-block-components-checkout-step { background:#fffdfa; border:1px solid #e3d9cd; border-radius:18px; padding:24px; margin-bottom:20px; }
.wc-block-checkout .wc-block-components-checkout-step__container { padding:0; }
.wc-block-checkout .wc-block-components-checkout-step__heading { margin:0 0 20px; }
.wc-block-checkout .wc-block-components-checkout-step__title { font-size:20px; font-weight:600; letter-spacing:-.02em; }
.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-text-input input[type],
.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-text-input input[type] { border-radius:10px; border-color:#dcd2c6; background:#fff; min-height:56px; padding:22px 16px 8px; font-size:16px; }
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-cart .wc-block-components-text-input label { margin-left:0; left:16px; }
:is(.wc-block-cart,.wc-block-checkout) .wc-block-components-button:not(.is-link) { background:#39312b; color:#fffdfa; border-radius:12px; min-height:52px; font-weight:600; text-decoration:none; }
:is(.wc-block-cart,.wc-block-checkout) .wc-block-components-button:not(.is-link):hover { background:#514439; }
:is(.wc-block-cart,.wc-block-checkout) .wc-block-components-quantity-selector { border-radius:10px; }
.wc-block-cart table.wc-block-cart-items { width:100%; margin:0; }
.wc-block-cart .wc-block-cart-item__image img { border-radius:10px; }
@media(min-width:1000px) {
 :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-main { flex:1; width:calc(65% - 32px); }
 :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-sidebar { width:35%; }
}
@media(max-width:999px) {
 :is(.wc-block-cart,.wc-block-checkout).wc-block-components-sidebar-layout { display:flex; flex-direction:column; }
 :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-main,
 :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-sidebar { width:100%; flex-basis:auto; }
}
@media(max-width:600px) {
 :is(.woocommerce-cart,.woocommerce-checkout) .page-shell { padding-inline:14px; }
 .wc-block-cart .wc-block-cart__main,
 :is(.wc-block-cart,.wc-block-checkout) .wc-block-components-sidebar,
 .wc-block-checkout .wc-block-components-checkout-step { padding:18px 14px; border-radius:16px; }
 .wc-block-cart table.wc-block-cart-items { table-layout:fixed; }
 .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image { width:64px; }
 .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total { width:72px; }
 .wc-block-cart .wc-block-cart-item__product { overflow-wrap:anywhere; }
}

/* Shared square catalog media and aligned archive card content. */
.woocommerce ul.products li.product a img,.woocommerce-page ul.products li.product a img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.woocommerce .shop-shell ul.products li.product{display:flex;flex-direction:column}
.woocommerce .shop-shell ul.products li.product .woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;min-width:0}
.woocommerce .shop-shell ul.products li.product .woocommerce-loop-product__title,.vh-trending .woocommerce ul.products li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;min-height:3em}
.woocommerce .shop-shell ul.products li.product .price{margin-top:auto}
.woocommerce .shop-shell ul.products li.product .button{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}
