/* V2: identidad Hotel Frutillar, dirección editorial inspirada en Las Majadas. */
:root { --hf-ink:#28372f; --hf-sand:#c1a183; --hf-paper:#faf8f4; }
.hf-header { background:rgba(255,254,251,.97); box-shadow:0 1px 6px rgba(20,30,25,.07); }
.hf-header-inner { width:min(1380px,calc(100% - 64px)); min-height:105px; }
.hf-navigation .hf-menu { gap:clamp(15px,2vw,31px); }
.hf-navigation .hf-menu a { letter-spacing:.07em; font-size:12px; text-transform:uppercase; }
.hf-header .hf-navigation .hf-reservar { background:var(--hf-ink); border-color:var(--hf-ink); padding:12px 19px; color:white; }
.hf-hero { position:relative; isolation:isolate; min-height:790px; min-height:92svh; background-position:center 46%; background-image:linear-gradient(90deg,rgba(14,28,24,.38),rgba(14,28,24,.07) 75%),url("fachada.jpg"); }
.hf-hero:after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
 background:transparent; }
.hf-hero>.hf-wrap { z-index:1; position:relative; width:min(1380px,calc(100% - 64px)); }
.hf-hero-content { max-width:650px; padding:180px 0 210px; }
.hf-hero h1 { font-size:clamp(55px,7vw,96px); line-height:1.08; margin:16px 0 25px; }
.hf-hero p { font-size:18px; max-width:500px; line-height:1.55; font-weight:400; }
.hf-hero .hf-eyebrow { letter-spacing:.32em; font-size:12px; }
.hf-booking-dock { position:absolute; z-index:7; left:50%; transform:translateX(-50%); bottom:-54px;
 width:min(1220px,calc(100% - 64px)); min-height:100px; background:#fff;
 padding:18px 25px; box-shadow:0 16px 60px rgba(25,29,23,.16); border:1px solid #eee9e2; }
.hf-booking-dock .hf-booking-caption { margin:0 0 8px; font-size:10px; line-height:1; letter-spacing:.18em; text-transform:uppercase; color:#86725e; }
#inicio { width:100%; min-height:48px; color:var(--hf-ink); }
#inicio .hf-fns-error { margin:8px 0; color:var(--hf-ink); }
#inicio a { color:#76553a; }
.hf-intro { padding-top:175px; padding-bottom:104px; }
.hf-intro h2 { font-size:clamp(38px,4.6vw,60px); max-width:940px; }
.hf-intro p { font-size:17px; line-height:1.8; max-width:740px; }
.hf-sections { padding:100px 0; background:var(--hf-paper); }
.hf-grid { gap:19px; }
.hf-grid .hf-card { min-height:510px; padding:35px; }
.hf-grid .hf-card h3 { font-size:37px; line-height:1.2; }
.hf-grid .hf-card p { line-height:1.65; max-width:290px; }
.hf-grid .hf-card:hover { transform:translateY(-3px); }
.hf-footer { background:#25372f; padding:70px 0; }
.hf-footer a { color:#efe5d9; }
.hf-footer address { font-style:normal; font-size:14px; line-height:1.9; margin-top:15px; }
.hf-footer-inner { align-items:flex-start; }
@media(max-width:850px) {
  .hf-header-inner { width:calc(100% - 36px); min-height:0; }
  .hf-hero { min-height:0; display:flex; flex-direction:column; }
  .hf-hero>.hf-wrap { width:calc(100% - 36px); }
  .hf-hero-content { padding:100px 0 120px; }
  .hf-booking-dock { position:relative; left:auto; bottom:auto; transform:none; width:calc(100% - 26px); margin:-35px auto 0; padding:16px; }
  .hf-intro { padding-top:90px; padding-bottom:75px; }
  .hf-sections { padding:65px 0; }
  .hf-grid .hf-card { min-height:350px; }
}

/* HF_DOCK_FIX_V3 */

/* Mantener el calendario en su posición actual,
   eliminando el recuadro vacío. */

.hf-booking-dock {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.hf-booking-dock .hf-booking-caption {
    visibility: hidden;
}

/* Si FNSBooking falla, mostrar un mensaje legible. */

#inicio .hf-fns-error {
    background: white;
    padding: 16px;
}

