/* ==========================================================================
   Dallas Riviera — éléments communs à toutes les pages
   menu fixe · menu mobile · bouton « Voir mon tarif » · cookies · focus
   ========================================================================== */
:focus-visible{ outline:2px solid #CB7C52; outline-offset:3px; }
.dr-lock, .dr-lock body{ overflow:hidden; }
.dr-skip{ position:absolute; left:12px; top:-60px; z-index:200; background:#1B2531; color:#fff; padding:10px 16px; border-radius:6px; font:500 14px "Jost",system-ui,sans-serif; text-decoration:none; }
.dr-skip:focus{ top:12px; }

/* ---------- bandeau fixe ---------- */
.dr-header{ position:fixed; top:0; left:0; right:0; z-index:60; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:14px clamp(16px,3vw,40px); font-family:"Jost",system-ui,sans-serif;
  background:linear-gradient(180deg, rgba(15,12,9,.62) 0%, rgba(15,12,9,0) 100%);
  transition:background .25s ease, box-shadow .25s ease, padding .25s ease; }
.dr-header.is-solid{ background:rgba(255,254,252,.97); box-shadow:0 1px 0 rgba(27,37,49,.12), 0 8px 24px -18px rgba(27,37,49,.5); padding-top:10px; padding-bottom:10px;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.dr-logo{ display:flex; align-items:center; flex:none; }
.dr-logo img{ height:46px; width:auto; display:block; transition:height .25s ease; }
.dr-header.is-solid .dr-logo img{ height:38px; }
.dr-logo .dr-logo-d{ display:none; }
.dr-header.is-solid .dr-logo-w{ display:none; }
.dr-header.is-solid .dr-logo-d{ display:block; }
.dr-nav{ display:flex; align-items:center; gap:clamp(14px,1.6vw,26px); }
.dr-nav a{ color:#fff; text-decoration:none; font-size:14.5px; font-weight:500; letter-spacing:.03em; padding:8px 0; text-shadow:0 1px 8px rgba(0,0,0,.45); border-bottom:1.5px solid transparent; }
.dr-nav a:hover{ border-bottom-color:currentColor; }
.dr-header.is-solid .dr-nav a{ color:#1B2531; text-shadow:none; }
.dr-actions{ display:flex; align-items:center; gap:10px; flex:none; }
.dr-lang{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:40px; padding:0 12px; border-radius:999px;
  border:1.5px solid rgba(255,255,255,.7); color:#fff; font:700 12.5px "Space Mono",ui-monospace,monospace; letter-spacing:.08em; text-decoration:none; }
.dr-header.is-solid .dr-lang{ border-color:rgba(27,37,49,.3); color:#1B2531; }
.dr-cta{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 22px; border-radius:6px; background:#CB7C52; color:#fff;
  font:600 14.5px "Jost",system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; box-shadow:0 6px 18px -6px rgba(0,0,0,.45); transition:background .15s ease; }
.dr-cta:hover{ background:#B0653E; color:#fff; }
.dr-burger{ display:none; align-items:center; gap:8px; min-height:44px; padding:0 14px; border-radius:6px; border:1.5px solid rgba(255,255,255,.7); background:transparent; color:#fff;
  font:500 14px "Jost",system-ui,sans-serif; cursor:pointer; }
.dr-header.is-solid .dr-burger{ border-color:rgba(27,37,49,.3); color:#1B2531; }
.dr-burger-ic{ width:16px; height:2px; background:currentColor; position:relative; }
.dr-burger-ic::before, .dr-burger-ic::after{ content:""; position:absolute; left:0; width:16px; height:2px; background:currentColor; }
.dr-burger-ic::before{ top:-5px; } .dr-burger-ic::after{ top:5px; }
@media (max-width:1180px){
  .dr-nav{ display:none; }
  .dr-burger{ display:inline-flex; }
}
@media (max-width:520px){
  .dr-header{ padding:10px 12px; gap:8px; }
  .dr-logo img{ height:36px; }
  .dr-header.is-solid .dr-logo img{ height:32px; }
  .dr-cta{ padding:0 14px; font-size:13px; }
  .dr-burger-lab{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .dr-burger{ padding:0 13px; }
  .dr-lang{ min-width:40px; padding:0 8px; }
}

/* ---------- menu mobile : panneau en bas de l'écran ---------- */
.dr-menu{ position:fixed; inset:0; z-index:95; background:rgba(15,12,9,0); transition:background .22s ease; display:flex; align-items:flex-end; }
.dr-menu[hidden]{ display:none; }
.dr-menu.open{ background:rgba(15,12,9,.5); }
.dr-menu-panel{ width:100%; max-height:88vh; overflow:auto; background:#FFFEFC; border-radius:18px 18px 0 0; padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  transform:translateY(100%); transition:transform .22s ease; font-family:"Jost",system-ui,sans-serif; }
.dr-menu.open .dr-menu-panel{ transform:none; }
.dr-menu-panel nav{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dr-menu-panel nav a{ display:flex; align-items:center; min-height:52px; padding:0 16px; border-radius:10px; background:#F6EFE3; color:#1B2531; text-decoration:none; font-size:16.5px; font-weight:500; }
.dr-menu-actions{ display:grid; gap:8px; margin-top:12px; }
.dr-menu-actions a{ display:flex; align-items:center; justify-content:center; min-height:54px; border-radius:10px; text-decoration:none; font-size:16px; font-weight:600; }
.dr-menu-actions .dr-m-book{ background:#CB7C52; color:#fff; letter-spacing:.05em; text-transform:uppercase; }
.dr-menu-actions .dr-m-wa{ background:#1F8F4E; color:#fff; }
.dr-menu-actions .dr-m-tel{ border:1.5px solid rgba(27,37,49,.26); color:#1B2531; }
.dr-menu-close{ width:100%; min-height:52px; margin-top:10px; border:0; border-radius:10px; background:#1B2531; color:#fff; font:500 16px "Jost",system-ui,sans-serif; cursor:pointer; }

/* ---------- bouton fixe « Voir mon tarif » (téléphone) ---------- */
.dr-sticky{ display:none; }
@media (max-width:760px){
  .dr-sticky{ display:flex; position:fixed; z-index:55; left:50%; bottom:calc(14px + env(safe-area-inset-bottom)); transform:translate(-50%, 140%);
    align-items:center; justify-content:center; white-space:nowrap; min-height:48px; padding:0 26px; border-radius:999px; background:#CB7C52; color:#fff;
    font:600 15px "Jost",system-ui,sans-serif; letter-spacing:.04em; text-decoration:none; box-shadow:0 10px 26px -8px rgba(0,0,0,.5);
    opacity:0; pointer-events:none; transition:transform .25s ease, opacity .25s ease; }
  .dr-sticky.show{ transform:translate(-50%, 0); opacity:1; pointer-events:auto; }
}

/* ---------- cookies ---------- */
.dr-cookie{ position:fixed; z-index:90; right:16px; bottom:16px; max-width:420px; background:#FFFEFC; color:#1B2531; border:1px solid rgba(27,37,49,.16); border-radius:12px;
  padding:18px 18px 16px; box-shadow:0 18px 40px -18px rgba(27,37,49,.55); font:400 14.5px/1.55 "Jost",system-ui,sans-serif; }
.dr-cookie p{ margin:0 0 14px; }
.dr-cookie a{ color:#B0653E; }
.dr-cookie-btns{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.dr-cookie-btns button{ min-height:46px; border-radius:8px; border:0; font:600 15px "Jost",system-ui,sans-serif; cursor:pointer; }
.dr-cookie-no{ background:#1B2531; color:#fff; }
.dr-cookie-ok{ background:#CB7C52; color:#fff; }
@media (max-width:520px){ .dr-cookie{ left:10px; right:10px; bottom:10px; max-width:none; } }

/* ---------- pages simples (légal) ---------- */
body[data-solid-header]{ padding-top:72px; }
.dr-legal{ max-width:820px; margin:0 auto; padding:48px 22px 70px; font:400 16px/1.7 "Jost",system-ui,sans-serif; color:#1B2531; }
.dr-legal h1{ font:600 clamp(30px,4vw,42px)/1.15 "Bodoni Moda",Georgia,serif; color:#CB7C52; margin:0 0 10px; }
.dr-legal h2{ font:600 22px/1.3 "Bodoni Moda",Georgia,serif; margin:34px 0 8px; }
.dr-legal p, .dr-legal li{ color:#3C4756; }
.dr-legal a{ color:#B0653E; }
.dr-legal .dr-todo{ background:#FBEBC2; color:#1B2531; padding:1px 6px; border-radius:4px; font-weight:500; }
.dr-legal .dr-updated{ color:#6A7484; font-size:14px; margin:0 0 26px; }
.dr-legal table{ width:100%; border-collapse:collapse; font-size:15px; margin:10px 0; }
.dr-legal th, .dr-legal td{ text-align:left; padding:10px 12px; border-bottom:1px solid rgba(27,37,49,.16); vertical-align:top; }

/* pages locales : place pour le bandeau fixe */
.lp-hero{ min-height:max(62vh, 440px); }
.lp-hero .inner{ padding-top:104px; }
.lp-crumb{ font-size:12.5px; }
.lp-note, .lp-price-note{ font-size:15px; color:#3C4756; }
.lp-band .lp-price-note{ margin-top:-6px; }

/* accueil : pas de bouton Réserver dans le bandeau tant que la photo (et ses boutons) est visible */
body.home .dr-header:not(.is-solid) .dr-cta{ display:none; }

.lp-infos{ margin:34px 0; }
.lp-nap{ font-size:14px; line-height:1.7; }
.lp-nap a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }

.lp-proof{ display:flex; flex-wrap:wrap; gap:8px 10px; margin:18px 0 0; font-size:14px; color:#FFF8EE; }
.lp-proof span, .lp-proof a{ padding:6px 12px; border-radius:999px; background:rgba(15,12,9,.45); border:1px solid rgba(255,255,255,.28); }
.lp-proof b{ color:#F2C4A6; }
.lp-proof a{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
