/* Optional desktop traffic lives inside the existing Layers menu. */
.ofl-desktop-traffic-control,
.ofl-desktop-traffic-attribution { display: none; }
@media (min-width: 1081px) and (hover: hover) and (pointer: fine) {
  .ofl-map-layer-menu .ofl-desktop-traffic-control:not([hidden]) { display: block; margin-top: 5px; padding-top: 5px; border-top: 1px solid var(--line-strong, #b9e2f6); }
  .ofl-map-layer-menu button.ofl-desktop-traffic-toggle { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 9px; width: 100%; height: auto; min-height: 38px; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink, #086ca5); font: inherit; font-size: 0.82rem; font-weight: 700; line-height: 1.3; text-align: left; cursor: pointer; }
  .ofl-map-layer-menu button.ofl-desktop-traffic-toggle:hover,
  .ofl-map-layer-menu button.ofl-desktop-traffic-toggle[aria-checked="true"] { background: var(--blue-soft, #e8f7ff); color: var(--blue-text, #086ca5); }
  .ofl-map-layer-menu button.ofl-desktop-traffic-toggle:focus-visible { outline: 2px solid #008acc; outline-offset: -2px; }
  .ofl-desktop-traffic-check { display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid currentColor; border-radius: 4px; box-sizing: border-box; }
  .ofl-desktop-traffic-toggle[aria-checked="true"] .ofl-desktop-traffic-check::after { content: "\2713"; font-size: 17px; }
  .ofl-desktop-traffic-legend { padding: 6px 8px 2px; font-size: 11px; line-height: 1.4; color: var(--muted, #527895); }
  .ofl-desktop-traffic-legend[hidden] { display: none; }
  .ofl-desktop-traffic-legend > div { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
  .ofl-desktop-traffic-legend span { display: inline-block; width: 12px; height: 4px; border-radius: 2px; }
  .ofl-traffic-slow { background: #f59e0b; }
  .ofl-traffic-very-slow { background: #dc2626; margin-left: 4px; }
  .ofl-desktop-traffic-legend p { margin: 6px 0 0; overflow-wrap: anywhere; }
  .ofl-desktop-traffic-attribution:not([hidden]) { display: block; }
  body.dark-mode .ofl-desktop-traffic-control { border-color: #42647a; }
  body.dark-mode .ofl-map-layer-menu button.ofl-desktop-traffic-toggle { color: #c9eaff; }
  body.dark-mode .ofl-map-layer-menu button.ofl-desktop-traffic-toggle:hover,
  body.dark-mode .ofl-map-layer-menu button.ofl-desktop-traffic-toggle[aria-checked="true"] { background: #23475e; }
  body.dark-mode .ofl-desktop-traffic-legend { color: #b9d6e7; }
}
