/* Флаги в каталоге */
.jem-loop-flag { margin-bottom: 5px; font-size: 12px; color: #666; }
.jem-loop-flag .jem-country-flag { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: inherit; }
.jem-loop-flag img { border-radius: 2px; box-shadow: 1px 1px 2px rgba(0,0,0,0.1); width: 20px; height: auto; }

/* Флаги в карточке товара */
.jem-single-flag-wrapper { margin: 10px 0; font-size: 14px; }
.jem-single-flag-wrapper .jem-country-flag { display: inline-flex; align-items: center; gap: 10px; background: #f7f7f7; padding: 6px 14px; border-radius: 30px; text-decoration: none; color: #333; transition: 0.2s; border: 1px solid transparent; }
.jem-single-flag-wrapper .jem-country-flag:hover { background: #fff; border-color: #ddd; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }

/* Сетка стран (Шорткод и Мобильная версия) */
.jem-countries-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-top: 20px; }
.jem-countries-grid a { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid #eee; border-radius: 8px; text-decoration: none; color: #333; transition: 0.2s; background: #fff; }
.jem-countries-grid a:hover { border-color: #bbb; transform: translateY(-2px); box-shadow: 0 4px 6px rgba(0,0,0,0.05); }

/* Карта */
#jem-world-map { 
    width: 100% !important; /* Принудительно на всю ширину контейнера */
    height: 500px; /* Чуть увеличил высоту для красоты */
    background: #fdfdfd; 
    border: 1px solid #eee; 
    border-radius: 8px; 
    overflow: hidden; 
    position: relative; 
}

/* Тултипы (Всплывашки) */
.jvm-tooltip { 
    background: #fff; 
    color: #333; 
    padding: 8px 12px; 
    border-radius: 6px; 
    font-size: 13px; 
    font-family: sans-serif; 
    z-index: 999; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.15); /* Красивая тень */
    border: 1px solid #eee;
    display: flex; /* Чтобы картинка и текст были в ряд */
    align-items: center;
    gap: 8px;
}
.jvm-tooltip img {
    border-radius: 2px;
    width: 20px;
    height: auto;
    display: block;
}

/* Вкладка в товаре */
.jem-tab-content { display: flex; flex-wrap: wrap; gap: 30px; }
.jem-tab-text { flex: 1; min-width: 300px; }
.jem-tab-map { flex: 0 0 300px; height: 200px; border-radius: 8px; overflow: hidden; border: 1px solid #eee; }

/* Мобильная адаптация */
@media (max-width: 768px) {
    #jem-world-map { height: 400px; }
    .jem-tab-content { flex-direction: column; }
    .jem-tab-map { width: 100%; flex: none; }
    .jem-map-mobile-list { display: block; margin-top: 20px; }
}