/* All commerce styles are restricted to commerce pages. Native WC layout remains the fallback. */
.av-commerce { --av-shop-soft: #f6f3f7; --av-shop-radius: 8px; }
.av-commerce .av-shop-shell { padding-block: clamp(28px, 4vw, 56px) clamp(70px, 8vw, 110px); }
.av-commerce .woocommerce-breadcrumb { color: var(--av-muted); font-size: .8rem; margin-bottom: 32px; }
.av-commerce .woocommerce-products-header { padding: clamp(20px, 4vw, 52px) 0; margin-bottom: 28px; border-bottom: 1px solid var(--av-border); }
.av-commerce .woocommerce-products-header h1, .av-commerce .av-standard-hero h1 { font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: 1.05; letter-spacing: -.045em; margin: 0 0 16px; }
.av-commerce .av-shop-intro, .av-commerce .term-description { color: var(--av-muted); max-width: 640px; }
.av-commerce .av-shop-categories { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.av-commerce .av-shop-categories a { border: 1px solid var(--av-border); padding: 8px 18px; border-radius: 30px; }
.av-commerce .av-shop-categories a[aria-current], .av-commerce .av-shop-categories a:hover { background: var(--av-shop-soft); border-color: var(--av-accent); }
.av-commerce.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 28px; clear: both; padding-top: 20px; }
.av-commerce.woocommerce ul.products::before, .av-commerce.woocommerce ul.products::after { display: none; }
.av-commerce.woocommerce ul.products li.product { width: auto; float: none; margin: 0; min-width: 0; }
.av-commerce.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 1 / 1.12; object-fit: contain; background: var(--av-shop-soft); border-radius: var(--av-shop-radius); margin-bottom: 20px; transition: transform .2s ease; }
.av-commerce.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--av-text); font-size: clamp(1.2rem, 1.6vw, 1.55rem); line-height: 1.3; padding: 0; }
.av-commerce .av-product-kind { color: var(--av-muted); font-size: .78rem; margin: 8px 0 12px; }
.av-commerce .av-stock-label { font-size: .8rem; font-weight: 600; }
.av-commerce.woocommerce ul.products li.product .price { font-size: 1.15rem; color: var(--av-text); }
.av-commerce .price ins { text-decoration: none; }
.av-commerce .av-product-detail { display: inline-block; margin: 14px 0 0 16px; font-size: .86rem; text-decoration: underline; text-underline-offset: 4px; }
.av-commerce .woocommerce a.button, .av-commerce .woocommerce button.button, .av-commerce.woocommerce a.button, .av-commerce.woocommerce button.button, .av-commerce .wc-block-components-button:not(.is-link) { background: var(--av-accent); color: #fff; border: 1px solid var(--av-accent); border-radius: 4px; padding: 13px 20px; font-family: inherit; font-size: .95rem; font-weight: 600; line-height: 1.4; min-height: 46px; text-align: center; white-space: normal; }
.av-commerce .woocommerce button.button:disabled { opacity: .55; }
.av-commerce .woocommerce a.button:hover, .av-commerce .woocommerce button.button:hover, .av-commerce.woocommerce a.button:hover, .av-commerce.woocommerce button.button:hover { background: #51435c; color: #fff; }
.av-commerce.woocommerce span.onsale { background: var(--av-accent); color: #fff; min-height: 0; min-width: 0; border-radius: 4px; padding: 6px 12px; line-height: 1.5; margin: 12px !important; }
.av-commerce.woocommerce div.product div.images { width: 54%; }
.av-commerce.woocommerce div.product div.summary { width: 40%; }
.av-commerce.woocommerce div.product div.images img { border-radius: var(--av-shop-radius); }
.av-commerce.woocommerce div.product .product_title { font-size: clamp(2rem, 3.4vw, 3.5rem); line-height: 1.1; letter-spacing: -.04em; margin-bottom: 16px; }
.av-commerce.woocommerce div.product p.price { color: var(--av-text); font-size: 1.65rem; }
.av-commerce.woocommerce div.product form.cart { margin-top: 28px; }
.av-commerce .quantity input.qty { width: 76px; min-height: 48px; padding: 8px; border: 1px solid #b4adb9; border-radius: 4px; font: inherit; }
.av-commerce .product_meta { display: grid; gap: 6px; font-size: .85rem; padding-top: 24px; border-top: 1px solid var(--av-border); }
.av-commerce .product_meta a, .av-commerce .woocommerce-product-details__short-description a, .av-commerce .woocommerce-Tabs-panel a { text-decoration: underline; }
.av-commerce.woocommerce div.product .woocommerce-tabs { padding-top: 38px; clear: both; }
.av-commerce.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; }
.av-commerce.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--av-shop-soft); border-color: var(--av-border); border-radius: 4px 4px 0 0; margin: 0 4px 0 0; }
.av-commerce.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .av-commerce.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.av-commerce .woocommerce-Tabs-panel { max-width: 900px; }
.av-commerce .related { margin-top: 56px; }
.av-commerce .av-standard-page { padding-block: 40px 80px; }
.av-commerce .av-standard-kicker { display: none; }
.av-commerce .av-standard-content { max-width: none; margin-top: 32px; font-size: 1rem; }
.av-commerce .woocommerce form .form-row input.input-text, .av-commerce .woocommerce form .form-row textarea, .av-commerce .woocommerce select { font: inherit; color: var(--av-text); background: #fff; border: 1px solid #b4adb9; border-radius: 4px; padding: 12px; max-width: 100%; min-height: 46px; }
.av-commerce .woocommerce form .form-row label { font-size: .9rem; font-weight: 500; }
.av-commerce .select2-container .select2-selection--single { height: 48px; border-color: #b4adb9; }
.av-commerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.av-commerce .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.av-commerce .woocommerce table.shop_table { border: 1px solid var(--av-border); border-radius: var(--av-shop-radius); border-collapse: collapse; }
.av-commerce .woocommerce table.shop_table td, .av-commerce .woocommerce table.shop_table th { padding: 16px; overflow-wrap: anywhere; }
.av-commerce .woocommerce table.shop_table th { background: var(--av-shop-soft); }
.av-commerce .woocommerce-cart-form .product-thumbnail img { width: 90px; }
.av-commerce .woocommerce .cart .button, .av-commerce .woocommerce .cart input { float: none; }
.av-commerce .woocommerce .cart .coupon input.input-text { width: 150px; min-height: 48px; }
.av-commerce .woocommerce .cart-collaterals .cart_totals { padding: 24px; background: var(--av-shop-soft); border-radius: var(--av-shop-radius); margin-top: 24px; }
.av-commerce .woocommerce .order-total { font-size: 1.25rem; }
.av-commerce .woocommerce #payment { background: var(--av-shop-soft); border-radius: var(--av-shop-radius); }
.av-commerce .woocommerce #payment div.payment_box { background: #ece6ef; color: var(--av-text); overflow-wrap: anywhere; }
.av-commerce .woocommerce #payment div.payment_box::before { border-bottom-color: #ece6ef; }
.av-commerce .woocommerce #payment .payment_methods label { cursor: pointer; }
.av-commerce .woocommerce #place_order { width: 100%; float: none; }
.av-commerce .woocommerce-privacy-policy-text { font-size: .86rem; }
.av-commerce .woocommerce-privacy-policy-text a { text-decoration: underline; }
.av-commerce .woocommerce-message, .av-commerce .woocommerce-info, .av-commerce .woocommerce-error { background: var(--av-shop-soft); color: var(--av-text); border-top-color: var(--av-accent); overflow-wrap: anywhere; }
.av-commerce .woocommerce-message::before, .av-commerce .woocommerce-info::before { color: var(--av-accent); }
.av-commerce .wc-block-components-sidebar { background: var(--av-shop-soft); border-radius: var(--av-shop-radius); padding: 24px; }
.av-commerce .wc-block-components-product-name { color: var(--av-text); }
.av-commerce .wc-block-components-totals-footer-item { font-size: 1.25rem; }
.av-commerce .wc-block-components-text-input input, .av-commerce .wc-block-components-combobox .wc-block-components-combobox-control input { font-family: inherit; }
.av-commerce .wc-block-components-notice-banner { border-radius: 4px; }
.av-commerce .site-main :focus-visible { outline: 2px solid var(--av-accent); outline-offset: 3px; }
.av-commerce .woocommerce, .av-commerce .product, .av-commerce .summary, .av-commerce .wc-block-components-main { min-width: 0; overflow-wrap: anywhere; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .av-commerce.woocommerce ul.products li.product a:hover img { transform: translateY(-4px); } }
@media (min-width: 1024px) {
    .av-commerce .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 24px 48px; align-items: start; }
    .av-commerce .woocommerce form.checkout #customer_details { grid-row: span 2; }
    .av-commerce .woocommerce form.checkout #customer_details .col-1, .av-commerce .woocommerce form.checkout #customer_details .col-2 { float: none; width: 100%; }
    .av-commerce .woocommerce form.checkout #order_review_heading { margin: 0; }
    .av-commerce .woocommerce form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review) { grid-column: 1 / -1; }
}
@media (max-width: 1023px) { .av-commerce.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; } }
@media (max-width: 768px) {
    .av-commerce.woocommerce div.product div.images, .av-commerce.woocommerce div.product div.summary { float: none; width: 100%; }
    .av-commerce .woocommerce .col2-set .col-1, .av-commerce .woocommerce .col2-set .col-2 { width: 100%; float: none; }
    .av-commerce .woocommerce .cart-collaterals .cart_totals { width: 100%; padding: 16px; }
    .av-commerce .woocommerce table.shop_table td, .av-commerce .woocommerce table.shop_table th { padding: 12px 8px; }
    .av-commerce .woocommerce table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
    .av-commerce .woocommerce table.cart td.actions .coupon .input-text, .av-commerce .woocommerce table.cart td.actions .coupon .button { width: 100%; margin: 0; }
    .av-commerce .woocommerce-message .button { float: none; display: block; margin-bottom: 12px; }
    .av-commerce .woocommerce .woocommerce-ordering, .av-commerce .woocommerce-ordering { float: none; }
    .av-commerce .woocommerce-ordering select { width: 100%; }
}
@media (max-width: 480px) {
    .av-commerce.woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
    .av-commerce.woocommerce div.product form.cart .single_add_to_cart_button { max-width: calc(100% - 84px); }
    .av-commerce .woocommerce form .form-row-first, .av-commerce .woocommerce form .form-row-last { width: 100%; float: none; }
}
