/**
 * partners.css
 * Visual assets and layout matrices governing oPanel Partnership interfaces.
 */

/* Import Interactive Maps styles */
@import url('https://unpkg.com/leaflet@1.9.4/dist/leaflet.css');

/* Leaflet container bounds */
#partner-map {
    background-color: transparent !important;
}

/* Smooth Dark Theme Integration via Dynamic Filtering on Map Tiles */
.dark .leaflet-tile-pane {
    filter: invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);
}

/* Dynamic Controls Color corrections for Dark Interface consistency */
.dark .leaflet-bar,
.dark .leaflet-control-attribution {
    background-color: rgb(var(--c-dark-gray)) !important;
    border-color: rgb(var(--c-dark-gray) / 0.4) !important;
    color: #ffffff !important;
}
.dark .leaflet-bar a,
.dark .leaflet-control-attribution a {
    color: #ffffff !important;
    border-bottom-color: rgb(255 255 255 / 0.1) !important;
}

/* Prevent Popup Inversion (Ensures popups and markers stay crisp and legible) */
.dark .leaflet-pane .leaflet-popup-pane,
.dark .leaflet-pane .leaflet-marker-pane {
    /* Restores popup texts/colors back to normal so inverted map stays inverted but data popups stay clean */
    /* Actually since Leaflet popups use basic light backgrounds, let's keep them as is, or styled natively below */
}

.leaflet-popup-content-wrapper {
    border-radius: 12px !important;
    padding: 4px !important;
    box-shadow: 0 10px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) !important;
    border: 1px solid rgba(0,0,0,0.05);
}

.leaflet-popup-content {
    margin: 12px !important;
}

/* Custom Animation Triggers for visual elements */
@keyframes pulse-slow {
    0%, 100% { opacity: 0.15; transform: scale(1); }
    50% { opacity: 0.25; transform: scale(1.05); }
}

.network-ring {
    animation: pulse-slow 6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Smooth Ease Cubic for range progress bar filling */
.ease-out-expo {
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

/* High-fidelity Toggle State Styling (Checkbox Peer) */
.service-chk:checked + .chk-indicator {
    border-color: rgb(var(--c-turquoise)) !important;
    background-color: rgb(var(--c-turquoise) / 0.1) !important;
}

.service-chk:checked + .chk-indicator .indicator-dot {
    transform: scale(1);
}

/* Form inputs focused states transitions override */
input:focus ~ label,
input:not(:placeholder-shown) ~ label {
    transform: scale(0.9) translateY(-1.5rem);
}

select:focus {
    box-shadow: 0 0 0 3px rgb(var(--c-turquoise) / 0.05);
}

/* Map Container Subtle Drift */
@keyframes float-ambient {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.group:hover .w-24 {
    animation: float-ambient 3s ease-in-out infinite;
}
