/*
 * Market Portal design system 2.1
 * Density, typography and responsive behaviour live here. Page templates
 * consume these tokens instead of scaling the document with zoom/transform.
 */
:root {
  --mp-container: 1320px;
  --mp-font-body: .875rem;
  --mp-font-small: .75rem;
  --mp-font-caption: .6875rem;
  --mp-font-h1: clamp(1.65rem, 3vw, 2.35rem);
  --mp-font-h2: clamp(1.25rem, 2vw, 1.65rem);
  --mp-font-h3: 1rem;
  --mp-font-price: .9375rem;
  --mp-line-body: 1.72;
  --mp-space-1: .25rem;
  --mp-space-2: .375rem;
  --mp-space-3: .5rem;
  --mp-space-4: .75rem;
  --mp-space-5: 1rem;
  --mp-space-6: 1.25rem;
  --mp-space-7: 1.5rem;
  --mp-section-space: 2rem;
  --mp-control-height: 38px;
  --mp-radius-sm: 8px;
  --mp-radius-md: 12px;
  --mp-radius-lg: 16px;
  --mp-card-padding: 14px;
}

html { direction: rtl; overflow-x: hidden; }
[hidden] { display: none !important; }
body { overflow-x: clip; font-size: var(--mp-font-body); line-height: var(--mp-line-body); }
body, button, input, select, textarea, .select2-container { font-family: IRANSansWeb, Tahoma, Arial, sans-serif !important; }
h1 { font-size: var(--mp-font-h1); }
h2 { font-size: var(--mp-font-h2); }
h3 { font-size: var(--mp-font-h3); }
button, input, select, textarea { font-size: var(--mp-font-body); }
.mp-container, .mp-main-container { width: min(var(--mp-container), calc(100% - 40px)); margin-inline: auto; }
.mp-content { padding-block: var(--mp-section-space); }
.mp-content-card { padding: var(--mp-space-6); border-radius: var(--mp-radius-lg); }
.mp-section { padding-block: var(--mp-section-space); }
.mp-section-head { margin-block-end: var(--mp-space-5); }
.mp-section h2 { font-size: var(--mp-font-h2); }
.mp-btn, .button, button.button, input.button {
  min-height: var(--mp-control-height);
  padding: .45rem .9rem;
  border-radius: var(--mp-radius-sm);
  line-height: 1.45;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea,
.select2-container .select2-selection--single { min-height: var(--mp-control-height); }

/* Compact desktop shell */
.mp-topbar .mp-container { min-height: 28px; }
.mp-topbar { font-size: var(--mp-font-small); }
.mp-header-row { min-height: 64px; gap: var(--mp-space-5); }
.mp-brand { font-size: 1rem; gap: var(--mp-space-3); }
.mp-brand-mark { width: 36px; height: 36px; border-radius: 10px; }
.mp-search input { padding: .55rem .8rem; }
.mp-search button { padding-inline: 1rem; }
.mp-icon-link { min-height: 38px; padding: .4rem .65rem; border-radius: 9px; }
.mp-nav-row { min-height: 40px; gap: var(--mp-space-6); }
.mp-nav ul { gap: var(--mp-space-6); }
.mp-nav a { font-size: .8125rem; }
.mp-credit-cta { padding: .35rem .7rem !important; }
.mp-mobile-header, .mp-mobile-search, .mp-bottom-nav, .mp-account-nav-toggle { display: none; }

/* Full-bleed hero background, container-aligned content and controls */
.mp-shop-identity > .mp-main-container { width: min(var(--mp-container), calc(100% - 40px)); }
.mp-shop-categories { min-height: 44px; gap: var(--mp-space-6); padding-inline: 0 !important; }
.mp-shop-categories .mp-all-categories { padding: .45rem .75rem; border-radius: 9px; }
.mp-shop-hero, .mp-shop-slide { min-height: 270px; }
.mp-shop-slide { padding: 0 !important; }
.mp-slide-inner {
  min-height: 270px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: center;
  gap: var(--mp-space-7);
  padding-block: 1.5rem 2.1rem;
}
.mp-shop-hero h1 { font-size: clamp(1.7rem, 3.4vw, 2.55rem); margin: .35rem 0; }
.mp-shop-hero p { margin: .35rem 0 .9rem; }
.mp-shop-hero a { padding: .55rem 1rem; border-radius: 9px; }
.mp-shop-hero-art { width: 205px; height: 145px; border-radius: 24px; }
.mp-shop-hero-art b { font-size: 2.35rem; }
.mp-slider-controls { width: min(var(--mp-container), calc(100% - 40px)); margin-inline: auto; inset-inline: 0; }
.mp-shop-hero .mp-slider-prev { right: 0; }
.mp-shop-hero .mp-slider-next { left: 0; }
.mp-slider-prev, .mp-slider-next { width: 34px; height: 34px; font-size: 1.25rem; }

/* Catalog, cards and wishlist share one density contract */
.mp-catalog-page { width: min(var(--mp-container), calc(100% - 40px)); padding-block: 1.5rem 2.5rem; }
.mp-catalog-head { margin-block-end: var(--mp-space-5); }
.mp-catalog-head h1 { font-size: var(--mp-font-h1); }
.mp-catalog-layout { grid-template-columns: 210px minmax(0, 1fr); gap: var(--mp-space-5); }
.mp-filter-panel { padding: var(--mp-card-padding); border-radius: var(--mp-radius-md); top: 120px; }
.mp-filter-panel form { gap: var(--mp-space-4); }
.mp-filter-panel input, .mp-filter-panel select { min-height: var(--mp-control-height); padding: .4rem .55rem; }
.mp-catalog-toolbar { padding: .55rem .8rem; margin-block-end: var(--mp-space-4); }
.mp-catalog-results ul.products, .mp-wishlist-page ul.products { gap: .625rem; }
.mp-catalog-results ul.products li.product,
.mp-wishlist-page ul.products li.product,
.mp-product-card { padding: .625rem !important; border-radius: var(--mp-radius-md) !important; min-width: 0; }
.mp-card-image { border-radius: 9px; }
.mp-card-title, .mp-catalog-results .woocommerce-loop-product__title {
  min-height: 3.4em !important;
  height: 3.4em !important;
  max-height: 3.4em !important;
  margin: .45rem 0 .25rem !important;
  font-size: .79rem !important;
  line-height: 1.7 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.mp-card-prices { min-height: 48px; margin-block: .25rem .45rem; gap: 0; }
.mp-card-prices del { font-size: var(--mp-font-caption); }
.mp-card-prices strong { font-size: var(--mp-font-price); }
.mp-card-discount-amount, .mp-card-meta, .mp-card-credit { font-size: var(--mp-font-caption); }
.mp-card-credit { padding: .4rem .5rem; border-radius: 7px; margin-block: .5rem .65rem; }
.mp-card-actions { display:flex!important;flex-wrap:wrap;align-items:stretch;gap:.5rem;margin-block-start:auto;padding-block-end:.2rem; }
.mp-card-actions .mp-wishlist { flex:0 0 36px;width:36px;min-height:36px;height:36px;border-radius:8px;align-self:stretch; }
.mp-card-actions .button { flex:1 1 110px;min-width:0;min-height:36px;height:36px;margin:0!important;padding:.35rem .45rem!important;font-size:.75rem!important;display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap; }
.mp-card-actions .mp-card-add { flex-basis:100%; }
.mp-discount-badge, .onsale.mp-sale-percent { width: 34px !important; min-width: 34px !important; height: 34px !important; min-height: 34px !important; border-width: 2px !important; }
.mp-wishlist-page { display: grid; gap: var(--mp-space-5); }
.mp-wishlist-head { display: flex; align-items: end; justify-content: space-between; gap: var(--mp-space-5); }
.mp-wishlist-head h2 { margin: 0; }
.mp-wishlist-head p { margin: .2rem 0 0; color: var(--mp-muted); }
.mp-wishlist-count { background: var(--mp-soft); color: var(--mp-primary); padding: .35rem .7rem; border-radius: 999px; font-weight: 800; white-space: nowrap; }
.mp-wishlist-page ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mp-empty-wishlist { text-align: center; justify-items: center; padding: 2rem 1rem; }
.mp-empty-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: #fff0f2; color: var(--mp-danger); font-size: 1.6rem; }

/* Product, cart, checkout and customer account */
.mp-product-page { padding-top: 1rem; }
.mp-single-product { padding: 1rem; border-radius: var(--mp-radius-lg); }
.mp-product-heading { gap: 1rem; padding-bottom: .85rem; }
.mp-product-main { gap: 1.15rem; padding-block: 1.15rem; }
.mp-product-summary, .mp-product-gallery, .mp-offers-card { padding: var(--mp-card-padding) !important; }
.mp-product-heading h1 { font-size: 1.2rem !important; line-height: 1.55 !important; }
.mp-product-price strong { font-size: 1.2rem !important; }
.mp-product-tools button { padding: .4rem .6rem; border-radius: 8px; font-size: .7rem; }
.mp-key-features { gap: .45rem; }
.mp-key-features li { padding: .5rem .6rem; font-size: .76rem; }
.mp-installment-banner { margin-top: .75rem; padding: .75rem; border-radius: 10px; }
.mp-buy-card { padding: .85rem !important; border-radius: 13px !important; top: 120px; }
.mp-buy-card::before { margin: -.85rem -.85rem .75rem !important; background: linear-gradient(90deg, var(--mp-deep), var(--mp-primary)) !important; }
.mp-offers { gap: .45rem !important; max-height: 300px !important; }
.mp-offer-option { padding: .75rem !important; }
.mp-offer { padding: .65rem !important; border-radius: 9px; }
.mp-offer.is-selected { border-color: var(--mp-primary) !important; background: var(--mp-soft) !important; box-shadow: 0 0 0 2px #dbe4f2 !important; }
.mp-offer.is-selected .mp-offer-check { background: var(--mp-primary) !important; border-color: var(--mp-primary) !important; }
.mp-offer-price { grid-column: 2; display: flex !important; align-items: center; justify-content: space-between; gap: .5rem; }
.mp-offer-price b { color: var(--mp-deep) !important; }
.mp-price-box { margin: .75rem -.25rem; padding: .7rem !important; border-radius: 10px !important; }
.mp-final-price strong { font-size: 1.08rem !important; }
.mp-service-strip { gap: .5rem; padding-block: .9rem; font-size: .75rem; }
.mp-service-strip span { padding: .5rem; }
.mp-product-details { margin-top: 1rem; }
.mp-product-details .woocommerce-Tabs-panel { padding-block: .85rem !important; }
.woocommerce-cart .cart-collaterals, .woocommerce-cart table.shop_table,
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { border-radius: var(--mp-radius-md) !important; }
.woocommerce-checkout .mp-content-card { max-width: var(--mp-container); padding: var(--mp-space-5) !important; }
.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) minmax(330px, 420px) !important; gap: 0 1.25rem !important; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { padding: var(--mp-card-padding) !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { gap: .625rem .75rem; }
.woocommerce form .form-row { margin-block-end: .45rem; }
.woocommerce-account .mp-content-card { padding: var(--mp-space-5) !important; }
.woocommerce-account .mp-content-card > .woocommerce, .woocommerce-account .woocommerce { gap: var(--mp-space-5) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation { flex-basis: 205px !important; width: 205px !important; padding: .55rem; border-radius: var(--mp-radius-md); }
.woocommerce-account .woocommerce-MyAccount-navigation a { padding: .48rem .65rem; font-size: .78rem; }
.woocommerce-account .woocommerce-MyAccount-content { padding: var(--mp-card-padding); border-radius: var(--mp-radius-md); }
.woocommerce-account .woocommerce-EditAccountForm { gap: .75rem; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .55rem .6rem; }

@media (max-width: 1180px) {
  :root { --mp-container: 1080px; }
  .mp-catalog-results ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mp-wishlist-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  :root { --mp-section-space: 1.5rem; }
  .mp-container, .mp-main-container, .mp-catalog-page { width: min(100% - 28px, var(--mp-container)); }
  .mp-catalog-layout { grid-template-columns: 1fr; }
  .mp-catalog-results ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mp-slide-inner { grid-template-columns: minmax(0, 1fr) 170px; }
  .mp-shop-hero-art { width: 160px; height: 120px; }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; }
  .woocommerce-account .mp-content-card > .woocommerce, .woocommerce-account .woocommerce { flex-direction: column !important; }
}

/* Mobile is an independent navigation and layout mode, not a shrunken desktop. */
@media (max-width: 767px) {
  :root {
    --mp-font-body: .8125rem;
    --mp-font-h1: clamp(1.35rem, 6vw, 1.75rem);
    --mp-font-h2: 1.15rem;
    --mp-control-height: 42px;
    --mp-card-padding: 12px;
  }
  body { padding-bottom: 62px; }
  .mp-topbar, .mp-header > .mp-container.mp-header-row, .mp-nav { display: none !important; }
  .mp-header { position: sticky; top: 0; }
  .mp-mobile-header { min-height: 54px; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: .4rem; padding-block: .35rem; }
  .mp-mobile-header .mp-brand-mark { width: 34px; height: 34px; }
  .mp-mobile-brand { display: flex; align-items: center; gap: .4rem; color: var(--mp-deep); min-width: 0; }
  .mp-mobile-brand strong { max-width: 110px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .mp-mobile-actions { grid-column: 3 / 5; display: flex; justify-content: flex-end; gap: .35rem; }
  .mp-mobile-actions > a, .mp-mobile-actions > button { min-width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; gap: 2px; border: 1px solid var(--mp-border); border-radius: 9px; background: #fff; color: var(--mp-deep); position: relative; padding-inline: .4rem; font-size: .7rem; }
  .mp-mobile-actions .mp-cart-count { min-width: 17px; height: 17px; font-size: .6rem; }
  .mp-mobile-search { padding-block: .35rem .55rem; }
  .mp-mobile-search:not([hidden]) { display: block; }
  .mp-mobile-search form { display: flex; border: 1px solid var(--mp-border); border-radius: 9px; overflow: hidden; background: #FFFCF8; }
  .mp-mobile-search input { width: 100%; min-width: 0; border: 0; background: transparent; padding-inline: .7rem; }
  .mp-mobile-search button { border: 0; background: var(--mp-primary); color: #fff; padding-inline: 1rem; }
  .mp-bottom-nav { position: fixed; z-index: 100; inset-inline: 0; bottom: 0; min-height: 58px; display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; background: rgba(255,255,255,.97); border-top: 1px solid var(--mp-border); box-shadow: 0 -8px 24px rgba(41,37,36,.08); }
  .mp-bottom-nav a, .mp-bottom-nav button { border: 0; background: transparent; color: #45516a; display: grid; justify-items: center; gap: 1px; padding: .35rem .1rem; font-size: .625rem; }
  .mp-bottom-nav b { font-size: 1.05rem; line-height: 1; }
  .mp-mobile-category-drawer { position: fixed; z-index: 120; inset-inline: 10px; bottom: 66px; max-height: min(70vh, 520px); overflow: auto; padding: 16px; border: 1px solid var(--mp-border); border-radius: 16px; background: #fff; box-shadow: 0 20px 60px rgba(41,37,36,.22); }
  .mp-mobile-category-drawer[hidden] { display: none; }
  .mp-mobile-category-drawer > strong { display: block; margin-bottom: 10px; font-size: 1rem; }
  .mp-mobile-category-drawer > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .mp-mobile-category-drawer > div a { padding: 9px; border-radius: 8px; background: var(--mp-soft); color: var(--mp-deep); }
  .mp-mobile-category-close { position: absolute; inset-inline-end: 12px; top: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f0f3f8; color: var(--mp-deep); font-size: 1.25rem; }
  .mp-mobile-all-products { display: flex; justify-content: center; margin-top: 10px; min-height: 40px; align-items: center; border-radius: 8px; background: var(--mp-primary); color: #fff; font-weight: 900; }
  body.mp-drawer-open { overflow: hidden; }
  .mp-compare-bar { bottom: 68px; }
  .mp-shop-categories { min-height: 42px; gap: 1rem; }
  .mp-shop-hero, .mp-shop-slide, .mp-slide-inner { min-height: 255px; }
  .mp-slide-inner { grid-template-columns: 1fr; padding: 1.25rem 2.4rem 2rem; }
  .mp-shop-hero-art { display: none; }
  .mp-slider-controls { width: calc(100% - 20px); }
  .mp-shop-hero .mp-slider-prev, .mp-shop-hero .mp-slider-next { width: 32px; height: 32px; }
  .mp-catalog-page { padding-block: 1rem 1.5rem; }
  .mp-catalog-head { align-items: flex-start; }
  .mp-filter-panel { border-radius: 14px; max-height: min(72vh, 620px); overflow: auto; }
  .mp-catalog-results ul.products, .mp-wishlist-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .mp-wishlist-head { align-items: flex-start; }
  .woocommerce-account .mp-content-card { padding: 0 !important; background: transparent; border: 0; }
  .mp-account-nav-toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; border: 1px solid var(--mp-border); background: #fff; color: var(--mp-deep); margin-block-end: .6rem; }
  .woocommerce-account .woocommerce-MyAccount-navigation { display: none; width: 100% !important; flex-basis: auto !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation.is-open { display: block; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; padding: .75rem; overflow: hidden; }
  .woocommerce-account .woocommerce-EditAccountForm { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
  .woocommerce-account .woocommerce-EditAccountForm fieldset,
  .woocommerce-account .woocommerce-EditAccountForm > p:last-child { grid-column: auto; }
  .woocommerce-checkout .mp-content-card { padding: .6rem !important; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { padding: .75rem !important; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-checkout #order_review { position: static; }
  .mmp-address-grid { grid-template-columns: 1fr; }
  .mp-single-product { padding: .7rem; }
  .mp-product-heading { flex-direction: column; }
  .mp-product-main { grid-template-columns: 1fr; gap: .85rem; }
  .mp-product-info { order: 2; }
  .mp-buy-card { order: 3; position: static; }
  .mp-service-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .mp-container, .mp-main-container, .mp-catalog-page { width: calc(100% - 16px); }
  .mp-content { padding-block: 1rem; }
  .mp-content-card { padding: .65rem; }
  .mp-shop-identity > .mp-main-container { width: calc(100% - 16px); }
  .mp-shop-hero h1 { font-size: 1.45rem; line-height: 1.45; }
  .mp-slide-inner { padding-inline: 2rem; }
  .mp-catalog-head p { font-size: var(--mp-font-small); }
  .mp-catalog-results ul.products li.product, .mp-wishlist-page ul.products li.product { padding: .5rem !important; }
  .mp-card-title { font-size: .73rem !important; }
  .mp-card-prices strong { font-size: .81rem; }
  .mp-card-actions .button { font-size: .68rem !important; }
  .mp-wishlist-head { display: grid; }
}

/* 320px: information-rich cards become horizontal so price/actions stay legible. */
@media (max-width: 350px) {
  .mp-catalog-results ul.products, .mp-wishlist-page ul.products { grid-template-columns: 1fr; }
  .mp-product-card { display: grid !important; grid-template-columns: 92px minmax(0, 1fr); grid-template-areas: "image title" "image prices" "meta meta" "credit credit" "actions actions"; column-gap: .65rem; }
  .mp-product-card .mp-card-image { grid-area: image; align-self: start; }
  .mp-product-card .mp-card-title { grid-area: title; margin-top: 0 !important; }
  .mp-product-card .mp-card-prices { grid-area: prices; }
  .mp-product-card .mp-card-meta { grid-area: meta; }
  .mp-product-card .mp-card-credit { grid-area: credit; }
  .mp-product-card .mp-card-actions { grid-area: actions; }
  .mp-discount-badge { inset-block-start: .55rem; inset-inline-start: auto; right: .55rem; }
}

/* Unified checkout layout: WooCommerce form rows must follow one RTL grid. */
.woocommerce-checkout .mp-content { padding-block: 1rem 2rem; }
.woocommerce-checkout .mp-content-card {
  width: min(1180px, 100%);
  margin-inline: auto;
  padding: 1rem !important;
}
.woocommerce-checkout .mp-content-card > h1 {
  margin: 0 0 .9rem;
  font-size: var(--mp-font-h1);
  line-height: 1.45;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin: 0 0 .9rem !important;
  padding: .75rem .9rem !important;
  border-radius: var(--mp-radius-sm);
}
.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr) !important;
  grid-template-areas:
    "details review-title"
    "details review";
  direction: rtl;
  align-items: start;
  gap: .75rem 1rem;
}
.woocommerce-checkout #customer_details {
  grid-area: details;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 1rem !important;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius-md);
  background: #fff;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
  margin: 0 0 .8rem;
  font-size: 1rem;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  direction: rtl;
  gap: .7rem .8rem;
}
.woocommerce-checkout form .form-row {
  display: grid;
  align-content: start;
  gap: .3rem;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last { float: none !important; }
.woocommerce-checkout form .form-row-wide,
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #order_comments_field { grid-column: 1 / -1; }
.woocommerce-checkout form .form-row label {
  display: block;
  margin: 0;
  color: var(--mp-ink);
  font-size: var(--mp-font-small);
  font-weight: 750;
  line-height: 1.7;
}
.woocommerce-checkout form .form-row .required { color: #d92d20; }
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .select2-container .select2-selection--single {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: .55rem .7rem;
  border: 1px solid #cfd8e8;
  border-radius: 9px;
  background: #fff;
  color: var(--mp-ink);
  font-size: .78rem;
  line-height: 1.6;
  box-shadow: none;
}
.woocommerce-checkout form .form-row textarea { min-height: 88px; resize: vertical; }
.woocommerce-checkout form .form-row input:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout form .select2-container--focus .select2-selection--single {
  outline: 3px solid rgba(36, 92, 197, .12);
  border-color: var(--mp-primary-2);
}
.woocommerce-checkout form .select2-container { width: 100% !important; }
.woocommerce-checkout form .select2-container .select2-selection__rendered {
  padding-inline: 0 1.25rem;
  line-height: 24px;
}
.woocommerce-checkout form .select2-container .select2-selection__arrow {
  inset-inline-start: 7px;
  inset-inline-end: auto;
  top: 8px;
}
.woocommerce-checkout #order_review_heading {
  grid-area: review-title;
  margin: 0;
  padding: .2rem .25rem;
  font-size: 1rem;
}
.woocommerce-checkout #order_review {
  grid-area: review;
  position: sticky;
  top: 118px;
  width: 100%;
  margin: 0 !important;
  padding: .9rem !important;
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius-md);
  background: #fff;
}
.woocommerce-checkout #order_review table { margin: 0 0 .75rem !important; font-size: .74rem; }
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td { padding: .55rem .4rem !important; }
.woocommerce-checkout #payment { margin: 0; border-radius: 11px; }
.woocommerce-checkout #payment .payment_box { margin-block: .5rem; font-size: .73rem; }
.woocommerce-checkout #payment #place_order { width: 100%; min-height: 42px; margin: .65rem 0 0; }

/* The public credit page owns one title and one centered reading column. */
.mp-credit-application-shell { width: min(1220px, calc(100% - 32px)); }
.mp-credit-application-page {
  padding: 0 !important;
  overflow: visible;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas: "details" "review-title" "review";
  }
  .woocommerce-checkout #order_review { position: static; }
}

@media (max-width: 640px) {
  .woocommerce-checkout .mp-content-card { padding: .65rem !important; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review { padding: .75rem !important; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-checkout form .form-row { grid-column: auto !important; }
  .mp-credit-application-shell { width: calc(100% - 16px); }
}


/* v2.4.0 — shared compact form grid, account navigation, cart badge and product grid. */
.mp-cart-count{background:#d92d20!important;color:#fff!important;border:2px solid #fff;line-height:1}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
body .mmp-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important;row-gap:12px!important;align-items:start}
.woocommerce-checkout form .form-row,
body .mmp-form>label{min-width:0!important;margin:0!important;padding:0!important}
.woocommerce-checkout form .form-row label,
body .mmp-form>label{font-size:.76rem!important;line-height:1.55!important}
body .mmp-form>label{display:grid!important;grid-template-rows:minmax(20px,auto) auto!important;gap:5px!important}
body .mmp-form input,
body .mmp-form select,
body .mmp-form textarea{width:100%!important;min-width:0!important;min-height:40px!important;margin:0!important;padding:.5rem .65rem!important;border-radius:9px!important;font-size:.78rem!important;box-sizing:border-box!important}
body .mmp-form textarea{min-height:82px!important;resize:vertical}
body .mmp-form .mmp-full{grid-column:1/-1!important}
body .mmp-card:has(.mmp-form){max-width:900px;padding:18px 20px;margin-block:18px}

.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;gap:7px;margin:0;padding:8px;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:44px;padding:9px 13px;border-radius:9px;color:var(--mp-ink);font-size:.8rem;font-weight:750;line-height:1.35}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:#FFEDD5;color:var(--mp-primary);box-shadow:inset -3px 0 0 var(--mp-primary-2)}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{background:#FFF7ED}

.mp-products ul.products,.woocommerce ul.products{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
.mp-product-card .mp-card-actions{grid-template-columns:42px minmax(0,1fr)!important}
.mp-product-card .mp-card-actions .button{width:100%}

@media(max-width:1050px){.mp-products ul.products,.woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:820px){.mp-products ul.products,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:640px){
 .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
 .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
 .woocommerce-checkout .woocommerce-additional-fields__field-wrapper,
 body .mmp-form{grid-template-columns:1fr!important;gap:10px!important}
 body .mmp-form .mmp-full{grid-column:auto!important}
 body .mmp-card:has(.mmp-form){padding:14px;margin:12px 8px}
 .woocommerce-account .woocommerce-MyAccount-navigation ul{gap:6px;padding:6px}.woocommerce-account .woocommerce-MyAccount-navigation a{min-height:46px;padding:10px 12px}
 .mp-products ul.products,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
}
@media(max-width:390px){.mp-products ul.products,.woocommerce ul.products{grid-template-columns:1fr!important}}


/* 2.4.2 — deterministic checkout/request grids, readable account nav, equal product CTAs */

/* Checkout: remove the legacy WooCommerce float/clear model and let one grid own field placement. */
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:16px!important;
  row-gap:12px!important;
  align-items:start!important;
}
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper>.form-row,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper>.form-row,
.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper>.form-row{
  float:none!important;
  clear:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
.woocommerce-checkout #customer_details .form-row-first,
.woocommerce-checkout #customer_details .form-row-last{
  grid-column:auto!important;
}
.woocommerce-checkout #customer_details .form-row-wide{
  grid-column:1/-1!important;
}
.woocommerce-checkout #customer_details .form-row>label{
  display:flex!important;
  align-items:center!important;
  min-height:24px!important;
  margin:0!important;
  padding:0!important;
  font-size:.78rem!important;
  line-height:1.55!important;
  font-weight:700!important;
}
.woocommerce-checkout #customer_details .woocommerce-input-wrapper{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.woocommerce-checkout #customer_details input.input-text,
.woocommerce-checkout #customer_details select,
.woocommerce-checkout #customer_details .select2-container,
.woocommerce-checkout #customer_details .select2-selection{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.woocommerce-checkout #customer_details input.input-text,
.woocommerce-checkout #customer_details select,
.woocommerce-checkout #customer_details .select2-selection--single{
  min-height:44px!important;
  height:44px!important;
}
.woocommerce-checkout #customer_details .select2-selection--single .select2-selection__rendered{
  line-height:42px!important;
  padding-inline:12px 28px!important;
}
.woocommerce-checkout #customer_details .select2-selection--single .select2-selection__arrow{
  height:42px!important;
}
.woocommerce-checkout #customer_details textarea{
  width:100%!important;
  min-height:86px!important;
  box-sizing:border-box!important;
}

/* Product-request/shared forms: labels and controls are a real two-column form grid, not anonymous grid items. */
body .mmp-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:16px!important;
  row-gap:12px!important;
  align-items:start!important;
}
body .mmp-form>label{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body .mmp-form .mmp-field-label{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  min-height:24px!important;
  margin:0!important;
  color:#334155!important;
  font-size:.78rem!important;
  line-height:1.55!important;
  font-weight:700!important;
}
body .mmp-form .mmp-field-label b{
  color:#dc2626!important;
  font-weight:900!important;
}
body .mmp-form input,
body .mmp-form select{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
  padding:9px 11px!important;
  box-sizing:border-box!important;
}
body .mmp-form textarea{
  width:100%!important;
  min-width:0!important;
  min-height:86px!important;
  margin:0!important;
  padding:9px 11px!important;
  box-sizing:border-box!important;
  resize:vertical!important;
}
body .mmp-form .mmp-full{grid-column:1/-1!important}
body .mmp-card:has(.mmp-request-form){
  width:min(920px,calc(100% - 32px))!important;
  max-width:920px!important;
  margin:22px auto!important;
  padding:20px!important;
}
body .mmp-request-form>button{
  grid-column:1/-1!important;
  justify-self:start!important;
  min-width:150px!important;
}

/* My Account: the dark sidebar must keep non-active text white. */
.woocommerce-account .woocommerce-MyAccount-navigation a{
  color:#fff!important;
  opacity:.92;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover{
  color:#fff!important;
  opacity:1;
  background:rgba(255,255,255,.12)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:#FFEDD5!important;
  color:var(--mp-primary)!important;
  opacity:1;
  box-shadow:inset -3px 0 0 var(--mp-primary-2)!important;
}

/* Product cards: both CTAs occupy the exact same row/height beside Wishlist. */
.mp-product-card .mp-card-actions{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:stretch!important;
  flex-wrap:nowrap!important;
}
.mp-product-card .mp-card-actions .mp-wishlist{
  width:42px!important;
  min-width:42px!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
}
.mp-product-card .mp-card-actions .button,
.mp-product-card .mp-card-actions .mp-card-add,
.mp-product-card .mp-card-actions .mp-card-view{
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:8px 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  white-space:nowrap!important;
}
.mp-product-card .mp-card-actions .mp-card-add{flex-basis:auto!important}

@media(max-width:640px){
  .woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper,
  body .mmp-form{
    grid-template-columns:1fr!important;
    column-gap:0!important;
    row-gap:10px!important;
  }
  .woocommerce-checkout #customer_details .form-row-first,
  .woocommerce-checkout #customer_details .form-row-last,
  .woocommerce-checkout #customer_details .form-row-wide,
  body .mmp-form .mmp-full{
    grid-column:1!important;
  }
  body .mmp-card:has(.mmp-request-form){
    width:calc(100% - 16px)!important;
    margin:10px auto!important;
    padding:14px!important;
  }
  .mp-product-card .mp-card-actions{grid-template-columns:38px minmax(0,1fr)!important;gap:7px!important}
  .mp-product-card .mp-card-actions .mp-wishlist{width:38px!important;min-width:38px!important;height:42px!important;min-height:42px!important}
  .mp-product-card .mp-card-actions .button{height:42px!important;min-height:42px!important;font-size:.7rem!important}
}


/* 2.4.4 — structural checkout redesign.
 * The summary now has a real wrapper, so both cards start at the same top edge
 * and the field grid no longer depends on WooCommerce float classes. */
body.woocommerce-checkout .mp-container.mp-content{
  width:min(1180px,calc(100% - 32px))!important;
  padding-block:16px 30px!important;
}
body.woocommerce-checkout .mp-content-card{
  width:100%!important;
  max-width:none!important;
  padding:18px!important;
  overflow:visible!important;
}
body.woocommerce-checkout .mp-content-card>h1{
  margin:0 0 12px!important;
  font-size:1.55rem!important;
  line-height:1.45!important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  margin:0 0 12px!important;
  padding:10px 12px!important;
}
body.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,350px)!important;
  grid-template-areas:none!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  direction:rtl!important;
}
body.woocommerce-checkout form.checkout.woocommerce-checkout>#customer_details{
  grid-area:auto!important;
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:18px!important;
  float:none!important;
  border:1px solid var(--mp-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(23,63,138,.035)!important;
}
body.woocommerce-checkout form.checkout.woocommerce-checkout>.mp-checkout-summary{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  position:sticky!important;
  top:112px!important;
  min-width:0!important;
  margin:0!important;
  padding:16px!important;
  border:1px solid var(--mp-border)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(23,63,138,.035)!important;
}
body.admin-bar.woocommerce-checkout form.checkout.woocommerce-checkout>.mp-checkout-summary{top:144px!important}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
body.woocommerce-checkout #customer_details .col-2{margin-top:14px!important}
body.woocommerce-checkout #customer_details .woocommerce-billing-fields>h3,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields>h3,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields>h3{
  margin:0 0 12px!important;
  font-size:1rem!important;
  line-height:1.6!important;
}
body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row dense!important;
  gap:12px 14px!important;
  align-items:start!important;
  width:100%!important;
  direction:rtl!important;
}
/* Every checkout field is a normal grid item. No legacy first/last/wide field
 * is allowed to reserve an empty column. Only explicitly full fields span. */
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .form-row,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details p.form-row,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .form-row-first,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .form-row-last,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .form-row-wide,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .mp-checkout-col-1,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .mp-checkout-col-2{
  grid-column:auto!important;
  position:static!important;
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details #order_comments_field,
body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .mp-checkout-full{
  grid-column:1/-1!important;
}
body.woocommerce-checkout #customer_details .form-row>label{
  display:flex!important;
  align-items:center!important;
  gap:3px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  color:var(--mp-ink)!important;
  font-size:.76rem!important;
  font-weight:750!important;
  line-height:1.55!important;
}
body.woocommerce-checkout #customer_details .required{color:#d92d20!important}
body.woocommerce-checkout #customer_details .optional{font-size:.66rem!important;color:#8a94a6!important;font-weight:500!important}
body.woocommerce-checkout #customer_details .woocommerce-input-wrapper,
body.woocommerce-checkout #customer_details .select2-container{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.woocommerce-checkout #customer_details input.input-text,
body.woocommerce-checkout #customer_details select,
body.woocommerce-checkout #customer_details .select2-selection--single,
body.woocommerce-checkout #customer_details #billing_country_field strong,
body.woocommerce-checkout #customer_details #shipping_country_field strong{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:8px 11px!important;
  box-sizing:border-box!important;
  border:1px solid #cfd8e8!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--mp-ink)!important;
  font-size:.76rem!important;
  line-height:1.5!important;
  box-shadow:none!important;
}
body.woocommerce-checkout #customer_details #billing_country_field strong,
body.woocommerce-checkout #customer_details #shipping_country_field strong{background:#FFFCF8!important;font-weight:500!important}
body.woocommerce-checkout #customer_details .select2-selection--single{display:block!important;padding:0 11px!important}
body.woocommerce-checkout #customer_details .select2-selection--single .select2-selection__rendered{
  line-height:40px!important;
  padding:0 0 0 24px!important;
}
body.woocommerce-checkout #customer_details .select2-selection--single .select2-selection__arrow{height:40px!important;top:0!important}
body.woocommerce-checkout #customer_details textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:84px!important;
  margin:0!important;
  padding:9px 11px!important;
  box-sizing:border-box!important;
  border:1px solid #cfd8e8!important;
  border-radius:9px!important;
  background:#fff!important;
  font-size:.76rem!important;
  resize:vertical!important;
}
body.woocommerce-checkout #customer_details input:focus,
body.woocommerce-checkout #customer_details select:focus,
body.woocommerce-checkout #customer_details textarea:focus,
body.woocommerce-checkout #customer_details .select2-container--focus .select2-selection--single{
  outline:3px solid rgba(36,92,197,.10)!important;
  border-color:var(--mp-primary-2)!important;
}
/* The summary owns its heading and review as one compact card. */
body.woocommerce-checkout .mp-checkout-summary>#order_review_heading{
  grid-area:auto!important;
  margin:0 0 10px!important;
  padding:0 0 9px!important;
  border-bottom:1px solid #E7DED4!important;
  font-size:.95rem!important;
  line-height:1.6!important;
}
body.woocommerce-checkout .mp-checkout-summary>#order_review{
  grid-area:auto!important;
  position:static!important;
  top:auto!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.woocommerce-checkout .mp-checkout-summary #order_review table{
  width:100%!important;
  margin:0 0 10px!important;
  table-layout:fixed!important;
  font-size:.7rem!important;
}
body.woocommerce-checkout .mp-checkout-summary #order_review th,
body.woocommerce-checkout .mp-checkout-summary #order_review td{
  padding:8px 5px!important;
  vertical-align:top!important;
  overflow-wrap:anywhere!important;
}
body.woocommerce-checkout .mp-checkout-summary #payment{
  margin:0!important;
  border-radius:10px!important;
  overflow:hidden!important;
}
body.woocommerce-checkout .mp-checkout-summary #payment .payment_box{
  margin:.5rem 0!important;
  padding:.75rem!important;
  font-size:.7rem!important;
  line-height:1.8!important;
}
body.woocommerce-checkout .mp-checkout-summary #place_order{
  width:100%!important;
  min-height:44px!important;
  margin:8px 0 0!important;
}
@media(max-width:900px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  body.woocommerce-checkout form.checkout.woocommerce-checkout>#customer_details,
  body.woocommerce-checkout form.checkout.woocommerce-checkout>.mp-checkout-summary{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.woocommerce-checkout form.checkout.woocommerce-checkout>.mp-checkout-summary{position:static!important;top:auto!important}
}
@media(max-width:640px){
  body.woocommerce-checkout .mp-container.mp-content{width:calc(100% - 16px)!important;padding-block:10px 22px!important}
  body.woocommerce-checkout .mp-content-card{padding:10px!important}
  body.woocommerce-checkout form.checkout.woocommerce-checkout>#customer_details,
  body.woocommerce-checkout form.checkout.woocommerce-checkout>.mp-checkout-summary{padding:12px!important}
  body.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .form-row,
  body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details .form-row-wide,
  body.woocommerce-checkout form.checkout.woocommerce-checkout #customer_details #order_comments_field{
    grid-column:1!important;
  }
}


/* Phase 15C — Theme/CMS compatibility hardening.
 * The plugin owns content/data; the theme only supplies its visual shell. */
.mp-cms-home-shell{padding-block:var(--mp-section-space) 2.5rem}
.mp-cms-home-shell .mmp-home{gap:var(--mp-section-space)}
.mp-cms-home-shell .mmp-home__section-head h2{color:var(--mp-ink);font-size:var(--mp-font-h2)}
.mp-cms-home-shell .mmp-home__section-head p{color:var(--mp-muted)}
.mp-cms-home-shell .mmp-home__button{background:var(--mp-primary);color:#fff;border-radius:var(--mp-radius-sm);font-weight:800}
.mp-cms-home-shell .mmp-home__button:hover{background:var(--mp-primary-2);color:#fff}
.mp-cms-home-shell .mmp-home__category,.mp-cms-home-shell .mmp-home__feature,.mp-cms-home-shell .mmp-home__promo{border-color:var(--mp-border);border-radius:var(--mp-radius-md);box-shadow:0 4px 18px rgba(23,63,138,.04)}
.mp-footer-cms{padding:42px 0 18px}
.mp-footer .mmp-site-footer-content{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:12px 36px;align-items:start;color:#D6D3D1}
.mp-footer .mmp-site-footer-content__brand{grid-column:1;grid-row:1;color:#fff;font-size:1.05rem}
.mp-footer .mmp-site-footer-content>p:not(.mmp-site-footer-content__copyright){grid-column:1;grid-row:2;margin:0;color:#D6D3D1}
.mp-footer .mmp-site-footer-content>nav{grid-column:2;grid-row:1/3}
.mp-footer .mmp-site-footer-content>nav ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mp-footer .mmp-site-footer-content a{color:#D6D3D1}
.mp-footer .mmp-site-footer-content a:hover{color:#fff}
.mp-footer .mmp-site-footer-content>.mmp-contact-info{grid-column:3;grid-row:1/3;color:#D6D3D1}
.mp-footer .mmp-site-footer-content__copyright{grid-column:1/-1;margin:20px 0 0;padding-top:14px;border-top:1px solid #44403C;text-align:center;color:#94a3b8;font-size:.78rem}
@media(max-width:767px){.mp-footer .mmp-site-footer-content{grid-template-columns:1fr 1fr}.mp-footer .mmp-site-footer-content__brand,.mp-footer .mmp-site-footer-content>p:not(.mmp-site-footer-content__copyright){grid-column:1}.mp-footer .mmp-site-footer-content>nav{grid-column:2;grid-row:1/3}.mp-footer .mmp-site-footer-content>.mmp-contact-info{grid-column:1/-1;grid-row:auto;margin-top:10px}}
@media(max-width:560px){.mp-cms-home-shell{padding-block:1rem 1.75rem}.mp-footer-cms{padding:30px 0 12px}.mp-footer .mmp-site-footer-content{grid-template-columns:1fr;gap:12px}.mp-footer .mmp-site-footer-content__brand,.mp-footer .mmp-site-footer-content>p:not(.mmp-site-footer-content__copyright),.mp-footer .mmp-site-footer-content>nav,.mp-footer .mmp-site-footer-content>.mmp-contact-info{grid-column:1;grid-row:auto}.mp-footer .mmp-site-footer-content__copyright{margin-top:10px}}


/* 2.5.6 — Phase 15D visual consistency hotfix.
 * Keep Theme chrome and WooCommerce account navigation on one color hierarchy.
 * The plugin's design system may load after this and intentionally mirrors the
 * same contract, so there is no dark-shell/white-list collision. */
.mp-nav .mp-credit-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:.4rem .8rem!important;
  border:1px solid var(--mp-primary)!important;
  border-radius:var(--mp-radius-sm);
  background:#fff!important;
  color:var(--mp-primary)!important;
  font-weight:800;
  box-shadow:0 2px 7px rgba(41,37,36,.06);
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.mp-nav .mp-credit-cta:hover,.mp-nav .mp-credit-cta:focus-visible{
  background:var(--mp-primary)!important;
  border-color:var(--mp-primary)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(41,37,36,.14);
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff!important;
  border:1px solid var(--mp-border)!important;
  padding:8px!important;
  border-radius:var(--mp-radius-md)!important;
  box-shadow:0 4px 16px rgba(41,37,36,.06)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation a{
  border:1px solid transparent;
  background:transparent!important;
  color:#57534E!important;
  opacity:1!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover{
  background:var(--mp-soft)!important;
  border-color:#d4deed!important;
  color:var(--mp-deep)!important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:var(--mp-primary)!important;
  border-color:var(--mp-primary)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(41,37,36,.14)!important;
}


/* 2.5.7 — Phase 15D.1 account/nav contrast correction.
 * Restore the dark account navigation card requested for the visual identity.
 * These selectors intentionally outrank the plugin customer UI layer even when
 * the plugin stylesheet is enqueued later. */
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation{
  background:linear-gradient(180deg,var(--mp-deep,#2a3e21) 0%,#C2410C 100%)!important;
  border:1px solid #292524!important;
  padding:9px!important;
  box-shadow:0 10px 26px rgba(41,37,36,.16)!important;
}
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation ul{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li:not(.is-active) a,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation li:not(.is-active) a{
  background:transparent!important;
  border-color:transparent!important;
  color:#fff!important;
  opacity:.94!important;
}
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li:not(.is-active) a:hover,
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li:not(.is-active) a:focus-visible,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation li:not(.is-active) a:hover,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation li:not(.is-active) a:focus-visible{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
  opacity:1!important;
}
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation li.is-active a{
  background:#fff!important;
  border-color:#fff!important;
  color:var(--mp-primary,#425b33)!important;
  opacity:1!important;
  box-shadow:0 5px 14px rgba(3,15,42,.2)!important;
}
body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a:focus-visible,
body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation a:focus-visible{
  outline:2px solid #fff!important;
  outline-offset:2px!important;
}

/* Navy primary buttons must always carry white foreground text.
 * Scope is restricted to explicit primary/submit surfaces; secondary/ghost
 * controls keep their own foreground hierarchy. */
body.mmp-customer-ui :is(
  .mmp-btn-primary,
  .mmp-credit-primary,
  .mmp-button.mmp-primary,
  .mmp-button--primary,
  .mmp-request-form>button[type="submit"],
  .mmp-credit-form button[type="submit"],
  .mmp-wizard-nav [data-next],
  .mmp-wizard-nav [data-submit],
  .mmp-wizard-nav [data-resubmit],
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce .checkout-button
){
  background:var(--mp-primary,#425b33)!important;
  border-color:var(--mp-primary,#425b33)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.mmp-customer-ui :is(
  .mmp-btn-primary,
  .mmp-credit-primary,
  .mmp-button.mmp-primary,
  .mmp-button--primary,
  .mmp-request-form>button[type="submit"],
  .mmp-credit-form button[type="submit"],
  .mmp-wizard-nav [data-next],
  .mmp-wizard-nav [data-submit],
  .mmp-wizard-nav [data-resubmit],
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce .checkout-button
):is(:hover,:focus-visible){
  background:var(--mp-deep,#2a3e21)!important;
  border-color:var(--mp-deep,#2a3e21)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Native theme navy controls: protect foreground from generic anchor/button rules. */
.mp-search button,
.mp-brand-mark,
.mp-nav .mp-credit-cta:is(:hover,:focus-visible){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media(max-width:767px){
  body.mmp-customer-ui.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
  body.woocommerce-account .mp-content-card .woocommerce-MyAccount-navigation{
    box-shadow:0 7px 20px rgba(41,37,36,.14)!important;
  }
}

/* 2.5.8 — Phase 15D.2 header credit CTA visual restoration.
 * Restore the softer light-blue treatment preferred for the header CTA while
 * keeping the 2.5.7 account-card and primary-button contrast fixes intact. */
.mp-nav .mp-credit-cta,
body.mmp-customer-ui .mp-nav .mp-credit-cta{
  background:var(--mp-soft,#E7DED4)!important;
  border-color:transparent!important;
  color:var(--mp-primary,#C2410C)!important;
  -webkit-text-fill-color:var(--mp-primary,#C2410C)!important;
  box-shadow:none!important;
}
.mp-nav .mp-credit-cta:is(:hover,:focus-visible),
body.mmp-customer-ui .mp-nav .mp-credit-cta:is(:hover,:focus-visible){
  background:#dce6f3!important;
  border-color:transparent!important;
  color:var(--mp-deep,#292524)!important;
  -webkit-text-fill-color:var(--mp-deep,#292524)!important;
  box-shadow:0 4px 12px rgba(41,37,36,.08)!important;
}



/* 2.5.9 — CMS → Theme content wiring. Presentation only; data remains owned by
 * MMP Content Management / native WordPress / WooCommerce sources. */
.mp-nav .menu-item-has-children{position:relative}
.mp-nav .sub-menu{display:none;position:absolute;z-index:30;top:100%;right:0;min-width:210px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--mp-border);border-radius:12px;box-shadow:var(--mp-shadow)}
.mp-nav .sub-menu li{width:100%}
.mp-nav .sub-menu a{display:block;white-space:nowrap;border-radius:8px}
.mp-nav li:hover>.sub-menu,.mp-nav li:focus-within>.sub-menu{display:block}

.mp-cms-home-shell .mmp-home__hero-track.mp-cms-hero-slider{display:block;position:relative;overflow:hidden;border-radius:var(--mp-radius-lg)}
.mp-cms-home-shell .mp-cms-hero-slider>.mmp-home__hero-item{display:none;margin:0}
.mp-cms-home-shell .mp-cms-hero-slider>.mmp-home__hero-item.is-active{display:block;animation:mpCmsHeroIn .45s ease both}
.mp-cms-home-shell .mp-cms-hero-slider>.mmp-home__hero-item.is-leaving{display:block;position:absolute;inset:0;z-index:0;pointer-events:none;animation:mpCmsHeroOut .45s ease both}
.mp-cms-home-shell .mp-cms-hero-slider>.mmp-home__hero-item.is-active{position:relative;z-index:1}
.mp-cms-home-shell .mp-cms-hero-slider .mp-slider-controls{z-index:5}
.mp-cms-home-shell .mp-cms-hero-slider .mp-slider-dots{z-index:6}
.mp-footer-contact ul{display:grid;gap:7px}
.mp-footer-contact li{line-height:1.8}
.mp-footer-contact strong{color:#fff}
.mp-footer-socials{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px}
@keyframes mpCmsHeroIn{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes mpCmsHeroOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(24px)}}
@media(max-width:767px){
  .mp-nav .menu-item-has-children{position:static}
  .mp-nav .sub-menu{display:block;position:static;min-width:0;margin:0 12px 5px;padding:0 10px;border:0;border-right:2px solid var(--mp-border);border-radius:0;box-shadow:none;background:transparent}
  .mp-nav .sub-menu a{white-space:normal;padding-block:7px}
}
@media(prefers-reduced-motion:reduce){
  .mp-cms-home-shell .mp-cms-hero-slider>.mmp-home__hero-item.is-active,
  .mp-cms-home-shell .mp-cms-hero-slider>.mmp-home__hero-item.is-leaving{animation:none}
}
