
    :root {
      --bg: #0b0d10;
      --panel: #101317;
      --panel-2: #151920;
      --gold: #d6a94b;
      --gold-2: #f0c76a;
      --text: #f4f1ea;
      --muted: #b8b2a8;
      --line: rgba(214, 169, 75, 0.22);
      --shadow: 0 20px 40px rgba(0,0,0,.35);
      --radius: 22px;
      --max: 1240px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: 'Inter', system-ui, sans-serif;
      color: var(--text);
      background:
        radial-gradient(circle at top right, rgba(214,169,75,.14), transparent 24%),
        linear-gradient(180deg, #090b0d 0%, #0f1115 100%);
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    .container { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
    .eyebrow {
      display: inline-block;
      font-size: .82rem;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--gold-2);
      margin-bottom: 14px;
      font-weight: 700;
    }
    .section-title {
      font-family: 'Bebas Neue', sans-serif;
      font-size: clamp(2.2rem, 4vw, 4rem);
      letter-spacing: .03em;
      margin: 0;
      line-height: .95;
    }
    .gold { color: var(--gold); }
    .muted { color: var(--muted); }


    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 14px 22px;
      border-radius: 999px;
      font-weight: 800;
      letter-spacing: .02em;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
      border: 1px solid transparent;
      cursor: pointer;
    }

    .btn:hover { transform: translateY(-2px); }
    .btn-primary{

    position:relative;

    overflow:hidden;

    background:linear-gradient(
    135deg,
    #ffd978,
    #d6a94b
    );

    color:#1b1203;

    font-weight:800;

    border:none;

    box-shadow:

    0 12px 30px rgba(214,169,75,.45);

    transition:.35s;

    }

.btn-primary:hover{

transform:translateY(-5px);

box-shadow:

0 20px 40px rgba(214,169,75,.55);

}

.btn-primary::before{

content:"";

position:absolute;

left:-120%;

top:0;

width:70%;

height:100%;

background:

linear-gradient(
90deg,
transparent,
rgba(255,255,255,.45),
transparent
);

transition:.8s;

}

.btn-primary:hover::before{

left:150%;

}
    .btn-outline {
      border-color: rgba(214,169,75,.35);
      background: rgba(255,255,255,.03);
      color: var(--text);
    }
    /*.fareharbor-note {
      margin: 10px 0 0;
      font-size: .95rem;
      color: var(--muted);
      line-height: 1.6;
    }*/

    .fr { display: inline; }
    .en { display: none; }
    body.english .fr { display: none; }
    body.english .en { display: inline; }
    .language-switch .fr { display: inline; }
    .language-switch .en { display: none; }
    body.english .language-switch .fr { display: none; }
    body.english .language-switch .en { display: inline; }

    .hero {
      padding: 36px 0 24px;
    }

    .hero-card{
    position:relative;
    overflow:hidden;
    border-radius:32px;
    min-height:760px;
    isolation:isolate;
    border:1px solid rgba(255,255,255,.08);
    background:#000;
    box-shadow:
        0 35px 80px rgba(0,0,0,.45),
        inset 0 1px rgba(255,255,255,.05);
}

    .hero-bg{
    position:absolute;
    inset:0;
    z-index:-2;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.90) 0%,
        rgba(0,0,0,.72) 38%,
        rgba(0,0,0,.30) 68%,
        rgba(0,0,0,.15) 100%
    ),
    url("../images/hero.webp") center center / cover no-repeat;

    animation:heroZoom 18s ease-in-out infinite alternate;
}

@keyframes heroZoom{

from{
transform:scale(1);
}

to{
transform:scale(1.10);
}

}

.hero-card::after{

content:"";

position:absolute;

inset:0;

background:

radial-gradient(circle at 80% 20%,
rgba(214,169,75,.22),
transparent 45%),

radial-gradient(circle at 20% 80%,
rgba(214,169,75,.12),
transparent 35%);

pointer-events:none;

animation:goldGlow 8s ease infinite alternate;

}

@keyframes goldGlow{

from{
opacity:.4;
}

to{
opacity:1;
}

}

    .hero-card::before {
      content: '';
      position: absolute;
      inset: auto auto -90px -60px;
      width: 360px;
      height: 360px;
      background: radial-gradient(circle, rgba(214,169,75,.15), transparent 68%);
      z-index: -1;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 24px;
      align-items: center;
      min-height: 680px;
      padding: 58px;
    }

    .hero-copy { max-width: 620px; }
    
    .hero-copy h1{

font-family:"Bebas Neue",sans-serif;

font-size:clamp(4.5rem,10vw,8.5rem);

line-height:.88;

letter-spacing:.05em;

margin:0;

text-shadow:

0 6px 30px rgba(0,0,0,.55);

animation:fadeHero 1s ease;

}

@keyframes fadeHero{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:none;

}

}

    .hero-copy p{

font-size:1.15rem;

line-height:1.9;

max-width:560px;

color:#f2eee5;

margin:28px 0;

animation:fadeHero 1.3s ease;

}
    .cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
    }

    .hero-side {
      align-self: stretch;
      display: flex;
      justify-content: flex-end;
      align-items: flex-end;
    }

    .hero-float{

width:min(430px,100%);

padding:20px;

border-radius:28px;

background:rgba(15,18,22,.45);

backdrop-filter:blur(14px);

border:1px solid rgba(255,255,255,.12);

box-shadow:

0 30px 60px rgba(0,0,0,.45);

transition:.35s;

}

.hero-float:hover{

transform:translateY(-10px);

box-shadow:

0 45px 70px rgba(0,0,0,.55);

}
    .hero-float img,
    .hero-float video {
      border-radius: 20px;
      height: 260px;
      width: 100%;
      object-fit: cover;
      border: 1px solid rgba(255,255,255,.08);
    }
    .hero-float h3 {
      margin: 18px 0 8px;
      font-size: 1.2rem;
    }
    .hero-float p {
      margin: 0 0 14px;
      color: var(--muted);
      line-height: 1.65;
    }

    .features {
      margin-top: 18px;
      padding: 18px 0 0;
    }
    .feature-bar {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 12px;
    }
    .feature-item {
      background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
      border: 1px solid rgba(255,255,255,.06);
      border-radius: 18px;
      padding: 18px 16px;
      display: flex;
      gap: 12px;
      align-items: center;
      min-height: 82px;
    }
    .feature-icon {
      width: 42px;
      height: 42px;
      flex: 0 0 auto;
      border-radius: 12px;
      display: grid;
      place-items: center;
      background: rgba(214,169,75,.1);
      color: var(--gold-2);
      border: 1px solid rgba(214,169,75,.2);
    }
    .feature-item strong {
      display: block;
      font-size: .88rem;
      line-height: 1.35;
    }

    section {
      padding: 88px 0 0;
    }

    .tour-grid {
      display: grid;
      grid-template-columns: 1.05fr .95fr .8fr;
      gap: 24px;
      align-items: stretch;
    }

    .panel{

transition:.35s;

}

.panel:hover{

transform:translateY(-8px);

border-color:rgba(214,169,75,.35);

box-shadow:

0 25px 50px rgba(0,0,0,.45);

}

    .bullet-list {
      display: grid;
      gap: 22px;
      margin-top: 28px;
    }
    .bullet {
      display: grid;
      grid-template-columns: 50px 1fr;
      gap: 16px;
      align-items: start;
    }
    .bullet-badge {
      width: 50px;
      height: 50px;
      border-radius: 16px;
      display: grid;
      place-items: center;
      color: var(--gold-2);
      background: rgba(214,169,75,.1);
      border: 1px solid rgba(214,169,75,.18);
      font-size: 1.35rem;
    }
    .bullet h3 {
      margin: 0 0 6px;
      font-size: 1.04rem;
    }
    .bullet p {
      margin: 0;
      color: var(--muted);
      line-height: 1.75;
    }

    .tour-details-btn {
  margin-top: 30px;
}
    .tour-photo {
      border-radius: 22px;
      overflow: hidden;
      position: relative;
      border: 1px solid rgba(255,255,255,.08);
      padding: 0;
    }
    .tour-photo-slider {
      position: relative;
      height: 100%;
      min-height: 560px;
    }
    .tour-photo-track {
      display: flex;
      height: 100%;
      transition: transform .4s ease;
    }

    .tour-photo-track img {
      height: 100%;
      min-height: 560px;
      object-fit: cover;
      width: 100%;
      flex: 0 0 100%;
      display: block;
      border-radius: 22px;
    }
    .tour-photo-controls {
      position: absolute;
      inset: auto 16px 16px 16px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      pointer-events: none;
    }

    .tour-photo-controls button {
      pointer-events: auto;
      width: 42px;
      height: 42px;
      border: 2px solid var(--gold-2);
      border-radius: 50%;
      background: rgba(9,11,13,.75);
      color: var(--gold-2);
      cursor: pointer;
      font-size: 1.2rem;
      font-weight: bold;
      transition: all .3s ease;
    }

    .tour-photo-controls button:hover {
      background: var(--gold-2);
      color: #090b0d;
      transform: scale(1.1);
    }

    .tour-photo-dots {
      display: flex;
      gap: 8px;
      pointer-events: auto;
    }
    .tour-photo-dots span {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: rgba(255,255,255,.45);
      display: block;
    }
    .tour-photo-dots span.active {
      background: var(--gold-2);
    }
    .tour-photo::after {
      content: '';
      position: absolute;
      inset: 20px;
      border-radius: 22px;
      pointer-events: none;
    }

    .price-card .price {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 3rem;
      line-height: 1;
      margin: 6px 0 0;
      color: var(--gold-2);
      letter-spacing: .03em;
    }
    .price-card .small {
      color: var(--muted);
      font-size: .95rem;
      line-height: 1.6;
    }
    .divider {
      height: 1px;
      background: linear-gradient(90deg, rgba(214,169,75,.35), rgba(255,255,255,.04));
      margin: 20px 0;
    }
    .time-list, .rule-list { display: grid; gap: 12px; }
    .time-item, .rule-item {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      color: #ece6da;
    }
    .tick { color: var(--gold-2); }

/* =========================
   APERCU GALERIE ACCUEIL
========================= */

.gallery-page-preview {
  padding: 70px 0;
}


/* TITRE + BOUTON */

.gallery-page-preview .gallery-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}


.gallery-page-preview .gallery-page-heading {
  text-align: left;
}


.gallery-page-preview .gallery-page-heading .section-title {
  margin-bottom: 12px;
}


.gallery-page-preview .gallery-page-heading .muted {
  max-width: 650px;
  line-height: 1.7;
}


/* BOUTON */

.gallery-page-preview .gallery-page-action {
  flex-shrink: 0;
}


/* PHOTO */

.gallery-page-preview .gallery-page-card {
  position: relative;
  display: block;
  width: 100%;
  height: 500px;
  overflow: hidden;
  border-radius: 18px;
  text-decoration: none;
}


.gallery-page-preview .gallery-page-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}


.gallery-page-preview .gallery-page-card:hover img {
  transform: scale(1.05);
}


/* =========================
   MOBILE
========================= */

@media (max-width: 760px) {

  .gallery-page-preview {
    padding: 60px 0;
  }

  .gallery-page-preview .gallery-page-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 30px;
  }

  .gallery-page-preview .gallery-page-heading {
    text-align: left;
  }

  .gallery-page-preview .gallery-page-action {
    width: 100%;
  }

  .gallery-page-preview .gallery-page-action .btn {
    width: 100%;
    text-align: center;
  }

  .gallery-page-preview .gallery-page-card {
    height: 300px;
    border-radius: 18px;
  }

}

    .lightbox {
      position: fixed;
      inset: 0;
      background: rgba(3,4,6,.86);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 100;
      padding: 24px;
    }
    .lightbox.active { display: flex; }
    .lightbox-inner {
      position: relative;
      max-width: min(980px, 100%);
      width: 100%;
    }
    .lightbox-inner img {
      width: 100%;
      max-height: 80vh;
      object-fit: contain;
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 24px 60px rgba(0,0,0,.4);
    }
    /* STYLE PREMIUM NOIR/OR POUR LA LIGHTBOX */
.lightbox-close,
.lightbox-nav {
  position: absolute;
  border: 2px solid var(--gold-2);   /* bordure or */
  background: #090b0d;               /* fond noir premium */
  color: var(--gold-2);              /* icône or */
  cursor: pointer;
  border-radius: 50%;                /* rond comme le slider */
  width: 46px;
  height: 46px;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .25s;
}

/* Hover premium */
.lightbox-close:hover,
.lightbox-nav:hover {
  background: var(--gold-2);
  color: #090b0d;
}

/* Position de la croix */
.lightbox-close {
  top: 14px;
  right: 14px;
}

/* Position des flèches */
.lightbox-nav.prev {
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.lightbox-nav.next {
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}


    .testimonials-grid {
      display: grid;
      grid-template-columns: 1.1fr repeat(3, 1fr);
      gap: 18px;
    }

    .rating-card {
      display: grid;
      place-content: center;
      text-align: center;
      min-height: 100%;
      gap: 8px;
    }
    .rating-card .g {
      font-size: 3rem;
      font-weight: 900;
      line-height: 1;
      background: linear-gradient(90deg, #4285F4 0 25%, #EA4335 25% 50%, #FBBC05 50% 75%, #34A853 75% 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .rating-card .stars { color: #ffcf67; letter-spacing: .2em; }
    .rating-card .score {
      font-family: 'Bebas Neue', sans-serif;
      font-size: 3.1rem;
      line-height: 1;
    }

    .review-card {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 18px;
      min-height: 260px;
    }
    .review-card p {
      margin: 0;
      color: #e6dfd2;
      line-height: 1.78;
    }
    .review-author {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .avatar {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: linear-gradient(135deg, rgba(214,169,75,.28), rgba(214,169,75,.08));
      border: 1px solid rgba(214,169,75,.25);
      color: var(--gold-2);
      font-weight: 800;
    }

    footer {
      padding: 88px 0 34px;
      
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr .9fr .95fr;
      gap: 24px;
    }
    .footer-title {
      font-size: .88rem;
      text-transform: uppercase;
      letter-spacing: .16em;
      color: var(--gold-2);
      margin-bottom: 14px;
      font-weight: 800;
    }
    .footer-list {
      display: grid;
      gap: 10px;
      color: var(--muted);
    }
    .socials {
      display: flex;
      gap: 10px;
      margin-top: 16px;
      flex-wrap: wrap;
    }
    .socials a {
      width: 42px;
      height: 42px;
      border-radius: 12px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.07);
      background: rgba(255,255,255,.03);
      color: var(--gold-2);
    }
    .socials a:hover {
      background: rgba(255,255,255,.06);
    }
    .socials a i {
      font-size: 26px;
      color: #f5c542;
      transition: 0.3s;
    }
    .socials a i:hover {
      color: #d4a838;
    }

    
    .fb-icon i {
    font-size: 26px;
    color: #f5c542;
    transition: 0.3s;
    }

    .fb-icon i:hover {
    color: #d4a838;
    }

    .wa-icon i {
    font-size: 26px;
    color: #f5c542;
    transition: 0.3s;
    }

    .wa-icon i:hover {
    color: #d4a838;
    }

    .ta-icon i {
    font-size: 26px;
    color: #f5c542;
    transition: 0.3s;
    }

    .ta-icon i:hover {
    color: #d4a838;
    }

.social-icons {
  display: flex;
  gap: 18px;
  justify-content: center;
  margin-top: 20px;
}

.social-icons a i {
  font-size: 28px;
  color: #f5c542;
  transition: 0.3s;
}

.social-icons a i:hover {
  color: #d4a838;
}

    .footer-bottom {
      margin-top: 26px;
      padding-top: 22px;
      border-top: 1px solid rgba(255,255,255,.06);
      display: flex;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
      color: #9a9489;
      font-size: .92rem;
    }
    .map-container {
    width: 100%;
    height: 350px;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 0 25px rgba(245,197,66,0.25);
    }

    .map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
    }
    
    .footer-gps-btn {
  margin-top: 18px;
}

.gps-button-footer {
  display: inline-block;
  padding: 12px 20px;
  background: #000;
  border: 2px solid var(--gold);
  border-radius: 10px;
  color: var(--gold-2);
  font-weight: 700;
  transition: 0.3s ease;
}

.gps-button-footer:hover {
  background: var(--gold);
  color: #000;
  box-shadow: 0 0 18px rgba(245,197,66,0.6);
}


    @media (max-width: 1120px) {
      .hero-grid,
      .tour-grid,
      .testimonials-grid,
      .footer-grid,
      .gallery-grid,
      .feature-bar {
        grid-template-columns: 1fr 1fr;
      }
      .hero-grid { min-height: auto; padding: 34px; }
      .hero-side { justify-content: stretch; }
      .testimonials-grid > :first-child { grid-column: 1 / -1; }
      .footer-grid > :first-child { grid-column: 1 / -1; }
    }

    @media (max-width: 760px) {
      .hero-card { min-height: auto; }
      .hero-grid,
      .tour-grid,
      .testimonials-grid,
      .footer-grid,
      .gallery-grid,
      .feature-bar {
        grid-template-columns: 1fr;
      }
      .hero-grid { padding: 28px 22px; }
      .hero-copy h1 { font-size: clamp(3.3rem, 15vw, 5rem); }
      .hero-float img { height: 220px; }
      .tour-photo img { min-height: 360px; }
      .panel { padding: 22px; }
      .section-title { font-size: clamp(2rem, 10vw, 3.2rem); }
      .cta-row .btn { width: 100%; }

    }

    .about-premium {
        padding: 100px 20px;
        background: #000;
        color: #fff;
    }

    .about-wrapper {
        max-width: 1100px;
        margin: auto;
    }

    .about-heading {
        font-size: 36px;
        font-weight: 700;
        color: #f5c542;
        text-transform: uppercase;
        margin-bottom: 20px;
        letter-spacing: 1px;
    }

    .about-content p {
        font-size: 18px;
        line-height: 1.8;
        color: #e6e6e6;
        margin-bottom: 25px;
    }

    /* GALERIE */
    .about-gallery {
        margin-top: 50px;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 25px;
    }

    .gallery-item {
        position: relative;
        overflow: hidden;
        border-radius: 10px;
        box-shadow: 0 0 20px rgba(245, 197, 66, 0.25);
        transition: transform 0.3s ease;
    }

    .gallery-item:hover {
        transform: scale(1.03);
    }

    .gallery-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .caption {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 10px;
        background: rgba(0, 0, 0, 0.6);
        color: #f5c542;
        font-size: 16px;
        text-align: center;
        font-weight: 600;
    }

    /* SWITCH LANGUE */
    .lang-switch {
        text-align: right;
        margin-bottom: 30px;
    }

    .btn-lang {
        background: #222;
        color: #f5c542;
        border: 1px solid #f5c542;
        padding: 8px 18px;
        margin-left: 10px;
        cursor: pointer;
        font-weight: 600;
        border-radius: 5px;
        transition: 0.3s;
    }

    .btn-lang.active,
    .btn-lang:hover {
        background: #f5c542;
        color: #000;
    }

/* ================================
   BILINGUE COMPATIBLE
   ================================ */

.lang.fr,
.lang.en {
  display: inline;
}

.fr,
.en {
  display: block;
}


/* MODE ANGLAIS */
body.english .fr,
body.english .lang.fr {
  display: none !important;
}

body.english .en,
body.english .lang.en {
  display: block !important;
}


/* MODE FRANCAIS */
body:not(.english) .en,
body:not(.english) .lang.en {
  display: none !important;
}


/* Smooth fade */
.fr, .en, .lang.fr, .lang.en {
  transition: opacity .25s ease;
}

/* Fix header offset mobile */
@media (max-width: 760px) {
  #accueil {
    padding-top: 110px; /* Ajustable 100–130px */
  }
}

/* Hero mobile spacing */
@media (max-width: 760px) {
  .hero {
    padding-top: 40px;
  }

  .hero-bg {
    background-position: center;
    background-size: cover;
  }

  .hero-grid {
    padding: 24px 18px;
    grid-template-columns: 1fr;
  }

  .hero-copy h1 {
    font-size: clamp(3rem, 14vw, 4.8rem);
  }

  .hero-float {
    margin-top: 22px;
  }
}

/* Slider tour mobile fix */
@media (max-width: 760px) {

  .tour-photo-slider {
    width: 100%;
    min-height: 360px;
    overflow: hidden;
  }

  .tour-photo-track {
    width: 100%;
  }

  .tour-photo-track img {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 360px;
    min-height: 360px;
    object-fit: cover;
  }

}

/* ================================
   SWIPE MOBILE - SLIDER TOUR
================================ */

.tour-photo-slider,
.tour-photo-track {
  touch-action: pan-y;
  overscroll-behavior-x: contain;
}

/* Panels mobile */
@media (max-width: 760px) {
  .panel {
    padding: 20px;
  }
}

/* Footer mobile */
@media (max-width: 760px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }
}

/* HEADER MOBILE – FIX HAUTEUR & ALIGNEMENT */
@media (max-width: 760px) {

  #accueil {
    padding-top: 110px; /* Ajustable 100–130px */
  }
}


/* WHATSAPP FLOATING BUTTON PREMIUM */
.whatsapp-float {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 62px;
  height: 62px;
  background: #090b0d; /* noir premium */
  color: var(--gold-2); /* or premium */
  border: 2px solid var(--gold-2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  text-decoration: none;
  z-index: 9999;
  box-shadow: 0 0 18px rgba(0,0,0,0.45);
  transition: all .25s ease;
}

/* Hover premium */
.whatsapp-float:hover {
  background: var(--gold-2);
  color: #090b0d;
  border-color: var(--gold-2);
  transform: scale(1.08);
}

/* Mobile optimisation */
@media (max-width: 760px) {
  .whatsapp-float {
    width: 52px;
    height: 52px;
    font-size: 28px;
    bottom: 18px;
    right: 18px;
  }
}

/* ==========================
   RESERVATION SECTION
=========================== */


.reservation-section{

background:#090909;
padding:120px 0;
color:white;
text-align: center;
}


.reservation-box{

max-width:1000px;

margin:auto;

background:#111;

border:1px solid rgba(212,175,55,.35);

border-radius:25px;

padding:50px;

box-shadow:0 20px 50px rgba(0,0,0,.5);

margin-top: 30px;


}



.reservation-intro{

text-align:center;
margin-bottom:45px;

}



.reservation-icon {
  width: 80px;
  height: 80px;

  margin: auto;

  display: flex;
  align-items: center;
  justify-content: center;

  background: transparent;

  color: #d4af37;

  border: 2px solid #d4af37;

  border-radius: 50%;

  font-size: 30px;
}



.reservation-intro h3{

font-size:30px;

margin:20px 0;

}



.reservation-intro p{

color:#bbb;

line-height:1.8;

}



.form-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

}



.form-group{

margin-bottom:25px;

}



.form-group label{

display:block;

margin-bottom:10px;

color:#d4af37;

font-weight:600;

}



.form-group input,
.form-group select,
.form-group textarea{


width:100%;

padding:15px;

background:#181818;

border:1px solid #333;

border-radius:10px;

color:white;

font-size:16px;

}



.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

outline:none;

border-color:#d4af37;

}

/* ==================================
   CALENDRIER DU CHAMP DATE
================================== */

input[type="date"] {
  color: #ffffff;
  color-scheme: dark;
}

/* Icône calendrier GOLD #f5c542 */
input[type="date"]::-webkit-calendar-picker-indicator {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23f5c542'><path d='M6 2v2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H8V2H6zm10 6H4v8h12V8z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    filter: none !important; /* désactive le rouge */
    cursor: pointer;
}





.booking-btn{

width:100%;

padding:18px;

background:#d4af37;

color:#000;

border:none;

border-radius:50px;

font-size:18px;

font-weight:bold;

cursor:pointer;

transition:.3s;

}



.booking-btn:hover{

transform:translateY(-3px);

background:#f0c94d;

}



@media(max-width:768px){


.form-grid{

grid-template-columns:1fr;

}


.reservation-box{

padding:30px;

}


}

@media(max-width:480px){

.reservation-section{
    padding:70px 15px;
}

.reservation-box{
    padding:25px 20px;
}

.section-title{
    font-size:28px;
}

.reservation-intro h3{
    font-size:24px;
}

}

/* =========================
   APERCU À PROPOS (INDEX)
========================= */

.about-preview-section {
  padding: 70px 0;
}

.about-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}

.about-preview-heading {
  text-align: left;
}

.about-preview-heading .section-title {
  margin-bottom: 12px;
}

.about-preview-heading .muted {
  max-width: 650px;
  line-height: 1.7;
}

.about-preview-action {
  flex-shrink: 0;
}

.about-preview-card {
  position: relative;
  display: block;
  width: 100%;
  height: 500px;
  overflow: hidden;
  border-radius: 18px;
  text-decoration: none;
}

.about-preview-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}

.about-preview-card:hover img {
  transform: scale(1.05);
}

/* MOBILE */
@media (max-width: 760px) {

  .about-preview-section {
    padding: 60px 0;
  }

  .about-preview-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
    margin-bottom: 30px;
  }

  .about-preview-heading {
    text-align: left;
  }

  .about-preview-action {
    width: 100%;
  }

  .about-preview-action .btn {
    width: 100%;
    text-align: center;
  }

  .about-preview-card {
    height: 300px;
    border-radius: 18px;
  }
}

/* =========================================================
   TITRES SUR IMAGES — GALERIE / TOUR / À PROPOS
========================================================= */

.gallery-hero-content h1,
.tour-page-hero-content h1,
.about-hero-content h1 {
  margin: 16px 0 24px;

  font-family: 'Bebas Neue', sans-serif;

  font-size: clamp(4rem, 8vw, 7.5rem);

  line-height: .88;

  letter-spacing: .025em;

  color: var(--text);

  text-align: center;

  text-shadow:
    0 4px 20px rgba(0,0,0,.75);
}


/* Partie dorée */

.gallery-hero-content h1 .gold,
.tour-page-hero-content h1 .gold,
.about-hero-content h1 .gold {
  color: var(--gold-2);
}


/* Sous-titre */

.gallery-hero-content p,
.tour-page-hero-content p,
.about-hero-content p {
  max-width: 700px;

  margin: 0 auto;

  color: var(--text);

  font-size: 1.05rem;

  line-height: 1.8;

  text-align: center;

  text-shadow:
    0 2px 10px rgba(0,0,0,.8);
}

@media (max-width: 760px) {

  .gallery-hero-content h1,
  .tour-page-hero-content h1,
  .about-hero-content h1 {
    font-size: clamp(3.5rem, 15vw, 5.5rem);
  }

  .gallery-hero-content p,
  .tour-page-hero-content p,
  .about-hero-content p {
    font-size: .98rem;
  }

}

 /* CSS POLITIQUE DE CONFIDENTIALITÉ */

    .privacy-section {
      padding: 100px 0;
    }

    .privacy-box {
      max-width: 900px;
      margin: 0 auto;

      background: #151515;

      padding: 50px;

      border-radius: 20px;

      box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.5);
    }

    .privacy-title {
      text-align: center;

      font-size: 38px;

      margin-bottom: 15px;

      color: #d4af37;
    }

    .privacy-date {
      text-align: center;

      color: #999;

      font-size: 14px;

      margin-bottom: 45px;
    }

    .privacy-box h2 {
      color: #d4af37;

      font-size: 22px;

      margin-top: 35px;

      margin-bottom: 12px;
    }

    .privacy-box p {
      color: #cccccc;

      line-height: 1.8;

      margin-bottom: 15px;
    }

    .privacy-box ul {
      color: #cccccc;

      line-height: 1.8;

      margin-bottom: 20px;

      padding-left: 25px;
    }

    .privacy-box li {
      margin-bottom: 6px;
    }

    .privacy-box a {
      color: #d4af37;

      text-decoration: underline;
    }

    .privacy-back {
      display: block;

      width: fit-content;

      margin: 40px auto 0;

      padding: 12px 25px;

      border: 1px solid #d4af37;

      border-radius: 30px;

      color: #d4af37;

      text-decoration: none;

      transition: 0.3s;
    }

    .privacy-back:hover {
      background: #d4af37;

      color: #000;
    }


    /* =========================
       MOBILE
       ========================= */

    @media (max-width: 768px) {

      .privacy-section {
        padding: 60px 0;
      }

      .privacy-box {
        padding: 25px;
      }

      .privacy-title {
        font-size: 28px;
      }

      .privacy-box h2 {
        font-size: 19px;
      }

      .privacy-box p,
      .privacy-box li {
        font-size: 14px;
      }

    }

    footer a {
  color: inherit;
  text-decoration: none;
}

footer a:hover {
  color: #d4af37;
}
