/*
 * Mighty Generation Network — WooCommerce responsive commerce layout.
 * Purpose: prevent the theme's editorial max-w-3xl/prose width from
 * collapsing Checkout, Cart, My Account and shop experiences.
 * Scoped to WooCommerce so regular site editorial pages are untouched.
 */
body.woocommerce-page .mgn-commerce-article,
body .mgn-commerce-article {
  box-sizing:border-box;
  width:min(100%,1280px)!important;
  max-width:1280px!important;
  min-width:0!important;
  padding:clamp(32px,4vw,62px) clamp(20px,3.6vw,52px) 75px!important;
  margin-inline:auto!important;
  color:#193d2e;
  font-family:Inter,Arial,sans-serif;
}
body .mgn-commerce-article *,
body .mgn-commerce-article *::before,
body .mgn-commerce-article *::after {
  box-sizing:border-box;
}
body .mgn-commerce-article > header {
  margin:0 0 32px!important;
  padding:0 0 20px;
  border-bottom:1px solid #e0e9df;
}
body .mgn-commerce-article > header h1 {
  margin:0!important;
  color:#083f30!important;
  font-family:"Nunito Sans",Inter,Arial,sans-serif!important;
  font-weight:900!important;
  font-size:clamp(32px,3.5vw,52px)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  max-width:100%;
  overflow-wrap:break-word;
}
body .mgn-commerce-article .mgn-commerce-content{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-family:Inter,Arial,sans-serif;
  font-size:15px;
  line-height:1.65;
  color:#253f31;
}
body .mgn-commerce-article .mgn-commerce-content > *,
body .mgn-commerce-article .mgn-commerce-content > .woocommerce,
body .mgn-commerce-article .mgn-commerce-content > .wp-block-woocommerce-checkout,
body .mgn-commerce-article .mgn-commerce-content > .wp-block-woocommerce-cart,
body .mgn-commerce-article .mgn-commerce-content > .wp-block-woocommerce-my-account{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body .mgn-commerce-article .woocommerce,
body .mgn-commerce-article .wc-block-checkout,
body .mgn-commerce-article .wc-block-cart,
body .mgn-commerce-article .wc-block-components-sidebar-layout {
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
/* Checkout block: keep both columns inside the content boundary. */
body .mgn-commerce-article .wc-block-components-sidebar-layout{
  display:flex;
  gap:clamp(20px,3vw,40px);
  flex-wrap:nowrap;
  align-items:flex-start;
  justify-content:space-between;
}
body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-main{
  min-width:0!important;
  box-sizing:border-box;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  max-width:none!important;
  flex:1 1 61%;
}
body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-sidebar{
  box-sizing:border-box;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  flex:0 1 36%;
}
body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-main > *,
body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-sidebar > *,
body .mgn-commerce-article .wc-block-checkout__main,
body .mgn-commerce-article .wc-block-cart__main{
  min-width:0!important;
  max-width:100%!important;
}
body .mgn-commerce-article .wc-block-components-order-summary{
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
body .mgn-commerce-article .wc-block-components-order-summary .wc-block-components-order-summary-item,
body .mgn-commerce-article .wc-block-cart-items{
  min-width:0;
}
body .mgn-commerce-article .wc-block-components-checkout-step{
  padding:clamp(18px,2.3vw,30px)!important;
  margin:0 0 17px!important;
  background:#fff!important;
  border:1px solid #e0e9e0!important;
  border-radius:16px!important;
  box-shadow:0 6px 24px rgba(17,69,35,.045);
}
body .mgn-commerce-article .wc-block-components-checkout-step__heading{
  align-items:center;
  gap:10px;
}
body .mgn-commerce-article .wc-block-components-title,
body .mgn-commerce-article .wc-block-components-checkout-step__title,
body .mgn-commerce-article .wc-block-components-panel__button{
  max-width:100%;
  font-family:"Nunito Sans",Inter,Arial,sans-serif!important;
  font-size:clamp(19px,1.6vw,24px)!important;
  font-weight:850!important;
  line-height:1.4!important;
  letter-spacing:-.02em;
  color:#143e2d!important;
  overflow-wrap:break-word;
}
body .mgn-commerce-article .wc-block-components-checkout-step__description,
body .mgn-commerce-article .wc-block-components-address-form,
body .mgn-commerce-article .wc-block-components-text-input,
body .mgn-commerce-article .wc-block-components-select,
body .mgn-commerce-article .wc-block-components-radio-control {
  min-width:0!important;
  max-width:100%!important;
}
body .mgn-commerce-article .wc-block-components-text-input input,
body .mgn-commerce-article .wc-block-components-select select,
body .mgn-commerce-article .wc-block-components-form input,
body .mgn-commerce-article .wc-block-components-form textarea{
  max-width:100%;
  min-width:0;
  border-radius:8px;
  border-color:#ccddd1;
  background:#fbfdfb;
  font-family:Inter,Arial,sans-serif;
}
body .mgn-commerce-article .wc-block-components-form .wc-block-components-text-input input{
  min-height:48px;
}
body .mgn-commerce-article .wc-block-components-order-summary,
body .mgn-commerce-article .wc-block-checkout__sidebar,
body .mgn-commerce-article .wc-block-cart__sidebar{
  background:#f8fbf6;
  border:1px solid #dfeadf;
  border-radius:16px;
  padding:clamp(16px,2.2vw,27px);
  min-width:0;
  box-sizing:border-box;
}
body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-order-summary{
  border:0;
  background:transparent;
  padding:0;
}
body .mgn-commerce-article .wc-block-components-order-summary .wc-block-components-product-name,
body .mgn-commerce-article .wc-block-components-order-summary .wc-block-components-totals-item__label{
  overflow-wrap:anywhere;
}
body .mgn-commerce-article .wc-block-components-button:not(.is-link),
body .mgn-commerce-article .wc-block-checkout__actions_row .wc-block-components-button,
body .mgn-commerce-article .wc-block-cart__submit-button {
  min-height:50px;
  border:0;
  border-radius:10px;
  background:#f24d2a;
  color:#fff;
  font-weight:900;
  font-family:"Nunito Sans",Inter,Arial,sans-serif;
  transition:background .2s;
}
body .mgn-commerce-article .wc-block-components-button:not(.is-link):hover,
body .mgn-commerce-article .wc-block-cart__submit-button:hover {
  background:#d53d1e;
}
body .mgn-commerce-article .wc-block-components-validation-error,
body .mgn-commerce-article .woocommerce-error{
  max-width:100%;
  overflow-wrap:anywhere;
}
/* Classic checkout: two proper columns instead of squeezed floats. */
@media(min-width:900px){
  body .mgn-commerce-article .woocommerce-checkout form.checkout,
  body .mgn-commerce-article .woocommerce form.checkout{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.8fr);
    gap:20px 34px;
    align-items:start;
  }
  body .mgn-commerce-article .woocommerce form.checkout .col2-set,
  body .mgn-commerce-article .woocommerce-checkout form.checkout .col2-set{
    grid-column:1;
    width:100%;
    min-width:0;
    float:none;
  }
  body .mgn-commerce-article .woocommerce form.checkout #order_review_heading,
  body .mgn-commerce-article .woocommerce-checkout form.checkout #order_review_heading{
    grid-column:2;
    grid-row:1;
    margin:0;
    float:none;
  }
  body .mgn-commerce-article .woocommerce form.checkout #order_review,
  body .mgn-commerce-article .woocommerce-checkout form.checkout #order_review{
    grid-column:2;
    grid-row:1 / span 2;
    margin-top:50px;
    min-width:0;
    width:100%;
    float:none;
  }
  body .mgn-commerce-article .woocommerce form.checkout #customer_details .col-1,
  body .mgn-commerce-article .woocommerce form.checkout #customer_details .col-2{
    float:none!important;
    width:100%!important;
    max-width:none!important;
  }
}
/* Classic WooCommerce customer forms, cart and account. */
body .mgn-commerce-article .woocommerce form .form-row input.input-text,
body .mgn-commerce-article .woocommerce form .form-row textarea,
body .mgn-commerce-article .woocommerce form .form-row select{
  display:block;
  box-sizing:border-box;
  min-width:0;
  width:100%;
  max-width:100%;
  border:1px solid #cfdfd2;
  border-radius:9px;
  padding:12px 14px;
  min-height:46px;
  background:#fff;
}
body .mgn-commerce-article .woocommerce button.button,
body .mgn-commerce-article .woocommerce a.button,
body .mgn-commerce-article .woocommerce input.button{
  border-radius:9px;
  font-weight:800;
}
body .mgn-commerce-article .woocommerce-MyAccount-navigation{
  max-width:100%;
}
body .mgn-commerce-article .woocommerce-MyAccount-navigation ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;flex-direction:column;gap:7px;
}
body .mgn-commerce-article .woocommerce-MyAccount-navigation a{
  display:block;padding:13px 15px;border-radius:9px;
  background:#f0f6ef;color:#15442d;font-size:14px;font-weight:750;
  text-decoration:none;
}
body .mgn-commerce-article .woocommerce-MyAccount-navigation .is-active>a,
body .mgn-commerce-article .woocommerce-MyAccount-navigation a:hover{
  color:#fff;background:#14563b;
}
body .mgn-commerce-article .woocommerce-MyAccount-content{
  min-width:0;max-width:100%;
}
body .mgn-commerce-article .woocommerce table.shop_table{
  width:100%;max-width:100%;border-collapse:separate;
  border:1px solid #dce8dc;border-radius:12px;
  overflow-wrap:break-word;
}
/* Shop archive pages may not use the ordinary page.php template. */
body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header{
  width:min(1200px,calc(100% - 48px));margin:36px auto 20px;
}
body.woocommerce-shop main .woocommerce,
body.post-type-archive-product main .woocommerce{
  max-width:1200px;margin-inline:auto;
}
body .mgn-commerce-article .wc-block-cart,
body .mgn-commerce-article .wc-block-checkout {
  overflow:visible;
}
/* Tablets: stacked checkout/order summary so no fragment becomes narrow. */
@media(max-width:899px){
  body .mgn-commerce-article{padding:33px 25px 55px!important}
  body .mgn-commerce-article .wc-block-components-sidebar-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:25px!important;
  }
  body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-main,
  body .mgn-commerce-article .wc-block-components-sidebar-layout .wc-block-components-sidebar{
    display:block!important;
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  body .mgn-commerce-article .woocommerce-checkout form.checkout{
    display:block;
  }
  body .mgn-commerce-article .woocommerce form.checkout .col2-set,
  body .mgn-commerce-article .woocommerce form.checkout #order_review,
  body .mgn-commerce-article .woocommerce form.checkout #order_review_heading{
    display:block;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:15px 0!important;
  }
  body .mgn-commerce-article .woocommerce .col2-set .col-1,
  body .mgn-commerce-article .woocommerce .col2-set .col-2{
    width:100%!important;
    float:none!important;
  }
  body .mgn-commerce-article .woocommerce-MyAccount-navigation,
  body .mgn-commerce-article .woocommerce-MyAccount-content{
    width:100%!important;float:none!important;
  }
}
/* Mobile tables can scroll inside their own region without breaking the viewport. */
@media(max-width:600px){
  body .mgn-commerce-article{
    padding:27px 18px 46px!important;
  }
  body .mgn-commerce-article > header{margin-bottom:24px!important}
  body .mgn-commerce-article > header h1{font-size:33px!important}
  body .mgn-commerce-article .wc-block-components-checkout-step{
    padding:17px 15px!important;border-radius:12px!important;
  }
  body .mgn-commerce-article .wc-block-components-sidebar-layout,
  body .mgn-commerce-article .wc-block-checkout,
  body .mgn-commerce-article .wc-block-cart{
    width:100%!important;max-width:100%!important;
  }
  body .mgn-commerce-article .wc-block-components-title,
  body .mgn-commerce-article .wc-block-components-checkout-step__title{
    font-size:19px!important;
  }
  body .mgn-commerce-article .wc-block-components-order-summary,
  body .mgn-commerce-article .wc-block-checkout__sidebar,
  body .mgn-commerce-article .wc-block-cart__sidebar{
    padding:16px 12px;
  }
  body .mgn-commerce-article .woocommerce-cart-form{
    overflow-x:auto;
  }
  body .mgn-commerce-article .woocommerce-cart-form table{
    min-width:510px;
  }
  body .mgn-commerce-article .wc-block-cart-items__row{
    min-width:0;
  }
  body .mgn-commerce-article .wc-block-components-form .wc-block-components-text-input input{
    font-size:16px;
  }
}
