/* The approved homepage owns the chrome; these rules adapt existing content. */
body.mlmg-unified-page {
  --nova-primary: #0a7846;
  --nova-ink: #20352d;
  --nova-muted: #66766d;
  --nova-surface: #fff;
  --nova-border: #dce7df;
  --nova-radius: 16px;
  font-family: NovaSans, sans-serif;
  color: var(--nova-ink);
  background: #fafbf9;
  margin: 0;
  overflow-x: clip;
}
.nova-shell.nova { overflow: visible; padding-bottom: 0; isolation: auto; }
.nova-shell--header { position: relative; z-index: 40; }
.nova-shell--footer { margin-block-start: 48px; }
.nova-shell .nova-footer { margin: 0; }
.nova-shell .nova-service-strip { margin-block-start: 0; }
.nova-shell .nova-header { position: static; }
.nova-shell .nova-menu { z-index: 1000; }
.nova-shell .nova-search input { min-width: 0; box-shadow: none; margin: 0; }
.nova-shell .nova-header-main { box-sizing: border-box; }
.nova-shell .nova-menu button { color: var(--nova-ink); }
.nova-shell .nova-context-cart { position: relative; padding: 0; flex: none; font-size: 22px; }
.nova-shell .nova-context-cart>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nova-shell .nova-context-cart>b { position:absolute; top:-4px; inset-inline-end:-5px; min-width:17px; height:17px; padding:0 3px; border-radius:10px; background:#0a7846; color:#fff; font-size:10px; line-height:17px; }
.nova-shell .nova-native-search { margin:0; width:auto; min-width:0; }
.nova-shell .nova-native-search input { width:100%; max-width:none; border:0; border-radius:28px; background:transparent; padding-inline:18px 70px; font-family:NovaSans,sans-serif; }
.nova-shell .nova-native-search .cg-search-action { width:36px; height:36px; min-height:0; background:#0a7846; color:#fff; border:0; border-radius:50%; padding:0; inset-inline:auto 7px; }
.nova-shell .nova-native-search #cg-search-clear { inset-inline-end:45px; background:transparent; color:#547466; }
.nova-shell .nova-native-search .cg-search-popup { top:calc(100% + 8px); }
/* Shop palette selectors must not recolor the shared header. */
#nova-shell-header .nova-context-cart {
  width:44px; height:44px; min-height:44px; border:1px solid #d5e8dc!important;
  border-radius:12px!important; background:#fff!important; color:#0a7846!important; box-shadow:none!important;
}
#nova-shell-header .nova-context-cart>i { color:inherit!important; background:transparent!important; border:0!important; box-shadow:none!important; }
#nova-shell-header .nova-native-search {
  border:1px solid #e4e9e5!important; border-radius:28px!important; background:#f5f7f5!important;
  padding:0; gap:0; box-shadow:none!important;
}
#nova-shell-header .nova-native-search input {
  font-family:NovaSans,sans-serif; font-size:14px; color:#20352d!important; background:transparent!important;
}
#nova-shell-header .dk-search>i {
  position:absolute; inset-inline-end:6px; display:grid; place-items:center;
  width:36px; height:36px; background:#0a7846!important; color:#fff!important; border-radius:50%;
  pointer-events:none;
}
body.mlmg-unified-page .nova-shell [hidden] { display:none!important; }
.mlmg-unified-page .nova-local-header .cg-brand { font-size:14px; }
.mlmg-unified-page .nova-local-header .cg-brand :is(img,.cg-brand-mark) { display:none; }
.mlmg-unified-page .nova-local-header .cgh-header-strip { display:none; }
.mlmg-unified-page .nova-local-header.cg-header { min-height:54px; padding-block:8px; }
.mlmg-unified-page .nova-local-header .dk-top { min-height:54px; padding-block:8px; }
/* Replace the old fixed navy authentication backdrop with the shared surface. */
.mlmg-unified-page :is(.page-user-login,.page-user-register,.page-user-password)>.bg { display:none; }
.mlmg-unified-page :is(.page-user-login,.page-user-register,.page-user-password)>.main-page { background:#fff; border:1px solid var(--nova-border); border-radius:20px; box-shadow:0 12px 36px #173e2d08; padding:28px; margin-block:32px; }
.mlmg-unified-page :is(.page-user-login,.page-user-register,.page-user-password) .branding { display:none; }
.mlmg-unified-page .mlmg-auth-form { color:var(--nova-ink); }
/* No fixed legacy dock while JavaScript is unavailable; every action remains. */
.mlmg-unified-page :is(#mlmg-bottom-nav,.cgh-mobile-nav,.shop-bottom-nav) { position: static!important; transform: none!important; margin: 12px auto; }
.mlmg-unified-page .nova-shell .nova-bottom { font-family: NovaSans,sans-serif; }
.mlmg-unified-page :is(.body-page,.gva-body-page,.main-page,.container-bg) { background-color: transparent; }
.mlmg-unified-page :is(.main-page,.cg-main,.dk-page,.shop-product-detail-shell,.customer-orders-shell) { font-family: NovaSans,sans-serif; }
.mlmg-unified-page :is(.page-title,h1,h2,h3) { font-family: NovaSans,sans-serif; }
.mlmg-unified-page :is(.breadcrumbs,.breadcrumb-content-inner) { background: #f0f5f1; }
.mlmg-unified-page :is(.breadcrumb-content-inner h2,.page-title) { color: var(--nova-ink); }
.mlmg-unified-page :is(.form-control,.form-text,.form-email,.form-number,.form-textarea,.form-select) {
  border-color: var(--nova-border); border-radius: 10px; font-family: NovaSans,sans-serif;
}
.mlmg-unified-page :is(.button--primary,.btn-primary) { background: #0a7846; border-color: #0a7846; color: #fff; border-radius: 12px; }
.mlmg-unified-page :is(.button--primary,.btn-primary):hover { background: #075f38; border-color: #075f38; }
.mlmg-unified-page :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #277cdb; outline-offset: 3px; }
/* Store identity, search, cart and tracking retain their actual business hooks. */
.mlmg-unified-page :is(.cg-header,.dk-header,.shop-product-detail-header,.customer-orders-header) {
  position: relative!important; top: auto!important; z-index: 20!important;
  background: #fff; border-block-end: 1px solid var(--nova-border); box-shadow: none;
  font-family: NovaSans,sans-serif;
}
.mlmg-unified-page :is(.cg-strip,.cgh-header-strip) { background: #eff6f1; color: #466252; }
body.mlmg-unified-page.mlmg-public-shop.mlmg-dk-storefront .dk-header { z-index:20!important; }
.mlmg-unified-page .nova-local-help { max-width: 1280px; margin: 24px auto; padding: 16px; border: 1px solid var(--nova-border); border-radius: 16px; background: #fff; }
.mlmg-unified-page .nova-local-help>summary { cursor: pointer; color: #0a7846; font-weight: 700; min-height: 28px; }
.mlmg-unified-page .nova-local-help :is(.cgh-footer,.cg-footer) { background: transparent; color: var(--nova-ink); border: 0; margin: 0; }
.mlmg-unified-page .nova-local-help>.shop-store-footer { margin:16px 0 0; border-radius:12px; }
@media(max-width:600px) {
  body.mlmg-unified-page { padding-block-end: calc(var(--nova-bottom-height,78px) + env(safe-area-inset-bottom)); }
  .mlmg-unified-page .nova-shell--footer { margin-block-start: 32px; }
  #nova-shell-header .nova-native-search input { font-size:12px; }
  /* On narrow screens Drupal's toolbar scrolls away. Its displacement value
     survives scrolling, so reserve it only while the toolbar is fixed. */
  .mlmg-unified-page .nova-shell--header { position: sticky; top: 0; }
  .mlmg-unified-page.toolbar-fixed .nova-shell--header { top: var(--drupal-displace-offset-top,0px); }
  .mlmg-unified-page .nova-shell .nova-bottom { z-index: 990; }
  .mlmg-unified-page .cg-mobile-cart { bottom: calc(var(--nova-bottom-height,78px) + 10px); }
  .mlmg-unified-page .shop-product-floating-buy { bottom: calc(var(--nova-bottom-height,78px) + 10px); }
  .mlmg-unified-page.nova-keyboard-open .nova-bottom,
  .mlmg-unified-page.mlmg-mobile-editing .nova-bottom { visibility: hidden; pointer-events: none; }
}
@media print {
  .nova-shell,.nova-local-nav { display: none!important; }
  body.mlmg-unified-page { padding: 0; }
}
