/* =====================================================================
   Neijems — micro-ajustements par-dessus le template Ridek.
   Reprend la charte du template (accent #ff9900, champs #333).
   N'altère pas la structure, les animations ni les couleurs d'origine.
   ===================================================================== */

/* Honeypot anti-spam (invisible) */
.hp-field{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

/* Logos Neijems (wordmark) dans les emplacements du template */
.site-logo img{max-height:52px;width:auto}
.footer-logo img{max-height:56px;width:auto}
.popup-sidebox .site-logo img{max-height:54px}

/* Sélecteur de langue (top-header clair) — bouton FR | EN bien visible */
.lang-wrap{display:inline-flex;align-items:center;gap:7px;margin-left:18px}
.lang-globe{color:#ff9900;font-size:18px;line-height:1}
.header-lang{display:inline-flex;gap:0;list-style:none;margin:0;padding:0;align-items:center;border:1px solid #d3d6dd;border-radius:5px;overflow:hidden;background:#fff}
.header-lang li{line-height:0}
.header-lang li + li{border-left:1px solid #d3d6dd}
.header-lang li a{display:block;color:#555;font-size:12px;font-weight:700;letter-spacing:.05em;padding:4px 11px;line-height:1.6;background:#fff;transition:background .15s,color .15s}
.header-lang li a:hover{background:#f2f2f4;color:#222}
.header-lang li a.active{background:#ff9900;color:#fff}

/* Photos "about" (remplacent les PNG détourés du template) */
.about-img img{border-radius:8px;box-shadow:0 18px 45px -20px rgba(0,0,0,.45)}
.about-img .about-img2{border:5px solid #fff}
.about-info .owner-thumb{width:60px;height:60px;object-fit:cover}
.about-info .owner span{color:#ff9900;font-size:13px;font-weight:600}

/* Photo véhicule dans la section réservation */
.booking-car-photo{position:relative}
.booking-car-photo img{width:100%;border-radius:12px;object-fit:cover;box-shadow:0 22px 55px -22px rgba(0,0,0,.6)}
.download-photo img{width:100%;border-radius:12px;box-shadow:0 22px 55px -22px rgba(0,0,0,.4)}

/* Vignette Volvo dans les cartes tarifs */
.pricing-car img{max-width:100%;height:auto}

/* Icônes "avantages" (line-awesome au lieu des SVG du template) */
.app-feature li .feature-icon-la{display:inline-flex;align-items:center;justify-content:center}
.app-feature li .feature-icon-la i{font-size:30px;color:#ff9900}

/* --- Champs additionnels du formulaire (mêmes styles que le template) --- */
.booking-extra{margin-top:20px;display:grid;grid-template-columns:1fr;gap:14px}
.form-field-wide{position:relative}
.form-field-wide textarea{width:100%;background:#333;color:#fff;border:1px solid #333;border-radius:2px;
  padding:12px 40px 12px 20px;font-size:16px;outline:none;resize:vertical;font-family:inherit}
.form-field-wide textarea:focus{border-color:#ff9900}
.form-field-wide i{color:#ff9900;font-size:20px;position:absolute;right:12px;top:16px}
.booking-consent{display:flex;gap:10px;align-items:flex-start;color:#fff;font-size:14px;line-height:1.5}
.booking-consent input{margin-top:3px;width:18px;height:18px;accent-color:#ff9900;flex:0 0 auto}
.booking-consent a{color:#ff9900}
.default-btn.default-btn-outline{background:transparent;border:2px solid #ff9900}

/* Panneau d'estimation */
.booking-estimate{margin-top:22px;background:#fff;border-radius:6px;overflow:hidden;color:#333;max-width:560px}
.booking-estimate__title{background:#ff9900;color:#222;font-weight:700;padding:10px 18px;display:flex;gap:8px;align-items:center}
.booking-estimate ul{list-style:none;margin:0;padding:8px 18px}
.booking-estimate li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed #eee;font-size:15px}
.booking-estimate li:last-child{border-bottom:0}
.est-night{color:#e0331f;font-weight:700}
.booking-estimate__total{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#fbf6ec;font-weight:700}
.booking-estimate__total span:last-child{color:#ff9900;font-size:22px}
.booking-estimate__note{font-size:12px;color:#8a8a8a;padding:6px 18px 12px;margin:0}
.booking-submit{margin-top:18px}
.booking-demo-note{color:#fff;opacity:.85;font-size:13px;margin-top:12px;display:flex;gap:6px;align-items:flex-start}
.booking-demo-note i{color:#ff9900;margin-top:2px}

/* Messages du formulaire */
#form-messages.alert{display:none;margin-top:16px;padding:12px 16px;border-radius:4px}
#form-messages.alert-success{display:block;background:#e7f6ec;color:#1c7a41;border:1px solid #bfe3cb}
#form-messages.alert-danger{display:block;background:#fdecec;color:#b3261e;border:1px solid #f4c4c4}
.form-control.is-invalid,.is-invalid .nice-select,.is-invalid.nice-select{border-color:#e74c3c!important}

/* Page hero (sous-pages) — réutilise le style de bannière du template */
.page-banner{position:relative;padding:150px 0 70px;background:#111;color:#fff;isolation:isolate}
.page-banner__bg{position:absolute;inset:0;z-index:-2}
.page-banner__bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.page-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(17,17,17,.72),rgba(17,17,17,.72))}
.page-banner h1{color:#fff;font-size:44px;margin-bottom:8px}
.page-banner .breadcrumb-nav{color:#ff9900;font-size:14px;letter-spacing:.04em;background:none;padding:0;margin-bottom:12px}
.page-banner .breadcrumb-nav a{color:#ddd}
.page-banner .breadcrumb-nav a:hover{color:#fff}

/* Accordéon FAQ (réutilise couleurs template) */
.faq-item{background:#fff;border:1px solid #eee;border-radius:6px;margin-bottom:14px;overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:18px 22px;font-size:18px;font-weight:600;color:#222;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-q i{color:#ff9900;transition:transform .3s}
.faq-item.is-open .faq-q i{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 22px 20px;margin:0;color:#666}

/* Galerie véhicule */
.veh-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.veh-gallery a{display:block;border-radius:8px;overflow:hidden}
.veh-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .5s ease}
.veh-gallery a:hover img{transform:scale(1.05)}
@media(max-width:767px){.veh-gallery{grid-template-columns:1fr 1fr}}

/* Tableau capacité */
.cap-table{width:100%;border-collapse:collapse;border:1px solid #eee}
.cap-table th,.cap-table td{padding:14px 18px;text-align:left;border-bottom:1px solid #eee}
.cap-table th{background:#222;color:#fff}
.cap-table td:last-child{color:#ff9900;font-weight:600}

/* Bloc "à compléter" (mentions légales / confidentialité) */
.todo-note{background:#fff7e6;border:1px solid #ffe0a3;color:#8a6d1f;border-radius:6px;padding:14px 18px;display:flex;gap:8px;margin-bottom:24px}
.legal-prose h2{font-size:22px;margin:28px 0 10px}
.legal-prose p{color:#555}

/* Infos contact (sous-page) */
.contact-info-card{background:#222;color:#ddd;border-radius:10px;padding:30px}
.contact-info-card h2{color:#fff}
.contact-info-card .ci-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-info-card .ci-item:last-child{border-bottom:0}
.contact-info-card .ci-item i{color:#ff9900;font-size:22px}
.contact-info-card .ci-l{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#9a9a9a}
.contact-info-card .ci-v{color:#fff}

/* Variante mobile du sélecteur : masquée sur grand écran, affichée dès que
   la barre du haut disparaît (≤992px), placée à gauche du menu burger. */
.lang-wrap--mobile{display:none}
@media(max-width:992px){
  .lang-wrap{margin-left:10px}
  /* La barre de nav mobile est CLAIRE : on garde des couleurs contrastées
     (texte foncé, actif en orange) — du blanc y serait invisible. */
  .lang-wrap--mobile{display:inline-flex;margin:0 14px 0 auto;align-items:center;gap:6px}
  .lang-wrap--mobile .lang-globe{color:#ff9900;font-size:17px}
  .lang-wrap--mobile .header-lang{border:1px solid #d3d6dd;background:#fff}
  .lang-wrap--mobile .header-lang li + li{border-left:1px solid #d3d6dd}
  .lang-wrap--mobile .header-lang li a{background:#fff;color:#555;padding:5px 11px;font-size:12.5px}
  .lang-wrap--mobile .header-lang li a.active{background:#ff9900;color:#fff}
  /* Le burger reste collé à droite */
  .nav-menu-inner .mobile-menu-icon{margin-left:0}
}

/* =====================================================================
   Filtre de lisibilité sur le hero (slider) — le texte blanc ressort mieux
   ===================================================================== */
.slider-section .slider-img::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,rgba(9,15,25,.78) 0%,rgba(9,15,25,.55) 40%,rgba(9,15,25,.20) 75%,rgba(9,15,25,.10) 100%),
             linear-gradient(180deg,rgba(9,15,25,.35) 0%,rgba(9,15,25,0) 30%,rgba(9,15,25,.35) 100%);
}

/* =====================================================================
   Lot 3 — autocomplétion d'adresses + géolocalisation
   ===================================================================== */
.ac-field{position:relative}
.ac-list{position:absolute;left:0;right:0;top:100%;z-index:40;background:#fff;border:1px solid #e2e2e2;border-top:0;
  border-radius:0 0 8px 8px;max-height:280px;overflow:auto;box-shadow:0 18px 40px -16px rgba(0,0,0,.35);display:none}
.ac-list.is-open{display:block}
.ac-item{padding:10px 14px;cursor:pointer;font-size:14px;color:#333;border-bottom:1px solid #f0f0f0;display:flex;gap:10px;align-items:flex-start}
.ac-item:last-child{border-bottom:0}
.ac-item:hover,.ac-item.is-active{background:#fff5e6}
.ac-item i{color:#ff9900;margin-top:2px}
.ac-item .ac-sub{display:block;color:#888;font-size:12px}
.ac-empty{padding:10px 14px;color:#999;font-size:13px}

.geoloc-btn{margin-top:8px;display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid rgba(255,255,255,.35);
  color:#fff;border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;transition:.2s}
.geoloc-btn:hover{background:#ff9900;border-color:#ff9900;color:#222}
.geoloc-btn i{font-size:16px}
.geoloc-btn[disabled]{opacity:.6;cursor:default}

/* Champ distance auto (lecture seule) */
.distance-auto{display:flex;align-items:center;gap:10px;background:#333;color:#fff;border:1px solid #333;border-radius:2px;height:50px;padding:0 16px;font-size:16px}
.distance-auto i{color:#ff9900;font-size:20px}
.distance-auto .da-val{font-weight:700}
.distance-auto .da-dur{color:#c9c9c9;font-size:13px;margin-left:auto}
.distance-auto.is-loading .da-val{opacity:.5}

/* Champ départ en cours de géolocalisation */
#start-dest.is-locating{background-image:none;opacity:.85}

/* =====================================================================
   Visuels : voiture animée (hero), voiture du formulaire, fond services,
   personne du CTA (masque d'écrêtage)
   ===================================================================== */

/* Hero : voiture (chauffeur + Volvo) qui arrive de la droite (car-animation) */
.slider-section .car-holder{align-items:flex-end;z-index:2}
.slider-section .car-holder img.hero-car{height:auto;width:auto;max-height:88%;max-width:64vw;margin-bottom:2%;
  filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
@media(max-width:991px){.slider-section .car-holder img.hero-car{max-height:60%;max-width:70vw;opacity:.9}}
@media(max-width:600px){.slider-section .car-holder{display:none}}

/* Section réservation : Volvo détouré à gauche, animé (wow fade-in-left) */
.booking-section{overflow:hidden}
.booking-car-photo{position:relative;display:flex;align-items:center;height:100%;min-height:200px}
.booking-car-photo img.booking-car-img{width:150%;max-width:150%;margin-left:-42%;border-radius:0;box-shadow:none;
  filter:drop-shadow(0 24px 28px rgba(0,0,0,.55))}
@media(max-width:991px){
  .booking-car-photo img.booking-car-img{width:78%;max-width:78%;margin:0 auto 18px;display:block}
}

/* « Ce que nous offrons » : fond aéroport avec relief */
.page-home .service-section .bg-half{
  background-image:url(../img/photos/aeroport-terminal.jpg);
  background-position:center 35%;background-size:cover;
}
.page-home .service-section .bg-half:before{
  background:linear-gradient(180deg,rgba(10,16,26,.62) 0%,rgba(10,16,26,.72) 55%,rgba(10,16,26,.86) 100%);
  box-shadow:inset 0 0 160px 30px rgba(6,10,18,.55);
}

/* CTA « Prêt à réserver » : personne détourée à droite (écrêtée), texte à gauche */
.cta-section .cta-men{
  background-image:url(../img/photos/cta-person.webp);
  background-position:bottom right;background-size:contain;background-repeat:no-repeat;right:80px;
}
.cta-section .cta-content{max-width:560px;position:relative;z-index:2}
@media(max-width:900px){
  .cta-section .cta-men{right:0;opacity:.5}
  .cta-section .cta-content{max-width:100%}
}
@media(max-width:600px){.cta-section .cta-men{display:none}}

/* =====================================================================
   Ajustements v5 : logo rond, fond services fondu, hauteurs uniformes,
   cartes tarifs (Tesla/Van grisées), voitures du footer
   ===================================================================== */

/* Logo wordmark (emblème + texte) — taille ajustée */
.site-logo img{max-height:50px;width:auto}
.footer-logo img{max-height:54px;width:auto}
.popup-sidebox .site-logo img{max-height:48px}
.mid-header .mid-header-wrap{align-items:center}

/* Tous les boutons : texte sur une seule ligne */
.default-btn{white-space:nowrap}

/* --- Bouton WhatsApp flottant --- */
.wa-float{position:fixed;left:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:30px;z-index:1500;text-decoration:none;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transition:transform .2s,box-shadow .2s;animation:wa-pulse 2.4s ease-in-out infinite}
.wa-float:hover{transform:scale(1.08);color:#fff;box-shadow:0 16px 36px -8px rgba(37,211,102,.55)}
@keyframes wa-pulse{0%,100%{box-shadow:0 12px 30px -8px rgba(0,0,0,.45),0 0 0 0 rgba(37,211,102,.45)}50%{box-shadow:0 12px 30px -8px rgba(0,0,0,.45),0 0 0 12px rgba(37,211,102,0)}}
@media(max-width:600px){.wa-float{left:16px;bottom:16px;width:52px;height:52px;font-size:27px}}
@media(prefers-reduced-motion:reduce){.wa-float{animation:none}}

/* --- Bandeau de consentement aux cookies --- */
.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:3000;max-width:960px;margin:0 auto;
  background:linear-gradient(180deg,#12233A,#0E1B2C);color:#e7edf3;border:1px solid rgba(201,162,75,.35);
  border-radius:14px;box-shadow:0 24px 60px -20px rgba(0,0,0,.65);padding:20px 24px;
  transform:translateY(160%);opacity:0;transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s}
.cookie-consent.is-visible{transform:none;opacity:1}
.cookie-consent__inner{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.cookie-consent__text{flex:1;min-width:260px}
.cookie-consent__text h3{color:#fff;font-size:18px;margin:0 0 6px;display:flex;align-items:center;gap:9px;font-family:inherit;font-weight:700}
.cookie-consent__text h3 i{color:#ff9900;font-size:22px}
.cookie-consent__text p{margin:0;font-size:13.5px;color:#b7c2ce;line-height:1.6}
.cookie-consent__text a{color:#E4C877;text-decoration:underline}
.cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn-cookie{border:0;border-radius:8px;padding:11px 20px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s;font-family:inherit}
.btn-cookie:hover{transform:translateY(-1px)}
.btn-cookie--gold{background:#ff9900;color:#fff;box-shadow:0 10px 24px -10px rgba(255,153,0,.6)}
.btn-cookie--gold:hover{background:#f0900a}
.btn-cookie--ghost{background:transparent;color:#e7edf3;border:1px solid rgba(255,255,255,.32)}
.btn-cookie--ghost:hover{background:rgba(255,255,255,.1);color:#fff}
@media(max-width:640px){
  .cookie-consent{left:10px;right:10px;bottom:10px;padding:18px}
  .cookie-consent__actions{width:100%}
  .cookie-consent__actions .btn-cookie{flex:1 1 auto;text-align:center}
}

/* Crédit MYPA PROD dans le pied de page */
.copyright-inner{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap}
.copyright-wrap p{margin:0}
.footer-credit{font-size:13px;opacity:.8}

/* Bouton « Pourquoi nous choisir » : largeur auto, texte sur une ligne, propre */
.download-section .download-btn{display:block;margin-top:24px}
.download-section .download-btn .default-btn{display:inline-flex;width:auto;flex:0 0 auto;white-space:nowrap;padding:16px 34px}

/* --- Tarifs : cartes de hauteur égale (photos, noms et boutons alignés) --- */
.pricing-section .row{display:flex;flex-wrap:wrap;align-items:stretch}
.pricing-section [class*="col-"]{display:flex}
.pricing-section .pricing-item{display:flex;flex-direction:column;width:100%}
.pricing-section .pricing-car img{width:100%;height:190px;object-fit:cover;border-radius:8px}
.pricing-section .pricing-list{flex:1;display:flex;flex-direction:column}
.pricing-section .pricing-list li:last-child{margin-top:auto;padding:0;border:0}
.pricing-section .pricing-soon-note{margin-bottom:14px}

/* --- « Bon à savoir » : cartes de hauteur égale, liens alignés --- */
.blog-section .row{align-items:stretch}
.blog-section [class*="col-"]{display:flex}
.blog-section .post-card{display:flex;flex-direction:column;width:100%}
.blog-section .post-thumb{overflow:hidden}
.blog-section .post-thumb img{width:100%;height:200px;object-fit:cover;display:block}
.blog-section .post-content-wrap{flex:1;display:flex;flex-direction:column}
.blog-section .post-content{flex:1;display:flex;flex-direction:column}
.blog-section .post-content .read-more{margin-top:auto}

/* « Ce que nous offrons » : fond davantage fondu (texte plus lisible) */
.page-home .service-section .bg-half:before{
  background:linear-gradient(180deg,rgba(10,16,26,.86) 0%,rgba(10,16,26,.92) 55%,rgba(10,16,26,.96) 100%);
  box-shadow:inset 0 0 200px 50px rgba(6,10,18,.65);
}

/* Hauteur uniforme des vignettes de services + moins d'espace sous le carrousel */
.service-carousel{padding-bottom:22px}
.service-carousel .service-thumb{height:220px;overflow:hidden}
.service-carousel .service-thumb > img{width:100%;height:100%;object-fit:cover;display:block}

/* Cartes tarifs : Tesla / Van grisées (non réservables) */
.pricing-item{position:relative}
.pricing-item--soon{filter:grayscale(1);opacity:.7}
.pricing-item--soon .pricing-car .price{background:#777}
.soon-badge{position:absolute;top:12px;left:12px;z-index:3;background:#222;color:#fff;font-size:11px;
  font-weight:700;letter-spacing:.08em;padding:5px 11px;border-radius:3px;text-transform:uppercase}
.pricing-soon-note{color:#888;font-style:italic}
.default-btn.default-btn-disabled{background:#9a9a9a !important;cursor:not-allowed;pointer-events:none}
.default-btn.default-btn-disabled:hover{background:#9a9a9a !important}

/* Voitures animées du footer (profils Volvo / Mercedes V / Tesla) */
.running-taxi .taxi{background-image:url(../img/photos/footer-car-volvo.png);width:120px;height:46px}
.running-taxi .taxi-2{background-image:url(../img/photos/footer-car-merc.png);width:132px;height:48px}
.running-taxi .taxi-3{background-image:url(../img/photos/footer-car-tesla.png);width:120px;height:46px}

/* Page Services : 6 vignettes portrait, toutes à la même hauteur */
.service-page .service-thumb{height:360px;overflow:hidden}
.service-page .service-thumb > img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:767px){
  .service-page .service-thumb{height:300px}
  .service-carousel .service-thumb{height:200px}
}

/* --- Avertissement « créneau occupé » (paiement instantané) --- */
.conflict-box{margin:18px 0;border-radius:10px;padding:16px 18px;background:#fff8e6;border:1px solid #f0d9a0;color:#7a5c12}
.conflict-box--strong{background:#fdecec;border-color:#f0b3b3;color:#8c2020}
.conflict-box__msg{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.6}
.conflict-box__msg i{font-size:20px;margin-top:1px;flex:0 0 auto}
.conflict-box__ack{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding-top:12px;
  border-top:1px dashed rgba(0,0,0,.15);font-weight:600;font-size:14px;cursor:pointer}
.conflict-box__ack input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:#ff9900}
