/* Cart and checkout share the store's restrained visual language. */
.woocommerce-checkout .entry-title,
.woocommerce-cart .entry-title { font-size:30px!important; margin-bottom:28px; }
.woocommerce-checkout .by-checkout {
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr)!important;
    grid-template-rows:auto!important;
    gap:56px;
    align-items:start;
}
.by-checkout-main { min-width:0; }
.by-checkout .by-checkout-summary {
    position:sticky;
    top:24px;
    padding:28px;
    background:#f5f6f2;
    border:1px solid #e8ebe4;
    border-radius:12px;
    min-width:0;
}
.by-summary-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:14px; }
.by-summary-heading > a { font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.woocommerce-checkout .by-checkout #order_review_heading,
.woocommerce-checkout .by-checkout #order_review {
    padding:0;
    margin:0;
    background:transparent;
    border-radius:0;
}
.woocommerce-checkout .by-checkout #order_review_heading { font-size:22px; }
.by-checkout .shop_table { margin:0; }
.by-checkout .shop_table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.by-checkout .shop_table td, .by-checkout .shop_table th { padding:16px 0; }
.by-checkout .shop_table .product-total { text-align:right; white-space:nowrap; padding-left:14px; font-size:14px; }
.by-order-product { display:flex; align-items:center; gap:14px; font-size:14px; font-weight:500; line-height:1.45; }
.by-order-product .by-order-image { width:68px; height:68px; aspect-ratio:1; object-fit:cover; border-radius:6px; flex-shrink:0; }
.by-checkout .product-quantity { font-size:12px; font-weight:400; color:#697263; }
.by-checkout .shop_table tfoot td { text-align:right; }
.by-checkout .shop_table tfoot th { color:#4e584b; font-size:14px; font-weight:400; }
.by-checkout .shop_table .order-total td,
.by-checkout .shop_table .order-total th { padding-top:22px; border-bottom:0; }
.by-checkout .shop_table .order-total strong { font-size:25px; font-weight:500; }
.by-checkout .includes_tax { display:block; font-size:12px; line-height:1.6; margin-top:6px; color:#697263; }
.woocommerce-checkout .by-checkout h3 { font-size:21px; font-weight:500; margin:0 0 22px; }
.woocommerce-checkout .by-checkout #customer_details .col-1,
.woocommerce-checkout .by-checkout #customer_details .col-2 { width:100%; float:none; }
.by-checkout #customer_details { display:block; }
.by-checkout .woocommerce-billing-fields__field-wrapper { display:flow-root; }
.woocommerce-checkout .by-checkout .form-row label { font-size:13px; margin-bottom:7px; }
.woocommerce-checkout .by-checkout input.input-text,
.woocommerce-checkout .by-checkout select,
.woocommerce-checkout .by-checkout textarea,
.woocommerce-checkout .by-checkout .select2-selection--single {
    border-color:#dfe3da;
    border-radius:7px;
    background:#fff;
    min-height:52px;
    font-size:15px;
}
.woocommerce-checkout .by-checkout .form-row { margin-bottom:18px; }
.by-checkout #ship-to-different-address { margin-top:24px; font-size:15px; }
.by-checkout .woocommerce-additional-fields { margin-top:24px; }
.by-checkout .woocommerce-additional-fields h3 { font-size:17px; }
.by-checkout .by-payment-panel { border-top:1px solid #e4e8df; margin-top:28px; padding-top:24px; }
.woocommerce-checkout .by-checkout #payment { background:transparent; margin-top:0; }
.woocommerce-checkout .by-checkout #payment ul.payment_methods { padding:0; border:0; }
.woocommerce-checkout .by-checkout #payment ul.payment_methods > li {
    padding:15px;
    margin-bottom:10px;
    border:1px solid #dfe5d9;
    border-radius:8px;
    background:#fff;
}
.woocommerce-checkout .by-checkout #payment ul.payment_methods > li:has(input:checked) { border-color:#83977a; background:#f8faf5; }
.woocommerce-checkout .by-checkout #payment div.payment_box { padding:12px 0 0; background:transparent; margin:0; }
.woocommerce-checkout .by-checkout #payment div.payment_box:before { display:none; }
.woocommerce-checkout .by-checkout #payment div.form-row { padding:12px 0 0; }
.woocommerce-checkout .by-checkout #place_order { min-height:54px; font-size:16px; letter-spacing:.02em; }
.by-checkout-main .wcpay-express-checkout-wrapper { margin:0 0 26px!important; }
.by-checkout ul#shipping_method { text-align:left; margin:0; }
.by-checkout ul#shipping_method li {
    display:flex; align-items:flex-start; gap:9px;
    padding:12px; border:1px solid #dfe5d9; background:#fff; border-radius:7px; margin:0 0 8px;
}
.by-checkout ul#shipping_method li:has(input:checked) { border-color:#83977a; background:#edf2e8; }
.by-checkout ul#shipping_method input { margin-top:5px; flex-shrink:0; }
.by-checkout ul#shipping_method label { font-size:13px; line-height:1.6; }
.by-checkout .shop_table,
.by-checkout .shop_table tbody,
.by-checkout .shop_table tfoot { display:block; width:100%; }
.by-checkout .shop_table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; border-bottom:1px solid #e4e8df; gap:14px; }
.by-checkout .shop_table tr > td,
.by-checkout .shop_table tr > th { border:0; }
.by-checkout .shop_table tr.shipping { grid-template-columns:1fr; gap:0; }
.by-checkout .shop_table tr.shipping th { padding:16px 0 8px; }
.by-checkout .shop_table tr.shipping td { padding:0 0 14px; }
.by-checkout ul#shipping_method li { padding:13px 15px; }
.by-checkout ul#shipping_method label { display:block; width:100%; font-weight:400; }
.by-checkout ul#shipping_method .amount { float:right; font-weight:500; }
.by-checkout .shop_table tr.order-total { border:0; }
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { display:inline-block; vertical-align:top; margin-right:28px; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { font-size:13px; }
.woocommerce-checkout .by-checkout { margin-top:22px; }
.woocommerce-cart .entry-content > .woocommerce {
    display:grid; grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr); gap:32px;
    align-items:start;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .cart-empty, .woocommerce-cart .return-to-shop { grid-column:1 / -1; }
.woocommerce-cart .cart-collaterals { width:100%; position:sticky; top:24px; }
.woocommerce-cart .cart-collaterals .cart_totals { float:none; width:100%; margin:0; border:1px solid #e8ebe4; background:#f5f6f2; border-radius:12px; padding:24px; }
.woocommerce-cart .cart_totals h2 { font-size:22px; }
.woocommerce-cart .woocommerce-cart-form { min-width:0; }
.woocommerce-cart table.cart { margin:0; }
.woocommerce-cart table.cart td { padding:18px 8px; }
.woocommerce-cart table.cart .product-name a { font-size:14px; line-height:1.5; }
.woocommerce-cart table.cart .product-thumbnail { width:72px; }
.woocommerce-cart table.cart img { width:72px; aspect-ratio:1; object-fit:cover; border-radius:6px; }
.woocommerce-cart table.cart th { font-size:12px; padding:12px 8px; }
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal { font-size:14px; white-space:nowrap; }
.woocommerce-cart table.cart .quantity .qty { width:54px; }
.woocommerce-cart table.cart td.actions { padding-top:24px; }
.woocommerce-cart table.cart td.actions .coupon { display:flex; width:100%; margin-bottom:14px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { flex:1; width:auto!important; }
.woocommerce-cart table.cart td.actions > button { float:right; }
@media(max-width:900px) {
    .woocommerce-checkout .by-checkout,
    .woocommerce-cart .entry-content > .woocommerce { grid-template-columns:minmax(0,1fr)!important; gap:28px; }
    .by-checkout .by-checkout-summary, .woocommerce-cart .cart-collaterals { position:static; }
    .by-checkout .by-checkout-summary { grid-row:1; padding:22px; }
    .by-checkout-main { grid-row:2; }
}
@media(max-width:480px) {
    .by-checkout .by-checkout-summary { padding:18px; }
    .by-order-product { gap:10px; font-size:13px; }
    .by-order-product .by-order-image { width:54px; height:54px; }
    .by-checkout .form-row-first, .by-checkout .form-row-last { width:100%; float:none; }
    .woocommerce-cart table.cart .product-thumbnail { display:block!important; width:auto; }
    .woocommerce-cart table.cart .product-thumbnail:before { display:none; }
}
