/* Commerce shares the same surfaces, typography, and controls as the boutique. */
.woocommerce .woocommerce-products-header__title { font-size: clamp(30px, 3.5vw, 48px); font-weight: 400; letter-spacing: -1.3px; margin-bottom: 10px; }
.catalog-intro { margin-block: 8px 24px; }
.catalog-intro .eyebrow { margin-bottom: 12px; }
.catalog-intro > p:last-child { color: var(--muted); font-size: 12px; }
.catalog-categories { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 35px; padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.catalog-categories a { padding: 9px 22px; border: 1px solid var(--line); border-radius: 30px; font-size: 11px; }
.catalog-categories a:hover, .catalog-categories a[aria-current] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.woocommerce .woocommerce-result-count { color: var(--muted); font-size: 11px; padding-top: 12px; }
.woocommerce .woocommerce-ordering select { max-width: 100%; border: 1px solid var(--line); background: transparent; padding: 11px 16px; color: var(--ink); font: 11px var(--font); }
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; padding: 0; margin: 30px 0 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.latest .woocommerce ul.products:has(> li.product:only-child) { grid-template-columns: minmax(0, 1fr); max-width: 330px; margin-inline: auto; }
.latest .woocommerce ul.products:has(> li.product:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 684px; margin-inline: auto; }
.latest .woocommerce ul.products:has(> li.product:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1038px; margin-inline: auto; }
body .woocommerce ul.products[class*="columns-"] > li.product, body.woocommerce ul.products[class*="columns-"] > li.product, body.woocommerce-page ul.products[class*="columns-"] > li.product { float: none; margin: 0; padding: 0 0 20px; width: 100%; border-bottom: 1px solid var(--line); background: transparent; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1.12; object-fit: cover; background: var(--surface); margin: 0 0 18px; border-radius: 9px; transition: opacity .25s; }
.woocommerce ul.products li.product a:hover img { opacity: .88; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16px; font-weight: 400; padding-block: 0 8px; line-height: 1.9; }
.woocommerce ul.products li.product .price { color: var(--ink); font-size: 15px; line-height: 1.8; }
.woocommerce ul.products li.product .price del { font-size: 10px; color: var(--muted); }
.woocommerce ul.products li.product .price ins { text-decoration: none; font-weight: 400; }
.woocommerce-Price-currencySymbol { font-size: .75em; }
.woocommerce :is(a.button, button.button, input.button), .woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) { border: 1px solid var(--ink); border-radius: 5px; padding: 14px 22px; color: var(--paper); background: var(--ink); font-family: var(--font); font-size: 12px; font-weight: 400; line-height: 1.7; }
.woocommerce :is(a.button, button.button, input.button):hover, .woocommerce #respond input#submit:hover { color: var(--paper); background: #345b49; border-color: #345b49; }
.woocommerce :is(a.button.alt, button.button.alt, input.button.alt) { background: var(--ink); color: var(--paper); }
.woocommerce :is(a.button.alt, button.button.alt, input.button.alt):hover { background: #345b49; }
.woocommerce ul.products li.product .button { margin-top: 10px; font-size: 11px; padding: 9px 12px; min-height: 44px; }
.woocommerce ul.products li.product .added_to_cart { display: inline-block; font-size: 10px; margin-top: 8px; margin-inline-start: 10px; }
.woocommerce span.onsale { min-width: 45px; min-height: 25px; border-radius: 0; background: var(--ink); color: var(--paper); font-size: 10px; line-height: 2.3; font-weight: 400; padding: 5px 10px; }
.woocommerce ul.products li.product .onsale { top: 12px; left: 12px; right: auto; margin: 0; }
.woocommerce .star-rating { color: var(--gold); font-size: 11px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--gold); }
.woocommerce nav.woocommerce-pagination { display: block; margin-top: 45px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 1px solid var(--line); }
.woocommerce nav.woocommerce-pagination ul li :is(a, span) { min-width: 40px; padding: 12px; }
.woocommerce nav.woocommerce-pagination ul li :is(span.current, a:hover) { background: var(--ink); color: var(--paper); }
.woocommerce :is(input.input-text, textarea, select), .select2-container--default .select2-selection--single { border: 1px solid var(--line); border-radius: 0; background: #fffdf8; color: var(--ink); padding: 12px; font: inherit; min-height: 45px; }
.woocommerce form .form-row label { font-size: 12px; padding-bottom: 6px; }
.woocommerce form :is(.form-row, .form-row-wide) { margin-bottom: 17px; }
.woocommerce :is(table.shop_table, form.login, form.register, form.checkout_coupon) { border-color: var(--line); border-radius: 0; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { background: #eee9df; border-top-color: var(--gold); color: var(--ink); font-size: 12px; }
.woocommerce :is(.woocommerce-message, .woocommerce-info)::before { color: var(--gold); }
.woocommerce .woocommerce-error { border-top-color: #a35644; }
.woocommerce .woocommerce-breadcrumb { color: var(--muted); font-size: 11px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--muted); }
.woocommerce-account .woocommerce-MyAccount-navigation { padding: 22px; background: var(--surface); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 9px 12px; border-bottom: 1px solid var(--line); font-size: 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ink); color: var(--paper); }
.woocommerce-account .woocommerce-MyAccount-content { font-size: 13px; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { max-width: 100%; }
.wc-block-components-product-name { color: var(--ink); font-weight: 400; }
.wc-block-cart, .wc-block-checkout { color: var(--ink); font-family: var(--font); }
.wc-block-components-totals-wrapper { border-color: var(--line); }
.wc-block-components-checkout-step__heading { font-family: var(--font); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input, .wc-block-components-textarea { border-radius: 0 !important; border-color: #c8bfaf !important; background: #fffdf8 !important; }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked { border-color: var(--gold); }
.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before { background: var(--gold); }
.wc-block-components-button:not(.is-link):hover { background: #345b49; color: var(--paper); }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { font-weight: 400; }
@media (max-width: 1000px) {
    .woocommerce ul.products, .woocommerce-page ul.products { gap: 28px 18px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
}
@media (max-width: 650px) {
    .latest .woocommerce ul.products:has(> li.product:nth-child(3):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .wc-block-cart table.wc-block-cart-items { table-layout: fixed; width: 100%; }
    .wc-block-cart .wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 56px minmax(0, 1fr) max-content; column-gap: 12px; width: 100%; }
    .wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { grid-column: 1; width: 56px; padding-inline: 0; }
    .wc-block-cart .wc-block-cart-items .wc-block-cart-item__product { grid-column: 2; min-width: 0; padding-inline: 0; overflow-wrap: anywhere; }
    .wc-block-cart .wc-block-cart-items .wc-block-cart-item__total { grid-column: 3; padding-inline: 0; font-size: 11px; }
    .wc-block-cart .wc-block-components-quantity-selector { max-width: 100%; }
    .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 16px; margin-top: 22px; }
    .woocommerce ul.products li.product, .woocommerce-page ul.products li.product, .woocommerce ul.products li.product:nth-child(2n) { width: 100%; margin: 0; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; }
    .woocommerce ul.products li.product .price { font-size: 11px; }
    .woocommerce .woocommerce-result-count { float: none; margin-bottom: 15px; padding-top: 0; }
    .woocommerce .woocommerce-ordering { float: none; margin-bottom: 22px; }
    .woocommerce .woocommerce-ordering select { width: 100%; }
    .catalog-categories { gap: 7px; margin-bottom: 25px; padding-bottom: 25px; }
    .catalog-categories a { font-size: 10px; padding: 8px 14px; }
    .woocommerce :is(a.button, button.button) { font-size: 11px; }
}
