/*
 * Marcadores dos castelos dos jogadores no mapa mundial.
 * Marcador visual aproximado ao estilo do mapa do Goodgame Empire.
 */
.map-node.player.player-castle-marker {
  width:150px;
  height:90px;
  z-index:8;
  overflow:visible;
  isolation:isolate;
}

.map-node.player.player-castle-marker:hover,
.map-node.player.player-castle-marker:focus-within {
  z-index:19;
}

.map-node.player .player-castle-btn.player-castle-map-btn {
  position:absolute;
  left:50%;
  top:0;
  width:70px;
  height:64px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transform:translateX(-50%);
  overflow:visible;
  cursor:pointer;
  outline:none;
}

.map-node.player .player-castle-btn.player-castle-map-btn:hover:not(:disabled),
.map-node.player .player-castle-btn.player-castle-map-btn:focus-visible {
  transform:translateX(-50%) scale(1.06);
  filter:none;
}

.player-castle-art {
  position:absolute;
  left:50%;
  bottom:0;
  display:block;
  width:66px;
  height:58px;
  object-fit:contain;
  transform:translateX(-50%);
  filter:drop-shadow(0 4px 3px rgba(20,31,13,.58));
  pointer-events:none;
}

.player-own .player-castle-art {
  filter:
    drop-shadow(0 0 4px rgba(255,224,132,.88))
    drop-shadow(0 4px 3px rgba(20,31,13,.62));
}

.player-castle-nameplate {
  position:absolute;
  left:50%;
  top:53px;
  z-index:4;
  width:max-content;
  min-width:52px;
  max-width:72px;
  height:13px;
  transform:translateX(-50%);
  color:#10282f;
  text-align:center;
  pointer-events:none;
  filter:drop-shadow(0 1.5px 1px rgba(0,0,0,.46));
}

.player-castle-nameplate::before,
.player-castle-nameplate::after {
  content:"";
  position:absolute;
  top:3px;
  z-index:0;
  width:12px;
  height:9px;
  background:linear-gradient(#48c8e1,#168baa);
  border:1px solid #174d60;
  box-sizing:border-box;
}

.player-castle-nameplate::before {
  left:-8px;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%,31% 50%);
}

.player-castle-nameplate::after {
  right:-8px;
  clip-path:polygon(0 0,100% 0,69% 50%,100% 100%,0 100%);
}

.player-castle-nameplate strong {
  position:relative;
  z-index:2;
  display:block;
  min-width:52px;
  max-width:72px;
  height:12px;
  padding:2px 5px 1.5px;
  overflow:hidden;
  color:#10282f;
  background:linear-gradient(#73e1ef 0%,#39bad2 51%,#24a4c1 52%,#43c6dd 100%);
  border:1px solid #174d60;
  border-radius:1px;
  box-shadow:inset 0 .5px 0 rgba(255,255,255,.68),inset 0 -1px 0 rgba(0,66,82,.24);
  box-sizing:border-box;
  font-family:Georgia,'Times New Roman',serif;
  font-size:5px;
  font-weight:900;
  line-height:7px;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:0 .5px 0 rgba(255,255,255,.58);
}

.player-castle-nameplate strong::before,
.player-castle-nameplate strong::after {
  content:"";
  position:absolute;
  bottom:-2.5px;
  z-index:-1;
  width:5px;
  height:5px;
  background:#146c86;
  transform:rotate(45deg);
}

.player-castle-nameplate strong::before { left:3px; }
.player-castle-nameplate strong::after { right:3px; }

.player-own .player-castle-nameplate strong {
  border-color:#8a641d;
  box-shadow:
    inset 0 .5px 0 rgba(255,255,255,.7),
    inset 0 -1px 0 rgba(0,66,82,.24),
    0 0 0 .5px rgba(255,225,133,.78);
}

@media (max-width:1200px) {
  .map-node.player.player-castle-marker {
    width:142px;
    height:86px;
  }

  .map-node.player .player-castle-btn.player-castle-map-btn {
    width:66px;
    height:61px;
  }

  .player-castle-art {
    width:62px;
    height:55px;
  }

  .player-castle-nameplate {
    top:50px;
  }
}
