/**
 * @license
 * SPDX-License-Identifier: Apache-2.0
 */

/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
    --font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;
}

body {
    font-family: var(--font-sans);
}

.font-mono {
    font-family: var(--font-mono);
}

/* Custom scrollbars */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #090d16;
}

::-webkit-scrollbar-thumb {
    background: #1e293b;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #fbbf24;
}

/* Glassmorphism overlays */
.glass-panel {
    background: rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.glass-card {
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Leaflet Container overrides */
.leaflet-container {
    font-family: "Inter", sans-serif !important;
    z-index: 1 !important;
    background: #020617 !important;
}

/* Advanced Map Popup Custom Styling */
.custom-popup-box .leaflet-popup-content-wrapper {
    background: rgba(15, 23, 42, 0.95) !important;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px !important;
    padding: 6px 10px !important;
    color: #f1f5f9 !important;
    box-shadow: 0 10px 25px -5px rgb(0 0 0 / 0.5) !important;
}

.custom-popup-box .leaflet-popup-content {
    margin: 4px 0 !important;
    padding: 0 !important;
}

.custom-popup-box .leaflet-popup-tip-container {
    opacity: 0.9;
}

.custom-popup-box .leaflet-popup-tip {
    background: rgba(15, 23, 42, 0.95) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.custom-popup-box a.leaflet-popup-close-button {
    color: #94a3b8 !important;
}

/* Beautiful custom markers styling details */
.custom-element-marker {
    background: transparent !important;
    border: none !important;
}

/* Pulsing and glowing states */
@keyframes pulse-subtle {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.85;
        transform: scale(0.98);
    }
}

.animate-pulse-subtle {
    animation: pulse-subtle 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Custom switch toggle */
.switch-checkbox:checked + .switch-label {
    background-color: #f59e0b; /* amber-500 */
}

.switch-checkbox:checked + .switch-label .switch-dot {
    transform: translateX(100%);
}

/* Leaflet control placement tweaks */
.leaflet-control-zoom {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.3) !important;
}

.leaflet-bar a {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.leaflet-bar a:hover {
    background-color: #1e293b !important;
    color: #fbbf24 !important;
}

/* Offers slider animation transitions */
.offer-slide {
    transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}
