:root{
  --cream:#d1b55a; 
  --beige:#EADFCF; 
  --brown:#6B4E3D; 
  --ink:#2B2B2B;
  --rose:#F2C9CC; 
  --white:#ffffff; 
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --reservationButton:#ff6a00;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:var(--ink); background:var(--cream); line-height:1.6}
.brand-script{font-family:'Parisienne', 'Brush Script MT', cursive}
.container{width:min(1100px, 92%); margin-inline:auto}

.site-header{position:sticky; top:0; z-index:50; background:rgba(255,255,255,.78); backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid #af7e46}
.site-header.dark{background:#af7e46; color:#fff; border-bottom:1px solid rgba(255,255,255,.06)}
.site-header.dark .navlinks a{color:#e8e8e8} .site-header.dark .navlinks a:hover{color:#fff}
.navbar{display:flex; align-items:center; justify-content:space-between; padding:10px 0}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--brown); font-weight:700}
.logo img{height:60px; width:auto; display:block}
.navlinks{display:flex; gap:24px; align-items:center}
.navlinks a{color:inherit; text-decoration:none; font-weight:500}
.navlinks a:hover{color:var(--brown)}
.burger{display:none; background:none; border:none; padding:8px; border-radius:10px}
/* Cache le menu mobile par défaut à toutes les tailles */
.mobile-menu {display: none;}
@media (max-width: 860px){
  .navlinks{display:none}
  .burger{display:block}
.mobile-menu {
    display:block;             /* on laisse block mais… */
    max-height:0;              /* caché au départ */
    overflow:hidden;
    opacity:0;
    transform: translateY(-10px);
    transition: max-height .4s ease, opacity .3s ease, transform .3s ease;
  }
  .mobile-menu.open {max-height:400px;/* ajuste selon ton contenu */
                    opacity:1;transform: translateY(0);}
  .mobile-menu a {display:block;padding:14px 24px;border-top:1px solid rgba(0,0,0,.04);color:var(--ink);text-decoration:none;}
  .mobile-menu a:hover{background:var(--cream)}}

  .btn-mobile-reserve {
  display:none; /* par défaut caché (desktop) */
}

@media (max-width: 860px){
  .btn-mobile-reserve {
    display:inline-block;      /* s’affiche sur mobile */
    margin-right:10px;
    padding:8px 14px;
    border-radius:8px;
    background:var(--accent);
    color:#fff;
    font-weight:600;
    text-decoration:none;
    font-size:14px;
    background: var(--reservationButton);
  }
  .btn-mobile-reserve:hover {
    background:#e85f00;
  }
}

.btn{display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:14px; border:1px solid transparent; text-decoration:none; font-weight:600; transition: transform .05s ease, box-shadow .2s ease, background .2s ease; box-shadow: var(--shadow)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brown); color:white}
.btn-primary:hover{background:#5e4639}
.btn-ghost{background:var(--white); color:var(--brown); border-color:rgba(0,0,0,.08)}
.btn-ghost:hover{background:#fff7f7}

.section{padding:64px 0}
.section .headline{display:flex; align-items:flex-end; justify-content:space-between; flex-wrap: wrap; gap:14px; margin-bottom:24px}
.section h2{font-size: clamp(28px, 3.6vw, 40px); margin:0}
.section .headline p {margin: 0;font-size: 1rem;}
.section .carte {background:linear-gradient(to bottom, #af7e46 0%, #8f5b1f 20%, #d1b55a 40%);}

.muted{color:#555}

.features{display:grid; grid-template-columns: repeat(4, 1fr); gap:16px}
@media (max-width: 900px){ .features{grid-template-columns:1fr 1fr} }
.feature{background:var(--white); padding:18px; border-radius:18px; box-shadow:var(--shadow); display:flex; gap:12px; align-items:flex-start}
.feature h3{margin:0 0 4px 0; font-size:18px}

.cards{display:grid; grid-template-columns: repeat(4, 1fr); gap:18px}
@media (max-width: 1080px){ .cards{grid-template-columns: repeat(3, 1fr)} }
@media (max-width: 800px){ .cards{grid-template-columns: repeat(2, 1fr)} }
@media (max-width: 520px){ .cards{grid-template-columns: 1fr} }
.card{background:var(--white); border-radius:18px; overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column}
.card img{width:100%; height:190px; object-fit:cover; display:block}
.card .p{padding:14px 16px}
.badge{display:inline-block; font-size:12px; padding:4px 8px; background:var(--rose); color:#4b2e2a; border-radius:999px}

.about{display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; align-items:center}
@media (max-width: 900px){ .about{grid-template-columns:1fr} .about .media{order:-1} }
.about .media img{width:100%; border-radius:18px; box-shadow:var(--shadow)}
.about-box {
  background: var(--white);
  border: 2px solid var(--beige);
  border-radius: 18px;
  padding: 24px;
  box-shadow: var(--shadow);
}

.gallery{display:grid; grid-template-columns: repeat(4, 1fr); gap:10px}
@media (max-width: 900px){ .gallery{grid-template-columns: repeat(2, 1fr)} }
.gallery img{width:100%; height:180px; object-fit:cover; border-radius:12px; cursor:pointer; box-shadow:var(--shadow)}

.info-grid{display:grid; grid-template-columns: 1.1fr .9fr; gap:22px}
@media (max-width: 900px){ .info-grid{grid-template-columns:1fr} }
.info{background:var(--white); border-radius:18px; box-shadow:var(--shadow); padding:18px}
.info .row{display:flex; gap:12px; align-items:flex-start; margin:10px 0}
.map iframe{width:100%; min-height:360px; border:0; border-radius:18px; box-shadow:var(--shadow)}

.reviews{display:grid; grid-template-columns: repeat(3, 1fr); gap:16px}
@media (max-width: 900px){ .reviews{grid-template-columns: 1fr} }
.review{background:var(--white); border-radius:18px; box-shadow:var(--shadow); padding:16px}
.stars{color:#D9A441; font-size:18px}

.form{background:var(--white); border-radius:18px; box-shadow:var(--shadow); padding:18px}
.form .grid{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
@media (max-width: 700px){ .form .grid{grid-template-columns: 1fr} }
label{font-weight:600}
input, select, textarea{width:100%; padding:12px 14px; border-radius:12px; border:1px solid rgba(0,0,0,.12); background:#fff; font:inherit; color:inherit}
textarea{min-height:110px; resize:vertical}
input:focus, select:focus, textarea:focus{outline:2px solid var(--rose); border-color:transparent}

.site-footer {
  background: #d1b55a;
  color:#fff;
  padding:50px 0 20px;
  margin-top:60px;
}
.footer-grid {
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:30px;
  align-items:start;
}

.footer-infos h4,
.footer-social h4 {
  margin-bottom:12px;
  margin:0 0 10px;
  font-size:18px;
  color:#2B2B2B;
}
.footer-infos p,
.footer-social p {
  margin:6px 0;
  color:#2B2B2B;
}
.footer-infos a { color:#000000; text-decoration:none; }
.footer-infos a:hover { text-decoration:underline; }

.social-buttons {
  display:flex;
  flex-direction:column;
  gap:14px;
}
.btn-social {
  display:inline-block;
  padding:10px 16px;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
  color:#fff;
  text-align:center;
}
.btn-social.insta { background:#E1306C; }
.btn-social.fb { background:#1877F2; }
.btn-social.trip { background:#34E0A1; }
.btn-social:hover { opacity:0.85; }

.footer-bottom {
  text-align:center;
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:30px;
  padding-top:15px;
  color:#4b4b4b;
  font-size:14px;
}

@media(max-width:860px){
  .footer-grid { grid-template-columns:1fr; text-align:center; }
}
.footer-logo img {
  width:200px; /* logo plus grand */
  height:auto;
  margin-bottom:12px;
}



.btn-social {
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:20px;
  color:#fff;
  text-decoration:none;
}
.btn-social.insta { background:#E1306C; }
.btn-social.fb { background:#1877F2; }
.btn-social.trip { background:#06ad00; }
.btn-social:hover { opacity:0.8; }


/* Lien "important" dans le menu */
.navlinks .nav-cta {
  padding:8px 14px;
  border-radius:8px;
  font-weight:600;
  background: var(--brown);
  color:#fff !important;
  transition: background .2s ease, transform .1s ease;
}
.navlinks .nav-cta:hover {
  background:#5e4639;
  transform: translateY(-2px);
}

/* Variante reservationButton (ex. bouton Réserver) */
.navlinks .nav-cta.reservation {
  background: var(--reservationButton);
}
.navlinks .nav-cta.reservation:hover {
  background:#e85f00;
}

/* Variante reservationButton (ex. bouton Réserver) */
.navlinks .nav-cta.infos{
  background: #b35a1f;
}
.navlinks .nav-cta.infos:hover {
  background: #924714;
}





/* Split Hero */
.hero-split{background:linear-gradient(to bottom, #af7e46 0%, #8f5b1f 55%, #d1b55a 100%); color:#fff; padding:80px 0}
.hero-split .wrap{width:min(1200px, 92%); margin-inline:auto; display:grid; grid-template-columns: 1.1fr .9fr; gap:40px; align-items:center}
@media (max-width:980px){.hero-split .wrap{grid-template-columns:1fr; gap:28px}}
.hero-split h1{font-size: clamp(36px, 6vw, 72px); line-height:1.05; margin:0 0 12px; letter-spacing:-.02em; color:#fff}
.hero-split p{color:#c9d0d6; font-size: clamp(16px, 1.4vw, 20px); margin:0 0 18px; max-width:60ch}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap}
.hero-visual{border-radius:22px; padding:18px; background: radial-gradient(100% 120% at 80% 10%, #FFDDB3 0%, #F7C590 40%, #EDB279 100%); box-shadow:0 20px 50px rgba(0,0,0,.35)}
.hero-visual img{display:block; width:100%; height:480px; object-fit:cover; border-radius:16px; filter: drop-shadow(0 10px 24px rgba(0,0,0,.3))}
@media (max-width:540px){.hero-visual img{height:300px}}
