/* ===== Footer ===== */
.bf-footer{
  background:var(--color-navy);
  color:rgba(255,255,255,.7);
  padding:var(--space-2xl) 0 var(--space-xl);
}
.bf-footer__grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:var(--space-xl)}
.bf-footer h4{
  color:#fff; font-family:var(--font-body);
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  font-weight:700; margin-bottom:var(--space-md);
}
.bf-footer p{margin:0 0 .5rem; font-size:.92rem}
.bf-footer ul{list-style:none; padding:0; margin:0}
.bf-footer li{margin-bottom:.5rem; font-size:.92rem}
.bf-footer a{color:rgba(255,255,255,.75); transition:color .15s; text-decoration:none}
.bf-footer a:hover{color:var(--color-rose)}
.bf-footer__brand{font-family:var(--font-display); color:#fff; font-size:1.4rem; margin-bottom:.6rem}
.bf-footer__logo{max-height:80px; width:auto; max-width:250px; margin-bottom:.8rem; display:block}
.bf-footer__tagline{font-size:.88rem}
.bf-footer__nap{margin-top:1rem; font-size:.88rem; line-height:1.7}
.bf-footer__legal{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:var(--space-xl); padding-top:var(--space-md);
  display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:center;
  font-size:.78rem; color:rgba(255,255,255,.55);
}
.bf-footer__legal a{color:rgba(255,255,255,.7); text-decoration:none}
.bf-footer__legal a:hover{color:var(--color-rose)}
.bf-footer__cookies-btn{
  background:transparent; border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.7); padding:.3rem .75rem;
  border-radius:var(--radius-pill); font-size:.72rem; cursor:pointer;
  margin-left:auto;
}
.bf-footer__cookies-btn:hover{border-color:var(--color-rose); color:#fff}
.bf-footer__bottom{
  margin-top:var(--space-md); padding-top:var(--space-sm);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--space-sm);
  font-size:.75rem; color:rgba(255,255,255,.45);
}

/* ===== Cookie banner (discret, aux couleurs du thème) ===== */
.bf-cookies{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:1200;
  background:#fff; color:var(--color-text);
  border:1px solid rgba(234,81,131,.35);
  border-radius:var(--radius-md);
  box-shadow:0 12px 32px rgba(8,40,70,.18);
  padding:.85rem 1rem;
  transform:translateY(20px); opacity:0;
  transition:transform .25s ease, opacity .25s ease;
  max-width:520px; margin-left:auto;
}
.bf-cookies.is-visible{transform:translateY(0); opacity:1}
.bf-cookies__inner{display:flex; align-items:center; gap:.9rem; flex-wrap:wrap}
.bf-cookies__text{margin:0; font-size:.82rem; line-height:1.45; flex:1; min-width:180px}
.bf-cookies__text a{color:var(--color-rose); text-decoration:underline}
.bf-cookies__actions{display:flex; gap:.5rem; flex-shrink:0}
.bf-cookies__btn{
  border:0; padding:.5rem 1rem; border-radius:var(--radius-pill);
  font-family:var(--font-body); font-weight:600; font-size:.78rem; cursor:pointer;
  min-height:34px; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.bf-cookies__btn--ghost{background:transparent; color:var(--color-muted); border:1px solid var(--color-line)}
.bf-cookies__btn--ghost:hover{color:var(--color-text); border-color:var(--color-muted)}
.bf-cookies__btn--rose{background:var(--color-rose); color:#fff}
.bf-cookies__btn--rose:hover{background:var(--color-rose-dark)}
@media (max-width:480px){
  .bf-cookies{left:8px; right:8px; bottom:8px}
  .bf-cookies__actions{width:100%; justify-content:flex-end}
}

/* ===== Pages légales ===== */
.bf-legal{max-width:820px}
.bf-legal h2{
  font-family:var(--font-display); font-size:1.5rem;
  margin-top:var(--space-xl); margin-bottom:var(--space-md);
  color:var(--color-text); border-bottom:1px solid var(--color-line); padding-bottom:.4rem;
}
.bf-legal h2:first-of-type{margin-top:var(--space-md)}
.bf-legal h3{
  font-family:var(--font-body); font-size:1.05rem; font-weight:600;
  margin-top:var(--space-lg); margin-bottom:.5rem; color:var(--color-text);
}
.bf-legal p{margin:0 0 var(--space-md); line-height:1.65; color:var(--color-text)}
.bf-legal ul{margin:0 0 var(--space-md); padding-left:1.4rem; line-height:1.6}
.bf-legal ul li{margin-bottom:.35rem}
.bf-legal a{color:var(--color-rose); text-decoration:underline}
.bf-legal__updated{
  margin-top:var(--space-xl); padding-top:var(--space-md);
  border-top:1px solid var(--color-line);
  color:var(--color-muted); font-size:.85rem; font-style:italic;
}

/* ===== Sticky mobile CTA (apparaît après scroll pour éviter le doublon avec la hero) ===== */
.bf-mobile-cta{
  display:none;
  position:fixed; left:16px; right:16px; bottom:16px;
  height:56px; z-index:900;
  background:var(--color-rose); color:#fff;
  border-radius:var(--radius-pill);
  align-items:center; justify-content:center; gap:.5rem;
  font-family:var(--font-body); font-weight:600; font-size:1rem;
  box-shadow:0 8px 24px rgba(234,81,131,.45);
  text-decoration:none;
  opacity:0; pointer-events:none;
  transform:translateY(20px);
  transition:opacity .25s ease, transform .25s ease, background .2s;
}
.bf-mobile-cta.is-visible{opacity:1; pointer-events:auto; transform:translateY(0)}
.bf-mobile-cta:hover{background:var(--color-rose-dark); color:#fff}

/* ===== Sticky desktop CTA "Réserver" (bas-droite, apparaît après scroll) ===== */
.bf-desktop-cta{
  position:fixed; right:24px; bottom:24px; z-index:900;
  display:none; align-items:center; gap:.5rem;
  background:var(--color-rose); color:#fff;
  padding:.95rem 1.6rem;
  border-radius:var(--radius-pill);
  font-family:var(--font-body); font-weight:600; font-size:.95rem;
  letter-spacing:.04em;
  box-shadow:0 12px 32px rgba(234,81,131,.4);
  text-decoration:none;
  transition:transform .2s, background .2s, box-shadow .2s, opacity .25s;
  opacity:0; pointer-events:none;
}
.bf-desktop-cta.is-visible{opacity:1; pointer-events:auto}
.bf-desktop-cta:hover{
  background:var(--color-rose-dark); color:#fff;
  transform:translateY(-2px); box-shadow:0 16px 40px rgba(234,81,131,.5);
}
.bf-desktop-cta svg{width:16px; height:16px}
@media (min-width:769px){ .bf-desktop-cta{display:inline-flex} }

@media (max-width:980px){
  .bf-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .bf-mobile-cta{display:flex}
}
@media (max-width:480px){
  .bf-footer__grid{grid-template-columns:1fr}
  .bf-footer__bottom{flex-direction:column; gap:.4rem; text-align:center}
}
