/* mriaudio.com — WooCommerce's cart, checkout, account and the Stripe fields in the site's tokens (the approved cart and checkout designs,
   19 Oct 2026: lines on the left, the summary on the right, the quote page's fields). WooCommerce's own markup, our styles over its
   general stylesheet. Loaded on shop pages only (inc/assets.php). */
.woocommerce, .woocommerce-page { font: 400 16px/1.5 var(--sans); color: var(--black); }
.woo-wrap { padding: 32px var(--pad) 72px; }
.woo-wrap > h1 { font: 300 clamp(36px, 3.6vw, 56px)/1 var(--sans); letter-spacing: -.03em; margin-bottom: 26px; }
@media (max-width: 900px) { .woo-wrap { padding: 20px var(--pad) 44px; } }
.woocommerce .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top: 0; border-left: 3px solid var(--p600); background: rgba(208,255,251,.35); padding: 14px 18px; margin: 0 0 20px; font-size: 15px; list-style: none; border-radius: 4px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce-error { border-left-color: #C0392B; background: #FBEDEB; }
.woocommerce-message .button, .woocommerce-info .button { float: none; margin-left: 12px; }

/* Buttons: WooCommerce's as ours */
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #place_order,
.woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button, .woocommerce button.button.alt, .woocommerce a.button.alt {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 44px; padding: 0 18px; border-radius: 3px; border: 1px solid transparent;
  font: 500 12px/1 var(--mono); letter-spacing: 1px; text-transform: uppercase; text-decoration: none; white-space: nowrap; cursor: pointer; background: var(--p500); color: var(--p900); transition: background .15s; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #place_order:hover, .woocommerce button.button.alt:hover { background: var(--p400); color: var(--p900); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; color: var(--p900); background: var(--p500); padding: 0 18px; }
.woocommerce #place_order, .woocommerce .checkout-button { width: 100%; height: 50px; }

/* Forms: a line, not a box; the label above in mono capitals (the quote page's fields) */
.woocommerce form .form-row { padding: 0; margin: 0 0 22px; }
.woocommerce form .form-row label { font: 500 11px/1 var(--mono); letter-spacing: 1px; text-transform: uppercase; color: var(--n600); margin-bottom: 8px; }
.woocommerce form .form-row label .required { color: var(--p800); text-decoration: none; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea, .woocommerce-page form .form-row .input-text, .select2-container--default .select2-selection--single {
  width: 100%; padding: 10px 2px; border: 0; border-bottom: 1px solid var(--n200); border-radius: 0; background: transparent; font: 400 16px/1.5 var(--sans); color: var(--black); box-shadow: none; appearance: none; height: auto; }
.woocommerce form .form-row textarea { min-height: 110px; border: 1px solid var(--n100); border-radius: 4px; padding: 10px 12px; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus, .woocommerce form .form-row textarea:focus { outline: none; border-color: var(--p700); box-shadow: 0 1px 0 var(--p700); }
.select2-container--default .select2-selection--single { padding: 6px 0; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 2px; line-height: 1.5; color: var(--black); }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px; }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: #C0392B; }
.woocommerce form .form-row.woocommerce-validated .input-text { border-color: var(--n200); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 12px); }
.woocommerce form .form-row.mri-po { display: none; }
.woocommerce form .form-row.mri-po.show { display: block; }
.woocommerce .woocommerce-form-login .form-row, .woocommerce-account .woocommerce-form-login { max-width: 440px; }
.woocommerce form.login, .woocommerce form.checkout_coupon, .woocommerce form.register { border: 1px solid var(--n50); border-radius: 4px; padding: 24px; margin-bottom: 26px; }
.woocommerce .woocommerce-form__label-for-checkbox input { accent-color: var(--p700); width: 16px; height: 16px; margin-right: 8px; }
.woocommerce form .form-row label.checkbox { text-transform: none; font: 400 15px/1.4 var(--sans); letter-spacing: 0; color: var(--black); display: flex; align-items: center; gap: 10px; }
.woocommerce form .form-row label.checkbox input { accent-color: var(--p700); width: 16px; height: 16px; }
.woocommerce-form-coupon-toggle .woocommerce-info { background: var(--n20); border-left-color: var(--n200); }
.woocommerce .woocommerce-privacy-policy-text { font-size: 13.5px; color: var(--n600); }

/* The cart: lines left, the summary right (sticky on desktop) */
.woocommerce-cart .woo-wrap, .woocommerce-checkout .woo-wrap { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px 48px; align-items: start; }
.woocommerce-cart .woo-wrap > h1, .woocommerce-checkout .woo-wrap > h1, .woocommerce-cart .woo-wrap > .crumbs, .woocommerce-checkout .woo-wrap > .crumbs { grid-column: 1 / -1; margin-bottom: 0; }
.woocommerce-cart .woocommerce { display: contents; }
.woocommerce table.shop_table { border: 0; border-collapse: collapse; border-radius: 0; margin: 0; font-size: 15px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border: 0; border-bottom: 1px solid var(--n50); padding: 16px 12px 16px 0; vertical-align: middle; }
.woocommerce table.shop_table th { font: 500 11px/1.4 var(--mono); letter-spacing: .8px; text-transform: uppercase; color: var(--n500); }
.woocommerce table.shop_table thead th { border-top: 1px solid var(--n50); }
.woocommerce-cart table.cart { table-layout: fixed; width: 100%; }   /* the header row sets the columns: remove, picture, name (the rest), price, quantity, subtotal */
.woocommerce-cart table.cart th.product-remove { width: 36px; }
.woocommerce-cart table.cart th.product-thumbnail { width: 92px; }
.woocommerce-cart table.cart th.product-price, .woocommerce-cart table.cart th.product-subtotal { width: 104px; }
.woocommerce-cart table.cart th.product-quantity { width: 110px; }
.woocommerce-cart table.cart img { width: 72px; height: 72px; object-fit: contain; background: var(--n20); border-radius: 4px; padding: 6px; mix-blend-mode: multiply; }
.woocommerce-cart table.cart td.product-name a { color: var(--black); text-decoration: none; font-size: 16px; }
.woocommerce-cart table.cart td.product-name a:hover { color: var(--p800); }
.woocommerce-cart table.cart td.product-name .variation { font: 400 12px/1.4 var(--mono); color: var(--n500); margin-top: 4px; }
.woocommerce a.remove { color: var(--n400) !important; font-size: 20px; width: 28px; height: 28px; line-height: 28px; border-radius: 0; }
.woocommerce a.remove:hover { background: none; color: var(--black) !important; }
.woocommerce .quantity .qty { width: 72px; height: 40px; border: 1px solid var(--n100); border-radius: 4px; text-align: center; font: 400 16px/1 var(--sans); appearance: none; }
.woocommerce-cart table.cart td.actions { padding-top: 20px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 10px; align-items: center; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 160px !important; border: 1px solid var(--n100); border-radius: 4px; padding: 10px 12px; font: 400 14px/1 var(--sans); }
.woocommerce-cart table.cart td.actions .coupon label { display: none; }
.woocommerce-cart table.cart td.actions .button { height: 40px; }
.woocommerce-cart .cart-collaterals { width: 100%; position: sticky; top: calc(var(--hdr-h) + 24px); }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; padding: 24px; border-radius: 4px; background: var(--n20); border: 1px solid var(--n50); }
.woocommerce-cart .cart_totals h2 { font: 400 22px/1.2 var(--sans); letter-spacing: -.01em; margin-bottom: 12px; }
.woocommerce-cart .cart_totals table.shop_table { font-size: 15px; }
.woocommerce-cart .cart_totals table.shop_table th { text-transform: none; font: 400 15px/1.4 var(--sans); letter-spacing: 0; color: var(--n600); width: 40%; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .cart_totals .order-total td, .woocommerce-cart .cart_totals .order-total th { font-size: 18px; color: var(--black); border-bottom: 0; padding-top: 14px; }
.woocommerce-cart .cart_totals .order-total .amount { font: 400 24px/1 var(--sans); letter-spacing: -.02em; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 14px 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: 12px; margin: 0; }
.woocommerce-cart .cart_totals .woocommerce-shipping-destination, .woocommerce-cart .cart_totals .woocommerce-shipping-calculator { font-size: 13.5px; color: var(--n600); }
.woocommerce ul#shipping_method li { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.woocommerce ul#shipping_method li input { accent-color: var(--p700); margin: 0; }
.mri-cart-note { font-size: 13.5px; color: var(--n600); line-height: 1.45; margin-top: 12px; }
.mri-cart-note a { color: var(--p800); }
.woocommerce .cart-empty, .woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
.woocommerce .cart-empty.woocommerce-info { font-size: 18px; }
.woocommerce .return-to-shop a.button { margin-top: 10px; }
.woocommerce .cross-sells { display: none; }

/* The checkout: the form left, the order right */
.woocommerce-checkout .woo-wrap > .woocommerce, .woocommerce-checkout .woo-wrap form.checkout { display: contents; }   /* the shortcode's wrapper and the form give way to the grid */
.woocommerce-checkout .woo-wrap .woocommerce-notices-wrapper, .woocommerce-checkout .woo-wrap .woocommerce-form-login-toggle, .woocommerce-checkout .woo-wrap form.woocommerce-form-login, .woocommerce-checkout .woo-wrap .woocommerce-form-coupon-toggle, .woocommerce-checkout .woo-wrap form.checkout_coupon, .woocommerce-checkout .woo-wrap .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading { display: none; }   /* the heading lives inside the summary box, so the box starts level with the billing details */
.woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review::before { content: "Your order"; display: block; font: 400 22px/1.2 var(--sans); letter-spacing: -.01em; margin: 0 0 14px; color: var(--black); }
.woocommerce-checkout #customer_details { display: flex; flex-direction: column; gap: 34px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font: 400 22px/1.2 var(--sans); letter-spacing: -.01em; margin: 0 0 14px; }
.woocommerce-checkout h3#ship-to-different-address { font-size: 16px; }
.woocommerce-checkout h3#ship-to-different-address label { display: flex; align-items: center; gap: 10px; font: 400 16px/1.4 var(--sans); text-transform: none; letter-spacing: 0; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper, .woocommerce-checkout .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row { width: 100%; float: none; }
.woocommerce-checkout .form-row.form-row-wide, .woocommerce-checkout .form-row.notes, .woocommerce-checkout #billing_address_1_field, .woocommerce-checkout #shipping_address_1_field, .woocommerce-checkout #billing_company_field, .woocommerce-checkout #shipping_company_field, .woocommerce-checkout #billing_email_field { grid-column: 1 / -1; }
.woocommerce-checkout #order_review_heading { position: sticky; }
.woocommerce-checkout #order_review { padding: 24px; border-radius: 4px; background: var(--n20); border: 1px solid var(--n50); position: sticky; top: calc(var(--hdr-h) + 24px); }
.woocommerce-checkout #order_review table.shop_table { background: transparent; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { padding: 10px 0; font-size: 15px; }
.woocommerce-checkout #order_review table.shop_table thead { display: none; }
.woocommerce-checkout #order_review table.shop_table td.product-name { color: var(--n600); }
.woocommerce-checkout #order_review table.shop_table td.product-total, .woocommerce-checkout #order_review table.shop_table tfoot td { text-align: right; }
.woocommerce-checkout #order_review table.shop_table tfoot th { text-transform: none; font: 400 15px/1.4 var(--sans); letter-spacing: 0; color: var(--n600); }
.woocommerce-checkout #order_review table.shop_table tfoot .order-total th, .woocommerce-checkout #order_review table.shop_table tfoot .order-total td { font-size: 18px; color: var(--black); padding-top: 14px; border-top: 1px solid var(--n100); border-bottom: 0; }
.woocommerce-checkout #order_review table.shop_table tfoot .order-total .amount { font: 400 24px/1 var(--sans); letter-spacing: -.02em; }
.woocommerce-checkout #payment { background: transparent; border-radius: 0; margin-top: 16px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 0; padding: 0; display: grid; gap: 10px; }
.woocommerce-checkout #payment ul.payment_methods li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid var(--n100); border-radius: 4px; background: #fff; line-height: 1.4; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--p600); background: rgba(208,255,251,.35); }
.woocommerce-checkout #payment ul.payment_methods li input[type=radio] { accent-color: var(--p700); width: 16px; height: 16px; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 500; display: inline; white-space: nowrap; }
.woocommerce-checkout #payment ul.payment_methods li img { max-height: 22px; }
.woocommerce-checkout #payment div.payment_box { grid-column: 1 / -1; background: transparent; padding: 10px 0 0; margin: 0; font-size: 14px; color: var(--n600); }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.payment_box .wc-stripe-elements-field, .woocommerce-checkout #payment div.payment_box .wc-stripe-upe-element { border: 1px solid var(--n100); border-radius: 4px; padding: 12px; background: #fff; }
.woocommerce-checkout #payment .place-order { padding: 16px 0 0; }
.woocommerce-checkout .wc-stripe-express-checkout-element, .woocommerce-checkout #wc-stripe-express-checkout-element, .woocommerce-checkout .wc-stripe-express-checkout-button-separator { margin-bottom: 16px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13.5px; color: var(--n600); }
.woocommerce-checkout .mri-secure { font: 400 12px/1.4 var(--mono); letter-spacing: .4px; color: var(--n500); margin-top: 10px; }
@media (max-width: 900px) {
  .woocommerce-cart .woo-wrap, .woocommerce-checkout .woo-wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .woocommerce-cart .cart-collaterals, .woocommerce-checkout #order_review { position: static; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { grid-column: 1; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; }
  .woocommerce-cart table.cart tr td::before { font: 500 11px/1.4 var(--mono); letter-spacing: .8px; text-transform: uppercase; color: var(--n500); }
  .woocommerce .cart_totals table.shop_table_responsive tr td::before, .woocommerce-checkout table.shop_table_responsive tr td::before { content: none; }
  .woocommerce-cart table.cart td.actions .coupon { width: 100%; }
  /* The cart lines stack on a phone (WooCommerce's smallscreen stylesheet is not loaded; these are its rules in our tokens) */
  .woocommerce-cart table.cart thead { display: none; }
  .woocommerce-cart table.cart tbody tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--n50); }
  .woocommerce-cart table.cart tr td { display: flex; justify-content: space-between; align-items: center; gap: 12px; text-align: right; border: 0; padding: 6px 0; }
  .woocommerce-cart table.cart tr td::before { content: attr(data-title); text-align: left; flex: 0 0 auto; }
  .woocommerce-cart table.cart tr td.product-remove, .woocommerce-cart table.cart tr td.product-thumbnail { justify-content: flex-start; }
  .woocommerce-cart table.cart tr td.product-remove::before, .woocommerce-cart table.cart tr td.product-thumbnail::before, .woocommerce-cart table.cart tr td.actions::before { content: none; }
  .woocommerce-cart table.cart td.product-name { text-align: right; width: auto; }
  .woocommerce-cart table.cart td.product-name a { font-size: 15px; }
  .woocommerce-cart table.cart td.actions { display: flex; }
  .woocommerce-cart table.cart { width: 100%; max-width: 100%; }
  .woocommerce-cart table.cart td.product-quantity .quantity { margin-left: auto; }
}

/* The account: navigation left, the content right */
.woocommerce-account .woo-wrap .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; float: none; position: sticky; top: calc(var(--hdr-h) + 24px); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; border-bottom: 1px solid var(--n50); color: var(--n600); text-decoration: none; font-size: 15px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--black); border-bottom-color: var(--p500); }
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { font: 400 22px/1.2 var(--sans); letter-spacing: -.01em; margin: 0 0 14px; }
.woocommerce-account .woocommerce-MyAccount-content p { margin-bottom: 14px; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--p800); }
.woocommerce-account .woocommerce-MyAccount-content a.button { color: var(--p900); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { border: 1px solid var(--n50); border-radius: 4px; padding: 20px; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { font-size: 15px; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button { height: 36px; font-size: 11px; }
.woocommerce-account:not(.logged-in) .woo-wrap .woocommerce { grid-template-columns: minmax(0, 1fr); }
.woocommerce-account .mri-signin-note { font-size: 14px; color: var(--n600); margin-top: 14px; }
.woocommerce-account .mri-signin-note a { color: var(--p800); }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; text-transform: none; font: 400 15px/1.4 var(--sans); letter-spacing: 0; margin-bottom: 14px; }
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit { margin-top: 6px; }
.woocommerce-account .woocommerce-LostPassword { font-size: 14px; margin-top: 12px; }
@media (max-width: 900px) {
  .woocommerce-account .woo-wrap .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; gap: 18px; scrollbar-width: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; }
}

/* The order received page (the theme's own template) */
.woo-thanks .figs { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 36px; }
.woo-thanks .summary .row span { flex: 1; }
.woocommerce-order-received .woocommerce-order { display: contents; }

/* The account login: WooCommerce's show-password toggle has no icon in this theme; the field stands alone */
.woocommerce form .password-input .show-password-input { display: none; }
