/* IDSS Weather Dashboard Styles */

.weather-card {
    transition: transform 0.2s;
}

.weather-card:hover {
    transform: translateY(-2px);
}

.alert-badge {
    font-size: 0.8rem;
}

.loading-spinner {
    display: none;
}

.error-message {
    display: none;
}

.weather-icon {
    font-size: 2rem;
}

.temperature {
    font-size: 2.5rem;
    font-weight: bold;
}

.location-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.forecast-item {
    transition: transform 0.1s;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.forecast-item:hover {
    transform: scale(1.02);
}

.forecast-icon {
    font-size: 1.2rem;
}

.forecast-name {
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
}

.forecast-temp {
    font-size: 0.9rem;
}

.forecast-condition {
    font-size: 0.7rem;
    line-height: 1.2;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.tropical-card .card-header {
    background: linear-gradient(135deg, #ffc107 0%, #ff8f00 100%);
}

.season-stat {
    transition: transform 0.2s;
}

.season-stat:hover {
    transform: scale(1.05);
}

.storm-alert {
    border-left: 3px solid #dc3545;
}

.outlook-area {
    background-color: rgba(13, 202, 240, 0.1);
    border-radius: 0.375rem;
    padding: 0.5rem;
    margin-bottom: 0.5rem;
}

.earthquake-card .card-header {
    background: linear-gradient(135deg, #dc3545 0%, #b02a37 100%);
    color: white;
}

.magnitude-badge {
    font-size: 0.85rem;
    font-weight: bold;
}

.earthquake-item {
    border-left: 3px solid rgba(220, 53, 69, 0.3);
    padding-left: 0.5rem;
    margin-bottom: 0.5rem;
}

.earthquake-item:last-child {
    margin-bottom: 0;
}

.texas-fire-card .card-header {
    background: linear-gradient(135deg, #fd7e14 0%, #e8600e 100%);
    color: white;
}

.fire-danger-level {
    font-size: 0.9rem;
    font-weight: bold;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    display: inline-block;
}

.fire-danger-low { 
    background-color: #198754; 
    color: white; 
}

.fire-danger-moderate { 
    background-color: #0dcaf0; 
    color: black; 
}

.fire-danger-high { 
    background-color: #ffc107; 
    color: black; 
}

.fire-danger-very-high { 
    background-color: #fd7e14; 
    color: white; 
}

.fire-danger-extreme { 
    background-color: #dc3545; 
    color: white; 
}

.dropdown-menu-lg {
    min-width: 350px;
    max-height: 500px;
    overflow-y: auto;
    max-width: 800px;
    width: max-content;
}

.dropdown-header {
    color: #495057;
    font-weight: 600;
    padding: 0.5rem 1rem;
    margin-bottom: 0.25rem;
}

.dropdown-item {
    padding: 0.375rem 1rem;
    font-size: 0.9rem;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
}

/* ===== Dark mode (Bootstrap 5.3 data-bs-theme="dark") ===== */
[data-bs-theme="dark"] {
    --bs-body-bg: #121418;
    --bs-secondary-bg: #1c1f24;
    --bs-tertiary-bg: #1a1d22;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 158, 197, 254;
}
[data-bs-theme="dark"],
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] body.bg-light { background-color: var(--bs-body-bg) !important; }
/* Panels that used bg-light become a subtle raised surface; light badges stay light */
[data-bs-theme="dark"] .bg-light:not(.badge):not(body) {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color);
}
[data-bs-theme="dark"] .card { background-color: #1c1f24; border-color: #2c3138; }
[data-bs-theme="dark"] .dropdown-header:not([class*="bg-"]) { color: #adb5bd; }
[data-bs-theme="dark"] .dropdown-item:hover { background-color: #2b3035; }
[data-bs-theme="dark"] .outlook-area { background-color: rgba(13, 202, 240, 0.12); }
/* Severity/brand-colored text stays legible on dark surfaces */
[data-bs-theme="dark"] .text-danger { color: #f1707b !important; }
[data-bs-theme="dark"] .text-primary { color: #6ea8fe !important; }
/* Radar/outlook/fire maps: never invert; just soften glare slightly */
[data-bs-theme="dark"] img:not(.no-dim) { filter: none; opacity: 0.95; }
[data-bs-theme="dark"] img:hover { opacity: 1; }
#themeToggle .theme-label { margin-left: 0.15rem; }
