body { 
    font-family: 'Inter', sans-serif; 
    background-color: #020617; 
    color: #f8fafc; 
    overflow: hidden; 
}

.orbitron { font-family: 'Orbitron', sans-serif; }
.map-bg { background: radial-gradient(circle at center, #0f172a 0%, #020617 100%); }

.country-path { fill: #0f172a; stroke: #1e293b; stroke-width: 0.5px; }
.plate-boundary { fill: none; stroke: #ef4444; stroke-width: 0.8px; stroke-dasharray: 2, 2; opacity: 0.3; }

.eq-marker { cursor: pointer; transition: all 0.3s; paint-order: stroke; }
.stat-card { cursor: pointer; transition: transform 0.2s, background 0.2s; }
.stat-card:hover { transform: translateY(-2px); background: rgba(30, 41, 59, 0.6); }

.accordion-content { transition: max-height 0.4s ease-out, opacity 0.3s; overflow: hidden; }
.accordion-content.collapsed { max-height: 0; opacity: 0; padding-top: 0 !important; padding-bottom: 0 !important; border: none; }

#sidebar { transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; }
#sidebar.collapsed-desktop { width: 0; border: none; }
#sidebar-inner { width: 380px; height: 100%; transition: opacity 0.3s; box-sizing: border-box; display: flex; flex-direction: column; background: #0f172a; }
.collapsed-desktop #sidebar-inner { opacity: 0; pointer-events: none; }

/* Botão Seta Toggle Sidebar Desktop */
.sidebar-toggle-btn { 
    position: absolute; 
    left: 100%; 
    top: 50%; 
    transform: translateY(-50%); 
    background: #1e293b; 
    border: 1px solid #334155; 
    border-left: none;
    padding: 16px 8px; 
    border-radius: 0 12px 12px 0; 
    z-index: 60; 
    cursor: pointer; 
    transition: background 0.2s;
}
.sidebar-toggle-btn:hover { background: #334155; }
.collapsed-desktop .sidebar-toggle-btn { left: 0; }

/* Formatação Labels de Anúncios */
.ad-container { border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; position: relative; }
.ad-label { 
    position: absolute; 
    top: 4px; 
    right: 8px; 
    font-size: 8px; 
    font-weight: 700;
    color: #64748b; 
    text-transform: uppercase; 
    letter-spacing: 0.1em;
    z-index: 10; 
    pointer-events: none;
}

.horizontal-scroll {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 1rem;
    padding: 0.5rem 0.5rem 1rem 0.5rem;
    scrollbar-width: thin;
    scrollbar-color: #3b82f6 #0f172a;
}
.horizontal-scroll > * { flex-shrink: 0; width: 220px; }
@media (min-width: 768px) { .horizontal-scroll > * { width: 280px; } }

.custom-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #334155; border-radius: 10px; }

@media (max-width: 768px) {
    #sidebar.hidden-mobile { transform: translateY(-100%); height: 0; position: absolute; visibility: hidden; }
    #sidebar:not(.hidden-mobile) { 
        transform: translateY(0); 
        height: calc(100vh - 64px); 
        position: fixed; 
        width: 100%; 
        z-index: 2500; 
        visibility: visible; 
        top: 64px; /* Começa abaixo do Header de 64px */
        left: 0; 
        background-color: #0f172a;
    }
    #sidebar-inner { 
        width: 100% !important; 
        max-width: 100vw; 
        height: 100%;
        padding-bottom: 100px; 
    }
    
    #mobile-fixed-ad { 
        min-height: 100px !important; 
        height: 100px !important; 
        display: flex !important; 
        z-index: 5000 !important; 
    }

    .map-bg { padding-bottom: 100px; }
    #search-form { width: 100%; max-width: 100%; box-sizing: border-box; padding: 0 20px; }
    .sidebar-toggle-btn { display: none !important; }
    svg title { display: none !important; }

    #earthquake-list-container { flex: 1; height: auto; min-height: 0; }
}

/* MODAL CONTAINER e OVERLAY */
#modal-container { z-index: 6000 !important; }
.modal-overlay { background: rgba(2, 6, 23, 0.9); backdrop-filter: blur(8px); }

/* EVENT DETAIL CARD */
#detail-card { 
    position: absolute; 
    top: 40%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    width: 90%; 
    max-width: 420px; 
    z-index: 4000 !important; 
}

@keyframes slide-up-simple { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.animate-slide-up-simple { animation: slide-up-simple 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

.weather-marker { transition: all 0.3s ease; }
.weather-group:hover .weather-marker { filter: brightness(1.5); r: 15; }