/* HF_FOOTER_V4 — arquitectura reutilizable y sin tocar FNSBooking. */
.hf-footer-wrap { width:min(1380px,calc(100% - 80px)); margin-inline:auto; }
.hf-prefooter {
  background:linear-gradient(105deg,rgba(20,42,35,.88),rgba(20,42,35,.72) 58%,rgba(20,42,35,.56)),url('entorno.jpg');
  background-position:center 53%; background-size:cover; color:#fff;
  padding:94px 0 96px; position:relative; isolation:isolate;
}
.hf-prefooter-inner { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; }
.hf-prefooter-inner>div:first-child { max-width:735px; }
.hf-footer-kicker { display:block; color:#efcba7; font:600 11px/1.3 'Barlow',Arial,sans-serif; letter-spacing:.29em; margin-bottom:20px; }
.hf-prefooter h2 { color:#fff; font:400 clamp(35px,4.6vw,67px)/1.12 'Gilda Display',Georgia,serif; margin:0 0 20px; }
.hf-prefooter p { color:#f0ede6; margin:0; font:400 18px/1.6 'Barlow',Arial,sans-serif; max-width:590px; }
.hf-prefooter-actions { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding-bottom:7px; flex:none; }
.hf-footer-cta { display:inline-flex; gap:23px; align-items:center; justify-content:space-between; min-height:55px; padding:15px 23px; background:#c1a183; color:#182b22; text-decoration:none; font:600 12px/1.25 'Barlow',Arial,sans-serif; letter-spacing:.075em; text-transform:uppercase; }
.hf-footer-cta:hover { background:#e3c6a6; }
.hf-footer-quiet-link { text-decoration:none; color:#f6ede3; border-bottom:1px solid #c7b8a7; padding-bottom:4px; font-size:14px; }
.hf-footer-quiet-link:hover { color:#e5c5a2; }
.hf-footer.hf-footer-v4 { background:#1f322b; color:#e6e8e4; padding:0; }
.hf-footer-v4 .hf-footer-main { display:grid; grid-template-columns:1.55fr .85fr 1.25fr 1.1fr; gap:44px; padding:77px 0 70px; }
.hf-footer-v4 .hf-footer-logo { display:inline-flex; background:#fff; padding:12px 16px; border-radius:2px; }
.hf-footer-v4 .hf-footer-logo img { display:block; width:200px; height:auto; }
.hf-footer-v4 .hf-footer-identity-copy { max-width:320px; font-size:15px; line-height:1.72; color:#f2f0eb; margin:25px 0 12px; }
.hf-footer-v4 .hf-footer-location { font-size:12px; color:#bdbbad; letter-spacing:.055em; }
.hf-footer-v4 .hf-footer-column h2 { font:600 12px/1.4 'Barlow',Arial,sans-serif; text-transform:uppercase; letter-spacing:.18em; color:#dfc1a2; margin:0 0 23px; }
.hf-footer-v4 .hf-footer-column ul { list-style:none; padding:0; margin:0; }
.hf-footer-v4 .hf-footer-column li { margin:0 0 11px; }
.hf-footer-v4 a { color:#e9e9e4; text-decoration:none; }
.hf-footer-v4 a:hover { color:#dfc1a2; }
.hf-footer-v4 .hf-footer-column a, .hf-footer-v4 .hf-footer-column address { font-size:14px; line-height:1.9; }
.hf-footer-v4 .hf-footer-column address { font-style:normal; margin:0; color:#e9e9e4; }
.hf-footer-v4 .hf-footer-small-link { display:inline-block; margin-top:12px; color:#dfc1a2; border-bottom:1px solid #9d8b73; padding-bottom:3px; }
.hf-footer-v4 .hf-footer-social-proof p { font-size:14px; line-height:1.7; margin:0 0 18px; color:#e1e5dd; }
.hf-footer-v4 .hf-footer-reviews-link { display:inline-flex; align-items:center; gap:11px; border:1px solid #637469; padding:11px 13px; width:100%; max-width:235px; line-height:1.4 !important; }
.hf-footer-v4 .hf-footer-review-symbol { background:#f1eadf; color:#355145; width:35px; height:35px; display:grid; place-items:center; border-radius:50%; font-weight:700; font-size:20px; flex:none; }
.hf-footer-v4 .hf-footer-reviews-link>span:last-child { margin-left:auto; }
.hf-footer-v4 .hf-footer-social-links { display:flex; gap:15px; margin-top:15px; flex-wrap:wrap; }
.hf-footer-v4 .hf-footer-bottom { border-top:1px solid #54645c; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 32px; padding:21px 0 28px; font:400 12px/1.6 'Barlow',Arial,sans-serif; color:#c3cdc6; }
.hf-footer-v4 .hf-footer-bottom-links { display:flex; flex-wrap:wrap; gap:8px 20px; }
.hf-footer-v4 .hf-footer-bottom a { color:#dcded6; }
.hf-footer-v4 a:focus-visible, .hf-prefooter a:focus-visible { outline:2px solid #f4d4a9; outline-offset:4px; }
@media(max-width:1040px) {
  .hf-prefooter-inner { align-items:flex-start; flex-direction:column; }
  .hf-footer-v4 .hf-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 60px; }
}
@media(max-width:640px) {
  .hf-footer-wrap { width:calc(100% - 38px); }
  .hf-prefooter { padding:65px 0 68px; }
  .hf-prefooter h2 { font-size:clamp(34px,10vw,49px); }
  .hf-prefooter p { font-size:16px; }
  .hf-prefooter-actions { width:100%; }
  .hf-footer-cta { width:100%; }
  .hf-footer-v4 .hf-footer-main { grid-template-columns:1fr; gap:36px; padding:58px 0 45px; }
  .hf-footer-v4 .hf-footer-bottom { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .hf-footer-v4 *, .hf-prefooter * { scroll-behavior:auto; } }
