:root{
    --blue: #0B4F9E;
    --blue-dark: #073B78;
    --blue-pale: #EEF4FC;
    --orange: #F2732E;
    --orange-dark: #D65E1C;
    --ink: #16232F;
    --ink-soft: #5C6C7C;
    --line: #E3E9F0;
    --white: #FFFFFF;
    --max: 1160px;
  }
  *{box-sizing:border-box;}
  html{color-scheme:light;}
  html{scroll-behavior:smooth;}
  html[dir="rtl"] body{direction:rtl; text-align:right;}
  html[dir="rtl"] .lang-switch{direction:ltr;}
  html[dir="rtl"] .price-list li, html[dir="rtl"] .mega-trust div, html[dir="rtl"] .dispatch-meta div{direction:rtl;}
  html[dir="rtl"] .mega-menu{left:auto; right:0;}
  html[dir="rtl"] .svc-tag{right:auto; left:14px;}
  html[dir="rtl"] .modal-close{right:auto; left:16px;}
  html[dir="rtl"] .stat-item{border-left:none; border-right:1px solid rgba(255,255,255,0.12);}
  html[dir="rtl"] .stat-item:first-child{border-right:none;}

  body{
    margin:0; background:var(--white); color:var(--ink);
    font-family:'Plus Jakarta Sans',sans-serif; font-size:16px; line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{margin:0; font-weight:800; color:var(--ink); letter-spacing:-0.01em;}
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  ul{margin:0;padding:0;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
  .btn{
    display:inline-block; padding:14px 26px; border-radius:8px; border:none; cursor:pointer;
    font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:0.95rem;
    background:var(--orange); color:var(--white); transition:background .15s;
  }
  .btn:hover{background:var(--orange-dark);}
  .btn.outline{background:transparent; border:2px solid var(--white); color:var(--white);}
  .btn.outline:hover{background:rgba(255,255,255,0.12);}
  section{padding:70px 0;}
  .kicker{color:var(--orange); font-weight:800; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.04em;}
  .section-title{font-size:clamp(1.7rem,3vw,2.2rem); margin-top:10px; max-width:26ch;}

  /* Urgent status bar */
  .urgent-bar{background:var(--ink); color:#DCE6F0; font-size:0.82rem; padding:9px 0;}
  .urgent-bar .wrap{display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap; text-align:center;}
  .urgent-bar .live-dot{width:7px;height:7px;border-radius:50%;background:var(--orange); flex:none; animation:pulse-dot 1.8s infinite;}
  @keyframes pulse-dot{
    0%{box-shadow:0 0 0 0 rgba(242,115,46,0.55);}
    70%{box-shadow:0 0 0 7px rgba(242,115,46,0);}
    100%{box-shadow:0 0 0 0 rgba(242,115,46,0);}
  }
  .urgent-bar strong{color:var(--white);}
  .urgent-bar a{font-weight:800; color:var(--orange); margin-left:4px;}

  /* Header */
  header{position:sticky; top:0; z-index:50; background:#0B1622; border-bottom:1px solid rgba(242,115,46,0.25);}
  .headbar{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:var(--max); margin:0 auto; gap:20px;}
  .logo-img{height:52px; width:auto; display:block;}
  nav.main-nav{display:flex; gap:6px; align-items:center;}
  nav.main-nav a{font-size:0.89rem; font-weight:600; color:#C9D7E8; padding:9px 13px; border-radius:8px;}
  nav.main-nav a:hover{color:var(--white); background:rgba(255,255,255,0.08);}
  .nav-item{position:relative;}
  .nav-item .chev{font-size:0.7em; margin-left:4px; display:inline-block; transition:transform .15s;}
  .nav-item.open .chev{transform:rotate(180deg);}
  .mega-menu{
    display:none; position:absolute; top:calc(100% + 12px); left:0; background:var(--white);
    border-radius:14px; box-shadow:0 24px 48px -16px rgba(0,0,0,0.35); padding:26px;
    width:760px; max-width:90vw; z-index:80; border:1px solid var(--line);
  }
  .nav-item:hover .mega-menu, .nav-item.open .mega-menu{display:block;}
  .mega-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px 26px;}
  .mega-col .mega-head{display:flex; align-items:center; gap:9px; font-weight:800; font-size:0.92rem; margin-bottom:11px;}
  .mega-head.orange{color:var(--blue);}
  .mega-head.blue{color:var(--blue);}
  .mega-head svg{width:19px; height:19px; flex:none;}
  .mega-col ul{list-style:none; display:flex; flex-direction:column; gap:7px;}
  nav.main-nav .mega-col a{color:var(--ink); font-size:0.81rem; font-weight:500; display:block;}
  .mega-col li a:hover{color:var(--blue); text-decoration:underline;}
  .mega-col .mega-all{font-weight:700; color:var(--ink-soft); font-size:0.78rem; margin-top:1px;}
  .mega-trust{display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line);}
  .mega-trust div{font-size:0.78rem; color:var(--ink-soft);}
  .mega-trust strong{display:block; color:var(--ink); font-family:'Space Grotesk',sans-serif; font-size:0.95rem; margin-bottom:2px;}
  .head-actions{display:flex; align-items:center; gap:16px;}
  .lang-switch{display:flex; gap:2px; background:rgba(255,255,255,0.08); border-radius:20px; padding:3px;}
  .lang-btn{border:none; background:transparent; color:#9FB3C8; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.76rem; font-weight:700; padding:6px 11px; border-radius:16px; cursor:pointer;}
  .lang-btn:hover{color:var(--white);}
  .lang-btn.active{background:var(--orange); color:var(--white);}
  .head-phone{display:flex; flex-direction:column; align-items:flex-end;}
  .head-phone .num{font-weight:800; color:var(--white); font-size:1rem;}
  .head-phone .sub{font-size:0.7rem; color:#9FB3C8;}
  .head-cta{background:var(--orange); color:var(--white); font-weight:700; font-size:0.88rem; padding:11px 20px; border-radius:24px; white-space:nowrap;}
  .head-cta:hover{background:var(--orange-dark);}

  .head-cta{background:var(--orange); color:var(--white); font-weight:700; font-size:0.88rem; padding:11px 20px; border-radius:24px; white-space:nowrap;}
  .head-cta:hover{background:var(--orange-dark);}

  /* Hero */
  .hero{background:var(--blue); color:var(--white); padding:70px 0 0;}
  .hero-inner{max-width:var(--max); margin:0 auto; padding:0 24px 60px; text-align:center;}
  .hero h1{color:var(--white); font-size:clamp(2rem,4.2vw,3rem); max-width:22ch; margin:0 auto; line-height:1.15;}
  .hero .lede{color:#D7E5F7; margin-top:18px; max-width:52ch; margin-left:auto; margin-right:auto; font-size:1.05rem;}
  .hero .cta-row{margin-top:30px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
  .stat-strip{background:var(--blue-dark);}
  .stat-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
  .stat-item{padding:26px 18px; text-align:center; border-left:1px solid rgba(255,255,255,0.12);}
  .stat-item:first-child{border-left:none;}
  .stat-item .big{font-size:1.4rem; font-weight:800; color:var(--white);}
  .stat-item .lbl{font-size:0.8rem; color:#B9CFE9; margin-top:4px;}

  /* Booking bar */
  .book-bar{background:var(--blue-pale); border-bottom:1px solid var(--line); padding:30px 0;}
  .book-bar .wrap{display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:space-between;}
  .book-bar h3{font-size:1.15rem;}
  .book-bar form{display:flex; gap:10px; flex:1; min-width:280px; max-width:460px;}
  .book-bar input{flex:1; padding:13px 14px; border:1px solid var(--line); border-radius:8px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.95rem;}
  .book-bar .note{font-size:0.78rem; color:var(--ink-soft); margin-top:6px;}

  /* How it works */
  .how-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:40px;}
  .how-card{text-align:left;}
  .how-icon{width:56px;height:56px;border-radius:14px;display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
  .how-icon svg{width:26px;height:26px;}
  .how-icon.c-blue{background:var(--blue-pale); color:var(--blue);}
  .how-icon.c-orange{background:#FDE8DC; color:var(--orange);}
  .how-card h3{font-size:1.1rem;}
  .how-card p{color:var(--ink-soft); margin-top:8px; font-size:0.93rem;}

  /* Services grid */
  .svc-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:40px;}
  .svc-card{border:1px solid var(--line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column;}
  .svc-top{background:var(--blue-pale); padding:26px 20px 18px; position:relative;}
  .svc-tag{position:absolute; top:14px; right:14px; background:var(--white); border:1px solid var(--line); font-size:0.68rem; font-weight:800; color:var(--blue); padding:3px 8px; border-radius:20px;}
  .svc-emoji{font-size:2rem;}
  .svc-body{padding:16px 20px 20px; display:flex; flex-direction:column; gap:10px; flex:1;}
  .svc-body h3{font-size:1.02rem;}
  .svc-body p{font-size:0.86rem; color:var(--ink-soft); flex:1;}
  .svc-body a{font-size:0.84rem; font-weight:800; color:var(--blue);}
  .svc-body a:hover{text-decoration:underline;}
  .svc-icon{width:48px;height:48px;border-radius:12px;display:flex; align-items:center; justify-content:center;}
  .svc-icon svg{width:22px;height:22px;}
  .svc-icon.c-blue{background:var(--blue-pale); color:var(--blue);}
  .svc-icon.c-orange{background:#FDE8DC; color:var(--orange);}
  .svc-card.featured{background:var(--blue); border:3px solid var(--orange);}
  .svc-card.featured .svc-icon{background:var(--white); color:var(--orange); width:56px; height:56px;}
  .svc-card.featured .svc-icon svg{width:28px; height:28px; stroke-width:2.1;}
  .svc-card.featured h3{color:var(--white); font-weight:800; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
  .svc-card.featured p{color:#DCE9FA;}
  .svc-card.featured a{color:var(--white); font-weight:800;}
  .svc-card.featured .svc-tag{background:var(--white); color:var(--blue);}
  .featured-badge{display:inline-flex; align-items:center; justify-content:center; background:var(--orange); color:var(--white); font-size:0.62rem; font-weight:800; padding:3px 6px; border-radius:4px; line-height:1.2; text-align:center;}
  .local-badge{display:inline-block; font-size:0.62rem; font-weight:800; color:var(--orange); border:1px solid var(--orange); border-radius:20px; padding:2px 7px; margin-top:6px;}

  /* About */
  .about p{color:var(--ink-soft); margin-top:14px; max-width:78ch;}
  .about p:first-of-type{margin-top:16px;}

  /* Pricing */
  .price-cols{columns:2; column-gap:40px; margin-top:20px;}
  .price-block{break-inside:avoid; margin-bottom:34px; border:1px solid var(--line); border-radius:12px; padding:22px; background:var(--blue-pale);}
  .price-block h3{font-size:1.05rem; color:var(--blue);}
  .price-block ul{margin-top:14px; list-style:none;}
  .price-block li{display:flex; justify-content:space-between; gap:10px; font-size:0.88rem; padding:9px 0; border-bottom:1px dashed var(--line);}
  .price-block li:last-child{border-bottom:none;}
  .price-block .amt{font-weight:800; white-space:nowrap; color:var(--ink);}

  /* FAQ */
  .faq-list{border-top:1px solid var(--line); margin-top:30px;}
  details{border-bottom:1px solid var(--line);}
  summary{padding:20px 2px; cursor:pointer; font-weight:800; font-size:1.02rem; display:flex; justify-content:space-between; align-items:center; list-style:none;}
  summary::-webkit-details-marker{display:none;}
  summary::after{content:"+"; font-size:1.4rem; color:var(--orange);}
  details[open] summary::after{content:"–";}
  .faq-a{padding:0 2px 20px; color:var(--ink-soft); font-size:0.94rem; max-width:70ch;}

  /* Cities */
  .city-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:34px; margin-top:40px;}
  .city-block h4{font-size:1rem; margin-bottom:12px; color:var(--blue);}
  .city-block ul{display:flex; flex-direction:column; gap:8px;}
  .city-block a{font-size:0.86rem; color:var(--ink-soft);}
  .city-block a:hover{color:var(--blue);}

  /* Pro band */
  .pro-band{background:var(--blue); color:var(--white); text-align:center;}
  .pro-band h2{color:var(--white);}
  .pro-band p{color:#D7E5F7; margin-top:14px; max-width:56ch; margin-left:auto; margin-right:auto;}
  .pro-band .cta-row{margin-top:26px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

  /* Footer */
  footer{background:#0F1E2E; color:#9DB0C2; padding:56px 0 26px;}
  .foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px;}
  .foot-grid h4{color:var(--white); font-size:0.82rem; margin-bottom:14px;}
  .foot-grid ul{display:flex; flex-direction:column; gap:9px;}
  .foot-grid a{font-size:0.88rem;}
  .foot-grid a:hover{color:var(--white);}
  .foot-logo{color:var(--white); font-weight:700; font-size:1.3rem; margin-bottom:12px; display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; letter-spacing:-0.01em;}
  .foot-bottom{margin-top:40px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.1); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.78rem;}

  @media (max-width:920px){
    nav.main-nav{display:flex; gap:2px;}
    nav.main-nav a:nth-child(2), nav.main-nav a:nth-child(3), nav.main-nav a:nth-child(4){display:none;}
    nav.main-nav a{font-size:0.72rem; padding:6px 7px;}
    .mega-menu{position:fixed; top:auto; left:50%; bottom:16px; transform:translateX(-50%); width:92vw; max-height:80vh; overflow-y:auto;}
    .mega-grid{grid-template-columns:1fr 1fr;}
    .head-phone{display:none;}
    .how-grid{grid-template-columns:1fr;}
    .svc-grid{grid-template-columns:repeat(2,1fr);}
    .price-cols{columns:1;}
    .city-grid{grid-template-columns:repeat(2,1fr);}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .stat-strip .wrap{grid-template-columns:repeat(2,1fr);}
    .stat-item{border-left:none; border-top:1px solid rgba(255,255,255,0.12);}
    .book-bar form{max-width:100%;}
  }
  @media (max-width:600px){
    .headbar{gap:8px;}
    .logo-img{height:40px;}
    .head-cta{padding:9px 14px; font-size:0.8rem;}
    .mega-grid{grid-template-columns:1fr;}
    .mega-menu{padding:18px;}
    .mega-trust{gap:12px;}
  }
  /* WhatsApp floating button */
  .wa-float{
    position:fixed; bottom:22px; right:22px; z-index:90; width:58px; height:58px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 24px -6px rgba(0,0,0,0.4); transition:transform .15s;
  }
  .wa-float:hover{transform:scale(1.06);}
  .wa-float svg{width:30px;height:30px;}

  /* Trust strip: rating + legal badges */
  .trust-bar{background:var(--white); border-bottom:1px solid var(--line); padding:16px 0;}
  .trust-bar .wrap{display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:center;}
  .trust-bar .tb-item{display:flex; align-items:center; gap:8px; font-size:0.85rem; color:var(--ink-soft); font-weight:600;}
  .tb-icon{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;}
  .tb-icon svg{width:15px;height:15px;}
  .tb-icon.c-blue{background:var(--blue-pale); color:var(--blue);}
  .tb-icon.c-orange{background:#FDE8DC; color:var(--orange);}
  .trust-bar .stars{color:#F2A93B; letter-spacing:1px;}
  .trust-bar .tb-item strong{color:var(--ink);}

  /* Testimonials */
  .review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
  .review-card{border:1px solid var(--line); border-radius:12px; padding:22px; background:var(--white);}
  .review-card .stars{color:#F2A93B; font-size:0.9rem; letter-spacing:1px;}
  .review-card p{margin-top:12px; font-size:0.9rem; color:var(--ink-soft);}
  .review-card .who{margin-top:14px; font-size:0.82rem; font-weight:700; color:var(--ink);}
  .review-card .who span:last-child{display:block; font-weight:400; color:var(--ink-soft); font-size:0.78rem;}

  /* Booking modal */
  .modal-overlay{
    display:none; position:fixed; inset:0; background:rgba(255,255,255,0.92); z-index:200;
    align-items:center; justify-content:center; padding:20px;
  }
  .modal-overlay.open{display:flex;}
  .modal-box{background:var(--white); border:1px solid var(--line); box-shadow:0 24px 60px -20px rgba(22,35,47,0.35); border-radius:16px; max-width:440px; width:100%; padding:28px; position:relative; max-height:90vh; overflow-y:auto;}
  .modal-close{position:absolute; top:14px; right:16px; background:none; border:none; font-size:1.4rem; color:var(--ink-soft); cursor:pointer; line-height:1;}
  .modal-box h3{font-size:1.2rem;}
  .modal-box .modal-sub{color:var(--ink-soft); font-size:0.86rem; margin-top:6px;}
  .modal-field{margin-top:16px;}
  .modal-field label{display:block; font-size:0.8rem; font-weight:700; color:var(--ink); margin-bottom:6px;}
  .modal-field input, .modal-field select{
    width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:8px; font-family:'Plus Jakarta Sans',sans-serif; font-size:0.92rem;
  }
  .modal-submit{width:100%; margin-top:20px; display:flex; align-items:center; justify-content:center; gap:8px; background:#25D366;}
  .modal-submit:hover{background:#1EBE59;}
  .modal-note{margin-top:12px; font-size:0.76rem; color:var(--ink-soft); text-align:center;}
  /* ---- Correctif mobile : jamais de débordement horizontal, en-tête compact ---- */
  html,body{max-width:100%; overflow-x:clip;}
  img,svg,video{max-width:100%;}
  @media (max-width:600px){
    .headbar{flex-wrap:wrap; padding:10px 14px; row-gap:8px;}
    .head-actions{gap:8px; margin-inline-start:auto; min-width:0;}
    .lang-btn{padding:5px 8px; font-size:0.7rem;}
    .head-cta{padding:8px 12px; font-size:0.76rem;}
    .logo-img{height:34px;}
  }
  @media (max-width:380px){
    .head-actions{width:100%; justify-content:space-between;}
  }
  @media (max-width:900px){ .review-grid{grid-template-columns:1fr;} }
  @media (max-width:420px){
    .wizard-step-labels{font-size:0.54rem; letter-spacing:-0.01em; gap:2px;}
    .wizard-step-labels span{flex:1; text-align:center; white-space:nowrap;}
    .wizard-step-labels span:first-child{text-align:start;} .wizard-step-labels span:last-child{text-align:end;}
  }
  body:has(.modal-overlay.open) .whatsapp-fab{display:none;}
  @media (max-width:600px){
    .book-bar form{flex:1 1 100%; flex-direction:column; min-width:0; width:100%; max-width:100%;}
    .book-bar form input,.book-bar form button{width:100%; min-width:0;}
    .book-bar form button{white-space:normal;}
  }
  @media (max-width:600px){
    .urgent-bar{font-size:0.74rem; padding:6px 0;} .urgent-bar .wrap{gap:4px 8px; padding:0 12px;}
    .trust-bar{display:none;}
  }
  @media (max-width:420px){ .svc-grid{grid-template-columns:1fr;} .city-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
