
:root{
  --gold:#d4af37;
  --gold-light:#f2d78a;
  --red:#b3121a;
  --black:#0a0a0a;
  --black-2:#111111;
  --dark:#151515;
  --white:#f5f5f5;
  --gray:#a0a0a0;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--black);color:var(--white);font-family:'Montserrat',sans-serif;}
h1,h2,h3{font-family:'Cormorant Garamond',serif;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
a{text-decoration:none;color:inherit;}

.header{position:sticky;top:0;z-index:50;background:rgba(8,8,8,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--gold);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;}
.logo img{height:78px;object-fit:contain;}
.nav{display:none;gap:32px;font-weight:500;letter-spacing:.5px;}
.nav a{position:relative;transition:.2s;}
.nav a:hover{color:var(--gold-light);}
@media(min-width:900px){.nav{display:flex;}}
.btn{display:inline-block;padding:13px 28px;border-radius:6px;font-weight:600;letter-spacing:.5px;transition:.25s;}
.btn-primary{background:linear-gradient(135deg,var(--red),#7d0d12);color:#fff;border:1px solid var(--gold);}
.btn-primary:hover{background:linear-gradient(135deg,#c81820,var(--red));box-shadow:0 0 18px rgba(179,18,26,.5);}
.btn-full{width:100%;text-align:center;margin-top:18px;border:none;cursor:pointer;font-size:15px;}
.btn-header{display:none;}
@media(min-width:900px){.btn-header{display:inline-block;padding:11px 22px;font-size:.9rem;}}

.hero{position:relative;padding:70px 0;min-height:660px;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 620px 480px at 0% 0%, rgba(5,5,5,.95) 0%, rgba(5,5,5,.75) 40%, rgba(5,5,5,0) 75%),
    linear-gradient(260deg,rgba(5,5,5,.85) 0%,rgba(5,5,5,.6) 35%,rgba(5,5,5,.15) 65%,rgba(5,5,5,0) 100%),
    url('images/image-de-fond.jpg') right center/cover no-repeat;
  z-index:0;
}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:40px;align-items:start;}
@media(min-width:1000px){.hero-inner{grid-template-columns:0.85fr 1.15fr;}}
.hero-text{max-width:420px;padding-top:10px;}
.hero-text h1{font-size:3.2rem;font-weight:700;line-height:1.1;color:var(--white);}
.highlight{background:linear-gradient(135deg,var(--gold-light),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-tagline{color:var(--gold);letter-spacing:3px;font-size:.85rem;font-weight:600;margin:18px 0 14px;}
.hero-sub{color:var(--gray);margin-bottom:32px;font-size:1.05rem;line-height:1.5;}

.booking-widget{background:rgba(17,17,17,.92);border:1px solid var(--gold);border-radius:16px;padding:28px;box-shadow:0 10px 40px rgba(0,0,0,.6);backdrop-filter:blur(4px);margin-left:auto;margin-right:0;max-width:440px;width:100%;transform:translateX(20px);}
.booking-widget h3{font-size:1.5rem;color:var(--gold-light);margin-bottom:4px;}
.widget-sub{color:var(--gray);font-size:.85rem;margin-bottom:20px;}
.booking-widget label{display:block;font-size:.8rem;color:var(--gold-light);margin:16px 0 6px;letter-spacing:.5px;}
.booking-widget select,.booking-widget input[type=time],.booking-widget input[type=email],.booking-widget input[type=text]{width:100%;padding:11px;border-radius:8px;border:1px solid #333;background:#0d0d0d;color:#fff;font-size:.95rem;}
.booking-widget input[type=text]::placeholder{color:#666;}
.booking-widget input[type=text]:disabled{opacity:.4;cursor:not-allowed;background:#0a0a0a;}
.booking-widget select:focus,.booking-widget input:focus{outline:none;border-color:var(--gold);}

.mode-label{margin-top:0 !important;text-align:center;}
.mode-switch{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:6px;}
.mode-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:#555;transition:.3s;}
.mode-icon.active{color:var(--gold-light);}
.mode-icon svg{width:22px;height:22px;}
.mode-track{width:64px;height:32px;background:#0d0d0d;border:1px solid var(--gold);border-radius:20px;position:relative;cursor:pointer;}
.mode-thumb{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--gold-light),var(--gold));position:absolute;top:2px;left:2px;transition:.3s;box-shadow:0 2px 6px rgba(0,0,0,.4);}
.mode-track.email .mode-thumb{left:34px;}
.mode-current{text-align:center;color:var(--gray);font-size:.8rem;margin-bottom:6px;}
.email-field-wrap{margin-top:4px;min-height:0;overflow:hidden;max-height:0;opacity:0;transition:max-height .25s ease,opacity .2s ease,margin .25s ease;}
.email-field-wrap.visible{max-height:90px;opacity:1;margin-top:4px;}

.date-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.date-row label{margin-top:0;}
.date-display{padding:11px;border-radius:8px;border:1px solid #333;background:#0d0d0d;color:var(--gold-light);font-size:.9rem;text-align:center;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

.calendar-box{background:#0d0d0d;border:1px solid #2a2a2a;border-radius:10px;padding:14px;margin-top:16px;}
.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--gold-light);font-weight:600;font-family:'Cormorant Garamond',serif;font-size:1.15rem;}
.cal-nav{background:none;border:none;color:var(--gold);cursor:pointer;font-size:.9rem;padding:4px 8px;}
.cal-nav:hover{color:var(--gold-light);}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.7rem;color:var(--gray);margin-bottom:6px;letter-spacing:.5px;}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-day{text-align:center;padding:8px 0;border-radius:6px;font-size:.85rem;cursor:pointer;color:#ddd;transition:.15s;}
.cal-day:hover{background:#242424;}
.cal-day.empty{cursor:default;}
.cal-day.empty:hover{background:none;}
.cal-day.selected{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#000;font-weight:700;}
.cal-day.in-range{background:rgba(212,175,55,.25);color:var(--gold-light);}
.cal-day.past{color:#3d3d3d;cursor:not-allowed;}
.cal-day.past:hover{background:none;}

.features{padding:55px 0;border-bottom:1px solid #1e1e1e;background:var(--black-2);}
.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;text-align:center;}
@media(min-width:800px){.features-grid{grid-template-columns:repeat(4,1fr);}}
.icon-gold{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle,#1a1a1a,#0a0a0a);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;}
.icon-gold svg{width:26px;height:26px;fill:var(--gold-light);}
.feature p{color:var(--gray);font-size:.9rem;letter-spacing:.3px;}

.icon-gold-sm{display:inline-flex;width:22px;height:22px;vertical-align:middle;margin-right:6px;}
.icon-gold-sm svg{width:16px;height:16px;fill:var(--gold-light);}
.contact-line{display:flex;align-items:center;}

.section-title{text-align:center;letter-spacing:3px;font-weight:700;margin:70px 0 45px;font-size:2.1rem;color:var(--gold-light);font-family:'Cormorant Garamond',serif;}
.vehicules{padding-bottom:40px;}
.vehicules-grid{display:grid;grid-template-columns:1fr;gap:26px;}
@media(min-width:700px){.vehicules-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1100px){.vehicules-grid{grid-template-columns:repeat(3,1fr);}}
.vehicule-card{background:var(--black-2);border-radius:14px;overflow:hidden;border:1px solid #2a2a2a;transition:.25s;}
.vehicule-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 12px 30px rgba(212,175,55,.15);}
.vehicule-image-wrap{position:relative;cursor:pointer;overflow:hidden;}
.vehicule-image-wrap img{width:100%;height:200px;object-fit:cover;background:#1a1a1a;transition:.3s;}
.vehicule-image-wrap:hover img{transform:scale(1.05);}
.gallery-badge{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.7);color:var(--gold-light);font-size:.75rem;padding:4px 10px;border-radius:20px;border:1px solid var(--gold);}
.vehicule-info{padding:20px;}
.vehicule-info h3{font-size:1.3rem;margin-bottom:6px;color:var(--white);}
.vehicule-info .prix{color:var(--gold-light);font-weight:600;margin-bottom:10px;font-family:'Montserrat',sans-serif;}
.vehicule-info .specs{color:var(--gray);font-size:.85rem;margin-bottom:16px;}
.btn-outline{display:block;text-align:center;padding:11px;border:1px solid var(--gold);color:var(--gold-light);border-radius:8px;font-weight:600;cursor:pointer;background:none;width:100%;transition:.2s;}
.btn-outline:hover{background:var(--gold);color:#000;}

.gallery-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:100;align-items:center;justify-content:center;}
.gallery-modal.active{display:flex;}
.gallery-content{position:relative;max-width:800px;width:90%;text-align:center;}
.gallery-content img{width:100%;max-height:60vh;object-fit:contain;border-radius:10px;border:1px solid var(--gold);}
.gallery-close{position:absolute;top:-40px;right:0;background:none;border:none;color:var(--gold-light);font-size:2rem;cursor:pointer;}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.6);border:1px solid var(--gold);color:var(--gold-light);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1rem;}
.gallery-prev{left:-10px;}
.gallery-next{right:-10px;}
.gallery-thumbs{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
.gallery-thumbs img{width:60px;height:44px;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.6;border:1px solid #333;}
.gallery-thumbs img.active{opacity:1;border-color:var(--gold);}

.informations{background:var(--black-2);padding:20px 0 60px;border-top:1px solid #1e1e1e;}
.info-block{margin-bottom:20px;}
.info-block .section-title{margin:50px 0 30px;}
.info-text{max-width:700px;margin:0 auto;text-align:center;color:var(--gray);line-height:1.7;font-size:1rem;}
.why-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:600px;margin:0 auto;}
@media(min-width:700px){.why-grid{grid-template-columns:1fr 1fr;}}
.why-item{background:#0d0d0d;border:1px solid #2a2a2a;border-radius:10px;padding:16px 20px;font-size:.95rem;color:var(--white);display:flex;align-items:flex-start;gap:8px;text-align:left;}
.why-item span.why-check{flex-shrink:0;margin-top:2px;}
.why-check{color:var(--gold-light);font-weight:700;margin-right:8px;}

.footer{padding:55px 0 22px;border-top:1px solid var(--gold);}
.footer-grid{display:grid;grid-template-columns:1fr;gap:34px;text-align:center;justify-items:center;}
@media(min-width:800px){.footer-grid{grid-template-columns:1fr 1fr 1fr;align-items:start;justify-content:center;text-align:center;}}
.footer-logo{height:90px;margin-bottom:14px;}
.footer h4{margin-bottom:12px;color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:1.2rem;}
.footer p,.footer a{color:var(--gray);font-size:.9rem;margin-bottom:9px;display:block;line-height:1.6;}
.quick-links{display:flex;flex-direction:column;gap:2px;}
.quick-links a{margin-bottom:0;line-height:1.9;}
.footer a:hover{color:var(--gold-light);}
.footer .contact-line{justify-content:center;}
.socials{display:flex;gap:12px;margin-top:14px;justify-content:center;}
.social-gold{width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;transition:.2s;color:var(--gold-light);}
.social-gold svg{width:37px;height:25px;stroke:var(--gold-light);transform:translateY(5px);}
.social-gold:hover{background:transparent;}
.social-gold:hover svg{stroke:var(--gold-light);fill:var(--gold-light);}
.footer-bottom{text-align:center;color:#555;font-size:.8rem;margin-top:34px;}

.whatsapp-float{position:fixed;bottom:24px;right:24px;background:#25d366;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.5);z-index:60;border:1px solid var(--gold);}
.whatsapp-float svg{width:30px;height:30px;}


/* ===================== RESPONSIVE MOBILE (<=768px) ===================== */
@media(max-width:768px){
  .header{transition:padding .2s ease;}
  .header.scrolled .header-inner{padding:4px 24px;}
  .header.scrolled .logo img{height:44px;}
  .hero::before{
    background:
      linear-gradient(180deg, rgba(5,5,5,.75) 0%, rgba(5,5,5,.9) 60%, rgba(5,5,5,1) 100%),
      url('images/image-de-fond-mobile.jpg') center top/cover no-repeat;
  }
  .hero-inner{grid-template-columns:1fr !important;}
  .hero-text{max-width:100%;padding-top:0;text-align:center;margin:0 auto;}
  .hero-text h1{font-size:2.2rem;}
  .hero-sub{margin-left:auto;margin-right:auto;}
  .booking-widget{
    margin-left:auto !important;
    margin-right:auto !important;
    transform:none !important;
    max-width:100%;
  }
  .date-row,.two-col{grid-template-columns:1fr 1fr;gap:10px;}
}

@media(max-width:400px){
  .date-row,.two-col{grid-template-columns:1fr;}
}
