/* WooCommerce block templates (shop, product, cart, checkout, my account), styled lightly in the theme's system.
   Loaded only on WooCommerce views. Woo's own layout is kept; this sets type, rhythm, controls and colour. */
.woocommerce,.wc-block-cart,.wc-block-checkout{font-size:var(--fs-m);line-height:1.5}
:is(.woocommerce,.wc-block-components-notice-banner) a{color:inherit}
main.is-layout-constrained{padding-block:var(--s60) var(--s80)}
main.is-layout-constrained > * + *{margin-block-start:var(--s40)}
/* breadcrumbs and headings */
.woocommerce-breadcrumb{font-size:var(--fs-s);color:var(--mute);font-stretch:var(--df-narrow);font-family:"Archivo","Archivo Narrow Fallback",Arial,sans-serif}
.woocommerce-breadcrumb a{color:inherit;text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--acc);text-decoration:underline}
:is(main.is-layout-constrained,.woocommerce) > :is(h1.wp-block-query-title,h1.wp-block-post-title),.product h1.wp-block-post-title{font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.02em;margin-block-end:var(--s30)}
:is(main.is-layout-constrained,.woocommerce-Tabs-panel) h2{font-size:var(--fs-l);line-height:1.3;letter-spacing:normal}
/* shop and related-product grids */
.wc-block-product-template{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s50) var(--df-gutter);list-style:none;margin:0;padding:0}
@media (min-width:760px){.wc-block-product-template{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.wc-block-product-template.columns-4,.wc-block-product-template.wc-block-product-template__responsive{grid-template-columns:repeat(4,minmax(0,1fr))}}
.wc-block-product-template > li{margin:0;display:flex;flex-direction:column;gap:6px}
.wc-block-product-template .wp-block-post-title{font-size:var(--fs-m);line-height:1.35;margin:6px 0 0}
.wc-block-product-template .wp-block-post-title a{color:var(--ink);text-decoration:none}
.wc-block-product-template .wp-block-post-title a:hover{color:var(--acc);text-decoration:underline}
.wc-block-components-product-image img,.woocommerce-product-gallery img{display:block;width:100%;height:auto;border:var(--hl);border-radius:2px;background:var(--df-surface)}
.wc-block-components-product-price,.woocommerce-Price-amount{font-variant-numeric:tabular-nums}
.wc-block-components-product-price{color:var(--ink)}
.wc-block-components-product-price del{color:var(--mute)}
.wc-block-components-product-price ins{text-decoration:none;font-weight:600}
/* controls: same fields and buttons as the rest of the theme */
.woocommerce :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],textarea,select):not(.wc-blocks-components-select__select),
.woocommerce-ordering select{
font:400 var(--fs-m)/1.35 var(--font);color:var(--ink);background:var(--df-surface);border:1px solid var(--df-field);border-radius:0;min-height:44px;padding:8px 12px}
.wc-block-components-form .wc-block-components-text-input :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"]),.wc-block-components-form .wc-block-components-textarea,.wc-block-components-form .wc-blocks-components-select .wc-blocks-components-select__select{
color:var(--ink);background:var(--df-surface);border:1px solid var(--df-field);border-radius:0}
.wc-block-components-form .wc-block-components-text-input label,.wc-block-components-form .wc-blocks-components-select__label{color:var(--mute)}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]{background:var(--df-surface);border:1px solid var(--df-field);border-radius:0}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--ink)}
.wc-block-components-radio-control__input{background:var(--df-surface);border-color:var(--df-field)}
.wc-blocks-components-select .wc-blocks-components-select__expand{fill:var(--ink)}
:is(.woocommerce input,.woocommerce select,.woocommerce textarea,.wc-block-components-text-input input):focus-visible{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.woocommerce form .form-row{margin:0 0 var(--s30)}
.woocommerce form .form-row label,.woocommerce-form label{display:block;font-size:var(--fs-m);font-weight:600;margin-block-end:6px}
.woocommerce form .required{color:var(--df-error);text-decoration:none}
.woocommerce .quantity .qty{width:5.5em;text-align:center}
:is(.woocommerce .button,.woocommerce button[type="submit"],.wc-block-components-button:not(.is-link),.single_add_to_cart_button,.wp-block-woocommerce-product-button .wp-block-button__link){
font:600 var(--fs-m)/1.3 var(--font);color:var(--df-on-accent);background:var(--acc);border:1px solid var(--acc);border-radius:0;min-height:44px;padding:10px 18px;text-decoration:none;cursor:pointer;transition:background-color var(--df-ease),border-color var(--df-ease)}
:is(.woocommerce .button,.woocommerce button[type="submit"],.wc-block-components-button:not(.is-link),.single_add_to_cart_button,.wp-block-woocommerce-product-button .wp-block-button__link):hover{background:var(--df-hover);border-color:var(--df-hover);color:var(--df-on-accent)}
.wc-block-components-button:focus-visible,.woocommerce .button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-block:var(--s40)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{font-size:var(--fs-s);min-height:40px;padding-block:6px}
.woocommerce-result-count{font-size:var(--fs-s);color:var(--mute);margin:0}
/* product page: tabs and details */
.wp-block-woocommerce-product-details .wc-tabs{display:flex;gap:var(--s40);list-style:none;margin:0 0 var(--s40);padding:0;border-block-end:var(--hl)}
.wp-block-woocommerce-product-details .wc-tabs a{display:block;padding-block:10px;color:var(--mute);text-decoration:none;font-weight:600}
.wp-block-woocommerce-product-details .wc-tabs .active a{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.woocommerce-Tabs-panel{max-width:var(--content)}
.wp-block-woocommerce-product-meta{font-size:var(--fs-s);color:var(--mute)}
/* notices, cart and checkout */
.wc-block-components-notice-banner,.wc-block-components-notice-banner:is(.is-success,.is-error,.is-info,.is-warning),.woocommerce-message,.woocommerce-info,.woocommerce-error{border:var(--hl);border-inline-start:3px solid var(--ink);border-radius:0;background:var(--df-surface);color:var(--ink);padding:12px 16px;list-style:none}
.wc-block-components-notice-banner.is-error,.wc-block-components-notice-banner:is(.is-error) ,.woocommerce-error{border-inline-start-color:var(--df-error)}
.wc-block-components-notice-banner.is-success,.woocommerce-message{border-inline-start-color:var(--df-ok)}
.wc-block-components-notice-banner > svg{fill:currentColor;background:none}
:is(.wc-block-cart,.wc-block-checkout) :is(.wc-block-components-sidebar,.wc-block-components-totals-wrapper){border-color:var(--line)}
.wc-block-cart-items th,.wc-block-components-totals-item__label{font-size:var(--fs-s);font-weight:600}
.wc-block-components-product-name{color:var(--ink);font-weight:600;text-decoration:none}
.wc-block-components-order-summary,.wc-block-components-panel{border-color:var(--line)}
.wc-block-components-checkout-step__title,.wc-block-components-title{font-size:var(--fs-l);line-height:1.3;letter-spacing:normal}
.wc-block-checkout__sidebar .wc-block-components-order-summary{background:var(--df-surface)}
.wc-block-components-radio-control__option,.wc-block-components-checkbox{color:var(--ink)}
/* my account */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 var(--s50);padding:0;border-block-start:var(--hl)}
.woocommerce-MyAccount-navigation li{border-block-end:var(--hl)}
.woocommerce-MyAccount-navigation a{display:block;padding-block:10px;color:var(--ink);text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a{font-weight:600;color:var(--acc)}
.woocommerce form.woocommerce-form-login,.woocommerce form.woocommerce-form-register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:var(--hl);border-radius:2px;padding:var(--s40);margin:var(--s30) 0;max-width:34em}
.woocommerce form .password-input{display:block;position:relative}
.woocommerce-form-login__rememberme{display:inline-flex;gap:8px;align-items:center;font-weight:400;margin-inline-start:12px}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:0}
.woocommerce table.shop_table :is(th,td){padding:10px 12px 10px 0;border-block-end:var(--hl);text-align:start;vertical-align:top}
@media (max-width:759px){.woocommerce table.shop_table_responsive{display:block;overflow-x:auto}}
