/* =====================================================================
   BOUTON FLOTTANT DE RÉSERVATION — 3 propositions (Galerie / Blog)
   Apparaît au scroll. Positionné pour ne pas gêner le widget WhatsApp
   (en bas à droite).
   ===================================================================== */

/* ---------- Proposition 1 : pastille flottante (bas-centre) ---------- */
.float-pill {
  position: fixed; left: 50%; bottom: 26px; transform: translate(-50%, 130%);
  z-index: 74; display: inline-flex; align-items: center; gap: .7em;
  padding: 1em 1.7em; border-radius: 999px;
  background: var(--or); color: var(--cedre); border: 0; cursor: pointer;
  font-family: var(--font-sans); font-weight: 500; font-size: .82rem; letter-spacing: .14em; text-transform: uppercase;
  box-shadow: 0 18px 40px -14px rgba(44,31,14,.6);
  transition: transform .5s cubic-bezier(.2,.7,.2,1), background .3s, box-shadow .3s;
}
.float-pill.show { transform: translate(-50%, 0); }
.float-pill:hover { background: var(--emeraude); color: #fff; box-shadow: 0 22px 48px -14px rgba(0,140,110,.6); }
.float-pill svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }

/* ---------- Proposition 2 : barre fine (bas, pleine largeur) ---------- */
.float-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 73;
  background: rgba(44,31,14,.95); backdrop-filter: blur(12px);
  border-top: 1px solid rgba(181,146,76,.4);
  transform: translateY(100%); transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.float-bar.show { transform: translateY(0); }
.float-bar .fb-inner {
  max-width: 1320px; margin-inline: auto; padding: 14px clamp(18px, 3vw, 40px);
  padding-right: clamp(90px, 12vw, 130px); /* place pour le widget WhatsApp */
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.float-bar .fb-text { color: #fff; display: flex; flex-direction: column; line-height: 1.3; }
.float-bar .fb-text .t { font-family: var(--font-display); font-size: 1.25rem; }
.float-bar .fb-text .s { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--or); margin-top: 2px; }
.float-bar .btn { background: var(--or); border-color: var(--or); color: var(--cedre); white-space: nowrap; flex: none; }
.float-bar .btn:hover { background: #fff; border-color: #fff; color: var(--cedre); }
.float-bar .fb-close { background: none; border: 0; color: rgba(255,255,255,.5); font-size: 1.4rem; cursor: pointer; line-height: 1; padding: 0 4px; transition: color .25s; }
.float-bar .fb-close:hover { color: #fff; }
@media (max-width: 620px) {
  .float-bar .fb-inner { padding-right: clamp(18px, 3vw, 40px); }
  .float-bar .fb-text .t { font-size: 1.05rem; }
  .float-bar .fb-text .s { display: none; }
  .float-bar .btn { padding: .9em 1.3em; }
}

/* ---------- Proposition 3 : onglet latéral droit ---------- */
.float-tab {
  position: fixed; right: 0; top: 38%; z-index: 74;
  transform: translateX(100%); transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.float-tab.show { transform: translateX(0); }
.float-tab button {
  display: flex; align-items: center; gap: .7em;
  background: var(--emeraude); color: #fff; border: 0; cursor: pointer;
  padding: 1.1em 1em; border-radius: 8px 0 0 8px;
  box-shadow: -10px 14px 36px -16px rgba(0,0,0,.5);
  writing-mode: vertical-rl; transform: rotate(180deg);
  font-family: var(--font-sans); font-weight: 500; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase;
  transition: background .3s, padding .3s;
}
.float-tab button .ic { writing-mode: horizontal-tb; transform: rotate(180deg); display: inline-flex; }
.float-tab button .ic svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.float-tab button:hover { background: var(--or); color: var(--cedre); padding-left: 1.3em; }

/* ---------- Démo : sélecteur ---------- */
.demo-switch { position: sticky; top: 0; z-index: 90; background: var(--blanc); border-bottom: 1px solid var(--line); padding: 16px clamp(20px, 5vw, 60px); display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.demo-switch .lbl { font-family: var(--font-sans); font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cedre-2); margin-right: 6px; }
.demo-switch button { font-family: var(--font-sans); font-size: .82rem; padding: .6em 1.1em; border: 1px solid var(--line); border-radius: 3px; background: transparent; color: var(--cedre); cursor: pointer; transition: all .25s; }
.demo-switch button.active { background: var(--emeraude); border-color: var(--emeraude); color: #fff; }
