/* Crown Creative Suite — Shared Read-only Map Viewer */
.ccs-map-viewer-backdrop{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(0,0,0,.74);
  z-index:250;
  backdrop-filter:blur(6px);
}
.ccs-map-viewer-backdrop.show{display:flex;}
.ccs-map-viewer-modal{
  width:min(1120px,100%);
  height:min(82vh,780px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  border:1px solid rgba(243,200,91,.32);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(12,13,14,.98),rgba(4,6,8,.96));
  color:#f8ead0;
  box-shadow:0 32px 86px rgba(0,0,0,.68), inset 0 1px 0 rgba(255,232,169,.08);
  font-family:Georgia,"Times New Roman",serif;
}
.ccs-map-viewer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid rgba(243,200,91,.18);
}
.ccs-map-viewer-head h2{margin:0;color:#ffe8b4;font-size:18px;letter-spacing:.08em;text-transform:uppercase;}
.ccs-map-viewer-head small{display:block;color:#bda66f;margin-top:3px;}
.ccs-map-viewer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.ccs-map-viewer-actions button{
  border:1px solid rgba(243,200,91,.24);
  border-radius:10px;
  background:rgba(3,5,7,.68);
  color:#f8ead0;
  padding:9px 12px;
  font-family:inherit;
  cursor:pointer;
}
.ccs-map-viewer-actions button.primary{border-color:rgba(255,203,85,.60);background:linear-gradient(180deg,rgba(146,89,21,.76),rgba(28,18,8,.90));}
.ccs-map-viewer-body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;}
.ccs-map-viewer-side{border-right:1px solid rgba(243,200,91,.16);padding:14px;overflow:auto;background:rgba(255,255,255,.025);}
.ccs-map-viewer-side label{display:block;color:#bda66f;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;}
.ccs-map-viewer-side select,.ccs-map-viewer-side input{
  width:100%;border:1px solid rgba(243,200,91,.18);border-radius:10px;background:rgba(3,5,7,.64);color:#f8ead0;padding:9px 10px;font-family:inherit;
}
.ccs-map-viewer-card{border:1px solid rgba(243,200,91,.14);border-radius:14px;padding:10px;margin-top:10px;background:rgba(255,255,255,.035);color:#d9c99c;font-size:12px;line-height:1.45;}
.ccs-map-viewer-card strong{display:block;color:#fff0c4;font-size:14px;margin-bottom:4px;}
.ccs-map-viewer-map{position:relative;min-height:0;overflow:hidden;background:#090806;display:grid;place-items:center;}
.ccs-map-viewer-map-inner{position:relative;width:min(100%,1200px);height:min(100%,760px);background:linear-gradient(180deg,#d4bd88,#a78349);box-shadow:0 20px 70px rgba(0,0,0,.62),inset 0 0 50px rgba(55,36,14,.35);}
.ccs-map-viewer-map-inner img{width:100%;height:100%;object-fit:contain;display:block;background:#17100a;}
.ccs-map-viewer-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#4a3216;background:linear-gradient(180deg,#e5d0a4,#b69159 70%,#8b6a37);}
.ccs-map-viewer-svg,.ccs-map-viewer-pins,.ccs-map-viewer-labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.ccs-map-viewer-svg{z-index:2;}
.ccs-map-viewer-pins,.ccs-map-viewer-labels{z-index:3;}
.ccs-map-viewer-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#f3c85b;color:#1b1204;display:grid;place-items:center;font-size:14px;line-height:1;border:1px solid rgba(0,0,0,.55);box-shadow:0 1px 2px rgba(0,0,0,.55),0 0 7px rgba(255,225,138,.40);}
.ccs-map-viewer-pin::before{content:attr(data-symbol);}
.ccs-map-viewer-label{position:absolute;left:var(--x);top:var(--y);transform:translate(22px,-50%);color:#211607;font-weight:700;font-size:15px;text-shadow:0 1px 0 rgba(255,241,190,.75),0 0 2px rgba(255,241,190,.8);white-space:nowrap;}
.ccs-map-viewer-route{fill:none;stroke:var(--route-color,#f3c85b);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(0,0,0,.55));}
@media(max-width:820px){.ccs-map-viewer-body{grid-template-columns:1fr}.ccs-map-viewer-side{border-right:0;border-bottom:1px solid rgba(243,200,91,.16);max-height:250px}.ccs-map-viewer-modal{height:min(92vh,860px)}}
