/* ===== Sémafor — blocs GRC propres (managés / navigateur / régions) ===== */
.gb-wrap{max-width:1400px;margin:0 auto;padding:0 30px}
.gb-head{text-align:center;max-width:840px;margin:0 auto 40px}
.gb-head h2{font-size:clamp(32px,4vw,47px);color:#18365A;font-weight:500;line-height:1.1;margin:0 0 14px}
.gb-lead{font-size:18px;color:#5A6473;line-height:1.65;margin:0}
/* — services managés — */
.gb-managed{padding:84px 0;background:#fff;font-family:'Poppins',system-ui,sans-serif}
[dir=rtl] .gb-managed{font-family:'Noto Sans Arabic','Cairo',sans-serif}
.gb-mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gb-mcard{background:#fff;border:1px solid #e2e7ee;border-radius:18px;padding:32px 28px;transition:transform .25s,box-shadow .25s}
.gb-mcard:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(19,33,60,.12)}
.gb-mic{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(0,166,216,.12);margin-bottom:18px}
.gb-mic svg{width:28px;height:28px;stroke:#00A6D8}
.gb-mcard h3{font-size:20px;color:#18365A;font-weight:600;line-height:1.3;margin:0 0 10px}
.gb-mcard p{font-size:15.5px;color:#5A6473;line-height:1.6;margin:0}
@media(max-width:900px){.gb-mgrid{grid-template-columns:1fr}}
/* — navigateur + régions — */
.gb-navig{padding:78px 0 0;background:#fff;font-family:'Poppins',system-ui,sans-serif}
[dir=rtl] .gb-navig,[dir=rtl] .gb-regions{font-family:'Noto Sans Arabic','Cairo',sans-serif}
.gb-nav-in{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.gb-nav-txt h2{font-size:clamp(28px,3.4vw,40px);color:#18365A;font-weight:500;line-height:1.12;margin:0 0 10px}
.gb-nav-txt p{font-size:17px;color:#5A6473;line-height:1.6;max-width:52ch;margin:0}
.gb-logos{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.gb-logos img{height:62px;width:auto;object-fit:contain}
.gb-regions{padding:54px 0 84px;background:#fff;font-family:'Poppins',system-ui,sans-serif}
.gb-rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.gb-rcard{background:#F6F8FB;border:1px solid #e2e7ee;border-radius:16px;padding:26px 24px}
.gb-rcard h3{font-size:19px;color:#18365A;font-weight:600;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid #FCA311;display:inline-block}
.gb-rcard ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.gb-rcard li{position:relative;padding-inline-start:18px;font-size:14.5px;color:#5A6473;line-height:1.5}
.gb-rcard li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:7px;height:7px;border-radius:2px;background:#00A6D8}
@media(max-width:1000px){.gb-rgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gb-rgrid{grid-template-columns:1fr}.gb-nav-in{flex-direction:column;align-items:flex-start}}
/* — carte régions interactive — */
.gb-rwrap{display:grid;grid-template-columns:minmax(300px,440px) 1fr;gap:42px;align-items:center}
.gb-map{margin:0}
.gb-map svg{width:100%;height:auto;display:block;overflow:visible}
.gb-zone{cursor:pointer}
.gb-zone path{fill:#e3ebf5;stroke:#fff;stroke-width:2.5;transition:fill .25s}
.gb-zt{fill:#18365A;font-family:'Poppins',system-ui,sans-serif;font-size:14px;font-weight:600;text-anchor:middle;pointer-events:none;transition:fill .25s}
[dir=rtl] .gb-zt{font-family:'Noto Sans Arabic','Cairo',sans-serif}
.gb-pin{fill:#FCA311;opacity:0;transition:opacity .25s}
.gb-zone:hover path,.gb-zone.gb-on path{fill:#00A6D8}
.gb-zone:hover .gb-zt,.gb-zone.gb-on .gb-zt{fill:#fff}
.gb-zone:hover .gb-pin,.gb-zone.gb-on .gb-pin{opacity:1}
.gb-zone:focus{outline:none}
.gb-zone:focus path{stroke:#00A6D8;stroke-width:3}
.gb-rgrid{grid-template-columns:1fr 1fr}
.gb-rcard{transition:border-color .25s,box-shadow .25s,transform .25s}
.gb-rcard.gb-on{border-color:#00A6D8;box-shadow:0 12px 32px rgba(0,166,216,.20);transform:translateY(-3px)}
@media(max-width:1000px){.gb-rwrap{grid-template-columns:1fr;gap:28px}.gb-map{max-width:460px;margin:0 auto}}
/* — carte géo réelle : tracés pays dissous — */
.gb-zone path{stroke-width:1.1}
.gb-z-suisse path{stroke:#FCA311;stroke-width:1.2}
.gb-lead{stroke:#94a8c2;stroke-width:1.4;stroke-dasharray:3 3;transition:stroke .25s}
.gb-dot{fill:#FCA311;stroke:#fff;stroke-width:1.6;transition:r .2s,fill .25s}
.gb-zone:hover .gb-dot,.gb-zone.gb-on .gb-dot{r:7.5;fill:#00A6D8}
.gb-zone:hover .gb-lead,.gb-zone.gb-on .gb-lead{stroke:#00A6D8}
.gb-zt{paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.gb-zone:hover .gb-zt,.gb-zone.gb-on .gb-zt{fill:#18365A}
/* === carte pointillée pleine largeur + blocs en ligne === */
.gb-rwrap{display:block}
.gb-map{width:100%;max-width:1040px;margin:0 auto 32px}
.gb-map svg{width:100%;height:auto;display:block;overflow:visible}
.gb-rgrid{grid-template-columns:repeat(4,1fr);gap:20px}
.gb-base circle{fill:#cdd9e8}
.gb-zone{cursor:pointer}
.gb-zone path{fill:transparent !important;stroke:none !important;pointer-events:all}
.gb-hit{fill:transparent;pointer-events:all}
.gb-dd circle{fill:#cdd9e8;transition:fill .25s}
.gb-zone:hover .gb-dd circle,.gb-zone.gb-on .gb-dd circle{fill:#00A6D8}
.gb-glow{opacity:.5;transition:opacity .25s}
.gb-zone:hover .gb-glow,.gb-zone.gb-on .gb-glow{opacity:.95}
.gb-pp{fill:#FCA311;stroke:#fff;stroke-width:1;transition:fill .25s}
.gb-zone:hover .gb-pp,.gb-zone.gb-on .gb-pp{fill:#00A6D8}
.gb-lead{stroke:#FCA311;stroke-width:1.4;stroke-dasharray:3 3;opacity:.75;transition:stroke .25s,opacity .25s}
.gb-zone:hover .gb-lead,.gb-zone.gb-on .gb-lead{stroke:#00A6D8;opacity:1}
.gb-zt{fill:#18365A;font-family:'Poppins',system-ui,sans-serif;font-size:15px;font-weight:600;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}
[dir=rtl] .gb-zt{font-family:'Noto Sans Arabic','Cairo',sans-serif}
.gb-rcard{transition:border-color .25s,box-shadow .25s,transform .25s}
.gb-rcard.gb-on{border-color:#00A6D8;box-shadow:0 12px 32px rgba(0,166,216,.20);transform:translateY(-4px)}
@media(max-width:900px){.gb-rgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.gb-rgrid{grid-template-columns:1fr}}
.gb-glow{fill:url(#gbglow)}
.gb-pinw{pointer-events:none}
/* === blocs superposés sur la carte mondiale (zones inactives) === */
.gb-rwrap{position:relative;display:block}
.gb-map{width:100%;max-width:1120px;margin:0 auto}
.gb-rgrid{position:absolute;left:50%;transform:translateX(-50%);width:95%;max-width:1080px;bottom:10px;grid-template-columns:repeat(4,1fr);gap:18px;z-index:3}
.gb-rcard{background:#fff;box-shadow:0 14px 36px rgba(20,40,70,.12)}
@media(max-width:920px){
  .gb-map{max-width:660px}
  .gb-rgrid{position:static;transform:none;width:100%;max-width:none;bottom:auto;margin-top:24px;grid-template-columns:1fr 1fr}
}
@media(max-width:560px){ .gb-rgrid{grid-template-columns:1fr} }
