/* Shared geographic layout: never mirror the map for RTL. */
.presence-network { margin: 0; border-inline: 1px solid #00104426; background: #f7fafc; }
.presence-map-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 28px 0; }
.presence-map-status { display: flex; align-items: center; gap: 9px; color: #41546b; font-size: 14px; line-height: 1.5; }
.presence-map-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #0087be; box-shadow: 0 0 12px #34b6ff70; flex-shrink: 0; }
.presence-map-toggle { min-height: 44px; padding: 9px 14px; border: 1px solid #00104440; border-radius: 4px; background: transparent; color: #001044; font: inherit; font-size: 14px; line-height: 1.5; cursor: pointer; }
.presence-map-toggle:hover { background: #e4f1f8; border-color: #0087be; }
.presence-map-toggle:focus-visible { outline: 3px solid #0087be; outline-offset: 4px; }
.presence-map-toggle[hidden] { display: none; }
.presence-geography { display: block; direction: ltr; width: calc(100% - 48px); height: auto; max-height: 460px; margin: 12px auto 0; overflow: visible; }
.presence-link, .presence-link-signal { fill: none; stroke-linecap: round; }
.presence-link { stroke: #0076aa; stroke-width: 1.5; opacity: .24; }
.presence-link-signal { stroke: #159fe2; stroke-width: 3.5; stroke-dasharray: 32 1968; opacity: 0; filter: drop-shadow(0 0 4px #34b6ff); }
.presence-pin { fill: #001044; stroke: #fff; stroke-width: 2.5; }
.presence-pin-number { fill: #fff; font: 600 16px sans-serif; text-anchor: middle; }
.presence-pin-ring { fill: none; stroke: #009ada; stroke-width: 1.5; opacity: .4; transform-box: fill-box; transform-origin: center; }
.presence-network[data-motion-ready] .presence-link-signal { animation: presence-connection 10s ease-in-out infinite alternate; animation-delay: var(--phase); }
.presence-network[data-motion-ready] .presence-pin-ring { animation: presence-beacon 5s ease-out infinite; animation-delay: var(--phase); }
.presence-network[data-motion="paused"] :is(.presence-link-signal,.presence-pin-ring) { animation-play-state: paused; }
.presence-countries { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); direction: ltr; gap: 20px; margin: 0; padding: 12px 28px 32px; list-style: none; }
.presence-countries li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.presence-countries span { color: #41546b; font-size: 14px; line-height: 1.6; }
.presence-countries strong { color: #001044; font-size: clamp(18px,1.7vw,24px); font-weight: 500; line-height: 1.4; }
.presence-countries small { color: #41546b; font-size: 14px; line-height: 1.6; }
html[lang="ar"] .presence-countries li { direction: rtl; text-align: right; }
.presence-heading h2 em { color: #52677d; }
@keyframes presence-connection {
  0% { stroke-dashoffset: 32; opacity: 0; }
  12%, 88% { opacity: .95; }
  100% { stroke-dashoffset: -1000; opacity: 0; }
}
@keyframes presence-beacon {
  0% { transform: scale(.65); opacity: .6; }
  80%,100% { transform: scale(1.8); opacity: 0; }
}
@media(max-width:700px) {
  .presence-map-toolbar { align-items: flex-start; gap: 12px; padding: 18px 16px 0; }
  .presence-map-status { max-width: 45%; }
  .presence-geography { width: calc(100% - 16px); margin-top: 20px; }
  .presence-countries { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 16px; padding: 20px 20px 28px; }
  .presence-countries strong { font-size: 18px; }
  .presence-pin-number { display: none; }
  .presence-pin { stroke-width: 4; }
  .presence-link-signal { stroke-width: 5; }
}
@media(prefers-reduced-motion:reduce) {
  .presence-network :is(.presence-link-signal,.presence-pin-ring) { animation: none !important; }
  .presence-link-signal, .presence-map-toggle { display: none; }
}
