/* ===========================
   Player Map Module — Fusion CMS
   =========================== */

.playermap-wrap {
    padding: 0 0 2rem;
}

/* --- Legend --- */
.pm-legend {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex-wrap: wrap;
    font-size: .85rem;
    opacity: .75;
}
.pm-legend-item {
    display: flex;
    align-items: center;
    gap: .4rem;
}
.pm-legend-counts {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .8rem;
}
.pm-legend-count {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 700;
    font-size: .85rem;
}
.pm-legend-count.horde    { color: #c41f3b; }
.pm-legend-count.alliance { color: #0078ff; }

/* --- Tab buttons --- */
.pm-map-tabs {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}
.pm-tab {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: inherit;
    border-radius: 6px;
    padding: .45rem 1.1rem;
    cursor: pointer;
    font-size: .9rem;
    transition: background .15s, border-color .15s;
}
.pm-tab:hover {
    background: rgba(255,255,255,0.1);
}
.pm-tab.active {
    background: rgba(240,210,126,0.15);
    border-color: #f0d27e;
    color: #f0d27e;
}

/* --- Map container --- */
.pm-map-outer {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    background: #0a0a0a;
}
.pm-map-container {
    position: relative;
    width: 100%;
    line-height: 0;
}
.pm-map-img {
    width: 100%;
    height: auto;
    display: block;
    user-select: none;
}

/* --- Player dots --- */
.pm-dot-player {
    position: absolute !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    transition: transform .1s;
    border: 1.5px solid rgba(0,0,0,.5);
    z-index: 10;
}
.pm-dot-player:hover {
    transform: translate(-50%, -50%) scale(1.7);
    z-index: 20;
}
.pm-dot-player.horde    { background: #c41f3b; box-shadow: 0 0 4px #c41f3b88; }
.pm-dot-player.alliance { background: #0078ff; box-shadow: 0 0 4px #0078ff88; }
.pm-dot-player.gm       { background: #f0d27e; box-shadow: 0 0 6px #f0d27eaa; }
.pm-dot-player.dungeon  { background: #3ecf5a; box-shadow: 0 0 5px #3ecf5a99; }

.pm-tooltip-icons {
    display: flex;
    gap: 4px;
    margin: 4px 0;
}
.pm-tooltip-icons img {
    width: 18px;
    height: 18px;
}
/* --- Tooltip --- */
.pm-tooltip {
    display: none;
    position: fixed;
    background: rgba(10,10,10,.95);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    padding: .6rem .9rem;
    pointer-events: none;
    z-index: 9999;
    min-width: 160px;
    max-width: 200px;
    white-space: normal;
    word-break: break-word;
    backdrop-filter: blur(6px);
}

.pm-tooltip.show {
    display: block;
}
.pm-map-container {
    position: relative !important;
}
.pm-tooltip-name {
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: .25rem;
}
.pm-tooltip-name.horde    { color: #c41f3b; }
.pm-tooltip-name.alliance { color: #5599ff; }
.pm-tooltip-name.gm       { color: #f0d27e; }
.pm-tooltip-line {
    font-size: .8rem;
    opacity: .8;
    line-height: 1.5;
}

/* --- Legend --- */
.pm-legend {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex-wrap: wrap;
    font-size: .85rem;
    opacity: .75;
}
.pm-legend-item {
    display: flex;
    align-items: center;
    gap: .4rem;
}
.pm-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1.5px solid rgba(0,0,0,.4);
}
.pm-dot.horde    { background: #c41f3b; }
.pm-dot.alliance { background: #0078ff; }
.pm-dot.gm       { background: #f0d27e; }
.pm-dot.dead     { background: #888888; }
.pm-dot.dungeon  { background: #3ecf5a; }
.pm-legend-refresh {
    margin-left: auto;
    font-size: .8rem;
    opacity: .5;
}

/* --- Info box --- */
.pm-info-box {
    background: rgba(23,162,184,.08);
    border: 1px solid rgba(23,162,184,.25);
    border-radius: 8px;
    padding: .85rem 1.1rem;
    font-size: .88rem;
    opacity: .8;
}
