:root{--navy:#0b1728;--navy2:#14263d;--green:#1455d9;--green2:#1455d9;--red:#1455d9;--cream:#f5faf6;--muted:#64748b;--line:#e2e8f0;--white:#fff;--gold:#f59e0b;--shadow:0 20px 60px rgba(15,23,42,.10);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--navy);line-height:1.55;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,calc(100% - 36px));margin:auto}.topbar{background:var(--navy);color:#dbeafe;font-size:12px}.topbar-inner{height:32px;display:flex;align-items:center;justify-content:space-between}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid #e2e8f0}.nav-wrap{height:76px;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:9px;min-width:225px}.brand-mark{width:48px;height:48px;position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:Manrope;font-weight:800;font-size:29px;letter-spacing:-8px}.brand-b{color:#16213b;position:relative;z-index:2}.brand-r{color:var(--red);position:relative;z-index:1}.brand-road{position:absolute;left:8px;bottom:3px;width:39px;height:8px;background:linear-gradient(90deg,#16213b 0 42%,#fff 42% 50%,#16213b 50%);transform:skew(-28deg);border-radius:8px}.brand-text strong{font:800 20px Manrope}.brand-text em{color:var(--green);font-style:normal}.brand-text small{display:block;color:#64748b;font-size:9px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:20px}.main-nav>a,.nav-drop-btn{font:600 13px "DM Sans";color:#334155;padding:27px 0;background:none;border:0;cursor:pointer}.main-nav>a:hover,.nav-drop-btn:hover{color:var(--green)}.nav-icon{font-size:16px}.nav-book{background:var(--green)!important;color:#fff!important;padding:11px 17px!important;border-radius:11px!important;box-shadow:0 10px 20px #1455d92b}.nav-book:hover{background:var(--red)!important;box-shadow:0 10px 25px #1455d935}.lang-select{font-size:12px;font-weight:800;display:flex;gap:5px}.lang-select a{color:#94a3b8}.lang-select .selected{color:var(--green)}.nav-drop,.nav-more{position:relative}.dropdown,.more-menu{position:absolute;top:62px;right:-160px;width:620px;background:#fff;border:1px solid var(--line);box-shadow:0 25px 55px #0f172a18;border-radius:18px;padding:16px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:120}.nav-drop:hover .dropdown,.nav-drop:focus-within .dropdown,.nav-more.open .more-menu{opacity:1;visibility:visible;transform:none}.drop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drop-grid>a{padding:13px;border-radius:13px;display:flex;flex-direction:column;gap:3px}.drop-grid>a:hover{background:#eef5ff}.drop-grid b{font-size:13px}.drop-grid small{color:#64748b}.drop-feature{background:linear-gradient(120deg,#eef5ff,#eff6ff);grid-column:1/-1}.more-btn{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:.3s}.more-btn span{width:17px;height:2px;background:var(--navy);transition:.25s}.nav-more.open .more-btn{background:var(--navy);transform:rotate(0)}.nav-more.open .more-btn span:nth-child(1){transform:translateY(6px) rotate(45deg);background:#fff}.nav-more.open .more-btn span:nth-child(2){opacity:0}.nav-more.open .more-btn span:nth-child(3){transform:translateY(-6px) rotate(-45deg);background:#fff}.more-menu{width:280px;right:0;padding:10px}.more-menu a{display:block;padding:11px 13px;border-radius:9px;font-weight:600;font-size:13px}.more-menu a:hover{background:#eef5ff;color:#1455d9}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;border-radius:12px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.25s}.btn-primary{background:var(--green);color:#fff;box-shadow:0 12px 25px #1455d92b}.btn-primary:hover{background:var(--red);box-shadow:0 14px 30px #1455d940;transform:translateY(-2px)}.btn-outline{background:#fff;border-color:#cbd5e1}.btn-outline:hover{border-color:var(--green);color:var(--green);box-shadow:0 0 0 4px #1455d912}.btn-dark{background:var(--navy);color:#fff}.hero{overflow:hidden;background:linear-gradient(120deg,#071426,#123c57 55%,#174a9e);color:#fff;border-radius:0 0 36px 36px}.hero-grid{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative}.hero h1{font:800 clamp(44px,5.6vw,72px) Manrope;letter-spacing:-3.5px;line-height:1.02;margin:18px 0}.hero h1 em{font-style:normal;color:#1455d9}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #ffffff2e;background:#ffffff12;border-radius:99px;font-size:12px;font-weight:800}.eyebrow i{width:7px;height:7px;background:#1455d9;border-radius:50%;box-shadow:0 0 0 6px #1455d920}.hero-copy{max-width:570px;color:#dbeafe;font-size:18px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin:26px 0}.hero .btn-outline{background:#ffffff12;border-color:#ffffff40;color:#fff}.store-row{display:flex;gap:9px;flex-wrap:wrap}.store{border:1px solid #ffffff45;background:#0003;border-radius:10px;padding:7px 12px;display:flex;gap:7px;align-items:center;font-size:11px}.store small{display:block;font-size:8px}.store strong{font-size:13px}.hero-visual{height:560px;position:relative;display:grid;place-items:center}.city{position:absolute;inset:60px 0 0;border-radius:48% 48% 0 0;background:linear-gradient(180deg,#60a5fa18,#1455d910)}.city:after{content:"";position:absolute;inset:35% -10% auto;height:180px;background:repeating-linear-gradient(165deg,#ffffff12 0 4px,transparent 4px 18px);transform:rotate(-3deg)}.phone{width:260px;height:530px;background:#f8fafc;border:9px solid #07101d;border-radius:37px;box-shadow:0 35px 70px #0007;z-index:4;overflow:hidden;transform:rotate(2deg)}.phone-notch{width:100px;height:26px;background:#07101d;border-radius:0 0 16px 16px;margin:auto}.app-screen{padding:14px;color:#0f172a}.app-head{display:flex;justify-content:space-between;font-weight:800;font-size:13px}.map{height:245px;background:#dfeee1;margin:14px -14px 0;position:relative;overflow:hidden}.map:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(32deg,transparent 0 24px,#fff 25px 29px,transparent 30px 62px),repeating-linear-gradient(122deg,transparent 0 30px,#c2dcc5 31px 34px,transparent 35px 75px);opacity:.7}.pin{position:absolute;left:60%;top:45%;width:20px;height:20px;background:var(--red);border:4px solid #fff;border-radius:50%;box-shadow:0 7px 15px #0003}.booking-card{background:#fff;border-radius:15px;padding:12px;margin-top:-3px;position:relative;box-shadow:0 8px 25px #0f172a15}.booking-card small{color:#64748b}.booking-card strong{display:block;font-size:12px;margin:4px 0 8px}.fake-input{padding:9px;background:#f1f5f9;border-radius:8px;color:#64748b;font-size:10px}.phone-btn{background:var(--green);color:#fff;border-radius:8px;text-align:center;padding:9px;margin-top:8px;font-size:11px;font-weight:800}.car{position:absolute;width:350px;height:115px;right:0;bottom:36px;background:#111827;border-radius:70px 90px 20px 20px;z-index:3;box-shadow:0 25px 35px #0006}.car:before{content:"";position:absolute;width:205px;height:70px;background:#2c4153;left:70px;top:-40px;border-radius:90px 90px 10px 10px;clip-path:polygon(20% 100%,30% 0,70% 0,86% 100%)}.wheel{position:absolute;width:54px;height:54px;background:#0b1220;border:9px solid #94a3b8;border-radius:50%;bottom:-15px}.wheel.left{left:50px}.wheel.right{right:50px}.section{padding:90px 0}.section-soft{background:var(--cream)}.section-head{text-align:center;max-width:720px;margin:0 auto 42px}.section-head h2,.split h2{font:800 41px Manrope;letter-spacing:-1.7px}.section-head p,.muted{color:var(--muted)}.kicker{color:var(--green);font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:900}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;transition:.28s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.icon{width:52px;height:52px;display:grid;place-items:center;background:#eef5ff;color:var(--green);border-radius:15px;font-size:24px;margin-bottom:16px}.card h3{font:700 19px Manrope}.card p{color:var(--muted)}.link{color:var(--green);font-weight:800;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:22px;background:#fff;overflow:hidden}.stat{text-align:center;padding:25px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font:800 31px Manrope;display:block}.stat span{color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.check-list{display:grid;gap:14px;margin:22px 0}.check{display:flex;gap:11px}.check b{color:var(--green)}.visual-box{min-height:390px;border-radius:30px;background:linear-gradient(135deg,#eef5ff,#eff6ff);position:relative}.driver-card{position:absolute;left:9%;right:9%;bottom:30px;background:#fff;border-radius:22px;padding:22px;box-shadow:var(--shadow)}.driver-avatar{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#174a9e,#1455d9);display:grid;place-items:center;color:#fff;font-weight:900;float:left;margin-right:14px}.earnings{clear:both;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:18px}.earnings div{background:#f8fafc;border-radius:9px;padding:10px}.earnings strong{display:block}.earnings span{font-size:10px;color:var(--muted)}.security-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.security-item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.download{background:linear-gradient(120deg,#0b1728,#174a9e);color:#fff;border-radius:30px;overflow:hidden}.download-inner{padding:58px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center}.download h2{font:800 40px Manrope}.qr{width:150px;height:150px;justify-self:end;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0/18px 18px;border:10px solid #fff;border-radius:15px}.video-wrap{background:#071426;color:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.video-wrap iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.video-copy{padding:22px}.video-copy p{color:#cbd5e1}.video-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px}.video-mini{background:linear-gradient(135deg,#eef5ff,#eff6ff);border-radius:20px;padding:25px;display:flex;flex-direction:column;justify-content:center}.logo-strip{overflow:hidden;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.logo-track{display:flex;gap:60px;width:max-content;animation:marquee 25s linear infinite}.partner-logo{font:800 18px Manrope;color:#64748b;white-space:nowrap;filter:grayscale(1);transition:.2s}.partner-logo:hover{filter:none;color:var(--green)}@keyframes marquee{to{transform:translateX(-50%)}}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stars{color:var(--gold);letter-spacing:2px}.quote{font-size:15px}.person{font-weight:800;font-size:12px}.guide-shell{display:grid;grid-template-columns:1.5fr .7fr;gap:16px}.map-panel{height:600px;border-radius:25px;overflow:hidden;border:1px solid var(--line)}#cityMap{width:100%;height:100%}.chat-panel{height:600px;border:1px solid var(--line);border-radius:25px;background:#fff;display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:17px;background:var(--navy);color:#fff}.chat-head strong{display:block}.chat-messages{padding:14px;overflow:auto;flex:1;background:#f8fafc}.msg{background:#fff;border:1px solid var(--line);padding:12px;border-radius:13px;margin-bottom:10px}.msg small{color:#64748b}.question-form{padding:12px;border-top:1px solid var(--line)}.question-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit;resize:vertical}.question-form button{margin-top:8px;width:100%}.guest-note{font-size:11px;color:#64748b;padding:9px;background:#f8fafc;border-radius:9px}.guide-search{display:flex;gap:8px;margin-bottom:10px}.guide-search input{flex:1;border:1px solid #cbd5e1;border-radius:10px;padding:12px}.guide-search button{border:0;border-radius:10px;background:var(--green);color:#fff;padding:0 15px;font-weight:800}.page-hero{padding:70px 0;background:linear-gradient(135deg,#eefbf1,#f8fafc);border-bottom:1px solid var(--line)}.page-hero h1{font:800 51px Manrope;letter-spacing:-2px}.page-hero p{max-width:720px;color:var(--muted);font-size:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800}.field input,.field select,.field textarea{font:inherit;padding:12px;border:1px solid #cbd5e1;border-radius:11px;outline:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #1455d918}.phone-input{display:flex}.phone-prefix{display:flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #cbd5e1;border-right:0;padding:0 12px;border-radius:11px 0 0 11px;font-size:13px}.phone-input input{border-radius:0 11px 11px 0!important;flex:1}.notice,.alert{padding:14px 17px;border-radius:11px;background:#eef5ff;color:#1455d9}.table-wrap{overflow:auto}.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.price-table th,.price-table td{padding:15px;border-bottom:1px solid var(--line);text-align:left}.price-table th{background:#f8fafc;font-size:12px}.badge{padding:5px 9px;border-radius:99px;background:#eef5ff;color:#1455d9;font-size:11px;font-weight:900}.ad-banner{background:linear-gradient(100deg,#0f172a,#1455d9);color:#fff;border-radius:25px;padding:35px;display:flex;justify-content:space-between;gap:20px;align-items:center}.ad-banner h2{margin:0;font:800 30px Manrope}.newsletter{border-top:1px solid #1e293b;margin-top:40px;padding-top:28px;display:flex;justify-content:space-between;gap:25px;align-items:center}.newsletter h3{color:#fff;margin:0 0 5px;font-size:17px}.newsletter p{margin:0;color:#94a3b8;font-size:12px}.newsletter form{display:flex}.newsletter input{min-width:280px;padding:13px;border:0;border-radius:10px 0 0 10px}.newsletter button{border:0;background:var(--green);color:#fff;padding:0 18px;border-radius:0 10px 10px 0;font-weight:800}.footer{background:#07111f;color:#cbd5e1;padding:68px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}.footer h4{color:#fff;font-size:14px}.footer h4:before{content:"•";color:var(--green);margin-right:8px}.footer-grid>div:not(.footer-brand) a{display:block;color:#94a3b8;font-size:13px;margin:9px 0}.footer-grid>div:not(.footer-brand) a:hover{color:#1455d9}.footer-address{display:grid;gap:3px;margin-top:15px;font-size:12px;color:#94a3b8}.footer-address b{color:#fff;font-size:11px;margin-top:9px}.follow{display:flex;align-items:center;gap:15px;margin-top:25px}.socials{display:flex;gap:8px}.socials a{width:35px;height:35px;border:1px solid #334155;border-radius:50%;display:grid;place-items:center;transition:.2s}.socials a:hover{background:var(--green);color:#fff;border-color:var(--green);transform:translateY(-4px) rotate(-5deg);box-shadow:0 10px 20px #1455d935}.footer-bottom{border-top:1px solid #1e293b;margin-top:25px;padding-top:18px;display:flex;justify-content:space-between;color:#64748b;font-size:11px}.floating-whatsapp,.floating-chat,.back-top{position:fixed;z-index:90;border:0;cursor:pointer;display:grid;place-items:center}.floating-whatsapp{right:20px;bottom:86px;width:53px;height:53px;border-radius:50%;background:#1455d9;color:#fff;font-size:25px;box-shadow:0 12px 30px #1455d955}.floating-chat{right:20px;bottom:20px;width:53px;height:53px;border-radius:50%;background:var(--navy);color:#fff;font-size:23px;box-shadow:0 12px 30px #0f172a40}.back-top{right:20px;bottom:150px;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:0 10px 25px #0f172a20;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}.back-top.show{opacity:1;visibility:visible;transform:none}.reveal{opacity:0;transform:translateY(45px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.faq{display:grid;gap:10px}.faq details{border:1px solid var(--line);padding:17px;border-radius:14px;background:#fff}.faq summary{font-weight:800;cursor:pointer}
@media(max-width:1050px){.main-nav{gap:12px}.hero-grid{grid-template-columns:1fr}.hero-visual{height:520px}.cards{grid-template-columns:repeat(2,1fr)}.security-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.topbar{display:none}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:14px 18px;flex-direction:column;align-items:stretch;box-shadow:0 20px 35px #0f172a15}.main-nav.open{display:flex}.main-nav>a,.nav-drop-btn{padding:12px 5px}.dropdown,.more-menu{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none}.nav-drop.open .dropdown{display:block}.nav-more{display:none}.lang-select{order:5}.nav-book{order:4;text-align:center}.menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu-toggle span{width:18px;height:2px;background:var(--navy);transition:.2s}.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-wrap{height:76px}.video-grid,.guide-shell,.split{grid-template-columns:1fr}.guide-shell .map-panel,.guide-shell .chat-panel{height:500px}.newsletter{flex-direction:column;align-items:stretch}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.container{width:calc(100% - 28px)}.brand{min-width:auto}.brand-text small{display:none}.brand-text strong{font-size:17px}.hero{border-radius:0}.hero-grid{min-height:auto;padding:70px 0 35px}.hero h1{font-size:42px}.hero-copy{font-size:16px}.hero-visual{height:450px}.phone{width:220px;height:440px}.car{width:275px;height:90px}.car:before{width:160px;height:55px;left:55px;top:-30px}.cards,.security-grid,.testimonial-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{padding:18px 8px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.download-inner{grid-template-columns:1fr;padding:40px}.qr{justify-self:start;margin-top:25px}.page-hero h1{font-size:39px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.newsletter form{width:100%}.newsletter input{min-width:0;flex:1}.drop-grid{grid-template-columns:1fr}}
/* BUJA RIDE official identity */
.brand{position:relative;min-width:245px;gap:10px}
.brand-logo{width:154px;height:62px;object-fit:contain;object-position:center;display:block}
.brand-tagline{display:block;font-size:8px;line-height:1.2;font-weight:800;letter-spacing:.35px;color:#64748b;max-width:94px;text-transform:uppercase}
.footer-logo-frame{display:inline-flex;background:#fff;border-radius:12px;padding:7px 12px;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.footer-logo-frame img{display:block;width:190px;height:auto;max-height:100px;object-fit:contain}
@media(max-width:560px){.brand{min-width:0;gap:0}.brand-logo{width:128px;height:58px}.brand-tagline{display:none}.footer-logo-frame img{width:170px}}
/* ===== BUJA RIDE V5 — design aligné sur la maquette officielle ===== */
:root{--brand-blue:#1155d8;--brand-blue-dark:#071b45;--brand-green:#20b45b;--brand-red:#ef1b24;--ink:#101828;--soft:#f7f9fc}
body{background:#fff;color:var(--ink)}
.site-header{position:fixed;top:14px;left:0;right:0;z-index:1000;background:transparent;border:0;backdrop-filter:none;box-shadow:none}
.site-header.scrolled .nav-wrap{box-shadow:0 14px 40px rgba(7,27,69,.15);border-color:#e7ebf2}
.nav-wrap{height:78px;background:rgba(255,255,255,.97);border:1px solid rgba(220,226,236,.95);border-radius:24px;padding:0 18px;box-shadow:0 8px 25px rgba(7,27,69,.07);transition:.3s}
.brand{min-width:270px;gap:9px}.brand-logo{width:155px;height:60px;object-fit:contain}.brand-tagline{font-size:8px;max-width:90px;color:#667085;line-height:1.2;text-transform:none;letter-spacing:0;font-weight:700}
.main-nav{gap:8px}.main-nav>a,.nav-drop-btn{height:52px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border-radius:13px;font-size:14px;color:#172033;transition:.25s}.main-nav>a:hover,.nav-drop-btn:hover,.main-nav>a.active{color:var(--brand-blue);background:#eff5ff}.nav-home .home-svg{font-size:22px;line-height:1}.user-svg{font-size:21px}.nav-book{height:50px!important;padding:0 30px!important;border-radius:14px!important;background:var(--brand-blue)!important;box-shadow:0 12px 28px rgba(17,85,216,.24)!important}.nav-book:hover{background:var(--brand-green)!important;box-shadow:0 12px 28px rgba(32,180,91,.28)!important;transform:translateY(-2px)}
.lang-select{position:relative;height:50px;padding:0 9px;align-items:center;gap:5px;border-radius:13px}.lang-select:hover{background:#f5f7fb}.globe{font-size:21px}.lang-menu{position:absolute;top:54px;right:0;width:135px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 40px rgba(15,23,42,.13);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}.lang-select:hover .lang-menu,.lang-select:focus-within .lang-menu{opacity:1;visibility:visible;transform:none}.lang-menu a{display:block;padding:9px 10px;font-size:12px;border-radius:8px}.lang-menu a:hover{background:#eff5ff;color:var(--brand-blue)}
.nav-drop{height:52px;display:flex;align-items:center}.nav-drop-btn .chevron{font-size:18px;transition:.2s}.nav-drop:focus-within .chevron,.nav-drop:hover .chevron{transform:rotate(180deg)}
.dropdown{top:62px;right:-110px;width:650px;border-radius:20px;padding:13px;box-shadow:0 28px 70px rgba(7,27,69,.16)}.drop-grid{grid-template-columns:repeat(3,1fr);gap:7px}.drop-grid>a{min-height:100px;padding:14px;border:1px solid transparent;transition:.2s}.drop-grid>a:hover{background:#f4f8ff;border-color:#dbe7ff;transform:translateY(-2px)}.drop-icon{font-size:24px}.drop-grid small{font-size:11px}.drop-feature{grid-column:1/-1!important;min-height:68px!important;display:flex!important;flex-direction:row!important;align-items:center;gap:12px;background:linear-gradient(110deg,#eff6ff,#effcf4)!important;border-color:#dceaff!important}.play-round{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brand-blue);color:#fff}
.more-btn{width:78px;height:50px;border:0;background:#f6f8fb;border-radius:15px;position:relative;gap:4px}.more-btn span{width:18px;height:2px;background:#15213a}.more-btn b{font-size:8px;letter-spacing:.8px;margin-top:1px;color:#15213a}.nav-more.open .more-btn{background:var(--brand-blue)}.nav-more.open .more-btn span{background:#fff}.nav-more.open .more-btn b{color:#fff}.more-menu{top:62px;right:0;width:310px;padding:10px;border-radius:19px;box-shadow:0 28px 70px rgba(7,27,69,.18)}.more-head{padding:10px 13px 13px;border-bottom:1px solid var(--line);margin-bottom:4px}.more-head strong{display:block;color:var(--brand-blue);font:800 17px Manrope}.more-head span{font-size:11px;color:#667085}.more-menu a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;font-size:13px}.more-menu a:first-letter{color:var(--brand-blue)}.more-menu a:hover{background:#eff5ff;color:var(--brand-blue);transform:translateX(2px)}
.mobile-more{display:none}
.hero{margin-top:0;min-height:700px;border-radius:0 0 48px 48px;position:relative;overflow:hidden;background:linear-gradient(110deg,#071b45 0%,#123c67 52%,#0b3d63 100%)}.hero:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-80px;height:145px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;box-shadow:0 -7px 0 var(--brand-red),0 -13px 0 var(--brand-blue);z-index:2}.hero-grid{min-height:700px;position:relative;z-index:3;padding-top:88px}.hero h1{font-size:clamp(48px,6vw,78px);max-width:620px}.hero h1 em{color:#2fc565}.hero-copy{font-size:17px;max-width:560px}.hero .eyebrow{background:#ffffff12}.hero .btn-primary{background:var(--brand-green);box-shadow:0 12px 30px rgba(32,180,91,.28)}.hero .btn-primary:hover{background:var(--brand-blue)}.hero-visual{height:590px}.hero-visual .city{display:none}
/* On conserve le faux smartphone mais on le rend plus proche de la maquette */
.phone{z-index:4;box-shadow:0 25px 60px rgba(0,0,0,.34);border:7px solid #0c1422}.car{z-index:5;filter:drop-shadow(0 20px 18px rgba(0,0,0,.28))}
.section-head h2{font-family:Manrope}.section-head .kicker{color:var(--brand-blue)}.section-head .kicker:after{background:var(--brand-blue)}
.service-card{overflow:hidden}.service-card .service-image{width:100%;height:130px;object-fit:contain;display:block;margin-top:-4px;mix-blend-mode:multiply}.service-card .icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e9f9ef;color:var(--brand-green)}
.services-home-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.services-home-card{background:#fff;border:1px solid #e5e9ef;border-radius:20px;padding:16px;box-shadow:0 7px 24px rgba(15,23,42,.05);transition:.35s}.services-home-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(15,23,42,.1);border-color:#cfe0ff}.services-home-card img{width:100%;height:115px;object-fit:contain}.services-home-card h3{font-size:15px;margin:8px 0 3px}.services-home-card p{font-size:12px;color:#667085;margin:0}
.reveal{opacity:0;transform:translateY(45px) scale(.985);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.14s}.reveal:nth-child(4){transition-delay:.20s}
.backtop{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border:0;border-radius:50%;background:var(--brand-blue);color:#fff;display:grid;place-items:center;font-size:20px;box-shadow:0 12px 28px rgba(17,85,216,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:900;cursor:pointer}.backtop.show{opacity:1;visibility:visible;transform:none}.floating-chat{position:fixed;right:24px;bottom:82px;width:52px;height:52px;border-radius:50%;background:var(--brand-green);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(32,180,91,.35);z-index:900;font-size:23px;animation:pulseChat 2s infinite}.floating-chat:hover{background:var(--brand-blue);transform:scale(1.08)}@keyframes pulseChat{0%,100%{box-shadow:0 12px 28px rgba(32,180,91,.35)}50%{box-shadow:0 12px 34px rgba(32,180,91,.6),0 0 0 9px rgba(32,180,91,.08)}}
.socials a{transition:.25s;display:inline-grid;place-items:center}.socials a:hover{transform:translateY(-4px) rotate(-4deg);color:var(--brand-blue)}
@media(max-width:1100px){.brand{min-width:220px}.brand-tagline{display:none}.main-nav>a,.nav-drop-btn{padding:0 10px}.nav-book{padding:0 20px!important}.dropdown{right:-220px}.services-home-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.site-header{top:8px}.nav-wrap{height:68px;border-radius:19px}.main-nav{display:none}.mobile-more{display:flex;margin-left:auto;width:50px;height:50px;border:0;border-radius:14px;background:#f5f7fb;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.mobile-more span{width:20px;height:2px;background:var(--ink);transition:.25s}.mobile-more.open{background:var(--brand-blue)}.mobile-more.open span{background:#fff}.mobile-more.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-more.open span:nth-child(2){opacity:0}.mobile-more.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-header.mobile-open .main-nav{position:absolute;display:flex;flex-direction:column;align-items:stretch;top:76px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 25px 60px rgba(7,27,69,.16);gap:4px}.site-header.mobile-open .main-nav>a,.site-header.mobile-open .nav-drop-btn{height:48px;justify-content:flex-start;width:100%}.site-header.mobile-open .nav-drop{height:auto;display:block}.site-header.mobile-open .dropdown{position:static;width:100%;box-shadow:none;border:0;display:none}.site-header.mobile-open .nav-drop.open .dropdown{display:block;opacity:1;visibility:visible;transform:none}.site-header.mobile-open .drop-grid{grid-template-columns:1fr 1fr}.site-header.mobile-open .nav-more{position:static}.site-header.mobile-open .nav-more .more-menu{position:static;width:100%;display:none}.site-header.mobile-open .nav-more.open .more-menu{display:block;opacity:1;visibility:visible;transform:none}.site-header.mobile-open .lang-select{justify-content:flex-start}.site-header.mobile-open .lang-menu{position:static;display:flex;box-shadow:none;border:0;width:auto;padding:0;opacity:1;visibility:visible;transform:none}.hero-grid{grid-template-columns:1fr}.hero{min-height:850px}.hero-visual{height:500px}.hero:after{bottom:-105px}.services-home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container{width:calc(100% - 24px)}.brand-logo{width:140px;height:56px}.brand{min-width:0}.hero-grid{padding-top:100px}.hero h1{font-size:45px;letter-spacing:-2.5px}.hero-copy{font-size:15px}.hero-visual{height:430px}.phone{width:210px;height:420px}.car{width:260px}.site-header.mobile-open .drop-grid{grid-template-columns:1fr}.floating-chat{right:14px;bottom:70px}.backtop{right:14px;bottom:14px}.services-home-grid{grid-template-columns:1fr}}
.hero-composite{width:min(760px,100%);max-height:600px;object-fit:contain;filter:drop-shadow(0 28px 45px rgba(0,0,0,.2));transform:translateX(5%)}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;color:#dbeafe}.qr-image{width:130px;height:130px;background:#fff;padding:8px;border-radius:12px}.download-inner{align-items:center}.download .store-row{margin-top:20px}
@media(max-width:900px){.hero-composite{transform:none;width:100%;max-height:470px}.qr-wrap{align-items:flex-start}}
@media(max-width:900px){.site-header.mobile-open .nav-more{display:block}.site-header.mobile-open .nav-more .more-btn{display:none}.site-header.mobile-open .nav-more .more-menu{display:block!important;position:static;width:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:8px 0 0}.site-header.mobile-open .main-nav{max-height:calc(100vh - 92px);overflow:auto}}

/* =========================================================
   BUJA RIDE V6 — Header fidelity pass
   Reference: supplied BUJA RIDE desktop/mobile mockup.
   ========================================================= */
:root{--brand-blue:#1455d9;--brand-blue-dark:#0b3fae;--brand-green:#22b65b;--brand-red:#ef1d2d;--ink:#111827;--header-radius:24px}
.site-header{position:absolute;top:5px;left:0;right:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;z-index:1000}
.site-header.scrolled{position:fixed;top:5px}
.nav-wrap{width:calc(100% - 52px);max-width:1485px;height:96px;margin:0 auto;padding:0 36px;background:rgba(255,255,255,.985);border-radius:var(--header-radius);box-shadow:0 14px 38px rgba(10,31,68,.10);display:flex;align-items:center}
.brand{min-width:310px;height:100%;display:flex;align-items:center;gap:11px}
.brand-mark-img{width:56px;height:62px;object-fit:contain;display:block}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-1px;color:#111b2f;white-space:nowrap}
.brand-name strong{font-weight:800}.brand-name b{font-weight:800;color:var(--brand-blue)}
.brand-copy small{font-size:13px;color:#101010;margin-top:7px;letter-spacing:-.15px;white-space:nowrap}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:28px;height:100%}
.main-nav .nav-item,.nav-drop-btn{height:100%;display:flex;align-items:center;gap:11px;border:0;background:none;color:#111;font:700 16px "DM Sans",sans-serif;padding:0;cursor:pointer;white-space:nowrap;transition:color .25s ease}
.main-nav .nav-item svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.main-nav .nav-home{color:var(--brand-blue)}
.main-nav .nav-home:hover,.main-nav .nav-login:hover,.nav-drop-btn:hover{color:var(--brand-blue)}
.nav-drop{height:100%;position:relative;display:flex;align-items:center}
.chevron-svg{width:18px!important;height:18px!important;transition:transform .25s ease}
.nav-drop:hover .chevron-svg,.nav-drop:focus-within .chevron-svg,.nav-drop.open .chevron-svg{transform:rotate(180deg)}
.nav-login{margin-left:18px}
.nav-book{height:49px;min-width:157px;padding:0 28px!important;border-radius:14px!important;background:var(--brand-blue)!important;color:#fff!important;display:flex!important;align-items:center;justify-content:center;font:700 16px "DM Sans",sans-serif!important;box-shadow:0 10px 25px rgba(20,85,217,.24)!important;transition:all .25s ease!important}
.nav-book:hover{background:var(--brand-green)!important;box-shadow:0 14px 30px rgba(34,182,91,.30)!important;transform:translateY(-2px)}
.lang-select{position:relative;height:100%;display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;color:#111;padding:0 4px}
.globe-svg{width:25px;height:25px;fill:none;stroke:#111;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lang-select>a{color:#111!important;font-weight:700}.lang-toggle{border:0;background:none;padding:0;display:grid;place-items:center;cursor:pointer}.lang-toggle svg{width:17px;height:17px;fill:none;stroke:#111;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lang-menu{position:absolute;top:77px;right:-5px;width:145px;background:#fff;border:1px solid #e6eaf1;border-radius:14px;padding:7px;box-shadow:0 18px 40px rgba(10,31,68,.15);opacity:0;visibility:hidden;transform:translateY(7px);transition:.2s;z-index:120}
.lang-select:hover .lang-menu,.lang-select:focus-within .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-menu a{display:block;padding:9px 10px;border-radius:9px;font-size:13px;color:#111!important}.lang-menu a:hover{background:#eff5ff;color:var(--brand-blue)!important}
.nav-more{height:100%;display:flex;align-items:center;position:relative}
.more-btn{position:relative;width:64px!important;height:64px!important;border-radius:50%!important;border:1px solid #e0e6f2!important;background:#fff!important;box-shadow:0 7px 22px rgba(20,85,217,.14)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;cursor:pointer!important;padding:0!important;transition:all .28s cubic-bezier(.2,.8,.2,1)!important}
.more-btn span{display:block!important;width:27px!important;height:3px!important;border-radius:5px!important;background:var(--brand-blue)!important;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .22s ease,background .22s ease!important}
.more-btn:hover{box-shadow:0 10px 28px rgba(20,85,217,.25)!important;transform:translateY(-1px)!important}
.nav-more.open .more-btn{box-shadow:0 10px 30px rgba(20,85,217,.20)!important}
.nav-more.open .more-btn span:nth-child(1){transform:translateY(9px) rotate(45deg)!important}
.nav-more.open .more-btn span:nth-child(2){opacity:0!important;transform:scaleX(.3)!important}
.nav-more.open .more-btn span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important}
.more-menu{position:absolute!important;top:91px!important;right:0!important;width:253px!important;background:#fff!important;border:1px solid #e5e9f0!important;border-radius:13px!important;padding:9px!important;box-shadow:0 20px 45px rgba(8,26,60,.18)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-7px) scale(.985)!important;transform-origin:top right;transition:opacity .22s ease,transform .22s ease,visibility .22s!important;z-index:1100!important}
.nav-more.open .more-menu{opacity:1!important;visibility:visible!important;transform:none!important}
.more-menu a{min-height:43px!important;display:flex!important;align-items:center!important;gap:14px!important;padding:9px 12px!important;border-radius:9px!important;font:500 14px "DM Sans",sans-serif!important;color:#111!important;transition:background .2s ease,color .2s ease,transform .2s ease!important}
.more-menu a:hover{background:#f1f5ff!important;color:var(--brand-blue)!important;transform:translateX(2px)!important}
.more-icon{width:20px;display:inline-flex;justify-content:center;align-items:center;font-size:18px;color:#111;flex:0 0 20px}
.more-menu a:hover .more-icon{color:var(--brand-blue)}
.dropdown{top:90px!important;right:-130px!important}
/* Keep the services video link only inside Services. */
.drop-feature{border-left:3px solid var(--brand-blue)!important}
/* Hero starts behind the floating header, exactly like the supplied mockup. */
.hero{margin-top:0!important;padding-top:0!important}
.hero-grid{padding-top:116px!important}
/* Stronger scroll reveals retained from V4. */
.reveal{opacity:0;transform:translateY(55px) scale(.975);filter:blur(2px);transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1),filter .85s ease}
.reveal.visible{opacity:1;transform:none;filter:none}
/* Hide the obsolete text label: reference uses a circular hamburger only. */
.more-btn b{display:none!important}
@media(max-width:1200px){.nav-wrap{width:calc(100% - 32px);padding:0 25px}.brand{min-width:260px}.main-nav{gap:19px}.main-nav .nav-item,.nav-drop-btn,.nav-book,.lang-select{font-size:14px}.nav-book{min-width:130px}.more-btn{width:58px!important;height:58px!important}}
@media(max-width:1000px){.nav-wrap{height:82px;padding:0 22px}.brand-mark-img{width:50px;height:54px}.brand-name{font-size:22px}.brand-copy small{font-size:11px}.main-nav{gap:14px}.nav-login{margin-left:0}.more-btn{width:54px!important;height:54px!important}.more-btn span{width:23px!important}}
@media(max-width:900px){
 .site-header,.site-header.scrolled{position:fixed;top:6px;left:0;right:0}
 .nav-wrap{width:calc(100% - 24px);height:72px;border-radius:20px;padding:0 16px}
 .brand{min-width:0;flex:1}.brand-mark-img{width:46px;height:50px}.brand-name{font-size:20px}.brand-copy small{font-size:10px;margin-top:5px}
 .main-nav{display:none}
 .mobile-more{display:flex;margin-left:auto;width:50px;height:50px;border:1px solid #e0e6f2;background:#fff;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;box-shadow:0 7px 20px rgba(20,85,217,.13);transition:.25s}
 .mobile-more span{width:22px;height:2.5px;background:var(--brand-blue);border-radius:5px;transition:.3s}
 .mobile-more.open{background:#fff}.mobile-more.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-more.open span:nth-child(2){opacity:0}.mobile-more.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .site-header.mobile-open .main-nav{position:absolute;display:flex;flex-direction:column;align-items:stretch;top:80px;left:0;right:0;background:#fff;border:1px solid #e3e8f1;border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(8,26,60,.18);gap:2px;max-height:calc(100vh - 96px);overflow:auto}
 .site-header.mobile-open .main-nav .nav-item,.site-header.mobile-open .nav-drop-btn{height:48px;min-height:48px;justify-content:flex-start;width:100%;padding:0 10px;font-size:15px}
 .site-header.mobile-open .nav-drop{height:auto;display:block}.site-header.mobile-open .dropdown{position:static!important;width:100%!important;display:none}.site-header.mobile-open .nav-drop.open .dropdown{display:block;opacity:1;visibility:visible;transform:none}
 .site-header.mobile-open .drop-grid{grid-template-columns:1fr 1fr}.site-header.mobile-open .nav-more{height:auto;display:block}.site-header.mobile-open .nav-more .more-btn{display:none!important}.site-header.mobile-open .nav-more .more-menu{position:static!important;width:100%!important;display:none!important;box-shadow:none!important;border:0!important;padding:0!important}.site-header.mobile-open .nav-more.open .more-menu{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
 .site-header.mobile-open .lang-select{height:auto;min-height:48px;padding:0 10px}.site-header.mobile-open .lang-menu{position:static;width:100%;display:flex;gap:4px;box-shadow:none;border:0;padding:0;opacity:1;visibility:visible;transform:none}.site-header.mobile-open .lang-menu a{flex:1;background:#f6f8fb}
 .hero-grid{padding-top:105px!important}
}
@media(max-width:560px){.brand-name{font-size:18px}.brand-copy small{font-size:9px}.brand-mark-img{width:42px;height:47px}.nav-wrap{padding:0 13px}.hero-grid{padding-top:92px!important}.site-header.mobile-open .drop-grid{grid-template-columns:1fr}.more-menu a{font-size:14px}}
/* Hero background: keep the Bujumbura atmosphere from the reference while preventing
   the old embedded PLUS panel from ever appearing behind the real header menu. */

.hero-grid{z-index:3}
.hero-composite{position:relative;z-index:4;filter:drop-shadow(0 28px 42px rgba(0,0,0,.22));width:min(720px,100%);max-height:610px;object-fit:contain;transform:translateX(4%)}
@media(max-width:900px){.hero:before{clip-path:none;opacity:.55;background-position:center}.hero-composite{transform:none;width:100%;max-height:470px}}
.services-home-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.services-home-card{min-width:0}.services-home-card img{height:105px}.services-home-card h3{font-size:14px}.services-home-card p{font-size:11px;line-height:1.45}
@media(max-width:1250px){.services-home-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.services-home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.services-home-grid{grid-template-columns:1fr}}
.footer-brand-lockup{display:flex;align-items:center;gap:10px}.footer-brand-lockup img{width:54px;height:54px;object-fit:contain}.footer-brand-lockup strong{font:800 22px Manrope;color:#fff}.footer-brand-lockup b{color:#4d7df1}.footer-brand-lockup small{display:block;color:#94a3b8;font-size:10px;margin-top:4px}

/* =========================================================
   BUJA RIDE V7 — FINAL DISPLAY CORRECTIONS
   ========================================================= */
:root{--brand-blue:#1455d9;--brand-blue-dark:#0b3fae;--brand-green:#22b65b;--brand-red:#ef1d2d;--ink:#111827}
/* Never use the obsolete composite images that contain a baked-in menu. */
.hero{position:relative;background-color:#12395b!important;background-image:linear-gradient(90deg,rgba(4,25,55,.82) 0%,rgba(5,34,70,.50) 52%,rgba(5,28,60,.30) 100%),url('https://upload.wikimedia.org/wikipedia/commons/3/39/Vu_de_la_ville_de_Bujumbura.jpg')!important;background-size:cover!important;background-position:center 48%!important;color:#fff!important;border-radius:0 0 36px 36px!important;}
.hero:before{display:none!important}
.hero-grid{position:relative!important;z-index:2!important;min-height:610px!important;padding-top:116px!important}
.hero-composite{content:url('../img/hero-foreground.png')!important;width:min(720px,100%)!important;max-height:610px!important;object-fit:contain!important;transform:translateX(3%)!important;filter:drop-shadow(0 28px 42px rgba(0,0,0,.28))!important;}
.hero-actions .btn-outline{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.55)!important;color:#fff!important}
.hero-actions .btn-outline:hover{background:#fff!important;color:var(--brand-blue)!important}
/* Header: one clean floating bar, matching the supplied reference. */
.site-header{position:absolute!important;top:5px!important;left:0!important;right:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;z-index:1000!important}
.site-header.scrolled{position:fixed!important;top:5px!important}
.nav-wrap{width:calc(100% - 52px)!important;max-width:1485px!important;height:96px!important;margin:0 auto!important;padding:0 36px!important;background:rgba(255,255,255,.985)!important;border-radius:24px!important;box-shadow:0 14px 38px rgba(10,31,68,.10)!important}
.brand{min-width:310px!important;height:100%!important;display:flex!important;align-items:center!important;gap:11px!important}
.brand-mark-img{width:56px!important;height:62px!important;object-fit:contain!important}
.brand-copy{display:flex!important;flex-direction:column!important;line-height:1!important}
.brand-name{font-family:Manrope,sans-serif!important;font-size:26px!important;letter-spacing:-1px!important;color:#111b2f!important;white-space:nowrap!important}
.brand-name strong{font-weight:800!important}.brand-name b{font-weight:800!important;color:var(--brand-blue)!important}
.brand-copy small{font-size:13px!important;color:#111!important;margin-top:7px!important;white-space:nowrap!important}
.main-nav{margin-left:auto!important;display:flex!important;align-items:center!important;gap:28px!important;height:100%!important}
.main-nav .nav-item,.nav-drop-btn{height:100%!important;display:flex!important;align-items:center!important;gap:11px!important;border:0!important;background:none!important;color:#111!important;font:700 16px "DM Sans",sans-serif!important;padding:0!important;cursor:pointer!important;white-space:nowrap!important}
.main-nav .nav-home{color:var(--brand-blue)!important}
.nav-book{height:49px!important;min-width:157px!important;padding:0 28px!important;border-radius:14px!important;background:var(--brand-blue)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font:700 16px "DM Sans",sans-serif!important;box-shadow:0 10px 25px rgba(20,85,217,.24)!important}
.nav-book:hover{background:var(--brand-green)!important;transform:translateY(-2px)!important}
.lang-select{position:relative!important;height:100%!important;display:flex!important;align-items:center!important;gap:9px!important;font-size:16px!important;font-weight:700!important;color:#111!important}
.more-btn{width:64px!important;height:64px!important;border-radius:50%!important;border:1px solid #e0e6f2!important;background:#fff!important;box-shadow:0 7px 22px rgba(20,85,217,.14)!important}
.more-btn span{width:27px!important;height:3px!important;background:var(--brand-blue)!important}
.nav-more.open .more-btn span:nth-child(1){transform:translateY(9px) rotate(45deg)!important;background:var(--brand-blue)!important}
.nav-more.open .more-btn span:nth-child(3){transform:translateY(-9px) rotate(-45deg)!important;background:var(--brand-blue)!important}
.more-menu{top:91px!important;right:0!important;width:253px!important;border-radius:13px!important;padding:9px!important;background:#fff!important;z-index:1100!important}
.more-menu a{min-height:43px!important;display:flex!important;align-items:center!important;gap:14px!important;padding:9px 12px!important;color:#111!important}
/* Services opens by click on desktop and mobile; no video outside this menu. */
.nav-drop.open .dropdown{opacity:1!important;visibility:visible!important;transform:none!important}
.dropdown{top:90px!important;right:-130px!important}
/* Remove the duplicated/baked-in menu assets from the project flow. */
.hero-objects-transparent{display:none!important}
@media(max-width:1250px){.nav-wrap{width:calc(100% - 32px)!important;padding:0 25px!important}.brand{min-width:260px!important}.main-nav{gap:19px!important}.main-nav .nav-item,.nav-drop-btn,.nav-book,.lang-select{font-size:14px!important}.nav-book{min-width:130px!important}.more-btn{width:58px!important;height:58px!important}}
@media(max-width:900px){
 .site-header,.site-header.scrolled{position:fixed!important;top:6px!important;left:0!important;right:0!important}
 .nav-wrap{width:calc(100% - 24px)!important;height:72px!important;border-radius:20px!important;padding:0 16px!important}
 .brand{min-width:0!important;flex:1!important}.brand-mark-img{width:46px!important;height:50px!important}.brand-name{font-size:20px!important}.brand-copy small{font-size:10px!important;margin-top:5px!important}
 .main-nav{display:none!important}
 .mobile-more{display:flex!important;margin-left:auto!important;width:50px!important;height:50px!important;border-radius:50%!important}
 .site-header.mobile-open .main-nav{position:absolute!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;top:80px!important;left:0!important;right:0!important;background:#fff!important;border:1px solid #e3e8f1!important;border-radius:18px!important;padding:10px!important;box-shadow:0 24px 60px rgba(8,26,60,.18)!important;gap:2px!important;max-height:calc(100vh - 96px)!important;overflow:auto!important}
 .site-header.mobile-open .nav-item,.site-header.mobile-open .nav-drop-btn{height:48px!important;min-height:48px!important;width:100%!important;justify-content:flex-start!important;padding:0 10px!important;font-size:15px!important}
 .site-header.mobile-open .dropdown{position:static!important;width:100%!important;display:none!important;box-shadow:none!important;border:0!important}
 .site-header.mobile-open .nav-drop.open .dropdown{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
 .site-header.mobile-open .drop-grid{grid-template-columns:1fr 1fr!important}
 .site-header.mobile-open .nav-more{display:block!important;height:auto!important}
 .site-header.mobile-open .nav-more .more-btn{display:none!important}
 .site-header.mobile-open .nav-more .more-menu{position:static!important;width:100%!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;box-shadow:none!important;border:0!important;border-top:1px solid #e2e8f0!important;border-radius:0!important;padding:7px 0 0!important}
 .site-header.mobile-open .lang-select{min-height:48px!important;height:auto!important;padding:0 10px!important}
 .hero-grid{grid-template-columns:1fr!important;padding-top:105px!important}
 .hero-composite{width:100%!important;max-height:470px!important;transform:none!important}
}
@media(max-width:560px){.nav-wrap{padding:0 13px!important}.brand-name{font-size:18px!important}.brand-copy small{font-size:9px!important}.brand-mark-img{width:42px!important;height:47px!important}.hero-grid{padding-top:92px!important}.hero h1{font-size:45px!important}.site-header.mobile-open .drop-grid{grid-template-columns:1fr!important}}

/* =========================================================
   BUJA RIDE V8 — assets, account, booking and review UX
   ========================================================= */
.nav-signup{color:var(--ink)!important}.nav-signup:hover{color:var(--brand-blue)!important}
.hero-visual{position:relative;min-height:620px;display:block;z-index:4}.hero-phone{position:absolute;right:240px;top:5px;width:min(400px,55%);height:auto;object-fit:contain;filter:drop-shadow(0 28px 40px rgba(0,0,0,.28));z-index:2}.hero-car{position:absolute;right:-30px;bottom:-5px;width:min(650px,78%);height:auto;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.30));z-index:3}
.input-with-action{position:relative}.input-with-action input{padding-right:50px}.geo-btn{position:absolute;right:7px;top:7px;width:38px;height:38px;border:0;border-radius:11px;background:#eff5ff;color:var(--brand-blue);font-size:20px;cursor:pointer}.geo-btn:hover{background:var(--brand-blue);color:#fff}.rate-box{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;font-weight:800;color:var(--brand-blue)}.reservation-note{margin-top:15px;padding:13px 16px;border-radius:12px;background:#eef6ff;color:#334155}.recap-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(450px,1.1fr);gap:22px;align-items:start}.recap-card h2{margin-top:0}.recap-route{display:grid;gap:13px;margin:18px 0}.recap-route>div{padding:14px;border-left:4px solid var(--brand-blue);background:#f8fafc;border-radius:10px}.recap-route span,.recap-grid span{display:block;color:var(--muted);font-size:12px}.recap-route strong{display:block;margin-top:3px}.recap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recap-grid>div{padding:12px;background:#f8fafc;border-radius:10px}.fare-total{margin:18px 0;padding:18px;border-radius:16px;background:linear-gradient(135deg,#0b3fae,#1455d9);color:#fff;display:flex;justify-content:space-between;align-items:center}.fare-total strong{font-size:28px}.recap-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.map-card{padding:0;overflow:hidden}.map-card #reservationMap{height:520px}.map-tip{padding:12px 16px;font-size:12px;color:var(--muted)}.review-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stat-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.stat-card strong{display:block;font:800 24px Manrope;color:var(--brand-blue)}.stat-card span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.review-chart{margin-top:18px}.bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:48px 1fr 30px;gap:10px;align-items:center}.bar-row>div{height:10px;background:#eaf0f8;border-radius:999px;overflow:hidden}.bar-row i{display:block;height:100%;background:linear-gradient(90deg,var(--brand-blue),var(--brand-green));border-radius:999px}.star-picker{display:flex;gap:3px}.star-picker button{border:0;background:none;font-size:38px;line-height:1;color:#cbd5e1;cursor:pointer;padding:0 2px;transition:.15s}.star-picker button:hover,.star-picker button:focus{color:#f59e0b;transform:translateY(-2px)}.rating-label{font-size:13px;color:var(--muted);margin-top:6px;font-weight:700}.rating-word{display:inline-block;margin-left:8px;font-size:12px;color:var(--brand-blue);font-weight:800}.review-item small{display:block;color:var(--muted);margin-top:4px}.review-tools{display:flex;gap:12px;margin-top:12px}.review-tools button{border:0;background:none;color:var(--brand-blue);font-weight:700;cursor:pointer;padding:0}.auth-card{box-shadow:var(--shadow)}
@media(max-width:1100px){.hero-phone{right:150px;width:360px}.hero-car{right:-10px;width:570px}.review-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hero-visual{min-height:500px}.hero-phone{right:8%;top:0;width:58%}.hero-car{right:-8%;bottom:0;width:72%}.recap-layout{grid-template-columns:1fr}.map-card #reservationMap{height:420px}.review-stats{grid-template-columns:repeat(2,1fr)}.nav-signup{height:48px!important;padding:0 10px!important}}
@media(max-width:560px){.hero-visual{min-height:400px}.hero-phone{right:4%;width:65%}.hero-car{right:-18%;width:76%}.recap-grid{grid-template-columns:1fr}.recap-actions{flex-direction:column;align-items:stretch}.recap-actions .btn{width:100%;text-align:center}.review-stats{grid-template-columns:1fr}.star-picker button{font-size:34px}}

.hero-composite{display:none!important}
@media(max-width:1100px){.main-nav{gap:15px!important}.brand{min-width:245px!important}.nav-signup{font-size:13px!important}}

.confirmation{text-align:center}.confirm-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#e9f9ef;color:var(--brand-green);font-size:34px;font-weight:800}.confirmation .recap-route{text-align:left}.confirmation .recap-actions{justify-content:center}

/* =========================================================
   BUJA RIDE V10 — accueil prise en main + footer harmonisé
   ========================================================= */
.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}
.app-how{padding-top:72px;padding-bottom:78px;background:#fff}
.app-how .section-head{margin-bottom:28px}
.app-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.how-card{position:relative;padding:24px 22px 22px;border:1px solid #e5eaf2;border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(15,23,42,.045);transition:.35s}
.how-card:hover{transform:translateY(-6px);border-color:#cfe0ff;box-shadow:0 18px 42px rgba(15,23,42,.09)}
.how-num{position:absolute;top:18px;right:20px;font:800 12px Manrope;color:#9aa7bb;letter-spacing:1px}
.how-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#eff5ff;color:var(--brand-blue);font-size:21px;margin-bottom:15px}
.how-card h3{margin:0 0 7px;font:800 18px Manrope;color:var(--ink)}
.how-card p{margin:0;color:#667085;font-size:13px;line-height:1.6}
.app-how-cta{margin-top:22px;display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center;padding:20px 28px;border-radius:24px;background:linear-gradient(110deg,#f4f8ff,#f5fbf7);border:1px solid #e3eaf4;overflow:hidden}
.app-how-cta img{width:150px;height:170px;object-fit:contain;object-position:center bottom;justify-self:center;filter:drop-shadow(0 15px 18px rgba(15,23,42,.14))}
.app-how-cta h3{margin:5px 0 5px;font:800 22px Manrope}
.app-how-cta p{max-width:690px;color:#667085;margin:0 0 14px;font-size:13px}
.footer{background:#07111f;color:#cbd5e1;padding:58px 0 18px}
.newsletter{margin:0 0 44px;padding:25px 28px;border:1px solid #26364b;border-radius:24px;background:linear-gradient(110deg,#0c1a2b,#0d2230);display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.newsletter .kicker{color:var(--brand-blue)}
.newsletter h3{margin:3px 0 5px;color:#fff;font:800 23px Manrope}
.newsletter p{margin:0;color:#9fb0c4;font-size:13px}
.newsletter-form{display:flex;gap:8px;align-items:stretch}
.newsletter-form input{min-width:0;flex:1;height:50px;padding:0 15px;border:1px solid #33465c;background:#fff;color:#111827;border-radius:12px;outline:none}
.newsletter-form input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 4px rgba(20,85,217,.15)}
.newsletter-form .btn{height:50px;white-space:nowrap}
.footer-grid{display:grid;grid-template-columns:1.35fr .85fr .95fr 1.35fr;gap:42px;padding-bottom:34px}
.footer-brand-lockup{display:flex;align-items:center;gap:12px}
.footer-logo-frame{width:58px;height:58px;border-radius:15px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.footer-logo-frame img{width:47px;height:47px;object-fit:contain}
.footer-brand-lockup strong{font:800 22px Manrope;color:#fff;letter-spacing:-.5px}
.footer-brand-lockup b{color:#4d7df1}
.footer-brand-lockup small{display:block;color:#9fb0c4;font-size:10px;margin-top:4px}
.footer-slogan{margin:18px 0 8px;color:#fff;font-size:13px;line-height:1.65}
.footer-local{margin:0;color:#7f92a8;font-size:12px}
.footer h4{position:relative;margin:3px 0 15px;color:#fff;font:800 13px Manrope;text-transform:uppercase;letter-spacing:.5px}
.footer h4:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--brand-green);margin:0 9px 2px 0;box-shadow:0 0 0 4px rgba(32,180,91,.08)}
.footer-col>a{display:block;color:#94a3b8;font-size:12px;margin:10px 0;transition:.2s}
.footer-col>a:hover{color:#fff;transform:translateX(3px)}
.footer-contact-block{margin-bottom:13px}
.footer-label{display:block;color:#6f849c;font:800 9px Manrope;letter-spacing:1.1px;margin-bottom:4px}
.footer-contact-block p{margin:0;color:#a9b8c8;font-size:12px;line-height:1.55}
.footer-contact-block strong{color:#dce5ef}
.footer .assist{margin:14px 0 0;padding:11px 13px;border-left:2px solid var(--brand-green);background:#0c1b2b;color:#9fb0c4;font-size:11px;line-height:1.55;border-radius:0 10px 10px 0}
.footer .assist strong{color:#fff}
.footer-social-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #1d2c3e;border-bottom:1px solid #1d2c3e;padding:18px 0}
.footer-social-row>div:first-child strong{display:block;color:#dce5ef;font-size:12px;margin-top:3px}
.socials{display:flex;gap:8px;align-items:center}
.socials a{width:38px;height:38px;border:1px solid #2a3a4d;border-radius:11px;display:grid;place-items:center;color:#cbd5e1;background:#0b1725;transition:.25s}
.socials a span{font-size:14px;font-weight:800}
.socials a:hover{color:#fff;background:var(--brand-blue);border-color:var(--brand-blue);transform:translateY(-4px) rotate(-3deg);box-shadow:0 9px 20px rgba(20,85,217,.25)}
.footer-bottom{border-top:0;margin-top:0;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#66788e;font-size:10px}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}.newsletter{grid-template-columns:1fr}.app-how-cta{grid-template-columns:140px 1fr}.footer-social-row{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.app-how-grid{grid-template-columns:1fr}.app-how-cta{grid-template-columns:1fr;text-align:center;padding:22px}.app-how-cta img{height:150px}.app-how-cta p{margin-left:auto;margin-right:auto}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.newsletter{padding:21px}.newsletter-form{flex-direction:column}.newsletter-form input,.newsletter-form .btn{width:100%}.footer-bottom{flex-direction:column}.footer-social-row{gap:14px}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer{padding-top:44px}.footer-social-row .socials{flex-wrap:wrap}.app-how{padding-top:55px}}


/* =========================================================
   FINAL BUJA RIDE — Hero reference integration
   The navigation/submenu markup remains the complete project's
   original markup. Only its visual shell is adapted to the
   supplied Hero reference.
   ========================================================= */

/* Floating reference header */
.site-header,
.site-header.scrolled {
  position: fixed !important;
  top: 15px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: 95% !important;
  max-width: 1400px !important;
  background: rgba(255,255,255,.97) !important;
  border: 0 !important;
  border-radius: 50px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.08) !important;
  backdrop-filter: none !important;
  z-index: 1000 !important;
}

.site-header .nav-wrap {
  width: 100% !important;
  max-width: none !important;
  height: 70px !important;
  padding: 8px 18px 8px 22px !important;
  border-radius: 50px !important;
}

.site-header .brand {
  min-width: 205px !important;
  gap: 9px !important;
}

.site-header .brand-mark-img {
  width: 45px !important;
  height: 48px !important;
  object-fit: contain !important;
}

.site-header .brand-name {
  font-size: 19px !important;
}

.site-header .brand-copy small {
  font-size: 9px !important;
  margin-top: 2px !important;
}

.site-header .main-nav {
  gap: 17px !important;
}

.site-header .main-nav .nav-item,
.site-header .nav-drop-btn {
  font-size: 12px !important;
}

.site-header .nav-book {
  min-width: 112px !important;
  height: 42px !important;
  padding: 0 20px !important;
  border-radius: 24px !important;
  font-size: 13px !important;
}

.site-header .lang-select {
  font-size: 12px !important;
  gap: 6px !important;
}

.site-header .globe-svg {
  width: 17px !important;
  height: 17px !important;
}

.site-header .more-btn {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

.site-header .more-btn span {
  width: 19px !important;
  height: 2px !important;
}

.site-header .more-menu {
  top: 55px !important;
}

/* Hero reference: Bujumbura background + curved blue/white separation */
.hero {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 750px !important;
  margin-top: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #1a1d20 !important;
}

.hero:after {
  display: none !important;
}

.hero-bg-layer {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  z-index: 0 !important;
}

.hero-bg-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  animation: heroKenBurns 22s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes heroKenBurns {
  0%   { transform: scale(1) translate(0, 0); }
  100% { transform: scale(1.12) translate(-1.5%, -1.5%); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-bg-img { animation: none !important; }
}

.hero-bottom-mask {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 43% !important;
  aspect-ratio: 2016 / 1344 !important;
  background: #fff !important;
  pointer-events: none !important;
  clip-path: polygon(
    100% 35.2%, 99.6% 38.1%, 94.1% 45%,
    83.5% 53.6%, 66.8% 61.5%, 39.7% 68%,
    18.3% 69.7%, 4.3% 69%, 0 68.2%,
    0 100%, 100% 100%
  ) !important;
  z-index: 2 !important;
}

.hero-curve {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 43% !important;
  aspect-ratio: 2016 / 1344 !important;
  pointer-events: none !important;
  z-index: 8 !important;
}

.hero-curve img {
  width: 100% !important;
  height: 100% !important;
  /* The white mask below traces this same SVG shape using a clip-path defined
     in plain percentages of its box (a non-uniform stretch, no cropping).
     object-fit:cover previously cropped this image instead of stretching it,
     so the two shapes scaled differently and drifted apart as soon as the
     box's aspect ratio didn't match the SVG's native ratio. object-fit:fill
     stretches the same way the clip-path does, so the two stay aligned. */
  object-fit: fill !important;
  display: block !important;
}

.hero-text {
  position: absolute !important;
  left: 8% !important;
  top: 22% !important;
  max-width: 520px !important;
  z-index: 15 !important;
  color: #fff !important;
}

.hero-text h2 {
  margin: 0 0 12px !important;
  font-family: "Plus Jakarta Sans", "DM Sans", sans-serif !important;
  font-size: clamp(38px, 4vw, 52px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -1.5px !important;
  color: #fff !important;
}

.hero-text h2 .highlight {
  color: #2f72e8 !important;
}

.hero-title-underline {
  width: 60px !important;
  height: 4px !important;
  margin-bottom: 20px !important;
  background: #2f72e8 !important;
  border-radius: 2px !important;
}

.hero-text p {
  max-width: 500px !important;
  margin: 0 0 30px !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.92) !important;
}

.hero-cta-group {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin-bottom: 35px !important;
  flex-wrap: wrap !important;
}

.btn-primary-app {
  background: #0d52d6 !important;
  color: #fff !important;
  padding: 14px 28px !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-shadow: 0 10px 20px rgba(13,82,214,.25) !important;
}

.btn-video {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #fff !important;
  padding: 12px 20px !important;
  border-radius: 30px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

.btn-video .play-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0d52d6 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.12) !important;
}

.app-badges {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}

.store-badge {
  height: 42px !important;
  background: #000 !important;
  color: #fff !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.store-badge i {
  font-size: 22px !important;
}

.store-badge-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1 !important;
}

.store-badge-text .small {
  font-size: 9px !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  opacity: .8 !important;
  margin-bottom: 2px !important;
}

.store-badge-text .big {
  font-size: 14px !important;
  font-weight: 700 !important;
}

.floating-visuals {
  position: absolute !important;
  right: 4% !important;
  bottom: 4% !important;
  width: 55% !important;
  max-width: 820px !important;
  height: 80% !important;
  z-index: 100 !important;
  pointer-events: none !important;
}

.smartphone-img {
  position: absolute !important;
  right: 25% !important;
  bottom: 12% !important;
  height: 82% !important;
  width: auto !important;
  z-index: 5 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 20px 30px rgba(0,0,0,.15)) !important;
}

.car-img {
  position: absolute !important;
  right: 0 !important;
  bottom: -1.5% !important;
  width: 68% !important;
  height: auto !important;
  z-index: 15 !important;
  object-fit: contain !important;
  filter: drop-shadow(0 25px 35px rgba(0,0,0,.2)) !important;
}

.floating-visuals:hover .smartphone-img {
  transform: translateY(-10px) !important;
}

.floating-visuals:hover .car-img {
  transform: translateY(-10px) scale(1.03) !important;
}

/* The complete project's menu remains functional; only responsive shell is adjusted. */
@media (max-width: 1200px) {
  .site-header .main-nav { gap: 11px !important; }
  .site-header .brand { min-width: 185px !important; }
  .site-header .nav-book { min-width: 98px !important; padding: 0 14px !important; }
  .floating-visuals { width: 50% !important; }
  .hero-text h2 { font-size: 42px !important; }
}

@media (max-width: 991px) {
  .site-header {
    width: 90% !important;
    padding: 0 !important;
  }
  .site-header .main-nav,
  .site-header .nav-book,
  .site-header .lang-select {
    display: none !important;
  }
  .site-header .nav-wrap {
    height: 64px !important;
    padding: 8px 15px !important;
  }
  .site-header .brand { min-width: 0 !important; }
  .hero {
    height: auto !important;
    min-height: 100vh !important;
    padding-bottom: 60px !important;
  }
  .hero-bottom-mask,
  .hero-curve {
    height: 34% !important;
  }
  .floating-visuals {
    display: none !important;
  }
  .hero-text {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin: 130px auto 40px !important;
    max-width: 90% !important;
    text-align: center !important;
  }
  .hero-title-underline { margin: 0 auto 20px !important; }
  .hero-cta-group,
  .app-badges { justify-content: center !important; }
}

@media (max-width: 575px) {
  .site-header { top: 8px !important; width: calc(100% - 20px) !important; }
  .site-header .nav-wrap { height: 60px !important; }
  .site-header .brand-mark-img { width: 39px !important; height: 43px !important; }
  .site-header .brand-name { font-size: 17px !important; }
  .site-header .brand-copy small { font-size: 8px !important; }
  .hero-text { margin-top: 112px !important; }
  .hero-text h2 { font-size: 32px !important; }
  .hero-text p { font-size: 15px !important; }
  .hero-bottom-mask,
  .hero-curve { height: 30% !important; }
}

/* =========================================================
   BUJA RIDE FINAL V12 — navigation, palette, gallery, map
   ========================================================= */
:root{--brand-blue:#1455d9;--brand-blue-dark:#0b3fae;--brand-green:#1455d9;--brand-red:#1455d9;--ink:#12213a;--muted:#64748b;--line:#e4eaf2;--cream:#f7f9fc}
body{font-family:"DM Sans",sans-serif;color:var(--ink)}h1,h2,h3,h4,.brand-name{font-family:"Manrope",sans-serif!important}.kicker,.nav-item,.btn,.footer-label{font-family:"DM Sans",sans-serif}
.site-header{transition:background .28s ease,box-shadow .28s ease,backdrop-filter .28s ease,transform .28s ease!important}
.site-header.scrolled .nav-wrap{background:rgba(255,255,255,.84)!important;backdrop-filter:blur(16px)!important;box-shadow:0 10px 30px rgba(20,55,110,.10)!important}
.nav-wrap{background:rgba(255,255,255,.98)!important}
.main-nav{gap:16px!important}.main-nav .nav-item,.nav-drop-btn{font-size:13px!important;gap:7px!important;color:#25334a!important}.main-nav .nav-item i,.nav-drop-btn i{font-size:12px;color:var(--brand-blue);opacity:.82}.main-nav .nav-item:hover,.nav-drop-btn:hover{color:var(--brand-blue)!important;background:#eff5ff!important}.nav-home{width:42px;justify-content:center!important}.nav-home i{font-size:15px!important}.nav-auth-links{display:flex;align-items:center;gap:5px}.nav-auth-links .nav-item{height:auto!important}.auth-separator{color:#94a3b8;font-size:12px}.nav-login i{font-size:15px!important}.nav-download{padding:0 9px!important}.nav-book{background:var(--brand-blue)!important;border-radius:13px!important;font-size:13px!important;min-width:120px!important;gap:8px}.nav-book i{font-size:12px}.lang-select{font-size:13px!important;color:#26354b!important}.lang-select>i{font-size:13px;color:var(--brand-blue)}.lang-select .selected{color:var(--brand-blue)!important}.more-btn{width:58px!important;height:50px!important;border-radius:15px!important;background:#f5f8fc!important;box-shadow:none!important}.more-btn span{width:18px!important;height:2px!important;background:var(--brand-blue)!important}.more-btn b{font-size:7px!important;color:#52617a!important;letter-spacing:1px!important}.more-menu{width:275px!important}.more-icon{width:20px;text-align:center;color:var(--brand-blue)}.more-menu a:hover{background:#eff5ff!important;color:var(--brand-blue)!important}.more-head strong{color:var(--brand-blue)!important}
.btn-primary,.nav-book{background:var(--brand-blue)!important}.btn-primary:hover,.nav-book:hover{background:var(--brand-blue-dark)!important}.link,.kicker,.hero-title-underline,.stat-card strong{color:var(--brand-blue)}
.icon{background:#eff5ff!important;color:var(--brand-blue)!important}.check b{color:var(--brand-blue)!important}.drop-grid>a:hover{background:#eff5ff!important}.drop-feature{background:linear-gradient(120deg,#eef5ff,#f7f9fc)!important}

/* =========================================================
   BUJA RIDE APP — layered screenshot gallery
   Rear smartphone + foreground screenshots + arrows.
   ========================================================= */
.app-gallery-section{
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#f7faff 100%);
}
.app-gallery-fuelio{margin-top:32px}

/* fuel.io-style gallery : un SVG de téléphone (device-frame.svg) reste fixe et
   centré en arrière-plan (Etape 01 des instructions), pendant que la rangée de
   captures d’écran défile par-dessus, au premier plan. La capture active
   (is-hero) est agrandie pour venir se loger précisément dans la découpe de
   l’écran du téléphone ; les captures voisines restent plates, réduites et
   assombries de part et d’autre, sans cadre. */
.fuelio-stage{
  --hero-w:250px;     /* largeur rendue de la capture active */
  --device-w:284px;   /* largeur du SVG device (viewBox recadré au plus juste) : garde ~16px de marge de chaque côté de --hero-w */
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
}
.fuelio-device-frame{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:var(--device-w);
  z-index:1;
  pointer-events:none;
  filter:drop-shadow(0 30px 45px rgba(10,20,45,.22));
}
.fuelio-device-frame img{
  display:block;
  width:100%;
  height:auto;
}

.fuelio-shots-row{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:22px;
  max-width:1180px;
  width:100%;
  margin:0 auto;
  /* Padding latéral = la moitié du conteneur moins la moitié d’un item :
     permet même au 1er/dernier écran d’atteindre le centre exact via
     scrollIntoView(inline:'center'), sans quoi il reste bloqué à gauche. */
  padding:10px calc(50% - (var(--hero-w) / 2)) 26px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.fuelio-shots-row::-webkit-scrollbar{display:none}
.fuelio-shot{
  flex:0 0 auto;
  width:150px;
  margin:0;
  scroll-snap-align:center;
  opacity:.5;
  transform:scale(.9);
  transition:transform .45s cubic-bezier(.22,.8,.22,1),opacity .35s ease,width .45s cubic-bezier(.22,.8,.22,1);
  cursor:pointer;
}
.fuelio-shot-frame{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:#eef2f8;
  border:1px solid #e1e8f2;
  box-shadow:0 10px 22px rgba(15,23,42,.10);
}
.fuelio-shot-frame img{
  display:block;
  width:100%;
  aspect-ratio:9/18.5;
  object-fit:cover;
}
.fuelio-shot figcaption{
  text-align:center;
  margin-top:12px;
  color:#42536c;
  font-size:11px;
  font-weight:700;
  opacity:0;
  transform:translateY(4px);
  transition:.3s ease;
}
.fuelio-shot.is-hero{
  width:var(--hero-w);
  opacity:1;
  transform:scale(1);
  z-index:3;
}
/* Le SVG device-frame.svg fournit désormais le cadre du téléphone : la capture
   active garde juste des coins arrondis assortis pour se fondre dans l’écran. */
.fuelio-shot.is-hero .fuelio-shot-frame{
  background:transparent;
  border:0;
  border-radius:20px;
  box-shadow:0 8px 18px rgba(10,20,45,.18);
}
.fuelio-shot.is-hero .fuelio-shot-frame img{border-radius:16px}
.fuelio-shot.is-hero figcaption{opacity:1;transform:none;color:var(--brand-blue);font-weight:800}
.fuelio-shot:not(.is-hero):hover{opacity:.8;transform:scale(.95)}

.fuelio-gallery-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:6px;
}
.fuelio-gallery-nav button{
  width:50px;
  height:50px;
  border:1px solid #dce6f4;
  border-radius:50%;
  background:#fff;
  color:var(--brand-blue);
  box-shadow:0 12px 28px rgba(18,48,95,.10);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.fuelio-gallery-nav button:hover{
  background:var(--brand-blue);
  color:#fff;
  transform:scale(1.06);
}
.gallery-dots{display:flex;align-items:center;gap:8px}
.gallery-dots button{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;
  background:#cbd8ea;cursor:pointer;transition:transform .25s ease,background .25s ease,width .25s ease;
}
.gallery-dots button.is-active{width:22px;border-radius:5px;background:var(--brand-blue)}

/* "Je ne suis pas un robot" — checkbox stylée façon reCAPTCHA + petit défi
   arithmétique généré et vérifié côté serveur. */
.robot-check{border:1px solid #d3dae3;border-radius:10px;background:#f9fafb;max-width:302px}
.robot-check-row{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;user-select:none}
.robot-check-row input[type="checkbox"]{position:absolute;opacity:0;width:24px;height:24px;margin:0;cursor:pointer}
.robot-check-box{width:24px;height:24px;flex:0 0 24px;border:2px solid #c1c9d2;border-radius:4px;background:#fff;position:relative;transition:.15s ease}
.robot-check-row input[type="checkbox"]:checked ~ .robot-check-box{background:var(--brand-blue);border-color:var(--brand-blue)}
.robot-check-row input[type="checkbox"]:checked ~ .robot-check-box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.robot-check-row input[type="checkbox"]:focus-visible ~ .robot-check-box{box-shadow:0 0 0 3px rgba(20,85,217,.25)}
.robot-check-label{font-size:14px;color:#33414f;font-weight:600}
.robot-challenge{padding:0 18px 16px;display:flex;flex-direction:column;gap:8px}
.robot-challenge label{font-size:12px;color:#5b6b7c;font-weight:700}
.robot-challenge input{font:inherit;padding:10px;border:1px solid #cbd5e1;border-radius:9px;max-width:140px}

/* Mobile nav as a native <dialog> (modal, native backdrop, Esc-to-close). */
.mobile-nav-dialog{
  border:0;padding:0;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(360px,86vw);
  border-radius:0;box-shadow:-20px 0 50px rgba(15,23,42,.25);
  animation:mobileNavIn .28s cubic-bezier(.2,.8,.2,1);
}
.mobile-nav-dialog::backdrop{background:rgba(10,20,35,.55);animation:mobileNavFade .2s ease}
@keyframes mobileNavIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes mobileNavFade{from{opacity:0}to{opacity:1}}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px;border-bottom:1px solid var(--line)}
.mobile-nav-head .brand-mark-img{width:34px;height:38px}
.mobile-nav-head .brand-name{font:800 17px Manrope}
.mobile-nav-close{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:#334155}
.mobile-nav-list{display:flex;flex-direction:column;padding:10px 12px 26px;overflow-y:auto;height:calc(100dvh - 74px)}
.mobile-nav-list>a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:11px;color:#33414f;font-weight:700;font-size:14px}
.mobile-nav-list>a:hover,.mobile-nav-list>a:active{background:#f1f5f9}
.mobile-nav-list>a i{width:18px;text-align:center;color:var(--brand-blue)}
.mobile-nav-cta{background:var(--brand-blue)!important;color:#fff!important;margin:4px 0 8px}
.mobile-nav-cta i{color:#fff!important}
.mobile-nav-group{border-radius:11px;padding:2px 12px}
.mobile-nav-group summary{padding:11px 0;font-weight:700;font-size:14px;color:#33414f;cursor:pointer;list-style:none}
.mobile-nav-group summary::-webkit-details-marker{display:none}
.mobile-nav-group summary::after{content:"›";float:right;transform:rotate(90deg);transition:.2s}
.mobile-nav-group[open] summary::after{transform:rotate(-90deg)}
.mobile-nav-group a{display:block;padding:9px 0 9px 14px;color:#5b6b7c;font-size:13px;font-weight:600}
.mobile-nav-auth{display:flex;gap:10px;margin:16px 4px 10px}
.mobile-nav-auth .btn{flex:1;padding:11px}
.mobile-nav-lang{display:flex;gap:8px;justify-content:center;color:#94a3b8;font-size:12px;margin-top:6px}
@media(min-width:851px){.mobile-nav-dialog{display:none}}

/* Mobile/tablet hardening pass */
.robot-check{max-width:100%;width:100%}
@media(max-width:340px){.robot-check-row{padding:12px}}
@media(max-width:760px){
  .mobile-app-grid{grid-template-columns:1fr;gap:30px}
  .mobile-app-visual img{max-height:340px}
  .store-art-link img{width:150px}
  .drive-visual img{max-width:260px}
}
@media(max-width:480px){
  .page-hero h1{font-size:28px!important}
  .section{padding:60px 0}
  .video-copy h3{font-size:17px}
}
@media(max-width:900px){
  .fuelio-stage{--hero-w:200px;--device-w:227px;min-height:560px}
  .fuelio-shot{width:120px}
}
@media(max-width:600px){
  .fuelio-stage{--hero-w:175px;--device-w:199px;min-height:500px}
  .fuelio-shots-row{gap:14px;padding-left:calc(50% - (var(--hero-w) / 2));padding-right:calc(50% - (var(--hero-w) / 2))}
  .fuelio-shot{width:105px}
  .fuelio-shot figcaption{font-size:10px}
}

/* Download CTA */
.download-cta-page{min-height:760px;background:linear-gradient(135deg,#f6f9ff 0%,#eaf2ff 48%,#dbe9ff 100%);overflow:hidden}.download-cta-grid{min-height:760px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center}.download-cta-copy{max-width:620px}.download-cta-copy h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-3px;margin:18px 0}.download-cta-copy h1 span{color:var(--brand-blue)}.download-cta-copy>p{font-size:18px;color:#52617a;max-width:560px}.download-platforms{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.platform-btn{display:flex;align-items:center;gap:12px;background:#111827;color:#fff;border-radius:13px;padding:10px 17px;min-width:170px}.platform-btn i{font-size:24px}.platform-btn small,.platform-btn b{display:block}.platform-btn small{font-size:8px;opacity:.75;letter-spacing:.7px}.platform-btn b{font-size:14px}.download-note{display:flex;gap:10px;align-items:flex-start;color:#617089;font-size:12px;max-width:500px}.download-note i{color:var(--brand-blue);margin-top:2px}.download-visual{height:650px;position:relative;display:grid;place-items:center}.download-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:#fff;filter:blur(2px);opacity:.7}.download-phone-image{position:relative;height:570px;width:auto;object-fit:contain;filter:drop-shadow(0 35px 35px rgba(10,35,90,.22));z-index:3}.download-float-card{position:absolute;z-index:5;background:#fff;border-radius:16px;padding:12px 15px;display:flex;gap:10px;align-items:center;box-shadow:0 18px 45px rgba(12,45,95,.15)}.download-float-card i{width:34px;height:34px;border-radius:10px;background:#eff5ff;color:#1455d9;display:grid;place-items:center}.download-float-card b,.download-float-card small{display:block}.download-float-card b{font-size:11px}.download-float-card small{font-size:9px;color:#7b8799}.card-one{left:4%;top:25%}.card-two{right:2%;bottom:24%}.download-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.download-steps .card{position:relative;padding-top:48px}.download-steps .card>i{font-size:24px;color:var(--brand-blue);margin:12px 0;display:block}.step-number{position:absolute;right:20px;top:18px;font:800 13px Manrope;color:#b7c7e4}
/* Waze-like live map layout */
.live-map-page{background:#f5f7fb}.live-map-topbar{background:#fff;border-bottom:1px solid #e3e8f1}.live-map-nav{height:70px;display:flex;align-items:center;justify-content:space-between}.live-map-brand{display:flex;align-items:center;gap:10px}.live-map-brand i{width:34px;height:34px;border-radius:10px;background:#1455d9;color:#fff;display:grid;place-items:center}.live-map-brand strong{font:800 17px Manrope}.live-map-brand span{color:#8190a5;font-size:12px;border-left:1px solid #e2e8f0;padding-left:10px}.live-map-links{display:flex;gap:25px;font-size:12px;font-weight:700;color:#52617a}.live-map-links a:hover{color:#1455d9}.live-map-workspace{height:calc(100vh - 70px);min-height:690px;display:grid;grid-template-columns:420px 1fr}.live-map-sidebar{background:#fff;border-right:1px solid #dfe5ee;overflow:auto;padding:22px;z-index:2}.map-search-card{padding:4px 2px 20px}.map-search-card h1{font-size:32px;line-height:1.05;margin:8px 0}.map-search-card p{font-size:13px;color:#718096}.route-input{height:48px;border:1px solid #dbe2ed;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 12px;margin-top:9px;background:#fbfcfe}.route-input i{color:#1455d9;font-size:13px}.route-input input{border:0;outline:0;background:none;flex:1;font:500 13px "DM Sans";color:#26354b}.map-actions{display:flex;gap:8px;margin-top:12px}.map-actions .btn{padding:11px 14px;font-size:11px}.route-status{margin-top:10px;padding:10px 12px;background:#eff5ff;color:#52617a;border-radius:9px;font-size:10px}.map-info-card{display:flex;align-items:center;justify-content:space-between;padding:13px;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.map-info-card b,.map-info-card span{display:block}.map-info-card b{font-size:11px}.map-info-card span{font-size:9px;color:#8794a8}.map-info-card>i{color:#1455d9}.community-mini{padding-top:20px}.community-mini-head{display:flex;justify-content:space-between;align-items:center}.community-mini-head h2{font-size:18px;margin:3px 0}.community-mini-head>i{font-size:25px;color:#1455d9}.qa-mini{padding:10px 0;border-bottom:1px solid #edf0f5}.qa-mini strong{font-size:10px}.qa-mini p{font-size:11px;margin:3px 0;color:#52617a}.qa-mini span{font-size:9px;color:#1455d9}.community-mini form{margin-top:12px}.community-mini input,.community-mini textarea{width:100%;border:1px solid #dbe2ed;border-radius:9px;padding:9px;font:inherit;font-size:11px;margin-bottom:7px}.community-mini .btn{width:100%;font-size:10px;padding:10px}.live-map-canvas{position:relative;min-width:0;background:#dce7f4}
.footer-email{color:#dce5ef!important}.footer-social-row{flex-direction:column!important;align-items:flex-start!important;gap:11px!important}.footer-social-title strong{display:block;color:#fff!important;font-size:14px!important;letter-spacing:.2px}.socials{display:flex!important;gap:8px!important}.socials a{border-radius:10px!important}
@media(max-width:1200px){.main-nav{gap:9px!important}.nav-wrap{padding:0 20px!important}.nav-auth-links{gap:2px}.nav-download span{display:none}.nav-download{width:38px;justify-content:center!important}.nav-download i{font-size:14px!important}.nav-book{min-width:104px!important}.app-gallery{grid-template-columns:1fr 1fr;grid-template-rows:420px 260px}.gallery-screen-main{grid-row:1/2}.gallery-screen-wide{grid-column:1/3}.download-cta-grid{grid-template-columns:1fr 1fr}.download-cta-copy h1{font-size:58px}}
@media(max-width:900px){.main-nav .nav-item,.nav-drop-btn{font-size:15px!important}.nav-auth-links{display:flex}.nav-download span{display:inline}.nav-download{width:auto;justify-content:flex-start!important}.live-map-workspace{grid-template-columns:1fr;height:auto}.live-map-sidebar{border-right:0}.live-map-canvas{height:600px}.live-map-links{display:none}.download-cta-page,.download-cta-grid{min-height:unset}.download-cta-grid{display:flex;flex-direction:column;padding-top:100px}.download-cta-copy{text-align:center}.download-cta-copy>p{margin-left:auto;margin-right:auto}.download-note{margin-left:auto;margin-right:auto}.download-visual{width:100%;height:560px}.download-phone-image{height:500px}.app-gallery{grid-template-columns:1fr 1fr}.gallery-screen-wide{grid-column:1/3}.gallery-screen-main{grid-column:1/3}.gallery-screen-small{grid-column:auto}.download-platforms{justify-content:center}}
@media(max-width:560px){.nav-wrap{width:calc(100% - 16px)!important}.nav-auth-links{display:block}.auth-separator{display:none}.site-header.mobile-open .nav-auth-links{display:block}.app-gallery{display:flex;flex-direction:column}.gallery-screen-main{height:450px}.gallery-screen-small{height:320px}.gallery-screen-wide{height:280px}.mock-dashboard{padding:25px}.dashboard-orbit{transform:scale(.75)}.download-cta-copy h1{font-size:45px;letter-spacing:-2px}.download-visual{height:480px}.download-phone-image{height:430px}.download-float-card{transform:scale(.85)}.live-map-sidebar{padding:16px}.live-map-canvas{height:500px}.download-steps{grid-template-columns:1fr}}
/* Final palette normalization: blue is the sole primary brand color; green is not used for UI accents. */
:root{--green:#1455d9;--green2:#1455d9;--cream:#f7f9fc}
.kicker,.link,.footer h4:before,.footer-grid>div:not(.footer-brand) a:hover,.partner-logo:hover,.footer .assist{color:var(--brand-blue)!important}
.btn-primary,.newsletter button{background:var(--brand-blue)!important}
.newsletter .kicker{color:var(--brand-blue)!important}.footer .assist{border-left-color:var(--brand-blue)!important}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(20,85,217,.28);outline-offset:2px}
.star-picker button.selected{color:#f59e0b!important}.star-picker{outline:0}

/* V14 final refinement */
:root{--brand-blue:#1455d9;--brand-blue-dark:#0b3fae;--brand-green:#1455d9;--brand-red:#1455d9;--green:#1455d9;--green2:#1455d9;--cream:#f7f9fc}
/* no green/red UI effects */
.btn-primary,.nav-book{background:var(--brand-blue)!important}.btn-primary:hover,.nav-book:hover{background:var(--brand-blue-dark)!important}.drop-feature{background:linear-gradient(120deg,#eef5ff,#f7f9fc)!important}.visual-box{background:linear-gradient(135deg,#eef5ff,#f7f9fc)!important}.driver-avatar{background:linear-gradient(135deg,#0b3fae,#1455d9)!important}.notice,.alert,.badge{background:#eef5ff!important;color:#1455d9!important}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-blue)!important;box-shadow:0 0 0 3px rgba(20,85,217,.12)!important}
/* floating chat */
.floating-chat-wrap{position:fixed;right:24px;bottom:24px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.floating-chat{position:relative!important;right:auto!important;bottom:auto!important;width:58px!important;height:58px!important;border:0!important;border-radius:50%!important;background:var(--brand-blue)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:25px!important;cursor:pointer!important;box-shadow:0 12px 28px rgba(20,85,217,.28)!important;animation:chatPulse 1.45s ease-in-out infinite!important}.floating-chat:before,.floating-chat:after{content:"";position:absolute;inset:-5px;border:2px solid rgba(20,85,217,.35);border-radius:50%;animation:chatRing 1.45s ease-out infinite;pointer-events:none}.floating-chat:after{animation-delay:.5s}.floating-chat:hover{transform:scale(1.08)!important}.floating-chat[aria-expanded="true"]{animation:none!important}.floating-chat-panel{width:285px;background:#fff;border:1px solid #dfe7f4;border-radius:18px;padding:17px 18px;box-shadow:0 22px 55px rgba(8,31,72,.18);opacity:0;visibility:hidden;transform:translateY(12px) scale(.96);transform-origin:bottom right;transition:.25s ease}.floating-chat-wrap.open .floating-chat-panel{opacity:1;visibility:visible;transform:none}.floating-chat-kicker{display:block;color:var(--brand-blue);font-size:9px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:4px}.floating-chat-panel strong{display:block;color:#12213a;font:800 16px Manrope}.floating-chat-panel p{margin:5px 0 12px;color:#667085;font-size:12px;line-height:1.5}.floating-chat-more{display:inline-flex;align-items:center;gap:6px;color:var(--brand-blue);font-size:12px;font-weight:800}.floating-chat-more span{transition:transform .2s}.floating-chat-more:hover span{transform:translateX(3px)}@keyframes chatPulse{0%,100%{box-shadow:0 12px 28px rgba(20,85,217,.28),0 0 0 0 rgba(20,85,217,.16)}50%{box-shadow:0 15px 36px rgba(20,85,217,.42),0 0 0 11px rgba(20,85,217,.08)}}@keyframes chatRing{0%{transform:scale(.92);opacity:.75}75%,100%{transform:scale(1.45);opacity:0}}
/* (fuel.io-style gallery rules now live above, near .app-gallery-section) */
/* services inspired by Yango's clean service navigation */
.services-yango-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-yango-card{position:relative;min-height:330px;background:#fff;border:1px solid #e1e8f2;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 28px rgba(15,23,42,.05);transition:.3s ease}.service-yango-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(15,45,95,.12);border-color:#cbdcf7}.service-yango-image{height:175px;overflow:hidden}.service-yango-image img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.service-yango-card:hover .service-yango-image img{transform:scale(1.06)}.service-yango-copy{padding:18px 19px 24px}.service-yango-label{font-size:9px;letter-spacing:1.2px;font-weight:900;color:#8391a6;text-transform:uppercase}.service-yango-copy h3{margin:4px 0 6px;font:800 21px Manrope;color:#12213a}.service-yango-copy p{margin:0;color:#64748b;font-size:12px;line-height:1.55;max-width:90%}.service-yango-arrow{position:absolute;right:16px;bottom:16px;width:36px;height:36px;border-radius:50%;background:#f0f5ff;color:var(--brand-blue);display:grid;place-items:center;transition:.25s}.service-yango-card:hover .service-yango-arrow{background:var(--brand-blue);color:#fff;transform:translateX(3px)}
/* merged app how-to */
.app-how-merged{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:45px;align-items:center}.app-how-copy>h2{font:800 41px Manrope;letter-spacing:-1.7px;margin:5px 0 8px}.app-how-copy>p{color:#64748b;max-width:720px;margin:0 0 26px}.app-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.app-how-quick{margin-top:16px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:16px;background:#f7faff}.app-how-quick>i{width:38px;height:38px;border-radius:11px;background:#eef5ff;color:var(--brand-blue);display:grid;place-items:center;flex:none}.app-how-quick div{flex:1}.app-how-quick strong,.app-how-quick span{display:block}.app-how-quick strong{font-size:12px;color:#12213a}.app-how-quick span{font-size:11px;color:#6d7b90}.app-how-quick .btn{white-space:nowrap;padding:10px 13px;font-size:11px}.app-how-device{position:relative;min-height:520px;display:grid;place-items:center}.app-how-device img{position:relative;z-index:2;width:min(260px,82%);max-height:510px;object-fit:contain;filter:drop-shadow(0 28px 38px rgba(10,35,90,.20))}.device-glow{position:absolute;width:310px;height:310px;border-radius:50%;background:#eef5ff;filter:blur(4px)}
/* =========================================================
   Reviews section — fuel.io "Our clients love us" style:
   intro column + diagonal gradient panel with staggered,
   avatar-topped cards sliding through pages of 3.
   ========================================================= */
.reviews-fuelio-section{overflow:hidden}
.reviews-fuelio-grid{display:grid;grid-template-columns:.82fr 1.55fr;gap:56px;align-items:center}
.reviews-fuelio-intro h2{font:800 38px/1.15 Manrope;letter-spacing:-1.2px;margin:10px 0 0;color:#12213a}
.reviews-fuelio-underline{width:52px;height:5px;border-radius:3px;margin:18px 0 16px;background:linear-gradient(90deg,#ff5f8f,#7c6bf2)}
.reviews-fuelio-intro>p{color:#64748b;font-size:14px;line-height:1.6;max-width:340px;margin:0}
.reviews-fuelio-nav{display:flex;gap:12px;margin-top:26px}
.reviews-fuelio-nav button{width:46px;height:46px;border:1px solid #dce6f4;border-radius:50%;background:#fff;color:var(--brand-blue);box-shadow:0 10px 24px rgba(18,48,95,.10);display:grid;place-items:center;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.reviews-fuelio-nav button:hover{background:var(--brand-blue);color:#fff;transform:scale(1.06)}
.reviews-fuelio-stage{position:relative;min-height:460px;display:flex;align-items:center}
.reviews-fuelio-bg{position:absolute;top:6%;left:6%;right:0;bottom:6%;border-radius:32px;background:linear-gradient(135deg,#5b4fd6 0%,#3f6fe0 55%,#3ea8f0 100%);z-index:1;box-shadow:0 30px 60px rgba(30,50,110,.22)}
.reviews-fuelio-viewport{position:relative;z-index:2;width:100%;overflow:hidden;padding:0 4%}
.reviews-fuelio-track{display:flex;transition:transform .55s cubic-bezier(.22,.8,.22,1)}
.reviews-fuelio-page{flex:0 0 100%;display:flex;gap:22px;align-items:flex-end;padding:60px 10px 40px}
.reviews-fuelio-card{position:relative;flex:1;min-width:0;background:#fff;border-radius:18px;padding:30px 20px 22px;box-shadow:0 20px 45px rgba(15,23,42,.16)}
.reviews-fuelio-page>.reviews-fuelio-card:nth-child(1){margin-bottom:56px}
.reviews-fuelio-page>.reviews-fuelio-card:nth-child(2){margin-bottom:0}
.reviews-fuelio-page>.reviews-fuelio-card:nth-child(3){margin-bottom:34px}
.reviews-fuelio-avatar{position:absolute;top:-24px;left:22px;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#0b3fae,#1455d9);color:#fff;display:grid;place-items:center;font:800 18px Manrope;border:3px solid #fff;box-shadow:0 10px 20px rgba(10,30,80,.22)}
.reviews-fuelio-card strong{display:block;font-size:14px;color:#12213a;margin-top:4px}
.reviews-fuelio-role{display:block;font-size:10px;color:#94a3b8;margin-bottom:12px}
.reviews-fuelio-card p{margin:0 0 10px;color:#4e5d72;font-size:13px;line-height:1.6;min-height:80px}
.reviews-fuelio-stars{color:#f59e0b;font-size:13px;letter-spacing:1px}
@media(max-width:1080px){
  .reviews-fuelio-grid{grid-template-columns:1fr}
  .reviews-fuelio-intro{text-align:center;display:flex;flex-direction:column;align-items:center}
  .reviews-fuelio-intro>p{max-width:480px}
}
@media(max-width:720px){
  .reviews-fuelio-page{flex-direction:column;padding:40px 6px 28px}
  .reviews-fuelio-page>.reviews-fuelio-card{margin-bottom:0!important}
  .reviews-fuelio-bg{left:3%;top:3%;bottom:3%}
}

.tarifs-download-bottom{display:flex;justify-content:center;margin-top:26px}.tarifs-download-bottom .btn{min-width:230px}
/* Honeypot field: invisible to real visitors, catches simple spam bots. */
.hp-trap{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
/* guide is below fixed main menu */
.live-map-page{padding-top:102px!important}.live-map-workspace{height:calc(100vh - 172px)!important;min-height:690px}@media(max-width:900px){.live-map-page{padding-top:88px!important}.live-map-workspace{height:auto!important;min-height:0}.services-yango-grid,.reviews-play-grid{grid-template-columns:1fr 1fr}.app-how-merged{grid-template-columns:1fr}.app-how-device{min-height:390px;order:-1}.app-how-grid{grid-template-columns:1fr 1fr}.app-how-quick{flex-wrap:wrap}}@media(max-width:600px){.floating-chat-wrap{right:14px;bottom:18px}.floating-chat-panel{width:min(285px,calc(100vw - 28px))}.services-yango-grid,.reviews-play-grid,.app-how-grid{grid-template-columns:1fr}.app-how-device img{width:220px}.app-how-quick .btn{width:100%}}


/* =========================================================
   BUJA RIDE V16 — final visual harmonisation
   ========================================================= */
:root{
  --brand-green:var(--brand-blue);
  --brand-red:var(--brand-blue);
  --green:var(--brand-blue);
  --green2:var(--brand-blue);
  --red:var(--brand-blue);
}

/* Remove legacy green/red interface accents while keeping the
   homepage hero title gradient requested by the brand direction. */
.page-hero{
  background:linear-gradient(135deg,#eef5ff 0%,#f8fbff 100%) !important;
}
.page-hero .kicker,
.page-hero .link,
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--brand-blue) !important;
}
.page-hero .kicker{color:var(--brand-blue)!important}
.field input:focus,.field select:focus,.field textarea:focus{
  box-shadow:0 0 0 3px rgba(20,85,217,.10)!important;
}

/* Only the words BUJA RIDE in the homepage hero get the warm gradient. */
.hero-text h2 .highlight{
  background:linear-gradient(to right,#f9d423 0%,#ff4e50 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
}

/* Keep the existing hero phone position. Only lower the car. */
.car-img{bottom:-3.2% !important}
.smartphone-img{bottom:12% !important}

/* Download badges on homepage become real interactive links. */
.store-link{
  text-decoration:none;
  cursor:pointer;
  transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.store-link:hover{
  transform:translateY(-3px);
  background:#111827 !important;
  border-color:#fff !important;
  box-shadow:0 12px 25px rgba(0,0,0,.20);
}
.store-link i{font-size:20px;color:#fff}

/* Mobile/tablet section */
.mobile-app-section{background:#fff}
.mobile-app-grid{
  display:grid;
  grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);
  gap:55px;
  align-items:flex-start;
}
.mobile-app-visual{
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.mobile-app-visual img{
  display:block;
  width:min(100%,650px);
  max-height:590px;
  object-fit:contain;
  object-position:center top;
}
.mobile-app-copy h3{
  margin:0 0 12px;
  font:800 28px Manrope;
  color:#12213a;
}
.mobile-app-copy>p{color:#607087;font-size:14px;line-height:1.7}
.mobile-platform-block{
  margin-top:24px;
  padding:20px;
  border:1px solid #e1e8f2;
  border-radius:20px;
  background:#fbfdff;
}
.platform-title{
  display:flex;
  align-items:center;
  gap:10px;
  color:#12213a;
  margin-bottom:8px;
}
.platform-title i{font-size:22px;color:var(--brand-blue)}
.mobile-platform-block p{margin:7px 0;color:#66758b;font-size:12px;line-height:1.6}
.mobile-platform-block ul{margin:7px 0 10px;padding-left:20px;color:#53647b;font-size:12px}
.store-art-link{display:inline-flex;margin:8px 0 2px;transition:transform .2s ease}
.store-art-link:hover{transform:translateY(-3px)}
.store-art-link img{width:178px;height:auto;display:block}
.mobile-qr{display:block;width:94px;height:94px;padding:6px;background:#fff;border:1px solid #dfe7f2;border-radius:12px}
.qr-label{font-weight:700!important;color:#42536c!important;margin-top:14px!important}
.mobile-contact-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:22px;
  color:var(--brand-blue);
  font-weight:800;
  font-size:13px;
}
.mobile-contact-link span{transition:transform .2s ease}
.mobile-contact-link:hover span{transform:translateX(4px)}

/* QR option on the dedicated download page */
.download-qr-option{
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:20px;
  padding:12px 14px;
  border:1px solid #dce6f4;
  border-radius:16px;
  background:rgba(255,255,255,.68);
  max-width:480px;
}
.download-qr-option strong,.download-qr-option span{display:block}
.download-qr-option strong{font-size:12px;color:#12213a}
.download-qr-option span{font-size:10px;color:#718096;margin-top:2px}
.download-qr-option img{width:76px;height:76px;padding:5px;background:#fff;border-radius:10px;border:1px solid #dfe7f2;margin-left:auto}

/* Internal pages: the absolute/overlay header must never cover the first banner. */
.site-header + main > .page-hero{margin-top:112px !important}
.site-header + main > .live-map-page{margin-top:112px !important}
@media(max-width:991px){
  .site-header + main > .page-hero{margin-top:88px !important}
  .site-header + main > .live-map-page{margin-top:88px !important}
}
@media(max-width:600px){
  .site-header + main > .page-hero{margin-top:78px !important}
  .site-header + main > .live-map-page{margin-top:78px !important}
}

/* Footer uses actual Font Awesome brand marks. */
.footer-social-row .socials a i{font-size:16px}
.footer-social-row .socials a:hover{
  background:var(--brand-blue)!important;
  color:#fff!important;
  border-color:var(--brand-blue)!important;
  box-shadow:0 10px 20px rgba(20,85,217,.20)!important;
}

/* Remove residual green/red accent shadows from older CSS layers. */
.nav-book:hover,
.btn-primary:hover,
.hero .btn-primary:hover,
.newsletter button:hover,
.guide-search button:hover,
.socials a:hover{
  background:var(--brand-blue)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(20,85,217,.28)!important;
}
.kicker,.link,.icon,.check b,.phone-btn,.guide-search button{
  color:var(--brand-blue);
}
/* .newsletter button must stay white-on-blue like every other .btn-primary —
   it was wrongly grouped above, which made its text the same blue as its
   background and made it invisible except on hover. */
.newsletter button,.newsletter .btn{color:#fff!important}
.icon,.how-icon,.service-yango-arrow{
  background:#eff5ff;
}
.service-yango-card:hover .service-yango-arrow{
  background:var(--brand-blue)!important;
  color:#fff!important;
}

/* Animated underline on hover for "Télécharger l'appli", "Services" and
   "Se connecter / S'inscrire" only — same effect as stickyheadereffects.com's
   nav links: a bar that grows in from the center and shrinks back out. */
.nav-download,.nav-drop-btn,.nav-login,.nav-signup{position:relative}
.nav-download::after,.nav-drop-btn::after,.nav-login::after,.nav-signup::after{
  content:"";
  position:absolute;
  left:16px;right:16px;bottom:6px;
  height:2px;
  background:var(--brand-blue);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  pointer-events:none;
}
.nav-download:hover::after,.nav-drop-btn:hover::after,.nav-login:hover::after,.nav-signup:hover::after{
  transform:scaleX(1);
}
/* Services dropdown icons: same colored, simple style as the PLUS menu icons. */
.drop-icon{color:var(--brand-blue)}
/* .nav-login/.nav-signup are short (height:auto) unlike the other nav items,
   so the shared bottom:6px landed the underline across the text instead of
   under it — give these two just enough offset to sit below the label. */
.nav-login::after,.nav-signup::after{bottom:-6px}

/* Glowing "pulse" bullet in front of section kickers (BUJA-RIDE SUR MOBILE /
   TABLETTE, BUJA RIDE APP, Nos services, Innovation, Avis clients, Nos
   partenaires, Newsletter BUJA RIDE...) — same idea as the little glowing dot
   in front of "Demo & Code" on freefrontend.com. */
.kicker{display:inline-flex;align-items:center;gap:9px}
.kicker::before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--brand-blue);
  flex-shrink:0;
  animation:kickerPulse 1.8s ease-out infinite;
}
@keyframes kickerPulse{
  0%{box-shadow:0 0 0 0 rgba(20,85,217,.55)}
  70%{box-shadow:0 0 0 8px rgba(20,85,217,0)}
  100%{box-shadow:0 0 0 0 rgba(20,85,217,0)}
}

/* Animated gradient text on "services adaptés" (same idea as the moving
   gradient headline "Fastest Way" on stickyheadereffects.com). */
.gradient-anim-text{
  background:linear-gradient(90deg,#1455d9,#22b65b,#1455d9);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
  animation:gradientMove 3s linear infinite;
}
@keyframes gradientMove{
  0%{background-position:0% center}
  100%{background-position:200% center}
}

/* "Devenir chauffeur VTC" banner (replaces the old app-download banner,
   same .download/.download-inner layout, new content). */
.drive-bullet{margin:18px 0 10px;font-weight:800;color:#fff}
.drive-bullet a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.drive-qr-caption{margin:18px 0 8px;font-size:13px;color:#dbeafe}
.drive-visual{display:flex;align-items:center;justify-content:center}
.drive-visual img{width:100%;max-width:380px;height:auto;object-fit:contain;filter:drop-shadow(0 25px 40px rgba(0,0,0,.35))}
@media(max-width:900px){.drive-visual{margin-top:24px}}

/* "PRISE EN MAIN" video: real embedded <video> (not a YouTube iframe),
   centered as one column instead of the old asymmetric 1.4fr/.6fr split. */
.video-wrap video{width:100%;aspect-ratio:16/9;border:0;display:block;background:#000}
.video-grid-centered{display:flex;flex-direction:column;align-items:center;gap:22px;max-width:820px;margin:0 auto}
.video-grid-centered .video-wrap{width:100%}
.video-grid-centered .video-mini{width:100%;text-align:center;align-items:center}

/* Logo effect (like smartwise.cg/vtc.html): icon + "BUJA RIDE" title shown by
   default; the title collapses away on scroll, leaving just the icon. Reuses
   the existing .scrolled class already toggled by the scroll listener. */
.brand-copy{
  max-width:260px;
  opacity:1;
  overflow:hidden;
  white-space:nowrap;
  transition:max-width .4s cubic-bezier(.4,0,.2,1),opacity .25s ease,margin .4s ease;
}
.site-header.scrolled .brand-copy{
  max-width:0!important;
  opacity:0!important;
  margin-left:-9px!important;
  pointer-events:none;
}

/* ===================== Page commande.php ===================== */
.booking-card-wrap{padding:28px}
.trip-tabs{display:flex;gap:6px;background:var(--soft,#f7f9fc);padding:6px;border-radius:14px;margin-bottom:22px}
.trip-tab{flex:1;border:none;background:transparent;padding:12px 10px;font-family:"DM Sans",sans-serif;font-weight:700;font-size:13.5px;color:var(--muted,#64748b);border-radius:10px;cursor:pointer;transition:.2s}
.trip-tab.active{background:var(--brand-blue);color:#fff;box-shadow:0 10px 20px rgba(20,85,217,.25)}
.trip-tab:not(.active):hover{background:#eef5ff;color:var(--brand-blue)}

.stops-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.stop-row{display:flex;gap:8px;align-items:center}
.stop-row input{flex:1;font:inherit;padding:12px;border:1px solid #cbd5e1;border-radius:11px;outline:0}
.stop-row input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(20,85,217,.1)}
.stop-remove{border:none;background:#fbeaea;color:var(--brand-red,#ef1d2d);font-size:1.1rem;line-height:1;cursor:pointer;width:34px;height:34px;border-radius:9px;flex-shrink:0}
.stop-remove:hover{background:#f6d9d8}
.add-stop{border:1px dashed #cbd5e1;background:none;color:var(--brand-blue);font-weight:700;font-size:.85rem;padding:10px 14px;border-radius:10px;cursor:pointer;width:100%}
.add-stop:hover{background:#eef5ff;border-color:var(--brand-blue)}

.counter{display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:11px;overflow:hidden}
.counter button{width:40px;height:44px;border:none;background:#f8fafc;font-size:1.1rem;cursor:pointer;color:var(--brand-blue)}
.counter button:hover{background:#eef5ff}
.counter input{border:none;text-align:center;width:100%;padding:0;font:inherit;background:transparent}

.pmr-toggle{display:flex;gap:10px}
.pmr-toggle label{flex:1;text-align:center;padding:11px;border:1px solid #cbd5e1;border-radius:11px;cursor:pointer;font-weight:700;font-size:.85rem;color:var(--muted,#64748b);transition:.2s}
.pmr-toggle input{position:absolute;opacity:0;width:0;height:0}
.pmr-toggle label:has(input:checked){background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}

.field textarea{font:inherit;padding:12px;border:1px solid #cbd5e1;border-radius:11px;outline:0;resize:vertical;width:100%}
.field textarea:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(20,85,217,.1)}

.map-legend{display:flex;justify-content:center;gap:28px;margin-top:16px;font-size:.85rem;color:var(--muted,#64748b)}
.map-legend span{display:inline-flex;align-items:center;gap:8px}
.map-legend .dot{width:12px;height:12px;border-radius:50%;display:inline-block}
.map-legend .dot.taxi{background:#f59e0b}
.map-legend .dot.vtc{background:var(--brand-blue)}
.map-legend .dot.me{background:var(--brand-red,#ef1d2d)}
#commandeMap{height:420px;border-radius:16px}
.tariff-note{text-align:center;font-size:.85rem;color:var(--muted,#64748b);margin-top:16px}

@media(max-width:720px){
  .trip-tabs{flex-direction:column}
  .booking-card-wrap{padding:20px}
}


/* V17 global fixes */
.backtop{display:grid!important;place-items:center!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.backtop.show{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;}
.footer-email{display:inline-flex!important;align-items:center;gap:7px;}
.footer-email i{font-size:12px;line-height:1;}

/* ===================== V18 UX polish ===================== */
/* Internal pages: keep the first visible block safely below the sticky header. */
.site-header + main > :first-child:not(.hero){
  margin-top:76px !important;
}
.site-header + main > .page-hero{
  margin-top:76px !important;
}
.site-header + main > .live-map-page{
  margin-top:76px !important;
}
.site-header + main > .commande-page{
  margin-top:0 !important;
}
/* Commande has its own deliberate header clearance. */
.commande-page .hero{margin-top:82px !important;}
@media(max-width:991px){
  .site-header + main > :first-child:not(.hero){margin-top:76px !important}
  .site-header + main > .page-hero{margin-top:76px !important}
  .site-header + main > .live-map-page{margin-top:76px !important}
  .commande-page .hero{margin-top:72px !important}
}
@media(max-width:600px){
  .site-header + main > :first-child:not(.hero){margin-top:76px !important}
  .site-header + main > .page-hero{margin-top:76px !important}
  .site-header + main > .live-map-page{margin-top:76px !important}
  .commande-page .hero{margin-top:72px !important}
}
/* Anchor targets never disappear underneath the fixed/sticky navigation. */
[id]{scroll-margin-top:92px}

/* Back-to-top: visible after scrolling, separated from the floating assistance button. */
.backtop{
  position:fixed !important;
  right:24px !important;
  bottom:94px !important;
  width:46px !important;
  height:46px !important;
  border:1px solid #d9e3f1 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--brand-blue) !important;
  display:grid !important;
  place-items:center !important;
  font-size:18px !important;
  line-height:1 !important;
  box-shadow:0 12px 28px rgba(15,35,70,.16) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(10px) !important;
  transition:opacity .25s ease,transform .25s ease,background .2s ease,color .2s ease !important;
  z-index:1100 !important;
}
.backtop.show{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}
.backtop:hover{
  background:var(--brand-blue) !important;
  color:#fff !important;
  transform:translateY(-3px) !important;
  box-shadow:0 15px 32px rgba(20,85,217,.25) !important;
}

/* More professional floating assistance icon. */
.floating-chat{
  width:58px !important;height:58px !important;
  font-size:21px !important;
}
.floating-chat i{line-height:1}
.floating-chat:hover i{transform:translateY(-1px) rotate(-4deg)}

/* App Store / Google Play badges in BUJA-RIDE SUR MOBILE / TABLETTE. */
.mobile-platform-block .platform-badge{
  min-width:190px;
  min-height:58px;
  padding:9px 15px;
  margin:9px 0 2px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  background:#080b10;
  color:#fff;
  border:1px solid #202633;
  border-radius:11px;
  box-shadow:0 8px 20px rgba(8,16,30,.14);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
.mobile-platform-block .platform-badge:hover{
  transform:translateY(-3px);
  box-shadow:0 13px 28px rgba(8,16,30,.22);
  background:#000;
}
.mobile-platform-block .platform-badge i{
  width:30px;
  text-align:center;
  font-size:27px;
  color:#fff;
  flex:none;
}
.mobile-platform-block .platform-badge span{display:flex;flex-direction:column;line-height:1.08}
.mobile-platform-block .platform-badge small{
  color:#d4d8df;
  font-size:8px;
  letter-spacing:.65px;
  margin:0 0 4px;
}
.mobile-platform-block .platform-badge strong{
  color:#fff;
  font-size:15px;
  font-weight:800;
}

/* Same animated emphasis as the application's highlighted word. */
.prise-en-main-section .gradient-anim-text{white-space:nowrap}

/* Chauffeur CTA: same directional micro-animation as the contact link. */
.drive-bullet-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none !important;
  transition:color .2s ease;
}
.drive-bullet-link span{
  display:inline-block;
  transition:transform .25s ease;
}
.drive-bullet-link:hover span{transform:translateX(5px)}
.drive-bullet-link:hover{text-decoration:underline !important;text-underline-offset:4px}

/* Newsletter subscribe: subtle professional lift + moving shine. */
.newsletter-form .btn,
.newsletter-form button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease !important;
}
.newsletter-form .btn::after,
.newsletter-form button::after{
  content:"";
  position:absolute;
  top:-60%;left:-75%;
  width:42%;height:220%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);
  transform:skewX(-20deg);
  transition:left .55s ease;
  pointer-events:none;
  z-index:-1;
}
.newsletter-form .btn:hover,
.newsletter-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 25px rgba(20,85,217,.30) !important;
}
.newsletter-form .btn:hover::after,
.newsletter-form button:hover::after{left:125%}

/* Services page: animate the "Réserver →" action like a modern CTA. */
.service-book-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  position:relative;
}
.service-book-link i{
  font-size:11px;
  transition:transform .25s ease;
}
.service-book-link::after{
  content:"";
  position:absolute;
  left:0;right:18px;bottom:-3px;
  height:1.5px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .28s ease;
}
.service-book-link:hover::after{transform:scaleX(1)}
.service-book-link:hover i{transform:translateX(5px)}

@media(max-width:600px){
  .backtop{right:14px !important;bottom:84px !important;width:44px !important;height:44px !important}
  .floating-chat-wrap{right:14px !important;bottom:18px !important}
}

/* =========================================================
   V18 — corrections revues : pages internes / services / accessibilité
   ========================================================= */

/* Le header est flottant. On réserve son espace uniquement aux pages internes.
   La page d'accueil (.home-main) conserve exactement son hero existant. */
.internal-main > .page-hero,
.internal-main > .download-cta-page{
  margin-top:96px !important;
}
@media (max-width:900px){
  .internal-main > .page-hero,
  .internal-main > .download-cta-page{margin-top:82px !important;}
}
@media (max-width:600px){
  .internal-main > .page-hero,
  .internal-main > .download-cta-page{margin-top:78px !important;}
}

/* Contraste : teintes secondaires plus foncées pour rester lisibles sur fond clair. */
:root{--muted:#475569;--accessible-muted:#475569;}
.page-hero p,.section-head p,.card p,.muted{color:var(--accessible-muted)!important;}
.drop-grid small,.download-note,.download-float-card small,
.live-map-brand span,.map-search-card p,.map-info-card span,
.qa-mini p,.mobile-nav-lang,.lang-select a{color:#52617a!important;}
.mobile-nav-group a{color:#52617a!important;}
.auth-secondary-copy p{color:#475569!important;}
.footer-bottom{color:#8190a3!important;}

/* Focus clavier toujours visible, y compris sur les éléments personnalisés. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex="0"]:focus-visible{
  outline:3px solid rgba(20,85,217,.55)!important;
  outline-offset:3px!important;
  border-radius:6px;
}

.skip-link{
  position:fixed;
  left:14px;
  top:10px;
  z-index:3000;
  transform:translateY(-160%);
  background:#0b3fae;
  color:#fff!important;
  padding:11px 16px;
  border-radius:10px;
  font-weight:800;
  font-size:13px;
  box-shadow:0 10px 25px rgba(7,27,69,.25);
  transition:transform .2s ease;
}
.skip-link:focus{transform:none;}

/* Menus clavier : le focus sur le bouton ouvre le sous-menu sans souris. */
.nav-drop:focus-within .dropdown,
.nav-more:focus-within .more-menu,
.lang-select:focus-within .lang-menu{
  opacity:1;
  visibility:visible;
  transform:none;
}
.lang-menu{position:absolute;top:28px;right:0;display:flex;flex-direction:column;min-width:120px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 15px 35px rgba(15,23,42,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;z-index:130;}
.lang-menu a{display:block;padding:8px 10px;border-radius:7px;font-size:12px;}
.lang-menu a:hover{background:#eef5ff;color:var(--brand-blue)!important;}

/* Services — icônes issues de la planche fournie, intégrées à la charte BUJA RIDE. */
.services-icons-section{padding-top:72px;}
.services-icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.service-icon-card{
  background:#fff;
  border:1px solid #dfe7f2;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(15,23,42,.055);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.service-icon-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(20,55,110,.12);border-color:#c6d8f5;}
.service-icon-visual{padding:14px 14px 0;background:linear-gradient(180deg,#f7faff 0%,#eef5ff 100%);}
.service-icon-visual img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:17px;}
.service-icon-copy{padding:18px 18px 21px;}
.service-icon-copy h3{margin:0 0 7px;font:800 19px Manrope;color:#12213a;}
.service-icon-copy p{margin:0 0 14px;color:#475569!important;font-size:12px;line-height:1.55;min-height:58px;}
.service-icon-copy .service-book-link{font-size:12px;}
@media(max-width:1050px){.services-icon-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){
  .services-icons-section{padding-top:55px;}
  .services-icon-grid{grid-template-columns:1fr;gap:15px;}
  .service-icon-copy p{min-height:0;}
}

/* Connexion — visuel à gauche du bloc secondaire et formulaire à droite. */
.auth-page-hero{padding:54px 0!important;}
.auth-hero-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:44px;align-items:center;}
.auth-hero-visual{position:relative;min-height:230px;display:grid;place-items:center;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#dbeaff,#f7fbff);}
.auth-hero-visual img{position:relative;z-index:2;width:100%;max-width:330px;height:250px;object-fit:contain;object-position:center;filter:drop-shadow(0 20px 25px rgba(8,31,72,.16));}
.auth-visual-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:#fff;opacity:.8;filter:blur(2px);}
.auth-hero-copy h1{font:800 51px Manrope;letter-spacing:-2px;margin:10px 0 10px;color:#12213a;}
.auth-hero-copy p{max-width:650px;margin:0;color:#475569;font-size:17px;}
.auth-section{padding-top:65px;}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:42px;align-items:center;}
.auth-secondary{display:block;padding:24px;border:1px solid #dfe7f2;border-radius:24px;background:linear-gradient(135deg,#f8fbff,#eef5ff);}
.auth-secondary-image{min-height:205px;border-radius:18px;overflow:hidden;background:#e5f0ff;display:grid;place-items:center;}
.auth-secondary-image img{width:100%;height:205px;object-fit:cover;object-position:center;}
.auth-secondary-copy h2{font:800 25px/1.12 Manrope;color:#12213a;margin:7px 0 10px;}
.auth-secondary-copy p{font-size:13px;line-height:1.6;margin:0 0 15px;}
.auth-benefits{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.auth-benefits li{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#334155;}
.auth-benefits i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e7f0ff;color:var(--brand-blue);font-size:10px;}
.auth-form-column{width:100%;max-width:470px;justify-self:end;}
.auth-card{padding:30px!important;box-shadow:0 18px 45px rgba(15,35,70,.08);}
.auth-card .field label{color:#25334a;}
#authMessage:focus{outline:none;}
@media(max-width:900px){
  .auth-page-hero{padding:40px 0!important;}
  .auth-hero-grid{grid-template-columns:220px minmax(0,1fr);gap:25px;}
  .auth-hero-visual{min-height:190px;}
  .auth-hero-visual img{height:205px;}
  .auth-hero-copy h1{font-size:38px;}
  .auth-layout{grid-template-columns:1fr;}
  .auth-form-column{max-width:none;justify-self:stretch;}
}
@media(max-width:600px){
  .auth-hero-grid{grid-template-columns:1fr;gap:18px;}
  .auth-hero-visual{min-height:180px;order:2;}
  .auth-hero-copy{order:1;}
  .auth-hero-copy h1{font-size:31px;letter-spacing:-1px;}
  .auth-hero-copy p{font-size:15px;}
  .auth-secondary{padding:18px;}
  .auth-card{padding:22px!important;}
}

/* Sitemap */
.sitemap-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.sitemap-list li{list-style:none;}
.sitemap-list a{display:flex;flex-direction:column;gap:5px;height:100%;padding:18px;border:1px solid #dfe7f2;border-radius:16px;background:#fff;transition:.2s ease;}
.sitemap-list a:hover{border-color:#c5d8f6;background:#f8fbff;transform:translateY(-3px);}
.sitemap-list strong{font:800 15px Manrope;color:#12213a;}
.sitemap-list span{font-size:12px;color:#475569;line-height:1.5;}
.footer-sitemap-links{color:#cbd5e1!important;}
.footer-sitemap-links a{display:inline!important;color:#fff!important;margin:0!important;font-size:10px!important;}
.footer-sitemap-links a:hover{text-decoration:underline;color:#fff!important;}
@media(max-width:800px){.sitemap-list{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.sitemap-list{grid-template-columns:1fr;}}

/* Réduction des animations pour les visiteurs qui le demandent. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}
