/* Riad Jona — styles de la page offers (externalisés des blocs <style> inline, 03/07/2026) */
/* ===== main ===== */
:root { --accent:#9C7C46; --accent-dark:#84683A; --accent-light:#C9B07E; }
    html { scroll-behavior:smooth; scroll-padding-top:110px; }
    * { margin:0; padding:0; box-sizing:border-box; }
    body { font-family:'Georgia', serif; color:#333; background:#fff; }
    nav { position:fixed; top:0; left:0; right:0; z-index:100; background:transparent; display:flex; align-items:center; justify-content:space-between; padding:10px 40px; border-bottom:1px solid rgba(255,255,255,0.55); transition:background .35s ease, border-color .35s ease; }
    nav.scrolled { background:#fff; border-bottom-color:#fff; }
    nav .logo { position:relative; height:90px; width:170px; }
    nav .logo img { height:170px; position:absolute; top:-40px; left:0; z-index:101; filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,0.35)); transition:filter .35s ease; }
    nav.scrolled .logo img { filter:drop-shadow(0 3px 10px rgba(0,0,0,0.18)); }
    nav ul { list-style:none; display:flex; gap:36px; align-items:center; }
    nav ul li a { text-decoration:none; color:#fff; font-size:14px; letter-spacing:0.07em; text-transform:uppercase; text-shadow:0 1px 10px rgba(0,0,0,0.55); transition:color .3s; }
    nav.scrolled ul li a { color:#333; text-shadow:none; }
    nav ul li a:hover, nav ul li a.current { color:var(--accent-light); }
    nav.scrolled ul li a:hover, nav.scrolled ul li a.current { color:var(--accent); }
    .nav-right { display:flex; align-items:center; gap:18px; }
    .lang-switch { display:flex; gap:6px; font-size:12px; }
    .lang-switch button { background:none; border:1px solid rgba(255,255,255,0.6); padding:5px 11px; cursor:pointer; font-family:inherit; font-size:11px; letter-spacing:0.1em; color:rgba(255,255,255,0.85); border-radius:50px; transition:color .3s, border-color .3s; }
    .lang-switch button.active { border-color:#fff; color:#fff; }
    nav.scrolled .lang-switch button { border-color:#ddd; color:#888; }
    nav.scrolled .lang-switch button.active { border-color:var(--accent); color:var(--accent); }
    .nav-book a { background:transparent; border:1px solid #fff; color:#fff; text-decoration:none; padding:11px 26px; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; transition:background .3s, border-color .3s, color .3s; }
    .nav-book a:hover { background:rgba(255,255,255,0.18); }
    nav.scrolled .nav-book a { background:var(--accent); border-color:var(--accent); }
    nav.scrolled .nav-book a:hover { background:var(--accent-dark); border-color:var(--accent-dark); }
    .page-hero { position:relative; height:60vh; overflow:hidden; }
    .page-hero img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }
    .page-hero-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0) 40%, rgba(0,0,0,0.5)); display:flex; flex-direction:column; align-items:center; justify-content:flex-end; text-align:center; color:#fff; padding:0 20px 56px; }
    .page-hero-overlay h1 { font-family:'Cormorant Garamond',serif; font-size:56px; font-weight:300; letter-spacing:0.05em; margin-bottom:14px; text-shadow:0 2px 12px rgba(0,0,0,0.3); }
    .page-hero-overlay p { font-size:16px; font-weight:300; letter-spacing:0.12em; opacity:0.95; text-shadow:0 1px 8px rgba(0,0,0,0.3); }
    .intro { max-width:820px; margin:96px auto 72px; text-align:center; padding:0 20px; }
    .intro-label { font-size:11px; letter-spacing:0.25em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
    .intro h2 { font-size:40px; font-weight:300; margin-bottom:22px; letter-spacing:0.03em; }
    .intro p { font-size:17px; line-height:2.05; color:#666; }
    .direct-priv { max-width:1120px; margin:8px auto 92px; padding:64px 56px 70px; background:linear-gradient(180deg,#fbfaf8 0%,#f5f1ea 100%); border:1px solid #e9e2d5; position:relative; }
    .direct-priv::before { content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:70px; height:3px; background:var(--accent); }
    .direct-priv .dp-label { text-align:center; font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--accent); margin-bottom:16px; }
    .direct-priv h3 { text-align:center; font-size:32px; font-weight:300; letter-spacing:0.04em; margin-bottom:16px; color:#2c2722; }
    .direct-priv .dp-rule { width:48px; height:1px; background:var(--accent-light); margin:0 auto 20px; }
    .direct-priv .dp-sub { text-align:center; font-size:15px; color:#857d72; max-width:600px; margin:0 auto 50px; line-height:1.85; font-style:italic; }
    .direct-priv ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:46px 34px; }
    .direct-priv li { display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
    .direct-priv .dp-ico { width:66px; height:66px; border:1px solid var(--accent-light); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:22px; transition:background .35s, color .35s, border-color .35s, transform .35s; }
    .direct-priv li:hover .dp-ico { background:var(--accent); color:#fff; border-color:var(--accent); transform:translateY(-3px); }
    .direct-priv li span.dp-txt { font-size:13.5px; line-height:1.62; color:#5a534a; max-width:178px; letter-spacing:0.01em; }
    .direct-priv .dp-guarantee { margin-top:50px; padding-top:36px; border-top:1px solid #e4ddd0; display:flex; align-items:center; justify-content:center; gap:18px; text-align:left; }
    .direct-priv .dp-guarantee > i { font-size:28px; color:var(--accent); flex:0 0 auto; }
    .direct-priv .dp-guarantee .g-title { font-size:13px; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent-dark); margin-bottom:6px; }
    .direct-priv .dp-guarantee .g-sub { font-size:14.5px; line-height:1.65; color:#5a534a; max-width:540px; }
    .direct-priv .dp-disclaimer { text-align:center; font-size:11.5px; font-style:italic; color:#a59c8d; margin-top:16px; letter-spacing:0.04em; }
    .direct-priv .dp-unlock { text-align:center; margin-top:30px; }
    .direct-priv .dp-unlock-btn { display:inline-block; padding:14px 38px; background:var(--accent); color:#fff; text-decoration:none; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; border-radius:50px; transition:background .2s; }
    .direct-priv .dp-unlock-btn:hover { background:var(--accent-dark); }
    .direct-priv .dp-unlock-note { font-size:12.5px; font-style:italic; color:#8a8073; margin-top:12px; }
    @media(max-width:520px){ .direct-priv .dp-guarantee { flex-direction:column; text-align:center; gap:14px; } }
    @media(max-width:920px){ .direct-priv ul { grid-template-columns:repeat(2,1fr); gap:40px 30px; } .direct-priv li span.dp-txt { max-width:240px; } }
    @media(max-width:520px){ .direct-priv ul { grid-template-columns:1fr; } .direct-priv { padding:46px 26px; } }
    .offers-grid { max-width:1400px; margin:0 auto 104px; padding:0 28px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
    .offer-card { background:#fff; border:1px solid #ece8e1; overflow:hidden; display:flex; flex-direction:column; }
    .offer-card .img { position:relative; height:420px; overflow:hidden; }
    .offer-card .img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
    .offer-card:hover .img img { transform:scale(1.04); }
    .offer-card .badge { position:absolute; top:18px; left:18px; background:var(--accent); color:#fff; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; padding:7px 15px; border-radius:50px; }
    .offer-card .body { padding:38px 38px 42px; flex:1; display:flex; flex-direction:column; }
    .offer-card h3 { font-size:27px; font-weight:300; margin-bottom:14px; letter-spacing:0.02em; }
    .offer-card p { font-size:15px; line-height:1.9; color:#666; margin-bottom:26px; flex:1; }
    .offer-card a.btn { align-self:flex-start; padding:13px 32px; background:var(--accent); color:#fff; text-decoration:none; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; border-radius:50px; transition:background .2s; }
    .offer-card a.btn:hover { background:var(--accent-dark); }
    /* ===== Carrousel offres (style "plaisirs de la maison") ===== */
    .home-carousel { position:relative; max-width:1580px; margin:0 auto 104px; padding:0 28px; }
    .hc-viewport { overflow:hidden; }
    .hc-track { display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); }
    .hc-slide { min-width:100%; display:grid; grid-template-columns:1.6fr 1fr; }
    .hc-slide .hc-img { position:relative; height:540px; overflow:hidden; }
    .hc-slide .hc-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
    .hc-slide:hover .hc-img img { transform:scale(1.04); }
    .hc-slide .hc-img .badge { position:absolute; top:18px; left:18px; background:var(--accent); color:#fff; font-size:10px; letter-spacing:0.18em; text-transform:uppercase; padding:7px 15px; border-radius:50px; }
    .hc-slide .hc-body { background:#faf9f7; padding:54px 56px; display:flex; flex-direction:column; justify-content:center; border:1px solid #ece6db; border-left:none; }
    .hc-slide .hc-body h3 { font-size:30px; font-weight:300; letter-spacing:0.02em; color:#2c2722; margin-bottom:18px; }
    .hc-slide .hc-body p { font-size:14.5px; line-height:1.85; color:#666; }
    .hc-slide .hc-body .hc-cta { margin-top:26px; align-self:flex-start; display:inline-block; text-decoration:none; background:transparent; border:1px solid rgba(156,124,70,0.55); color:var(--accent); font-family:inherit; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; padding:13px 32px; border-radius:50px; transition:background .3s ease, color .3s ease, border-color .3s ease, box-shadow .35s ease, transform .3s ease; }
    .hc-slide .hc-body .hc-cta:hover { background:var(--accent); color:#fff; border-color:var(--accent); transform:translateY(-2px); box-shadow:0 9px 24px rgba(156,124,70,0.30); }
    .hc-arrow { position:absolute; top:270px; transform:translateY(-50%); width:46px; height:46px; border:none; background:rgba(255,255,255,0.92); color:var(--accent-dark); font-size:22px; cursor:pointer; border-radius:50%; box-shadow:0 4px 16px rgba(0,0,0,0.12); z-index:2; transition:background .25s,color .25s; }
    .hc-arrow.prev { left:14px; } .hc-arrow.next { right:14px; }
    .hc-arrow:hover { background:var(--accent); color:#fff; }
    .hc-dots { display:flex; gap:9px; justify-content:center; margin-top:24px; }
    .hc-dots button { width:9px; height:9px; border-radius:50%; border:none; background:#d8cfbf; cursor:pointer; padding:0; transition:background .25s; }
    .hc-dots button.active { background:var(--accent); }
    .offers-head { max-width:780px; margin:12px auto 42px; text-align:center; padding:0 28px; }
    .offers-head .oh-label { font-size:11px; letter-spacing:0.25em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
    .offers-head h2 { font-size:36px; font-weight:300; letter-spacing:0.03em; color:#2c2722; margin-bottom:18px; }
    .offers-head .oh-rule { width:54px; height:1px; background:var(--accent); opacity:.7; margin:0 auto 20px; }
    .offers-head p { font-size:16px; line-height:1.9; color:#666; }
    @media(max-width:780px){ .hc-slide{ grid-template-columns:1fr; } .hc-slide .hc-body{ border-left:1px solid #ece6db; border-top:none; padding:38px 28px; } .hc-slide .hc-img{ height:320px; } .hc-arrow{ top:160px; } }
    /* ===== DAY PASS ===== */
    .daypass { margin:0 0 96px; padding:78px 28px 84px; text-align:center; background:#faf9f7; }
    .daypass-head { max-width:740px; margin:0 auto 46px; }
    .daypass .dayp-label { font-size:11px; letter-spacing:0.3em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
    .daypass h3 { font-size:40px; font-weight:300; letter-spacing:0.02em; margin-bottom:16px; color:#2c2722; }
    .daypass .dayp-rule { width:48px; height:1px; background:var(--accent-light); margin:0 auto 20px; }
    .daypass .dayp-sub { font-size:15.5px; line-height:1.8; color:#6b6358; }
    .dayp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:42px; text-align:left; align-items:stretch; max-width:1540px; margin:0 auto; padding:0 28px; }
    .dayp-card { position:relative; background:#fff; border:1px solid #ece8e1; padding:38px 38px 40px; display:flex; flex-direction:column; }
    .dayp-card img { width:100%; height:280px; object-fit:cover; border-radius:3px; display:block; margin:0 0 26px; }
    .dayp-card.featured { background:linear-gradient(180deg,#fbfaf8,#f5f1ea); border-color:var(--accent-light); }
    .dayp-card .dayp-badge { position:absolute; top:-11px; left:28px; background:var(--accent); color:#fff; font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase; padding:6px 13px; border-radius:50px; }
    .dayp-name { font-size:24px; font-weight:300; color:#2c2722; letter-spacing:0.02em; }
    .dayp-kicker { font-size:10px; letter-spacing:0.26em; text-transform:uppercase; color:var(--accent); margin-bottom:7px; }
    .dayp-tag { font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin:6px 0 18px; }
    .dayp-card ul { list-style:none; padding:0; margin:0 0 22px; flex:1; }
    .dayp-card li { position:relative; padding-left:22px; font-size:13.5px; line-height:1.5; color:#5a534a; margin-bottom:11px; }
    .dayp-card li::before { content:"\2713"; position:absolute; left:0; top:1px; color:var(--accent); font-size:12px; }
    .dayp-price { font-size:30px; font-weight:300; color:var(--accent-dark); border-top:1px solid #ece8e1; padding-top:16px; }
    .dayp-price span { font-size:13px; color:#8a8073; letter-spacing:0.04em; }
    .dayp-foot { margin-top:42px; }
    .dayp-cond { font-size:12.5px; font-style:italic; color:#8a8073; margin-bottom:20px; }
    .dayp-cta { display:inline-flex; align-items:center; gap:10px; padding:15px 42px; background:var(--accent); color:#fff; text-decoration:none; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; border-radius:50px; transition:background .2s; }
    .dayp-cta i { font-size:19px; }
    .dayp-cta:hover { background:var(--accent-dark); }
    .dayp-cta .bell-ico{ width:20px; height:auto; flex:0 0 auto; }
    @media(max-width:1080px){ .dayp-grid { grid-template-columns:repeat(2,1fr); } }
    @media(max-width:560px){ .dayp-grid { grid-template-columns:1fr; } .daypass h3 { font-size:30px; } }
    .priv-banner { position:relative; height:440px; overflow:hidden; }
    .priv-banner img { width:100%; height:100%; object-fit:cover; }
    .priv-banner-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.5); display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center; padding:0 20px; }
    .priv-banner-overlay h3 { font-size:38px; font-weight:300; margin-bottom:12px; }
    .priv-banner-overlay p { font-size:15px; letter-spacing:0.08em; margin-bottom:26px; max-width:620px; line-height:1.7; }
    .priv-banner-overlay a { padding:13px 36px; border:1px solid #fff; color:#fff; text-decoration:none; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; border-radius:50px; transition:background .2s, color .2s; }
    .priv-banner-overlay a:hover { background:#fff; color:#333; }
    @media (max-width:1280px){ nav ul { gap:22px; } nav ul li a { font-size:12px; } }
    @media (max-width:900px){
      .offers-grid { grid-template-columns:1fr; }
      nav ul { display:none; } nav .logo { height:64px; width:110px; } nav .logo img { height:110px; top:-6px; }
      .page-hero-overlay h1 { font-size:34px; }
    }
      .wa-btn { width:40px; height:40px; border:1px solid rgba(255,255,255,0.6); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:18px; text-decoration:none; transition:background .3s, color .3s, border-color .3s; }
    .wa-btn:hover { background:rgba(255,255,255,0.18); }
    nav.scrolled .wa-btn { border-color:#ddd; color:#555; }
    nav.scrolled .wa-btn:hover { color:var(--accent); border-color:var(--accent); }

    /* ===== ESSAI : menu blanc fixe + photo principale sous la barre du menu ===== */
    nav { background:#fff !important; border-bottom:1px solid #ececec !important; }
    nav .logo img { filter: drop-shadow(0 3px 10px rgba(0,0,0,0.18)) !important; }
    nav ul li a { color:#333 !important; text-shadow:none !important; }
    nav ul li a:hover, nav ul li a.current { color:var(--accent) !important; }
    .lang-switch button { border-color:#ddd !important; color:#888 !important; }
    .lang-switch button.active { border-color:var(--accent) !important; color:var(--accent) !important; }
    .nav-book a { background:var(--accent) !important; border-color:var(--accent) !important; color:#fff !important; }
    .nav-book a:hover { background:var(--accent-dark) !important; border-color:var(--accent-dark) !important; }
    .wa-btn { border-color:#ddd !important; }
    .wa-btn:hover { color:var(--accent) !important; border-color:var(--accent) !important; }
    .page-hero { margin-top: 110px; }
  
    /* ===== RESPONSIVE (tablette / mobile) ===== */
    .nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px 10px; font-size:23px; line-height:1; color:#333; }
    @media (max-width: 980px) {
      nav { flex-wrap: wrap; padding-left:20px; padding-right:20px; }
      .nav-toggle { display:inline-flex; align-items:center; order:2; margin-left:auto; transform:translateY(-6px); }
      nav .nav-right { order:3; gap:10px; }
      .lang-switch { order:2; }   /* langue juste apres le burger Menu */
      nav .logo { height:64px; width:120px; }
      nav .logo img { height:120px; top:-6px; }
      nav ul { order:5; flex-basis:100%; display:none; flex-direction:column; gap:0; margin:10px -20px 0; padding:6px 0; background:#fff; border-top:1px solid #eee; box-shadow:0 14px 28px rgba(0,0,0,0.14); }
      nav.menu-open ul { display:flex; }
      nav ul li { width:100%; }
      nav ul li a { display:block; padding:14px 24px; color:#333 !important; text-shadow:none !important; font-size:14px; letter-spacing:0.05em; }
      nav ul li a:hover, nav ul li a.current { background:#faf8f4; color:var(--accent) !important; }
      .room-item, .two-col, .riad-block, .resto-block, .spa-block { padding:10px !important; margin-bottom:48px; }
      .room-info, .riad-info, .resto-info, .spa-info { padding:24px 22px !important; }
      .page-hero-overlay h1, .hero-overlay h1 { font-size:32px; }
    }
    @media (max-width: 600px) {
      nav .nav-book { display:none; }
      nav .logo { height:54px; width:100px; } nav .logo img { height:100px; }
      .page-hero { height:42vh; margin-top:78px !important; }
      .intro { padding:0 18px; } .intro h2, .conc-head h2, .conc-cta h2, .cc-head h2, .ch h2 { font-size:25px; }
      .room-info h3, .riad-info h3, .resto-info h3, .spa-info h3 { font-size:30px; }
      .footer-cols { gap:30px; padding:0 6px 40px; }
      .contact-section, .access, .direct-priv, .conc-sec { padding-left:16px !important; padding-right:16px !important; }
    }

/* ===== nav-fit-jv ===== */
/* ===== Ajustement barre de navigation laptop 13" et + (JV 16/06) ===== */
nav { padding-left: clamp(18px, 2.1vw, 40px); padding-right: clamp(18px, 2.1vw, 40px); }
nav .logo { width: clamp(130px, 10.2vw, 170px); }
nav .logo img { height: clamp(130px, 10.2vw, 170px); top: clamp(-40px, -2.9vw, -24px); }
nav ul { gap: clamp(8px, 0.7vw, 36px); flex: 1 1 auto; justify-content: center; min-width: 0; }
nav ul li a { font-size: clamp(10.5px, 0.8vw, 14px); white-space: nowrap; }
.nav-right { gap: clamp(6px, 0.7vw, 18px); flex: 0 0 auto; }
.lang-switch { gap: 4px; }
.lang-switch button { padding: 4px 6px; }
.nav-book a { padding: 9px clamp(12px, 1vw, 26px); }
@media (max-width: 1180px) {
  nav { flex-wrap: wrap; padding-left:20px; padding-right:20px; }
  .nav-toggle { display:inline-flex; align-items:center; order:2; margin-left:auto; transform:translateY(-6px); }
  nav .nav-right { order:3; gap:10px; flex:0 0 auto; }
  nav { gap:10px; }   /* meme espace entre Menu/Langue qu'entre WhatsApp/Reserver */
  .lang-switch { order:2; }   /* langue juste apres le burger Menu */
  nav .logo { height:64px; width:120px; }
  nav .logo img { height:120px; top:-6px; }
  nav ul { order:5; flex-basis:100%; display:none; flex-direction:column; gap:0; margin:10px -20px 0; padding:6px 0; background:#fff; border-top:1px solid #eee; box-shadow:0 14px 28px rgba(0,0,0,0.14); justify-content:flex-start; }
  nav.menu-open ul { display:flex; }
  nav ul li { width:100%; }
  nav ul li a { display:block; padding:14px 24px; color:#333 !important; text-shadow:none !important; font-size:14px; letter-spacing:0.05em; white-space:normal; }
  nav ul li a:hover, nav ul li a.current { background:#faf8f4; color:var(--accent) !important; }
}

/* ===== lang-dd ===== */
.lang-switch{ position:relative; display:inline-block; }
.lang-switch .lang-current{ display:inline-flex; align-items:center; gap:6px; background:none; border:1px solid rgba(255,255,255,0.6); color:rgba(255,255,255,0.92); border-radius:50px; padding:6px 11px; font-family:inherit; font-size:11px; letter-spacing:0.1em; cursor:pointer; transition:color .3s,border-color .3s; }
.lang-switch .lang-current .fa-globe{ font-size:12px; }
.lang-switch .lang-current .lang-caret{ font-size:9px; transition:transform .25s; }
.lang-switch.open .lang-current .lang-caret{ transform:rotate(180deg); }
nav.scrolled .lang-switch .lang-current{ border-color:var(--accent); color:var(--accent); }
.lang-switch .lang-menu{ position:absolute; top:calc(100% + 8px); right:0; min-width:132px; background:#fff; border:1px solid #ececec; border-radius:10px; box-shadow:0 16px 34px rgba(0,0,0,0.16); padding:6px; display:none; flex-direction:column; z-index:200; }
.lang-switch.open .lang-menu{ display:flex; }
.lang-switch .lang-menu button{ background:none; border:none; text-align:left; padding:9px 14px; font-family:inherit; font-size:13px; color:#4a4640; cursor:pointer; border-radius:6px; letter-spacing:0.02em; white-space:nowrap; transition:background .2s,color .2s; }
.lang-switch .lang-menu button:hover{ background:#faf8f4; color:var(--accent); }
.lang-switch .lang-menu button.active{ color:var(--accent); font-weight:bold; }
@media (max-width:1180px){ .lang-switch .lang-menu{ right:auto; left:0; } }

/* ===== mu-style ===== */
.mu-unlock .mu-form{ display:none; flex-direction:column; align-items:center; gap:10px; max-width:340px; margin:16px auto 0; }
.mu-unlock.mu-open .mu-form{ display:flex; }
.mu-unlock.mu-open .mu-trigger, .mu-unlock.mu-done .mu-trigger{ display:none; }
.mu-input{ width:100%; padding:12px 18px; border:1px solid #d8cdb8; border-radius:50px; font-family:inherit; font-size:14px; color:#4a4640; background:#fff; }
.mu-input:focus{ outline:none; border-color:var(--accent); }
.mu-unlock.mu-bad-email .mu-email, .mu-unlock.mu-bad-name .mu-name, .mu-unlock.mu-bad-country .mu-country{ border-color:#c0392b; }
.mu-consent{ display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.45; color:#6a6258; text-align:left; font-style:normal; }
.mu-consent input{ margin-top:2px; flex:0 0 auto; accent-color:var(--accent); }
.mu-unlock.mu-bad-consent .mu-consent{ color:#c0392b; }
.mu-submit{ width:100%; cursor:pointer; border:none; }
.mu-error{ color:#c0392b; font-size:12px; margin-top:6px; }
.mu-result{ display:none; margin-top:18px; }
.mu-unlock.mu-done .mu-result{ display:block; }
.mu-result-label{ font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
.mu-code{ display:inline-block; font-size:22px; letter-spacing:0.04em; font-weight:bold; color:#2c2722; background:#f5f1ea; border:1px dashed var(--accent); border-radius:12px; padding:12px 28px; margin-bottom:16px; }
.mu-copy{ display:inline-block; background:none; border:1px solid var(--accent); color:var(--accent); font-family:inherit; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; padding:9px 22px; border-radius:50px; cursor:pointer; margin:0 0 14px; transition:background .2s,color .2s; }
.mu-copy:hover{ background:var(--accent); color:#fff; }
.mu-book{ display:inline-block !important; margin:0 0 12px !important; }
.mu-howto{ font-size:12.5px; font-style:italic; color:#8a8073; max-width:440px; margin:4px auto 12px; line-height:1.55; }
.mu-spam{ font-size:11.5px; color:#a59c8d; max-width:420px; margin:2px auto 0; line-height:1.5; }

/* ===== jv-btn-outline ===== */
/* === Boutons contour élégant (remplissage au survol) === */
a.btn, .promo-unlock-btn, .dp-unlock-btn, .dps-cta, .dayp-cta, .conc-cta a, .card-more,
.cform button, .btn-book, #jvOverlay .jv-book{
  background:transparent !important; border:1px solid var(--accent) !important; color:var(--accent) !important;
  transition:background .25s ease, color .25s ease, border-color .25s ease !important;
}
a.btn:hover, .promo-unlock-btn:hover, .dp-unlock-btn:hover, .dps-cta:hover, .dayp-cta:hover, .conc-cta a:hover,
.card-more:hover, .cform button:hover, .btn-book:hover, #jvOverlay .jv-book:hover{
  background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important;
}
body:not(.is-home) .nav-book a, body.is-home nav.scrolled .nav-book a{ background:var(--accent) !important; border:1px solid var(--accent) !important; color:#fff !important; }
body:not(.is-home) .nav-book a:hover, body.is-home nav.scrolled .nav-book a:hover{ background:var(--accent-dark) !important; border-color:var(--accent-dark) !important; color:#fff !important; }
.newsletter button{
  background:transparent !important; border:1px solid #cda972 !important; color:#e7d9b4 !important;
  transition:background .25s ease, color .25s ease !important;
}
.newsletter button:hover{ background:#cda972 !important; color:#2c2c2c !important; }
/* gap uniforme icone-mot */
.spa-menu-btn, .carte-btn, .enquiry-link, .conc-cta a, .offers-banner-overlay a, .cform button.send-btn{ gap:12px !important; }
/* Élégance des boutons pleins : transition douce, ombre teintée, léger soulèvement au survol */
a.btn, .promo-unlock-btn, .dp-unlock-btn, .dps-cta, .dayp-cta, .conc-cta a, .card-more, .cform button, .btn-book, #jvOverlay .jv-book, .nav-book a{ transition:background .3s ease, color .3s ease, border-color .3s ease, box-shadow .35s ease, transform .3s ease !important; }
a.btn:hover, .promo-unlock-btn:hover, .dp-unlock-btn:hover, .dps-cta:hover, .dayp-cta:hover, .conc-cta a:hover, .card-more:hover, .cform button:hover, .btn-book:hover, #jvOverlay .jv-book:hover, .nav-book a:hover{ box-shadow:0 9px 24px rgba(156,124,70,0.30) !important; transform:translateY(-2px) !important; }
body:not(.is-home) .nav-book a, body.is-home nav.scrolled .nav-book a{ box-shadow:0 6px 18px rgba(156,124,70,0.26) !important; }
/* Élégance des boutons contour : bordure douce translucide + inter-lettrage aéré */
a.btn, .promo-unlock-btn, .dp-unlock-btn, .dps-cta, .dayp-cta, .conc-cta a, .card-more, .cform button, .btn-book, #jvOverlay .jv-book{ border:1px solid rgba(156,124,70,0.55) !important; letter-spacing:0.17em !important; font-weight:400 !important; }
a.btn:hover, .promo-unlock-btn:hover, .dp-unlock-btn:hover, .dps-cta:hover, .dayp-cta:hover, .conc-cta a:hover, .card-more:hover, .cform button:hover, .btn-book:hover, #jvOverlay .jv-book:hover{ border-color:var(--accent) !important; }
/* transform ignoré sur inline → on force inline-block pour que le soulèvement marche */
.nav-book a{ display:inline-block !important; }
/* Mouvement aussi sur les boutons des bandeaux + liens CTA contour */
.enquiry-link, .conc-cta a, .card-more, .btn-book{ display:inline-block !important; }
.enquiry-link{ display:inline-flex !important; align-items:center; gap:9px; }
.enquiry-link .bell-ico{ width:20px; height:20px; flex:0 0 auto; }
.enquiry-link, .spa-menu-btn, .carte-btn, .spa-banner-overlay a, .resto-banner-overlay a, .offers-banner-overlay a{ transition:background .25s ease, color .25s ease, box-shadow .3s ease, transform .3s ease !important; }
.enquiry-link:hover, .spa-menu-btn:hover, .carte-btn:hover, .spa-banner-overlay a:hover, .resto-banner-overlay a:hover, .offers-banner-overlay a:hover{ transform:translateY(-2px) !important; box-shadow:0 8px 20px rgba(156,124,70,0.22) !important; }

/* ===== readability-textwrap ===== */
/* Lisibilité : retours à la ligne plus propres — sans changer police, couleur ni alignement */
p, li, .dp-sub, .dayp-sub, .promo-sub, .intro p, blockquote { text-wrap: pretty; }
h1, h2, h3, h4, .section-title, .intro-title, .subtitle, .intro-subtitle { text-wrap: balance; }

/* ===== jv-mobile-nav ===== */
/* retour instantane des couleurs a la fermeture du menu (pas de transition) */
body nav.jv-instant .nav-toggle::before, body nav.jv-instant .nav-toggle::after, body nav.jv-instant .lang-switch .lang-current, body nav.jv-instant .wa-btn, body nav.jv-instant .logo img{ transition:none !important; }
/* ===== NAV MOBILE : Menu + WhatsApp a gauche, logo centre, Langue + badge Travellers Choice a droite ===== */
@media (max-width:1100px){
  body nav{ min-height:74px !important; padding-left:12px !important; padding-right:12px !important; display:flex !important; align-items:center !important; gap:0 !important; }
  body nav .nav-left, body nav .nav-right{ display:contents !important; }
  body nav > ul, body nav .nav-book{ display:none !important; }
  /* GAUCHE : Menu + WhatsApp */
  body nav .nav-left .nav-toggle{ order:1 !important; flex:0 0 auto !important; gap:7px !important; margin:0 !important; transform:none !important; }
  body nav .nav-toggle::before{ font-size:29px !important; }
  body nav .nav-toggle::after{ font-size:14px !important; }
  body nav .nav-right .wa-btn{ order:2 !important; flex:0 0 auto !important; margin:0 0 0 13px !important; font-size:36px !important; width:auto !important; height:auto !important; }
  /* CENTRE : logo */
  body nav .logo{ order:3 !important; flex:1 1 0 !important; min-width:0 !important; height:74px !important; width:auto !important; display:flex !important; align-items:center !important; justify-content:center !important; margin:0 !important; }
  body nav .logo img{ height:58px !important; width:auto !important; }
  /* DROITE : langue + badge Travellers Choice */
  body nav .nav-left .lang-switch{ order:4 !important; flex:0 0 auto !important; }
  body nav .lang-switch .lang-current{ font-size:10px !important; padding:4px 8px !important; gap:5px !important; }
  body nav .lang-switch .lang-current .fa-globe{ font-size:11px !important; }
  body nav .lang-switch .lang-current .lang-caret{ font-size:8px !important; }
  body nav .nav-right .nav-tc{ order:5 !important; display:inline-block !important; height:48px !important; width:auto !important; margin:0 0 0 9px !important; flex:0 0 auto !important; align-self:center !important; }
  /* transition uniforme : tous les boutons reviennent au blanc en meme temps a la fermeture du menu */
  body nav .nav-toggle::before, body nav .nav-toggle::after, body nav .lang-switch .lang-current, body nav .wa-btn, body nav .logo img{ transition:color .25s ease, border-color .25s ease, filter .25s ease, -webkit-text-stroke .25s ease !important; }
  /* ---- COULEURS : bronze hors hero, blanc a l'arrivee sur l'accueil ---- */
  body:not(.is-home) nav .nav-toggle::before, body:not(.is-home) nav .nav-toggle::after,
  body.is-home nav.scrolled .nav-toggle::before, body.is-home nav.scrolled .nav-toggle::after{ color:var(--accent) !important; text-shadow:none !important; }
  body:not(.is-home) nav .lang-switch .lang-current,
  body.is-home nav.scrolled .lang-switch .lang-current{ color:var(--accent) !important; border-color:var(--accent) !important; }
  body:not(.is-home) nav .wa-btn{ --wa-col:var(--accent) !important; color:var(--accent) !important; }
  body.is-home nav.scrolled .wa-btn{ --wa-col:var(--accent) !important; color:var(--accent) !important; -webkit-text-stroke:0 !important; animation:none !important; }
  body.is-home nav:not(.scrolled):not(.jv-menu-on) .nav-toggle::before,
  body.is-home nav:not(.scrolled):not(.jv-menu-on) .nav-toggle::after{ color:#fff !important; text-shadow:0 1px 7px rgba(0,0,0,.38) !important; }
  body.is-home nav:not(.scrolled):not(.jv-menu-on) .lang-switch .lang-current{ color:#fff !important; border-color:rgba(255,255,255,.75) !important; }
  body.is-home nav:not(.scrolled):not(.jv-menu-on) .wa-btn{ --wa-col:#fff !important; color:#fff !important; }
}

/* ===== jv-mobile-footer ===== */
/* ===== FOOTER MOBILE : Contact|Explorer, Newsletter (consentement a gauche / e-mail a droite), Reseaux en dessous ===== */
@media (max-width:600px){
  footer{ padding:4px 18px 0 !important; }
  .footer-top{ margin:0 auto 16px !important; padding-bottom:16px !important; }
  .footer-top img{ height:62px !important; margin-top:14px !important; margin-bottom:-4px !important; }
  .footer-top p{ font-size:11.5px !important; line-height:1.45 !important; }
  /* grille principale (specificite renforcee pour battre newsletter.js) */
  footer .footer-cols{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:16px 16px !important; padding:0 2px 16px !important; align-items:start !important; }
  footer .footer-cols > *{ min-width:0 !important; overflow-wrap:break-word !important; }
  footer .footer-cols > :first-child{ grid-column:1 !important; grid-row:1 !important; }
  footer .footer-links{ grid-column:2 !important; grid-row:1 !important; }
  footer .footer-news{ grid-column:1 / -1 !important; grid-row:2 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px 14px !important; align-items:start !important; margin:0 !important; }
  footer .footer-social{ grid-column:1 / -1 !important; grid-row:3 !important; text-align:center !important; }
  footer .footer-social h4{ text-align:center !important; }
  footer .footer-social .socials{ justify-content:center !important; }
  .footer-cols h4{ font-size:13px !important; margin-bottom:8px !important; }
  .footer-cols .line{ font-size:12px !important; line-height:1.5 !important; margin-bottom:5px !important; }
  .footer-links a, .footer-social a{ font-size:12px !important; }
  /* Newsletter : consentement a gauche, titre + e-mail a droite */
  footer .footer-news .nl-h{ grid-column:1 !important; grid-row:1 !important; margin:0 0 6px !important; font-size:16px !important; }
  footer .footer-news .nl-optin{ grid-column:1 !important; grid-row:2 !important; margin:0 !important; max-width:none !important; font-size:10px !important; line-height:1.4 !important; }
  footer .footer-news .nl-sub{ display:none !important; }
  footer .footer-news .nl-form{ grid-column:2 !important; grid-row:1 / span 2 !important; align-self:center !important; max-width:none !important; }
  footer .footer-news .nl-msg{ grid-column:1 / -1 !important; }
  .footer-bottom{ padding:12px 18px !important; font-size:11px !important; line-height:1.4 !important; }
}

/* ===== jv-mobile-promo ===== */
/* ===== LANGUETTE MOBILE : mini-languette repliee + deplie qui monte jusqu'au menu ===== */
@media (max-width:600px){
  /* repliee : mini-languette de rappel */
  .promo-drawer.collapsed .promo-tab{ padding:8px 13px !important; gap:7px !important; border-radius:0 11px 0 0 !important; font-size:0 !important; box-shadow:0 -4px 16px rgba(0,0,0,0.22) !important; }
  .promo-drawer.collapsed .promo-tab .pt-label{ display:none !important; }
  .promo-drawer.collapsed .promo-tab::before{ content:"\f06b"; font-family:"Font Awesome 6 Free"; font-weight:900; font-size:15px; color:#fff; line-height:1; }
  .promo-drawer.collapsed .promo-tab .pt-arrow{ font-size:14px !important; transform:rotate(-90deg) !important; }
  /* depliee : monte jusqu'a la ligne du menu + contenu compact pour tout faire tenir */
  .promo-drawer{ --cardW:72vw !important; }
  .promo-drawer:not(.collapsed){ z-index:1100 !important; }
  .promo-drawer:not(.collapsed) .promo-card{ height:calc(100svh - var(--jv-bookbar-h,60px) - 140px) !important; max-height:calc(100svh - var(--jv-bookbar-h,60px) - 140px) !important; min-height:0 !important; overflow:auto !important; }
  .promo-card{ padding:0 22px !important; }
  .promo-card::before{ height:16px !important; }
  .promo-card::after{ height:12px !important; }
  .promo-label{ font-size:9.5px !important; margin:2px 0 6px !important; letter-spacing:0.22em !important; }
  .promo-card h3{ font-size:18px !important; margin-bottom:6px !important; }
  .promo-rule{ margin:0 auto 9px !important; }
  .promo-sub{ font-size:11.5px !important; margin:0 auto 11px !important; line-height:1.5 !important; }
  .promo-perks{ gap:8px !important; margin:0 0 11px !important; }
  .promo-perks li{ font-size:12px !important; line-height:1.35 !important; }
  .promo-perks li i{ margin-top:2px !important; }
  .promo-guar{ padding-top:11px !important; gap:10px !important; }
  .promo-guar > i{ font-size:18px !important; }
  .promo-guar .g-title{ font-size:9.5px !important; margin-bottom:3px !important; }
  .promo-guar .g-sub{ font-size:11.5px !important; line-height:1.4 !important; }
  .promo-unlock{ margin-top:11px !important; }
  .promo-unlock-btn{ padding:11px 26px !important; font-size:10px !important; }
  .promo-note{ font-size:9.5px !important; margin-top:8px !important; }
}

/* ===== jv-mobile-priv ===== */
/* ===== OFFRES MOBILE : tous les avantages d'un coup d'oeil (2 colonnes compactes) ===== */
@media (max-width:600px){
  .direct-priv{ padding:38px 16px 42px !important; margin:8px auto 54px !important; }
  .direct-priv h3{ font-size:24px !important; margin-bottom:8px !important; }
  .direct-priv .dp-sub{ font-size:12.5px !important; margin:0 auto 24px !important; line-height:1.55 !important; }
  .direct-priv ul{ grid-template-columns:1fr 1fr !important; gap:22px 14px !important; }
  .direct-priv li{ gap:9px !important; }
  .direct-priv .dp-ico{ width:46px !important; height:46px !important; font-size:16px !important; }
  .direct-priv li span.dp-txt{ font-size:11.5px !important; line-height:1.4 !important; max-width:150px !important; }
  .direct-priv .dp-guarantee{ margin-top:26px !important; padding-top:22px !important; }
  .direct-priv .dp-guarantee .g-sub{ font-size:12.5px !important; }
  .direct-priv .dp-unlock{ margin-top:22px !important; }
}

/* ===== jv-mobile-daypass ===== */
/* ===== DAY PASS MOBILE : diaporama horizontal (swipe natif, apercu carte suivante) ===== */
@media (max-width:600px){
  .dayp-grid{ display:flex !important; grid-template-columns:none !important; overflow-x:auto !important; scroll-snap-type:x mandatory !important; gap:14px !important; padding:6px 16px 14px !important; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .dayp-grid::-webkit-scrollbar{ display:none !important; }
  .dayp-card{ flex:0 0 84% !important; scroll-snap-align:center !important; padding:30px 26px 32px !important; }
  .dayp-card img{ height:200px !important; margin:0 0 20px !important; }
  .dayp-name{ font-size:21px !important; }
  .dayp-card li{ font-size:12.5px !important; margin-bottom:9px !important; }
  .dayp-price{ font-size:26px !important; }
}

/* ===== jv-mobile-daypmore ===== */
/* ===== DAY PASS MOBILE : titre + sous-titre + 1re ligne, puis bouton Plus de details ===== */
.dayp-more{ display:none; }
@media (max-width:600px){
  .dayp-card ul li:nth-child(n+3){ display:none; }
  .dayp-card.dp-open ul li{ display:list-item; }
  .dayp-more{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin:2px 0 14px; padding:8px 18px; background:transparent; color:var(--accent); border:1px solid var(--accent); border-radius:50px; font-family:'Georgia',serif; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background .2s,color .2s; }
  .dayp-more:hover{ background:var(--accent); color:#fff; }
}

/* ===== jv-mobile-offcar ===== */
/* ===== OFFRES EXCLUSIVES (slideshow) MOBILE : photo fusionnee au bloc texte gris + compact ===== */
@media (max-width:600px){
  .home-carousel{ margin:0 auto 60px !important; padding:0 16px !important; }
  .home-carousel .hc-slide .hc-img{ height:200px !important; }
  .home-carousel .hc-slide .hc-body{ padding:20px 22px 24px !important; border:1px solid #ece6db !important; border-top:none !important; justify-content:flex-start !important; }
  .home-carousel .hc-slide .hc-body h3{ font-size:21px !important; margin-bottom:10px !important; }
  .home-carousel .hc-slide .hc-body p{ font-size:13px !important; line-height:1.6 !important; }
  .home-carousel .hc-slide .hc-body .hc-cta{ margin-top:16px !important; padding:11px 26px !important; }
  .home-carousel .hc-arrow{ top:100px !important; }
}

/* ===== jv-mobile-spacing ===== */
/* ===== MOBILE : compactage des espaces verticaux entre sections ===== */
@media (max-width:600px){
  .page-hero-overlay{ padding-bottom:24px !important; justify-content:flex-end !important; }
  .intro{ margin:38px auto 32px !important; }
  .riad-block, .resto-block, .spa-block, .room-item{ margin-bottom:22px !important; }
  .resto-container, .spa-container{ padding-bottom:36px !important; }
  .quote-band{ padding:38px 24px !important; }
  .two-col{ margin:34px auto !important; }
  .reviews{ padding:34px 22px !important; }
  .rooms-section, .services-section{ padding:44px 0 !important; }
}

/* ===== jv-desktop-lang ===== */
/* Bouton langue en bronze sur fond blanc (pages interieures, desktop) */
@media (min-width:601px){
  body:not(.is-home) nav .lang-switch .lang-current{ color:var(--accent) !important; border-color:var(--accent) !important; }
}

/* ===== jv-desktop-consent ===== */
/* Case de consentement : leger filtre pour adoucir le blanc (desktop) */
@media (min-width:601px){
  .nl-optin input, .footer-news .nl-optin input, form.cform .nl-optin input, .mu-consent input{ filter:opacity(0.7) brightness(0.97) !important; }
}

/* ===== jv-desktop-promo-aere ===== */
/* Aeration du texte du pop-up pour qu'il se repartisse dans l'espace (desktop 13") */
@media (min-width:601px) and (max-width:1500px){
  .promo-card::before{ height:30px !important; }
  .promo-card::after{ height:28px !important; }
  .promo-label{ margin:6px 0 14px !important; }
  .promo-card h3{ margin-bottom:14px !important; }
  .promo-rule{ margin:0 auto 18px !important; }
  .promo-sub{ margin:0 auto 26px !important; line-height:1.7 !important; }
  .promo-perks{ gap:16px !important; margin:0 0 26px !important; }
  .promo-perks li{ line-height:1.55 !important; }
  .promo-guar{ padding-top:24px !important; }
  .promo-unlock{ margin-top:24px !important; }
  .promo-note{ margin-top:16px !important; }
}
