/* TENDERGlobal homepage panorama. Source: approved compact Arabic preview.
   Scope: .tg-panorama only, with tgp- namespaced selectors/SVG IDs.
   Shared public-site stylesheet supports Arabic RTL and English LTR.
   Admin themes are not changed. No fonts, frameworks, or external map assets. */
.tg-panorama { --tgp-teal:#368b94;--tgp-orange:#f5833d;--tgp-gray:#747474;--tgp-silver:#bebebe;--tgp-white:#fff;--tgp-ink:#253d40;--tgp-muted:#647579;--tgp-line:#dce5e5;--tgp-paper:#f4f7f7;--tgp-mint:#edf5f4;--tgp-sand:#fff5ec;--tgp-font:"Tajawal","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif }
.tg-panorama,
.tg-panorama *,
.tg-panorama *::before,
.tg-panorama *::after { box-sizing:border-box }
.tg-panorama { margin:0;color:var(--tgp-ink);background:#fff;font-family:inherit;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased }
.tg-panorama button,
.tg-panorama input,
.tg-panorama select { font:inherit }
.tg-panorama button { cursor:pointer;border-radius:0 }
.tg-panorama button,
.tg-panorama a { -webkit-tap-highlight-color:transparent }
.tg-panorama button { color:inherit }
.tg-panorama button:focus-visible,
.tg-panorama a:focus-visible { outline:3px solid var(--tgp-orange);outline-offset:4px }
.tg-panorama button:disabled { cursor:default }
.tg-panorama svg { display:block;max-width:100% }
.tg-panorama h1,
.tg-panorama h2,
.tg-panorama h3,
.tg-panorama p { margin:0 }
.tg-panorama a { color:inherit }
.tg-panorama em { font-style:normal }
.tg-panorama bdi { font-family:"Segoe UI",Arial,sans-serif }
.tg-panorama [hidden] { display:none!important }
.tg-panorama .tgp-svg-library { position:absolute;overflow:hidden;pointer-events:none }
.tg-panorama .tgp-icon { display:inline-block;width:21px;height:21px;flex:0 0 21px;vertical-align:middle }
.tg-panorama .tgp-container { width:calc(100% - 96px);max-width:1240px;margin-inline:auto;min-width:0 }
.tg-panorama .tgp-hero { width:100%;border-radius:0;position:relative;isolation:isolate;overflow:clip;--tgp-water:#f0f6f6;--tgp-land:#d2e6e7;--tgp-coast:#9bc1c5;--tgp-dot:#368b94;--tgp-route:#66a3aa;--tgp-grid-opacity:.5 }
.tg-panorama .tgp-hero .tgp-container { max-width:1240px }
.tg-panorama .tgp-message-stack { display:grid;min-width:0;position:relative }
.tg-panorama .tgp-message { grid-area:1/1;min-width:0 }
.tg-panorama .tgp-message[hidden] { display:block!important;visibility:hidden;pointer-events:none }
.tg-panorama .tgp-message h2 { font-size:39px;line-height:1.55;letter-spacing:-.85px;font-weight:700;overflow-wrap:break-word }
.tg-panorama .tgp-message h2 em { display:block;color:var(--tgp-teal) }
.tg-panorama .tgp-message p { font-size:15px;line-height:2.05;color:var(--tgp-gray);margin-top:18px;font-weight:400 }
.tg-panorama .tgp-message p strong { font-weight:700;color:var(--tgp-ink) }
.tg-panorama .tgp-message:not([hidden]) { animation:tgp-message-reveal .45s ease both }
.tg-panorama .tgp-primary { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 23px;border:1px solid var(--tgp-teal);background:var(--tgp-teal);color:#fff;font-size:13px;font-weight:600;text-decoration:none;border-radius:4px;transition:background .18s,border-color .18s,transform .18s }
.tg-panorama .tgp-primary:hover { background:#2d7680;border-color:#2d7680 }
.tg-panorama .tgp-primary .tgp-icon { width:18px;height:18px;flex-basis:18px }
.tg-panorama .tgp-coverage { position:relative;z-index:2;border-top:1px solid var(--tgp-line);border-bottom:1px solid var(--tgp-line);background:#fff }
.tg-panorama .tgp-coverage-inner { max-width:1240px;margin-inline:auto;width:calc(100% - 96px);display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:60px;padding-block:14px }
.tg-panorama .tgp-coverage-title { font-size:11px;display:flex;align-items:center;gap:9px;color:var(--tgp-teal);white-space:nowrap;font-weight:600 }
.tg-panorama .tgp-coverage-title .tgp-icon { width:18px;height:18px;flex-basis:18px }
.tg-panorama .tgp-market-names { display:flex;flex-wrap:wrap;gap:13px;align-items:center;font-size:10px;color:var(--tgp-muted) }
.tg-panorama .tgp-market-sep { font-size:9px;color:#b8c4c4 }
.tg-panorama .tgp-geo-scene { position:relative;aspect-ratio:1;width:100%;direction:ltr;min-width:0 }
.tg-panorama .tgp-map-svg { width:100%;height:100%;display:block;overflow:visible }
.tg-panorama .tgp-map-water { fill:var(--tgp-water) }
.tg-panorama .tgp-map-land { fill:var(--tgp-land);fill-rule:evenodd }
.tg-panorama .tgp-map-coast { fill:none;stroke:var(--tgp-coast);stroke-width:.7;stroke-linejoin:round }
.tg-panorama .tgp-map-dots { fill:none;stroke:var(--tgp-dot);stroke-width:1.2;stroke-linecap:round;opacity:.23 }
.tg-panorama .tgp-map-grid { color:var(--tgp-coast);opacity:var(--tgp-grid-opacity) }
.tg-panorama .tgp-connection { stroke:var(--tgp-route);fill:none;stroke-width:1.1;opacity:.8 }
.tg-panorama .tgp-signal { stroke:var(--tgp-teal);fill:none;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:3 97;animation:tgp-signal-flight var(--tgp-speed,5s) linear var(--tgp-delay,0s) infinite }
.tg-panorama .tgp-signal-1 { stroke:var(--tgp-orange) }
.tg-panorama .tgp-endpoint circle { fill:#fff;stroke:var(--tgp-coast);stroke-width:1 }
.tg-panorama .tgp-endpoint .tgp-endpoint-dot { fill:var(--tgp-teal);stroke:none }
.tg-panorama .tgp-hub .tgp-pulse { fill:none;stroke:var(--tgp-orange);stroke-width:1.5;transform-origin:0 0;animation:tgp-hub-pulse 4s ease-out infinite }
.tg-panorama .tgp-hub-base { fill:#fff;stroke:var(--tgp-orange);stroke-width:1.7 }
.tg-panorama .tgp-hub-dot { fill:var(--tgp-orange) }
.tg-panorama .tgp-plan-pins { position:absolute;inset:0;z-index:2;pointer-events:none }
.tg-panorama .tgp-plan-pin { position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:19%;aspect-ratio:1;border:1px solid #d1dedf;border-top:3px solid var(--tgp-teal);background:#fff;color:var(--tgp-ink);pointer-events:auto;direction:rtl;padding:10px 6px;transition:border-color .2s,transform .2s;line-height:1.7 }
.tg-panorama .tgp-plan-pin:hover { transform:translateY(-3px);border-color:var(--tgp-teal) }
.tg-panorama .tgp-plan-pin strong { font-size:12px;font-weight:700 }
.tg-panorama .tgp-plan-pin>span { font-size:10px;color:var(--tgp-gray) }
.tg-panorama .tgp-region-map { width:28px;height:28px;color:var(--tgp-teal);flex-shrink:0 }
.tg-panorama .tgp-pin-arrow { position:absolute;left:6px;top:6px;width:12px;height:12px;opacity:.45 }
.tg-panorama .tgp-plan-levant { left:57%;top:19% }
.tg-panorama .tgp-plan-gulf { left:69%;top:55%;background:#fff4ea;border-color:#eed4c1;border-top-color:var(--tgp-orange) }
.tg-panorama .tgp-plan-gulf .tgp-region-map { color:var(--tgp-orange) }
.tg-panorama .tgp-plan-all { left:21%;top:61%;background:#f4fae9;border-color:#d6e8be;border-top-color:#82b936 }
.tg-panorama .tgp-plan-all .tgp-region-map { color:#82b936 }
.tg-panorama .tgp-plan-all:hover { border-color:#82b936 }
.tg-panorama .tgp-hero-atlas { background:#fff;--tgp-water:#f4f5f4;--tgp-land:#e4e8e6;--tgp-coast:#abbcbc;--tgp-dot:#8aadae;--tgp-route:#579aa1;--tgp-grid-opacity:.45 }
.tg-panorama .tgp-atlas-band { height:310px;background:#f3f5f4;position:relative;border-block:1px solid #dbe2df;overflow:hidden }
.tg-panorama .tgp-atlas-frame { position:absolute;inset:-15px 0 0;margin-inline:auto;width:min(100%,1090px);height:340px }
.tg-panorama .tgp-geo-atlas { aspect-ratio:auto;height:100% }
.tg-panorama .tgp-geo-atlas .tgp-map-svg { height:100%;width:100% }
.tg-panorama .tgp-geo-atlas .tgp-plan-pin { width:93px }
.tg-panorama .tgp-geo-atlas .tgp-plan-levant { left:58%;top:13% }
.tg-panorama .tgp-geo-atlas .tgp-plan-gulf { left:70%;top:53% }
.tg-panorama .tgp-geo-atlas .tgp-plan-all { left:30%;top:56% }
.tg-panorama .tgp-atlas-coordinate { position:absolute;font-size:10px;color:#718a8c;z-index:2 }
.tg-panorama .tgp-atlas-coordinate-top { right:48px;top:15px }
.tg-panorama .tgp-atlas-coordinate-bottom { left:48px;bottom:16px }
.tg-panorama .tgp-atlas-scale { position:absolute;right:48px;bottom:20px;display:flex;z-index:2;direction:ltr }
.tg-panorama .tgp-atlas-scale span { height:6px;width:24px;border:1px solid #97aeb0;border-right:0 }
.tg-panorama .tgp-atlas-scale span:last-child { border-right:1px solid #97aeb0 }
.tg-panorama .tgp-atlas-scale span:nth-child(2) { background:#97aeb0 }
.tg-panorama .tgp-atlas-band .tgp-plan-pin { background:#fff }
.tg-panorama .tgp-atlas-band .tgp-plan-gulf { border-top-color:var(--tgp-orange) }
.tg-panorama .tgp-atlas-band .tgp-plan-all { background:#f4fae9;border-top-color:#82b936 }
.tg-panorama dialog { width:430px;max-width:calc(100vw - 32px);padding:34px 30px 28px;border:1px solid #c5d6d6;color:var(--tgp-ink);background:white;font-family:var(--tgp-font);text-align:right }
.tg-panorama dialog::backdrop { background:#213b4059;backdrop-filter:blur(2px) }
.tg-panorama dialog h2 { font-size:22px }
.tg-panorama dialog p { font-size:13px;color:var(--tgp-gray);margin-block:12px 22px;line-height:1.95 }
.tg-panorama dialog .tgp-primary { min-height:42px;padding:10px 16px;font-size:11px }
.tg-panorama .tgp-motion-paused .tgp-signal,
.tg-panorama .tgp-motion-paused .tgp-pulse { animation-play-state:paused!important }
.tg-panorama .tgp-motion-paused .tgp-message { animation:none }
.tg-panorama .tgp-no-motion .tgp-signal,
.tg-panorama .tgp-no-motion .tgp-pulse { animation:none!important }
.tg-panorama .tgp-no-motion .tgp-signal { stroke-dasharray:none;opacity:.14;stroke-width:1 }
.tg-panorama .tgp-no-motion .tgp-message { animation:none!important }
@keyframes tgp-signal-flight { to{stroke-dashoffset:-100} }
@keyframes tgp-hub-pulse { 0%{transform:scale(.6);opacity:.85}100%{transform:scale(2);opacity:0} }
@keyframes tgp-message-reveal { from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)} }
.tg-panorama .tgp-atlas-band { height:378px }
.tg-panorama .tgp-atlas-frame { inset:0;margin:auto;width:min(100%,1090px);height:100%;transform:none }
.tg-panorama .tgp-geo-atlas .tgp-plan-levant { left:58%;top:7% }
.tg-panorama .tgp-geo-atlas .tgp-plan-gulf { left:61%;top:71% }
.tg-panorama .tgp-geo-atlas .tgp-plan-all { left:30%;top:60% }
.tg-panorama .tgp-geo-atlas .tgp-plan-pin { height:95.4px }
.tg-panorama .tgp-primary { background:#2d7881;border-color:#2d7881 }
.tg-panorama .tgp-primary:hover { background:#256771;border-color:#256771 }
.tg-panorama #tgp-motionToggle { display:flex;align-items:center;gap:7px;min-height:36px;padding:6px 11px;background:#fff;border:1px solid var(--tgp-line);font-size:11px;color:var(--tgp-teal) }
.tg-panorama #tgp-motionToggle .tgp-icon { width:16px;height:16px;flex-basis:16px }
.tg-panorama #tgp-motionToggle[aria-pressed="true"] { border-color:var(--tgp-teal) }
@media (max-width:1180px) {
.tg-panorama .tgp-container,
.tg-panorama .tgp-coverage-inner { width:calc(100% - 64px) }
}
@media (max-width:920px) {
.tg-panorama .tgp-container,
.tg-panorama .tgp-coverage-inner { width:calc(100% - 44px) }
.tg-panorama .tgp-atlas-coordinate-top { right:22px }
.tg-panorama .tgp-atlas-coordinate-bottom { left:22px }
.tg-panorama .tgp-atlas-scale { right:22px }
.tg-panorama .tgp-coverage-inner { gap:12px }
.tg-panorama .tgp-coverage-title { font-size:10px }
.tg-panorama .tgp-market-names { gap:7px }
}
@media (max-width:700px) {
.tg-panorama .tgp-container,
.tg-panorama .tgp-coverage-inner { width:calc(100% - 40px) }
.tg-panorama .tgp-primary { min-height:45px;font-size:11px;padding:10px 17px }
.tg-panorama .tgp-coverage-inner { flex-direction:column;align-items:flex-start;gap:9px;padding-block:14px }
.tg-panorama .tgp-coverage-title { font-size:10px }
.tg-panorama .tgp-market-names { gap:5px 8px;line-height:1.8;font-size:9px }
.tg-panorama .tgp-market-sep { font-size:7px }
.tg-panorama .tgp-atlas-band { height:388px }
.tg-panorama .tgp-atlas-frame { width:530px;max-width:none;height:100%;left:50%;right:auto;top:0;bottom:0;transform:translateX(-50%) }
.tg-panorama .tgp-atlas-frame .tgp-plan-pin { width:79px;height:79px;padding:5px 2px }
.tg-panorama .tgp-atlas-frame .tgp-plan-pin strong { font-size:10px }
.tg-panorama .tgp-atlas-frame .tgp-plan-pin>span { font-size:8px }
.tg-panorama .tgp-atlas-frame .tgp-region-map { width:25px;height:25px }
.tg-panorama .tgp-atlas-frame .tgp-pin-arrow { display:none }
.tg-panorama .tgp-atlas-frame .tgp-plan-levant { left:59%;top:19% }
.tg-panorama .tgp-atlas-frame .tgp-plan-gulf { left:64%;top:69% }
.tg-panorama .tgp-atlas-frame .tgp-plan-all { left:24%;top:61% }
.tg-panorama .tgp-atlas-coordinate { font-size:8px }
.tg-panorama .tgp-atlas-coordinate-top { top:12px;right:20px }
.tg-panorama .tgp-atlas-coordinate-bottom { bottom:10px;left:20px }
.tg-panorama .tgp-atlas-scale { right:20px;bottom:14px }
.tg-panorama .tgp-atlas-scale span { width:15px;height:5px }
.tg-panorama #tgp-motionToggle { font-size:9px;gap:5px;padding:5px 8px }
}
@media (max-width:380px) {
.tg-panorama .tgp-container,
.tg-panorama .tgp-coverage-inner { width:calc(100% - 32px) }
.tg-panorama .tgp-primary { font-size:10px;padding-inline:13px }
.tg-panorama .tgp-atlas-frame { width:500px;left:50% }
}
@media (prefers-reduced-motion:reduce) {
.tg-panorama .tgp-signal,
.tg-panorama .tgp-pulse,
.tg-panorama .tgp-message { animation:none!important }
.tg-panorama .tgp-signal { stroke-dasharray:none;opacity:.15;stroke-width:1 }
.tg-panorama .tgp-plan-pin,
.tg-panorama .tgp-primary { transition:none!important }
}
@media print {
.tg-panorama dialog { display:none!important }
.tg-panorama .tgp-signal,
.tg-panorama .tgp-pulse { animation:none }
.tg-panorama .tgp-hero { break-inside:avoid }
}
.tg-panorama .tgp-atlas-story { position: relative;
  z-index: 3;
  background: var(--tgp-white); }
.tg-panorama .tgp-atlas-story-inner { display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  align-items: stretch;
  gap: 36px;
  padding-block: 22px; }
.tg-panorama .tgp-atlas-story-copy { min-width: 0; text-align: start; }
.tg-panorama .tgp-atlas-story .tgp-message-stack { min-height: 54px; height: 100%; }
.tg-panorama .tgp-atlas-story .tgp-message { display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px; }
.tg-panorama .tgp-atlas-story .tgp-message[hidden] { display: flex !important; }
.tg-panorama .tgp-atlas-story .tgp-message p { margin: 0;
  max-width: none;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--tgp-gray);
  text-wrap: pretty; }
.tg-panorama .tgp-atlas-story .tgp-message h2 { margin: 0;
  max-width: none;
  font-size: clamp(22px, 1.7vw, 25px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.3px;
  text-wrap: pretty; }
.tg-panorama .tgp-atlas-story .tgp-message h2 em { display: inline; color: var(--tgp-teal); }
.tg-panorama .tgp-atlas-story-aside { display: flex; align-items: stretch; min-width: 0; }
.tg-panorama .tgp-atlas-story-aside .tgp-primary { width: 100%;
  min-height: 54px;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 1.4;
  white-space: nowrap; }
.tg-panorama .tgp-atlas-map-controls { position: absolute;
  z-index: 5;
  top: 16px;
  left: clamp(16px, 3.34vw, 48px);
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: 2px 4px;
  gap: 0;
  direction: rtl;
  color: var(--tgp-gray);
  background: rgba(255, 255, 255, .88);
  border: 1px solid #e2e8e7;
  border-radius: 0; }
.tg-panorama .tgp-atlas-map-controls button,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle { display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-height: 36px;
  flex-shrink: 0;
  padding: 0;
  gap: 0;
  color: #647d80;
  background: transparent;
  border: 0; }
.tg-panorama .tgp-atlas-map-controls button:hover,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle:hover,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle[aria-pressed="true"] { color: var(--tgp-teal);
  background: var(--tgp-mint); }
.tg-panorama .tgp-atlas-map-controls button .tgp-icon,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle .tgp-icon { width: 15px;
  height: 15px;
  flex-basis: 15px; }
.tg-panorama .tgp-atlas-story-count { display: flex;
  align-items: center;
  justify-content: center;
  min-width: 55px;
  gap: 7px;
  direction: ltr;
  color: #879797;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  line-height: 1; }
.tg-panorama .tgp-atlas-story-count bdi { font-size: 10px; letter-spacing: .3px; }
.tg-panorama .tgp-atlas-story-count [data-current-number] { color: var(--tgp-teal); font-weight: 600; }
.tg-panorama .tgp-atlas-control-divider { width: 1px; height: 13px; margin-inline: 6px; background: #e0e7e6; }
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle > span { position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }
@media (max-width: 1180px) {
.tg-panorama .tgp-atlas-story-inner { gap: 28px; grid-template-columns: minmax(0, 1fr) 150px; }
.tg-panorama .tgp-atlas-story .tgp-message h2 { font-size: 22px; }
}
@media (max-width: 920px) {
.tg-panorama .tgp-atlas-story-inner { gap: 24px; grid-template-columns: minmax(0, 1fr) 132px; padding-block: 20px; }
.tg-panorama .tgp-atlas-story .tgp-message h2 { font-size: 20px; line-height: 1.45; }
.tg-panorama .tgp-atlas-story .tgp-message p { font-size: 11px; }
.tg-panorama .tgp-atlas-story-aside .tgp-primary { padding-inline: 15px; font-size: 12px; }
}
@media (max-width: 700px) {
.tg-panorama .tgp-atlas-story-inner { gap: 14px; grid-template-columns: minmax(0, 1fr) 104px; padding-block: 18px; }
.tg-panorama .tgp-atlas-story .tgp-message h2 { font-size: 17px; line-height: 1.5; letter-spacing: 0; }
.tg-panorama .tgp-atlas-story .tgp-message p { font-size: 11px; line-height: 1.55; }
.tg-panorama .tgp-atlas-story-aside .tgp-primary { padding-inline: 9px; font-size: 11px; }
.tg-panorama .tgp-atlas-map-controls { left: 16px; top: 12px; }
}
@media (max-width: 380px) {
.tg-panorama .tgp-atlas-story-inner { gap: 12px; grid-template-columns: minmax(0, 1fr) 94px; }
.tg-panorama .tgp-atlas-story .tgp-message h2 { font-size: 16px; }
.tg-panorama .tgp-atlas-story .tgp-message p { font-size: 10.5px; }
.tg-panorama .tgp-atlas-story-aside .tgp-primary { font-size: 10.5px; padding-inline: 7px; }
}
@media (pointer: coarse) {
.tg-panorama .tgp-atlas-map-controls button,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle { width: 42px; min-height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
.tg-panorama .tgp-atlas-story .tgp-message { animation: none !important; }
}
.tg-panorama .tgp-hero-atlas { --tgp-atlas-content-width:1090px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-inner { width:min(100%,var(--tgp-atlas-content-width)); max-width:var(--tgp-atlas-content-width);
  grid-template-columns:minmax(0,1fr) 150px; gap:28px; margin-inline:auto; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story .tgp-message h2 { font-size:clamp(20px,1.55vw,23px); }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-aside .tgp-primary { font-size:12px; }
.tg-panorama .tgp-atlas-map-controls { background:transparent; border:0; box-shadow:none; padding:0; gap:0;
  left:clamp(16px,3.34vw,48px); top:13px; }
.tg-panorama .tgp-atlas-map-controls button,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle { width:30px; min-height:34px; background:transparent; border:0; box-shadow:none; }
.tg-panorama .tgp-atlas-map-controls button:hover,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle:hover,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle[aria-pressed="true"] { background:transparent; border:0; box-shadow:none; color:var(--tgp-teal); }
.tg-panorama .tgp-atlas-map-controls button .tgp-icon,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle .tgp-icon { width:13px; height:13px; flex-basis:13px; }
.tg-panorama .tgp-atlas-control-divider { display:none; }
.tg-panorama .tgp-atlas-story-count { min-width:45px; gap:5px; font-size:9px; }
.tg-panorama .tgp-atlas-story-count bdi { font-size:9px; }
.tg-panorama .tgp-atlas-coordinate { pointer-events:none; }
.tg-panorama .tgp-atlas-coordinate-top { top:20px; }
.tg-panorama .tgp-atlas-coordinate-bottom { bottom:16px; }
.tg-panorama .tgp-plan-pin[aria-expanded="true"] { border-color:var(--tgp-teal); }
.tg-panorama .tgp-plan-gulf[aria-expanded="true"] { border-color:var(--tgp-orange); }
.tg-panorama .tgp-plan-all[aria-expanded="true"] { border-color:#82b936; }

/* Regional Package Details Modal */
.tg-panorama .tgp-region-dialog {
  --tgp-region-accent: #368b94;
  --tgp-region-tint: #edf5f4;
  width: 580px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  padding: 0;
  margin: auto;
  border: 1px solid #d5e0df;
  border-top: 4px solid var(--tgp-region-accent);
  border-radius: 10px;
  box-shadow: 0 20px 50px -10px rgba(15, 30, 32, 0.28);
  color: var(--tgp-ink);
  background: #fff;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #bfd2d2 #fff;
  text-align: start;
}
.tg-panorama .tgp-region-dialog[data-region="gulf"] {
  --tgp-region-accent: #f5833d;
  --tgp-region-tint: #fff5ed;
}
.tg-panorama .tgp-region-dialog[data-region="all"] {
  --tgp-region-accent: #82b936;
  --tgp-region-tint: #f4fae9;
}
.tg-panorama .tgp-region-dialog::backdrop {
  background: rgba(15, 30, 32, 0.45);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.tg-panorama .tgp-modal-shade {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(15, 30, 32, 0.45);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.tg-panorama .tgp-region-dialog-inner {
  padding: 26px 26px 22px;
}
.tg-panorama .tgp-region-close-wrap {
  position: sticky;
  top: 0;
  height: 0;
  z-index: 10;
}
.tg-panorama .tgp-region-close {
  position: absolute;
  left: 12px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: #f0f4f4;
  color: var(--tgp-gray);
  border: 0;
  border-radius: 50%;
  transition: background 0.15s, color 0.15s;
  cursor: pointer;
}
.tg-panorama[dir="ltr"] .tgp-region-close {
  left: auto;
  right: 12px;
}
.tg-panorama .tgp-region-close:hover {
  background: #e2ebeb;
  color: var(--tgp-ink);
}
.tg-panorama .tgp-region-close .tgp-icon {
  width: 16px;
  height: 16px;
}

/* Modal Header */
.tg-panorama .tgp-region-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-inline-end: 32px;
  margin-bottom: 18px;
}
.tg-panorama .tgp-region-emblem {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  color: var(--tgp-region-accent);
  background: var(--tgp-region-tint);
  border-radius: 10px;
}
.tg-panorama .tgp-region-emblem .tgp-region-map {
  width: 38px;
  height: 38px;
  color: inherit;
}
.tg-panorama .tgp-region-header-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.tg-panorama .tgp-region-kicker {
  font-size: 11px;
  font-weight: 700;
  color: var(--tgp-region-accent);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.tg-panorama .tgp-region-dialog .tgp-region-heading {
  margin: 0;
  color: var(--tgp-ink);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
}

/* Modal Flags Section */
.tg-panorama .tgp-region-flags-section {
  margin-bottom: 18px;
}
.tg-panorama .tgp-region-flags-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
}
.tg-panorama .tgp-region-flags-label {
  font-size: 11.5px;
  font-weight: 600;
  color: #4a6164;
}
.tg-panorama .tgp-region-count {
  font-size: 11px;
  font-weight: 700;
  color: var(--tgp-region-accent);
  background: var(--tgp-region-tint);
  padding: 2px 9px;
  border-radius: 12px;
}
.tg-panorama .tgp-region-countries {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(115px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
}
.tg-panorama .tgp-region-country {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 4px 8px;
  background: #f9fbfb;
  border: 1px solid #e5eceb;
  border-radius: 6px;
  transition: all 0.15s ease;
}
.tg-panorama .tgp-region-country:hover {
  background: #fff;
  border-color: var(--tgp-region-accent);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.tg-panorama .tgp-country-flag-box {
  width: 32px;
  height: 32px;
  min-width: 32px;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #e1e7e6;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
  padding: 2px;
}
.tg-panorama .tgp-country-flag-box .tgp-country-flag-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.tg-panorama .tgp-country-flag-box svg {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  display: block;
}
.tg-panorama .tgp-country-name {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--tgp-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Modal Benefits Section */
.tg-panorama .tgp-region-benefits-section {
  margin-top: 16px;
  border-top: 1px solid #e6eceb;
  padding-top: 14px;
  margin-bottom: 20px;
}
.tg-panorama .tgp-region-benefits {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  padding: 0;
  margin: 0;
}
.tg-panorama .tgp-region-benefit {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  line-height: 1.5;
  color: #506568;
}
.tg-panorama .tgp-region-benefit-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  color: var(--tgp-region-accent);
  background: var(--tgp-region-tint);
  border-radius: 50%;
}
.tg-panorama .tgp-region-benefit-icon .tgp-icon {
  width: 13px;
  height: 13px;
  flex-basis: 13px;
}

/* Modal Trial CTA Button */
.tg-panorama .tgp-region-trial {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  background: var(--tgp-region-accent);
  border: 1px solid var(--tgp-region-accent);
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.18s ease;
  cursor: pointer;
  box-shadow: 0 4px 14px -3px rgba(0,0,0,0.15);
}
.tg-panorama .tgp-region-trial:hover {
  filter: brightness(0.92);
  box-shadow: 0 6px 20px -3px rgba(0,0,0,0.22);
  transform: translateY(-1px);
  color: #fff;
}
.tg-panorama .tgp-region-trial .tgp-trial-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  transition: transform 0.18s ease;
}

/* RTL / LTR Directional Arrow Handling */
.tg-panorama[dir="rtl"] .tgp-region-trial .tgp-trial-icon,
.tg-panorama[dir="rtl"] .tgp-primary .tgp-primary-icon {
  transform: scaleX(-1);
}
.tg-panorama[dir="rtl"] .tgp-region-trial:hover .tgp-trial-icon,
.tg-panorama[dir="rtl"] .tgp-primary:hover .tgp-primary-icon {
  transform: scaleX(-1) translateX(3px);
}
.tg-panorama[dir="ltr"] .tgp-region-trial:hover .tgp-trial-icon,
.tg-panorama[dir="ltr"] .tgp-primary:hover .tgp-primary-icon {
  transform: translateX(3px);
}
html.tgp-region-modal-open { overflow:hidden; }
@media (min-width:1181px) {
.tg-panorama .tgp-hero-atlas .tgp-coverage-inner { width:var(--tgp-atlas-content-width); max-width:100%; }
}
@media (max-width:1180px) {
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-inner { width:calc(100% - 44px); gap:24px; grid-template-columns:minmax(0,1fr) 140px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story .tgp-message h2 { font-size:21px; }
}
@media (max-width:920px) {
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-inner { grid-template-columns:minmax(0,1fr) 125px; gap:20px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story .tgp-message h2 { font-size:19px; }
}
@media (max-width:700px) {
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-inner { width:calc(100% - 40px); grid-template-columns:minmax(0,1fr) 100px; gap:14px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story .tgp-message h2 { font-size:16.5px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-aside .tgp-primary { font-size:11px; }
.tg-panorama .tgp-atlas-map-controls { top:8px; left:12px; }
.tg-panorama .tgp-atlas-coordinate-top { right:18px; top:19px; font-size:8px; }
.tg-panorama .tgp-atlas-coordinate-bottom { left:18px; bottom:13px; }
.tg-panorama .tgp-region-dialog { width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
.tg-panorama .tgp-region-dialog-inner { padding:22px 18px 18px; }
.tg-panorama .tgp-region-header { gap:12px; margin-bottom:14px; padding-inline-end:28px; }
.tg-panorama .tgp-region-emblem { width:46px; height:46px; flex-basis:46px; }
.tg-panorama .tgp-region-emblem .tgp-region-map { width:30px; height:30px; }
.tg-panorama .tgp-region-dialog .tgp-region-heading { font-size:18px; }
.tg-panorama .tgp-region-countries { grid-template-columns:repeat(auto-fill, minmax(105px, 1fr)); gap:6px; }
.tg-panorama .tgp-region-country { min-height:38px; padding:4px 6px; }
.tg-panorama .tgp-country-flag-box { width:28px; height:28px; min-width:28px; }
.tg-panorama .tgp-country-name { font-size:11px; }
.tg-panorama .tgp-region-benefits { grid-template-columns:1fr; gap:8px; }
.tg-panorama .tgp-region-trial { min-height:44px; font-size:12.5px; }
.tg-panorama .tgp-region-close { left:8px; top:8px; }
}
@media (max-width:380px) {
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-inner { width:calc(100% - 32px); grid-template-columns:minmax(0,1fr) 90px; gap:12px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story .tgp-message h2 { font-size:15px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story .tgp-message p { font-size:10.5px; }
.tg-panorama .tgp-hero-atlas .tgp-atlas-story-aside .tgp-primary { font-size:10.5px; }
.tg-panorama .tgp-region-dialog-inner { padding-inline:14px; }
.tg-panorama .tgp-region-countries { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.tg-panorama .tgp-country-flag-box { width:26px; height:26px; min-width:26px; }
.tg-panorama .tgp-country-name { font-size:10px; }
}
@media (pointer:coarse) {
.tg-panorama .tgp-atlas-map-controls button,
.tg-panorama .tgp-atlas-map-controls #tgp-motionToggle { width:36px; min-height:40px; }
.tg-panorama .tgp-region-close { width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) {
.tg-panorama .tgp-region-trial { transition:none; }
}
.tg-panorama .tgp-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.tg-panorama .tgp-map-svg .tgp-map-route .tgp-connection,
.tg-panorama .tgp-map-svg .tgp-signal,
.tg-panorama .tgp-map-svg .tgp-hub .tgp-pulse,
.tg-panorama .tgp-map-svg .tgp-branch-focus-ring { pointer-events:none; }
.tg-panorama .tgp-map-svg .tgp-branch-route-hit { fill:none; stroke:transparent; stroke-width:12px; vector-effect:non-scaling-stroke;
  pointer-events:stroke; cursor:pointer; stroke-linecap:round; }
.tg-panorama .tgp-map-svg .tgp-branch-node-hit { fill:transparent; stroke:none; pointer-events:all; cursor:pointer; }
.tg-panorama .tgp-map-svg .tgp-endpoint,
.tg-panorama .tgp-map-svg .tgp-hub { cursor:pointer; outline:none; }
.tg-panorama .tgp-map-svg .tgp-branch-focus-ring { fill:none; stroke:var(--tgp-orange); stroke-width:1.4; opacity:0; }
.tg-panorama .tgp-map-svg [data-branch]:focus-visible .tgp-branch-focus-ring { opacity:1; }
.tg-panorama .tgp-map-svg .tgp-map-route.tgp-is-active .tgp-connection { stroke:var(--tgp-teal); stroke-width:1.8; opacity:1; }
.tg-panorama .tgp-map-svg .tgp-endpoint.tgp-is-active > circle:not(.tgp-endpoint-dot):not(.tgp-branch-node-hit):not(.tgp-branch-focus-ring) { stroke:var(--tgp-teal); stroke-width:1.6; }
.tg-panorama .tgp-map-svg .tgp-endpoint.tgp-is-active .tgp-endpoint-dot { fill:var(--tgp-orange); }
.tg-panorama .tgp-map-svg .tgp-hub.tgp-is-active .tgp-hub-base { stroke-width:2.2; }
.tg-panorama .tgp-map-branch-tooltip { position:fixed; z-index:100; direction:rtl; display:flex; align-items:center; gap:10px;
  width:max-content; max-width:calc(100vw - 20px); padding:11px 14px;
  border:1px solid #d4e3e1; border-radius:6px; background:#fff;
  box-shadow:0 4px 18px rgb(37 61 64 / .10); pointer-events:auto;
  color:var(--tgp-ink); text-align:start; font-family:var(--tgp-font); }
.tg-panorama .tgp-map-branch-tooltip .tgp-branch-flag { width:28px; height:28px; flex:0 0 28px; display:block; overflow:hidden; border:1px solid #e6eded; border-radius:50%; }
.tg-panorama .tgp-map-branch-tooltip .tgp-branch-flag svg { width:100%; height:100%; max-width:none; }
.tg-panorama .tgp-map-branch-tooltip strong { display:block; font-size:13px; line-height:1.55; font-weight:700; }
.tg-panorama .tgp-map-branch-tooltip small { display:block; margin-top:1px; color:var(--tgp-gray); font-size:10px; line-height:1.6; white-space:nowrap; }
.tg-panorama .tgp-map-branch-tooltip[data-pinned="true"] { border-color:#a9c7c9; }
/* mobile overrides handled in main block */
@media (pointer:coarse) {
.tg-panorama .tgp-region-close { width:38px; height:38px; }
.tg-panorama .tgp-map-svg .tgp-branch-route-hit { stroke-width:16px; }
}
@media (prefers-reduced-motion:reduce) {
.tg-panorama .tgp-region-trial { transition:none; }
}
@media print {
.tg-panorama .tgp-map-branch-tooltip { display:none!important; }
}
/* Host isolation and public-site LTR adaptation. Geometry is never mirrored. */
.tg-panorama { width:100%; max-width:none; padding:0; border:0; border-radius:0; font-family:inherit; text-align:start; }
.tg-panorama button, .tg-panorama a { text-transform:none; letter-spacing:normal; }
.tg-panorama button { float:none; margin:0; box-shadow:none; background-image:none; }
.tg-panorama button::before, .tg-panorama button::after,
.tg-panorama a.tgp-primary::before, .tg-panorama a.tgp-primary::after,
.tg-panorama a.tgp-region-trial::before, .tg-panorama a.tgp-region-trial::after { content:none; }
.tg-panorama a.tgp-primary, .tg-panorama a.tgp-region-trial { color:#fff; text-decoration:none; box-shadow:none; font-family:inherit; }
.tg-panorama h2 { font-family:inherit; }
.tg-panorama [hidden]:not(.tgp-message) { display:none!important; }
.tg-panorama .tgp-region-dialog:not([open]) { display:none; }
.tg-panorama .tgp-region-dialog, .tg-panorama .tgp-map-branch-tooltip { font-family:inherit; }
.tg-panorama .tgp-region-close { margin:0; }
.tg-panorama .tgp-plan-pin, .tg-panorama .tgp-region-dialog, .tg-panorama .tgp-map-branch-tooltip { direction:inherit; }
.tg-panorama[dir="rtl"] .tgp-plan-pin { direction:rtl; }
.tg-panorama[dir="ltr"] .tgp-plan-pin, .tg-panorama[dir="ltr"] .tgp-region-dialog,
.tg-panorama[dir="ltr"] .tgp-map-branch-tooltip, .tg-panorama[dir="ltr"] .tgp-atlas-map-controls { direction:ltr; }
.tg-panorama[dir="ltr"] .tgp-pin-arrow { transform:scaleX(-1); }
.tg-panorama[dir="ltr"] .tgp-region-close { left:auto; right:7px; }
.tg-panorama[dir="ltr"] .tgp-atlas-map-controls [data-step] svg { transform:scaleX(-1); }
.tg-panorama[dir="ltr"] .tgp-atlas-story .tgp-message h2 { font-size:clamp(20px,1.5vw,23px); letter-spacing:-.25px; }
.tg-panorama[dir="ltr"] .tgp-region-benefit { font-size:11px; }
.tg-panorama[dir="ltr"] .tgp-plan-pin strong { font-size:11px; }
.tg-panorama .tgp-modal-shade { position:fixed; inset:0; z-index:9998; background:rgba(15, 30, 32, 0.45); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.tg-panorama .tgp-region-dialog.tgp-dialog-fallback[open] { position:fixed; inset:0; z-index:9999; }
@media(max-width:920px) { .tg-panorama[dir="ltr"] .tgp-atlas-story .tgp-message h2 { font-size:18px; } }
@media(max-width:700px) {
 .tg-panorama[dir="ltr"] .tgp-atlas-story .tgp-message h2 { font-size:16px; line-height:1.35; }
 .tg-panorama[dir="ltr"] .tgp-plan-pin strong { font-size:10px; }
 .tg-panorama[dir="ltr"] .tgp-atlas-story .tgp-message p { font-size:11px; line-height:1.45; }
}
@media(max-width:380px) {
 .tg-panorama[dir="ltr"] .tgp-atlas-story .tgp-message h2 { font-size:14px; }
 .tg-panorama[dir="ltr"] .tgp-region-benefit { font-size:10px; }
}
