/* ============================================================
   NESTFLATS v4  Paseo de los Tristes
   + Hero fade slider  + Caja reservas Bookassist
   + Lightbox galeria  + CTA sticky movil
   + FAQs              + Schema.org expandido
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&family=Cinzel:wght@400;600&display=swap');

:root {
  --olive:      #F3F4F9;
  --olive-mid:  #E3E6F0;
  --olive-dark: #C8CCE0;
  --terra:      #1A2035;
  --terra-lt:   #2E3F6E;
  --terra-pale: #EEF0F8;
  --night:      #1A2035;
  --night-80:   rgba(26,32,53,0.8);
  --gold:       #C8A96E;
  --gold-lt:    #E2C98A;
  --ink:        #2A2218;
  --ink-mid:    #5A5040;
  --ink-lt:     #8A7D6A;
  --white:      #FFFFFF;
  --serif:   'Cormorant Garamond', Georgia, serif;
  --display: 'Cinzel', Georgia, serif;
  --sans:    'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --r-sm: 4px; --r-md: 8px; --r-lg: 14px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --max-w: 1280px;
  --gutter: clamp(1.25rem, 4vw, 3rem);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background-color: #F3F4F9 !important; scroll-behavior: smooth; }
body { font-family: var(--sans); font-size: 16px; color: var(--ink); overflow-x: hidden; -webkit-font-smoothing: antialiased; }
.nf-wrap { background: var(--olive); min-height: 100vh; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul { list-style: none; }

/*  Progreso scroll  */
#nf-progress { position:fixed;top:0;left:0;z-index:999;height:3px;width:0%;background:var(--terra);pointer-events:none;transition:width 0.1s linear; }

/*  Cursor  */
.nf-cursor { position:fixed;top:0;left:0;z-index:9999;width:8px;height:8px;background:var(--terra);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:transform 0.15s var(--ease),width 0.25s var(--ease),height 0.25s var(--ease),opacity 0.3s;opacity:0; }
.nf-cursor.active { opacity:1; }
.nf-cursor.hover { width:36px;height:36px;background:rgba(26,32,53,0.12);border:1.5px solid var(--terra); }
@media (hover:none) { .nf-cursor { display:none!important; } }

/*  Container  */
.nf-container { width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter); }

/*  Reveal  */
.nf-reveal { opacity:0; }
.nf-reveal-up { opacity:0;transform:translateY(32px); }
.nf-reveal-left { opacity:0;transform:translateX(-24px); }
.nf-reveal-right { opacity:0;transform:translateX(24px); }

/*  Tipografia  */
.nf-label { font-family:var(--display);font-size:0.65rem;font-weight:400;letter-spacing:0.28em;text-transform:uppercase;color:var(--terra);display:flex;align-items:center;gap:0.6rem;margin-bottom:0.6rem; }
.nf-label::after { content:'';display:block;width:2rem;height:1px;background:var(--olive-dark); }
.nf-h2 { font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:300;line-height:1.12;color:var(--night);margin-bottom:0.5rem; }
.nf-h2 strong { font-weight:600; }
.nf-h3 { font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--night);margin-bottom:0.75rem; }
.nf-lead { font-family:var(--sans);font-size:0.96rem;font-weight:300;line-height:1.7;color:var(--ink-mid);max-width:60ch;margin-bottom:2rem; }
.nf-body { font-family:var(--serif);font-size:1.05rem;font-weight:300;line-height:1.82;color:var(--ink); }
.nf-body p+p { margin-top:1em; }
.nf-body strong { font-weight:600; }
.nf-note { font-family:var(--sans);font-size:0.84rem;font-weight:300;line-height:1.6;color:var(--ink-mid); }
.nf-note strong { font-weight:500;color:var(--ink); }

/*  Header  */
.nf-header { position:fixed;top:0;left:0;right:0;z-index:100;height:56px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:rgba(243,244,249,0.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--olive-mid);transition:box-shadow 0.3s; }
.nf-header.scrolled { box-shadow:0 2px 12px rgba(26,32,53,0.08); }

/* El logo ocupa espacio en el flex del header via el placeholder */
.nf-logo { display:flex;align-items:center;gap:0.75rem;text-decoration:none;position:relative; }

/* Placeholder invisible que reserva el ancho del badge en el flujo del header */
.nf-logo::before {
  content:'';
  display:block;
  width:124px;
  height:56px; /* igual al header, no afecta al alto del flex */
  flex-shrink:0;
}

/* Badge: position:fixed para salir completamente de cualquier overflow:hidden padre */
.nf-logo-badge {
  position:fixed;
  top:0;
  left:var(--gutter);
  width:124px;
  height:124px;
  display:flex;align-items:center;justify-content:center;
  background:var(--night);
  border-radius:50%;
  border:3px solid rgba(242,240,232,0.85);
  box-shadow:0 6px 24px rgba(26,32,53,0.28);
  z-index:200;
  transition:transform 0.2s, box-shadow 0.2s;
}
.nf-logo:hover .nf-logo-badge { transform:scale(1.03);box-shadow:0 8px 28px rgba(26,32,53,0.35); }
.nf-logo-badge img { width:104px;height:104px;border-radius:50%;display:block; }

.nf-logo-text { font-family:var(--display);font-size:0.88rem;letter-spacing:0.12em;color:var(--night);text-transform:uppercase; }
.nf-logo-text span { color:var(--terra); }
.nf-header-cta { display:flex;align-items:center;gap:0.75rem; }

/*  Botones  */
.nf-btn { display:inline-flex;align-items:center;gap:0.35rem;padding:0.5rem 1.2rem;border-radius:var(--r-sm);font-family:var(--sans);font-size:0.8rem;font-weight:500;letter-spacing:0.03em;transition:all 0.2s ease;cursor:pointer;white-space:nowrap; }
.nf-btn-primary { background:var(--terra);color:var(--white);border:1.5px solid var(--terra); }
.nf-btn-primary:hover { background:var(--terra-lt);border-color:var(--terra-lt);transform:translateY(-1px);box-shadow:0 4px 14px rgba(26,32,53,0.28); }
.nf-btn-outline { background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,0.4); }
.nf-btn-outline:hover { border-color:rgba(255,255,255,0.8); }
.nf-btn-ghost { background:transparent;color:var(--ink-mid);border:1.5px solid transparent;font-size:0.8rem; }
.nf-btn-ghost:hover { color:var(--terra); }
.nf-btn-sm { padding:0.35rem 0.9rem;font-size:0.75rem; }
.nf-btn-full { width:100%;justify-content:center; }

/* 
   HERO  fade slider
 */
.nf-hero { position:relative;height:100vh;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden; }

/* Fade slider container */
.nf-hero-slides { position:absolute;inset:0; }
.nf-hero-slide {
  position:absolute;inset:-15% 0;
  width:100%;height:130%;
  object-fit:cover;
  opacity:0;
  transition:opacity 1.2s ease-in-out;
  will-change:opacity;
}
.nf-hero-slide.active { opacity:1; }
/* Overlay degradado */
.nf-hero-slides::after { content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(26,32,53,0.05) 0%,rgba(26,32,53,0.82) 100%); }

/* Indicadores del slider hero */
.nf-hero-dots { position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:0.45rem; }
.nf-hero-dot { width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.35);border:none;cursor:pointer;padding:0;transition:background 0.3s,transform 0.3s; }
.nf-hero-dot.active { background:#fff;transform:scale(1.4); }

.nf-hero-content { position:relative;z-index:2;padding:var(--gutter);padding-bottom:clamp(2rem,6vw,4rem);max-width:var(--max-w);margin-inline:auto;width:100%; }
.nf-hero-label { font-family:var(--display);font-size:0.62rem;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:0.7rem;display:flex;align-items:center;gap:0.7rem; }
.nf-hero-label::before { content:'';display:block;width:2rem;height:1px;background:var(--gold); }
.nf-hero-title { font-family:var(--serif);font-size:clamp(2.6rem,7vw,5.5rem);font-weight:300;line-height:1.05;color:var(--white);margin-bottom:0.5rem;overflow:hidden; }
.nf-hero-title em { font-style:italic;color:var(--gold-lt); }
.nf-hero-sub { font-family:var(--sans);font-size:0.95rem;font-weight:300;color:rgba(253,250,246,0.68);margin-bottom:1.5rem; }
.nf-badges { display:flex;flex-wrap:wrap;gap:0.45rem;margin-bottom:1.5rem; }
.nf-badge { font-family:var(--sans);font-size:0.72rem;color:var(--white);border:1px solid rgba(255,255,255,0.22);background:rgba(255,255,255,0.1);padding:0.3rem 0.75rem;border-radius:2rem;backdrop-filter:blur(4px); }
.nf-hero-actions { display:flex;flex-wrap:wrap;gap:0.7rem; }
.nf-scroll { position:absolute;bottom:1.75rem;right:var(--gutter);z-index:2;display:flex;flex-direction:column;align-items:center;gap:0.4rem;font-family:var(--sans);font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.4); }
.nf-scroll::after { content:'';display:block;width:1px;height:2.5rem;background:linear-gradient(to bottom,rgba(255,255,255,0.35),transparent); }

/* 
   CAJA RESERVAS BOOKASSIST  hero embebida
 */
.nf-booking-wrap {
  position:relative;z-index:3;
  background:rgba(26,32,53,0.88);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,0.1);
  padding:0.85rem var(--gutter);
}
.nf-booking-inner {
  max-width:var(--max-w);margin-inline:auto;
  display:grid;
  grid-template-columns:auto 1fr 1fr 1fr auto;
  gap:0 1rem;
  align-items:center;
}
.nf-booking-apt-label {
  font-family:var(--display);font-size:0.58rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);display:block;margin-bottom:0.25rem;
}
.nf-booking-title { font-family:var(--serif);font-size:1rem;font-weight:300;color:var(--white);white-space:nowrap; }
.nf-booking-field { display:flex;flex-direction:column; }
.nf-booking-field label { font-family:var(--display);font-size:0.55rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:0.25rem; }
.nf-booking-field input[type="date"],
.nf-booking-field select {
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:var(--r-sm);
  padding:0.5rem 0.75rem;
  font-family:var(--sans);font-size:0.84rem;font-weight:400;
  color:var(--white);
  width:100%;
  cursor:pointer;
  appearance:none;-webkit-appearance:none;
  transition:border-color 0.2s,background 0.2s;
}
.nf-booking-field input[type="date"]:hover,
.nf-booking-field input[type="date"]:focus,
.nf-booking-field select:hover,
.nf-booking-field select:focus { border-color:var(--gold);background:rgba(255,255,255,0.12);outline:none; }
.nf-booking-field input[type="date"]::-webkit-calendar-picker-indicator { filter:invert(1) brightness(0.7); cursor:pointer; }
.nf-booking-field option { background:var(--night);color:var(--white); }
.nf-booking-btn { 
  background:var(--terra);color:var(--white);border:none;
  border-radius:var(--r-sm);padding:0.6rem 1.5rem;
  font-family:var(--sans);font-size:0.82rem;font-weight:500;letter-spacing:0.04em;
  cursor:pointer;white-space:nowrap;
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
  display:flex;align-items:center;gap:0.4rem;
}
.nf-booking-btn:hover { background:var(--terra-lt);transform:translateY(-1px);box-shadow:0 4px 16px rgba(26,32,53,0.35); }
.nf-booking-btn svg { flex-shrink:0; }

/* Booking responsive */
@media (max-width:900px) {
  .nf-booking-inner { grid-template-columns:1fr 1fr;gap:0.75rem; }
  .nf-booking-title-wrap { grid-column:1/-1; }
}
@media (max-width:600px) {
  .nf-booking-inner { grid-template-columns:1fr;gap:0.65rem; }
  .nf-booking-wrap { padding:1rem var(--gutter); }
  .nf-booking-btn { padding:0.75rem; }
}

/* 
   CTA STICKY MOVIL (solo 768px)
 */
.nf-sticky-cta {
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:var(--night);
  border-top:1px solid rgba(255,255,255,0.1);
  padding:0.75rem var(--gutter);
  gap:0.65rem;
  align-items:center;
  box-shadow:0 -4px 20px rgba(26,32,53,0.25);
  backdrop-filter:blur(12px);
}
@media (max-width:768px) { .nf-sticky-cta { display:flex; } }
.nf-sticky-cta-book {
  flex:1;background:var(--terra);color:var(--white);border:none;border-radius:var(--r-sm);
  padding:0.7rem 1rem;font-family:var(--sans);font-size:0.82rem;font-weight:500;
  cursor:pointer;text-align:center;transition:background 0.2s;
}
.nf-sticky-cta-book:hover { background:var(--terra-lt); }
.nf-sticky-cta-call {
  width:2.8rem;height:2.8rem;background:rgba(255,255,255,0.1);color:var(--white);
  border:1px solid rgba(255,255,255,0.2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background 0.2s;
}
.nf-sticky-cta-call:hover { background:rgba(255,255,255,0.2); }

/* Extra bottom padding en movil para que el sticky no tape contenido */
@media (max-width:768px) { main,.nf-footer { padding-bottom:calc(56px + 1rem); } }

/*  Tabs Nav  */
.nf-tabs-nav { position:sticky;top:56px;z-index:90;background:rgba(243,244,249,0.98);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--olive-mid);box-shadow:0 2px 10px rgba(26,32,53,0.06); }
.nf-tabs-inner { display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter); }
.nf-tabs-inner::-webkit-scrollbar { display:none; }
.nf-tab { flex-shrink:0;padding:0.88rem 1.4rem;font-family:var(--sans);font-size:0.8rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:var(--ink-lt);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color 0.2s,border-color 0.2s;white-space:nowrap; }
.nf-tab:hover { color:var(--terra); }
.nf-tab.active { color:var(--terra);border-bottom-color:var(--terra); }

/*  Tab panels  */
.nf-panel { display:none;padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem);background-color:#f2f0e8; }
.nf-panel.active { display:block;animation:panelIn 0.32s var(--ease); }
@keyframes panelIn { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none} }

/* 
   APARTAMENTOS  3 tarjetas por planta 16:9
 */
.nf-apts-header { margin-bottom:2.5rem; }
.nf-floors-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem; }
@media (max-width:900px) { .nf-floors-grid { grid-template-columns:1fr;gap:2rem; } }

.nf-floor-card { background:var(--white);border:1px solid var(--olive-mid);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform 0.35s var(--spring),box-shadow 0.35s ease;will-change:transform; }
.nf-floor-card:hover { transform:translateY(-6px);box-shadow:0 20px 60px rgba(26,32,53,0.14); }

.nf-floor-gallery { position:relative;width:100%;padding-top:56.25%;overflow:hidden;background:var(--night);flex-shrink:0;cursor:zoom-in; }
.nf-floor-track { position:absolute;top:0;left:0;height:100%;display:flex;flex-wrap:nowrap;transition:transform 0.5s var(--ease); }
.nf-floor-slide { flex-shrink:0;width:100%;height:100%;overflow:hidden; }
.nf-floor-slide img { width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 0.6s var(--ease); }
.nf-floor-card:hover .nf-floor-slide img { transform:scale(1.04); }

.nf-floor-btn { position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:2.25rem;height:2.25rem;background:rgba(26,32,53,0.5);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;cursor:pointer;opacity:0;transition:opacity 0.2s,background 0.2s,transform 0.2s; }
.nf-floor-gallery:hover .nf-floor-btn { opacity:1; }
.nf-floor-btn:hover { background:var(--terra);transform:translateY(-50%) scale(1.08); }
.nf-floor-btn.prev { left:0.6rem; }
.nf-floor-btn.next { right:0.6rem; }

.nf-floor-dots { position:absolute;bottom:0.65rem;left:50%;transform:translateX(-50%);display:flex;gap:0.35rem;z-index:4; }
.nf-floor-dot { width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.4);border:none;padding:0;cursor:pointer;transition:background 0.2s,transform 0.2s; }
.nf-floor-dot.active { background:#fff;transform:scale(1.3); }

.nf-floor-counter { position:absolute;top:0.75rem;right:0.85rem;z-index:4;font-family:var(--sans);font-size:0.68rem;font-weight:500;color:rgba(255,255,255,0.8);background:rgba(26,32,53,0.45);padding:0.18rem 0.55rem;border-radius:2rem;backdrop-filter:blur(4px); }

/* Icono de ampliar sobre la galeria */
.nf-floor-zoom-hint { position:absolute;bottom:0.65rem;right:0.65rem;z-index:4;background:rgba(26,32,53,0.5);border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.2s;backdrop-filter:blur(4px); }
.nf-floor-gallery:hover .nf-floor-zoom-hint { opacity:1; }
.nf-floor-zoom-hint svg { color:#fff; }

.nf-floor-label-img { position:absolute;top:0.75rem;left:0.75rem;z-index:4;font-family:var(--display);font-size:0.6rem;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--white);background:rgba(26,32,53,0.65);padding:0.22rem 0.7rem;border-radius:2rem;backdrop-filter:blur(4px); }
.nf-floor-label-img.featured { background:var(--terra); }

.nf-floor-body { padding:1.5rem 1.6rem;display:flex;flex-direction:column;gap:1rem;flex:1; }
.nf-floor-name { font-family:var(--serif);font-size:1.45rem;font-weight:400;color:var(--night);line-height:1.15; }
.nf-floor-subtitle { font-family:var(--sans);font-size:0.8rem;font-weight:300;color:var(--ink-lt);margin-top:0.15rem; }
.nf-floor-specs { display:grid;grid-template-columns:1fr 1fr;gap:0.6rem; }
.nf-floor-spec { display:flex;align-items:center;gap:0.4rem;font-family:var(--sans);font-size:0.8rem;font-weight:400;color:var(--ink-mid); }
.nf-floor-spec svg { color:var(--terra);flex-shrink:0; }
.nf-floor-features { display:flex;flex-wrap:wrap;gap:0.35rem; }
.nf-floor-feat { padding:0.2rem 0.65rem;border-radius:2rem;font-family:var(--sans);font-size:0.7rem;font-weight:400;background:var(--olive);color:var(--ink-mid); }
.nf-floor-feat.hl { background:var(--terra-pale);color:var(--terra);font-weight:500; }
.nf-floor-footer { display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding-top:1rem;border-top:1px solid var(--olive-mid);margin-top:auto; }
.nf-floor-price-amount { display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:var(--night);line-height:1; }
.nf-floor-price-label { display:block;font-family:var(--sans);font-size:0.67rem;font-weight:300;color:var(--ink-lt);margin-top:0.15rem; }

/* 
   LIGHTBOX
 */
.nf-lightbox {
  display:none;position:fixed;inset:0;z-index:2000;
  background:rgba(10,12,20,0.97);
  align-items:center;justify-content:center;
}
.nf-lightbox.open { display:flex; }
.nf-lb-img-wrap { position:relative;max-width:90vw;max-height:88vh;display:flex;align-items:center;justify-content:center; }
.nf-lb-img {
  max-width:90vw;max-height:80vh;object-fit:contain;
  border-radius:var(--r-sm);
  transform:scale(1);
  transform-origin:center center;
  transition:transform 0.3s var(--ease);
  cursor:zoom-in;
  user-select:none;
}
.nf-lb-img.zoomed { transform:scale(1.9);cursor:zoom-out; }
.nf-lb-close {
  position:fixed;top:1.25rem;right:1.25rem;z-index:2001;
  width:3rem;height:3rem;background:rgba(255,255,255,0.1);color:#fff;
  border:1px solid rgba(255,255,255,0.2);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;line-height:1;cursor:pointer;
  transition:background 0.2s,transform 0.2s;
}
.nf-lb-close:hover { background:var(--terra);transform:rotate(90deg); }
.nf-lb-btn {
  position:fixed;top:50%;transform:translateY(-50%);z-index:2001;
  width:3.25rem;height:3.25rem;background:rgba(255,255,255,0.1);color:#fff;
  border:1px solid rgba(255,255,255,0.15);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;cursor:pointer;
  transition:background 0.2s,transform 0.3s;
}
.nf-lb-btn:hover { background:var(--terra); }
.nf-lb-btn.prev { left:1.25rem; }
.nf-lb-btn.prev:hover { transform:translateY(-50%) translateX(-2px); }
.nf-lb-btn.next { right:1.25rem; }
.nf-lb-btn.next:hover { transform:translateY(-50%) translateX(2px); }
.nf-lb-counter { position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);font-family:var(--display);font-size:0.72rem;letter-spacing:0.1em;color:rgba(255,255,255,0.5);background:rgba(26,32,53,0.6);padding:0.3rem 1rem;border-radius:2rem;backdrop-filter:blur(4px); }
.nf-lb-caption { position:fixed;bottom:3.5rem;left:50%;transform:translateX(-50%);font-family:var(--sans);font-size:0.8rem;color:rgba(255,255,255,0.65);white-space:nowrap;max-width:80vw;text-align:center; }

/* 
   EL EDIFICIO  sticky slider
 */
.nf-bld-sticky-wrap { display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start; }
@media (max-width:768px) { .nf-bld-sticky-wrap { grid-template-columns:1fr; } }
.nf-bld-slider { position:relative;width:100%;height:480px;border-radius:var(--r-lg);overflow:hidden;background:var(--night);will-change:transform; }
@media (min-width:769px) { .nf-bld-slider { position:sticky;top:80px; } }
@media (max-width:768px) { .nf-bld-slider { height:300px;margin-bottom:2rem; } }
@media (max-width:480px) { .nf-bld-slider { height:220px; } }
.nf-bld-track { position:absolute;inset:0;height:100%;display:flex;flex-wrap:nowrap;transition:transform 0.5s var(--ease); }
.nf-bld-slide { flex-shrink:0;width:100%;height:100%;overflow:hidden; }
.nf-bld-slide img { width:100%;height:100%;object-fit:cover;display:block; }
.nf-bld-btn { position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:2.5rem;height:2.5rem;background:rgba(26,32,53,0.55);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;cursor:pointer;opacity:0;transition:opacity 0.2s,background 0.2s,transform 0.2s; }
.nf-bld-slider:hover .nf-bld-btn { opacity:1; }
.nf-bld-btn:hover { background:var(--terra);transform:translateY(-50%) scale(1.08); }
.nf-bld-btn.prev { left:0.75rem; }
.nf-bld-btn.next { right:0.75rem; }
.nf-bld-dots { position:absolute;bottom:0.85rem;left:50%;transform:translateX(-50%);display:flex;gap:0.4rem;z-index:5; }
.nf-bld-dot { width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.4);border:none;padding:0;cursor:pointer;transition:background 0.2s,transform 0.2s; }
.nf-bld-dot.active { background:#fff;transform:scale(1.3); }
.nf-bld-counter { position:absolute;top:0.85rem;right:0.95rem;z-index:5;font-family:var(--sans);font-size:0.72rem;font-weight:500;color:rgba(255,255,255,0.75);background:rgba(26,32,53,0.45);padding:0.2rem 0.6rem;border-radius:2rem;backdrop-filter:blur(4px);letter-spacing:0.05em; }
.nf-bld-text { display:flex;flex-direction:column;gap:1.5rem; }
.nf-hl-grid { display:grid;grid-template-columns:1fr 1fr;gap:0.85rem; }
@media (max-width:480px) { .nf-hl-grid { grid-template-columns:1fr; } }
.nf-hl-card { padding:1.1rem 1.15rem;background:var(--olive);border-radius:var(--r-md);border-left:3px solid var(--terra);transition:background 0.2s,transform 0.22s var(--spring); }
.nf-hl-card:hover { background:var(--terra-pale);transform:translateX(2px); }
.nf-hl-title { font-family:var(--sans);font-size:0.7rem;font-weight:500;text-transform:uppercase;letter-spacing:0.09em;color:var(--terra);margin-bottom:0.28rem; }
.nf-hl-text { font-family:var(--sans);font-size:0.83rem;font-weight:300;line-height:1.5;color:var(--ink-mid); }
.nf-amenities { display:grid;grid-template-columns:1fr 1fr;gap:0 1.25rem; }
@media (max-width:480px) { .nf-amenities { grid-template-columns:1fr; } }
.nf-amenity { display:flex;align-items:center;gap:0.55rem;font-family:var(--sans);font-size:0.84rem;font-weight:300;color:var(--ink-mid);padding:0.4rem 0;border-bottom:1px solid var(--olive-mid); }
.nf-amenity-dot { width:5px;height:5px;border-radius:50%;background:var(--terra);flex-shrink:0; }
.nf-barrio { margin-top:1rem;padding:1.5rem 1.75rem;background:var(--white);border-radius:var(--r-lg);border-left:4px solid var(--terra); }
.nf-barrio-grid { display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-top:1rem; }
@media (max-width:480px) { .nf-barrio-grid { grid-template-columns:1fr; } }
.nf-barrio-item { padding:0.8rem 0.95rem;background:var(--olive);border-radius:var(--r-sm); }
.nf-barrio-item-title { font-family:var(--sans);font-size:0.68rem;font-weight:500;text-transform:uppercase;letter-spacing:0.09em;color:var(--terra);margin-bottom:0.25rem; }
.nf-barrio-item-text { font-family:var(--sans);font-size:0.82rem;font-weight:300;line-height:1.5;color:var(--ink-mid); }

/*  Ubicacion  */
.nf-loc-layout { display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:start; }
@media (max-width:900px) { .nf-loc-layout { grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;gap:2rem!important; } }
.nf-map-wrap { position:relative;width:100%;min-height:420px;border-radius:var(--r-lg);overflow:hidden;background:var(--olive-mid); }
.nf-map-wrap iframe { position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block; }
@media (max-width:900px) { .nf-map-wrap { min-height:280px; } }
.nf-dist-list { display:flex;flex-direction:column; }
.nf-dist-item { display:grid;grid-template-columns:2.1rem 1fr auto;align-items:center;gap:0 0.8rem;padding:0.8rem 0;border-bottom:1px solid var(--olive-mid);transition:background 0.18s,padding 0.18s; }
.nf-dist-item:last-child { border-bottom:none; }
.nf-dist-item:hover { background:var(--olive);padding-inline:0.5rem;border-radius:var(--r-sm);margin-inline:-0.5rem; }
.nf-dist-icon { width:2.1rem;height:2.1rem;background:var(--olive);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.18s; }
.nf-dist-item:hover .nf-dist-icon { background:var(--terra-pale); }
.nf-dist-icon svg { color:var(--terra); }
.nf-dist-name { font-family:var(--sans);font-size:0.84rem;font-weight:500;color:var(--ink); }
.nf-dist-note { font-family:var(--sans);font-size:0.72rem;font-weight:300;color:var(--ink-lt);margin-top:0.1rem; }
.nf-dist-time { text-align:right;flex-shrink:0; }
.nf-dist-val { display:block;font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--night);line-height:1; }
.nf-dist-unit { font-family:var(--sans);font-size:0.62rem;font-weight:300;color:var(--ink-lt); }
.nf-table { width:100%;border-collapse:collapse;font-family:var(--sans);font-size:0.83rem;margin-top:0.85rem; }
.nf-table th { background:var(--night);color:var(--white);font-weight:500;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.07em;padding:0.6rem 0.9rem;text-align:left;border:1px solid var(--night); }
.nf-table td { padding:0.6rem 0.9rem;border:1px solid var(--olive-dark);color:var(--ink-mid);font-weight:300;background:var(--white);vertical-align:top; }
.nf-table td strong { font-weight:600;color:var(--terra); }
.nf-table tr:hover td { background:var(--olive); }
.nf-loc-sub { margin-top:2.25rem; }
.nf-loc-sub h3 { font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--night);margin-bottom:0.75rem; }
.nf-ul { display:flex;flex-direction:column;gap:0.5rem; }
.nf-li { display:flex;gap:0.6rem;font-family:var(--sans);font-size:0.84rem;font-weight:300;color:var(--ink-mid);line-height:1.55; }
.nf-li::before { content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--terra);flex-shrink:0;margin-top:0.58em; }
.nf-li strong { font-weight:500;color:var(--ink); }
.nf-tip { background:var(--olive);border-radius:var(--r-sm);padding:0.85rem 1rem;font-family:var(--sans);font-size:0.82rem;font-weight:300;color:var(--ink-mid);line-height:1.55;margin-top:0.85rem; }
.nf-tip strong { font-weight:500;color:var(--ink); }

/*  Que hacer  */
.nf-act-grid { display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;align-items:start;margin-bottom:2.5rem; }
@media (max-width:640px) { .nf-act-grid { grid-template-columns:1fr; } }
.nf-acc { background:var(--white);border:1px solid var(--olive-mid);border-radius:var(--r-md);overflow:hidden; }
.nf-acc-hdr { display:flex;align-items:center;gap:0.7rem;padding:0.95rem 1.2rem;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:inherit;transition:background 0.18s;user-select:none; }
.nf-acc-hdr:hover,.nf-acc.open .nf-acc-hdr { background:var(--olive); }
.nf-acc-icon { width:2rem;height:2rem;background:var(--terra-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.nf-acc-icon svg { color:var(--terra); }
.nf-acc-title { flex:1;font-family:var(--sans);font-size:0.84rem;font-weight:500;color:var(--night); }
.nf-acc-count { font-family:var(--sans);font-size:0.7rem;font-weight:300;color:var(--ink-lt);background:var(--olive-mid);padding:0.12rem 0.5rem;border-radius:2rem;white-space:nowrap; }
.nf-chevron { width:0.9rem;height:0.9rem;color:var(--ink-lt);flex-shrink:0;transition:transform 0.3s var(--ease); }
.nf-acc.open .nf-chevron { transform:rotate(180deg); }
.nf-acc-body { max-height:0;overflow:hidden;transition:max-height 0.42s var(--ease); }
.nf-acc.open .nf-acc-body { max-height:2400px; }
.nf-acc-content { padding:0 1.2rem 1rem;border-top:1px solid var(--olive-mid); }
.nf-acc-list { display:flex;flex-direction:column;gap:0.85rem;margin-top:0.85rem; }
.nf-acc-item { display:flex;flex-direction:column;gap:0.2rem; }
.nf-acc-item-title { font-family:var(--sans);font-size:0.83rem;font-weight:600;color:var(--ink);line-height:1.35; }
.nf-acc-item-desc { font-family:var(--sans);font-size:0.8rem;font-weight:300;color:var(--ink-mid);line-height:1.55; }

/* 
   FAQ
 */
.nf-faq-section { background:var(--white);padding:clamp(3rem,7vw,5rem) var(--gutter); }
.nf-faq-inner { max-width:760px;margin-inline:auto; }
.nf-faq-intro { text-align:center;margin-bottom:2.5rem; }
.nf-faq-grid { display:flex;flex-direction:column;gap:0; }
.nf-faq-item { border-bottom:1px solid var(--olive-mid); }
.nf-faq-item:first-child { border-top:1px solid var(--olive-mid); }
.nf-faq-q {
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.1rem 0;cursor:pointer;font-family:var(--sans);font-size:0.9rem;font-weight:500;color:var(--ink);
  background:none;border:none;width:100%;text-align:left;
  transition:color 0.2s;
}
.nf-faq-q:hover { color:var(--terra); }
.nf-faq-q svg { flex-shrink:0;color:var(--terra);transition:transform 0.3s var(--ease); }
.nf-faq-item.open .nf-faq-q svg { transform:rotate(180deg); }
.nf-faq-a { max-height:0;overflow:hidden;transition:max-height 0.38s var(--ease); }
.nf-faq-item.open .nf-faq-a { max-height:800px; }
.nf-faq-a-inner { padding:0 0 1.1rem;font-family:var(--sans);font-size:0.86rem;font-weight:300;color:var(--ink-mid);line-height:1.7; }
.nf-faq-a-inner strong { font-weight:500;color:var(--ink); }

/*  Day plan / Excursiones  */
.nf-dayplan { background:var(--night);border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.5rem);margin-top:2.5rem; }
.nf-dayplan-title { font-family:var(--serif);font-size:1.2rem;font-weight:300;color:var(--white);margin-bottom:1.5rem; }
.nf-dayplan-steps { display:flex;flex-direction:column; }
.nf-dayplan-step { display:grid;grid-template-columns:4.5rem 1px 1fr;gap:0 1.2rem; }
.nf-dayplan-time { font-family:var(--display);font-size:0.7rem;letter-spacing:0.1em;color:var(--gold);padding-top:0.18rem;text-align:right; }
.nf-dayplan-line { width:1px;background:rgba(255,255,255,0.12);position:relative; }
.nf-dayplan-line::before { content:'';position:absolute;top:0.18rem;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--terra); }
.nf-dayplan-desc { font-family:var(--sans);font-size:0.84rem;font-weight:300;color:rgba(253,250,246,0.72);line-height:1.6;padding-bottom:1.25rem; }
.nf-dayplan-desc strong { color:var(--white);font-weight:500; }
.nf-exc-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:0.9rem;margin-top:1.5rem; }
@media (max-width:768px) { .nf-exc-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px) { .nf-exc-grid { grid-template-columns:1fr; } }
.nf-exc-card { padding:1.1rem 1.15rem;background:var(--white);border:1px solid var(--olive-mid);border-radius:var(--r-md);transition:border-color 0.2s,box-shadow 0.2s,transform 0.25s var(--spring); }
.nf-exc-card:hover { border-color:var(--terra);box-shadow:0 4px 18px rgba(26,32,53,0.10);transform:translateY(-3px); }
.nf-exc-dest { font-family:var(--serif);font-size:1.05rem;color:var(--night);margin-bottom:0.22rem; }
.nf-exc-dist { font-family:var(--sans);font-size:0.72rem;font-weight:500;color:var(--terra);margin-bottom:0.4rem; }
.nf-exc-desc { font-family:var(--sans);font-size:0.79rem;font-weight:300;color:var(--ink-mid);line-height:1.5; }

/*  Go to Top  */
#nf-go-top { position:fixed;bottom:5rem;right:1.5rem;z-index:200;width:2.75rem;height:2.75rem;background:var(--night);color:var(--white);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(26,32,53,0.3);cursor:pointer;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity 0.28s,transform 0.28s var(--ease),background 0.18s; }
#nf-go-top.visible { opacity:1;transform:none;pointer-events:auto; }
#nf-go-top:hover { background:var(--terra); }
@media (max-width:768px) { #nf-go-top { bottom:4.5rem;right:1rem; } }

/*  Footer  */
.nf-footer { background:var(--night);padding:2rem var(--gutter); }
.nf-footer-inner { max-width:var(--max-w);margin-inline:auto;display:flex;flex-wrap:wrap;gap:0.85rem;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,0.08);padding-top:1.5rem; }
.nf-footer-brand { font-family:var(--display);font-size:0.85rem;letter-spacing:0.12em;color:var(--white); }
.nf-footer-brand span { color:var(--terra); }
.nf-footer-copy { font-family:var(--sans);font-size:0.72rem;font-weight:300;color:rgba(253,250,246,0.4); }

/*  Misc  */
:focus-visible { outline:2px solid var(--terra);outline-offset:3px;border-radius:2px; }
/* Logo responsive movil */
@media (max-width:640px) {
  .nf-logo::before { width:94px; }
  .nf-logo-badge { width:94px;height:94px;left:var(--gutter); }
  .nf-logo-badge img { width:78px;height:78px; }
  .nf-logo-text { font-size:0.78rem; }
}
@media (max-width:640px) { .nf-header .nf-btn-ghost { display:none; } }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:0.01ms!important;transition-duration:0.01ms!important; }
  .nf-reveal,.nf-reveal-up,.nf-reveal-left,.nf-reveal-right { opacity:1;transform:none; }
  .nf-cursor { display:none!important; }
  #nf-progress { display:none!important; }
}
/* ===== HEADER CON NAV COMPLETO + LANGUAGE SWITCHER ===== */
body .nf-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  height:110px; display:flex; align-items:center;
  background:rgba(247,247,241,.90);
  backdrop-filter:saturate(1.1) blur(10px);
  -webkit-backdrop-filter:saturate(1.1) blur(10px);
  border-bottom:1px solid #D9DCC8;
  box-shadow:0 2px 16px rgba(34,38,27,.05);
  transition:background .3s ease, box-shadow .3s ease;
}
body .nf-header.is-scrolled{ background:rgba(247,247,241,.97); box-shadow:0 4px 20px rgba(34,38,27,.09); }
body .nf-header-inner{ width:100%; max-width:1200px; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem); display:flex; align-items:center; gap:1.2rem; }
body .nf-logo{ display:flex; align-items:center; gap:.6rem; margin-right:auto; text-decoration:none; }
body .nf-logo-badge{ display:flex; align-items:center; }
body .nf-main-nav{ display:flex; align-items:center; gap:1.4rem; }
body .nf-main-nav a, body .nf-main-nav button.nf-nav-parent{
  font-family:"Manrope",sans-serif; font-size:.88rem; font-weight:500; color:#22261B;
  background:none; border:none; padding:.4rem 0; cursor:pointer; position:relative;
  display:flex; align-items:center; gap:.18rem; text-decoration:none;
}
body .nf-main-nav a::after, body .nf-main-nav button.nf-nav-parent::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:#47502F; transition:width .3s ease;
}
body .nf-main-nav a:hover::after, body .nf-main-nav button.nf-nav-parent:hover::after{ width:100%; }
body .nf-chevron{ transition:transform .25s ease; }
body .nf-has-sub{ position:relative; }
body .nf-has-sub:hover .nf-chevron{ transform:rotate(180deg); }
body .nf-sub{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  min-width:240px; background:#fff; border:1px solid #D9DCC8; border-radius:12px;
  padding:.5rem; box-shadow:0 18px 40px rgba(34,38,27,.12);
  opacity:0; visibility:hidden; transition:opacity .22s ease, transform .22s ease;
}
body .nf-has-sub:hover .nf-sub, body .nf-has-sub:focus-within .nf-sub{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px);
}
body .nf-sub a{ display:block; padding:.52rem .7rem; border-radius:8px; font-size:.86rem; color:#22261B; text-decoration:none; }
body .nf-sub a:hover{ background:#ECEEE1; }
body .nf-sub small{ display:block; color:#4B5238; font-size:.7rem; }
body .nf-lang{ position:relative; }
body .nf-lang__btn{ display:flex; align-items:center; gap:.3rem; background:transparent; border:1px solid #D9DCC8; border-radius:999px; padding:.38rem .7rem; font-size:.78rem; font-weight:600; color:#22261B; cursor:pointer; }
body .nf-lang__menu{ position:absolute; right:0; top:120%; background:#fff; border:1px solid #D9DCC8; border-radius:10px; padding:.35rem; min-width:118px; box-shadow:0 14px 34px rgba(34,38,27,.12); opacity:0; visibility:hidden; transform:translateY(6px); transition:.2s ease; }
body .nf-lang.is-open .nf-lang__menu{ opacity:1; visibility:visible; transform:translateY(0); }
body .nf-lang__menu a{ display:flex; justify-content:space-between; gap:.8rem; padding:.42rem .6rem; border-radius:7px; font-size:.8rem; color:#22261B; text-decoration:none; }
body .nf-lang__menu a[aria-current="true"]{ background:#ECEEE1; font-weight:600; }
body .nf-lang__menu a:hover{ background:#ECEEE1; }
body .nf-header-actions{ display:flex; align-items:center; gap:.6rem; }
body .nf-header-call{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; border:1px solid #D9DCC8; color:#47502F; text-decoration:none; }
body .nf-header-call:hover{ background:#ECEEE1; }
body .nf-btn-reserve{ display:inline-flex; align-items:center; justify-content:center; background:#47502F; color:#fff; font-weight:600; font-size:.88rem; padding:.58rem 1.2rem; border-radius:999px; border:none; cursor:pointer; text-decoration:none; transition:background .25s ease; }
body .nf-btn-reserve:hover{ background:#363c22; }
body .nf-burger{ display:none; width:42px; height:42px; border:1px solid #D9DCC8; border-radius:10px; background:#fff; align-items:center; justify-content:center; cursor:pointer; }
body .nf-burger span{ display:block; width:18px; height:2px; background:#22261B; position:relative; }
body .nf-burger span::before, body .nf-burger span::after{ content:""; position:absolute; left:0; width:18px; height:2px; background:#22261B; transition:.3s ease; }
body .nf-burger span::before{ top:-5px; }
body .nf-burger span::after{ top:5px; }
body .nf-mobile-panel{ position:fixed; inset:0; z-index:99; background:#F7F7F1; transform:translateY(-100%); transition:transform .42s ease; display:flex; flex-direction:column; padding:130px 1.5rem 2rem; overflow:auto; }
body .nf-mobile-panel.is-open{ transform:translateY(0); }
body .nf-mobile-panel a, body .nf-mobile-panel span.nf-mobile-label{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.75rem; padding:.5rem 0; border-bottom:1px solid #D9DCC8; display:block; color:#22261B; text-decoration:none; }
body .nf-mobile-panel span.nf-mobile-label{ color:#6E7A50; font-size:1.3rem; font-style:italic; }
body .nf-mobile-sub{ padding-left:.8rem; }
body .nf-mobile-sub a{ font-family:"Manrope",sans-serif; font-size:1rem; color:#4B5238; }
body .nf-mobile-langs{ display:flex; gap:.4rem; margin-top:1.2rem; flex-wrap:wrap; }
body .nf-mobile-langs a{ font-family:"Manrope",sans-serif; font-size:.82rem; border:1px solid #D9DCC8; border-radius:999px; padding:.38rem .85rem; color:#22261B; text-decoration:none; }
body .nf-mobile-langs a[aria-current="true"]{ background:#47502F; color:#fff; border-color:#47502F; }

/* ===== CAJA RESERVA ESTILO HOME ===== */
body .nf-booking-wrap{ background:transparent; padding:0 clamp(1.25rem,4vw,3rem) 2rem; max-width:1200px; margin-inline:auto; }
body .nf-booking-inner{
  background:rgba(247,247,241,.96); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.5); border-radius:16px;
  box-shadow:0 20px 60px rgba(20,23,14,.22);
  display:grid; grid-template-columns:1.1fr 1.1fr .9fr auto; gap:.4rem; align-items:end;
  padding:1rem;
}
body .nf-booking-field{ display:flex; flex-direction:column; gap:.3rem; padding:.35rem .6rem; }
body .nf-booking-field label{ font-size:.66rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#6E7A50; }
body .nf-booking-field input, body .nf-booking-field select{
  font:inherit; font-size:1rem; font-weight:600; color:#22261B;
  background:transparent; border:none; border-bottom:2px solid #D9DCC8; padding:.28rem 0;
}
body .nf-booking-field input:focus, body .nf-booking-field select:focus{ outline:none; border-bottom-color:#47502F; }
body .nf-booking-title-wrap{ display:none; }
body .nf-booking-btn{
  height:50px; padding-inline:1.5rem; white-space:nowrap;
  background:#47502F; color:#fff; font-weight:600; font-size:.92rem;
  border:none; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; gap:.45rem;
  transition:background .25s ease;
}
body .nf-booking-btn:hover{ background:#363c22; }
body .nf-booking-note{ grid-column:1/-1; margin:.25rem .6rem 0; font-size:.76rem; color:#4B5238; display:flex; align-items:center; gap:.4rem; }

/* ===== FOOTER 4 COLUMNAS ===== */
body .nf-footer{ background:#22261B; color:#E9EAE2; padding-block:3rem 1.8rem; }
body .nf-footer-inner{ max-width:1200px; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem); display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:2rem; }
body .nf-footer-brand b{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.35rem; color:#fff; display:block; }
body .nf-footer-brand p{ font-size:.88rem; opacity:.78; max-width:32ch; margin-top:.5rem; }
body .nf-footer h4{ font-family:"Manrope",sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:#9a9d8c; margin:0 0 .9rem; }
body .nf-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
body .nf-footer a{ color:#E9EAE2; opacity:.82; text-decoration:none; font-size:.88rem; }
body .nf-footer a:hover{ opacity:1; color:#fff; }
body .nf-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:2rem; padding-top:1.2rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; font-size:.78rem; opacity:.6; max-width:1200px; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem); }

@media (max-width:1024px){
  body .nf-main-nav, body .nf-lang, body .nf-header-actions .nf-btn-reserve, body .nf-header-actions .nf-header-call{ display:none; }
  body .nf-burger{ display:flex; }
  body .nf-booking-inner{ grid-template-columns:1fr 1fr; }
  body .nf-booking-btn{ grid-column:1/-1; }
  body .nf-footer-inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  body .nf-booking-inner{ grid-template-columns:1fr; }
  body .nf-footer-inner{ grid-template-columns:1fr; }
}
