/* glf-transfert.fr — design system unifie (FR/EN/PT/AR) */
:root{
  --cream:#FBF3E5;--cream-card:#F4E6CC;--ink:#231B11;--ink-soft:#6B5E49;
  --orange:#E15A18;--orange-deep:#BC470F;--teal:#13524B;--teal-deep:#0C3833;
  --line:rgba(35,27,17,.16);--shadow:0 24px 60px -28px rgba(35,27,17,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Spectral",Georgia,serif;background:var(--cream);color:var(--ink);
  line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
html[dir=rtl] body{font-family:"Noto Naskh Arabic","Spectral",serif;line-height:1.9}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",sans-serif;line-height:1.1;letter-spacing:-.02em}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] h4{
  font-family:"Noto Naskh Arabic",sans-serif;letter-spacing:0;line-height:1.4}
a{color:var(--orange-deep)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.eyebrow{font-family:"Bricolage Grotesque",sans-serif;font-size:.76rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep);display:block}
html[dir=rtl] .eyebrow{font-family:"Noto Naskh Arabic",sans-serif;letter-spacing:0}

/* topbar */
.topbar{background:var(--teal-deep);color:#F4E6CC;font-size:.82rem;
  font-family:"Bricolage Grotesque",sans-serif}
html[dir=rtl] .topbar{font-family:"Noto Naskh Arabic",sans-serif}
.topbar .wrap{display:flex;justify-content:space-between;gap:14px;
  padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.topbar a{color:#F4E6CC;text-decoration:none;font-weight:700}
.topbar .dot{opacity:.5;margin:0 7px}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(251,243,229,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-top:13px;padding-bottom:13px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand-mark{width:38px;height:38px;border-radius:9px;background:var(--orange);
  display:grid;place-items:center;color:#fff;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;font-size:1.15rem;flex:none}
.brand-name{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.02rem}
html[dir=rtl] .brand-name{font-family:"Noto Naskh Arabic",sans-serif}
.brand-name span{display:block;font-size:.64rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-soft)}
.langs{display:flex;gap:3px;font-family:"Bricolage Grotesque",sans-serif;
  font-size:.8rem;font-weight:700}
.langs a{text-decoration:none;padding:5px 9px;border-radius:7px;color:var(--ink-soft)}
.langs a.on{background:var(--ink);color:var(--cream)}
.langs a:hover{color:var(--orange-deep)}
.tel-btn{display:inline-flex;align-items:center;gap:7px;background:var(--teal);
  color:#fff;text-decoration:none;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:700;font-size:.86rem;padding:9px 15px;border-radius:999px}
.tel-btn svg{width:17px;height:17px}

/* breadcrumb */
.crumb{font-family:"Bricolage Grotesque",sans-serif;font-size:.8rem}
html[dir=rtl] .crumb{font-family:"Noto Naskh Arabic",sans-serif}
.crumb .wrap{padding-top:12px;padding-bottom:0}
.crumb a{color:var(--ink-soft);text-decoration:none}
.crumb span{color:var(--orange-deep);margin:0 8px;opacity:.6}
.crumb b{color:var(--ink);font-weight:700}

/* btn */
.btn{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.92rem;
  text-decoration:none;border-radius:999px;padding:13px 24px;display:inline-flex;
  align-items:center;gap:8px;border:none;cursor:pointer;transition:transform .14s ease}
html[dir=rtl] .btn{font-family:"Noto Naskh Arabic",sans-serif}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--orange);color:#fff;
  box-shadow:0 10px 24px -10px rgba(225,90,24,.8)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}

/* hero */
.hero{padding:58px 0 50px;position:relative}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(640px 320px at 78% 8%,rgba(225,90,24,.10),transparent 70%),
             radial-gradient(520px 360px at 6% 96%,rgba(19,82,75,.10),transparent 70%)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .85fr;gap:42px;align-items:center}
.hero h1{font-size:clamp(2.05rem,4.4vw,3.15rem);margin:14px 0 0}
.hero h1 .hl{color:var(--orange)}
.hero p{font-size:1.13rem;color:var(--ink-soft);margin:18px 0 24px;max-width:52ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.ticket{background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:24px;box-shadow:var(--shadow)}
.ticket-top{display:flex;align-items:center;gap:10px;
  border-bottom:1px dashed var(--line);padding-bottom:14px;margin-bottom:14px}
.ticket-badge{background:var(--orange);color:#fff;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;font-size:.82rem;padding:4px 11px;border-radius:7px}
.ticket-top small{color:var(--ink-soft);font-size:.82rem}
.route{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.route small{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;
  color:var(--ink-soft);font-family:"Bricolage Grotesque",sans-serif}
.route b{font-family:"Bricolage Grotesque",sans-serif;font-size:.98rem}
html[dir=rtl] .route b,html[dir=rtl] .route small,html[dir=rtl] .ticket-badge{
  font-family:"Noto Naskh Arabic",sans-serif}
.route .arc{color:var(--orange);flex:none}
.ticket-stat{display:flex;justify-content:space-between;padding:11px 0;
  border-top:1px solid var(--line);font-size:.92rem}
.ticket-stat b{font-family:"Bricolage Grotesque",sans-serif;color:var(--teal)}

/* notice */
.notice{background:var(--cream-card);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.notice .wrap{padding-top:22px;padding-bottom:22px}
.notice-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.notice-head span{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  color:var(--orange-deep)}
html[dir=rtl] .notice-head span{font-family:"Noto Naskh Arabic",sans-serif}
.notice-list{list-style:none;display:flex;gap:10px 30px;flex-wrap:wrap}
.notice-list li{position:relative;padding-inline-start:22px;font-size:.95rem;
  color:var(--ink-soft)}
.notice-list li::before{content:"✓";position:absolute;inset-inline-start:0;
  color:var(--orange);font-weight:800}

/* generic section */
section{padding:52px 0}
.sec-head{max-width:60ch;margin-bottom:30px}
.sec-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:10px 0 8px}
.sec-head p{color:var(--ink-soft);font-size:1.04rem}
.lead-p{color:var(--ink-soft);font-size:1.06rem;max-width:64ch;margin-top:14px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.step .n{width:34px;height:34px;border-radius:9px;background:var(--teal);color:#fff;
  display:grid;place-items:center;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:800;margin-bottom:13px}
.step h3{font-size:1.12rem;margin-bottom:7px}
.step p{color:var(--ink-soft);font-size:.97rem}
.steps.recv .n{background:var(--orange)}

/* corridors */
.corridors{background:var(--teal-deep);color:#F4E6CC}
.corridors .sec-head h2{color:#fff}
.corridors .sec-head p{color:rgba(244,230,204,.8)}
.country-grid{display:flex;flex-wrap:wrap;gap:10px}
.country{background:rgba(255,255,255,.07);border:1px solid rgba(244,230,204,.18);
  border-radius:999px;padding:9px 17px;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:8px}
html[dir=rtl] .country{font-family:"Noto Naskh Arabic",sans-serif}
.country .dot{width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}

/* worldband */
.worldband{background:var(--orange);color:#fff;font-family:"Bricolage Grotesque",sans-serif;
  font-weight:700;font-size:.9rem;padding:13px 0;overflow:hidden;white-space:nowrap}
html[dir=rtl] .worldband{font-family:"Noto Naskh Arabic",sans-serif}
.worldband .wrap{text-align:center}

/* faq */
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:4px 20px;margin-bottom:11px}
.faq summary{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  font-size:1.02rem;cursor:pointer;padding:15px 0;list-style:none}
html[dir=rtl] .faq summary{font-family:"Noto Naskh Arabic",sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:inline-end;color:var(--orange);font-size:1.3rem}
html[dir=rtl] .faq summary::after{float:left}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--ink-soft);padding-bottom:16px;font-size:.98rem}

/* find */
.find{background:var(--cream-card)}
.find-row{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
.find-card{background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:26px;box-shadow:var(--shadow)}
.find-info{margin-bottom:16px}
.find-info .k{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;
  font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--orange-deep);margin-bottom:3px}
html[dir=rtl] .find-info .k{font-family:"Noto Naskh Arabic",sans-serif;letter-spacing:0}
.find-info .addr{font-size:1.05rem}
.find-cities{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.find-cities a{background:var(--cream);border:1px solid var(--line);border-radius:999px;
  padding:5px 12px;font-size:.85rem;text-decoration:none;color:var(--ink);
  font-family:"Bricolage Grotesque",sans-serif}
html[dir=rtl] .find-cities a{font-family:"Noto Naskh Arabic",sans-serif}
.find-cities a:hover{border-color:var(--orange);color:var(--orange-deep)}
.find-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}
.find-map{width:100%;height:100%;min-height:330px;border:0;border-radius:16px;
  filter:saturate(.9)}

/* cta */
.cta{background:var(--teal);color:#fff;text-align:center}
.cta h2{font-size:clamp(1.7rem,3vw,2.3rem);color:#fff}
.cta p{color:rgba(255,255,255,.82);margin:12px auto 22px;max-width:48ch}

/* legal */
.legal-doc{max-width:760px}
.legal-doc h1{font-size:clamp(1.9rem,3.4vw,2.5rem);margin-bottom:8px}
.legal-doc h2{font-size:1.2rem;margin:28px 0 8px;color:var(--orange-deep)}
.legal-doc p{color:var(--ink-soft)}

/* footer */
footer{background:var(--ink);color:#C9BCA3;padding:46px 0 26px;font-size:.92rem}
footer h4{color:var(--cream);font-size:.78rem;letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:12px}
html[dir=rtl] footer h4{letter-spacing:0}
.cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:26px;
  padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12)}
.cols a{display:block;color:#C9BCA3;text-decoration:none;padding:3px 0}
.cols a:hover{color:var(--orange)}
.cols p{color:#9C8F76;max-width:38ch}
.foot-legal{padding-top:20px;color:#9C8F76;font-size:.82rem}
.foot-legal a{color:#C9BCA3}

/* wa float */
.wa-float{position:fixed;inset-inline-end:18px;bottom:18px;width:54px;height:54px;
  border-radius:50%;background:#25D366;display:grid;place-items:center;z-index:60;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.4)}
.wa-float svg{width:30px;height:30px}

/* responsive */
@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .ticket{order:-1}
  .steps{grid-template-columns:1fr}
  .find-row{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr 1fr}
  .tel-btn .tel-num{display:none}
}
@media(max-width:600px){
  /* le bouton tel du header est redondant (numero deja dans la topbar
     + CTA d'appel dans la page) : on le masque pour liberer la ligne */
  .tel-btn{display:none}
}
@media(max-width:520px){
  .cols{grid-template-columns:1fr}
}
@media(max-width:430px){
  header .wrap{gap:8px}
  .brand-mark{width:32px;height:32px;font-size:1rem}
  .brand-name{font-size:.9rem}
  .brand-name span{font-size:.56rem;letter-spacing:.06em}
  .langs a{padding:5px 6px}
  .hero{padding:42px 0 38px}
  .wrap{padding:0 16px}
}
