/*
Theme Name: Festiva Child
Theme URI: http://demo.bravisthemes.com/festiva
Author: Bravis-Themes
Author URI: https://bravisthemes.com/
Description: Festiva is the most versatile events and conference theme for WordPress. It has 04 unique homepage layouts, available as multi-page or one-page designs. Each layout has been carefully crafted to provide a modern and clean browsing experience for your readers. With Festiva, your events and conferences are going to stand out like never before.
Version: 1.0.0
Tested up to: 6.0
Requires PHP: 7.4
License: ThemeForest
License URI: https://themeforest.net/licenses
Template: festiva
Text Domain: festiva-child
Tags: 	attendees, conference, education, event, event theme, festival, meetup, multi event, onepage, schedule, seminar, ticket, tickets, webinar, zoom
Copyright (c) 2024 Bravis-Themes. All rights reserved.
This theme is licensed under the GPL-2.0+ license.
*/

#cg-map {
    height: 750px;
    width: 100%;
}

/* MARKER */
.marker-wrapper {
    position: relative;
    width: 30px;
    height: 30px;
}

.marker-dot {
    width: 14px;
    height: 14px;
    background: #f4b400;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 8px;
    box-shadow: 0 0 0 3px white;
    transition: transform 0.3s ease;
}

.marker-wrapper:hover .marker-dot {
    transform: scale(1.3);
}

.marker-pulse {
    width: 14px;
    height: 14px;
    background: rgba(244,180,0,0.4);
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    left: 8px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(3); opacity: 0; }
}

/* POPUP BASE */
.modern-popup .leaflet-popup-content-wrapper {
    padding: 0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(0,0,0,0.18);
    animation: fadeSlideIn 0.4s ease forwards;
}

@keyframes fadeSlideIn {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

.popup-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.popup-content {
    padding: 20px;
}

.popup-content h3 {
    margin: 0 0 10px;
}

.popup-btn {
    display: inline-block;
    padding: 8px 16px;
    background: #111;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    transition: 0.3s;
}

.popup-btn:hover {
    background: #f4b400;
    color: #111;
}

/* MOBILE BOTTOM SHEET STYLE */
@media (max-width: 768px) {

    #cg-map {
        height: 85vh;
    }

    .mobile-popup .leaflet-popup-content-wrapper {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        border-radius: 20px 20px 0 0;
        animation: slideUpMobile 0.4s ease forwards;
    }}

@keyframes slideUpMobile {
        0% { transform: translateY(100%); }
        100% { transform: translateY(0); }
    }

    .leaflet-popup-tip-container {
        display: none;
    }