/* ========================
    IRAN MAP WIDGET v9.9
   ======================== */
.imw-container{position:relative;width:100%;margin:0 auto;direction:rtl;overflow:visible}
.imw-svg-box{position:relative;width:100%;max-width:700px;margin:0 auto;padding:30px;line-height:0;box-sizing:border-box;overflow:visible}
.imw-svg-box>svg,.imw-svg-box>svg.imw-svg{display:block;width:100%!important;height:auto!important;max-width:100%!important;overflow:visible}
.imw-svg-box svg path,.imw-svg-box svg polygon{cursor:pointer;transition:fill .25s ease,filter .25s ease}
.imw-agency-logo{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;pointer-events:none;z-index:5;transition:opacity .2s ease}
.imw-agency-logo img{display:block;width:100%;height:100%;object-fit:contain}
.imw-agency-logo.imw-logo-hover-hidden{opacity:0 !important}
.imw-agency-logo.imw-logo-mobile-hidden{display:none !important}
.imw-empty{min-height:300px;display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:2px dashed #ddd;border-radius:12px;color:#999;text-align:center}

/* ========================
    SEARCH
   ======================== */
.imw-search{background:#f8f9fa;border-radius:12px;padding:25px;margin-top:20px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.imw-search-title{font-size:16px;font-weight:700;color:#2c3e50;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid #e9ecef;display:flex;align-items:center;gap:8px}
.imw-search-form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.imw-search-field{flex:1;min-width:180px;display:flex;flex-direction:column;gap:6px}
.imw-search-field label{font-size:12px;font-weight:600;color:#666}

/* ========================
    Modern Select Dropdown
   ======================== */
.imw-search-field select{
    width:100%;
    height:48px;
    padding:0 18px 0 42px;
    box-sizing:border-box;
    border:2px solid #e0e0e0;
    border-radius:50px;
    font-size:14px;
    font-family:inherit;
    line-height:44px;
    background-color:#fff;
    color:#333;
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='%23999'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:left 16px center;
    background-size:18px;
    cursor:pointer;
    transition:border-color .2s ease,box-shadow .2s ease;
    box-shadow:none;
    outline:none;
}
.imw-search-field select:hover{
    border-color:#bbb;
}
.imw-search-field select:focus{
    border-color:#3498db;
    box-shadow:0 0 0 3px rgba(52,152,219,.1);
}
.imw-search-field select:disabled{
    opacity:.5;
    cursor:not-allowed;
    background-color:#f8f8f8;
}
.imw-search-field select option{
    padding:10px 14px;
    font-size:14px;
    background:#fff;
    color:#333;
    font-family:inherit;
    line-height:1.6;
}
.imw-search-field select option:checked{
    background:#f0f6fc;
    color:#2c3e50;
}
.imw-search-field select option:disabled{
    color:#bbb;
}
.imw-search-field select:-moz-focusring{
    color:transparent;
    text-shadow:0 0 0 #333;
}

.imw-search-field-btn{flex:0 0 auto;min-width:auto}
.imw-search-btn{
    display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    padding:0 28px!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#3498db;color:#fff;border:none!important;
    border-radius:50px;
    font-size:14px!important;font-weight:600!important;font-family:inherit!important;line-height:1!important;
    cursor:pointer;
    transition:all .3s ease;
    white-space:nowrap;
    box-shadow:0 2px 8px rgba(52,152,219,.25);
}
.imw-search-btn:hover{background:#2980b9;box-shadow:0 4px 12px rgba(52,152,219,.35);transform:translateY(-1px)}
.imw-search-btn:active{transform:translateY(0);box-shadow:0 1px 4px rgba(52,152,219,.2)}

/* Results */
.imw-search-results{margin-top:20px;padding-top:20px;border-top:1px solid #e9ecef}
.imw-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.imw-results-title{font-size:14px;font-weight:700;color:#2c3e50}
.imw-results-count{font-size:12px;color:#999;background:#eee;padding:3px 10px;border-radius:20px}
.imw-results-list{display:flex;flex-direction:column;gap:12px}

/* ========================
    CARD
   ======================== */
.imw-result-card,.imw-popup-card{
    background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:16px 20px;
    transition:border-color .2s,box-shadow .2s;animation:imw-fadeIn .3s ease forwards}
.imw-result-card:hover,.imw-popup-card:hover{border-color:#3498db;box-shadow:0 4px 12px rgba(52,152,219,.1)}

.imw-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid #f0f0f0;flex-wrap:wrap}
.imw-card-header-bar{width:4px;height:22px;background:linear-gradient(180deg,#3498db,#27ae60);border-radius:2px;flex-shrink:0}
.imw-card-title{font-size:14px;font-weight:700;color:#2c3e50;flex-shrink:0}
.imw-card-badge{background:#3498db;color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}
.imw-card-location{font-size:12px;color:#888;font-weight:600;background:#f0f0f0;padding:2px 10px;border-radius:20px;flex-shrink:0}
.imw-card-rating{font-size:13px;font-weight:700;color:#f1c40f;background:#fffde7;padding:2px 10px;border-radius:20px;flex-shrink:0;margin-right:auto;direction:ltr}

.imw-card-fields{display:flex;flex-wrap:wrap;gap:6px 20px}
.imw-card-field{display:flex;flex-direction:column;gap:2px;min-width:180px;flex:1 1 180px;padding:6px 0}

.imw-f-head{display:flex;align-items:center;gap:5px}
.imw-f-ico{width:14px;height:14px;flex-shrink:0;color:#3498db;display:inline-flex;align-items:center;justify-content:center}
.imw-f-ico svg{width:14px;height:14px;fill:currentColor}
.imw-f-ico i{font-size:14px}
.imw-f-ico img{width:14px;height:14px;object-fit:contain}
.imw-f-lbl{font-size:11px;color:#888;font-weight:600;white-space:nowrap}

.imw-f-val{font-size:12px;color:#333;font-weight:600;word-break:break-word;line-height:1.6}
.imw-f-val a{color:#3498db;text-decoration:none}
.imw-f-val a:hover{text-decoration:underline;color:#2980b9}

.imw-f-val a.imw-social-link{
    color:#3498db;text-decoration:none;font-weight:600;transition:color .2s;
}
.imw-f-val a.imw-social-link:hover{color:#2980b9;text-decoration:underline}

.imw-popup-card .imw-card-fields{display:grid;grid-template-columns:1fr 1fr;flex-direction:unset;gap:6px 16px}
.imw-popup-card .imw-card-field{min-width:0;flex:unset;padding:4px 0}
.imw-popup-card .imw-card-field[data-key="address"]{grid-column:1/-1}

/* Hide empty */
.imw-card-field:empty{display:none !important}
.imw-card-field .imw-f-val:empty{display:none !important}
.imw-card-field:has(.imw-f-val:empty){display:none !important}

/* ========================
    CARD UNFOLD (mobile)
   ======================== */
.imw-card-fields-collapsed .imw-card-field:nth-child(n+6){
    display:none !important;
}
.imw-card-fields-expanded .imw-card-field:not(:has(.imw-f-val:empty)){
    display:flex !important;
}
.imw-card-toggle{
    display:none;
    width:100%;
    padding:8px 0;
    margin-top:6px;
    background:none;
    border:none;
    border-top:none;
    color:#3498db;
    font-size:12px;
    font-weight:600;
    font-family:inherit;
    cursor:pointer;
    text-align:center;
    transition:color .2s;
    gap:4px;
    align-items:center;
    justify-content:center;
}
.imw-card-toggle:hover{color:#2980b9}
.imw-card-toggle svg{width:14px;height:14px;fill:currentColor;transition:transform .3s}
.imw-card-toggle.imw-expanded svg{transform:rotate(180deg)}

/* ========================
    LOAD MORE
   ======================== */
.imw-load-more-wrap{text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid #eee}
.imw-load-more{display:inline-flex;align-items:center;gap:8px;padding:10px 30px;background:#fff;color:#3498db;border:2px solid #3498db;border-radius:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}
.imw-load-more:hover{background:#3498db;color:#fff}
.imw-load-more:active{transform:scale(.98)}
.imw-load-more svg{width:16px;height:16px;fill:currentColor}
.imw-load-more-info{font-size:11px;color:#999;margin-top:6px}
.imw-no-results{text-align:center;padding:40px 20px;color:#999}
.imw-no-results-ico{font-size:42px;margin-bottom:12px;opacity:.3}
.imw-no-results p{font-size:14px;margin:0;line-height:1.8}

/* ========================
    OVERLAY & POPUP
   ======================== */
.imw-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:999990;opacity:0;transition:opacity .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.imw-overlay.active{display:block;opacity:1}

.imw-popup{position:fixed;z-index:999999;display:none;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:380px;max-width:92vw;direction:rtl;overflow:hidden;opacity:0;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);transition:opacity .3s,transform .3s cubic-bezier(.175,.885,.32,1.275)}
.imw-popup.active{display:block!important;opacity:1;transform:translate(-50%,-50%) scale(1)}
.imw-popup-header{padding:16px 20px;background:#2c3e50;display:flex;align-items:center;gap:10px}
.imw-popup-title{font-size:15px;font-weight:700;color:#fff;flex:1}
.imw-popup-count{background:#27ae60;color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;flex-shrink:0}
.imw-popup-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;padding:0;line-height:1}
.imw-popup-close:hover{background:rgba(255,255,255,.3)}
.imw-popup-body{padding:16px;overflow-y:auto;overscroll-behavior:contain}
.imw-popup-body::-webkit-scrollbar{width:5px}
.imw-popup-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}
.imw-popup-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}
.imw-popup-card{background:#f8f9fa;margin-bottom:12px}
.imw-popup-card:last-child{margin-bottom:0}

.imw-no-agency{text-align:center;padding:30px 20px;color:#999}
.imw-no-agency-ico{font-size:36px;margin-bottom:10px;opacity:.3}
.imw-no-agency p{font-size:13px;line-height:1.8;margin:0}

/* Tooltip */
.imw-tip{position:fixed;z-index:999998;display:none;background:rgba(44,62,80,.92);color:#fff;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap;direction:rtl;opacity:0;transition:opacity .15s}
.imw-tip.active{display:block!important;opacity:1}
.imw-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:rgba(44,62,80,.92)}

/* ========================
    LIVE STATS
   ======================== */
.imw-stats{
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:20px;
    padding:20px;
    margin:20px 0;
    background:#f8f9fa;
    border-radius:12px;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
    flex-wrap:wrap;
}
.imw-stats-vertical{
    flex-direction:column;
    align-items:stretch;
}
.imw-stat-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:20px 25px;
    background:#fff;
    border:1px solid #e9ecef;
    border-radius:10px;
    flex:1;
    min-width:180px;
    opacity:0;
    transform:translateY(20px);
    transition:transform .3s ease,box-shadow .3s ease;
}
.imw-stat-item.imw-visible{
    animation:imw-statIn .6s ease forwards;
}
.imw-stat-item:nth-child(1).imw-visible{animation-delay:0s}
.imw-stat-item:nth-child(2).imw-visible{animation-delay:.15s}
.imw-stat-item:nth-child(3).imw-visible{animation-delay:.3s}
.imw-stat-item:nth-child(4).imw-visible{animation-delay:.45s}
.imw-stat-item:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 25px rgba(0,0,0,.08);
}
.imw-stat-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ebf5fb;
    color:#3498db;
    border-radius:12px;
    flex-shrink:0;
    transition:transform .3s ease;
}
.imw-stat-item:hover .imw-stat-icon{
    transform:scale(1.1);
}
.imw-stat-icon i{font-size:22px}
.imw-stat-icon svg{width:22px;height:22px;fill:currentColor}
.imw-stat-icon img{width:22px;height:22px;object-fit:contain}
.imw-stat-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    flex:1;
}
.imw-stat-number{
    font-size:28px;
    font-weight:800;
    color:#2c3e50;
    line-height:1.2;
    direction:ltr;
    display:inline-block;
    text-align:center;
}
.imw-stat-number.counting{
    animation:imw-pulse 0.1s ease-in-out;
}
.imw-stat-label{
    font-size:13px;
    font-weight:600;
    color:#888;
    white-space:nowrap;
    text-align:center;
}
.imw-stat-divider{
    width:1px;
    height:40px;
    background:#e9ecef;
    flex-shrink:0;
    opacity:1;
    transform:none;
    align-self:center;
}
.imw-stats-vertical .imw-stat-divider{
    width:100%;
    height:1px;
}

@keyframes imw-pulse{
    0%{transform:scale(1)}
    50%{transform:scale(1.05)}
    100%{transform:scale(1)}
}
@keyframes imw-statIn{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}

/* ========================
    Responsive
   ======================== */
@media(max-width:767px){
    .imw-container{
        overflow:visible!important;
    }
    .imw-svg-box{
        padding:6px 2px!important;
        max-width:100%!important;
        overflow:visible!important;
    }
    .imw-svg-box>svg,
    .imw-svg-box>svg.imw-svg{
        width:100%!important;
        height:auto!important;
        max-width:100%!important;
        min-width:0!important;
        overflow:visible!important;
    }
    .imw-svg-box svg[viewBox]{
        width:100%!important;
        height:auto!important;
    }

    /* --- SEARCH --- */
    .imw-search{padding:0px!important}
    .imw-search-form{flex-direction:column}
    .imw-search-field{min-width:100%}
    .imw-search-field-btn{min-width:100%}
    .imw-search-btn{
        width:100%;justify-content:center!important;
        height:52px!important;min-height:52px!important;max-height:52px!important;
        padding:0 28px!important;font-size:15px;
    }
    .imw-card-fields{display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:unset!important;gap:8px 12px!important}
    .imw-card-field{min-width:0!important;flex:unset!important}
    .imw-card-field[data-key="address"]{grid-column:1/-1!important}

    /* --- بهبود سلکت موبایل --- */
    .imw-search-field select{
        padding:0 20px!important;
        padding-left:46px!important;
        font-size:16px!important;
        height:52px!important;
        min-height:52px!important;
        max-height:52px!important;
        line-height:48px!important;
        border-radius:50px!important;
        background-size:20px!important;
        background-position:left 14px center!important;
    }
    .imw-search-field label{
        font-size:13px!important;
        margin-bottom:4px;
    }

    /* --- CARD UNFOLD --- */
    .imw-card-toggle{
        display:flex!important;
    }

    /* --- POPUP → BOTTOM SHEET --- */
    .imw-popup{
        width:100%!important;
        max-width:100%!important;
        border-radius:20px 20px 0 0!important;
        top:auto!important;
        bottom:0!important;
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%) translateY(100%);
        transition:transform .35s cubic-bezier(.32,.72,.37,1.02),opacity .3s ease;
        max-height:85vh;
        box-shadow:0 -10px 40px rgba(0,0,0,.15);
    }
    .imw-popup.active{
        transform:translateX(-50%) translateY(0)!important;
        opacity:1;
    }
    .imw-popup-header{
        position:relative;
        padding-top:24px!important;
    }
    .imw-popup-header::before{
        content:'';
        position:absolute;
        top:8px;
        left:50%;
        transform:translateX(-50%);
        width:40px;
        height:4px;
        background:rgba(255,255,255,.4);
        border-radius:2px;
    }
    .imw-popup-body{
        max-height:calc(85vh - 70px)!important;
        -webkit-overflow-scrolling:touch;
    }
    .imw-overlay.active{
        background:rgba(0,0,0,.5);
    }

    /* --- STATS --- */
    .imw-stats{
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        gap:6px!important;
        padding:12px 8px!important;
    }
    .imw-stat-item{
        min-width:0!important;
        flex:1 1 0!important;
        flex-direction:column!important;
        align-items:center!important;
        text-align:center;
        gap:6px!important;
        padding:10px 4px!important;
    }
    .imw-stat-icon{
        margin:0 auto;
    }
    .imw-stat-content{
        align-items:center!important;
        text-align:center;
    }
    .imw-stat-number{
        font-size:18px;
        text-align:center;
    }
    .imw-stat-label{
        font-size:11px;
        text-align:center;
        white-space:normal;
    }
    .imw-stat-divider{
        width:1px!important;
        height:30px!important;
        align-self:center;
    }
}

@keyframes imw-fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* استایل‌دهی مستقیم دکمه و متن درون آن */
button.imw-card-toggle,
button.imw-card-toggle span,
button.imw-card-toggle.imw-expanded,
button.imw-card-toggle.imw-expanded span,
button.imw-card-toggle:hover,
button.imw-card-toggle:focus,
button.imw-card-toggle:active,
button.imw-card-toggle:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* در صورتی که آیکون SVG هم تغییر رنگ می‌دهد */
button.imw-card-toggle svg {
    fill: #ffffff !important;
}