/* Riad Jona — styles de la page index (externalisés des blocs <style> inline, 03/07/2026) */
/* ===== main ===== */
:root {
      --accent: #9C7C46;        /* bronze/camel, esprit Giri */
      --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 { color: var(--accent-light); }
    nav.scrolled ul li a:hover { 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); }

    /* HERO */
    .hero { position: relative; height: 100vh; overflow: hidden; }
    .hero img {
      width: 100%; height: 100%; object-fit: cover;
      position: absolute; top: 0; left: 0;
      opacity: 0; transform: scale(1.05); transition: opacity 1.6s ease, transform 1.6s ease;
    }
    .hero img.active { opacity: 1; }
    .hero-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0) 30%, rgba(0,0,0,0) 55%, rgba(0,0,0,0.45));
      display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
      text-align: center; color: #fff; padding: 0 20px 130px;
    }
    .hero-overlay h1 { font-family:'Cormorant Garamond',serif; font-size: 54px; font-weight: 300; letter-spacing: 0.05em; margin-bottom: 12px; text-shadow: 0 1px 5px rgba(0,0,0,0.35); }
    .hero-overlay p { font-size: 18px; font-weight: 300; letter-spacing: 0.12em; text-shadow: 0 1px 8px rgba(0,0,0,0.3); }
    @media (min-width:769px) and (max-width:1500px){ .hero-overlay{ padding-bottom:108px; } }
    .hero-dots {
      position: absolute; bottom: 80px; left: 50%; transform: translateX(-50%);
      display: flex; gap: 10px; z-index: 5;
    }
    .hero-dots button {
      width: 11px; height: 11px; border-radius: 50%; padding: 0;
      border: 1px solid #fff; background: transparent; cursor: pointer;
      transition: background 0.3s;
    }
    .hero-dots button:hover { background: rgba(255,255,255,0.5); }
    .hero-dots button.active { background: #fff; }

    /* INTRO */
    .intro { max-width: 1280px; margin: 104px auto; text-align: center; padding: 0 24px; }
    .intro h2 { font-size: 40px; font-weight: 300; margin-bottom: 18px; letter-spacing: 0.03em; }
    .intro .subtitle { font-size: 19px; font-weight: 300; margin-bottom: 28px; color: var(--accent); font-style: italic; }
    .intro p { font-size: 16px; line-height: 1.9; color: #6a6a6a; margin-bottom: 22px; max-width: 1180px; margin-left: auto; margin-right: auto; }

    /* SECTION TITLES */
    .section-label {
      text-align: center; font-size: 11px; letter-spacing: 0.25em;
      text-transform: uppercase; color: var(--accent); margin-bottom: 10px;
    }
    .section-title { text-align: center; font-size: 36px; font-weight: 300; margin-bottom: 56px; }

    /* ROOMS */
    .rooms-section { padding: 104px 0; background: #faf9f7; }
    .rooms-frame { position:relative; max-width:1980px; width:calc(100% - 96px); margin:40px auto 0; border:1px solid var(--accent); padding:0 26px 34px; }
    .rooms-frame::after { content:""; position:absolute; top:6px; left:6px; right:6px; bottom:6px; border:1px solid rgba(156,124,70,0.30); pointer-events:none; }
    .rooms-frame .section-title { position:relative; z-index:2; width:fit-content; margin:0 auto; transform:translateY(-50%); background:#faf9f7; padding:0 30px; }
    @media (max-width:760px){ .rooms-frame{ width:auto; margin:24px 6px 0; padding:0 12px 28px; } .rooms-frame::after{ top:5px;left:5px;right:5px;bottom:5px; } }
    .rooms-carousel { max-width: 1920px; margin: 0 auto; position: relative; padding: 0 40px; }
    .rcar-viewport { overflow: hidden; }
    .rcar-track { display: flex; gap: 24px; transition: transform .55s cubic-bezier(.4,0,.2,1); }
    .rcar-card { flex: 0 0 calc((100% - 48px)/3); background: #fff; border: 1px solid #ece8e1; }
    .rcar-card > a { display: block; overflow: hidden; }
    .rcar-card img { width: 100%; aspect-ratio: 3 / 4; height: auto; object-fit: cover; display: block; transition: transform .6s ease; }
    .rcar-card:hover img { transform: scale(1.04); }
    .rcar-card .meta { text-align: center; padding: 24px 18px 30px; }
    .rcar-card .floor { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin-bottom: 9px; }
    .rcar-card h3 { font-size: 22px; font-weight: 300; margin-bottom: 16px; letter-spacing: 0.03em; }
    .rcar-card .card-link { display: inline-block; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); text-decoration: none; border-bottom: 1px solid var(--accent); padding-bottom: 3px; transition: color .2s, border-color .2s; }
    .rcar-card .card-link:hover { color: var(--accent-dark); border-color: var(--accent-dark); }
    .rcar-arrow { position: absolute; top: 40%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 1px solid #ddd; background: #fff; color: var(--accent); font-size: 22px; line-height: 1; cursor: pointer; z-index: 3; display: flex; align-items: center; justify-content: center; font-family: Georgia, serif; transition: background .25s, color .25s, border-color .25s, opacity .25s; }
    .rcar-arrow:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
    .rcar-arrow.prev { left: 40px; } .rcar-arrow.next { right: 40px; }
    .rcar-arrow.disabled { opacity: .3; pointer-events: none; }
    .rcar-dots { display: flex; justify-content: center; gap: 9px; margin-top: 38px; }
    .rcar-dots button { width: 9px; height: 9px; border-radius: 50%; border: 1px solid var(--accent); background: transparent; cursor: pointer; padding: 0; transition: background .3s; }
    .rcar-dots button.active { background: var(--accent); }
    @media (max-width: 1100px){ .rcar-card { flex-basis: calc((100% - 24px)/2); } }
    @media (max-width: 760px){ .rooms-carousel { padding: 0 16px; } .rcar-card { flex-basis: 100%; } .rcar-arrow.prev{ left:18px; } .rcar-arrow.next{ right:18px; } }

    /* TWO-COL */
    .two-col {
      display: grid; grid-template-columns: 1fr 1fr; align-items: center;
      max-width: 1500px; margin: 64px auto; gap: 56px; padding: 20px;
      border: 1px solid rgba(201,176,126,0.45); background:#fff; box-shadow:0 18px 52px rgba(0,0,0,0.08);
    }
    .two-col.reverse { direction: rtl; }
    .two-col.reverse > * { direction: ltr; }
    .two-col img { width: 100%; aspect-ratio: 16/9; height: auto; object-fit: cover; border:1px solid rgba(201,176,126,0.35); }
    .two-col-text { padding: 0 18px; }
    .two-col-text .label { font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
    .two-col-text h3 { font-size: 34px; font-weight: 300; margin-bottom: 22px; }
    .two-col-text p { font-size: 16px; line-height: 2.0; color: #555; margin-bottom: 22px; }
    .two-col-text a.btn {
      display: inline-block; padding: 12px 30px; background: var(--accent); color: #fff;
      text-decoration: none; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
      border-radius: 50px;
    }
    .two-col-text a.btn:hover { background: var(--accent-dark); }

    /* QUOTE / REVIEWS */
    .reviews { background:#2c2c2c; color:#efe9dd; padding:48px 28px; text-align:center; border-top:1px solid rgba(205,169,114,0.30); border-bottom:1px solid rgba(205,169,114,0.30); }
    .ratings { display:inline-flex; align-items:center; margin-bottom:34px; }
    .rating { padding:0 44px; }
    .rating + .rating { border-left:1px solid rgba(205,169,114,0.30); }
    .rating .rlogo { height:30px; width:auto; display:block; margin:0 auto 12px; }
    .rating .score { font-size:30px; font-weight:300; letter-spacing:0.04em; line-height:1; }
    .rating .score small { font-size:15px; color:#a8a293; }
    .rating .rstars { color:#cda972; letter-spacing:0.18em; font-size:13px; margin-top:8px; }
    .rating .rcount { font-size:11px; letter-spacing:0.06em; color:#a8a293; margin-top:7px; }
    .rev-carousel { max-width:880px; margin:0 auto; position:relative; }
    .rev-viewport { overflow:hidden; }
    .rev-track { display:flex; transition:transform .6s cubic-bezier(.4,0,.2,1); }
    .rev-slide { min-width:100%; padding:0 34px; display:flex; flex-direction:column; justify-content:center; }
    .rev-slide .stars { color:#cda972; letter-spacing:0.25em; margin-bottom:20px; font-size:15px; }
    .rev-slide blockquote { font-size:23px; font-weight:300; font-style:italic; line-height:1.72; margin-bottom:24px; color:#efe9dd; }
    .rev-slide cite { font-size:12px; color:#d6c6a4; font-style:normal; letter-spacing:0.18em; text-transform:uppercase; }
    .rev-dots { display:flex; justify-content:center; gap:11px; margin-top:44px; }
    .rev-dots button { width:9px; height:9px; border-radius:50%; border:1px solid #cda972; background:transparent; cursor:pointer; padding:0; transition:background .3s; }
    .rev-dots button.active { background:#cda972; }
    .rev-arrow { position:absolute; top:34%; transform:translateY(-50%); background:none; border:none; color:rgba(239,233,221,0.45); font-size:34px; line-height:1; cursor:pointer; transition:color .3s; font-family:Georgia,serif; }
    .rev-arrow:hover { color:#efe9dd; }
    .rev-arrow.prev { left:-14px; } .rev-arrow.next { right:-14px; }
    .ta-note { margin-top:30px; font-size:12px; letter-spacing:0.12em; color:#a8a293; }
    .review-logos{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0; margin-top:42px; }
    .review-logos .ratings{ margin-bottom:0; }
    .review-logos .tc-badge{ margin:0; padding-left:44px; border-left:1px solid rgba(205,169,114,0.30); }
    .review-logos .tc-badge img{ width:auto; height:104px; }
    .rev-carousel{ margin-bottom:6px; }
    .tc-badge { display:flex; justify-content:center; margin:2px 0 6px; }
    .tc-badge svg { width:170px; height:auto; }
    .tc-badge img { width:150px; height:auto; display:block; }
    .rating .rlogo-ta { height:26px; }
    .tc-badge .leaf { fill:#e7e0d2; }
    .tc-badge .tc-owl { fill:none; stroke:#e7e0d2; stroke-width:2.4; }
    .tc-badge .tc-eye { fill:#e7e0d2; }
    .tc-badge .tc-t1 { fill:#e7e0d2; font-family:Georgia,serif; font-size:13px; letter-spacing:2.4px; }
    .tc-badge .tc-t2 { fill:#e7e0d2; font-family:Georgia,serif; font-size:22px; font-weight:bold; letter-spacing:1px; }

    /* BANNER */
    .offers-banner { position: relative; height: 600px; margin: 112px 0; overflow: hidden; }
    .offers-banner img { width: 100%; height: 100%; object-fit: cover; }
    .offers-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;
    }
    .offers-banner-overlay h3 { font-size: 38px; font-weight: 300; margin-bottom: 12px; }
    .offers-banner-overlay p { font-size: 14px; letter-spacing: 0.1em; margin-bottom: 24px; }
    .offers-banner-overlay a {
      padding: 12px 34px; border: 1px solid #fff; color: #fff;
      text-decoration: none; font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
      border-radius: 50px;
    }
    .offers-banner-overlay a:hover { background: #fff; color: #333; }
    .banner-cta { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
    .offers-banner-overlay .banner-wa { display: inline-flex; align-items: center; gap: 8px; }
    .offers-banner-overlay .banner-wa i { font-size: 19px; line-height: 1; }
    .offers-banner-overlay h3 { margin-bottom: 10px; }
    .offers-banner-overlay .banner-sub { font-size: 13px; max-width: 560px; opacity: 0.9; margin-bottom: 26px; }
    .banner-perks { list-style: none; padding: 0; margin: 0 0 30px; max-width: 580px; text-align: left; }
    .banner-perks li { display: flex; align-items: flex-start; gap: 13px; font-size: 14.5px; line-height: 1.5; letter-spacing: 0.03em; margin: 12px 0; color: #f2ede5; }
    .banner-perks li i { color: var(--accent-light); font-size: 12px; margin-top: 5px; flex: 0 0 auto; }

    /* SERVICES */
    .services-section { padding: 104px 28px; background: #faf9f7; }
    .services-grid {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;
      max-width: 1560px; margin: 0 auto;
    }
    .service-card { position: relative; overflow: hidden; box-shadow: 0 14px 34px rgba(40,26,12,0.12); }
    .service-card img { width: 100%; aspect-ratio: 2/3; height: auto; object-fit: cover; display: block; transition: transform 0.4s; }
    .service-card:hover img { transform: scale(1.05); }
    .service-card-label {
      position: absolute; bottom: 0; left: 0; right: 0;
      background: linear-gradient(transparent, rgba(0,0,0,0.65));
      color: #fff; padding: 30px 16px 14px;
    }
    .service-card-label h4 { font-size: 18px; font-weight: 300; }

    /* NEWSLETTER */
    .newsletter { background: #2c2c2c; color: #fff; text-align: center; padding: 88px 20px; }
    .newsletter h3 { font-size: 30px; font-weight: 300; margin-bottom: 10px; }
    .newsletter p { font-size: 13px; color: #aaa; margin-bottom: 24px; }
    .newsletter form { display: flex; justify-content: center; max-width: 440px; margin: 0 auto 14px; }
    .newsletter input[type=email] { flex: 1; padding: 12px 20px; border: none; font-size: 13px; outline: none; border-radius: 50px 0 0 50px; }
    .newsletter button {
      padding: 12px 26px; background: var(--accent); color: #fff; border: none;
      font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
      border-radius: 0 50px 50px 0;
    }

    /* FOOTER */
    footer { background:#1a1613; color:#b6ad9f; padding:6px 40px 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) {
      .reviews-grid { grid-template-columns: 1fr; }
      .services-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 1280px) {
      nav ul { gap: 22px; }
      nav ul li a { font-size: 12px; }
    }
    /* Écrans de portable (≈13") : on resserre ces blocs ; inchangé au-delà de 1500px (14"/16"/grands écrans) */
    @media (max-width: 1500px) {
      .two-col { max-width: 1180px; gap: 44px; margin: 56px auto; }
      .two-col-text h3 { font-size: 29px; margin-bottom: 18px; }
      .two-col-text p { font-size: 15px; line-height: 1.9; margin-bottom: 18px; }
      .services-section { padding: 80px 28px; }
      .services-grid { max-width: 1180px; gap: 24px; }
      .service-card-label h4 { font-size: 16px; }
    }
    @media (max-width: 768px) {
      .two-col { grid-template-columns: 1fr; gap: 24px; }
      footer { grid-template-columns: 1fr; }
      nav { flex-wrap: wrap; gap: 10px; }
      nav ul { display: none; }
      nav .logo { height: 64px; width: 110px; }
      nav .logo img { height: 110px; top: -6px; }
      .hero-overlay { padding: 0 20px 104px; }
      .hero-overlay h1 { font-size: 34px; }
      .hero-dots { bottom: 60px; }
    }
      .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); }

    /* ===== PANNEAU PRIVILEGES (coulissant depuis la droite) ===== */
    /* Pop-up privileges : bas-gauche, colle au-dessus de la barre ; glissement doux facon Royal Mansour */
    .promo-drawer { position:fixed; left:0; bottom:var(--jv-bookbar-h,0px); --cardW:360px; display:flex; flex-direction:column; align-items:flex-start; z-index:290; transition:bottom .5s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1), opacity .5s ease; }
    .promo-drawer.jv-prehide { transform:translateX(-105%); opacity:0; pointer-events:none; }
    .promo-tab { align-self:flex-start; box-sizing:border-box; overflow:hidden; white-space:nowrap; padding:15px 26px; border:none; background:var(--accent); color:#fff; cursor:pointer; border-radius:0 10px 0 0; display:flex; align-items:center; justify-content:space-between; gap:18px; font-family:'Cormorant Garamond',Georgia,serif; font-size:20px; font-weight:500; letter-spacing:.01em; line-height:1; box-shadow:0 -5px 20px rgba(0,0,0,0.20); transition:width .65s cubic-bezier(.22,.61,.36,1) .85s, background .25s; }
    .promo-drawer:not(.collapsed) .promo-tab { transition:width .65s cubic-bezier(.22,.61,.36,1) 0s, background .25s; }
    .promo-tab:hover { background:var(--accent-dark); }
    .promo-tab .pt-arrow { font-size:18px; line-height:1; transition:transform .35s cubic-bezier(.22,.61,.36,1); }
    .promo-drawer:not(.collapsed) .promo-tab .pt-arrow { transform:rotate(90deg); }
    .promo-card { box-sizing:border-box; position:relative; width:var(--cardW); max-height:0; min-height:0; overflow:hidden; opacity:0; background:linear-gradient(180deg,#fbfaf8,#f5f1ea); border:1px solid #e6dccb; border-top:none; box-shadow:0 16px 46px rgba(0,0,0,0.24); padding:0 32px; border-radius:0 0 12px 12px; transition:max-height .7s ease 0s, opacity 0s linear .7s; }
    .promo-drawer:not(.collapsed) .promo-card { max-height:calc(100vh - 220px); overflow:auto; opacity:1; transition:max-height 1.1s cubic-bezier(.22,.61,.36,1) .7s, opacity .4s ease .7s; }
    .promo-card::before { content:""; display:block; height:34px; } .promo-card::after { content:""; display:block; height:30px; }
    .promo-close { position:absolute; top:10px; right:12px; width:34px; height:34px; border:1px solid #d9cfbe; background:transparent; border-radius:50%; color:#8a8071; font-size:19px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .25s,color .25s,border-color .25s; }
    .promo-close:hover { background:var(--accent); color:#fff; border-color:var(--accent); }
    .promo-label { text-align:center; font-size:10.5px; letter-spacing:0.28em; text-transform:uppercase; color:var(--accent); margin:6px 0 10px; }
    .promo-card h3 { text-align:center; font-size:22px; font-weight:300; letter-spacing:0.02em; color:#2c2722; margin-bottom:10px; }
    .promo-rule { width:42px; height:1px; background:var(--accent-light); margin:0 auto 14px; }
    .promo-sub { text-align:center; font-size:12.5px; color:#857d72; margin:0 auto 22px; line-height:1.65; font-style:italic; }
    .promo-perks { list-style:none; padding:0; margin:0 0 20px; display:grid; grid-template-columns:1fr; gap:12px; }
    .promo-perks li { display:flex; align-items:flex-start; gap:11px; font-size:13px; line-height:1.45; color:#5a534a; }
    .promo-perks li i { color:var(--accent); font-size:12px; margin-top:3px; width:16px; text-align:center; flex:0 0 auto; }
    .promo-guar { border-top:1px solid #e4ddd0; padding-top:18px; display:flex; align-items:flex-start; gap:12px; }
    .promo-guar > i { font-size:21px; color:var(--accent); flex:0 0 auto; margin-top:2px; }
    .promo-guar .g-title { font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--accent-dark); margin-bottom:4px; }
    .promo-guar .g-sub { font-size:12.5px; line-height:1.55; color:#5a534a; }
    .promo-note { text-align:center; font-size:10.5px; font-style:italic; color:#a89e8d; margin-top:12px; }
    .promo-unlock { text-align:center; margin-top:18px; }
    .promo-unlock-btn { display:inline-block; padding:13px 32px; background:var(--accent); color:#fff; text-decoration:none; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; border-radius:50px; transition:background .2s; }
    .promo-unlock-btn:hover { background:var(--accent-dark); }
    @media (min-width:861px) and (max-width:1500px){
      .promo-drawer:not(.collapsed) .promo-card{ height:calc(100vh - var(--jv-bookbar-h,0px) - 130px) !important; max-height:calc(100vh - var(--jv-bookbar-h,0px) - 130px) !important; }
      .promo-tab{ padding:11px 24px; font-size:18px; }
      .promo-tab .pt-arrow{ font-size:16px; }
      .promo-card::before{ height:18px; } .promo-card::after{ height:16px; }
      .promo-label{ margin:2px 0 7px; }
      .promo-card h3{ font-size:20px; margin-bottom:7px; }
      .promo-rule{ margin:0 auto 10px; }
      .promo-sub{ margin:0 auto 13px; line-height:1.5; }
      .promo-perks{ margin:0 0 13px; gap:8px; }
      .promo-perks li{ font-size:12.5px; line-height:1.35; }
      .promo-guar{ padding-top:12px; } .promo-guar .g-sub{ line-height:1.45; }
      .promo-unlock{ margin-top:12px; } .promo-unlock-btn{ padding:10px 28px; }
      .promo-note{ margin-top:8px; }
    }
    .promo-unlock-note { font-size:11px; line-height:1.5; color:#8a8073; font-style:italic; margin-top:9px; }
    .promo-cta { text-align:center; margin-top:11px; }
    .promo-cta a { display:inline-block; font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent-dark); text-decoration:none; border-bottom:1px solid var(--accent-light); padding-bottom:2px; transition:color .2s; }
    .promo-cta a:hover { color:var(--accent); }
    .promo-login { margin-top:9px; }
    .promo-login a i { margin-right:5px; font-size:11px; }
    @media(max-width:560px){ .promo-drawer { --cardW:300px; } }
    @media(max-width:340px){ .promo-drawer { --cardW:86vw; } }
  
    /* ===== RESPONSIVE (tablette / mobile) ===== */
    .nav-toggle { display:none; background:none; border:none; cursor:pointer; padding:6px 10px; font-size:23px; line-height:1; color:#fff; }
    nav.scrolled .nav-toggle { 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, .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-reviews ===== */
/* ===== AVIS MOBILE : texte plus petit, logos + notes sur une seule ligne ===== */
@media (max-width:600px){
  .reviews{ padding:34px 16px !important; }
  .rev-slide{ padding:0 4px !important; }
  .rev-slide .stars{ font-size:13px !important; margin-bottom:14px !important; letter-spacing:0.2em !important; }
  .rev-slide blockquote{ font-size:15.5px !important; line-height:1.6 !important; margin-bottom:16px !important; }
  .rev-slide cite{ font-size:10.5px !important; letter-spacing:0.14em !important; }
  /* logos + notes : une seule ligne, compacts */
  .review-logos{ flex-wrap:nowrap !important; gap:0 !important; margin-top:26px !important; justify-content:center !important; }
  .ratings{ margin-bottom:0 !important; }
  .rating{ padding:0 12px !important; }
  .rating .rlogo{ height:17px !important; margin:0 auto 6px !important; }
  .rating .rlogo-ta{ height:14px !important; }
  .rating .score{ font-size:18px !important; }
  .rating .score small{ font-size:10px !important; }
  .rating .rstars{ font-size:9.5px !important; letter-spacing:0.1em !important; margin-top:5px !important; }
  .rating .rcount{ font-size:8.5px !important; margin-top:4px !important; }
  .review-logos .tc-badge{ padding-left:12px !important; align-self:stretch !important; display:flex !important; align-items:center !important; }
  .review-logos .tc-badge img{ height:80px !important; }
  .ta-note{ font-size:10px !important; }
}

/* ===== 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-home ===== */
/* ===== ACCUEIL MOBILE : logo blanc sur le hero, bronze quand le menu chevauche + espaces compactes ===== */
@media (max-width:600px){
  /* logo : blanc sur le hero (menu ferme), bronze quand le menu est ouvert */
  body.is-home nav:not(.scrolled):not(.jv-menu-on) .logo img{ filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(0,0,0,.4)) !important; }
  body.is-home nav.jv-menu-on .logo img{ filter:none !important; }
  /* espaces verticaux compactes */
  .intro{ margin:42px auto !important; }
  .rooms-section{ padding:46px 0 !important; }
  .rooms-frame{ margin-top:26px !important; }
  .reviews{ padding:34px 22px !important; }
  .two-col{ margin:38px auto !important; }
  .offers-banner{ margin:44px 0 !important; }
  .services-section{ padding:46px 28px !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; }
}
