/* Forecast controls only; site navigation and weather-card content keep their own styles. */
.vm-gol-page .vm-gol-control, .vm-gmap-shell .vm-gol-control {
    border-radius: 12px; font-family: inherit; line-height: 1.35; box-shadow: none;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    touch-action: manipulation;
}
.vm-gol-page .vm-gol-control:not(.vm-gol-model-btn), .vm-gmap-shell .vm-gol-control { min-height: 44px; }
.vm-gol-page .vm-gol-control--action, .vm-gmap-shell .vm-gol-control--action {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 14px; border: 1px solid var(--vm-border-color, #cbd5e1);
    background: var(--vm-bg-primary, #fff); color: var(--vm-text-primary, #0f172a);
    font-size: 14px; font-weight: 600; cursor: pointer;
}
.vm-gol-page .vm-gol-control--icon-only, .vm-gmap-shell .vm-gol-control--icon-only { min-width: 44px; width: 44px; padding: 10px; }
.vm-gol-control__glyph { display: inline-flex; flex: 0 0 18px; align-items: center; justify-content: center; }
.vm-gol-control-icon { display: block; width: 18px; height: 18px; flex-shrink: 0; pointer-events: none; }
.vm-gol-control__label { min-width: 0; }
/* Keep the glyph and nested label on the button's chosen foreground in dark mode. */
[data-theme] .vm-gol-page button.vm-gol-control .vm-gol-control__glyph,
[data-theme] .vm-gol-page button.vm-gol-control .vm-gol-control__glyph *,
[data-theme] .vm-gol-page button.vm-gol-control .vm-gol-control__label,
[data-theme] .vm-gol-page button.vm-gol-control .vm-gol-model-btn__icon,
[data-theme] .vm-gmap-shell button.vm-gol-control .vm-gol-control__glyph,
[data-theme] .vm-gmap-shell button.vm-gol-control .vm-gol-control__glyph *,
[data-theme] .vm-gmap-shell button.vm-gol-control .vm-gol-control__label { color: inherit !important; }
.vm-gol-page .vm-gol-model-btn__icon .vm-gol-control-icon { margin: 0 auto; }
.vm-gol-page .vm-gol-control--action:hover:not(:disabled),
.vm-gmap-shell .vm-gol-control--action:hover:not(:disabled) { border-color: #94a3b8; background: var(--vm-bg-secondary, #f1f5f9); }
.vm-gol-page .vm-gol-control:focus-visible, .vm-gmap-shell .vm-gol-control:focus-visible { outline: 3px solid #3b82f6; outline-offset: 3px; }
.vm-gol-page .vm-gol-control--action[aria-pressed="true"],
.vm-gol-page .vm-gol-control--action[aria-selected="true"],
.vm-gol-page .vm-gol-control--action.vm-gol-view-btn--active,
.vm-gol-page .vm-gol-control--action.vm-gol-map-play-btn--active,
.vm-gol-page .vm-gol-control--action.vm-gol-map-flight-toggle--active,
.vm-gmap-shell .vm-gol-control--action[aria-pressed="true"],
.vm-gmap-shell .vm-gol-control--action.is-active { border-color: #2563eb; background: #2563eb; color: #fff; }
.vm-gol-page .vm-gol-control:disabled, .vm-gmap-shell .vm-gol-control:disabled { opacity: .55; cursor: default; box-shadow: none; }
.vm-gol-page .vm-gol-model-btn.vm-gol-control:disabled { opacity: .8; }
[data-theme="dark"] .vm-gol-page .vm-gol-control--action,
[data-theme="dark"] .vm-gmap-shell .vm-gol-control--action { border-color: var(--vm-border-color, #334155); background: var(--vm-bg-primary, #0f172a); color: var(--vm-text-primary, #e2e8f0); }
[data-theme="dark"] .vm-gol-page .vm-gol-control--action[aria-pressed="true"],
[data-theme="dark"] .vm-gol-page .vm-gol-control--action[aria-selected="true"],
[data-theme="dark"] .vm-gol-page .vm-gol-control--action.vm-gol-view-btn--active,
[data-theme="dark"] .vm-gol-page .vm-gol-control--action.vm-gol-map-play-btn--active,
[data-theme="dark"] .vm-gol-page .vm-gol-control--action.vm-gol-map-flight-toggle--active,
[data-theme="dark"] .vm-gmap-shell .vm-gol-control--action[aria-pressed="true"],
[data-theme="dark"] .vm-gmap-shell .vm-gol-control--action.is-active { border-color: #3b82f6; background: #1d4ed8; color: #fff; }
@media (max-width: 640px) {
    .vm-gol-page .vm-gol-control--action, .vm-gmap-shell .vm-gol-control--action { min-height: 44px; padding: 10px 12px; font-size: 13px; }
    .vm-gol-page .vm-gol-control--icon-only, .vm-gmap-shell .vm-gol-control--icon-only { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .vm-gol-page .vm-gol-control, .vm-gmap-shell .vm-gol-control { transition: none; }
}
.vm-ens-page .vm-ens-feature-status {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px;
    margin: 16px 0; padding: 14px 16px; border: 1px solid var(--vm-border-color, #cbd5e1);
    border-radius: 12px; background: var(--vm-bg-secondary, #f1f5f9);
    color: var(--vm-text-secondary, #475569); font-size: 14px; line-height: 1.5; text-align: center;
}
.vm-gol-page summary.vm-gol-control--summary { min-height: 44px; border-radius: 12px; }
.vm-gol-page.vm-ens-page .vm-ens-day-card { border-radius: 12px; }
.vm-gol-page.vm-ens-page .vm-ens-day-card:focus-visible { outline: 3px solid #3b82f6; outline-offset: 3px; }
.vm-gol-page #vm-ens-table .vm-ens-table-day.vm-gol-control { border-radius: 12px; }
.vm-gol-page a.vm-gol-control:focus-visible { outline: 3px solid #3b82f6; outline-offset: 3px; }
.vm-gol-xsec-lightbox .vm-gol-control, .vm-gol-risk-dialog .vm-gol-control {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; width: 44px; height: 44px; padding: 10px; border-radius: 12px;
    border: 1px solid var(--vm-border-color, #cbd5e1); background: var(--vm-bg-primary, #fff);
    color: var(--vm-text-primary, #0f172a); cursor: pointer;
}
.vm-gol-xsec-lightbox .vm-gol-control:focus-visible, .vm-gol-risk-dialog .vm-gol-control:focus-visible { outline: 3px solid #3b82f6; outline-offset: 3px; }
