/* Shared public navigation and information pages use the existing theme tokens. */
.ev-menu { position: relative; }
.ev-menu summary { cursor: pointer; list-style: none; padding: 10px 0; font-size: 14px; }
.ev-menu summary::after { content: ' ▾'; }
.ev-menu.is-current summary { color: var(--green); }
.ev-menu-links { position: absolute; z-index: 100; top: 100%; left: 0; min-width: 230px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; display: grid; gap: 4px; }
.ev-menu-links a { display: block; padding: 8px 12px !important; }
.ev-menu summary:focus-visible, .footer-information a:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.footer-information { display: flex; flex-wrap: wrap; gap: 12px 26px; padding: 20px 0; border-top: 1px solid var(--border); }
.footer-information a { color: var(--muted); text-underline-offset: 4px; }
.footer-information a:hover, .footer-information a[aria-current] { color: var(--text); text-decoration: underline; }
.information-shell { max-width: 960px; padding-top: 28px; padding-bottom: 64px; }
.information-intro { padding: 28px 0 36px; }
.information-intro h1 { font-size: clamp(32px, 5vw, 56px); line-height: 1.15; overflow-wrap: anywhere; }
.information-content { padding: clamp(22px, 5vw, 52px); font-size: 17px; line-height: 1.85; overflow-wrap: anywhere; }
.information-content > * { max-width: 72ch; }
.information-content h2 { font-size: clamp(22px, 3vw, 30px); margin: 2em 0 .65em; line-height: 1.3; }
.information-content h3 { font-size: 21px; margin: 1.6em 0 .6em; }
.information-content h4, .information-content h5, .information-content h6 { font-size: 18px; margin: 1.4em 0 .6em; }
.information-content > :first-child { margin-top: 0; }
.information-content p, .information-content ul, .information-content ol { margin-bottom: 1.25em; }
.information-content a { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.information-content table { display: block; max-width: 100%; overflow-x: auto; }
.information-actions { display: flex; gap: 16px 28px; flex-wrap: wrap; padding-top: 28px; }
.public-information > .container { padding-bottom: 48px; }
.ev-category-summary { margin: 0 0 28px; padding: 24px; }
.ev-category-summary h2 { font-size: 24px; }
.city-connector-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.vehicle-variant-table { overflow-x: auto; }
.vehicle-variant-table table { width: 100%; border-collapse: collapse; text-align: left; }
.vehicle-variant-table caption { text-align: left; color: var(--muted); margin-bottom: 16px; }
.vehicle-variant-table th, .vehicle-variant-table td { padding: 12px; border-bottom: 1px solid var(--border); }
.vehicle-variant-table a { color: var(--green); text-decoration: underline; }
@media (max-width: 800px) {
  #main-nav { max-height: calc(100dvh - 76px); overflow-y: auto; }
  .ev-menu-links { position: static; min-width: 0; }
  .ev-menu summary { font-size: 16px; padding: 13px; }
  .information-content { font-size: 16px; }
  .footer-information a { padding: 8px 0; }
}
