/* Shopping only: native WooCommerce forms, amounts, fields and AJAX stay in charge. */
.mh-shopping .mh-page-heading { margin-bottom: 28px; }
.mh-shopping .mh-page-heading h1 { font-size: clamp(34px, 3.6vw, 50px); margin-top: 24px; }
.mahatma-editorial.mh-shopping .mh-purchase-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px !important; margin-bottom: 40px !important; padding-bottom: 0; border: 0; }
.mh-shopping .mh-purchase-steps li { padding: 0 0 20px; border-bottom: 2px solid var(--mh-line); gap: 12px; }
.mh-shopping .mh-purchase-steps li[aria-current] { border-color: var(--mh-accent); }
.mh-shopping .mh-purchase-steps a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--mh-ink); }
.mh-shopping .mh-purchase-steps li > span { flex-shrink: 0; }
.mh-shopping:has(.mh-empty-cart) .mh-purchase-steps { display: none !important; }
.mahatma-editorial.mh-shopping #content .woocommerce { min-width: 0; }
.mahatma-editorial.mh-shopping #content .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { border: 1px solid var(--mh-line); border-left: 3px solid var(--mh-accent); background: var(--mh-white); padding: 16px 20px; font-size: 12px; line-height: 1.8; color: var(--mh-ink); margin: 0 0 20px; }
.mahatma-editorial.mh-shopping #content .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { display: none; }
.mahatma-editorial.mh-shopping #content .woocommerce .woocommerce-error { border-left-color: #934b3b; }
.mh-shopping .woocommerce-info a { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.mahatma-editorial.mh-shopping #content .woocommerce input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]), .mahatma-editorial.mh-shopping #content .woocommerce textarea { border-color: var(--mh-line) !important; background: var(--mh-white) !important; font-size: 13px; }
.mahatma-editorial.mh-shopping #content .woocommerce input:focus, .mahatma-editorial.mh-shopping #content .woocommerce textarea:focus { border-color: var(--mh-accent) !important; }
.mh-shopping :is(input[type=radio], input[type=checkbox]) { accent-color: var(--mh-accent); }
.mh-shopping :is(input[type=radio], input[type=checkbox]):focus-visible { outline-offset: 3px; }
.mh-shopping ins { text-decoration: none; }
.mh-shopping .woocommerce-cart-form, .mh-shopping .cart-collaterals { min-width: 0; }
.mahatma-editorial.mh-shopping.woocommerce-cart .mh-page-body > .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: minmax(0, 1.65fr) minmax(340px, .95fr); gap: 40px; align-items: start; }
.mh-cart-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 20px; }
.mahatma-editorial.mh-shopping #content .mh-cart-heading h2 { margin: 0; font-size: 28px; }
.mh-cart-heading > span { font-size: 11px; color: var(--mh-muted); white-space: nowrap; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form table.shop_table { border-top: 1px solid var(--mh-line) !important; margin: 0 0 24px; }
.mh-shopping .woocommerce-cart-form thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 72px minmax(0, 1fr) 76px 80px 44px; grid-template-areas: 'cover title quantity subtotal remove' 'cover price quantity subtotal remove'; gap: 8px 16px; padding: 24px 0; border-bottom: 1px solid var(--mh-line); align-items: center; position: relative; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form tr.cart_item td { display: block; padding: 0; width: auto; border: 0; text-align: left !important; background: transparent; }
/* The historical theme marks cell padding and borders important; neutralize that layer. */
body.mahatma-editorial.mh-shopping #page-container #wrapper #content .woocommerce-cart-form tr.cart_item td { padding: 0 !important; border: 0 !important; min-width: 0; box-shadow: none !important; }
.mh-shopping .woocommerce-cart-form td::before { float: none !important; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-thumbnail { display: block !important; grid-area: cover; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form .product-thumbnail img { width: 72px; min-width: 0; height: 104px; background: var(--mh-surface); object-fit: contain; padding: 4px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-name { grid-area: title; align-self: end; padding: 0 !important; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form table.shop_table td.product-name a { font-size: 20px !important; text-align: left; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-price { grid-area: price; align-self: start; color: var(--mh-muted); font-size: 12px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-price::before { content: attr(data-title) ': '; display: inline; font-weight: 400; font-size: 10px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-quantity { grid-area: quantity; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-quantity::before, .mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-subtotal::before { content: attr(data-title); display: block; font-weight: 400; font-size: 10px; color: var(--mh-muted); }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-subtotal { grid-area: subtotal; text-align: right !important; display: flex; flex-direction: column; align-items: flex-end; gap: 16px; font-size: 16px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-subtotal .amount { font-size: 16px !important; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-remove { display: block !important; grid-area: remove; position: static; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form .product-remove a.remove { width: 44px; height: 44px; min-height: 44px; display: grid; place-items: center; margin: 0; border: 1px solid var(--mh-line); border-radius: 0; font-size: 24px; line-height: 1; background: transparent !important; color: var(--mh-muted) !important; }
.mh-shopping .woocommerce-cart-form .product-remove a.remove::before { display: none !important; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form .quantity { margin: 0; float: none; width: 64px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form .quantity input { display: block !important; width: 64px !important; max-width: 100%; height: 48px; margin: 0; padding: 8px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.actions { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: start; padding: 24px 0; border: 0; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content .woocommerce-cart-form td.actions { padding: 24px 0 !important; border: 0 !important; }
.mh-shopping .woocommerce-cart-form .coupon { flex: 1; float: none !important; gap: 12px; }
.mh-shopping .coupon-error-notice { flex-basis: 100%; margin: 0; font-size: 12px; line-height: 1.8; color: #934b3b; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form .coupon .input-text { flex: 1; min-width: 100px; width: 140px !important; height: 48px; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form button[name=update_cart] { background: transparent !important; color: var(--mh-accent) !important; }
.mahatma-editorial.mh-shopping #content .woocommerce-cart-form button[name=update_cart]:hover { background: var(--mh-surface) !important; }
.mh-continue-shopping { display: inline-flex; gap: 16px; align-items: center; min-height: 44px; font-size: 12px; }
.mahatma-editorial.mh-shopping #content .cart-collaterals .cart_totals { padding: 28px; border: 1px solid var(--mh-line); background: var(--mh-white); }
.mahatma-editorial.mh-shopping #content .cart_totals h2 { font-size: 28px; margin: 0 0 24px; padding: 0; border: 0; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) table.shop_table { display: block; margin-bottom: 0; }
.mh-shopping :is(.cart_totals, #order_review) table.shop_table :is(thead, tbody, tfoot) { display: block; }
.mh-shopping :is(.cart_totals, #order_review) table.shop_table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) table.shop_table :is(th, td) { display: block !important; min-width: 0; }
.mahatma-editorial.mh-shopping #content .cart_totals table.shop_table td::before { display: none !important; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) table.shop_table :is(td, th) { padding: 16px 0; text-transform: none; letter-spacing: 0; font-size: 12px; vertical-align: top; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) table.shop_table td { text-align: right; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content :is(.cart_totals, #order_review) table.shop_table :is(td, th) { padding: 16px 0 !important; border: 0 !important; }
.mh-shopping :is(.cart_totals, #order_review) table.shop_table tr { border-bottom: 1px solid var(--mh-line); }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) .woocommerce-shipping-totals { display: block; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content :is(.cart_totals, #order_review) table.shop_table .shipping :is(th, td) { display: block !important; width: 100%; text-align: left !important; background: transparent; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content :is(.cart_totals, #order_review) table.shop_table .shipping th { padding: 20px 0 12px !important; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content :is(.cart_totals, #order_review) table.shop_table .shipping td { padding: 0 0 20px !important; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) tr.shipping { display: block; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) ul#shipping_method { padding: 0; margin: 0; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) ul#shipping_method li { display: block; position: relative; padding: 0; margin: 0 0 8px; border: 1px solid var(--mh-line); background: var(--mh-paper); text-align: left; }
.mahatma-editorial.mh-shopping #content ul#shipping_method li:has(input:checked) { border-color: var(--mh-accent); background: #6541550a; }
.mahatma-editorial.mh-shopping #content ul#shipping_method input[type=radio] { position: absolute; top: 17px; left: 14px; margin: 0; width: 18px; height: 18px; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content ul#shipping_method label { display: block; width: 100%; min-height: 52px; padding: 14px 14px 14px 44px; font: 400 12px/1.8 Montserrat, sans-serif; color: var(--mh-ink); margin: 0; cursor: pointer; overflow-wrap: anywhere; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content ul#shipping_method li:has(input[type=hidden]) label { padding-left: 14px; }
.mahatma-editorial.mh-shopping #content ul#shipping_method .amount { display: inline-block; margin-left: 4px; font-size: inherit !important; white-space: nowrap; }
.mh-shopping ul#shipping_method li:focus-within { outline: 2px solid var(--mh-accent); outline-offset: 2px; }
.mh-shopping .woocommerce-shipping-destination { color: var(--mh-muted); font-size: 11px; line-height: 1.8; margin: 16px 0 0; }
.mh-shopping .shipping-calculator-button { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; }
.mahatma-editorial.mh-shopping #content :is(.cart_totals, #order_review) table.shop_table .order-total :is(th, td) { padding-top: 20px; border-top: 1px solid var(--mh-line); font-size: 19px !important; }
.mh-shopping .order-total .includes_tax { display: block; font-size: 10px; line-height: 1.8; color: var(--mh-muted); }
.mahatma-editorial.mh-shopping #content .order-total .amount { font-size: inherit !important; }
.mh-order-help { border-top: 1px solid var(--mh-line); margin: 24px 0 0; padding-top: 16px; font-size: 11px; line-height: 1.8; color: var(--mh-muted); }
.mh-order-help a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.mh-shopping .woocommerce-form-login-toggle, .mh-shopping .woocommerce-form-coupon-toggle { max-width: 100%; }
.mh-checkout-tools { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 24px; margin-bottom: 32px; }
.mh-checkout-tools > :not(.woocommerce-form-login-toggle):not(.woocommerce-form-coupon-toggle) { grid-column: 1 / -1; }
.mahatma-editorial.mh-shopping #content .mh-checkout-tools .woocommerce-info { height: 100%; margin-bottom: 0; }
.mahatma-editorial.mh-shopping #content .woocommerce form:is(.checkout_coupon, .woocommerce-form-login) { border: 1px solid var(--mh-line); padding: 24px; background: var(--mh-white); margin: 0 0 24px; }
.mh-checkout-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .9fr); gap: 48px; align-items: start; }
.mh-checkout-customer { min-width: 0; }
.mahatma-editorial.mh-shopping #content form.checkout #customer_details { display: block; width: 100%; float: none; }
.mahatma-editorial.mh-shopping #content #customer_details .col-1, .mahatma-editorial.mh-shopping #content #customer_details .col-2 { width: 100%; float: none; padding: 0; }
.mahatma-editorial.mh-shopping #content .woocommerce-billing-fields > h3 { font-size: 28px; line-height: 1.3; margin: 0 0 12px; }
.mh-fields-note { color: var(--mh-muted); font-size: 11px; margin: 0 0 28px; }
.mh-shopping :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 24px; }
.mahatma-editorial.mh-shopping #content form.checkout .form-row { float: none; width: 100%; padding: 0; margin: 0 0 24px; min-width: 0; }
.mh-shopping :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > .form-row { grid-column: 1 / -1; }
.mh-shopping :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) > :is(.form-row-first, .form-row-last) { grid-column: auto; }
.mahatma-editorial.mh-shopping #content form.checkout label { display: block; margin-bottom: 8px; font-size: 12px; }
.mahatma-editorial.mh-shopping #content form.checkout :is(input.input-text, textarea) { width: 100%; padding: 12px; font-size: 14px; }
body.mahatma-editorial.mh-shopping #page-container #wrapper #content form.checkout .woocommerce-invalid :is(input.input-text, .select2-selection) { border-color: #934b3b !important; }
.mahatma-editorial.mh-shopping #content form.checkout .woocommerce-validated input.input-text { border-color: var(--mh-line); }
.mahatma-editorial.mh-shopping #content form.checkout .woocommerce-account-fields { padding: 20px 0; border-top: 1px solid var(--mh-line); }
.mahatma-editorial.mh-shopping #content form.checkout :is(.create-account, #ship-to-different-address) label { display: flex; align-items: center; gap: 12px; margin: 0; min-height: 44px; font-size: 13px; line-height: 1.6; }
.mh-shopping :is(.create-account, #ship-to-different-address) input { flex-shrink: 0; margin: 0; }
.mahatma-editorial.mh-shopping #content form.checkout .woocommerce-shipping-fields { border-top: 1px solid var(--mh-line); padding-top: 24px; }
.mahatma-editorial.mh-shopping #content #ship-to-different-address { margin: 0 0 24px; font-family: Montserrat, sans-serif !important; font-size: 13px; }
.mahatma-editorial.mh-shopping #content form.checkout .woocommerce-additional-fields { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--mh-line); }
.mahatma-editorial.mh-shopping #content .woocommerce-additional-fields h3 { font-size: 25px; margin: 0 0 24px; }
.mahatma-editorial.mh-shopping #content form.checkout textarea { min-height: 120px; resize: vertical; }
.mh-checkout-summary { padding: 28px; border: 1px solid var(--mh-line); background: var(--mh-white); min-width: 0; }
.mh-checkout-summary-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 20px; }
.mahatma-editorial.mh-shopping #content form.checkout #order_review_heading { padding: 0; margin: 0; width: auto; float: none; font-size: 28px; line-height: 1.3; background: transparent; }
.mh-checkout-summary-heading > a { min-height: 44px; display: inline-flex; align-items: center; font-size: 10px; white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; }
.mahatma-editorial.mh-shopping #content form.checkout #order_review { padding: 0; float: none; width: 100%; background: transparent; }
.mahatma-editorial.mh-shopping #content #order_review .shop_table td.product-name { font-size: 17px; line-height: 1.6; text-align: left; padding-right: 20px; }
.mh-shopping #order_review .product-quantity { display: inline-block; color: var(--mh-muted); font-family: Montserrat, sans-serif; font-size: 11px; white-space: nowrap; }
.mahatma-editorial.mh-shopping #content form.checkout #payment .payment_methods { padding: 20px 0; border-bottom: 1px solid var(--mh-line); }
.mahatma-editorial.mh-shopping #content form.checkout #payment .woocommerce-info { background: var(--mh-paper); font-size: 11px; }
.mahatma-editorial.mh-shopping #content form.checkout #payment .place-order { margin: 0; padding: 20px 0 0; }
.mh-shopping #payment .woocommerce-privacy-policy-text { color: var(--mh-muted); }
.mahatma-editorial.mh-shopping #content #payment .woocommerce-terms-and-conditions-wrapper label { font-size: 11px; line-height: 1.8; }
.mh-shopping #payment .woocommerce-terms-and-conditions-checkbox-text a { text-decoration: underline; text-underline-offset: 3px; }
.mh-shopping #payment .woocommerce-terms-and-conditions { border: 1px solid var(--mh-line); background: var(--mh-paper); padding: 16px; font-size: 12px; }
.mh-shopping .select2-container .select2-selection--single:focus { border-color: var(--mh-accent); }
.mahatma-editorial.mh-shopping #content .mh-empty-cart { border: 1px solid var(--mh-line); background: var(--mh-white); text-align: center; padding: 56px 24px; margin: 0 auto 24px; max-width: 800px; }
.mh-empty-cart-icon { width: 64px; height: 64px; display: inline-grid; place-items: center; border: 1px solid var(--mh-line); color: var(--mh-accent); margin-bottom: 24px; }
.mh-empty-cart-icon svg { width: 28px; height: 28px; }
.mahatma-editorial.mh-shopping #content .mh-empty-cart h2 { font-size: clamp(29px, 3vw, 40px); line-height: 1.2; margin: 0 0 24px; }
.mahatma-editorial.mh-shopping #content .mh-empty-cart .woocommerce-info { background: transparent; border: 0; padding: 0; margin: 0 0 28px; color: var(--mh-muted); }
.mahatma-editorial.mh-shopping #content .mh-empty-cart .return-to-shop { margin: 0; }
.mh-empty-cart .return-to-shop a { display: inline-flex; gap: 32px; align-items: center; }
@media (max-width: 1100px) {
    .mh-checkout-layout { gap: 32px; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); }
    .mahatma-editorial.mh-shopping.woocommerce-cart .mh-page-body > .woocommerce:has(.woocommerce-cart-form) { gap: 24px; grid-template-columns: minmax(0, 1fr) 340px; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form tr.cart_item { grid-template-columns: 64px minmax(0, 1fr) 68px 64px 44px; gap: 8px 12px; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form table.shop_table td.product-name a { font-size: 18px !important; }
}
@media (max-width: 991px) {
    .mahatma-editorial.mh-shopping.woocommerce-cart .mh-page-body > .woocommerce:has(.woocommerce-cart-form), .mh-checkout-layout { grid-template-columns: minmax(0, 1fr); }
    .mh-shopping .mh-checkout-summary { margin-top: 0; }
    .mahatma-editorial.mh-shopping #content .cart_totals { max-width: none; }
}
@media (max-width: 767px) {
    .mh-shopping .mh-page-heading { margin-bottom: 24px; }
    .mh-checkout-tools { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .mahatma-editorial.mh-shopping .mh-purchase-steps { gap: 12px !important; font-size: 10px !important; margin-bottom: 28px !important; }
    .mh-shopping .mh-purchase-steps li { flex-direction: column; align-items: flex-start; gap: 8px !important; padding-bottom: 16px; }
    .mh-shopping .mh-purchase-steps a { flex-direction: column; align-items: flex-start; gap: 8px; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form tr.cart_item { grid-template-columns: 64px minmax(0, 1fr) 80px; grid-template-areas: 'cover title title' 'cover price price' 'quantity quantity subtotal'; gap: 12px; padding-block: 24px; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-name { padding-right: 44px !important; }
    body.mahatma-editorial.mh-shopping #page-container #wrapper #content .woocommerce-cart-form tr.cart_item td.product-name { padding-right: 44px !important; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-remove { position: absolute; top: 20px; right: 0; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form td.product-quantity { align-items: flex-start; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form .product-thumbnail img { width: 64px; height: 94px; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form .coupon { flex-basis: 100%; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form .coupon .input-text { width: 100% !important; flex-basis: 100%; }
    .mahatma-editorial.mh-shopping #content .woocommerce-cart-form .coupon button, .mahatma-editorial.mh-shopping #content .woocommerce-cart-form button[name=update_cart] { width: 100%; }
    .mahatma-editorial.mh-shopping #content .cart-collaterals .cart_totals, .mh-checkout-summary { padding: 20px; }
    .mh-shopping :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) { grid-template-columns: minmax(0, 1fr); }
    .mh-checkout-summary-heading { display: block; }
    .mahatma-editorial.mh-shopping #content form.checkout #order_review_heading { margin: 0 0 8px; font-size: 27px; }
    .mahatma-editorial.mh-shopping #content form.checkout :is(.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-checkbox-text) { font-size: 11px; }
    .mahatma-editorial.mh-shopping #content .mh-empty-cart { padding: 32px 20px; }
}
