/* ==========================================================================
   Mario West  |  WooCommerce in the site design
   Replaces WooCommerce's colour stylesheet. WooCommerce's layout stylesheet
   stays loaded underneath for structure.
   ========================================================================== */

/* ---------- shared ---------- */
.woocommerce .wc-wrap, .wc-wrap{ color:var(--on-light); }
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.woocommerce a{ text-decoration:none; }
.woocommerce .amount{ white-space:nowrap; }
.btn-disabled{ background:var(--bone-2); color:var(--on-light-3); border-color:var(--line); cursor:not-allowed; }
.btn-disabled:hover{ transform:none; }
.p-thumb-cover img{ object-fit:cover; padding:0; }
.stock.out{ color:var(--rose-deep); }
.stock.out::before{ background:var(--rose); }

/* WooCommerce buttons, wherever WooCommerce prints its own */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt,
.woocommerce-page a.button, .woocommerce-page button.button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 26px; border-radius:999px; border:1.5px solid var(--rose);
  background:var(--rose); color:#fff; cursor:pointer;
  font-family:var(--body); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  line-height:1.2; transition:background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover{ background:var(--rose-deep); border-color:var(--rose-deep); color:#fff; transform:translateY(-1px); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled],
.woocommerce button.button.disabled{ opacity:.55; cursor:not-allowed; transform:none; }
.woocommerce .btn-outline.button{ background:transparent; color:var(--on-light); border-color:var(--line); }
.woocommerce .btn-outline.button:hover{ background:var(--ink); color:var(--bone); border-color:var(--ink); }
.woocommerce a.added_to_cart{ display:none; } /* the toast offers View cart instead */
.woocommerce a.button.loading, .woocommerce .ajax_add_to_cart.loading{ opacity:.7; pointer-events:none; }
.ajax_add_to_cart.added::after{ content:" \2713"; }

/* ---------- notices ---------- */
.woocommerce-notices-wrapper:empty{ display:none; }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus{ outline:none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments{
  list-style:none; margin:0 0 22px; padding:15px 18px 15px 46px; position:relative;
  border-radius:var(--radius-lg); border:1px solid var(--line); background:var(--paper);
  color:var(--on-light); font-size:14.4px; line-height:1.5;
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before{
  content:""; position:absolute; left:18px; top:19px; width:12px; height:12px; border-radius:50%;
}
.woocommerce-message::before{ background:#28a05c; }
.woocommerce-info::before{ background:var(--gold); }
.woocommerce-error::before{ background:var(--rose); }
.woocommerce-error{ border-color:rgba(198,83,23,.4); background:#fff8f4; display:block; }
.woocommerce-error li{ margin:2px 0; }
.woocommerce .woocommerce-message a.button, .woocommerce .woocommerce-info a.button,
.woocommerce-message .button, .woocommerce-info .button{
  order:2; margin-left:auto; padding:9px 18px; font-size:11.5px;
  background:transparent; color:var(--on-light); border-color:var(--line);
}
.woocommerce .woocommerce-message a.button:hover, .woocommerce .woocommerce-info a.button:hover,
.woocommerce-message .button:hover, .woocommerce-info .button:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a{ color:var(--rose-deep); text-decoration:underline; }
.page-hero ~ .section .woocommerce-message, .bg-bone .woocommerce-message{ background:#fff; }

/* ---------- product page ---------- */
/* WooCommerce's layout sheet floats product columns. The theme grid handles layout. */
.mw-product .product-layout > .mw-summary{ float:none; width:auto; margin:0; }
.mw-product .mw-summary .btn{ width:auto; margin-top:0; }
.mw-product .mw-summary h3{ margin-bottom:0; }
.mw-product .mw-summary .pack-label{
  margin-top:26px; font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--on-light-3);
}
.mw-product form.cart{ margin:0; }
.mw-product table.variations{ border:0; margin:0; width:100%; border-collapse:collapse; }
.mw-product table.variations tr, .mw-product table.variations td, .mw-product table.variations tbody{ display:block; padding:0; border:0; }
.mw-product table.variations th.label{ display:none; }
.mw-product .mw-attr-select{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.mw-product .pack-options{ margin-top:10px; }
.mw-product .pack{ display:flex; align-items:center; gap:14px; padding:15px 17px; border:1px solid var(--line); border-radius:10px; background:var(--paper); cursor:pointer; transition:border-color .2s, background .2s; }
.mw-product .reset_variations{ display:none !important; }

/* availability and errors from WooCommerce, without its duplicate price */
.mw-variation-status .woocommerce-variation-price,
.mw-variation-status .woocommerce-variation-description{ display:none; }
.mw-variation-status .woocommerce-variation-availability p{ margin:12px 0 0; font-size:13px; font-weight:600; color:var(--on-light-2); }
.mw-variation-status .stock.out-of-stock{ color:var(--rose-deep); }
.mw-variation-status p.stock::before{ display:none; }

/* quantity and buttons row */
.mw-product .woocommerce-variation-add-to-cart, .mw-product form.cart:not(.variations_form){
  display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:22px;
}
.mw-product .single_add_to_cart_button{ padding:16px 30px; }
.mw-product .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{ opacity:.55; }
.mw-buy-now.btn{ padding:15px 28px; }

.quantity{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:var(--paper); }
.quantity .qty-btn{
  width:42px; height:46px; border:0; background:transparent; cursor:pointer; font-size:19px; line-height:1;
  color:var(--on-light); display:grid; place-items:center;
}
.quantity .qty-btn:hover{ background:var(--bone-2); }
.quantity input.qty{
  width:48px; height:46px; border:0; text-align:center; font-size:15px; font-weight:700;
  background:transparent; color:var(--on-light); -moz-appearance:textfield; appearance:textfield; padding:0;
}
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.quantity input.qty:focus{ outline:none; }
.quantity:has(input[type="hidden"]) { border:0; background:none; }
.quantity:has(input[type="hidden"]) .qty-btn{ display:none; }

/* tabs */
.mw-product .woocommerce-tabs .tab-panel h2:first-child{ display:none; }
.mw-product .woocommerce-tabs .tab-panel{ color:var(--on-light-2); }
.mw-product .woocommerce-tabs .ticks a{ color:var(--rose-deep); text-decoration:underline; }

/* product image placeholder */
.product-media .woocommerce-placeholder{ max-height:420px; opacity:.6; }
.product-thumbs button img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:6px; box-sizing:border-box; }

/* ---------- cart ---------- */
.cart-row .c-img a{ display:block; position:absolute; inset:0; }
.cart-row .c-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:9px; box-sizing:border-box; }
.cart-row h3{ text-transform:none; letter-spacing:-.01em; font-family:var(--body); font-weight:700; }
.cart-row h3 a:hover{ color:var(--rose-deep); }
.cart-row .c-meta dl.variation{ margin:0 0 4px; display:flex; flex-wrap:wrap; gap:4px 8px; }
.cart-row .c-meta dl.variation dt{ font-weight:700; }
.cart-row .c-meta dl.variation dd{ margin:0; }
.cart-row .c-meta dl.variation p{ margin:0; }
.cart-row .c-price{ white-space:nowrap; }
.cart-row .product-remove a{ font-size:12.4px; color:var(--on-light-3); text-decoration:underline; }
.cart-row .product-remove a:hover{ color:var(--rose-deep); }
.cart-row .quantity .qty-btn{ width:36px; height:38px; }
.cart-row .quantity input.qty{ width:40px; height:38px; }

.cart-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:20px; }
.cart-actions .coupon{ display:flex; gap:8px; margin-right:auto; flex-wrap:wrap; }
.cart-actions .coupon input{
  border:1px solid var(--line); border-radius:999px; padding:11px 18px; font:inherit; font-size:14px;
  background:var(--paper); color:var(--on-light); min-width:170px;
}
.cart-actions .coupon input:focus{ outline:none; border-color:var(--rose); }
html.js .mw-update-cart{ display:none; }

.ship-meter{ margin-bottom:16px; padding:14px 18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper); }
.ship-meter p{ font-size:14px; color:var(--on-light-2); margin:0 0 9px; }
.ship-meter b{ color:var(--on-light); }
.ship-bar{ display:block; height:6px; border-radius:999px; background:var(--bone-2); overflow:hidden; }
.ship-bar i{ display:block; height:100%; background:var(--rose); border-radius:999px; transition:width .4s var(--ease); }

/* cart totals as the summary card */
.cart-collaterals .cart_totals{
  width:100% !important; float:none !important;
  border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper);
  padding:26px 24px; position:sticky; top:96px;
}
.cart_totals h2{ font-size:18px; color:var(--on-light); margin-bottom:12px; }
.cart_totals table.shop_table, .woocommerce-checkout-review-order-table{ width:100%; border:0; border-collapse:collapse; margin:0; }
.cart_totals table th, .cart_totals table td{
  border:0; border-top:1px solid var(--line-s); padding:12px 0; font-size:14.4px; color:var(--on-light-2);
  text-align:left; vertical-align:top; background:none;
}
.cart_totals table td{ text-align:right; }
.cart_totals table tr:first-child th, .cart_totals table tr:first-child td{ border-top:0; }
.cart_totals .order-total th, .cart_totals .order-total td{
  border-top:1px solid var(--line); padding-top:16px;
  font-family:var(--display); font-weight:400; font-size:21px; color:var(--ink);
}
.cart_totals .order-total small{ display:block; font-family:var(--body); font-size:12px; color:var(--on-light-3); }
.cart_totals .woocommerce-shipping-methods{ margin:0; text-align:right; }
.cart_totals .woocommerce-shipping-methods li{ margin:0 0 6px; }
.cart_totals .woocommerce-shipping-destination{ font-size:12.4px; color:var(--on-light-3); margin:6px 0; }
.cart_totals .shipping-calculator-button{ font-size:12.4px; color:var(--rose-deep); text-decoration:underline; }
.cart_totals .shipping-calculator-form{ margin-top:10px; text-align:left; }
.cart_totals .wc-proceed-to-checkout{ padding:18px 0 0; }
.cart_totals .wc-proceed-to-checkout .checkout-button{ width:100%; padding:16px 22px; font-size:13px; margin:0; }
.cart-collaterals .cross-sells{ display:none; }

/* ---------- checkout ---------- */
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{ background:#fff; }
form.checkout_coupon, form.woocommerce-form-login{
  border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper);
  padding:22px; margin:0 0 22px; display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end;
}
form.checkout_coupon p{ margin:0; }
form.checkout_coupon .form-row-first{ flex:1 1 220px; }

form.checkout.woocommerce-checkout{
  display:grid; grid-template-columns:1.25fr .85fr; gap:0 clamp(26px,3.4vw,48px); align-items:start;
}
form.checkout > .woocommerce-NoticeGroup,
form.checkout > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
form.checkout #customer_details{ grid-column:1; grid-row:2 / span 4; }
form.checkout #order_review_heading{ grid-column:2; grid-row:2; margin:0; padding:26px 24px 0; background:var(--paper); border:1px solid var(--line); border-bottom:0; border-radius:var(--radius-lg) var(--radius-lg) 0 0; font-size:18px; color:var(--on-light); }
form.checkout #order_review{ grid-column:2; grid-row:3; background:var(--paper); border:1px solid var(--line); border-top:0; border-radius:0 0 var(--radius-lg) var(--radius-lg); padding:6px 24px 24px; }
.woocommerce form.checkout .col2-set{ width:100%; float:none; display:block; }
.woocommerce form.checkout .col2-set .col-1, .woocommerce form.checkout .col2-set .col-2{ width:100%; float:none; }
form.checkout #customer_details .col-1, form.checkout #customer_details .col-2{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); padding:clamp(22px,2.6vw,32px); margin-bottom:18px;
}
form.checkout h3{ font-size:18px; color:var(--on-light); margin:0 0 18px; }
form.checkout #ship-to-different-address{ font-family:var(--body); font-size:15px; text-transform:none; letter-spacing:0; font-weight:700; }
form.checkout #ship-to-different-address label{ display:flex; gap:10px; align-items:center; cursor:pointer; }

/* form rows: checkout, account, address forms */
.woocommerce form .form-row{ margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:7px; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last{ width:calc(50% - 8px); float:left; }
.woocommerce form .form-row-last{ float:right; }
.woocommerce form .form-row-wide{ clear:both; width:100%; }
.woocommerce-billing-fields__field-wrapper::after, .woocommerce-shipping-fields__field-wrapper::after,
.woocommerce-address-fields__field-wrapper::after{ content:""; display:table; clear:both; }
.woocommerce form .form-row label{
  font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--on-light-3); line-height:1.4; margin:0;
}
.woocommerce form .form-row label.checkbox, .woocommerce form .form-row label.woocommerce-form__label-for-checkbox{
  text-transform:none; letter-spacing:0; font-size:14px; font-weight:500; color:var(--on-light-2); display:flex; gap:9px; align-items:flex-start;
}
.woocommerce form .form-row .required{ color:var(--rose); text-decoration:none; border:0; }
.woocommerce form .form-row .optional{ text-transform:none; letter-spacing:0; font-weight:500; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce-input-wrapper input, .select2-container .select2-selection--single{
  width:100%; border:1px solid var(--line); border-radius:8px; background:var(--bone);
  padding:13px 14px; font:inherit; font-size:15px; color:var(--on-light); line-height:1.4; box-shadow:none;
}
.woocommerce form .form-row textarea{ min-height:110px; resize:vertical; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus{
  outline:none; border-color:var(--rose); background:#fff;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select{ border-color:var(--rose); }
.woocommerce form .form-row.woocommerce-validated input.input-text{ border-color:var(--line); }
.woocommerce-input-wrapper{ display:block; width:100%; }
.woocommerce input[type="checkbox"], .woocommerce input[type="radio"]{ accent-color:var(--rose); width:17px; height:17px; flex-shrink:0; margin-top:2px; }

.select2-container .select2-selection--single{ height:auto; min-height:49px; display:flex; align-items:center; padding:0 14px; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ padding:0; line-height:1.4; color:var(--on-light); }
.select2-container--default .select2-selection--single .select2-selection__arrow{ height:100%; right:10px; }
.select2-dropdown{ border-color:var(--line); border-radius:8px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{ background:var(--rose); }

/* order review table */
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td{
  border:0; border-bottom:1px solid var(--line-s); padding:12px 0; font-size:14px; color:var(--on-light-2); text-align:left; background:none; vertical-align:top;
}
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table th:last-child{ text-align:right; }
.woocommerce-checkout-review-order-table thead th{ font-size:11.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--on-light-3); }
.woocommerce-checkout-review-order-table .cart_item .product-name{ color:var(--on-light); font-weight:600; }
.woocommerce-checkout-review-order-table .product-quantity{ color:var(--on-light-3); font-weight:600; }
.woocommerce-checkout-review-order-table dl.variation{ margin:4px 0 0; font-weight:400; font-size:12.6px; color:var(--on-light-3); }
.woocommerce-checkout-review-order-table dl.variation dt, .woocommerce-checkout-review-order-table dl.variation dd{ display:inline; margin:0; }
.woocommerce-checkout-review-order-table dl.variation p{ display:inline; margin:0; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td{
  border-bottom:0; padding-top:16px; font-family:var(--display); font-weight:400; font-size:21px; color:var(--ink);
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods{ margin:0; }
.woocommerce-checkout-review-order-table .woocommerce-shipping-methods li{ margin:0 0 6px; }

/* payment */
#payment{ background:none; border-radius:0; margin-top:16px; }
#payment ul.payment_methods{ list-style:none; margin:0; padding:0; border:0; display:grid; gap:10px; }
#payment ul.payment_methods li{
  padding:15px 17px; border:1px solid var(--line); border-radius:10px; background:var(--paper); line-height:1.4; margin:0;
}
#payment ul.payment_methods li > input{ margin-right:8px; vertical-align:-3px; }
#payment ul.payment_methods li label{ font-weight:700; font-size:14.4px; color:var(--on-light); cursor:pointer; }
#payment ul.payment_methods li label img{ display:inline-block; max-height:24px; margin-left:6px; vertical-align:middle; }
#payment div.payment_box{
  margin:12px 0 0; padding:12px 14px; border-radius:8px; background:var(--bone); color:var(--on-light-2); font-size:13.4px;
}
#payment div.payment_box::before{ display:none; }
#payment div.payment_box p:last-child{ margin-bottom:0; }
#payment .place-order{ padding:18px 0 0; margin:0; }
#payment .woocommerce-terms-and-conditions-wrapper{ font-size:12.6px; color:var(--on-light-3); margin-bottom:14px; }
#payment .woocommerce-privacy-policy-text a, #payment .woocommerce-terms-and-conditions-wrapper a{ color:var(--rose-deep); text-decoration:underline; }
#place_order{ width:100%; padding:17px 22px; font-size:13.5px; }

/* order received */
.woocommerce-order{ color:var(--on-light-2); }
.woocommerce-order .woocommerce-thankyou-order-received{
  font-size:18px; color:var(--on-light); padding:18px 20px; border-radius:var(--radius-lg); background:var(--paper); border:1px solid var(--line); margin-bottom:22px;
}
ul.woocommerce-order-overview{
  list-style:none; margin:0 0 28px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px;
}
ul.woocommerce-order-overview li{
  padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--paper);
  font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--on-light-3);
}
ul.woocommerce-order-overview li strong{ display:block; margin-top:6px; font-size:15px; letter-spacing:0; text-transform:none; color:var(--on-light); }
.woocommerce-order-details, .woocommerce-customer-details{ margin-top:30px; }
.woocommerce-order-details__title, .woocommerce-column__title, .woocommerce-customer-details h2{ font-size:20px; color:var(--on-light); margin-bottom:14px; }
.woocommerce-table--order-details{ width:100%; border-collapse:collapse; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td{ padding:12px 16px; border-bottom:1px solid var(--line-s); text-align:left; font-size:14.4px; }
.woocommerce-table--order-details td:last-child, .woocommerce-table--order-details th:last-child{ text-align:right; }
.woocommerce-customer-details address{ font-style:normal; padding:18px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper); line-height:1.7; }

/* ---------- my account ---------- */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns:230px 1fr; gap:clamp(22px,3vw,44px); align-items:start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{ grid-column:1 / -1; }
.woocommerce-account:not(.logged-in) .woocommerce{ display:block; }
/* WooCommerce's layout sheet floats these at 30% / 68%; inside our grid that squeezes the menu */
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content{ float:none; width:auto; min-width:0; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper); overflow:hidden; }
.woocommerce-MyAccount-navigation li{ margin:0; padding:0; }
.woocommerce-MyAccount-navigation li a{ display:block; padding:13px 18px; line-height:1.35; overflow-wrap:anywhere; border-bottom:1px solid var(--line-s); font-weight:600; font-size:14.4px; color:var(--on-light-2); }
.woocommerce-MyAccount-navigation li:last-child a{ border-bottom:0; }
.woocommerce-MyAccount-navigation li.is-active a{ color:var(--rose-deep); background:rgba(198,83,23,.05); }
.woocommerce-MyAccount-content{ color:var(--on-light-2); }
.woocommerce-MyAccount-content p{ margin:0 0 14px; }
.woocommerce-MyAccount-content a:not(.button){ color:var(--rose-deep); text-decoration:underline; }
.woocommerce-MyAccount-content table{ width:100%; border-collapse:collapse; }
.woocommerce-MyAccount-content th, .woocommerce-MyAccount-content td{ padding:10px 12px; border-bottom:1px solid var(--line-s); text-align:left; font-size:14.4px; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password, .woocommerce form.woocommerce-EditAccountForm{
  border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--paper); padding:clamp(22px,2.6vw,32px); max-width:560px;
}
.u-columns.col2-set{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.u-columns.col2-set .u-column1, .u-columns.col2-set .u-column2{ width:auto; float:none; }
.woocommerce-account h2{ font-size:22px; color:var(--on-light); margin-bottom:16px; }

/* ---------- responsive ---------- */
@media (max-width:900px){
  form.checkout.woocommerce-checkout{ grid-template-columns:1fr; }
  form.checkout #customer_details, form.checkout #order_review_heading, form.checkout #order_review{ grid-column:1; grid-row:auto; }
  form.checkout #order_review_heading{ margin-top:8px; }
  .cart-collaterals .cart_totals{ position:static; }
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
  .u-columns.col2-set{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .woocommerce form .form-row-first, .woocommerce form .form-row-last{ width:100%; float:none; }
  .cart-actions .coupon{ width:100%; margin-right:0; }
  .cart-actions .coupon input{ flex:1; min-width:0; }
  .mw-product .woocommerce-variation-add-to-cart{ gap:10px; }
  .mw-product .single_add_to_cart_button, .mw-buy-now.btn{ flex:1 1 auto; }
  .woocommerce-message, .woocommerce-info{ padding-left:40px; }
  .woocommerce-message .button, .woocommerce-info .button{ margin-left:0; }
}
