.actors-map { margin: 24px 0; border: 1px solid #eadfe8; border-radius: 20px; background: #fff; overflow: hidden; color: #29283b; }
.actors-map__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; }
.actors-map__heading span { color: #a62064; font-size: 11px; text-transform: uppercase; letter-spacing: 1.5px; font-weight: 600; }
.actors-map__heading h2 { margin: 5px 0 8px; font-size: 26px; }
.actors-map__heading p { color: #747082; font-size: 13px; }
.actors-map__heading > strong { white-space: nowrap; padding: 9px 14px; background: #fcf2f7; border-radius: 24px; color: #a62064; }
.actors-map__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; border-top: 1px solid #eee6ed; }
.actors-map__canvas { background: radial-gradient(ellipse at center, #fff 0%, #f4edf5 100%); padding: 16px; min-width: 0; }
.actors-map__svg { display: block; width: 100%; height: 340px; }
.actors-map__svg path { fill: #ded8e5; stroke: #fff; stroke-width: .6; vector-effect: non-scaling-stroke; }
.actors-map__svg .has-actresses { fill: #d98aaf; cursor: pointer; }
.actors-map__svg .has-actresses:hover, .actors-map__svg .has-actresses:focus, .actors-map__svg .is-selected { fill: #a62064; stroke: #65204a; stroke-width: 1.5; outline: none; }
.actors-map__tools { display: flex; gap: 6px; }
.actors-map [hidden] { display: none; }
.actors-map__tools button { background: #fff; color: #7c3260; border: 1px solid #dfcedb; border-radius: 7px; min-height: 36px; padding: 6px 14px; cursor: pointer; font: inherit; }
.actors-map__tools button[aria-pressed="true"] { background: #a62064; color: #fff; }
.actors-map__legend { color: #777080; font-size: 11px; text-align: center; margin: 8px 0; }
.actors-map__legend span { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #d98aaf; margin-right: 5px; }
.actors-map__profiles { padding: 20px; border-left: 1px solid #eee6ed; min-width: 0; }
.actors-map__profiles label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; }
.actors-map__profiles select { width: 100%; min-height: 44px; padding: 8px; border: 1px solid #ded4e0; border-radius: 8px; background: #fff; color: #29283b; font: inherit; }
.actors-map__results { max-height: 290px; overflow-y: auto; margin-top: 16px; }
.actors-map__results h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 15px; }
.actors-map__results h3 img { width: 24px; height: 24px; }
.actors-map__results h3 small { margin-left: auto; color: #807789; font-size: 10px; }
.actors-map__cards a { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid #f0ebf0; color: #29283b; text-decoration: none; font-size: 12px; }
.actors-map__cards a:hover { color: #a62064; background: #fcf2f7; }
.actors-map__cards img { width: 52px; height: 52px; flex: 0 0 52px; object-fit: cover; border-radius: 50%; }
.actors-map__cards a > span:last-child { margin-left: auto; color: #a62064; }
.actors-map__unknown { margin-top: 12px; color: #84798a; font-size: 11px; }
.actors-map button:focus-visible, .actors-map select:focus-visible, .actors-map a:focus-visible { outline: 2px solid #a62064; outline-offset: 2px; }
@media (max-width: 767px) {
    .actors-map__heading { padding: 18px 14px; gap: 10px; }
    .actors-map__heading h2 { font-size: 21px; }
    .actors-map__heading > strong { font-size: 11px; padding: 8px; }
    .actors-map__layout { grid-template-columns: 1fr; }
    .actors-map__canvas { padding: 10px; }
    .actors-map__svg { height: 230px; }
    .actors-map__profiles { border-left: 0; border-top: 1px solid #eee6ed; padding: 14px; }
    .actors-map__tools button { min-height: 44px; }
}
