 
/* =====================================================================
   EAST MARINE HEADER  (all rules start with .emh so nothing else changes)
   ===================================================================== */
#dvLoading{
  background:#fff url(/images/loading.gif) no-repeat center center;
  opacity:0.9;
  height:100%;
  width:100%;
  position:fixed;
  top:0;
  left:0;
  z-index:20000;
}
#dvLoading div{
  text-align:center;
  width:100%;
  position:fixed;
  top:55%;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:600;
  font-size:18px;
  color:#1f2937;
}

.emh{
  --emh-ink:#0f172a;
  --emh-text:#334155;
  --emh-muted:#64748b;
  --emh-line:#e2e8f0;
  --emh-soft:#f8fafc;
  --emh-blue:#2563eb;
  --emh-blue-ink:#1d4ed8;
  --emh-blue-soft:#eff6ff;
  --emh-blue-line:#dbeafe;
  --emh-green-ink:#047857;
  --emh-green-soft:#ecfdf5;
  --emh-green-line:#a7f3d0;
  --emh-navy:#181b39;
  --emh-max:1400px;
  position:relative;
  background:#ffffff;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:15px;
  line-height:1.45;
  color:var(--emh-text);
  border-bottom:1px solid var(--emh-line);
}
.emh *,
.emh *::before,
.emh *::after{
  box-sizing:border-box;
}
.emh a{
  text-decoration:none;
}
.emh svg{
  display:block;
  flex-shrink:0;
}
.emh ul,
.emh li{
  list-style:none;
  margin:0;
  padding:0;
}
.emh-in{
  max-width:var(--emh-max);
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;
}

/* ---------- Row 1: logo, dealer line, seal ---------- */
.emh-top .emh-in{
  display:flex;
  align-items:center;
  gap:28px;
  padding-top:14px;
  padding-bottom:14px;
}
.emh-logo{
  display:block;
  flex-shrink:0;
  line-height:0;
}
.emh-logo img{
  display:block;
  max-width:100%;
  max-height:64px;
  width:auto;
  height:auto;
  margin:0;
  border:0;
}
.emh-dealer{
  flex:1;
  min-width:0;
  padding-left:24px;
  border-left:1px solid var(--emh-line);
}
.emh-dealer-name{
  margin:0 0 2px;
  color:var(--emh-navy);
  font-size:16px;
  font-weight:600;
  line-height:1.3;
}
.emh-dealer-note{
  margin:0;
  color:var(--emh-muted);
  font-size:13.5px;
  line-height:1.4;
}
.emh-dealer-note a{
  color:var(--emh-blue) !important;
  text-decoration:underline !important;
  text-underline-offset:2px;
}
.emh-dealer-note a:hover{
  text-decoration:underline;
}
.emh-dealer-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 18px;
  margin-top:3px;
  font-size:13px;
  color:var(--emh-muted);
}
.emh-dealer-meta span,
.emh-dealer-meta a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--emh-muted) !important;
}
.emh-dealer-meta a:hover{
  color:var(--emh-blue-ink) !important;
}
.emh-dealer-meta svg{
  width:15px;
  height:15px;
  color:#94a3b8;
}
.emh-seal{
  flex-shrink:0;
}
.emh-burger,
.emh-cart-mini{
  display:none;
}

/* ---------- Row 2: search, phone, account, cart ---------- */
.emh-bar{
  background:var(--emh-soft);
  border-top:1px solid var(--emh-line);
  border-bottom:1px solid var(--emh-line);
}
.emh-bar .emh-in{
  display:flex;
  align-items:center;
  gap:28px;
  padding-top:14px;
  padding-bottom:14px;
}
.emh-search{
  flex:1;
  min-width:0;
  max-width:620px;
}
.emh-search form{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
}
.emh-search-field{
  position:relative;
  flex:1;
  min-width:0;
}
.emh-search-field svg{
  position:absolute;
  left:14px;
  top:50%;
  width:18px;
  height:18px;
  margin-top:-9px;
  color:#94a3b8;
  pointer-events:none;
}
.emh input.emh-search-input{
  display:block;
  width:100%;
  height:42px;
  margin:0;
  padding:0 14px 0 42px;
  background:#ffffff;
  border:1px solid #cbd5e1;
  border-radius:12px;
  font-family:inherit;
  font-size:15px;
  color:var(--emh-ink);
  outline:none;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .15s, box-shadow .15s;
}
.emh input.emh-search-input:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 4px rgba(147,197,253,.35);
}
.emh button.emh-search-btn{
  height:42px;
  margin:0;
  padding:0 20px;
  background:var(--emh-blue-soft);
  color:var(--emh-blue-ink);
  border:1px solid var(--emh-blue-line);
  border-radius:12px;
  font-family:inherit;
  font-size:15px;
  font-weight:500;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s;
}
.emh button.emh-search-btn:hover{
  background:var(--emh-blue-line);
}
.emh-tools{
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:auto;
}
.emh-tool{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:6px 16px 6px 7px;
  background:#ffffff;
  border:1px solid var(--emh-line);
  border-radius:12px;
  color:var(--emh-text) !important;
  white-space:nowrap;
  transition:border-color .15s, background .15s;
}
a.emh-tool:hover{
  border-color:#bfdbfe;
  background:#fbfdff;
}
.emh-tool-ic{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:9px;
  background:var(--emh-blue-soft);
  color:var(--emh-blue);
}
.emh-tool-ic svg{
  width:18px;
  height:18px;
}
.emh-tool-txt{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}
.emh-tool-txt small{
  font-size:12px;
  color:var(--emh-muted);
}
.emh-tool-txt b{
  font-size:15px;
  font-weight:600;
  color:var(--emh-ink);
}
.emh-tool-txt b em{
  font-style:normal;
  font-weight:400;
  color:var(--emh-muted);
}
.emh-phone .emh-tool-ic{
  background:var(--emh-green-soft);
  color:var(--emh-green-ink);
}
.emh-account-links{
  display:flex;
  gap:12px;
  font-size:14px;
}
.emh-account-links a{
  color:var(--emh-blue-ink) !important;
}
.emh-account-links a:hover{
  text-decoration:underline;
}
.emh-cart{
  position:relative;
}
.emh-cart .emh-tool-ic{
  position:relative;
}
.emh-badge{
  position:absolute;
  top:-7px;
  right:-8px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#ffffff;
  border:1px solid #93c5fd;
  color:var(--emh-blue-ink);
  font-size:11.5px;
  font-weight:600;
  line-height:18px;
  text-align:center;
}
.emh-cart-go,
.emh-cartbar{
  display:none;
}
.emh-checkout-link{
  color:var(--emh-green-ink) !important;
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
}
.emh-checkout-link:hover{
  text-decoration:underline;
}

/* ---------- Row 3: menu ---------- */
.emh-nav{
  background:#ffffff;
}
.emh-nav-head,
.emh-nav-extra,
.emh-nav-side{
  display:none;
}
.emh-nav-list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding-top:7px !important;
  padding-bottom:7px !important;
}
.emh-nav-list li a{
  display:block;
  padding:8px 14px;
  border-radius:10px;
  color:var(--emh-text) !important;
  font-size:15px;
  font-weight:500;
  white-space:nowrap;
  transition:background .15s, color .15s;
}
.emh-nav-list li a:hover{
  background:var(--emh-blue-soft);
  color:var(--emh-blue-ink) !important;
}
.emh-nav-list li.emh-req{
  margin-left:auto;
}
.emh-nav-list li.emh-req a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--emh-green-soft);
  border:1px solid var(--emh-green-line);
  color:var(--emh-green-ink) !important;
}
.emh-nav-list li.emh-req a:hover{
  background:#d1fae5;
  color:#065f46 !important;
}
.emh-nav-list li.emh-req svg{
  width:17px;
  height:17px;
}
.emh-overlay{
  display:none;
}

/* banners (same ids as before) */
.emh .banners{
  max-width:var(--emh-max);
  margin:0 auto;
  text-align:center;
}
.emh .banners img{
  max-width:100%;
  height:auto;
  margin-left:auto;
  margin-right:auto;
}

/* Google Merchant Center: visible summary strip (first content in body) */
.gmc-summary-strip{
  padding:10px 16px;
  background:#f0f9ff;
  border-bottom:1px solid #bae6fd;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:13.5px;
  line-height:1.5;
  color:#0f172a;
}
.gmc-summary-strip strong{ font-weight:600; }
.gmc-summary-strip span{ color:#334155; }
.gmc-summary-strip .gmc-price{ color:#047857; font-weight:600; }
.gmc-summary-strip .gmc-avail-in{ color:#047857; font-weight:600; }
.gmc-summary-strip .gmc-avail-out{ color:#b91c1c; font-weight:600; }

/* ---------- Large tablets / small laptops ---------- */
@media (max-width:1240px){
  .emh-email-tool .emh-tool-txt{ display:none; }
  .emh-email-tool{ padding:4px 6px !important; }
}
@media (max-width:1180px){
  .emh-phone .emh-tool-txt small{ display:none; }
  .emh-account-links{ display:none; }
  .emh-dealer-meta{ display:none; }
}

/* =====================================================================
   PHONE + TABLET HEADER (992px and below) - completely different layout
   ===================================================================== */
@media (max-width:992px){
  .emh{ font-size:16px; }
  .emh-in{
    padding-left:16px;
    padding-right:16px;
  }

  /* Row 1: [menu]  [logo]  [cart] */
  .emh-top .emh-in{
    display:grid;
    grid-template-columns:48px 1fr 48px;
    grid-template-areas:
      "burger logo cart"
      "dealer dealer dealer";
    align-items:center;
    gap:14px 12px;
    padding-top:14px;
    padding-bottom:16px;
  }
  .emh-burger,
  .emh-cart-mini{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    width:48px;
    height:48px;
    margin:0;
    padding:0;
    background:#ffffff;
    border:1px solid var(--emh-line);
    border-radius:14px;
    color:var(--emh-ink) !important;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .emh-burger{ grid-area:burger; }
  .emh-cart-mini{ grid-area:cart; }
  .emh-cart-mini svg{
    width:22px;
    height:22px;
  }
  .emh-burger-lines{
    position:relative;
    width:20px;
    height:14px;
  }
  .emh-burger-lines i{
    position:absolute;
    left:0;
    width:20px;
    height:2px;
    border-radius:2px;
    background:currentColor;
  }
  .emh-burger-lines i:nth-child(1){ top:0; }
  .emh-burger-lines i:nth-child(2){ top:6px; }
  .emh-burger-lines i:nth-child(3){ top:12px; }

  .emh-logo{
    grid-area:logo;
    justify-self:center;
    max-width:260px;
  }
  .emh-seal{ display:none; }

  .emh-dealer{
    grid-area:dealer;
    padding:12px 14px;
    border:1px solid var(--emh-blue-line);
    border-left:1px solid var(--emh-blue-line);
    border-radius:14px;
    background:linear-gradient(135deg,#f5f9ff 0%,#eef5ff 100%);
    text-align:center;
  }
  .emh-dealer-name{
    font-size:15.5px;
  }
  .emh-dealer-note{
    font-size:13.5px;
  }

  /* Row 2: big search + 3 quick buttons */
  .emh-bar .emh-in{
    display:block;
    padding-top:14px;
    padding-bottom:16px;
  }
  .emh-search{
    max-width:none;
  }
  .emh input.emh-search-input,
  .emh button.emh-search-btn{
    height:50px;
    font-size:16px; /* 16px stops iPhone from zooming in */
  }
  /* 2 x 2 quick tiles: Call / Email / Parts Request / Account */
  .emh-tools{
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:12px;
    margin:14px 0 0;
  }
  .emh-tool{
    flex-direction:row;
    justify-content:flex-start;
    align-items:center;
    gap:10px;
    min-width:0;
    min-height:64px;
    padding:10px 12px;
    border-radius:14px;
    text-align:left;
    white-space:normal;
  }
  .emh-tool-ic{
    flex:0 0 auto;
    width:38px;
    height:38px;
    border-radius:11px;
  }
  .emh-tool-ic svg{
    width:20px;
    height:20px;
  }
  .emh-tool-txt{
    min-width:0;
    gap:2px;
  }
  .emh-tool-txt small{
    font-size:12.5px;
    color:#475569;   /* darker grey: readable on the light blue / green tiles */
  }
  .emh-tool-txt b{
    font-size:14.5px;
    font-weight:600;
    line-height:1.25;
  }
  .emh-tool-txt b em{
    font-size:12.5px;
  }
  /* phone and e-mail get a full row so the number and address fit on one line */
  .emh-tools .emh-phone,
  .emh-tools .emh-email-tool{
    grid-column:1 / -1;
  }
  .emh-phone .emh-tool-txt b,
  .emh-email-tool .emh-tool-txt b{
    font-size:16px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .emh-account-links,
  .emh-checkout-link,
  .emh-tool-txt .emh-show-m{
    display:none !important;
  }
  /* shopping cart: full-width tile so it is easy to find */
  .emh-tools .emh-cart{
    display:flex !important;
    grid-column:1 / -1;
    gap:16px;
    background:var(--emh-blue-soft);
    border-color:#bfdbfe;
  }
  .emh-tools .emh-cart .emh-tool-ic{
    background:#ffffff;
  }
  .emh-tools .emh-cart .emh-tool-txt b{
    font-size:16px;
  }
  .emh-cart-go{
    display:inline-flex !important;
    align-items:center;
    gap:4px;
    margin-left:auto;
    padding:6px 12px;
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#ffffff;
    color:var(--emh-blue-ink);
    font-size:14px;
    font-weight:500;
    white-space:nowrap;
  }
  .emh-tools .emh-email-tool .emh-tool-txt{
    display:flex !important;
  }
  .emh-tools .emh-email-tool{
    display:flex !important;
    padding:10px 12px !important;
  }
  .emh-tools .emh-req-tool{
    display:flex !important;
    background:var(--emh-blue-soft);
    border-color:var(--emh-blue-line);
  }
  .emh-tools .emh-req-tool .emh-tool-ic,
  .emh-tools .emh-email-tool .emh-tool-ic{
    background:#ffffff;
  }
  .emh-tools .emh-email-tool{
    background:#f8fafc;
  }
  .emh-phone{
    background:var(--emh-green-soft) !important;
    border-color:var(--emh-green-line) !important;
  }
  .emh-phone .emh-tool-ic{
    background:#ffffff;
  }
  .emh-phone .emh-tool-txt small{
    display:block !important;
  }

  /* Hours of operation strip */
  .emh-hours-m{
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:6px 10px;
    margin:12px 0 0;
    padding:10px 14px;
    border:1px dashed var(--emh-blue-line);
    border-radius:14px;
    background:#ffffff;
    color:var(--emh-muted);
    font-size:14px;
    line-height:1.35;
    text-align:center;
  }
  .emh-hours-m svg{
    width:18px;
    height:18px;
    color:var(--emh-blue);
    flex:0 0 auto;
  }
  .emh-hours-m b{
    font-weight:600;
    color:var(--emh-ink);
    white-space:nowrap;
  }

  /* cart bar fixed at the bottom of the screen (only when the cart has items) */
  .emh-cartbar{
    display:flex;
    align-items:center;
    gap:10px;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:10030;
    padding:10px 14px;
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    background:#ffffff;
    border-top:1px solid var(--emh-line);
    box-shadow:0 -6px 20px rgba(15,23,42,.08);
    font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  }
  .emh-cartbar-info{
    display:flex;
    align-items:center;
    gap:10px;
    flex:1;
    min-width:0;
    color:var(--emh-ink) !important;
  }
  .emh-cartbar-ic{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:42px;
    height:42px;
    border-radius:12px;
    background:var(--emh-blue-soft);
    border:1px solid #bfdbfe;
    color:var(--emh-blue);
  }
  .emh-cartbar-ic svg{
    width:22px;
    height:22px;
  }
  .emh-cartbar-ic .emh-badge{
    top:-7px;
    right:-7px;
  }
  .emh-cartbar-txt{
    display:flex;
    flex-direction:column;
    min-width:0;
    line-height:1.2;
  }
  .emh-cartbar-txt small{
    font-size:13px;
    color:var(--emh-muted);
  }
  .emh-cartbar-txt b{
    font-size:17px;
    font-weight:600;
    color:var(--emh-ink);
    white-space:nowrap;
  }
  .emh-cartbar-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    height:46px;
    padding:0 16px;
    border-radius:12px;
    font-size:15.5px;
    font-weight:500;
    white-space:nowrap;
  }
  .emh-cartbar-view{
    background:#ffffff;
    border:1px solid #bfdbfe;
    color:var(--emh-blue-ink) !important;
  }
  .emh-cartbar-go{
    background:var(--emh-green-soft);
    border:1px solid var(--emh-green-line);
    color:var(--emh-green-ink) !important;
  }
  body.emh-has-cartbar{
    padding-bottom:76px;
  }
  body.emh-open .emh-cartbar{
    display:none;
  }

  /* Row 3 becomes a slide-in menu from the left */
  .emh-nav{
    position:fixed;
    top:0;
    left:0;
    bottom:0;
    z-index:10050;
    width:340px;
    max-width:88vw;
    display:flex;
    flex-direction:column;
    background:#ffffff;
    box-shadow:0 10px 40px rgba(15,23,42,.2);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    transform:translateX(-105%);
    visibility:hidden;
    transition:transform .28s ease, visibility 0s linear .28s;
  }
  body.emh-open .emh-nav{
    transform:translateX(0);
    visibility:visible;
    transition:transform .28s ease, visibility 0s linear 0s;
  }
  .emh-nav-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 16px 14px 20px;
    background:#ffffff;
    border-bottom:1px solid var(--emh-line);
  }
  .emh-nav-title{
    font-size:18px;
    font-weight:600;
    color:var(--emh-ink);
  }
  .emh button.emh-close{
    width:42px;
    height:42px;
    margin:0;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--emh-soft);
    border:1px solid var(--emh-line);
    border-radius:50%;
    color:#475569;
    font-family:inherit;
    font-size:24px;
    font-weight:400;
    line-height:1;
    cursor:pointer;
  }
  .emh-nav .emh-in{
    max-width:none;
    width:100%;
    margin:0;
    padding:0;
  }
  .emh-nav-list{
    display:block;
    padding:10px 12px !important;
  }
  .emh-nav-list li a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 14px;
    font-size:16px;
    white-space:normal;
  }
  .emh-nav-list li + li{
    margin-top:2px;
  }
  .emh-nav-list li a::after{
    content:"";
    width:8px;
    height:8px;
    border-right:2px solid #cbd5e1;
    border-top:2px solid #cbd5e1;
    transform:rotate(45deg);
    flex-shrink:0;
    margin-left:12px;
  }
  .emh-nav-list li.emh-req{
    margin:8px 0 0;
  }
  .emh-nav-list li.emh-req a{
    display:flex;
    justify-content:flex-start;
  }
  .emh-nav-list li.emh-req a::after{
    margin-left:auto;
  }
  .emh-nav-list li.emh-req a::after{
    border-color:#6ee7b7;
  }

  /* Categories / Information / Important Links sections */
  .emh-nav-side{
    display:block;
    margin:6px 12px 0;
    padding:10px 0 0;
    border-top:1px solid var(--emh-line);
  }
  .emh-sec{
    margin:0 0 8px;
    border:1px solid var(--emh-line);
    border-radius:14px;
    background:#ffffff;
    overflow:hidden;
  }
  .emh-sec > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 16px;
    background:var(--emh-soft);
    color:var(--emh-ink);
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    list-style:none;
    -webkit-tap-highlight-color:transparent;
  }
  .emh-sec > summary::-webkit-details-marker{
    display:none;
  }
  .emh-sec > summary::after{
    content:"";
    width:8px;
    height:8px;
    margin:0 4px 4px 12px;
    border-right:2px solid #94a3b8;
    border-bottom:2px solid #94a3b8;
    transform:rotate(45deg);
    transition:transform .2s ease;
    flex-shrink:0;
  }
  .emh-sec[open] > summary::after{
    transform:rotate(-135deg);
    margin-bottom:-2px;
  }
  .emh-sec ul{
    padding:4px 6px 6px !important;
  }
  .emh-sec li + li{
    border-top:1px solid #f1f5f9;
  }
  .emh-sec li a{
    display:block;
    padding:12px 10px;
    color:var(--emh-text) !important;
    font-size:15.5px;
    border-radius:8px;
  }
  .emh-sec li a:hover{
    background:var(--emh-blue-soft);
    color:var(--emh-blue-ink) !important;
  }

  .emh-nav-extra{
    display:block;
    margin:6px 12px 0;
    padding:16px 6px 4px;
    border-top:1px solid var(--emh-line);
  }
  .emh-nav-extra h4{
    margin:0 0 10px 8px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#94a3b8;
  }
  .emh-nav-extra ul li a,
  .emh-nav-extra ul li span{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:11px 8px;
    color:var(--emh-text) !important;
    font-size:15px;
    border-radius:10px;
    overflow-wrap:anywhere;
  }
  .emh-nav-extra ul li a:hover{
    background:var(--emh-soft);
  }
  .emh-nav-extra svg{
    width:20px;
    height:20px;
    margin-top:1px;
    color:var(--emh-blue);
  }
  .emh-nav-extra .emh-call svg{
    color:var(--emh-green-ink);
  }
  .emh-nav-extra .emh-call{
    font-weight:600;
    color:var(--emh-ink) !important;
  }
  .emh-nav-extra:last-child{
    padding-bottom:28px;
  }

  .emh-overlay{
    display:block;
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:10040;
    background:rgba(15,23,42,.45);
    opacity:0;
    visibility:hidden;
    transition:opacity .28s ease, visibility 0s linear .28s;
  }
  body.emh-open .emh-overlay{
    opacity:1;
    visibility:visible;
    transition:opacity .28s ease, visibility 0s linear 0s;
  }
  body.emh-open{
    overflow:hidden;
  }
}

/* tablets: Call / Email / Parts Request / Account as a neat 2 x 2 grid */
@media (min-width:600px) and (max-width:992px){
  .emh-tools .emh-phone,
  .emh-tools .emh-email-tool{
    grid-column:auto;
  }
}
@media (max-width:420px){
  .emh-in{
    padding-left:14px;
    padding-right:14px;
  }
  .emh-top .emh-in{
    grid-template-columns:46px 1fr 46px;
  }
  .emh-burger,
  .emh-cart-mini{
    width:46px;
    height:46px;
  }
  .emh button.emh-search-btn{
    padding:0 14px;
  }
  .emh-tools{
    gap:10px;
  }
  .emh-tool{
    padding:10px !important;
    gap:8px;
  }
  .emh-tool-txt b{
    font-size:14px;
  }
  .emh-phone .emh-tool-txt b,
  .emh-email-tool .emh-tool-txt b{
    font-size:15px;
  }
  .emh-hours-m{
    font-size:13px;
  }
  .emh-cartbar{
    gap:8px;
    padding-left:12px;
    padding-right:12px;
  }
  .emh-cartbar-btn{
    padding:0 12px;
  }
}
@media (max-width:359px){
  .emh-cartbar-view{
    display:none;
  }
}


/* =====================================================================
   COMPACT PHONE / TABLET HEADER (992px and below)
   Small header so the page content is visible right away.
   ===================================================================== */
.emh-mline{ display:none; }
@media (max-width:992px){
  .emh-top .emh-in{
    gap:6px 10px;
    padding-top:8px;
    padding-bottom:6px;
  }
  .emh-burger,
  .emh-cart-mini{
    width:44px !important;
    height:44px !important;
    border-radius:12px;
  }
  .emh-top .emh-in{ grid-template-columns:44px 1fr 44px !important; }
  .emh-logo{ max-width:200px; }
  .emh-logo img{ max-height:46px; }

  /* dealer line: one short line, no box */
  .emh-dealer{
    padding:0 !important;
    border:0 !important;
    background:none !important;
  }
  .emh-dealer-name{
    margin:0;
    font-size:13px !important;
    font-weight:500;
    line-height:1.35;
    color:var(--emh-text);
  }
  .emh-dealer-note,
  .emh-dealer-meta{ display:none !important; }

  /* search */
  .emh-bar .emh-in{
    padding-top:8px !important;
    padding-bottom:10px !important;
  }
  .emh input.emh-search-input,
  .emh button.emh-search-btn{ height:44px !important; }

  /* quick buttons: one row of 4 small buttons */
  .emh-tools{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:8px !important;
  }
  .emh-tools .emh-tool{
    grid-column:auto !important;
    flex-direction:column !important;
    justify-content:center;
    align-items:center;
    gap:3px !important;
    min-height:56px !important;
    padding:6px 4px !important;
    border-radius:12px;
    text-align:center;
  }
  .emh-tools .emh-tool-ic{
    width:28px;
    height:28px;
    border-radius:8px;
  }
  .emh-tools .emh-tool-ic svg{
    width:17px;
    height:17px;
  }
  .emh-tools .emh-tool-txt{ align-items:center; gap:0; }
  .emh-tools .emh-tool-txt small,
  .emh-tools .emh-tool-txt b{
    font-size:12.5px !important;
    font-weight:500 !important;
    line-height:1.2 !important;
    color:var(--emh-ink) !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
  }
  /* Call / Email show their short label; Parts Request / Account show their name */
  .emh-tools .emh-phone .emh-tool-txt b,
  .emh-tools .emh-email-tool .emh-tool-txt b,
  .emh-tools .emh-req-tool .emh-tool-txt small,
  .emh-tools .emh-account .emh-tool-txt small{ display:none !important; }
  .emh-tools .emh-phone .emh-tool-txt small,
  .emh-tools .emh-email-tool .emh-tool-txt small{ display:block !important; }
  .emh-tools .emh-req-tool .emh-tool-txt b{ white-space:normal; }
  /* cart: already shown top right and in the bottom cart bar */
  .emh-tools .emh-cart{ display:none !important; }

  /* phone number + hours in one small line */
  .emh-hours-m{ display:none !important; }
  .emh-mline{
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:2px 8px;
    margin:8px 0 0;
    font-size:12.5px;
    line-height:1.4;
    color:var(--emh-text);
    text-align:center;
  }
  .emh-mline a{
    color:var(--emh-green-ink) !important;
    font-weight:600;
    white-space:nowrap;
  }
  .emh-mline span{ white-space:nowrap; }
  .emh-mline i{ font-style:normal; color:#94a3b8; }
}
@media (max-width:359px){
  .emh-tools{ gap:6px !important; }
  .emh-tools .emh-tool-txt small,
  .emh-tools .emh-tool-txt b{ font-size:11.5px !important; }
}

@media (prefers-reduced-motion:reduce){
  .emh-nav,
  .emh-overlay{
    transition:none !important;
  }
}
 