:root{
  --white:#ffffff;
  --cream:#f8fffb;
  --green:#64c59b;
  --green-dark:#3d8b6d;
  --duck:#2a8fa3;
  --duck-light:#5bc7d8;

  --bg:#eef7f2;
  --bg-soft:#ffffff;
  --bg-card:#ffffff;

  --text:#1c2b24;
  --text-soft:#4a5f56;
}

body{
  background:linear-gradient(180deg,#eef7f2 0%, #f8fffb 100%);
  color:var(--text);
}

#header,
.header-scrolled,
.topbar{
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(100,197,155,.18);
}

.nav-menu a,
.mobile-nav a{
  color:var(--text)!important;
  font-weight:600;
  transition:.25s;
}

.nav-menu a:hover,
.nav-menu .active > a,
.mobile-nav a:hover{
  color:var(--green)!important;
}

#hero:before{
  background:rgba(0,0,0,.22)!important;
}

#hero h1{
  color:var(--white)!important;
  text-shadow:0 4px 20px rgba(0,0,0,.35);
}

#hero h1 span{
  color:var(--duck-light)!important;
}

#hero h2{
  color:#f3fffb!important;
}

.btn-menu,
.btn-book,
button,
input[type="submit"]{
  background:linear-gradient(135deg,var(--green),var(--duck))!important;
  border:none!important;
  color:#fff!important;
  border-radius:999px!important;
  padding:.75rem 1.5rem!important;
  box-shadow:0 10px 26px rgba(42,143,163,.18);
  transition:.25s;
}

.btn-menu:hover,
.btn-book:hover,
button:hover,
input[type="submit"]:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
}

.section-title h2,
.section-title p,
.about h3,
.features .icon-box i,
.contact .info i{
  color:var(--green-dark)!important;
}

.section-bg{
  background:#f4fbf7!important;
}

.card,
.icon-box,
.member,
.testimonial-item,
.contact .info,
.menu-item,
.specials{
  background:var(--bg-card)!important;
  border:1px solid rgba(42,143,163,.08)!important;
  border-radius:18px!important;
  box-shadow:
    0 6px 18px rgba(0,0,0,.06),
    0 1px 3px rgba(0,0,0,.04);
}

a{
  color:var(--duck);
}

a:hover{
  color:var(--duck-light);
}

#footer,
.footer-top{
  background:#dff3eb!important;
  color:var(--text)!important;
}

.gallery .gallery-item img,
.specials img,
.about img{
  border-radius:16px;
  transition:.3s;
}

.gallery .gallery-item img:hover,
.specials img:hover,
.about img:hover{
  transform:scale(1.02);
  box-shadow:0 0 24px rgba(91,199,216,.18);
}

.form-control,
input,
textarea,
select{
  background:#fff!important;
  border:1px solid rgba(100,197,155,.18)!important;
  color:var(--text)!important;
  border-radius:12px!important;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus{
  border-color:var(--duck-light)!important;
  box-shadow:0 0 0 4px rgba(91,199,216,.12)!important;
}

.price,
.menu .menu-price{
  color:var(--green-dark)!important;
  font-weight:700;
}

::-webkit-scrollbar{
  width:10px;
}

::-webkit-scrollbar-track{
  background:#edf7f2;
}

::-webkit-scrollbar-thumb{
  background:linear-gradient(var(--green),var(--duck));
  border-radius:999px;
}

.section-bg,
.section-bg p,
.section-bg li,
.section-bg h3,
.section-bg h4,
.specials,
.specials p,
.specials li,
.specials h3,
.testimonials,
.testimonials p,
.contact,
.contact p,
.contact h4,
.contact li,
#footer,
#footer p,
#footer h3,
#footer h4,
#footer li,
#footer a {
  color: #1c2b24 !important;
}

#hero,
#hero h1,
#hero h2,
#hero p,
.events,
.events p,
.events li,
.events h3,
.events .price p,
.events .price span {
  color: #ffffff !important;
}

.events .event-item {
  color: #ffffff !important;
}

.testimonials .testimonial-item p {
  color: #1c2b24 !important;
  background: #ffffff !important;
}

.specials .nav-link {
  color: #1c2b24 !important;
}

.specials .nav-link.active {
  color: #ffffff !important;
  background: #2a8fa3 !important;
}

.contact .info p,
.contact .info a {
  color: #1c2b24 !important;
}

#footer .footer-top,
#footer .footer-top p,
#footer .footer-top a,
#footer .copyright,
#footer .credits {
  color: #1c2b24 !important;
}

/* GROS TITRE HERO */
#hero h1{
  color:#ffffff !important;
  text-shadow:
    0 3px 12px rgba(0,0,0,.55),
    0 0 30px rgba(0,0,0,.35);
}

#hero h1 span{
  color:#5bc7d8 !important;
}

/* SECTION CAMPING */
.about,
.about p,
.about li,
.about strong,
.about em{
  color:#1c2b24 !important;
}

.about h3{
  color:#2d6a4f !important;
}

.about .icon-box i,
.about ul i{
  color:#52b788 !important;
}

/* === PATCH LISIBILITÉ HEADER + SECTION CAMPING === */

/* Le header est clair, donc le logo texte doit être foncé */
#header .logo a,
#header.header-scrolled .logo a{
  color:#1c2b24 !important;
  text-shadow:none !important;
}

#header .logo a:hover{
  color:#2a8fa3 !important;
}

/* Le topbar reste lisible */
#topbar,
#topbar .contact-info,
#topbar .contact-info span,
#topbar a,
#topbar i{
  color:#ffffff !important;
}

/* La section about a un background sombre + image : on met le texte dans une carte claire */
.about{
  background-color:#eef7f2 !important;
}

.about:before{
  background:rgba(255,255,255,.72) !important;
}

.about .content{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.88);
  color:#1c2b24 !important;
  padding:28px !important;
  border-radius:18px;
  box-shadow:0 12px 35px rgba(0,0,0,.12);
  border:1px solid rgba(42,143,163,.10);
}

.about .content h3{
  color:#2d6a4f !important;
}

.about .content p,
.about .content li,
.about .content em,
.about .content .font-italic{
  color:#1c2b24 !important;
}

.about .content ul i{
  color:#2a8fa3 !important;
}

.about .about-img{
  position:relative;
  z-index:2;
}

/* Hero : titre bien visible même sur image claire */
#hero h1,
#hero h1 a{
  color:#ffffff !important;
  text-shadow:0 4px 18px rgba(0,0,0,.65), 0 0 34px rgba(0,0,0,.45) !important;
}

#hero h1 span{
  color:#5bc7d8 !important;
  text-shadow:0 4px 18px rgba(0,0,0,.65) !important;
}

/* Transparence ajustée V11 */
#topbar{
  background:rgba(0,0,0,.22)!important;
  backdrop-filter:blur(8px);
}
#header.header-scrolled{
  background:rgba(255,255,255,.86)!important;
}
