/* Tell Equipment accessible navigation + homepage territory-map card — 2026-10-02 */

@media (min-width: 1021px) {
  header nav[aria-label="Main navigation"] { display:flex; align-items:center; justify-content:flex-end; gap:clamp(8px,1.1vw,18px); flex-wrap:nowrap; }
  header nav[aria-label="Main navigation"] > a:not(.btn-quote) { display:inline-flex; align-items:center; min-height:44px; color:#142843; font:700 14px/1.25 Inter,Arial,sans-serif; text-decoration:none; white-space:nowrap; }
  header nav[aria-label="Main navigation"] > a:not(.btn-quote):hover { color:#9b1917; text-decoration:underline; text-underline-offset:4px; }
  header nav[aria-label="Main navigation"] > a.nav-phone { padding:0 12px; border:2px solid #244f93; border-radius:8px; }
}

@media (max-width: 1020px) {
  .header-wrap .logo-block { min-width:0; }
}

/* Larger, plain-language controls for the shared mobile menu. */
@media (max-width: 1020px) {
  .nav-burger {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 8px !important;
    width: auto !important;
    min-width: 82px;
    min-height: 44px;
    height: 44px !important;
    padding: 8px 11px !important;
    border-radius: 9px !important;
  }
  .nav-burger .nav-burger-label {
    display: inline-block;
    color: #fff;
    font: 700 13px/1 Inter, Arial, sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .nav-burger[aria-expanded="true"] .nav-burger-label { font-size: 0; }
  .nav-burger[aria-expanded="true"] .nav-burger-label::after {
    content: "Close";
    font-size: 13px;
  }
  .mobile-menu {
    width: min(390px, 94vw) !important;
    padding: 20px 20px 28px !important;
    background: #f7f9fc !important;
    color: #11233b;
  }
  .mm-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 8px 0 18px;
    border-bottom: 2px solid #d9e1eb;
    margin-bottom: 14px;
  }
  .mm-head-copy { display: grid; gap: 4px; }
  .mm-eyebrow {
    margin: 0;
    color: #465a72;
    font: 700 12px/1.35 Inter, Arial, sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .mm-title {
    margin: 0;
    color: #10233d;
    font: 700 23px/1.15 Inter, Arial, sans-serif;
    letter-spacing: -.02em;
    text-transform: none;
  }
  .mm-close {
    min-width: 74px;
    min-height: 48px;
    padding: 10px 12px;
    border: 2px solid #203954;
    border-radius: 9px;
    background: #fff;
    color: #10233d;
    font: 700 15px/1 Inter, Arial, sans-serif;
    cursor: pointer;
  }
  .mm-close:focus-visible,
  .mobile-menu a:focus-visible,
  .nav-burger:focus-visible {
    outline: 3px solid #c72b28;
    outline-offset: 3px;
  }
  .mobile-menu .mm-nav {
    display: grid !important;
    gap: 9px;
    padding: 0 0 15px;
    border-bottom: 1px solid #d9e1eb;
  }
  .mobile-menu .mm-nav a {
    display: grid;
    gap: 4px;
    min-height: 64px;
    padding: 12px 14px !important;
    border: 1px solid #cbd6e2 !important;
    border-radius: 10px;
    background: #fff;
    color: #10233d !important;
    font: 700 17px/1.2 Inter, Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none;
  }
  .mobile-menu .mm-nav a:hover,
  .mobile-menu .mm-nav a:active {
    border-color: #a91d1b !important;
    background: #fff7f6;
    color: #841311 !important;
  }
  .mm-item-help {
    color: #465a72;
    font: 400 14px/1.35 Inter, Arial, sans-serif;
  }
  .mm-location-switch {
    display: grid;
    gap: 6px;
    margin: 16px 0;
    padding: 13px 14px;
    border-left: 4px solid #244f93;
    border-radius: 8px;
    background: #eaf0f8;
  }
  .mm-location-label {
    margin: 0;
    color: #344b66;
    font: 700 12px/1.35 Inter, Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .mm-location-switch a {
    color: #102f62;
    font: 700 16px/1.3 Inter, Arial, sans-serif;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .mm-call {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 60px;
    margin: 10px 0 0;
    padding: 12px 15px;
    border-radius: 10px;
    background: #a91d1b;
    color: #fff !important;
    text-decoration: none;
  }
  .mm-call span { display: grid; gap: 3px; }
  .mm-call small { font: 600 13px/1.3 Inter, Arial, sans-serif; }
  .mm-call strong { font: 800 18px/1.2 Inter, Arial, sans-serif; letter-spacing: .02em; }
  .mobile-menu .mm-phones,
  .mobile-menu .mm-quote { display: none !important; }
  body.accessible-menu-open #taa-root,
  body.accessible-menu-open #taa-fab,
  body.accessible-menu-open #taa-toast { display:none !important; }
}

/* Homepage map is the hero's territory card; never hide it on phones. */
.home-coverage-card { min-width: 0; }
.home-coverage-card .home-coverage-intro {
  margin: 0 0 10px;
  color: #d0d9e5;
  font: 400 14px/1.45 Inter, Arial, sans-serif;
}
.home-coverage-card .terr-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0;
}
.home-coverage-card .terr-selector .terr-btn {
  min-height: 40px;
  padding: 8px 11px;
  font-size: 12px;
}
.home-coverage-card .terr-viewtabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 8px 0;
}
.home-coverage-card .terr-tab {
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 8px;
  background: #102846;
  color: #fff;
  font: 700 13px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}
.home-coverage-card .terr-tab.on {
  background: #a91d1b;
  border-color: #ffaaa1;
}
.home-coverage-card #terr-svg-wrap,
.home-coverage-card #terr-live-map { min-width: 0; }
.home-coverage-card .terr-map {
  padding: 7px !important;
  border-radius: 10px !important;
  background: #0b1d34 !important;
}
.home-coverage-card #terr-svg {
  max-height: 300px;
  touch-action: manipulation;
}
.home-coverage-card #terr-live-map {
  height: 280px !important;
  min-height: 240px !important;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  overflow: hidden;
  background: #0b1a2c;
  position: relative;
}
.home-coverage-card #terr-live-map .leaflet-container { height:100%; background:#0a1830; font-family:Inter,Arial,sans-serif; }
.home-coverage-card #terr-live-map .leaflet-tile { filter:grayscale(1) invert(1) brightness(.86) contrast(1.06) hue-rotate(188deg) saturate(1.15); }
.home-coverage-card #terr-live-map .leaflet-control-attribution { background:rgba(10,22,38,.85); color:#b8c7d8; font-size:10px; }
.home-coverage-card #terr-live-map .leaflet-control-attribution a { color:#d4dfeb; }
.home-coverage-card #terr-live-map .leaflet-control-zoom { border-radius:8px; overflow:hidden; }
.home-coverage-card #terr-live-map .leaflet-control-zoom a { background:#102846; color:#fff; border-color:rgba(255,255,255,.2); }
.home-coverage-card #terr-live-map .leaflet-control-zoom a:hover { background:#a91d1b; }
.home-coverage-card #terr-live-map .leaflet-popup-content-wrapper { background:linear-gradient(165deg,#0e2140,#0a1728); color:#e6ecf2; border:1px solid rgba(255,255,255,.18); border-radius:12px; }
.home-coverage-card #terr-live-map .leaflet-popup-tip { background:#0a1728; }
.home-coverage-card #tlm-smart-host .tlm-smart { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(8,20,36,.85); color:#f4f6f9; }
.home-coverage-card #tlm-smart-host .tlm-smart b { display:block; color:#fff; font-size:13px; }
.home-coverage-card #tlm-smart-host .tlm-smart span { color:#d1dbe6; font-size:12px; }
.home-coverage-card #tlm-smart-host .tlm-smart-btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 12px; border-radius:7px; background:#173c72; color:#fff; font-weight:700; text-decoration:none; }
.home-coverage-card #tlm-smart-host .tlm-smart-dist { margin-left:auto; color:#fff; font-weight:800; white-space:nowrap; }
.home-coverage-card .tlm-pin { background:none; border:0; }
.home-coverage-card .tlm-pin-i { display:flex; align-items:center; justify-content:center; border:2px solid #fff; box-shadow:0 8px 18px rgba(0,0,0,.4); }
.home-coverage-card .tlm-you { background:none; border:0; }
.home-coverage-card .tlm-you-dot { background:#39e08a; }
.home-coverage-card .tlm-you-tag { color:#fff; }
.home-coverage-card .tlm-pop b { color:#fff; }
.home-coverage-card .tlm-pop span { color:#d1dbe6; }
.home-coverage-card .tlm-pop-btn { display:block; padding:8px; border-radius:7px; background:#173c72; color:#fff; text-align:center; text-decoration:none; font-weight:700; }
.home-coverage-card .tlm-pop-btn.tlm-parts { background:#a91d1b; }
.home-coverage-card .tlm-pop-btn.tlm-call { background:#0a1622; color:#7ce294; }
.home-coverage-card .tlm-pop-actions { display:grid; gap:6px; }
.home-coverage-card .terr-inset-cap { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.home-coverage-card .terr-legend { display:flex; flex-wrap:wrap; gap:6px; }
.home-coverage-card .terr-legend span { border:1px solid rgba(255,255,255,.16); border-radius:7px; padding:5px 7px; }
.home-coverage-card .terr-legend i { display:inline-block; width:10px; height:10px; margin-right:5px; border-radius:3px; }
.home-coverage-card .terr-inset-box { width:min(210px,100%); margin-left:auto; }
.home-coverage-card .terr-inset-box svg { max-height:110px; }
.home-coverage-card .home-coverage-inset { display:grid; gap:8px; margin-top:9px !important; }
.home-coverage-card .home-coverage-inset .terr-legend { gap:6px; margin-top:0; font-size:11px; }
.home-coverage-card .home-coverage-inset .terr-legend span { display:inline-flex; align-items:center; }
.home-coverage-card .home-texas-inset { width:min(210px,100%); margin-left:auto; }
.home-coverage-card .home-texas-inset .terr-inset-cap { font-size:9px; }
.home-coverage-card #terr-tx-svg { max-height:110px; }

@media (max-width: 1020px) {
  .home-coverage-card .home-texas-inset { width:min(190px,100%); }
  .home-coverage-card #terr-tx-svg { max-height:95px; }
}

@media (max-width: 520px) {
  .home-coverage-card .home-coverage-inset .terr-legend { display:grid; grid-template-columns:1fr; }
  .home-coverage-card .home-texas-inset { width:min(170px,100%); }
}

.home-coverage-card #terr-svg path,
.home-coverage-card #terr-tx-svg path { cursor:pointer; }
.home-coverage-card #tlm-smart-host { margin:7px 0; }
.home-coverage-card .tlm-smart { font:600 12px/1.4 Inter,Arial,sans-serif; }
.home-coverage-card .tlm-smart-btn { min-height:40px; }
.home-coverage-card .home-coverage-inset .terr-map { padding:5px !important; }
.home-coverage-card .home-coverage-inset .terr-inset-cap { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend span { border:1px solid rgba(255,255,255,.17); border-radius:7px; padding:5px 7px; }
.home-coverage-card .home-coverage-inset .terr-legend i { flex:0 0 auto; }
.home-coverage-card .home-coverage-inset .terr-map { box-shadow:none; }
.home-coverage-card .home-coverage-inset .terr-map svg { max-height:100px; }
.home-coverage-card .home-coverage-inset .terr-inset-box { margin:0 auto 0 0; }
.home-coverage-card .home-coverage-inset { display:grid; gap:8px; margin-top:9px !important; }
.home-coverage-card .home-coverage-inset .terr-legend { gap:6px; margin-top:0; font-size:11px; }
.home-coverage-card .home-coverage-inset .terr-legend span { display:inline-flex; align-items:center; }
.home-coverage-card .home-texas-inset { width:min(210px,100%); margin-left:auto; }
.home-coverage-card .home-texas-inset .terr-inset-cap { font-size:9px; }
.home-coverage-card #terr-tx-svg { max-height:110px; }

@media (max-width: 1020px) {
  .home-coverage-card .home-texas-inset { width:min(190px,100%); }
  .home-coverage-card #terr-tx-svg { max-height:95px; }
}

@media (max-width: 520px) {
  .home-coverage-card .home-coverage-inset .terr-legend { display:grid; grid-template-columns:1fr; }
  .home-coverage-card .home-texas-inset { width:min(170px,100%); }
}

.home-coverage-card #terr-svg path,
.home-coverage-card #terr-tx-svg path { cursor:pointer; }
.home-coverage-card #tlm-smart-host { margin:7px 0; }
.home-coverage-card .tlm-smart { font:600 12px/1.4 Inter,Arial,sans-serif; }
.home-coverage-card .tlm-smart-btn { min-height:40px; }
.home-coverage-card .home-coverage-inset .terr-map { padding:5px !important; }
.home-coverage-card .home-coverage-inset .terr-inset-cap { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend { color:#d2dce8; }
.home-coverage-card .home-coverage-inset .terr-legend span { border:1px solid rgba(255,255,255,.17); border-radius:7px; padding:5px 7px; }
.home-coverage-card .home-coverage-inset .terr-legend i { flex:0 0 auto; }
.home-coverage-card .home-coverage-inset .terr-map { box-shadow:none; }
.home-coverage-card .home-coverage-inset .terr-map svg { max-height:100px; }
.home-coverage-card .home-coverage-inset .terr-inset-box { margin:0 auto 0 0; }
.home-coverage-card .home-coverage-foot {
  margin-top: 10px;
  color: #e1e8f0;
  font: 600 13px/1.4 Inter, Arial, sans-serif;
}
.home-coverage-card .home-coverage-foot a {
  color: #ffd6d1;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 1020px) {
  .hero-wrap { display:flex !important; flex-direction:column !important; }
  .hero-wrap > .home-coverage-card { order:0; }
  .hero-wrap > div:not(.home-coverage-card) { order:1; }
  .hero-card.home-coverage-card { display: block !important; }
  .home-coverage-card #terr-svg { max-height: 235px; }
  .home-coverage-card #terr-live-map { height: 250px !important; min-height: 220px !important; }
}
@media (max-width: 520px) {
  .home-coverage-card .terr-selector { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-coverage-card .terr-selector .terr-btn { min-height: 44px; padding: 8px 7px; font-size: 11px; }
  .home-coverage-card .terr-viewtabs { display: grid; grid-template-columns: 1fr 1fr; }
  .home-coverage-card .terr-tab { min-height: 46px; padding: 8px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .mobile-menu *, .nav-burger span { transition-duration: .01ms !important; }
}

/* 2026-10-02: keep homepages focused on the map, equipment search, and one contact path. */
body.tell-homepage .class-strip,
body.tell-homepage .topbar { display:none !important; }
body.tell-homepage .product-search-band { padding-block:8px !important; }
body.tell-homepage .product-search-inner { gap:6px !important; }
body.tell-homepage .product-search-band .ps-filters { display:none !important; }
body.tell-homepage .product-search-band .ps-label { margin-bottom:4px !important; }
@media (max-width:1020px) {
  body.tell-homepage .product-search-band { padding-block:6px !important; }
}
/* 2026-10-02: keep the map unobscured; retain a compact, accessible assistant launcher. */
body.tell-homepage #taa-toast { display:none !important; }
body.tell-homepage #taa-fab {
  width:52px !important; height:52px !important; min-width:52px !important; min-height:52px !important;
  padding:4px !important; gap:0 !important; justify-content:center !important; border-radius:50% !important;
}
body.tell-homepage #taa-fab .taa-fab-ava { width:40px !important; height:40px !important; }
body.tell-homepage #taa-fab .taa-fab-txt { display:none !important; }

/* 2026-10-02: desktop header = ONE compact row (was 132-172px: logo forced 96-150px tall; nav overflowed at 1024px). */
@media (min-width:1021px) {
  header .header-wrap { padding-top:8px !important; padding-bottom:8px !important; min-height:0 !important; align-items:center !important; gap:16px !important; }
  header .logo-img { height:58px !important; width:auto !important; max-width:240px !important; }
  header nav[aria-label="Main navigation"] { flex:1 1 auto; min-width:0; justify-content:flex-end; }
  header nav[aria-label="Main navigation"] > a { letter-spacing:.02em !important; font-size:14px !important; }
  header .nav-burger { display:none !important; }
}
@media (min-width:1021px) and (max-width:1279px) {
  header .logo-img { height:46px !important; max-width:180px !important; }
  header nav[aria-label="Main navigation"] { gap:10px !important; }
  header nav[aria-label="Main navigation"] > a { font-size:12.5px !important; }
  header nav[aria-label="Main navigation"] > a.nav-phone { display:none !important; }
}

/* 2026-10-02: READABLE LABELS — tiny grey all-caps code-font labels removed site-wide.
   Every small label/tag/meta line: Inter, >=13px, high contrast, gentle tracking. */
.tag, .elc-meta, .elc-line, .ps-label, .eyebrow, [class*="eyebrow"], [class*="kicker"],
.hero-terr__brands, .terr-legend, .class-strip, .topbar, .spec-cell .tag, .mm-eyebrow {
  font-family: Inter, Arial, sans-serif !important;
  letter-spacing: .04em !important;
}
.tag, .spec-cell .tag, .elc-line, .ps-label, [class*="eyebrow"], [class*="kicker"] { font-size: 13px !important; font-weight: 700 !important; }
#equipment-showcase .elc-meta { font: 600 14px/1.4 Inter, Arial, sans-serif !important; color: #dbe5f7 !important; text-transform: none !important; letter-spacing: .01em !important; }
#equipment-showcase .elc-cta { font-size: 15px !important; letter-spacing: .04em !important; }
p, li, td { letter-spacing: 0 !important; }

/* 2026-10-02: top strip = ONE short line, centred, never wraps (was 4 duplicated rows incl. brand list). */
.class-strip { padding: 6px 0 !important; }
.class-strip .wrap { display: flex !important; justify-content: center !important; flex-wrap: nowrap !important; overflow: hidden; }
.class-strip .cs-one { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
  font: 600 13px/1.3 Inter, Arial, sans-serif !important; letter-spacing: .08em !important; color: #e8eef8 !important; text-align: center; }
@media (max-width: 768px) { .class-strip { display: none !important; } }

/* 2026-10-02: product pages use the older header.bbar layout — force ONE row on PC too. */
@media (min-width:1021px) {
  header.bbar .wrap { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:14px !important; }
  header.bbar .brand { flex:0 0 auto; white-space:nowrap; }
  header nav[aria-label="Main navigation"] { flex-wrap:nowrap !important; }
  header nav[aria-label="Main navigation"] > a { white-space:nowrap !important; padding-left:8px !important; padding-right:8px !important; }
}
@media (min-width:1021px) and (max-width:1365px) {
  header.bbar nav[aria-label="Main navigation"] > a.nav-phone { display:none !important; }
  header.bbar nav[aria-label="Main navigation"] > a { font-size:12.5px !important; }
}
/* 2026-10-02: in-page section bar (nav.bbar below the hero) — ONE scrollable row on phones so
   links never spill off the navy bar onto the white page (white-on-white). */
@media (max-width:768px) {
  nav.bbar { height:auto !important; }
  nav.bbar .wrap { display:flex !important; flex-wrap:nowrap !important; justify-content:flex-start !important;
    overflow-x:auto; -webkit-overflow-scrolling:touch; gap:6px !important; padding-top:8px !important; padding-bottom:8px !important; height:auto !important; }
  nav.bbar .wrap > a { flex:0 0 auto; white-space:nowrap; padding:8px 12px !important; border-radius:999px; background:rgba(255,255,255,.1); }
}

/* 2026-10-02: product pages stacked a contact bar (.ubar) above breadcrumb + header = extra lines on PC.
   Contact already lives in the header Call button + footer, so the duplicate bar is hidden. */
.ubar { display:none !important; }
nav.breadcrumb .wrap { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* 2026-10-02: 'Coming: TellCare' is an unfinished program — hidden from customers until launch (markup kept). */
#tellcare { display:none !important; }
