/* Only loaded on WooCommerce cart, checkout and account, including order endpoints. */
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main { padding-top: clamp(1.5rem, 3vw, 3rem); }
.woocommerce-cart .site-main > article > h1, .woocommerce-checkout .site-main > article > h1, .woocommerce-account .site-main > article > h1 { font-size: clamp(2rem, 4vw, 3.3rem); margin-block: 0 1.5rem; }
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { max-width: 72rem; margin-inline: auto; }
.woocommerce-cart .woocommerce-cart-form table { border-collapse: separate; border-spacing: 0; }
.woocommerce-cart table.cart img { width: 4.5rem; height: 6rem; object-fit: contain; }
.woocommerce-cart .product-name a { font-family: var(--aw-serif); font-size: 1.25rem; }
.woocommerce-cart .product-name { overflow-wrap: anywhere; }
.woocommerce-cart .quantity .qty { width: 5rem; min-height: 48px; }
.woocommerce-cart .woocommerce .coupon { align-items: center; }
.woocommerce-cart .woocommerce .coupon input { flex: 1 1 10rem; max-width: 100%; }
.woocommerce-cart .cart_totals h2 { font-size: 1.8rem; margin-top: 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 1.1rem; margin-bottom: 0; }
.woocommerce-cart .cross-sells:empty, .woocommerce-cart .wc-block-cart__empty-cart__title::before { display: none; }
.aw-shipping-benefit { padding: 1rem; border: 1px solid var(--aw-line); background: var(--aw-sand); border-radius: var(--aw-radius); }
.woocommerce-checkout .woocommerce form.checkout { display: flow-root; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { min-width: 0; }
.woocommerce-checkout .woocommerce h3 { font-size: 1.7rem; margin-block: 1.5rem 1rem; }
.woocommerce-checkout .woocommerce form .form-row { margin-bottom: 1rem; padding: 0; }
.woocommerce-checkout .woocommerce form .form-row label { line-height: 1.5; margin-bottom: .4rem; }
.woocommerce-checkout .woocommerce form .form-row input.input-text, .woocommerce-checkout .woocommerce form .form-row select, .woocommerce-checkout .woocommerce form .form-row textarea { width: 100%; min-height: 48px; }
.woocommerce-checkout .select2-container .select2-selection--single { height: 48px; border-color: var(--aw-muted); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; color: var(--aw-ink); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid .select2-selection { border: 2px solid var(--aw-terra); }
.woocommerce-checkout .woocommerce form .form-row .required { color: var(--aw-terra); }
.woocommerce-checkout .woocommerce-form-login, .woocommerce-checkout .checkout_coupon { padding: 1.25rem; border-color: var(--aw-line); background: var(--aw-white); }
.woocommerce-checkout #order_review { padding: 1.25rem; background: var(--aw-sand); border-radius: var(--aw-radius); }
.woocommerce-checkout #order_review table { width: 100%; margin-bottom: 1rem; }
.woocommerce-checkout #order_review th, .woocommerce-checkout #order_review td { overflow-wrap: anywhere; }
.woocommerce-checkout #payment ul.payment_methods { padding: 1rem 0; border-bottom-color: var(--aw-line); }
.woocommerce-checkout #payment ul.payment_methods li { padding: .9rem; margin-bottom: .7rem; border: 1px solid var(--aw-line); border-radius: var(--aw-radius); background: var(--aw-white); }
.woocommerce-checkout #payment ul.payment_methods li label { display: inline; font-weight: 600; cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li img { float: none; display: inline-block; vertical-align: middle; width: auto; max-width: 7rem; max-height: 2rem; margin: .2rem .4rem; object-fit: contain; }
.woocommerce-checkout #payment div.payment_box { margin: .8rem 0 0; padding: .5rem; background: var(--aw-cream); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .place-order { padding: 1rem 0 0; }
.woocommerce-checkout #place_order { float: none; width: 100%; min-height: 52px; font-size: 1.1rem; margin-top: 1rem; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: .95rem; line-height: 1.6; }
.woocommerce-checkout ul#shipping_method { display: grid; gap: .6rem; padding: 0; }
.woocommerce-checkout ul#shipping_method li { padding: .65rem; background: var(--aw-white); border: 1px solid var(--aw-line); border-radius: var(--aw-radius); }
.woocommerce-checkout input[type="radio"], .woocommerce-checkout input[type="checkbox"] { width: 1.15rem; height: 1.15rem; vertical-align: middle; margin-right: .5rem; accent-color: var(--aw-olive); }
.woocommerce .woocommerce-error, .woocommerce .woocommerce-info, .woocommerce .woocommerce-message { overflow-wrap: anywhere; line-height: 1.65; }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-family: var(--aw-serif); font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--aw-olive); }
.woocommerce ul.order_details { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1.5rem; margin: 1.5rem 0 2rem; background: var(--aw-sand); border-radius: var(--aw-radius); }
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none; }
.woocommerce ul.order_details li { float: none; border: 0; padding: 0; margin: 0; font-size: .8rem; overflow-wrap: anywhere; }
.woocommerce ul.order_details li strong { margin-top: .3rem; font-size: 1rem; }
.woocommerce .woocommerce-order-details, .woocommerce .woocommerce-customer-details { margin-block: 2rem; }
.woocommerce .woocommerce-customer-details address { width: 100%; padding: 1.25rem; border: 1px solid var(--aw-line); border-radius: var(--aw-radius); background: var(--aw-white); }
.woocommerce .woocommerce-order-details table { width: 100%; }
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { text-decoration: underline; text-underline-offset: .2em; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-orders-table .button { min-height: 44px; margin: .25rem; }
.woocommerce-account .woocommerce-EditAccountForm fieldset { min-width: 0; padding: 1rem; margin-block: 1.5rem; border: 1px solid var(--aw-line); }
.woocommerce-account .woocommerce-EditAccountForm legend { padding-inline: .4rem; font-family: var(--aw-serif); font-size: 1.3rem; }
/* Native Cart/Checkout Blocks keep their data stores, validation and payment registry. */
.wc-block-cart, .wc-block-checkout { max-width: 72rem; margin-inline: auto; }
.wc-block-cart table.wc-block-cart-items { background: var(--aw-white); }
.wc-block-cart-item__image img { max-height: 7rem; object-fit: contain; }
.wc-block-components-quantity-selector { width: 9rem; max-width: 100%; min-height: 44px; border-color: var(--aw-muted); }
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { min-height: 44px; padding: .4rem; }
.wc-block-components-quantity-selector button { min-width: 44px; min-height: 44px; padding: .5rem; background: transparent; color: var(--aw-olive); border: 0; }
.wc-block-cart-item__remove-link { min-height: 44px; text-underline-offset: .2em; }
.wc-block-components-sidebar { background: var(--aw-sand); border-radius: var(--aw-radius); padding: 1.25rem; }
.wc-block-components-checkout-step { margin-bottom: 1.5rem; }
.wc-block-components-checkout-step__title { font-family: var(--aw-serif); }
.wc-block-components-text-input input { min-height: 52px; }
.wc-block-components-radio-control__option { min-height: 48px; overflow-wrap: anywhere; }
.wc-block-checkout__payment-method .wc-block-components-radio-control__option { border-bottom: 1px solid var(--aw-line); }
.wc-block-components-payment-method-label img { width: auto; max-width: 7rem; max-height: 2rem; object-fit: contain; }
.wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button { width: 100%; min-height: 52px; }
.wc-block-components-validation-error, .wc-block-components-notice-banner { overflow-wrap: anywhere; }
@media (min-width: 48rem) {
    .woocommerce ul.order_details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .woocommerce-checkout #customer_details.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
    .woocommerce-checkout #customer_details.col2-set .col-1, .woocommerce-checkout #customer_details.col2-set .col-2 { float: none; width: 100%; min-width: 0; }
}
@media (min-width: 64rem) {
    .woocommerce ul.order_details { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
    .woocommerce-cart .woocommerce table.cart td.product-thumbnail { display: block; text-align: center; }
    .woocommerce-cart .woocommerce table.cart td.product-thumbnail::before { display: none; }
    .woocommerce-checkout .woocommerce .form-row-first, .woocommerce-checkout .woocommerce .form-row-last { float: none; width: 100%; }
    .woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
    .woocommerce-checkout #order_review { padding: .75rem; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon { float: none; width: 100%; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon .button { float: none; width: 100%; }
    .woocommerce-account .woocommerce-MyAccount-content { margin-top: 1.5rem; }
    .woocommerce .woocommerce-customer-details .col-1, .woocommerce .woocommerce-customer-details .col-2 { float: none; width: 100%; margin-bottom: 1rem; }
    .wc-block-cart .wc-block-components-sidebar, .wc-block-checkout .wc-block-components-sidebar { width: 100%; padding: 1rem; }
}
