/* =============================================================================
   Landings de empresa (cena de Navidad + eventos de empresa). Solo se carga en
   esas dos páginas; pages.css, blog.css y lo de Elementor no (functions.php).
   ============================================================================= */

.wp-site-blocks > .nxl-top ~ * { margin-block-start: 0; }

.nxl-top, .nxl, .nxl-foot, .nxl-mbar { --nxl-teal: #01353E; --nxl-silver: #C0C0C0; --nxl-bg: #0A0E1A; --nxl-bg2: #0F1524; --nxl-txt: #D9D6D0; --nxl-mute: #9AA0AA; }
.nxl a { color: #fff; }
.nxl-ico { width: 22px; height: 22px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ─── Cabecera mínima ─── */
.nxl-top { position: sticky; top: 0; z-index: 100; background: var(--nxl-teal); border-bottom: 1px solid rgba(255,255,255,.06); }
.nxl-top-in { max-width: 1240px; margin: 0 auto; height: 68px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nxl-logo { display: block; height: 40px; width: auto; }
.nxl-brand { font-family: 'Cormorant Garamond', serif; font-size: 24px; font-style: italic; color: #fff; }
.nxl-top-cta { display: flex; align-items: center; gap: 20px; }
.nxl-top-tel { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font-size: 15px; font-weight: 500; }

/* ─── Botones ─── */
.nxl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 30px; background: var(--nxl-silver); color: var(--nxl-bg) !important; font: 600 13px/1 'Inter', sans-serif; letter-spacing: 1.5px; text-transform: uppercase; text-decoration: none; border: 1px solid var(--nxl-silver); cursor: pointer; transition: opacity .2s; }
.nxl-btn:hover { opacity: .85; }
.nxl-btn-ghost { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.35); }
.nxl-btn-sm { padding: 11px 18px; font-size: 12px; }
.nxl-btn-lg { width: 100%; padding: 19px 30px; font-size: 14px; }
.nxl-btn[disabled] { opacity: .5; cursor: wait; }

/* ─── Hero ─── */
.nxl { color: var(--nxl-txt); font-family: 'Inter', sans-serif; }
.nxl-hero { max-width: 1240px; margin: 0 auto; padding: 56px 24px 64px; display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: center; }
.nxl h1 { font-family: 'Cormorant Garamond', serif; font-weight: 700; font-style: italic; font-size: clamp(34px, 4.2vw, 54px); line-height: 1.05; color: #fff; letter-spacing: -.5px; }
.nxl-lead { margin-top: 20px; font-size: 18px; line-height: 1.6; color: var(--nxl-txt); }
.nxl-actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.nxl-facts { margin-top: 32px; list-style: none; display: flex; flex-wrap: wrap; gap: 10px 14px; font-size: 14px; color: var(--nxl-mute); }
.nxl-facts li:not(:last-child)::after { content: '·'; margin-left: 14px; color: var(--nxl-silver); }
.nxl-facts strong { color: #fff; font-weight: 600; }
.nxl-hero-img { margin: 0; aspect-ratio: 3 / 2; overflow: hidden; }
.nxl-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ─── Secciones ─── */
.nxl-sec { padding: 80px max(24px, calc((100% - 1192px) / 2)); }
.nxl-alt { background: var(--nxl-bg2); }
.nxl h2 { font-family: 'Cormorant Garamond', serif; font-weight: 700; font-style: italic; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.1; color: #fff; margin-bottom: 36px; }
.nxl-sec-intro { margin: -20px 0 32px; color: var(--nxl-mute); }
.nxl h3 { font-family: 'Inter', sans-serif; font-size: 18px; font-weight: 600; color: #fff; }

.nxl-cards4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.nxl-card { padding: 28px 24px; border: 1px solid rgba(255,255,255,.08); display: flex; flex-direction: column; gap: 12px; }
.nxl-card .nxl-ico { width: 30px; height: 30px; color: var(--nxl-silver); }
.nxl-card p { font-size: 15px; line-height: 1.6; flex-grow: 1; }
.nxl-people { font-size: 13px; font-weight: 600; letter-spacing: .5px; color: var(--nxl-silver); text-transform: uppercase; }

.nxl-salas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.nxl-sala { background: var(--nxl-bg); border: 1px solid rgba(255,255,255,.06); display: flex; flex-direction: column; }
.nxl-sala img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.nxl-sala-body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.nxl-sala h3 { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 28px; }
.nxl-sala-cap { font-size: 14px; font-weight: 600; color: var(--nxl-silver); }
.nxl-sala ul { list-style: none; font-size: 15px; line-height: 1.7; flex-grow: 1; }
.nxl-sala li::before { content: '— '; color: var(--nxl-mute); }
.nxl-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.nxl-tags span { font-size: 12px; font-weight: 600; letter-spacing: .5px; padding: 5px 10px; background: var(--nxl-teal); color: #fff; }

.nxl-steps { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; counter-reset: none; }
.nxl-steps li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 10px 14px; align-items: center; }
.nxl-steps .nxl-ico { width: 34px; height: 34px; color: var(--nxl-silver); }
.nxl-step-n { font: 700 italic 40px/1 'Cormorant Garamond', serif; color: rgba(255,255,255,.25); justify-self: end; }
.nxl-steps p { grid-column: 1 / -1; font-size: 16px; line-height: 1.6; }

.nxl-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.nxl-split h2 { margin-bottom: 16px; }
.nxl-split p { line-height: 1.7; }
.nxl-ticks { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.nxl-ticks li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.4; color: #fff; }
.nxl-ticks .nxl-ico { color: var(--nxl-silver); }

.nxl-trust { background: var(--nxl-teal); padding: 28px 24px; }
.nxl-trust ul { max-width: 1192px; margin: 0 auto; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px 24px; font-size: 15px; color: rgba(255,255,255,.85); }
.nxl-trust strong { color: #fff; }

.nxl.nxl .faq-section { background: var(--nxl-bg); padding-top: 80px; padding-bottom: 80px; gap: 0; }
.nxl .faq-list { max-width: none; margin: 0; }
.nxl .faq-question { padding: 22px 0; }
.nxl .faq-question h3 { font-family: 'Inter', sans-serif; font-style: normal; font-size: 17px; font-weight: 500; }
.nxl .faq-toggle { border-color: rgba(255,255,255,.2); }
.nxl .faq-answer p { color: var(--nxl-txt); font-size: 15px; }

/* ─── Formulario ─── */
.nxl-form-sec { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: start; }
.nxl-form-head p { line-height: 1.7; }
.nxl-form { display: flex; flex-direction: column; gap: 16px; }
.nxl-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nxl-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 500; color: var(--nxl-txt); }
.nxl-form label i { font-style: normal; color: var(--nxl-silver); }
.nxl-form input, .nxl-form select, .nxl-form textarea { width: 100%; padding: 13px 14px; background: var(--nxl-bg); border: 1px solid rgba(255,255,255,.18); color: #fff; font: 400 16px 'Inter', sans-serif; border-radius: 0; }
.nxl-form input:focus, .nxl-form select:focus, .nxl-form textarea:focus { outline: 2px solid var(--nxl-silver); outline-offset: 1px; }
.nxl-form .nxl-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; line-height: 1.5; }
.nxl-form .nxl-check input { width: 18px; height: 18px; margin-top: 2px; flex-shrink: 0; accent-color: var(--nxl-silver); }
.nxl-form .nxl-check span { color: var(--nxl-txt); }
.nxl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.nxl-form-msg { font-size: 14px; color: #fff; background: var(--nxl-teal); padding: 12px 14px; }
.nxl-form-ok { padding: 36px; border: 1px solid var(--nxl-silver); display: flex; flex-direction: column; gap: 12px; }
.nxl-form-ok .nxl-ico { width: 40px; height: 40px; color: var(--nxl-silver); }
.nxl-form-ok p { line-height: 1.7; }

/* ─── Pie ─── */
.nxl-foot { background: #050709; padding: 28px 24px; text-align: center; font: 400 13px/1.9 'Inter', sans-serif; color: #9AA0AA; }
.nxl-foot a { color: #C9CDD3; }

/* ─── Barra fija móvil ─── */
.nxl-mbar { display: none; }

@media (max-width: 1000px) {
  .nxl-cards4, .nxl-trust ul { grid-template-columns: 1fr 1fr; }
  .nxl-salas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .nxl-hero, .nxl-split, .nxl-form-sec { grid-template-columns: 1fr; }
  .nxl-hero { padding-top: 32px; gap: 28px; }
  .nxl-hero-img { order: -1; margin: 0 -24px; }
  .nxl-steps { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 768px) {
  .nxl-top-tel span { display: none; }
  .nxl-top-in { height: 60px; padding: 0 16px; }
  .nxl-logo { height: 34px; }
  .nxl-top-cta { gap: 14px; }
  .nxl-top-cta .nxl-btn-sm { padding: 10px 12px; font-size: 11px; letter-spacing: 1px; white-space: nowrap; }
  .nxl-sec { padding: 56px 16px; }
  .nxl-hero { padding-left: 16px; padding-right: 16px; }
  .nxl-hero-img { margin: 0 -16px; }
  .nxl-lead { font-size: 16px; }
  .nxl-actions .nxl-btn { flex: 1 1 100%; }
  .nxl-salas, .nxl-row, .nxl-ticks { grid-template-columns: 1fr; }
  .nxl-mbar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 101; background: var(--nxl-teal); border-top: 1px solid rgba(255,255,255,.12); }
  .nxl-mbar a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 8px; color: #fff; text-decoration: none; font: 600 15px 'Inter', sans-serif; }
  .nxl-mbar a + a { border-left: 1px solid rgba(255,255,255,.12); }
  .nxl-foot { padding-bottom: 84px; }
  /* La barra ya lleva WhatsApp: el botón flotante de Joinchat sobra y la taparía. */
  .joinchat { display: none !important; }
}
@media (max-width: 480px) {
  .nxl-cards4, .nxl-trust ul { grid-template-columns: 1fr; }
}
