/* WooCommerce classic templates and blocks inherit the reference shop's design tokens. */
.woocommerce,.wc-block-components-main,.wc-block-components-sidebar{color:var(--ink);font-family:var(--body)}
.wc-block-components-product-name{color:var(--ink)}
.wc-block-components-product-name:hover{color:var(--accent)}
.woocommerce h1,.woocommerce h2,.woocommerce h3,.wc-block-components-title{font-family:var(--head);font-weight:600;line-height:1.2}
.woocommerce h2,.woocommerce h3{margin-bottom:var(--s4)}
.woocommerce .woocommerce-products-header{margin-bottom:var(--s5)}
.woocommerce .woocommerce-products-header__title,.woocommerce .product_title{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:var(--s4)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:var(--s5)}
.woocommerce .woocommerce-ordering select,.woocommerce select{min-height:48px;border:0;border-bottom:2px solid var(--line);background:var(--bg);max-width:100%;padding:var(--s2)}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products,.wc-block-grid__products{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5) var(--s4)}
.woocommerce ul.products li.product,.wc-block-grid__products .wc-block-grid__product{float:none;width:auto!important;max-width:none;margin:0!important;min-width:0;border:0;background:var(--bg);text-align:center;padding:var(--s2);position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s2)}
.woocommerce ul.products li.product>a.woocommerce-loop-product__link{width:100%;display:flex;flex-direction:column;gap:var(--s2)}
.woocommerce .pimg{position:relative;aspect-ratio:1;width:100%;background:var(--soft);display:grid;place-items:center;overflow:hidden}
.woocommerce ul.products li.product img,.wc-block-grid__product-image img,.wc-block-components-product-image img,.wc-block-product-template img,.wc-block-components-order-summary-item__image img{width:100%;height:auto;aspect-ratio:1;object-fit:contain!important;display:block;margin:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.wc-block-grid__product-title,.wc-block-product .wp-block-post-title{font:600 1rem/1.4 var(--head);padding:0;margin:0}
.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price,.wc-block-grid__product-price,.wc-block-components-product-price,.wc-block-product-price{color:var(--accent);font-family:var(--head);font-weight:600}
.woocommerce ul.products li.product .price{margin:0;font-size:1rem}
.woocommerce .price del,.wc-block-components-product-price del{color:var(--muted);font-size:.85em}
.woocommerce span.onsale,.wc-block-grid__product-onsale,.wc-block-components-product-sale-badge{background:var(--accent);color:var(--on-accent);border:0;border-radius:15px;min-height:30px;min-width:0;line-height:1.5;padding:var(--s1) var(--s3);font-size:.78rem;font-weight:700;text-transform:uppercase}
.woocommerce .pimg .onsale{position:absolute;left:var(--s2);top:var(--s2);right:auto;z-index:1;margin:0}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.wc-block-components-button:not(.is-link),.wc-block-grid__product-add-to-cart a,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:0;border-radius:2px;min-height:44px;padding:var(--s3) var(--s5);font:700 .85rem/1.4 var(--body);text-transform:uppercase;text-decoration:none;box-shadow:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.wc-block-components-button:not(.is-link):hover,.wp-block-button__link:hover{background:var(--accent-dark);color:var(--on-accent)}
.woocommerce button.button:disabled,.wc-block-components-button:disabled{opacity:.55;cursor:not-allowed}
.woocommerce .quantity .qty{min-height:46px;width:80px;padding:var(--s2);border:2px solid var(--line);border-radius:2px}
.woocommerce div.product{display:flow-root}
.woocommerce div.product div.images{float:left;width:49%;margin-bottom:var(--s6)}
.woocommerce div.product div.summary{float:right;width:47%;margin-bottom:var(--s6)}
.woocommerce div.product .woocommerce-product-gallery__image{background:var(--soft)}
.woocommerce div.product div.images img:not(.zoomImg){width:100%;height:auto;aspect-ratio:1;object-fit:contain!important}
.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:var(--s2);padding:0;list-style:none;margin-top:var(--s3)}
.woocommerce div.product div.images .flex-control-thumbs li{width:22%;float:none}
.woocommerce div.product .woocommerce-product-gallery__trigger{min-width:44px;min-height:44px;z-index:3}
.woocommerce div.product .flex-direction-nav a{min-width:44px;min-height:44px}
.woocommerce div.product p.price{font-size:1.6rem;margin:var(--s4) 0}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin:var(--s5) 0}
.woocommerce div.product form.variations_form{display:block}
.woocommerce div.product .variations{width:100%;margin-bottom:var(--s4)}
.woocommerce div.product .variations select{width:100%}
.woocommerce div.product .single_variation_wrap,.woocommerce div.product .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}
.woocommerce div.product .product_meta{display:grid;gap:var(--s2);color:var(--muted);border-top:1px solid var(--line);padding-top:var(--s4)}
.woocommerce div.product .woocommerce-tabs,.woocommerce .related.products,.woocommerce .up-sells{clear:both;padding-top:var(--s6)}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;padding:0;margin:0 0 var(--s5);display:flex;gap:var(--s5);flex-wrap:wrap;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.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{border:0;border-radius:0;margin:0;padding:0;background:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:flex;align-items:center;min-height:48px;padding:var(--s2) 0;font-family:var(--head);text-transform:uppercase;font-size:.9rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--accent);background:none}
.woocommerce table.shop_table{width:100%;border:1px solid var(--line);border-radius:2px;border-collapse:collapse;margin-bottom:var(--s5)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-bottom:1px solid var(--line);padding:var(--s4);text-align:left;overflow-wrap:anywhere}
.woocommerce table.shop_table th{font-family:var(--head);background:var(--soft);font-size:.9rem}
.woocommerce table.cart img{width:88px;height:88px;object-fit:contain}
.woocommerce a.remove{display:grid;place-items:center;min-height:44px;min-width:44px;font-size:1.5rem;color:var(--walnut)!important}
.woocommerce a.remove:hover{background:var(--soft);color:var(--ink)!important}
.woocommerce .cart-collaterals .cart_totals{background:var(--soft);padding:var(--s5);border:1px solid var(--line);border-radius:2px}
.woocommerce .coupon{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}
.woocommerce #coupon_code{width:auto;min-width:120px;min-height:44px;padding:var(--s3);border:2px solid var(--line)}
.woocommerce form .form-row{padding:0;margin-bottom:var(--s4)}
.woocommerce form .form-row label{display:block;line-height:1.5;margin-bottom:var(--s2);font-weight:700}
.woocommerce form .input-text,.woocommerce textarea,.woocommerce form select,.select2-container--default .select2-selection--single{width:100%;max-width:100%;min-height:48px;background:var(--bg);color:var(--ink);padding:var(--s3);border:2px solid var(--line);border-radius:2px;font:inherit}
.woocommerce form .form-row input[type=checkbox],.woocommerce form .form-row input[type=radio]{accent-color:var(--accent);min-height:20px;min-width:20px}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:10px}
.woocommerce form.checkout{display:flow-root}
.woocommerce #payment{background:var(--soft);border-radius:2px;padding:var(--s4)}
.woocommerce #payment div.payment_box{background:var(--bg);color:var(--ink)}
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message,.woocommerce .woocommerce-error,.wc-block-components-notice-banner{border:0;border-left:4px solid var(--accent);padding:var(--s4) var(--s5);background:var(--soft);color:var(--ink);box-shadow:none}
.woocommerce .woocommerce-error,.wc-block-components-notice-banner.is-error{border-left-color:var(--walnut)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-error::before{display:none}
.woocommerce .woocommerce-MyAccount-navigation{width:24%;float:left}
.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.woocommerce .woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:48px;padding:var(--s3);border-bottom:1px solid var(--line)}
.woocommerce .woocommerce-MyAccount-navigation .is-active a{background:var(--soft);color:var(--accent);font-weight:700}
.woocommerce .woocommerce-MyAccount-content{width:72%;float:right;min-width:0}
.woocommerce .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:var(--s4);list-style:none;margin:var(--s5) 0;padding:var(--s4);background:var(--soft)}
.woocommerce ul.order_details li{float:none;border-right:1px solid var(--line);padding-right:var(--s4);margin:0}
.woocommerce .woocommerce-customer-details address{border:1px solid var(--line);padding:var(--s4);border-radius:2px;font-style:normal;overflow-wrap:anywhere}
.woocommerce nav.woocommerce-pagination{margin-top:var(--s6)}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:var(--s2);justify-content:center;flex-wrap:wrap}
.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;display:grid;place-items:center;padding:var(--s2);border:2px solid var(--line)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
/* Blocks keep their responsive structure, validation and payment behaviour. */
.wc-block-components-sidebar-layout{display:flex;align-items:flex-start;gap:var(--s5)}
.wc-block-components-sidebar-layout .wc-block-components-main{flex:1;min-width:0;width:auto;padding:0}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{flex:0 0 34%;min-width:0;width:34%;margin:0}
.wc-block-components-sidebar{background:var(--soft);padding:var(--s5);border:1px solid var(--line);border-radius:2px}
.wc-block-components-text-input input,.wc-block-components-textarea,.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-form .wc-block-components-text-input input,.wc-block-components-select .wc-block-components-select__select{width:100%;border:2px solid var(--line);border-radius:2px;min-height:48px;font-family:var(--body);color:var(--ink);background:var(--bg)}
.wc-block-components-text-input input:focus,.wc-block-components-select .wc-block-components-select__select:focus{border-color:var(--accent)}
.wc-block-components-totals-wrapper,.wc-block-cart-items__row,.wc-block-components-order-summary-item{border-color:var(--line)}
.wc-block-cart-items .wc-block-cart-item__remove-link,.wc-block-cart-item__quantity .wc-block-components-quantity-selector button{min-height:44px;min-width:44px}
.wc-block-cart-items__header th{font-family:var(--head);color:var(--ink)}
.wc-block-components-checkout-step__heading h2{font-size:1.25rem}
.wc-block-components-radio-control .wc-block-components-radio-control__input{accent-color:var(--accent)}
.wc-block-components-order-summary-item__image,.wc-block-cart-item__image{background:var(--soft)}
.wc-block-cart-item__image img{object-fit:contain!important;aspect-ratio:1}
.wp-block-woocommerce-product-collection .wc-block-product-template{gap:var(--s5) var(--s4)}
.wc-block-product{min-width:0;text-align:center}
.woocommerce-store-notice{background:var(--accent);color:var(--on-accent)}
@media(hover:hover) and (min-width:701px){.woocommerce ul.products li.product:hover{box-shadow:0 0 14px #0002}}
@media(max-width:980px){.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){
    .woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s3)}
    .woocommerce ul.products li.product,.wc-block-grid__products .wc-block-grid__product{padding:0}
    .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.95rem;min-height:44px;display:flex;align-items:center;justify-content:center}
    .woocommerce ul.products li.product .button{width:100%;padding-inline:var(--s2);margin:0}
    .woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none;width:100%}
    .woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content{float:none;width:100%}
    .woocommerce div.product div.summary{margin-top:var(--s5)}
    .woocommerce div.product form.cart .single_add_to_cart_button{flex:1}
    .woocommerce .woocommerce-MyAccount-navigation{margin-bottom:var(--s5)}
    .woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce .cart-collaterals .cart_totals{float:none;width:100%}
    .woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:var(--s3) var(--s2)}
    .woocommerce table.shop_table_responsive thead{display:none}
    .woocommerce table.shop_table_responsive tr{display:block;margin-bottom:var(--s4)}
    .woocommerce table.shop_table_responsive td{display:block;text-align:right}
    .woocommerce table.shop_table_responsive td::before{content:attr(data-title);float:left;font-weight:700;margin-right:var(--s2)}
    .woocommerce table.cart td.product-thumbnail{display:block}
    .woocommerce table.cart .coupon{float:none;margin-bottom:var(--s3)}
    .woocommerce table.cart .actions .button{width:100%}
    .woocommerce .form-row-first,.woocommerce .form-row-last{width:100%;float:none}
    .wc-block-components-sidebar-layout{display:flex;flex-direction:column}
    .wc-block-components-sidebar-layout .wc-block-components-main,.wc-block-components-sidebar-layout .wc-block-components-sidebar{flex:auto;width:100%;padding:var(--s4) 0;margin:0}
    .wc-block-components-sidebar-layout .wc-block-components-sidebar{padding:var(--s4)}
    .woocommerce ul.order_details li{width:100%;border:0}
}

.woocommerce div.product div.images img.zoomImg{max-width:none;object-fit:fill;aspect-ratio:auto}
