/* ============================================================
   Global Visitor Intelligence — ultra-compact map ribbon
   Designed to keep the Sacred Geography map visually dominant.
   ============================================================ */
.sd-leaflet-shell{position:relative;overflow:hidden}
.sd-visitor-map-card{
  position:absolute;z-index:700;left:18px;top:18px;width:470px;max-width:calc(100% - 36px);
  box-sizing:border-box;padding:11px 13px 9px;border:1px solid rgba(246,239,226,.18);
  border-radius:12px;background:linear-gradient(135deg,rgba(27,26,46,.94),rgba(38,38,62,.91));
  color:#F6EFE2;box-shadow:0 9px 24px rgba(0,0,0,.22),0 0 0 1px rgba(224,138,44,.06);
  backdrop-filter:blur(8px);font-family:var(--ui,Work Sans,sans-serif)
}
.sd-visitor-compact-layout{display:block}
.sd-visitor-main{min-width:0}
.sd-visitor-card-head{display:flex;align-items:center;gap:9px;margin:0 0 5px}
/* Leaflet zoom controls live inside the visitor card header. */
.sd-visitor-zoom-slot{flex:none;display:flex;align-items:center;justify-content:flex-start}
.sd-visitor-zoom-slot .leaflet-control-zoom{margin:0;display:flex;gap:3px;background:transparent;border:0;box-shadow:none}
.sd-visitor-zoom-slot .leaflet-control-zoom a{width:23px;height:23px;line-height:21px;margin:0;border:1px solid rgba(246,239,226,.20);border-radius:6px!important;background:rgba(246,239,226,.10);color:#FFFDF8;font-size:15px;font-weight:700;box-shadow:none;text-align:center}
.sd-visitor-zoom-slot .leaflet-control-zoom a:hover{background:rgba(224,138,44,.24);color:#FFF}
.sd-visitor-zoom-slot .leaflet-control-zoom-in{border-bottom:1px solid rgba(246,239,226,.20)!important}

.sd-visitor-eyebrow{color:#E08A2C;text-transform:uppercase;letter-spacing:.105em;font-size:.60rem;font-weight:800;line-height:1}
.sd-visitor-live{margin-left:auto;white-space:nowrap;font-size:.56rem;letter-spacing:.11em;font-weight:800;color:#DDEEDC;line-height:1}
.sd-visitor-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#79C58B;margin-right:4px;box-shadow:0 0 0 0 rgba(121,197,139,.55);animation:sdVisitorPulse 1.8s infinite;vertical-align:1px}
@keyframes sdVisitorPulse{70%{box-shadow:0 0 0 6px rgba(121,197,139,0)}100%{box-shadow:0 0 0 0 rgba(121,197,139,0)}}
.sd-visitor-title-row{display:flex;align-items:baseline;gap:8px;margin:0 0 7px;min-width:0}
.sd-visitor-title{margin:0;color:#FFFDF8;font-family:var(--display,Cormorant Garamond,serif);font-size:1.02rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sd-visitor-stat{display:flex;align-items:baseline;gap:4px;flex:none}
.sd-visitor-stat-repeat{padding-left:8px;border-left:1px solid rgba(246,239,226,.14)}
.sd-visitor-total{font-size:1.12rem;line-height:1;font-weight:800;color:#F7C76B;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.sd-visitor-repeat{color:#8FD1A8}
.sd-visitor-total-label{font-size:.48rem;line-height:1;color:rgba(246,239,226,.52);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.sd-visitor-total-label span{display:none}
.sd-visitor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin:0 0 5px}
.sd-visitor-continent{padding:4px 5px 3px;border:1px solid rgba(246,239,226,.08);border-radius:6px;background:rgba(246,239,226,.04);min-width:0}
.sd-visitor-continent strong{display:block;font-size:.58rem;line-height:1;color:#FFFDF8;font-variant-numeric:tabular-nums;white-space:nowrap}
.sd-visitor-continent span{display:block;margin-top:2px;font-size:.42rem;line-height:1;color:rgba(246,239,226,.48);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-visitor-countries-wrap{display:flex;align-items:center;gap:5px;border:0;padding:0;min-width:0}
.sd-visitor-countries-title{font-size:.46rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,253,248,.68);font-weight:800;white-space:nowrap}
.sd-visitor-countries{display:flex;gap:3px;min-width:0;overflow:hidden;flex:1}
.sd-visitor-country{display:flex;align-items:center;gap:4px;padding:3px 5px;font-size:.46rem;border-radius:5px;background:rgba(246,239,226,.035);color:rgba(246,239,226,.70);min-width:0;white-space:nowrap}
.sd-visitor-country span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:72px}
.sd-visitor-country b{color:#F7C76B;font-variant-numeric:tabular-nums;white-space:nowrap}
.sd-visitor-privacy{margin-top:6px;padding-top:5px;border-top:1px solid rgba(246,239,226,.08);font-size:.43rem;line-height:1.25;color:rgba(246,239,226,.48);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-visitor-privacy strong{color:rgba(246,239,226,.72)}
.sd-visitor-optout{display:inline;border:0;background:none;padding:0;color:#F7C76B;text-decoration:underline;cursor:pointer;font:inherit;font-size:.43rem}
.sd-visitor-optout:hover{color:#FFF}
.sd-visitor-status{padding:3px 5px;border-radius:5px;background:rgba(224,138,44,.07);font-size:.48rem;line-height:1.2;color:rgba(246,239,226,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){
 .sd-visitor-map-card{left:10px;top:10px;width:420px;max-width:calc(100% - 20px);padding:9px 10px 8px}
 .sd-visitor-title{font-size:.92rem}.sd-visitor-total{font-size:1rem}
 .sd-visitor-country span{max-width:55px}
}
@media(max-width:520px){
 .sd-visitor-map-card{position:absolute;width:calc(100% - 16px);left:8px;top:8px;max-width:none}
 .sd-visitor-title-row{flex-wrap:wrap;row-gap:4px}
 .sd-visitor-title{flex:1 1 100%;white-space:normal}
 .sd-visitor-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
 .sd-visitor-countries-wrap{display:block;margin-top:4px}
 .sd-visitor-countries-title{display:block;margin-bottom:3px}
 .sd-visitor-countries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .sd-visitor-country{justify-content:space-between}
 .sd-visitor-privacy{white-space:normal;display:block}
}
