/*
==========================================
Wander Wise Pro
Interactive India Map
==========================================
*/
 
.ww-map-section{
    padding:120px 0;
    background:#f8fafc;
    position:relative;
}
 
.ww-map-wrapper{
 
    display:grid;
    grid-template-columns:1.8fr 1fr;
    gap:48px;
    align-items:start;
    margin-top:70px;
 
}
 
.ww-map{
 
    background:#fff;
    border-radius:30px;
    padding:40px;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
    overflow:hidden;
    position:relative;
 
}
 
.ww-map svg{
 
    width:100%;
    height:auto;
    display:block;
 
}
 
/* ======================================
State Hover
====================================== */
 
.ww-map svg path{
 
    cursor:pointer;
 
    transition:
    fill .35s ease,
    transform .25s ease,
    opacity .25s ease;
 
}
 
.ww-map svg path:hover{
 
    fill:#6B2FA0 !important;
 
    opacity:1;
 
}
 
.ww-map svg path.active{
 
    fill:#6B2FA0 !important;
 
}
 
.ww-map svg path.ww-dim{
 
    opacity:.15;
    pointer-events:none;
 
}
 
/* ======================================
Region Filters
====================================== */
 
.ww-region-filters{
 
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin:0 0 40px;
 
}
 
.ww-region-filter{
 
    padding:11px 24px;
    border:1px solid #e2e8f0;
    border-radius:999px;
    background:#fff;
    color:#334155;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:.25s ease;
 
}
 
.ww-region-filter:hover{
 
    border-color:#6B2FA0;
    color:#6B2FA0;
 
}
 
.ww-region-filter.active{
 
    background:#6B2FA0;
    border-color:#6B2FA0;
    color:#fff;
 
}
 
/* ======================================
Sidebar
====================================== */
 
.ww-map-sidebar{
 
    position:sticky;
    top:120px;
 
    background:#fff;
 
    border-radius:30px;
 
    overflow:hidden;
 
    box-shadow:0 20px 60px rgba(0,0,0,.08);
 
}
 
.ww-sidebar-placeholder{
 
    padding:40px;
 
    text-align:center;
 
}
 
.ww-sidebar-placeholder h3{
 
    font-size:30px;
 
    margin-bottom:18px;
 
}
 
.ww-sidebar-placeholder p{
 
    color:#64748b;
 
    line-height:1.8;
 
}
 
#ww-map-results{
 
    display:none;
 
}
 
/* ======================================
Dynamic Panel
====================================== */
 
.ww-state-panel{
 
    display:flex;
 
    flex-direction:column;
 
}
 
.ww-state-image{
 
    width:100%;
 
    height:240px;
 
    overflow:hidden;
 
}
 
.ww-state-image img{
 
    width:100%;
 
    height:100%;
 
    object-fit:cover;
 
}
 
.ww-state-content{
 
    padding:36px;
 
}
 
.ww-state-content h2{
 
    font-size:36px;
 
    margin-bottom:12px;
 
}
 
.ww-state-content p{
 
    color:#64748b;
 
    line-height:1.8;
 
}
 
.ww-state-tagline{
 
    font-style:italic;
    color:#6B2FA0 !important;
    margin-bottom:8px;
 
}
 
.ww-state-best-time{
 
    margin-top:18px;
    font-size:14px;
    color:#334155 !important;
 
}
 
.ww-state-best-time strong{
 
    color:#0F172A;
 
}
 
.ww-state-stats{
 
    display:grid;
 
    grid-template-columns:repeat(2,1fr);
 
    gap:16px;
 
    margin:32px 0;
 
}
 
.ww-state-stat{
 
    background:#f8fafc;
 
    border-radius:18px;
 
    padding:18px;
 
    text-align:center;
 
}
 
.ww-state-stat strong{
 
    display:block;
 
    font-size:28px;
 
    color:#6B2FA0;
 
}
 
.ww-state-stat span{
 
    font-size:14px;
 
    color:#64748b;
 
}
 
.ww-top-places{
 
    margin-top:25px;
 
}
 
.ww-top-places h4{
 
    margin-bottom:15px;
 
}
 
.ww-top-places ul{
 
    padding:0;
 
    margin:0;
 
    list-style:none;
 
}
 
.ww-top-places li{
 
    padding:10px 0;
 
    border-bottom:1px solid #e5e7eb;
 
}
 
.ww-state-button{
 
    display:inline-flex;
 
    justify-content:center;
 
    align-items:center;
 
    margin-top:35px;
 
    padding:16px 28px;
 
    background:#6B2FA0;
 
    color:#fff;
 
    border-radius:999px;
 
    font-weight:700;
 
    transition:.35s;
 
}
 
.ww-state-button:hover{
 
    transform:translateY(-4px);
 
}
 
/* ======================================
Skeleton Loader
====================================== */

#ww-map-panel.is-loading{
    pointer-events:none;
}

.ww-skeleton{
    display:flex;
    flex-direction:column;
}

.ww-skeleton-image{
    width:100%;
    height:240px;
    background:linear-gradient(90deg,#eef1f5 25%,#f8fafc 37%,#eef1f5 63%);
    background-size:400% 100%;
    animation:wwShimmer 1.4s ease infinite;
}

.ww-skeleton-body{
    padding:36px;
}

.ww-skeleton-line{
    height:16px;
    border-radius:6px;
    margin-bottom:14px;
    background:linear-gradient(90deg,#eef1f5 25%,#f8fafc 37%,#eef1f5 63%);
    background-size:400% 100%;
    animation:wwShimmer 1.4s ease infinite;
}

.ww-skeleton-title{
    width:60%;
    height:30px;
}

.ww-skeleton-tagline{
    width:85%;
    margin-bottom:28px;
}

.ww-skeleton-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    margin-bottom:28px;
}

.ww-skeleton-stat{
    height:72px;
    border-radius:18px;
    background:linear-gradient(90deg,#eef1f5 25%,#f8fafc 37%,#eef1f5 63%);
    background-size:400% 100%;
    animation:wwShimmer 1.4s ease infinite;
}

.ww-skeleton-list{
    width:100%;
    height:14px;
}

.ww-skeleton-button{
    width:180px;
    height:52px;
    border-radius:999px;
    margin-top:20px;
    background:linear-gradient(90deg,#eef1f5 25%,#f8fafc 37%,#eef1f5 63%);
    background-size:400% 100%;
    animation:wwShimmer 1.4s ease infinite;
}

@keyframes wwShimmer{
    0%{ background-position:100% 0; }
    100%{ background-position:0 0; }
}

@media (prefers-reduced-motion:reduce){
    .ww-skeleton-image,
    .ww-skeleton-line,
    .ww-skeleton-stat,
    .ww-skeleton-button{
        animation:none;
    }
}

/* ======================================
Responsive
====================================== */
 
@media(max-width:1024px){
 
    .ww-map-wrapper{
 
        grid-template-columns:1fr;
 
    }
 
    .ww-map-sidebar{
 
        position:relative;
        top:0;
 
    }
 
}
 
@media(max-width:768px){
 
    .ww-map-section{
 
        padding:80px 0;
 
    }
 
    .ww-map{
 
        padding:20px;
 
    }
 
    .ww-state-content{
 
        padding:24px;
 
    }
 
    .ww-state-content h2{
 
        font-size:30px;
 
    }
 
    .ww-state-stats{
 
        grid-template-columns:1fr;
 
    }
 
    .ww-region-filters{
 
        gap:8px;
        margin-bottom:28px;
 
    }
 
    .ww-region-filter{
 
        padding:9px 18px;
        font-size:13px;
 
    }
 
}