/* ===================== IMPORTS DE POLICES ===================== */
@import url('https://fonts.googleapis.com/css2?family=Condiment&family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&family=Poller+One&display=swap');

/* ===================== VARIABLES GLOBALES ===================== */
:root {
      --first-color: #dc3545;
      --second-color: #000;
      --third-color: #fff;
      --fourth-color: #0B265B;
      --fifth-color: #c59402;
      --six-color: #6f4e37;
}

/* ===================== RESET & BASE ===================== */
* {
      box-sizing: border-box;
      padding: 0;
      margin: 0;
}

body {
      font-family: 'Roboto', sans-serif;
      scroll-behavior: smooth;
}

/* ===================== HEADER ===================== */
.logo {
      top: 20px;
      left: 20px;
      color: #c59402;
      font-size: 20px;
      text-align: center;
      font-family: "Poller One", serif;
}

@media (max-width: 767px) {
      .logo {
            font-size: 30px;
            top: 10px;
            left: 10px;
      }
}

/* Bouton de menu mobile */
.navbar-toggler {
      background-color: #c59402;
}

@media (max-width: 992px) {
      .navbar-collapse {
            font-size: 30px;
            background-color: #1a1a1a;
            color: #c59402;
            transition: opacity 0.3s ease;
            border-radius: 50px;
      }
}

/* Lien actif dans la navigation */
.nav-link.active-bg {
      background-color: #c59402;
      border-radius: 30px;
      transition: 2s ease;
      color: #000 !important;
}

/* Barre de navigation */
.navigation {
      height: 100px;
      border-radius: 0 0 10px 10px;
      background-color: #0B265B;
}

.barre a {
      color: #c59402;
      text-transform: uppercase;
      margin: 10px;
      font-size: 15px;
      padding: 15px 25px;
      border-radius: 30px;
      transition: 2s ease;
}

.barre a:hover {
      background-color: azure;
      color: black;
}

/* ===================== CAROUSEL ===================== */
.image_corousel img {
      object-fit: cover;
      object-position: center;
      height: 90vh;
      width: 90vh;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

/* Texte couleur café */
.text-brown {
      color: #6f4e37;
}

/* Titres principaux */
h1 {
      color: #c59402;
      font-size: 2rem;
      font-weight: bold;
      text-align: center;
      margin-top: 20px;
      font-family: 'Playfair Display', serif;
      opacity: 90%;
}
.sous-titre{
      font-size: 2rem;
      font-weight: bold;
      text-align: center;
      font-family: 'Playfair Display', serif;
      color: #c59402;
}

/* ===================== PAGE D’ACCUEIL ===================== */
/* Section proposition */
.proposition {
      background-color: #0B265B;
      color: #c59402;
      padding: 20px;
      text-align: center;
      border-radius: 20px;
}

.proposition h2,
.para_proposition {
      font-size: 2rem;
      font-weight: bold;
      text-align: center;
      font-family: 'Playfair Display', serif;
      color: #c59402;
}

.btn_proposition {
      display: inline-block;
      margin-top: 30px;
      background-color: #c59402;
      color: #0B265B;
      font-weight: bold;
      transition: background-color 0.3s ease;
}

.btn_proposition:hover {
      background-color: transparent;
      color: #c59402;
}

/* Section expérience */
.experience-section {
      background: linear-gradient(135deg, #b87f3e, #afeef1);
      padding: 60px 20px;
      text-align: center;
      color: #3a2e2a;
}

.experience-container {
      max-width: 900px;
      margin: 0 auto;
}

.experience-section h2 {
      font-size: 2em;
      margin-bottom: 20px;
}

.experience-intro,
.experience-outro {
      font-size: 1.1em;
      margin: 20px 0;
      line-height: 1.6;
}

.experience-list {
      list-style: none;
      padding: 0;
      margin: 30px auto;
      text-align: left;
      max-width: 600px;
}

.experience-list li {
      font-size: 1.05em;
      margin-bottom: 15px;
      background: #ffffffcc;
      padding: 10px 15px;
      border-radius: 10px;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.experience-btn {
      display: inline-block;
      margin-top: 30px;
      background-color: #4a6eff;
      color: white;
      padding: 15px 30px;
      border-radius: 30px;
      text-decoration: none;
      font-weight: bold;
      transition: background-color 0.3s ease;
}

.experience-btn:hover {
      background-color: #c59402;
}

/* Responsive - expérience */
@media (max-width: 600px) {
      .hero-text {
            font-size: 1.4rem;
            padding: 0 15px;
      }

      .hero-image-section {
            height: 50vh;
      }

      .experience-section h2 {
            font-size: 1.5em;
      }

      .experience-list {
            text-align: center;
      }

      .experience-list li {
            font-size: 1em;
      }
}

/* ===================== HERO AVEC IMAGE DE FOND ===================== */
.hero-image-section {
      position: relative;
      background-image: url('../img/general/img.jpg');
      background-size: cover;
      background-position: center;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      border-radius: 10px;
}

/* Overlay sombre sur le fond */
.hero-overlay {
      background-color: rgba(0, 0, 0, 0.5);
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      animation: fadeSlideIn 1.5s ease-out both;
}

/* Texte principal dans la section hero */
.hero-text {
      color: #fff;
      font-size: 2.2rem;
      text-align: center;
      max-width: 800px;
      line-height: 1.4;
      opacity: 0;
      transform: translateY(30px);
      animation: textFadeIn 1.8s ease forwards;
}

/* Animations */
@keyframes textFadeIn {
      to {
            opacity: 1;
            transform: translateY(0);
      }
}

@keyframes fadeSlideIn {
      from {
            opacity: 0;
            transform: scale(1.05);
      }
      to {
            opacity: 1;
            transform: scale(1);
      }
}

.fade-in {
      opacity: 0;
      transform: translateY(50px);
      transition: opacity 1s ease, transform 1s ease;
}

.fade-in.visible {
      opacity: 1;
      transform: translateY(0);
}

/* ===================== VIDÉO RESPONSIVE ===================== */
.responsive-video {
      width: 20%;
      max-width: 100%;
      margin: auto;
      display: block;
      object-fit: cover;
      object-position: center;
      border-radius: 50%;
      box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
      transition: width 0.3s ease;
}

@media (max-width: 768px) {
      .responsive-video {
            width: 50%;
      }
}

@media (max-width: 480px) {
      .responsive-video {
            width: 70%;
      }
}

/* ===================== SECTION NOTRE ÉQUIPE ===================== */
#notre-equipe {
      background-color: #f9f9f9;
      padding: 60px 20px;
      text-align: center;
}

.notre-equipe {
      color: #0B265B;
      font-weight: bold;
       font-size: 2rem;
      text-align: center;
      font-family: 'Playfair Display', serif;
}

.cards-container {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 30px;
      margin-top: 30px;
}

.equipe-box {
      border-radius: 15px;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
      max-width: 250px;
      transition: transform 0.3s ease;
}

.equipe-box:hover {
      transform: translateY(-10px);
}

.equipe-box img {
      width: 100%;
      height: 250px;
      object-fit: cover;
      border-radius: 10px;
}

.equipe-box .name {
      margin-top: 15px;
      font-size: 1.2rem;
      font-weight: bold;
      color: #0B265B;
}

.equipe-box .role {
      font-style: italic;
      color: #555;
      margin-bottom: 10px;
}

.equipe-box .quote {
      font-size: 0.9rem;
      color: #333;
}

@media (max-width: 768px) {
      .equipe-box {
            max-width: 90%;
      }
}

/* ===================== PAGE ABOUT ===================== */
#about_image {
      background-image: url("../img/header.jpg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      color: white;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
      border-radius: 40px;
      box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
      padding-bottom: 10px;
}

.box {
      border-radius: 5px;
      text-align: center;
      cursor: pointer;
      font-size: 2rem;
}

.element {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: row;
      flex-wrap: nowrap;
      margin-bottom: 20px;
}

.separator {
      font-size: 2rem;
      color: black;
}

.hidden {
      display: none;
}

.box:hover {
      background-color: #454a4f;
      transition: background-color 2.3s ease-in-out;
      color: #fff;
}

/* ===================== LES PAGES DÉCOUVERTE ET ARTICLES ===================== */
/* Hero page découverte */
.hero-section {
      background: url('../img/cafe/cafe3.jpg') center/cover no-repeat;
      color: white;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
      border-radius: 40px;
      box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);
}

/* Cartes d’exploration */
.section {
      padding-bottom: 30px;
}

.explorer-card {
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      border: none;
      border-radius: 10px;
      overflow: hidden;
}

.explorer-card:hover {
      transform: scale(1.03);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.explorer-card img {
      object-fit: cover;
}

/* === Styles spécifiques aux détails des pages === */
.detail_restaurant,
.detail_bar,
.detail_piscine,
.detail_cafe,
.detail_sauna {
      font-family: 'Poppins', sans-serif;
      background-color: #f9f6f2;
      color: #2c2c2c;
}

.restaurant-img,
.bar-img,
.piscine-img,
.cafe-img,
.sauna-img {
      width: 100%;
      height: 700px;
      object-fit: cover;
      border-radius: 10px;
      margin-bottom: 2rem;
}

.price-range,
.section-title,
.price {
      font-size: 1.3rem;
      color: #C7925B;
      font-weight: 600;
}

.btn-reserve,
.btn-main {
      background-color: #C7925B;
      color: white;
      border: none;
      padding: 10px 25px;
      font-weight: 500;
      transition: 0.3s ease;
}

.btn-reserve:hover,
.btn-main:hover {
      background-color: #b37c46;
}

.article-img {
      width: 100%;
      height: 400px;
      object-fit: cover;
      border-radius: 10px;
}

.rating i {
      color: #c59402;
}

.features li::before {
      content: "☕";
      margin-right: 8px;
}

/* ===================== FORMULAIRES ===================== */
#logBg,
#connexion_image {
      background-image: url("../img/piscine/accueil_piscine4.jpg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
}

#connexion_image {
      height: 90vh;
      width: 100%;
      border-radius: 10px;
}

 /* .card {
      position: relative;
      border-radius: 10px;
      padding: 20px;
      margin: 20px;
}  */


.formulaire_contact {
      background-image: url("../img/cafe/cafe3.jpg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      margin: 10% 0 20%;
      height: 150vh;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      border-radius: 10px;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

/* ===================== SECTION ESPACE & FOOTER ===================== */
.espace {
      background-color: white;
      padding: 40px;
      margin: 40px;
}

.footer {
      background-color: #0B265B;
      color: #c59402;
      padding: 20px;
      text-align: center;
      border-radius: 10px 10px 0 0;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
      font-family: 'Newsreader', serif;
      font-weight: 400;
}

.social-icons a {
     
      margin: 10px;
      text-decoration: none;
      text-align: center;
      scroll-behavior: smooth;
}
.footer a:hover {
      color: #fff;
      text-decoration: underline;
}
.footer a {
      color: #c59402;
      text-decoration: none;
      transition: color 0.3s ease;
}




      .hero-restaurant {
      background: url('../img/general/restaurant.jpg') center/cover no-repeat;
      height: 90vh;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
    }
    .hero-restaurant::after {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0,0,0,0.4);
    }
    .hero-content {
      position: relative;
      z-index: 2;
    }
    .btn-custom {
      background-color: #8B4513;
      color: white;
      border: none;
      border-radius: 30px;
      padding: 12px 30px;
    }
    .btn-custom:hover {
      background-color: #A0522D;
    }
   .menu-img {
      height: 200px;
      object-fit: cover;
    }
    .card-restaurant {
      border: none;
      border-radius: 15px;
      overflow: hidden;
      box-shadow: 0 4px 20px rgba(0,0,0,0.1);
      transition: transform 0.3s ease;
    }
    .card-restaurant:hover {
      transform: scale(1.03);
    }
    .transition-footer {
  /* background: url('../img/food/poulet/vinde2.jpg') center/cover no-repeat; */
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  object-fit: cover;
  object-position: center;
}

.transition-footer .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6); /* effet foncé */
  z-index: 0;
}

.transition-footer .container {
  z-index: 1;
}
/* fin la page restaurant */

  .hero-bar {
      background: url('../img/bar/bar-ambiance/bar-ambiance4.jpg') center/cover no-repeat;
      height: 90vh;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
      z-index: 1;
    }
    .hero-bar::after {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0,0,0,0.4);
    }
    /* la fin de la page bar */
    .hero-sauna {
      background: url('../img/sauna/sauna 3.jpg') center/cover no-repeat;
      height: 90vh;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
    }
    /* fin de la page sauna */
    .hero-cafe {
      background: url('../img/cafe/cafe8.jpg') center/cover no-repeat;
      height: 90vh;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
    }
    /* fin de la page cafe  */
    .hero-piscine {
      /* background: url('../img/piscine/accueil_piscine4.jpg') center/cover no-repeat; */
      height: 90vh;
      color: white;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
    }
    /* fin de la page piscine */