/* Riad Jona — styles de la page restaurant (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 */
    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 0.35s ease, border-color 0.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 0.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 0.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 0.3s, border-color 0.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 0.3s, border-color 0.3s, color 0.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 */
    .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.25), rgba(0,0,0,0) 35%, 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 60px;
    }
    .page-hero-overlay h1 { font-family:'Cormorant Garamond',serif; font-size: 56px; font-weight: 300; letter-spacing: 0.05em; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,0.3); }
    .page-hero-overlay p { font-size: 17px; font-weight: 300; letter-spacing: 0.12em; opacity: 0.95; text-shadow: 0 1px 8px rgba(0,0,0,0.3); }

    /* INTRO */
    .intro { max-width: 820px; margin: 104px auto 92px; 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: 24px; letter-spacing: 0.03em; }
    .intro p { font-size: 17px; line-height: 2.05; color: #666; }

    /* RESTO BLOCKS */
    .resto-container { max-width: 1660px; margin: 0 auto; padding: 0 28px 120px; }
    .resto-block {
      display: grid; grid-template-columns: 1.18fr 0.82fr; align-items: center;
      margin-bottom: 60px; gap: 0 16px; border: 1px solid rgba(201,176,126,0.45); background:#fff; padding:16px; box-shadow:0 18px 52px rgba(0,0,0,0.08);
    }
    .resto-block.reverse { direction: rtl; }
    .resto-block.reverse > * { direction: ltr; }
    .resto-image { position: relative; overflow: hidden; aspect-ratio:16/9; border:1px solid rgba(201,176,126,0.35); }
    .resto-image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform 0.6s ease; }
    .resto-block:hover .resto-image img { transform: scale(1.03); }
    .resto-image a { display:block; cursor:pointer; }
    .resto-slideshow .rs-track { display:flex; height:100%; transition:transform .6s cubic-bezier(.4,0,.2,1); }
    .resto-slideshow .rs-cell { min-width:100%; height:100%; position:relative; }
    .resto-slideshow .rs-cell .rs-slide { width:100%; height:100%; object-fit:cover; display:block; }
    .resto-slideshow .rs-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:42px; height:42px; border-radius:50%; border:none; background:rgba(0,0,0,0.34); color:#fff; font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; opacity:.85; transition:opacity .25s, background .25s; }
    .resto-slideshow:hover .rs-arrow { opacity:1; }
    .resto-slideshow .rs-arrow:hover { background:rgba(0,0,0,0.6); }
    .resto-slideshow .rs-arrow.prev { left:12px; } .resto-slideshow .rs-arrow.next { right:12px; }
    .resto-slideshow .rs-num { position:absolute; top:12px; left:12px; z-index:3; background:rgba(150,110,60,0.94); color:#fff; font-family:Georgia,serif; font-size:13px; letter-spacing:.04em; padding:3px 11px; border-radius:3px; pointer-events:none; }
    .resto-slideshow .rs-dots { position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:3; }
    .resto-slideshow .rs-dots button { width:8px; height:8px; border-radius:50%; border:none; background:rgba(255,255,255,.55); cursor:pointer; padding:0; transition:background .3s; }
    .resto-slideshow .rs-dots button.on { background:#fff; }
    .resto-slideshow .rs-slide { cursor:zoom-in; }
    .resto-slideshow.nolb .rs-slide { cursor:default; }
    .rlb { position:fixed; inset:0; background:#f4eee3; display:none; align-items:center; justify-content:center; z-index:4200; }
    .rlb.open { display:flex; }
    .rlb-frame { background:#fdfbf7; padding:clamp(14px,2vw,24px); box-shadow:0 26px 60px rgba(40,26,12,0.22); }
    .rlb #rlb-img-resto { display:block; max-width:80vw; max-height:78vh; box-shadow:0 0 0 1px #d8c9a8; transition:opacity .32s ease; will-change:opacity; }
    .rlb button { position:absolute; z-index:2; background:none; border:none; color:#9C7C46; cursor:pointer; opacity:.8; transition:opacity .2s, color .2s; line-height:1; }
    .rlb button:hover { opacity:1; color:#84683A; }
    .rlb .rlb-close { top:0; left:0; right:0; height:110px; width:auto; display:flex; align-items:flex-start; justify-content:flex-end; padding:18px 28px 0; font-size:40px; z-index:4; }
    .rlb .rlb-prev,.rlb .rlb-next { top:0; bottom:0; transform:none; height:100%; width:32vw; display:flex; align-items:center; font-size:52px; z-index:2; }
    .rlb .rlb-prev { left:0; justify-content:flex-start; padding-left:24px; }
    .rlb .rlb-next { right:0; justify-content:flex-end; padding-right:24px; }
    @media(max-width:560px){ .rlb .rlb-prev,.rlb .rlb-next{ font-size:36px; width:36vw; padding:0 14px; } }
    .b2-cta { display:inline-block; margin-top:24px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent); padding-bottom:3px; transition:color .2s,border-color .2s; }
    .b2-cta:hover { color:var(--accent-dark); border-color:var(--accent-dark); }
    .resto-info { padding: 30px 48px; }
    .resto-info .label { font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
    .resto-info h3 { font-size: 39px; font-weight: 300; margin-bottom: 20px; letter-spacing: 0.03em; }
    .resto-info p { font-size: 16px; line-height: 2.0; color: #666; }

    /* BANNER */
    .resto-banner { position: relative; height: 460px; overflow: hidden; }
    .resto-banner img { width: 100%; height: 100%; object-fit: cover; }
    .resto-banner-overlay {
      position: absolute; inset: 0; background: rgba(0,0,0,0.45);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      color: #fff; text-align: center; padding: 0 20px;
    }
    .resto-banner-overlay h3 { font-size: 38px; font-weight: 300; margin-bottom: 12px; }
    .resto-banner-overlay p { font-size: 15px; letter-spacing: 0.1em; margin-bottom: 26px; }
    .resto-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;
    }
    .resto-banner-overlay a:hover { background: #fff; color: #333; }
    .resto-banner-actions { display:flex; gap:16px; flex-wrap:wrap; align-items:center; justify-content:center; }
    .resto-banner-overlay .carte-btn { padding:14px 30px; border-color:#fff; color:#fff; text-transform:uppercase; }
    .resto-banner-overlay .carte-btn:hover { background:#fff; color:#333; }

    /* FOOTER */
    footer { background: #1a1a1a; color: #aaa; padding: 64px 40px 36px; display: grid; grid-template-columns: 1fr 1.2fr 1.2fr; gap: 40px; }
    footer h4 { color: #fff; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 16px; font-weight: 400; }
    footer .contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; font-size: 13px; line-height: 1.6; }
    footer .contact-item a { color: #aaa; text-decoration: none; }
    footer .contact-item a:hover { color: #fff; }
    footer .social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
    footer .social a { color: #aaa; font-size: 13px; text-decoration: none; border: 1px solid #444; padding: 6px 14px; border-radius: 50px; }
    footer .social a:hover { color: #fff; border-color: #fff; }
    .footer-bottom { background: #111; color: #555; text-align: center; padding: 16px 40px; font-size: 11px; }

    @media (max-width: 1280px) { nav ul { gap: 22px; } nav ul li a { font-size: 12px; } }
    @media (max-width: 900px) {
      .resto-block, .resto-block.reverse { grid-template-columns: 1fr; direction: ltr; }
      .resto-image { min-height: 320px; }
      .resto-image img { position: relative; height: 320px; }
      .resto-info { padding: 36px 26px; }
      footer { 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: 36px; }
    }
  
    /* FOOTER LUXE (standard) */
    footer { display:block; background:#1a1613; color:#b6ad9f; padding:6px 40px 0; grid-template-columns:none; gap:0; }
    .footer-top { text-align:center; max-width:1200px; margin:0 auto 54px; padding-bottom:var(--jv-bookbar-top, 80px); border-bottom:1px solid rgba(156,124,70,0.30); }
    .footer-top img { height:170px; width:auto; filter:brightness(0) invert(1); opacity:0.95; margin-top:48px; margin-bottom:-12px; }
@media (min-width:769px) and (max-width:1500px){ .footer-top img{ height:120px !important; margin-top:26px !important; } .footer-top{ margin-bottom:34px !important; } .footer-cols{ gap:40px !important; padding-bottom:40px !important; } .footer-bottom{ padding-top:14px !important; padding-bottom:14px !important; } }
    .footer-top p { font-size:14px; letter-spacing:0.05em; color:#a59c8e; font-style:italic; }
    .footer-cols { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:56px; padding-bottom:58px; }
    footer h4 { font-family:'Cormorant Garamond',Georgia,serif; color:var(--accent); font-size:19px; letter-spacing:0.04em; text-transform:none; margin-bottom:18px; font-weight:500; }
    .footer-cols .line { font-size:14px; line-height:1.85; color:#b6ad9f; margin-bottom:9px; }
    .footer-cols a { color:#b6ad9f; text-decoration:none; transition:color .25s; }
    .footer-cols a:hover { color:#fff; }
    .footer-links a { display:block; margin-bottom:12px; font-size:14px; letter-spacing:0.04em; }
    .footer-social .socials { display:flex; gap:14px; }
    .footer-social .socials a { width:42px; height:42px; border:1px solid rgba(156,124,70,0.55); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:16px; transition:background .25s, color .25s, border-color .25s; }
    .footer-social .socials a:hover { background:var(--accent); color:#1a1613; border-color:var(--accent); }
    .footer-bottom { background:#1a1613; border-top:1px solid rgba(255,255,255,0.07); color:#8a8073; text-align:center; padding:20px 40px; font-size:13px; line-height:1.45; font-family:'Georgia', serif; }
    @media (max-width:900px){ .footer-cols { grid-template-columns:1fr; gap: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; } }

/* ===== 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-frames ===== */
/* ===== MOBILE : photos qui rentrent dans le cadre (corrige aspect-ratio + min-height) ===== */
@media (max-width:600px){
  .resto-image{ min-height:0 !important; width:auto !important; aspect-ratio:3/2 !important; }
  .resto-image img, .resto-image .rs-slide, .resto-image .rs-cell img{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; }
}

/* ===== jv-mobile-lightbox ===== */
/* ===== LIGHTBOX MOBILE : pas de fleches, croix conservee, navigation au swipe ===== */
@media (max-width:600px){ .rlb .rlb-prev, .rlb .rlb-next{ display:none !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; }
}
