/* =========================================================
   Concept Pro'Motors — feuille de style
   Palette : vert émeraude (#0EA672), noir/anthracite (#14161F), blanc
   Polices : Poppins (titres) / Inter (texte)
   ========================================================= */

:root{
  --accent: #0EA672;
  --accent-dark: #0B7A54;
  --ink: #14161F;
  --ink-soft: #262a38;
  --paper: #ffffff;
  --paper-alt: #F7F7F9;
  --text: #22242E;
  --text-muted: #6B7080;
  --line: #E7E8EC;
  --gold: #F5A623;

  --font-head: 'Poppins', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;

  --radius: 14px;
  --radius-lg: 22px;
  --shadow: 0 10px 30px rgba(20,22,31,0.08);
  --shadow-lg: 0 20px 45px rgba(20,22,31,0.16);
  --wrap: 1160px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3{font-family:var(--font-head);margin:0;text-wrap:balance;}
.accent{color:var(--accent);}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:0.95rem;
  padding:12px 22px;border-radius:999px;border:none;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(14,166,114,.35);}
.btn-primary:hover{background:var(--accent-dark);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#000;}
.btn-sm{padding:10px 18px;font-size:0.88rem;}
.btn-lg{padding:15px 28px;font-size:1rem;}

.section-title{
  display:flex;align-items:center;justify-content:center;gap:18px;
  margin-bottom:6px;
}
.section-title h2{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:700;text-align:center;}
.section-title .rule{width:46px;height:3px;background:var(--accent);border-radius:2px;}
.section-sub{text-align:center;color:var(--text-muted);margin:6px 0 40px;font-size:1rem;}

/* ---------------- HEADER ---------------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:#fff;border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:var(--wrap);margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:28px;
}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-title{font-family:var(--font-head);font-weight:800;font-size:1.15rem;color:var(--ink);}
.logo-title.light{color:#fff;}
.logo-tagline{font-size:0.65rem;color:var(--text-muted);letter-spacing:.02em;}
.logo-tagline.light{color:#a9acb8;}

.main-nav{display:flex;gap:26px;margin:0 auto;}
.main-nav a{font-weight:500;font-size:0.95rem;color:var(--text);padding:6px 2px;position:relative;}
.main-nav a.active{color:var(--accent);}
.main-nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);border-radius:2px;
}
.main-nav a:hover{color:var(--accent);}

.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.phone-pill{
  display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;
  padding:10px 16px;border-radius:999px;font-size:0.85rem;font-weight:500;
}

.nav-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:38px;height:38px;border:none;background:none;cursor:pointer;margin-left:auto;
}
.nav-toggle span{width:100%;height:2px;background:var(--ink);border-radius:2px;}
.mobile-panel{display:contents;}

.lang-toggle{
  display:flex;align-items:center;gap:6px;background:none;color:var(--ink);
  padding:9px 13px;border-radius:999px;font-size:0.82rem;font-weight:600;
  border:1.5px solid var(--line);cursor:pointer;font-family:var(--font-body);
  flex-shrink:0;transition:border-color .15s ease, color .15s ease;
}
.lang-toggle:hover{border-color:var(--accent);color:var(--accent);}
@media (max-width:820px){
  /* Sur mobile, le logo (avec sa légende) et le bouton menu laissent peu de place :
     on resserre l'espacement de l'en-tête et on réduit le bouton de langue à son
     strict minimum (texte seul, sans icône) pour que rien ne déborde ni ne se
     chevauche à côté du bouton menu. */
  .header-inner{gap:12px;}
  .lang-toggle{margin-left:auto;padding:8px 10px;gap:0;}
  .lang-toggle svg{display:none;}
}

/* ---------------- HERO ---------------- */
.hero{
  position:relative;overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.82) 34%, rgba(255,255,255,.35) 58%, rgba(255,255,255,.08) 78%),
    url('images/hero-martinique.jpg') center 30%/cover no-repeat,
    var(--paper);
  padding:56px 24px 0;
}
.hero-content{
  position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;
  padding-bottom:70px;
}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.2rem);font-weight:700;line-height:1.15;color:var(--ink);max-width:600px;}
.hero-sub{font-size:1.05rem;color:var(--text-muted);margin:18px 0 26px;max-width:420px;}

.hero-perks{display:flex;gap:30px;margin-bottom:30px;flex-wrap:wrap;}
.hero-perks li{display:flex;align-items:center;gap:10px;font-size:0.85rem;font-weight:600;color:var(--ink);}
.hero-perks svg{color:var(--accent);flex-shrink:0;}

.hero-car{
  position:absolute;right:6%;bottom:10%;width:min(34%,360px);z-index:2;
  transform:rotate(-2deg);
  filter:drop-shadow(0 22px 28px rgba(20,22,31,.4));
}
.hero-car img{
  width:100%;height:auto;object-fit:contain;display:block;
}

/* search bar */
.search-bar{
  position:relative;z-index:3;
  max-width:var(--wrap);margin:-34px auto 0;
  background:var(--ink);border-radius:var(--radius-lg);
  padding:20px 24px;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;
  box-shadow:var(--shadow-lg);
}
.search-bar .field{display:flex;flex-direction:column;gap:8px;flex:1 1 150px;min-width:130px;}
.search-bar .field-time{flex:1 1 100px;min-width:100px;}
.search-bar .field-cat{flex:1 1 160px;min-width:150px;}
.search-bar label{font-size:0.72rem;color:#c7c9d3;font-weight:500;}
.search-days-note{flex-basis:100%;order:5;margin:0;font-size:0.82rem;font-weight:600;color:var(--accent);}
.input-icon{
  display:flex;align-items:center;gap:8px;
  background:#1f2230;border:1px solid #34384a;border-radius:10px;padding:10px 12px;
  color:#8b8fa0;
}
.input-icon input,.input-icon select{
  background:none;border:none;outline:none;color:#fff;font-family:var(--font-body);
  font-size:0.85rem;width:100%;
}
.input-icon select{appearance:none;cursor:pointer;}
.input-icon input::placeholder{color:#8b8fa0;}
.field-date .input-icon,.field-time .input-icon{color:var(--accent);}
.input-icon input[type="date"]{
  color-scheme:dark;position:relative;padding-right:24px;
  background-repeat:no-repeat;background-position:right 1px center;background-size:16px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA672' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
.input-icon input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0;position:absolute;right:0;top:0;width:22px;height:100%;
  cursor:pointer;padding:0;margin:0;
}
.input-icon input[type="time"]{
  color-scheme:dark;position:relative;padding-right:24px;
  background-repeat:no-repeat;background-position:right 1px center;background-size:16px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230EA672' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E");
}
.input-icon input[type="time"]::-webkit-calendar-picker-indicator{
  opacity:0;position:absolute;right:0;top:0;width:22px;height:100%;
  cursor:pointer;padding:0;margin:0;
}
.btn-search{flex:0 0 auto;align-self:stretch;}

/* ---------------- VEHICLES ---------------- */
.vehicles{
  max-width:var(--wrap);margin:0 auto;padding:64px 24px 70px;
}
.vehicle-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(206px,1fr));gap:24px;
}
.vehicle-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .2s ease, transform .2s ease;
}
.vehicle-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
.vehicle-img{
  position:relative;aspect-ratio:4/3;
  background:linear-gradient(160deg,var(--c1),var(--c2));
  display:flex;align-items:center;justify-content:center;padding:14px;
}
.car-illustration{width:82%;color:#fff;opacity:.95;}
.car-illustration-img{
  width:90%;height:auto;object-fit:contain;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.28));
}
.vehicle-img-photo{padding:0;background:#e7e8ec;}
.vehicle-img-photo img{width:100%;height:100%;object-fit:cover;}
.vehicle-img .badge{
  position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;
  font-size:0.68rem;font-weight:600;padding:5px 10px;border-radius:999px;
}
.vehicle-body{padding:16px 18px 20px;}
.vehicle-body h3{font-size:1.05rem;font-weight:700;margin-bottom:8px;}
.specs{display:flex;align-items:center;gap:5px;font-size:0.8rem;color:var(--text-muted);margin:0 0 4px;}
.specs svg{color:var(--accent);flex-shrink:0;}
.specs.alt{margin-bottom:12px;}
.price{font-size:0.9rem;color:var(--text-muted);margin:0;padding-top:10px;border-top:1px dashed var(--line);}
.price strong{color:var(--accent);font-size:1.1rem;}
.deposit{
  display:flex;align-items:center;gap:5px;
  font-size:0.75rem;color:var(--text-muted);margin:8px 0 0;
}
.deposit svg{color:var(--text-muted);flex-shrink:0;}

/* ---------------- FEATURES BANNER ---------------- */
.features-banner{
  max-width:var(--wrap);margin:0 auto 90px;padding:0 24px;
  display:flex;background:var(--ink);border-radius:var(--radius-lg);overflow:hidden;
}
.features-list{
  flex:1;display:grid;grid-template-columns:repeat(4,1fr);
  padding:36px 30px;gap:20px;
}
.feature{display:flex;align-items:flex-start;gap:12px;padding-left:20px;border-left:2px solid rgba(14,166,114,.5);}
.feature:first-child{border-left:none;padding-left:0;}
.feature svg{color:var(--accent);flex-shrink:0;margin-top:2px;}
.feature strong{display:block;color:#fff;font-family:var(--font-head);font-size:0.95rem;margin-bottom:4px;}
.feature span{display:block;color:#a9acb8;font-size:0.78rem;line-height:1.4;}
.features-cta{
  flex:0 0 260px;background:linear-gradient(120deg,var(--accent-dark),var(--accent));
  display:flex;align-items:center;justify-content:center;padding:20px;
  clip-path:polygon(14% 0,100% 0,100% 100%,0% 100%);
}
.features-cta span{
  font-family:'Poppins',cursive;font-style:italic;font-weight:600;color:#fff;
  font-size:1.3rem;text-align:center;line-height:1.3;
}

/* ---------------- ABOUT ---------------- */
.about{
  max-width:var(--wrap);margin:0 auto;padding:0 24px 90px;
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;
}
.about-media{position:relative;}
.about-photo{
  aspect-ratio:4/3.4;border-radius:var(--radius-lg);
  background:
    radial-gradient(140px 100px at 78% 20%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(200deg,#8fd3d6 0%, #4fa6b8 35%, #f1e6c8 60%, #d8c79a 100%);
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:14%;
  box-shadow:var(--shadow);
}
.about-photo::before,.about-photo::after{
  content:"🌴";position:absolute;font-size:2.6rem;bottom:6%;opacity:.85;
}
.about-photo::before{left:6%;}
.about-photo::after{right:10%;font-size:2rem;bottom:10%;}
.about-sign{
  position:relative;z-index:2;background:#8a5a2b;color:#fff;
  font-family:var(--font-head);font-weight:700;font-size:1rem;
  padding:10px 22px;border-radius:6px;transform:rotate(-3deg);
  box-shadow:0 8px 16px rgba(0,0,0,.25);
}
.about-sign .heart{color:#ffb3c1;}
.about-tag{
  position:absolute;right:-14px;bottom:-14px;width:130px;height:130px;border-radius:50%;
  background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
  text-align:center;font-size:0.78rem;font-weight:600;line-height:1.35;padding:10px;
  transform:rotate(-8deg);box-shadow:var(--shadow-lg);border:4px solid #fff;
}
.about-tag strong{display:block;font-size:1.15rem;font-family:var(--font-head);}

.about-content h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;}
.about-content .lead{font-weight:600;color:var(--ink);margin:6px 0 16px;font-size:1.05rem;}
.about-content p{color:var(--text-muted);line-height:1.7;margin:0 0 22px;}
.about-content p strong{color:var(--ink);}
.about-points{display:flex;flex-wrap:wrap;gap:18px;}
.about-points li{display:flex;align-items:center;gap:8px;font-size:0.85rem;font-weight:600;color:var(--ink);}
.about-points svg{color:var(--accent);}

/* ---------------- TESTIMONIALS ---------------- */
.testimonials{max-width:var(--wrap);margin:0 auto;padding:0 24px 60px;}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:20px;}
.testimonial{
  background:var(--paper-alt);border-radius:var(--radius);padding:26px 24px;
  position:relative;
}
.quote-mark{position:absolute;top:10px;right:20px;font-family:Georgia,serif;font-size:2.6rem;color:var(--line);}
.testimonial p{font-style:italic;color:var(--ink);line-height:1.6;margin:0 0 16px;font-size:0.95rem;}
.stars{color:var(--gold);letter-spacing:2px;margin-bottom:8px;font-size:0.9rem;}
.testimonial cite{font-style:normal;font-weight:700;font-size:0.85rem;color:var(--text-muted);}

.dots{display:flex;justify-content:center;gap:8px;margin-top:26px;}
.dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:none;cursor:pointer;padding:0;}
.dot.active{background:var(--accent);width:22px;border-radius:5px;transition:all .2s ease;}

/* ---------------- CTA BANNER ---------------- */
.cta-banner{
  background:linear-gradient(90deg,var(--ink) 0%, var(--ink) 40%, var(--accent-dark) 70%, var(--accent) 100%);
  color:#fff;padding:22px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.cta-left{display:flex;align-items:center;gap:14px;font-size:0.9rem;color:#d7d9e0;}
.cta-left strong{color:#fff;font-family:var(--font-head);font-size:1.05rem;}
.cta-mid{display:flex;gap:26px;flex-wrap:wrap;}
.cta-mid li{display:flex;align-items:center;gap:7px;font-size:0.85rem;color:#f2f2f4;}
.cta-banner .btn-dark{background:#fff;color:var(--ink);}
.cta-banner .btn-dark:hover{background:#eee;}

/* ---------------- FOOTER ---------------- */
.site-footer{background:var(--ink);color:#c7c9d3;padding:44px 24px 20px;}
.footer-top{
  max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;
  border-bottom:1px solid #2a2d3a;
}
.footer-nav{display:flex;gap:22px;flex-wrap:wrap;}
.footer-nav a{font-size:0.88rem;color:#c7c9d3;}
.footer-nav a:hover{color:#fff;}
.socials{display:flex;gap:12px;}
.socials a{
  width:34px;height:34px;border-radius:50%;background:#20232f;
  display:flex;align-items:center;justify-content:center;color:#c7c9d3;
}
.socials a:hover{background:var(--accent);color:#fff;}
.footer-contact{
  max-width:var(--wrap);margin:0 auto;padding-top:22px;
  display:flex;gap:28px;flex-wrap:wrap;
}
.footer-contact a{
  display:flex;align-items:center;gap:8px;font-size:0.85rem;color:#e3e4ea;font-weight:500;
}
.footer-contact a svg{color:var(--accent);flex-shrink:0;}
.footer-contact a:hover{color:#fff;}

.footer-bottom{
  max-width:var(--wrap);margin:0 auto;padding-top:18px;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:0.78rem;color:#7d8094;
}
.footer-bottom a{color:#a9acb8;}
.footer-bottom a:hover{color:#fff;}

/* ---------------- INNER PAGE BANNER ---------------- */
.page-banner{
  background:linear-gradient(135deg,var(--ink) 0%, #1f2230 100%);
  color:#fff;text-align:center;padding:64px 24px 54px;
}
.page-banner h1{font-size:clamp(1.7rem,3.2vw,2.5rem);font-weight:800;}
.page-banner .rule{width:56px;height:3px;background:var(--accent);margin:16px auto;border-radius:2px;}
.page-banner p{color:#c7c9d3;max-width:560px;margin:0 auto;font-size:1rem;line-height:1.6;}

/* ---------------- VEHICLES PAGE: FILTER BAR ---------------- */
.filter-bar{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
  max-width:var(--wrap);margin:0 auto 40px;padding:0 24px;
}
.filter-btn{
  padding:9px 20px;border-radius:999px;border:1px solid var(--line);background:#fff;
  font-family:var(--font-body);font-weight:600;font-size:0.85rem;cursor:pointer;color:var(--text);
  transition:all .15s ease;
}
.filter-btn:hover{border-color:var(--accent);color:var(--accent);}
.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);}
.filter-btn.active:hover{color:#fff;}
.vehicle-card.hidden{display:none;}

/* ---------------- OFFERS PAGE ---------------- */
.offer-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
}
.offer-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;
}
.offer-card .offer-icon{
  width:52px;height:52px;border-radius:14px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:18px;
}
.offer-card h3{font-size:1.1rem;margin-bottom:10px;}
.offer-card p{color:var(--text-muted);font-size:0.9rem;line-height:1.65;margin:0 0 16px;}
.offer-card .offer-tag{
  display:inline-block;background:var(--paper-alt);color:var(--accent);
  font-weight:700;font-size:0.76rem;padding:6px 13px;border-radius:999px;
}
.offer-note{
  max-width:var(--wrap);margin:36px auto 0;padding:0 24px;
  text-align:center;color:var(--text-muted);font-size:0.85rem;
}

/* ---------------- ABOUT PAGE ---------------- */
.stats-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;
  text-align:center;max-width:var(--wrap);margin:0 auto 70px;padding:0 24px;
}
.stat strong{display:block;font-size:2.2rem;font-family:var(--font-head);color:var(--accent);font-weight:800;line-height:1.1;}
.stat span{color:var(--text-muted);font-size:0.82rem;font-weight:600;}

.value-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;
  max-width:var(--wrap);margin:0 auto;padding:0 24px;
}
.value-card{text-align:center;padding:30px 20px;background:var(--paper-alt);border-radius:var(--radius);}
.value-card .icon-circle{
  width:58px;height:58px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--accent);
  box-shadow:var(--shadow);
}
.value-card h3{font-size:1.02rem;margin-bottom:8px;}
.value-card p{color:var(--text-muted);font-size:0.86rem;line-height:1.6;margin:0;}

/* ---------------- CONTACT PAGE ---------------- */
.contact-wrap{
  display:grid;grid-template-columns:0.9fr 1.15fr;gap:50px;
  max-width:var(--wrap);margin:0 auto;padding:64px 24px;
}
.contact-info-list{display:flex;flex-direction:column;gap:24px;}
.contact-info-item{display:flex;gap:16px;align-items:flex-start;}
.contact-info-item .icon-circle{
  width:46px;height:46px;border-radius:12px;background:var(--paper-alt);
  display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;
}
.contact-info-item h4{font-size:0.95rem;margin-bottom:4px;font-family:var(--font-head);}
.contact-info-item p{color:var(--text-muted);font-size:0.87rem;line-height:1.55;margin:0;}
.contact-map-placeholder{
  margin-top:26px;border-radius:var(--radius);overflow:hidden;background:var(--paper-alt);
  aspect-ratio:16/10;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;
  color:var(--text-muted);text-align:center;padding:24px;font-size:0.84rem;
}
.contact-map-placeholder svg{color:var(--accent);}

.contact-map{
  margin-top:26px;border-radius:var(--radius);overflow:hidden;background:var(--paper-alt);
  aspect-ratio:16/10;
}
.contact-map iframe{width:100%;height:100%;border:0;display:block;}

.contact-form{background:var(--paper-alt);border-radius:var(--radius-lg);padding:34px;}
.contact-form h3{font-size:1.15rem;margin-bottom:20px;}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form .field-full{margin-top:16px;}
.contact-form label{display:block;font-size:0.8rem;font-weight:600;margin-bottom:6px;color:var(--ink);}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);
  font-family:var(--font-body);font-size:0.9rem;background:#fff;color:var(--text);
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid var(--accent);outline-offset:1px;}
.contact-form textarea{resize:vertical;min-height:120px;}
.contact-form select{appearance:auto;cursor:pointer;}
.contact-form .btn{margin-top:18px;width:100%;justify-content:center;}
.contact-form .form-row{margin-top:16px;}
.contact-form .form-row:first-child{margin-top:0;}
.contact-form input[type="file"]{padding:9px 12px;cursor:pointer;}
.contact-form .field-hint{margin:6px 0 0;font-size:0.78rem;color:var(--text-muted);}
.availability-warning{
  display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding:14px 16px;
  background:#FFF7E6;border:1px solid #F5C563;border-radius:12px;color:#8A5A00;font-size:0.85rem;line-height:1.5;
}
.availability-warning[hidden]{display:none;}
.availability-warning svg{flex-shrink:0;margin-top:1px;}
.field-note{font-size:0.76rem;color:var(--accent-dark);margin-top:6px;}

.form-section-title{
  font-family:var(--font-head);font-size:0.95rem;color:var(--ink);
  margin:28px 0 4px;padding-top:20px;border-top:1px solid var(--line);
}
.form-section-title:first-of-type{margin-top:20px;}

.consent-check{
  display:flex;align-items:flex-start;gap:10px;margin-top:20px;cursor:pointer;
  font-size:0.82rem;color:var(--text-muted);line-height:1.5;
}
.consent-check input{width:auto;flex-shrink:0;margin-top:3px;accent-color:var(--accent);cursor:pointer;}
.consent-check a{color:var(--accent-dark);font-weight:600;}

.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent);}
.btn-outline:hover{background:var(--accent);color:#fff;}

.legal-content{
  max-width:760px;margin:0 auto;padding:56px 24px 70px;color:var(--text);
}
.legal-content h2{font-size:1.3rem;margin-bottom:18px;}
.legal-content p{margin-bottom:16px;line-height:1.7;color:var(--text-muted);}
.legal-content a{color:var(--accent-dark);font-weight:600;}

.form-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.form-actions .btn{margin-top:0;flex:1;min-width:200px;}
.form-note{font-size:0.78rem;color:var(--text-muted);margin-top:14px;text-align:center;}

.booking-confirm{
  display:flex;gap:12px;align-items:flex-start;margin-top:16px;
  background:rgba(14,166,114,.1);border:1px solid rgba(14,166,114,.3);border-radius:var(--radius);
  padding:16px;color:var(--accent-dark);
}
.booking-confirm[hidden]{display:none;}
.booking-confirm svg{flex-shrink:0;margin-top:2px;}
.booking-confirm strong{display:block;font-size:0.9rem;margin-bottom:4px;}
.booking-confirm p{margin:0;font-size:0.82rem;color:var(--text-muted);}

.price-summary{
  margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;display:flex;flex-direction:column;gap:10px;
}
.price-summary[hidden]{display:none;}
.price-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:0.88rem;color:var(--text);}
.price-summary-row[hidden]{display:none;}
.price-summary-row span{color:var(--text-muted);}
.price-summary-row strong{white-space:nowrap;}
.price-summary-row.price-summary-highlight{
  background:rgba(14,166,114,.08);margin:2px -8px;padding:8px;border-radius:8px;
}
.price-summary-row.price-summary-highlight span,
.price-summary-row.price-summary-highlight strong{color:var(--accent-dark);}

.payment-block{margin-top:16px;}
.payment-pending{
  display:flex;align-items:flex-start;gap:10px;background:var(--paper-alt);
  border-radius:var(--radius);padding:14px 16px;font-size:0.82rem;color:var(--text-muted);line-height:1.5;
}
.payment-pending svg{flex-shrink:0;margin-top:1px;color:var(--accent);}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:980px){
  .vehicle-grid{grid-template-columns:repeat(2,1fr);}
  .about{grid-template-columns:1fr;}
  .features-banner{flex-direction:column;}
  .features-cta{clip-path:none;padding:26px;}
  .features-list{grid-template-columns:repeat(2,1fr);}
  .contact-wrap{grid-template-columns:1fr;}
}

@media (max-width:820px){
  .mobile-panel{display:none;}
  .nav-toggle{display:flex;}
  .site-header.open .mobile-panel{
    display:flex;flex-direction:column;gap:16px;
    position:absolute;top:100%;left:0;right:0;background:#fff;
    padding:18px 24px 22px;border-bottom:1px solid var(--line);
    box-shadow:var(--shadow);
  }
  .site-header.open .main-nav{display:flex;flex-direction:column;gap:14px;}
  .site-header.open .header-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
  .hero-car{
    position:static;width:min(78%,320px);margin:22px auto 0;
    transform:rotate(-1.5deg);
  }
  .search-bar{flex-direction:column;align-items:stretch;margin-bottom:24px;}
  .vehicles{padding-top:60px;}
  .testimonial-grid{grid-template-columns:1fr;}
  .cta-banner{justify-content:center;text-align:center;}
}

@media (max-width:560px){
  .hero{padding-top:36px;}
  .hero-perks{gap:18px;}
  .vehicle-grid{grid-template-columns:1fr;}
  .features-list{grid-template-columns:1fr;}
  .feature{border-left:none;padding-left:0;}
  .about-tag{width:104px;height:104px;font-size:0.68rem;}
  .contact-form .form-row{grid-template-columns:1fr;}
}
