/* Shared overlays. Index mobile menu is the source of truth. */
:root {
  --green: #00FF41;
  --green-d: #007A2E;
  --green-text: #007A2E;
  --light: #5A5855;
  --mid: #4A4845;
  --ink: #111110;
}
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Three-bar hamburger. Middle bar is .ntl-bar so it is not clipped. */
.ntl {
  position: relative;
  width: 34px;
  height: 34px;
  padding: 0;
  gap: 0;
}
.ntl::before,
.ntl::after,
.ntl .ntl-bar {
  content: '';
  position: absolute;
  left: 6px;
  width: 22px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  display: block;
  transition: transform .25s, opacity .25s;
}
.ntl::before { top: 10px; }
.ntl .ntl-bar { top: 16px; }
.ntl::after { top: 22px; }
#nt:checked ~ .ntl .ntl-bar { opacity: 0; }
#nt:checked ~ .ntl::before { top: 16px; transform: rotate(45deg); }
#nt:checked ~ .ntl::after { top: 16px; transform: rotate(-45deg); }

body:has(#nt:checked) { overflow: hidden; }
body:has(#nt:checked) .grb,
body:has(#nt:checked) .cw1,
body:has(#nt:checked) #sdlConsent { display: none !important; }

/* Numbers / Cities label sit on the right */
.nav-mobile.mC .mC-links a,
.nav-mobile.mC .mC-links .mC-dd summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  width: 100%;
  gap: 16px;
}
.nav-mobile.mC .mC-links a span,
.nav-mobile.mC .mC-links .mC-dd summary span {
  margin-left: auto;
  flex: 0 0 auto;
  text-align: right;
}

.mC-links .mC-dd { border: none; }
.mC-links .mC-dd summary {
  list-style: none; cursor: pointer; color: var(--ink);
  font-size: 2.4rem; font-weight: 800; letter-spacing: -.04em;
  line-height: 1.06; padding: 9px 0;
}
.mC-links .mC-dd summary::-webkit-details-marker { display: none; }
.mC-links .mC-dd summary em {
  font-family: 'Lora', serif; font-style: italic; font-weight: 400; font-size: .94em;
}
.mC-links .mC-dd[open] summary span { transform: rotate(90deg); color: var(--green-d); }
.mC-links .mC-dd-list {
  display: flex; flex-direction: column;
  padding: 2px 0 8px 18px; border-left: 2px solid var(--green);
  margin: 4px 0 6px 4px;
}
.nav-mobile.mC .mC-dd-list a {
  font-size: 1.15rem; font-weight: 700; display: block; padding: 7px 0;
}
.mC-grp {
  display: block; font-size: .62rem; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--green-d); margin: 10px 0 2px;
}
.nav-mobile.mC {
  background-color: #fff;
  background-image: radial-gradient(rgba(17,17,16,.16) 1.3px, transparent 1.3px);
  background-size: 20px 20px;
}
.mC-foot {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 28px 44px;
}
.nav-mobile.mC .mC-cta {
  flex: 1; height: 54px; display: flex; align-items: center; justify-content: center;
}
.nav-mobile.mC .mC-tel2 {
  flex: 0 0 54px; width: 54px; height: 54px;
  display: flex; align-items: center; justify-content: center;
  padding: 0; line-height: 0;
}
.nav-mobile.mC .mC-tel2 svg {
  display: block; width: 20px; height: 20px; stroke: currentColor; fill: none;
}
.sh-move {
  background: transparent !important; border: none !important;
  box-shadow: none !important; border-radius: 0 !important;
}
