/* Riad Jona — styles de la page situation (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:840px; margin:96px auto 70px; 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; }
    .loc-wrap { max-width:1660px; margin:0 auto 90px; padding:0 28px; display:grid; grid-template-columns:0.92fr 1.08fr; gap:60px; align-items:center; }
    .loc-text .label { font-size:12px; letter-spacing:0.22em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
    .loc-text h3 { font-size:34px; font-weight:300; margin-bottom:20px; letter-spacing:0.03em; }
    .loc-text p { font-size:16px; line-height:2.0; color:#666; margin-bottom:16px; }
    .loc-map { min-height:480px; border:1px solid #eee; }
    .loc-map iframe { width:100%; height:100%; min-height:480px; border:0; display:block; }
    .near { background:#faf9f7; padding:96px 28px; }
    .near-head { text-align:center; margin-bottom:54px; }
    .near-head .label { font-size:11px; letter-spacing:0.25em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
    .near-head h2 { font-size:36px; font-weight:300; }
    .near-grid { max-width:1400px; margin:0 auto; display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
    .near-card { background:#fff; border:1px solid #ece8e1; padding:42px 32px; text-align:center; transition:box-shadow .3s, transform .3s; }
    .near-card:hover { box-shadow:0 14px 40px rgba(0,0,0,0.06); transform:translateY(-3px); }
    .near-card .pin { width:62px; height:62px; margin:0 auto 20px; border:1px solid var(--accent-light); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:23px; }
    .near-card h4 { font-size:19px; font-weight:300; margin-bottom:8px; letter-spacing:0.03em; }
    .near-card .dist { font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
    .near-card p { font-size:14px; line-height:1.75; color:#666; }
    .mon-sec { max-width:1400px; margin:78px auto 90px; padding:0 28px; }
    .mon-slideshow { position:relative; height:clamp(360px,56vh,600px); overflow:hidden; border:1px solid rgba(201,176,126,0.40); background:#2c2722; box-shadow:0 18px 52px rgba(0,0,0,0.10); }
    .mon-track { display:flex; height:100%; transition:transform .6s cubic-bezier(.4,0,.2,1); }
    .mon-slide { min-width:100%; height:100%; position:relative; background:#2c2722; }
    .mon-slide img { width:100%; height:100%; object-fit:cover; display:block; }
    .mon-cap { position:absolute; left:0; right:0; bottom:0; padding:46px 56px 58px; color:#fff; background:linear-gradient(to top, rgba(0,0,0,0.74), rgba(0,0,0,0)); }
    .mon-cap h3 { font-family:'Cormorant Garamond',Georgia,serif; font-size:34px; font-weight:300; letter-spacing:0.02em; margin:0 0 10px; }
    .mon-cap p { font-size:15.5px; line-height:1.7; color:#f0e9dc; max-width:700px; margin:0; }
    .mon-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:46px; height:46px; border-radius:50%; border:none; background:rgba(255,255,255,0.9); color:var(--accent-dark); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; opacity:.9; transition:opacity .25s, background .25s; }
    .mon-slideshow:hover .mon-arrow { opacity:1; }
    .mon-arrow:hover { background:#fff; }
    .mon-arrow.prev { left:16px; } .mon-arrow.next { right:16px; }
    .mon-dots { position:absolute; bottom:18px; left:0; right:0; z-index:4; display:flex; justify-content:center; gap:9px; }
    .mon-dots button { width:9px; height:9px; border-radius:50%; border:none; background:rgba(255,255,255,0.5); cursor:pointer; padding:0; transition:background .3s; }
    .mon-dots button.on { background:#fff; }
    @media(max-width:700px){ .mon-cap { padding:30px 24px 46px; } .mon-cap h3 { font-size:26px; } .mon-cap p { font-size:14px; } .mon-arrow{ width:40px;height:40px; } }
    .card-more { display:inline-block; margin-top:24px; padding:11px 26px; background:var(--accent); border:1px solid var(--accent); color:#fff; text-decoration:none; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; cursor:pointer; transition:background .3s, border-color .3s; }
    .card-more:hover { background:var(--accent-dark); border-color:var(--accent-dark); }
    .lieu-modal { position:fixed; inset:0; z-index:200; display:none; }
    .lieu-modal.open { display:block; }
    .lieu-modal-backdrop { position:absolute; inset:0; background:rgba(20,17,14,0.6); }
    .lieu-modal-box { position:relative; max-width:760px; width:calc(100% - 40px); max-height:88vh; overflow:auto; margin:6vh auto; background:#fff; box-shadow:0 30px 80px rgba(0,0,0,0.4); }
    .lieu-modal-map { height:320px; }
    .lieu-modal-map iframe { width:100%; height:100%; border:0; display:block; }
    .lieu-modal-body { padding:40px 48px 48px; }
    .lieu-modal-body .lm-dist { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin-bottom:10px; }
    .lieu-modal-body h3 { font-size:32px; font-weight:300; margin-bottom:18px; letter-spacing:0.02em; }
    .lieu-modal-body > p { font-size:15px; line-height:1.95; color:#555; margin-bottom:26px; }
    .lieu-modal-info { border-top:1px solid #ece8e1; padding-top:20px; }
    .lieu-modal-info > div { font-size:13.5px; color:#666; margin-bottom:8px; }
    .lieu-modal-info .li-l { color:var(--accent); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; margin-right:6px; }
    .lieu-modal-close { position:absolute; top:14px; right:14px; z-index:3; width:42px; height:42px; border-radius:50%; border:none; background:rgba(255,255,255,0.9); color:#333; font-size:24px; line-height:1; cursor:pointer; transition:background .2s; }
    .lieu-modal-close:hover { background:#fff; }
    @media (max-width:600px){ .lieu-modal-img { height:220px; } .lieu-modal-body { padding:30px 26px 36px; } .lieu-modal-body h3 { font-size:26px; } }
    .access { max-width:1140px; margin:80px auto; padding:40px 44px; text-align:left; border:1px solid rgba(201,176,126,0.45); background:#fff; box-shadow:0 18px 52px rgba(0,0,0,0.08); display:flex; gap:46px; align-items:center; }
    .access-text { flex:1 1 50%; min-width:0; }
    .access-img { flex:1 1 50%; }
    .access-img img { width:100%; height: 100%; aspect-ratio:3/2; object-fit:cover; display:block; border-radius:6px; border:1px solid rgba(201,176,126,0.35); box-shadow:0 12px 34px rgba(0,0,0,0.12); }
    .access h2 { font-size:32px; font-weight:300; margin-bottom:18px; }
    .access p { font-size:16px; line-height:2.0; color:#666; }
    .access-go { margin-top:42px; font-size:11px; letter-spacing:0.26em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
    .access-actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-start; }
    .access-actions a { display:inline-flex; align-items:center; gap:10px; padding:13px 28px; border:1px solid var(--accent); color:var(--accent); text-decoration:none; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; border-radius:50px; transition:background .25s, color .25s, border-color .25s; }
    .access-actions a:hover { background:var(--accent); color:#fff; border-color:var(--accent); }
    .access-actions a i { font-size:17px; }
    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){
      .loc-wrap{ grid-template-columns:1fr; gap:36px; } .near-grid{ grid-template-columns:1fr; }
      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:34px; }
    }
  
    /* 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); }

    /* ===== CONTACT (fusionné) ===== */
    .contact-section { max-width:1200px; margin:30px auto 100px; padding:0 28px; }
    #form { scroll-margin-top:120px; }
    .contact-section .ch { text-align:center; margin-bottom:46px; }
    .contact-section .ch .lbl { font-size:11px; letter-spacing:0.25em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
    .contact-section .ch h2 { font-size:34px; font-weight:300; letter-spacing:0.03em; }
    .contact-section .contact-wrap { display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:start; }
    .contact-info h3 { font-size:23px; font-weight:300; margin-bottom:24px; letter-spacing:0.03em; }
    .contact-info .ci { border-top:1px solid #ece8e1; padding:18px 0; }
    .contact-info .ci:first-of-type { border-top:none; padding-top:0; }
    .contact-info .ci .lbl { font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--accent); margin-bottom:7px; }
    .contact-info .ci .val { font-size:15px; line-height:1.7; color:#555; }
    .contact-info .ci .val a { color:#555; text-decoration:none; transition:color .2s; }
    .contact-info .ci .val a:hover { color:var(--accent); }
    .form-wrap h2 { font-size:26px; font-weight:300; margin-bottom:8px; }
    .form-wrap .form-sub { font-size:14px; color:#666; margin-bottom:26px; }
    form.cform { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    form.cform input, form.cform textarea { width:100%; padding:14px 16px; border:1px solid #ddd; font-family:inherit; font-size:14px; background:#fff; outline:none; transition:border-color .2s; }
    form.cform input:focus, form.cform textarea:focus { border-color:var(--accent); }
    form.cform .full { grid-column:1 / -1; }
    form.cform .nl-optin{ grid-column:1 / -1; }
    form.cform .nl-optin input[type=checkbox]{ width:auto; height:16px; padding:0; border:none; }
    form.cform textarea { min-height:140px; resize:vertical; }
    form.cform button { grid-column:1 / -1; justify-self:center; padding:14px 44px; background:var(--accent); color:#fff; border:none; font-family:inherit; font-size:11px; letter-spacing:0.15em; text-transform:uppercase; border-radius:50px; cursor:pointer; transition:background .2s; }
    form.cform button:hover { background:var(--accent-dark); }
    .cform button.send-btn{ display:inline-flex !important; align-items:center; gap:11px; }
    .send-btn .stork-ico{ width:34px; height:auto; flex:0 0 auto; display:block; transform:translateY(-5px); transition:filter .25s ease; }
    .cform button.send-btn:hover .stork-ico{ filter:brightness(0) invert(1); }
    @media(max-width:900px){ .contact-section .contact-wrap{ grid-template-columns:1fr; gap:32px; } form.cform{ grid-template-columns:1fr; } }
  
    /* ===== 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; }
      .access { flex-direction:column; text-align:center; gap:30px; }
      .access-actions { justify-content:center; }
    }

/* ===== 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, .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-near ===== */
/* ===== MARRAKECH A PIED MOBILE : 2 colonnes compactes -> 4 points d'un coup d'oeil ===== */
@media (max-width:600px){
  .near{ padding:40px 14px !important; }
  .near-grid{ grid-template-columns:1fr 1fr !important; gap:12px !important; align-items:start !important; }
  .near-card{ padding:18px 12px !important; }
  .near-card .pin{ width:42px !important; height:42px !important; font-size:16px !important; margin:0 auto 10px !important; }
  .near-card h4{ font-size:14px !important; margin-bottom:5px !important; line-height:1.25 !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .near-card .dist{ font-size:10px !important; margin-bottom:7px !important; }
  .near-card p{ font-size:11.5px !important; line-height:1.45 !important; display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:0 !important; }
  .near-card .card-more{ font-size:10.5px !important; margin-top:8px !important; display:inline-block; }
}

/* ===== jv-mobile-access ===== */
/* ===== MARRAKECH MOBILE : photo "comment nous rejoindre" remontee devant "nous localiser" ===== */
@media (max-width:600px){
  .access{ flex-direction:column !important; gap:16px !important; }
  .access-text{ display:contents !important; }
  .access-text > h2{ order:1 !important; }
  .access-text > p{ order:2 !important; }
  .access-img{ order:3 !important; width:100% !important; margin:2px 0 !important; }
  .access-text > .access-go{ order:4 !important; margin-top:6px !important; }
  .access-text > .access-actions{ order:5 !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-contact-duo ===== */
.contact-info .ci-duo{ display:flex; gap:24px; border-top:1px solid #ece8e1; padding-top:18px; }
.contact-info .ci-duo .ci{ flex:1; min-width:0; border-top:none !important; padding-top:0 !important; }
@media (max-width:600px){ .contact-info .ci-duo{ gap:16px; } }

/* ===== 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; }
}
