/* Sustainability Capacity — WooCommerce account, cart and checkout UI. */
:root{
  --nm-navy:#152137;
  --nm-deep:#003254;
  --nm-yellow:#FFE200;
  --nm-teal:#3EB49A;
  --nm-light:#E6EBF5;
  --nm-grey:#E9E9E9;
  --nm-ink:#152137;
  --nm-muted:#667085;
  --nm-line:#d9e0e8;
  --nm-wrap:1560px;
}

.nm-capacity-account-ui .entry-title,
.nm-capacity-cart-ui .entry-title,
.nm-capacity-checkout-ui .entry-title{
  width:min(var(--nm-wrap),calc(100vw - 64px));
  max-width:none;
  margin:24px auto 18px!important;
  color:var(--nm-ink);
  font-size:clamp(34px,3vw,48px)!important;
  line-height:1.02!important;
  font-weight:700!important;
  letter-spacing:-.035em;
}

.nm-capacity-account-ui .woocommerce,
.nm-capacity-cart-ui .woocommerce,
.nm-capacity-cart-ui .wp-block-woocommerce-cart,
.nm-capacity-checkout-ui .woocommerce,
.nm-capacity-checkout-ui .wp-block-woocommerce-checkout{
  width:min(var(--nm-wrap),calc(100vw - 64px));
  max-width:none!important;
  margin-left:50%!important;
  margin-right:0!important;
  transform:translateX(-50%);
  color:var(--nm-ink);
  box-sizing:border-box;
}

/* Account shell */
.nm-capacity-account-ui .woocommerce{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:34px;
  align-items:start;
  padding-bottom:54px;
}
.nm-account-menu-toggle{display:none}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation{
  width:auto!important;
  float:none!important;
  margin:0!important;
  border:1px solid var(--nm-line);
  background:#fff;
  position:sticky;
  top:118px;
}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation ul{
  list-style:none!important;
  margin:0!important;
  padding:8px!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important;border:0!important}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 14px!important;
  color:var(--nm-ink)!important;
  text-decoration:none!important;
  font-weight:650;
  font-size:14px;
  border-left:3px solid transparent;
}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation li:hover a{background:#f3f7f8;color:var(--nm-deep)!important;border-left-color:var(--nm-teal)}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation .is-active a{
  background:var(--nm-navy);
  color:#fff!important;
  border-left-color:var(--nm-yellow);
}
.nm-capacity-account-ui .woocommerce-MyAccount-content{
  width:auto!important;
  float:none!important;
  min-width:0;
  margin:0!important;
  padding:28px 30px;
  border:1px solid var(--nm-line);
  background:#fff;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content p:first-child{margin-top:0}
.nm-capacity-account-ui .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button){color:var(--nm-deep);text-decoration-thickness:1px;text-underline-offset:3px}
.nm-capacity-account-ui .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover{color:#087d69}

/* Notices */
.nm-capacity-account-ui .woocommerce-info,
.nm-capacity-account-ui .woocommerce-message,
.nm-capacity-account-ui .woocommerce-error,
.nm-capacity-cart-ui .woocommerce-info,
.nm-capacity-cart-ui .woocommerce-message,
.nm-capacity-cart-ui .woocommerce-error{
  border:1px solid var(--nm-line)!important;
  border-top:4px solid var(--nm-teal)!important;
  background:#f7faf9!important;
  color:var(--nm-ink)!important;
  padding:18px 20px!important;
  margin:0 0 24px!important;
  box-shadow:none!important;
}
.nm-capacity-account-ui .woocommerce-info:before,
.nm-capacity-account-ui .woocommerce-message:before{color:var(--nm-teal)!important}
.nm-capacity-account-ui .woocommerce-error{border-top-color:#b42318!important;background:#fff8f7!important}

/* Buttons */
.nm-capacity-account-ui .button,
.nm-capacity-account-ui .woocommerce-button,
.nm-capacity-cart-ui .button,
.nm-capacity-cart-ui .wc-block-components-button,
.nm-capacity-checkout-ui .button,
.nm-capacity-checkout-ui .wc-block-components-button{
  border:1px solid var(--nm-navy)!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:44px;
  padding:0 18px!important;
  background:var(--nm-navy)!important;
  color:#fff!important;
  font-weight:750!important;
  text-transform:none!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}
.nm-capacity-account-ui .button:hover,
.nm-capacity-account-ui .woocommerce-button:hover,
.nm-capacity-cart-ui .button:hover,
.nm-capacity-cart-ui .wc-block-components-button:hover,
.nm-capacity-checkout-ui .button:hover,
.nm-capacity-checkout-ui .wc-block-components-button:hover{
  background:var(--teal,var(--nm-teal))!important;
  border-color:var(--nm-teal)!important;
  color:var(--nm-navy)!important;
}

/* Orders */
.nm-capacity-account-ui table.shop_table{
  width:100%!important;
  border-collapse:collapse!important;
  border:1px solid var(--nm-line)!important;
  border-radius:0!important;
  margin:0!important;
  font-size:14px;
}
.nm-capacity-account-ui table.shop_table thead th{
  padding:14px 16px!important;
  background:var(--nm-navy)!important;
  color:#fff!important;
  border:0!important;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.nm-capacity-account-ui table.shop_table tbody td{
  padding:15px 16px!important;
  border:0!important;
  border-bottom:1px solid var(--nm-line)!important;
  background:#fff!important;
  vertical-align:middle;
}
.nm-capacity-account-ui table.shop_table tbody tr:last-child td{border-bottom:0!important}
.nm-capacity-account-ui table.shop_table tbody tr:hover td{background:#f8fafb!important}
.nm-capacity-account-ui td.woocommerce-orders-table__cell-order-number a{font-weight:800;text-decoration:none!important}
.nm-capacity-account-ui td.woocommerce-orders-table__cell-order-status{font-weight:750;color:#1b6d5a}
.nm-capacity-account-ui td.woocommerce-orders-table__cell-order-actions .button{min-height:36px;padding:0 14px!important;font-size:12px}

/* Forms: addresses/account details/login */
.nm-capacity-account-ui form .form-row label,
.nm-capacity-checkout-ui form .form-row label{font-weight:700;color:var(--nm-ink);font-size:13px}
.nm-capacity-account-ui input.input-text,
.nm-capacity-account-ui select,
.nm-capacity-account-ui textarea,
.nm-capacity-checkout-ui input.input-text,
.nm-capacity-checkout-ui select,
.nm-capacity-checkout-ui textarea{
  min-height:48px;
  border:1px solid #bfc8d2!important;
  border-radius:0!important;
  background:#fff!important;
  padding:10px 12px!important;
  box-shadow:none!important;
}
.nm-capacity-account-ui textarea,.nm-capacity-checkout-ui textarea{min-height:120px}
.nm-capacity-account-ui fieldset{border:1px solid var(--nm-line);padding:20px;margin:24px 0}
.nm-capacity-account-ui legend{padding:0 8px;font-weight:800;color:var(--nm-ink)}
.nm-capacity-account-ui .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.nm-capacity-account-ui .woocommerce-Address{width:auto!important;float:none!important;border:1px solid var(--nm-line);padding:22px;background:#fff}

/* Cart - block and classic */
.nm-capacity-cart-ui .wp-block-woocommerce-cart,
.nm-capacity-cart-ui .woocommerce-cart-form + .cart-collaterals,
.nm-capacity-cart-ui .woocommerce-cart-form{font-size:14px}
.nm-capacity-cart-ui .wc-block-cart__main,
.nm-capacity-cart-ui .woocommerce-cart-form{padding-right:34px!important}
.nm-capacity-cart-ui .wc-block-cart-items{
  border-top:1px solid var(--nm-line)!important;
  margin:0!important;
}
.nm-capacity-cart-ui .wc-block-cart-items__row{
  padding:24px 0!important;
  border-bottom:1px solid var(--nm-line)!important;
}
.nm-capacity-cart-ui .wc-block-cart-item__image{width:120px!important;padding-right:18px!important}
.nm-capacity-cart-ui .wc-block-cart-item__image img,
.nm-capacity-cart-ui .nm-cart-product-image{
  display:block;
  width:120px!important;
  height:92px!important;
  object-fit:cover;
  border:1px solid var(--nm-line);
  background:#eef2f5;
}
.nm-capacity-cart-ui .wc-block-components-product-name,
.nm-capacity-cart-ui .product-name a{
  color:var(--nm-ink)!important;
  font-weight:800!important;
  font-size:17px!important;
  line-height:1.25!important;
  text-decoration:none!important;
}
.nm-capacity-cart-ui .wc-block-components-product-name:hover,
.nm-capacity-cart-ui .product-name a:hover{color:#087d69!important}
.nm-capacity-cart-ui .wc-block-components-product-metadata,
.nm-capacity-cart-ui .wc-block-components-product-details{font-size:12px!important;color:var(--nm-muted)!important;margin-top:8px!important}
.nm-capacity-cart-ui .wc-block-components-product-details li{margin:3px 0!important}

.nm-capacity-cart-ui .wc-block-components-quantity-selector{
  height:48px!important;
  border:1px solid var(--nm-line)!important;
  border-radius:0!important;
  display:inline-grid!important;
  grid-template-columns:48px 52px 48px;
  background:#fff;
}
.nm-capacity-cart-ui .wc-block-components-quantity-selector__button{
  width:48px!important;height:46px!important;border:0!important;border-radius:0!important;background:#f4f6f8!important;color:var(--nm-ink)!important;font-size:18px!important
}
.nm-capacity-cart-ui .wc-block-components-quantity-selector__input{width:52px!important;min-width:52px!important;height:46px!important;border-left:1px solid var(--nm-line)!important;border-right:1px solid var(--nm-line)!important;font-weight:800!important}
.nm-capacity-cart-ui .wc-block-cart-item__remove-link{color:var(--nm-muted)!important;text-decoration:none!important;font-size:12px!important;font-weight:700!important}
.nm-capacity-cart-ui .wc-block-cart-item__remove-link:hover{color:#b42318!important}

.nm-capacity-cart-ui .wc-block-cart__sidebar,
.nm-capacity-cart-ui .cart_totals{
  border:1px solid var(--nm-line)!important;
  padding:24px!important;
  background:#fff!important;
  position:sticky;
  top:116px;
}
.nm-capacity-cart-ui .wc-block-cart__totals-title,
.nm-capacity-cart-ui .cart_totals h2{
  color:var(--nm-ink)!important;
  font-size:20px!important;
  line-height:1.2!important;
  text-transform:none!important;
  font-weight:800!important;
  padding:0 0 14px!important;
  margin:0 0 12px!important;
  border-bottom:1px solid var(--nm-line)!important;
}
.nm-capacity-cart-ui .wc-block-components-totals-item{padding:12px 0!important;border-bottom:1px solid #edf0f3}
.nm-capacity-cart-ui .wc-block-components-totals-footer-item{border-top:2px solid var(--nm-navy)!important;border-bottom:0!important;margin-top:8px!important;padding-top:18px!important}
.nm-capacity-cart-ui .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.nm-capacity-cart-ui .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:22px!important;font-weight:850!important;color:var(--nm-ink)!important}
.nm-capacity-cart-ui .wc-block-cart__submit-button,
.nm-capacity-cart-ui .wc-proceed-to-checkout .checkout-button{
  min-height:58px!important;
  width:100%!important;
  background:var(--nm-yellow)!important;
  border-color:var(--nm-yellow)!important;
  color:var(--nm-navy)!important;
  font-size:15px!important;
  font-weight:850!important;
  letter-spacing:.01em;
}
.nm-capacity-cart-ui .wc-block-cart__submit-button:hover,
.nm-capacity-cart-ui .wc-proceed-to-checkout .checkout-button:hover{background:var(--nm-teal)!important;border-color:var(--nm-teal)!important}

/* Classic cart */
.nm-capacity-cart-ui table.shop_table.cart{border:0!important;border-radius:0!important;border-collapse:collapse!important}
.nm-capacity-cart-ui table.shop_table.cart th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--nm-line)!important;padding:12px!important}
.nm-capacity-cart-ui table.shop_table.cart td{padding:18px 12px!important;border-bottom:1px solid var(--nm-line)!important}
.nm-capacity-cart-ui table.shop_table.cart .product-thumbnail{width:140px}
.nm-capacity-cart-ui .quantity .qty{height:48px;border-radius:0;border:1px solid var(--nm-line)}

/* Checkout gets the same shell and CTA treatment. */
.nm-capacity-checkout-ui .woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.75fr);gap:34px;align-items:start}
.nm-capacity-checkout-ui #customer_details{width:auto!important;float:none!important}
.nm-capacity-checkout-ui #order_review_heading,.nm-capacity-checkout-ui #order_review{width:auto!important;float:none!important}
.nm-capacity-checkout-ui #order_review{border:1px solid var(--nm-line);padding:22px;background:#fff}
.nm-capacity-checkout-ui #place_order{min-height:58px!important;width:100%!important;background:var(--nm-yellow)!important;border-color:var(--nm-yellow)!important;color:var(--nm-navy)!important;font-weight:850!important}

@media (max-width: 980px){
  .nm-capacity-account-ui .entry-title,
  .nm-capacity-cart-ui .entry-title,
  .nm-capacity-checkout-ui .entry-title,
  .nm-capacity-account-ui .woocommerce,
  .nm-capacity-cart-ui .woocommerce,
  .nm-capacity-cart-ui .wp-block-woocommerce-cart,
  .nm-capacity-checkout-ui .woocommerce,
  .nm-capacity-checkout-ui .wp-block-woocommerce-checkout{width:calc(100vw - 48px)}
  .nm-capacity-account-ui .woocommerce{grid-template-columns:220px minmax(0,1fr);gap:22px}
  .nm-capacity-checkout-ui .woocommerce-checkout{grid-template-columns:1fr}
}

@media (max-width: 767px){
  .nm-capacity-account-ui .entry-title,
  .nm-capacity-cart-ui .entry-title,
  .nm-capacity-checkout-ui .entry-title,
  .nm-capacity-account-ui .woocommerce,
  .nm-capacity-cart-ui .woocommerce,
  .nm-capacity-cart-ui .wp-block-woocommerce-cart,
  .nm-capacity-checkout-ui .woocommerce,
  .nm-capacity-checkout-ui .wp-block-woocommerce-checkout{width:calc(100vw - 32px)}
  .nm-capacity-account-ui .entry-title,.nm-capacity-cart-ui .entry-title,.nm-capacity-checkout-ui .entry-title{font-size:34px!important;margin-top:18px!important}
  .nm-capacity-account-ui .woocommerce{display:block;padding-bottom:28px}
  .nm-account-menu-toggle{display:flex;width:100%;min-height:52px;padding:0 15px;margin:0 0 12px;border:1px solid var(--nm-line);background:var(--nm-navy);color:#fff;font-weight:800;align-items:center;justify-content:space-between}
  .nm-capacity-account-ui .woocommerce-MyAccount-navigation{display:none;position:static;margin-bottom:14px!important}
  .nm-account-menu-open .woocommerce-MyAccount-navigation{display:block}
  .nm-capacity-account-ui .woocommerce-MyAccount-content{padding:20px 16px}
  .nm-capacity-account-ui .woocommerce-Addresses{grid-template-columns:1fr}
  .nm-capacity-account-ui table.shop_table thead{display:none}
  .nm-capacity-account-ui table.shop_table tr{display:block;border-bottom:1px solid var(--nm-line);padding:12px 0}
  .nm-capacity-account-ui table.shop_table tbody td{display:flex!important;justify-content:space-between;gap:16px;border:0!important;padding:7px 12px!important;text-align:right!important}
  .nm-capacity-account-ui table.shop_table tbody td:before{font-weight:800;color:var(--nm-muted);text-align:left}
  .nm-capacity-cart-ui .wc-block-cart{display:block!important}
  .nm-capacity-cart-ui .wc-block-cart__main{padding-right:0!important}
  .nm-capacity-cart-ui .wc-block-cart__sidebar{position:static;margin-top:22px;padding:18px!important}
  .nm-capacity-cart-ui .wc-block-cart-item__image{width:86px!important;padding-right:12px!important}
  .nm-capacity-cart-ui .wc-block-cart-item__image img,.nm-capacity-cart-ui .nm-cart-product-image{width:86px!important;height:72px!important}
  .nm-capacity-cart-ui .wc-block-cart__submit-container{position:sticky!important;bottom:0!important;z-index:30;background:#fff;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--nm-line)}
}

/* === Capacity 3.8.3 account grid + responsive shell correction === */
/* WooCommerce inserts clearfix pseudo-elements. In CSS Grid they become anonymous
   grid items and can push navigation/content into separate rows. Remove them. */
.nm-capacity-account-ui .woocommerce::before,
.nm-capacity-account-ui .woocommerce::after{
  content:none!important;
  display:none!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-navigation{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  max-width:none!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-info,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-message,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-error{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.nm-capacity-account-ui .woocommerce-orders-table{
  table-layout:auto!important;
}
.nm-capacity-account-ui .woocommerce-orders-table__cell-order-actions{
  width:1%;
  white-space:nowrap;
}

@media (max-width:767px){
  .nm-capacity-account-ui .woocommerce-MyAccount-navigation,
  .nm-capacity-account-ui .woocommerce-MyAccount-content{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .nm-capacity-account-ui .woocommerce-MyAccount-content{
    width:100%!important;
    box-sizing:border-box!important;
  }
}

/* === Capacity 3.8.4 account endpoints + title alignment === */
/* Page titles must break out of narrow theme/Elementor parents exactly like the
   Woo content shell so every Capacity page begins on the same left edge. */
.nm-capacity-account-ui .entry-title,
.nm-capacity-cart-ui .entry-title,
.nm-capacity-checkout-ui .entry-title{
  margin-left:50%!important;
  margin-right:0!important;
  transform:translateX(-50%);
  box-sizing:border-box;
}

/* Address endpoint: force Woo's legacy col-1 / col-2 floats back into one
   predictable two-column grid. */
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:18px 0 0!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Addresses::after{
  content:none!important;
  display:none!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address.col-1,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address.col-2{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:24px!important;
  min-height:230px;
  box-sizing:border-box!important;
  border:1px solid var(--nm-line)!important;
  background:#fff!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 22px!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title::before,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title::after{
  content:none!important;
  display:none!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title h3{
  margin:0!important;
  color:var(--nm-ink)!important;
  font-size:clamp(24px,2vw,34px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title .edit{
  float:none!important;
  margin:4px 0 0!important;
  white-space:nowrap;
  font-size:13px;
  font-weight:750;
}
.nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address address{
  margin:0!important;
  color:var(--nm-ink)!important;
  font-style:normal!important;
  font-size:15px!important;
  line-height:1.75!important;
}

/* Give endpoint intros the same readable rhythm as the rest of Capacity. */
.nm-capacity-account-ui .woocommerce-MyAccount-content > p:first-child{
  max-width:860px;
  margin:0 0 20px!important;
  color:#475467;
  font-size:15px;
  line-height:1.65;
}

@media (max-width:767px){
  .nm-capacity-account-ui .entry-title,
  .nm-capacity-cart-ui .entry-title,
  .nm-capacity-checkout-ui .entry-title{
    width:calc(100vw - 32px)!important;
  }
  .nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Addresses{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address,
  .nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address.col-1,
  .nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address.col-2{
    min-height:0;
    padding:20px 18px!important;
  }
  .nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title{
    display:block!important;
  }
  .nm-capacity-account-ui .woocommerce-MyAccount-content .woocommerce-Address-title .edit{
    display:inline-block;
    margin-top:10px!important;
  }
}
