/** Shopify CDN: Minification failed

Line 963:12 Expected identifier but found whitespace
Line 967:0 Unexpected "@media"
Line 1039:1 Expected "}" to go with "{"

**/
/* v4.1 - cache bust */
/* ================================================================
   NACHA MOVES — MOBILE RESPONSIVE
   Reglas optimizadas para celular (<768px) y small phone (<480px)
   Sigue principios Apple HIG: touch targets ≥44px, safe area iOS,
   single column, font 16px en inputs (anti-zoom iOS).
   ================================================================ */

/* ============================
   GLOBAL — Tap targets + base
   ============================ */
@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden; }
  .nm img { max-width: 100%; height: auto; }
  *, *::before, *::after { -webkit-tap-highlight-color: transparent; }
  a, button { min-height: 44px; touch-action: manipulation; }
  .nm .btn, .nm .nm-btn { min-height: 48px; padding: 14px 24px; font-size: 13px; }
}

/* ============================
   PROMO BAR + HEADER
   ============================ */
@media (max-width: 768px) {
  .nm-promo-bar { padding: 9px 16px; }
  .nm-promo-bar-inner { font-size: 10px; gap: 8px; letter-spacing: 0.16em; }

  nav.nm-nav, .nm-nav { top: 36px !important; }
  .nm-nav-inner { padding: 12px 20px !important; grid-template-columns: auto auto auto !important; gap: 12px !important; }
  .nm-nav-logo { height: 22px; }

  /* Hide desktop nav, show hamburger */
  .nm-nav-links { display: none !important; }
  .nm-nav-actions .nm-nav-login { display: none !important; }
  .nm-nav-actions .nm-lang-switcher { display: none !important; }
  .nm-nav-actions .nm-nav-cta { display: none !important; }
  .nm-nav-mobile-toggle { display: flex !important; }

  /* Search icon más grande para tap */
  .nm-nav-actions > a[aria-label="Buscar"],
  .nm-nav-actions svg { min-width: 24px; min-height: 24px; }
}

/* ============================
   HERO HOME
   ============================ */
@media (max-width: 768px) {
  .nm-hero {
    min-height: calc(100vh - 36px - 50px) !important;
    padding: 0 !important;
  }
  .nm-hero-inner {
    padding: 88px 20px 48px !important;
    min-height: calc(100vh - 36px - 50px) !important;
    align-items: center !important;
  }
  .nm-hero-text { max-width: 100%; }
  .nm-hero-eyebrow-light {
    font-size: 10px;
    letter-spacing: 0.2em;
    margin-bottom: 16px;
  }
  .nm-h-hero, .nm-hero h1 {
    font-size: clamp(32px, 9vw, 48px) !important;
    line-height: 1.05;
    margin-bottom: 18px;
  }
  .nm-hero-lead {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 24px;
  }
  .nm-hero-cta-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .nm-hero-cta-row .nm-btn,
  .nm-hero-cta-row .btn {
    width: 100%;
    justify-content: center;
  }
  .nm-hero-fineprint { font-size: 13px; margin-top: 14px; }
  .nm-hero-dots { bottom: 16px; right: 16px; }
}

/* ============================
   PAGE HEROES (Programas, Clases, Método)
   ============================ */
@media (max-width: 768px) {
  .nm-page-hero {
    min-height: 60vh !important;
    padding: 100px 20px 56px !important;
  }
  .nm-page-hero-content { max-width: 100%; }
  .nm-page-hero h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
    margin-bottom: 14px;
  }
  .nm-page-hero p { font-size: 15px; line-height: 1.45; margin-bottom: 24px; }
  .nm-page-hero .eyebrow { font-size: 10px; letter-spacing: 0.18em; }
  .nm-page-hero-ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 24px;
  }
  .nm-page-hero-ctas .nm-btn,
  .nm-page-hero-ctas .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ============================
   MARQUEE
   ============================ */
@media (max-width: 768px) {
  .nm-marquee { padding: 12px 0; }
  .nm-marquee span { font-size: 11px; letter-spacing: 0.2em; margin: 0 20px; }
}

/* ============================
   TRUST STRIP (contadores animados)
   ============================ */
@media (max-width: 768px) {
  .nm-trust { padding: 48px 16px; }
  .nm-trust-inner {
    flex-wrap: wrap;
    gap: 32px 16px;
  }
  .nm-trust-item { flex: 0 0 calc(50% - 8px); }
  .nm-trust-sep, .nm-trust-divider { display: none; }
  .nm-trust-num { font-size: 36px; }
  .nm-trust-label, .nm-trust-item .nm-lbl { font-size: 10px; letter-spacing: 0.16em; }
}
@media (max-width: 480px) {
  .nm-trust-num { font-size: 28px; }
}

/* ============================
   PROGRAMA DESTACADO (featured)
   ============================ */
@media (max-width: 900px) {
  .nm-featured-prog-card { grid-template-columns: 1fr; }
  .nm-featured-prog-img { min-height: 0; aspect-ratio: 4/3; }
}
@media (max-width: 768px) {
  .nm-featured-prog { padding: 56px 20px; }
  .nm-featured-prog-head { margin-bottom: 32px; }
  .nm-featured-prog-content { padding: 28px 24px; }
  .nm-featured-prog-card h3 { font-size: clamp(26px, 6.5vw, 36px); }
  .nm-featured-prog-desc { font-size: 16px; line-height: 1.5; }
  .nm-featured-prog-bullets li { font-size: 14px; padding: 8px 0 8px 20px; }
  .nm-featured-prog-foot {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .nm-featured-prog-foot .btn,
  .nm-featured-prog-foot .nm-btn {
    width: 100%;
    justify-content: center;
  }
  .nm-featured-prog-price { font-size: 24px; text-align: center; }
}

/* ============================
   PROGRAMS CAROUSEL
   ============================ */
@media (max-width: 900px) {
  .nm-prog-carousel-track > .nm-prog-card-v2 { flex: 0 0 calc((100% - 20px) / 2); }
}
@media (max-width: 600px) {
  .nm-prog-carousel-track > .nm-prog-card-v2 { flex: 0 0 88%; }
}
@media (max-width: 768px) {
  .nm-programs-grid-wrap { padding: 48px 20px; }
  .nm-programs-grid-head { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 28px; }
  .nm-prog-filter-pills { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
  .nm-prog-filter-pills::-webkit-scrollbar { display: none; }
  .nm-prog-fpill { flex-shrink: 0; min-height: 40px; padding: 10px 16px; font-size: 11px; }
  .nm-prog-card-v2-info { padding: 20px 18px 24px; }
  .nm-prog-card-v2-info h3 { font-size: 18px; }
  .nm-prog-card-v2-info p { font-size: 14px; }
}

/* ============================
   FINDER (¿En qué etapa?)
   ============================ */
@media (max-width: 1024px) { .nm-finder-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .nm-finder-grid { grid-template-columns: 1fr; gap: 12px; } }
@media (max-width: 768px) {
  .nm-finder { padding: 56px 20px; }
  .nm-finder-head { margin-bottom: 40px; }
  .nm-finder-card-label { bottom: 16px; left: 16px; right: 16px; }
  .nm-finder-card-label h3 { font-size: 18px; }
}

/* ============================
   CATEGORIES (Online vs Presencial)
   ============================ */
@media (max-width: 900px) { .nm-cat-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .nm-categories { padding: 56px 20px; }
  .nm-cat-head { margin-bottom: 32px; }
  .nm-cat-tile-content { padding: 24px 20px 28px; }
  .nm-cat-tile-content h3 { font-size: 22px; }
  .nm-cat-tile-content p { font-size: 15px; line-height: 1.5; }
}

/* ============================
   METHOD NARRATIVE
   ============================ */
@media (max-width: 900px) {
  .nm-method-narrative-inner { grid-template-columns: 1fr; gap: 32px; }
  .nm-method-narrative-img { aspect-ratio: 4/3; }
}
@media (max-width: 768px) {
  .nm-method-narrative { padding: 56px 20px; }
  .nm-method-narrative-content h2 { font-size: clamp(28px, 7vw, 40px); margin-bottom: 20px; }
  .nm-method-narrative-content > p { font-size: 16px; }
  .nm-method-disciplines span { font-size: 10px; padding: 6px 12px; }
}

/* ============================
   FOUNDER
   ============================ */
@media (max-width: 900px) {
  .nm-founder-inner { grid-template-columns: 1fr; gap: 32px; }
  .nm-founder-img { aspect-ratio: 4/3; }
}
@media (max-width: 768px) {
  .nm-founder { padding: 56px 20px; }
  .nm-founder-content h2 { font-size: clamp(28px, 7vw, 40px); margin-bottom: 20px; }
  .nm-founder-content > p { font-size: 16px; margin-bottom: 24px; }
  .nm-founder-creds { padding-top: 20px; margin-bottom: 24px; }
  .nm-founder-cred { flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 0; }
  .nm-founder-cred-tag { min-width: auto; font-size: 9px; }
  .nm-founder-cred-name { font-size: 14px; }
}

/* ============================
   TESTIMONIALS
   ============================ */
@media (max-width: 900px) { .nm-test-grid { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 768px) {
  .nm-testimonials { padding: 56px 20px; }
  .nm-testimonials-head { margin-bottom: 36px; }
  .nm-testimonials-head h2 { font-size: clamp(28px, 7vw, 40px); }
  .nm-test-quote { font-size: 16px; line-height: 1.45; margin-bottom: 20px; }
  .nm-test-name { font-size: 11px; }
}

/* ============================
   PRICING / TARIFAS
   ============================ */
@media (max-width: 900px) {
  .nm-pricing-grid { grid-template-columns: 1fr; }
  .nm-tarifas-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) { .nm-tarifas-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .nm-pricing { padding: 56px 20px; }
  .nm-pricing-head h2 { font-size: clamp(28px, 7vw, 40px); }
  .nm-pricing-head p { font-size: 15px; }
  .nm-price-box { padding: 32px 24px; }
  .nm-price-title { font-size: 22px; }
  .nm-price-amount { font-size: 40px; }
  .nm-price-features li { font-size: 14px; }
  .nm-price-cta { min-height: 52px; }
  .nm-tarifas { padding: 48px 16px; }
  .nm-tarifa-card { padding: 28px 20px 32px; }
  .nm-tarifa-num { font-size: 16px; }
  .nm-tarifa-amount { font-size: 32px; }
  .nm-tarifa-cta { min-height: 48px; }
}

/* ============================
   FAQ
   ============================ */
@media (max-width: 768px) {
  .nm-faq-flat { padding: 56px 20px; }
  .nm-faq-flat-head { margin-bottom: 36px; }
  .nm-faq-flat-head h2 { font-size: clamp(28px, 7vw, 40px); }
  .nm-faq-flat-q { font-size: 15px; min-height: 44px; line-height: 1.3; padding: 4px 0; }
  .nm-faq-flat-q::after { font-size: 22px; }
  .nm-faq-flat-a { font-size: 15px; }
  .nm-faq-tabs { gap: 6px; }
  .nm-faq-tab { flex: 1; padding: 12px 14px; font-size: 11px; min-height: 44px; }
}

/* ============================
   FINAL CTA
   ============================ */
@media (max-width: 768px) {
  .nm-final-cta { padding: 56px 20px; }
  .nm-final-cta h2 { font-size: clamp(26px, 7vw, 36px); margin-bottom: 18px; }
  .nm-final-cta p.nm-lead { font-size: 16px; margin-bottom: 28px; }
  .nm-final-cta-form { flex-direction: column; padding: 8px; gap: 8px; }
  .nm-final-cta-form input, .nm-final-cta-form button { width: 100%; min-height: 48px; }
}

/* ============================
   PÁGINA MÉTODO (manifesto, pilares, disciplinas)
   ============================ */
@media (max-width: 900px) { .nm-pilares-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .nm-method-manifesto { padding: 48px 20px; }
  .nm-method-manifesto-inner p { font-size: 16px; line-height: 1.6; }
  .nm-method-quote { padding: 24px 20px; margin: 28px 0; }
  .nm-method-quote p { font-size: 18px; }
  .nm-pilares-section { padding: 48px 20px; }
  .nm-pilares-head { margin-bottom: 36px; }
  .nm-pilar-card { padding: 24px 20px; }
  .nm-pilar-card h4 { font-size: 16px; }
  .nm-pilar-card p { font-size: 14px; }
  .nm-disciplinas-section { padding: 48px 20px; }
  .nm-disciplinas-grid { gap: 8px; }
  .nm-disciplina-chip { padding: 10px 16px; font-size: 11px; }
}

/* ============================
   CALENDARIO SEMANAL — SCROLL HORIZONTAL
   ============================ */
@media (max-width: 768px) {
  .nm-week-cal-section { padding: 48px 16px; }
  .nm-week-cal-head { margin-bottom: 28px; }
  .nm-cal-filter {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .nm-cal-filter-pills {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 6px;
    margin: 0 -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .nm-cal-filter-pills::-webkit-scrollbar { display: none; }
  .nm-cal-fpill { flex-shrink: 0; min-height: 40px; padding: 9px 14px; }

  .nm-week-cal-wrap {
    border-radius: 4px;
    overflow: hidden;
  }
  .nm-week-cal-header { padding: 16px 18px; flex-direction: column; gap: 10px; align-items: flex-start; }
  .nm-week-cal-header h3 { font-size: 15px; }
  .nm-week-cal-range { font-size: 13px; }

  /* Grid sigue siendo 7 columnas pero más compacto */
  .nm-week-cal-grid {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    display: grid;
    grid-template-columns: repeat(7, minmax(110px, 1fr));
    scrollbar-width: none;
  }
  .nm-week-cal-grid::-webkit-scrollbar { display: none; }
  .nm-week-day { min-height: 160px; padding: 12px 8px; }
  .nm-week-day-num { font-size: 18px; }
  .nm-week-day-name { font-size: 10px; }
  .nm-week-class { padding: 8px 10px; }
  .nm-week-class .nm-clase-name { font-size: 9px; }
  .nm-week-class .nm-clase-hour { font-size: 12px; }
}

/* ============================
   TIPOS DE CLASE
   ============================ */
@media (max-width: 900px) { .nm-tipos-inner { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .nm-tipos-grid { padding: 48px 16px; }
  .nm-tipo-card-head { padding: 24px 24px; min-height: 56px; }
  .nm-tipo-card h3 { font-size: 22px; }
  .nm-tipo-card-body { padding: 0 24px 28px; }
  .nm-tipo-card-body p { font-size: 14px; }
  .nm-tipo-card-body ul li { font-size: 13px; }
  .nm-tipo-video { aspect-ratio: 16/9; }
  .nm-tipo-video .nm-play-btn { width: 52px; height: 52px; }
}

/* ============================
   STEPPER
   ============================ */
@media (max-width: 768px) {
  .nm-stepper-section { padding: 48px 20px; }
  .nm-stepper-head { margin-bottom: 32px; }
  .nm-stepper-line { display: none; }
  .nm-stepper-row { grid-template-columns: 1fr; gap: 24px; }
  .nm-stepper-step {
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 16px;
    text-align: left;
    align-items: start;
  }
  .nm-stepper-circle { margin: 0; }
  .nm-stepper-step h4 { font-size: 14px; }
  .nm-stepper-step p { font-size: 13px; }
}

/* ============================
   FOOTER
   ============================ */
@media (max-width: 900px) { .nm-foot-inner { grid-template-columns: 1fr; gap: 32px; } .nm-foot-grid { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 768px) {
  .nm-foot, .nm-footer { padding: 48px 20px 24px; }
  .nm-foot-brand { max-width: 100%; }
  .nm-foot-brand p { font-size: 14px; }
  .nm-foot-col h4 { font-size: 12px; margin-bottom: 12px; }
  .nm-foot-col a { font-size: 14px; padding: 6px 0; }
  .nm-foot-bottom { flex-direction: column; gap: 8px; text-align: center; padding-top: 20px; font-size: 11px; }
}

/* ============================
   MODAL DE RESERVA
   ============================ */
@media (max-width: 768px) {
  .nm-reserva-modal-overlay { padding: 16px; align-items: flex-end; }
  .nm-reserva-modal { max-height: 90vh; border-radius: 8px 8px 0 0; }
  .nm-reserva-modal-head { padding: 28px 24px 20px; }
  .nm-reserva-modal-head h3 { font-size: 20px; }
  .nm-reserva-modal-body { padding: 24px 24px 28px; }
  .nm-reserva-modal-cta { min-height: 52px; }
}

/* ============================
   SUBSCRIPTION POPUP
   ============================ */
@media (max-width: 768px) {
  .nm-sub-popup-overlay { padding: 16px; align-items: center; }
  .nm-sub-popup { border-radius: 8px; max-width: 100%; }
  .nm-sub-popup-img { aspect-ratio: 4/3; }
  .nm-sub-popup-body { padding: 28px 24px 24px; }
  .nm-sub-popup h3 { font-size: clamp(22px, 6vw, 28px); }
  .nm-sub-popup p { font-size: 14px; }
  .nm-sub-popup-form input, .nm-sub-popup-form button { font-size: 16px; min-height: 48px; }
}

/* ============================
   FORMS — prevent iOS zoom
   ============================ */
@media (max-width: 768px) {
  .nm input[type="text"],
  .nm input[type="email"],
  .nm input[type="tel"],
  .nm input[type="number"],
  .nm input[type="password"],
  .nm textarea,
  .nm select {
    font-size: 16px !important;
    min-height: 48px;
    padding: 14px 16px;
  }
  .nm textarea { min-height: 100px; }
}

/* ============================
   PRODUCT PAGE CURSO
   ============================ */
@media (max-width: 900px) { .nm-curso-inner { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 768px) {
  .nm-curso { padding: 88px 16px 48px; }
  .nm-curso-title { font-size: clamp(28px, 7vw, 40px); }
  .nm-curso-meta { gap: 8px; flex-wrap: wrap; }
  .nm-curso-meta span { font-size: 12px; padding: 5px 10px; }
  .nm-curso-desc { font-size: 15px; }
  .nm-curso-bullets li { font-size: 14px; }
  .nm-curso-buy { flex-direction: column; align-items: stretch; gap: 16px; padding-top: 20px; }
  .nm-curso-price { font-size: 28px; text-align: center; }
  .nm-curso-form { width: 100%; }
  .nm-curso-form button { width: 100%; min-height: 52px; }
}

/* ============================
   ACCOUNT PAGE
   ============================ */
@media (max-width: 900px) { .nm-account-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
  .nm-account { padding: 100px 20px 56px; }
  .nm-account-head h1 { font-size: clamp(28px, 7vw, 40px); }
  .nm-account-card { padding: 24px 20px; }
  .nm-account-balance { font-size: 44px; }
  .nm-order-row { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 0; }
  .nm-order-row .nm-order-status { align-self: flex-start; }
}

/* ============================
   SESAMI WIDGET
   ============================ */
@media (max-width: 768px) {
  .sesami-block { width: 100% !important; }
  .sesami-block button,
  .sesami-block .sesami-button { width: 100% !important; min-height: 52px !important; }
}

/* ============================
   STICKY CTA + SAFE AREA iOS
   ============================ */
@media (max-width: 768px) {
  .nm-sticky-cta {
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    gap: 10px;
  }
  .nm-sticky-cta-text { font-size: 12px; }
  .nm-sticky-cta-sub { font-size: 11px; }
  .nm-sticky-cta .btn, .nm-sticky-cta .nm-btn {
    min-height: 44px;
    padding: 10px 18px;
    font-size: 12px;
  }
}

/* ============================
   SEARCH OVERLAY
   ============================ */
@media (max-width: 768px) {
  .nm-search-overlay { padding: 20px 16px; align-items: flex-start; }
  .nm-search-modal { max-height: calc(100vh - 40px); border-radius: 12px; }
  .nm-search-form { padding: 20px 20px 16px; }
  .nm-search-form input { font-size: 16px; padding: 12px 16px; }
}

/* ============================
   PHONES MUY PEQUEÑOS (<480px)
   ============================ */
@media (max-width: 480px) {
  .nm-hero { min-height: calc(100vh - 36px - 50px) !important; }
  .nm-hero-inner { padding: 80px 16px 40px !important; }
  .nm-h-hero, .nm-hero h1 { font-size: clamp(28px, 9vw, 38px) !important; }
  .nm-page-hero { padding: 88px 16px 40px !important; }
  .nm-section-head h2 { font-size: clamp(24px, 8vw, 32px); }
  .nm-trust-num { font-size: 24px; }
  .nm-hero-stats { flex-wrap: wrap; gap: 12px; }
  .nm-hero-stat strong { font-size: 20px; }
  .nm-hero-stat span { font-size: 11px; }
  .nm-final-cta h2 { font-size: clamp(22px, 7vw, 30px); }
  .nm-pricing-head h2,
  .nm-faq-flat-head h2,
  .nm-testimonials-head h2 { font-size: clamp(24px, 7.5vw, 32px); }
}
/* ================================================================
   OVERRIDE FUERTE — Header mobile (alta especificidad)
   ================================================================ */
@media (max-width: 768px) {

  /* Grid 2 columnas: logo izquierda · acciones derecha */
  nav.nm-nav .nm-nav-inner,
  .nm-nav .nm-nav-inner {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    padding: 12px 16px !important;
    gap: 12px !important;
  }

  /* Logo siempre visible, tamaño compacto */
  nav.nm-nav .nm-nav-logo,
  .nm-nav .nm-nav-logo {
    grid-column: 1 !important;
    justify-self: start !important;
    display: flex !important;
    height: 22px !important;
    max-width: 140px !important;
    z-index: 5;
  }
  nav.nm-nav .nm-nav-logo img,
  .nm-nav .nm-nav-logo img {
    height: 100%;
    width: auto;
    max-height: 22px;
  }

  /* Ocultar links centrales (van al mobile panel después) */
  nav.nm-nav .nm-nav-links,
  .nm-nav .nm-nav-links {
    display: none !important;
  }

  /* Acciones derecha — solo search visible, ocultar el resto */
  nav.nm-nav .nm-nav-actions,
  .nm-nav .nm-nav-actions {
    grid-column: 2 !important;
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  nav.nm-nav .nm-nav-actions .nm-nav-login,
  nav.nm-nav .nm-nav-actions .nm-nav-cta,
  nav.nm-nav .nm-nav-actions .nm-lang-switcher,
  .nm-nav .nm-nav-actions .nm-nav-login,
  .nm-nav .nm-nav-actions .nm-nav-cta,
  .nm-nav .nm-nav-actions .nm-lang-switcher {
    display: none !important;
  }
  nav.nm-nav .nm-nav-actions a[aria-label="Buscar"],
  .nm-nav .nm-nav-actions a[aria-label="Buscar"] {
    padding: 10px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  nav.nm-nav .nm-nav-icon,
  .nm-nav .nm-nav-icon {
    width: 22px !important;
    height: 22px !important;
  }
}

/* ================================================================
   Search modal — forzar text colors visibles
   ================================================================ */
.nm-search-overlay,
.nm-search-overlay * {
  color: var(--nm-text) !important;
}
.nm-search-overlay .nm-search-modal {
  background: var(--nm-white) !important;
  color: var(--nm-text) !important;
}
.nm-search-overlay .nm-search-form input {
  color: var(--nm-text) !important;
  background: var(--nm-white) !important;
  border-color: rgba(0,0,0,0.15) !important;
}
.nm-search-overlay .nm-search-form input::placeholder {
  color: var(--nm-text-muted) !important;
  opacity: 1;
}
.nm-search-overlay .btn,
.nm-search-overlay .nm-btn {
  color: var(--nm-white) !important;
  background: var(--nm-text) !important;
}

/* Mobile panel — colors forzados */
.nm-mobile-panel,
.nm-mobile-panel * {
  color: var(--nm-text) !important;
}
.nm-mobile-panel a, 
.nm-mobile-panel button {
  color: var(--nm-text) !important;
}
.nm-mobile-panel-links a {
  color: var(--nm-text) !important;
}
.nm-mobile-panel-foot .nm-nav-login {
  background: var(--nm-text) !important;
  color: var(--nm-white) !important;
  border: none !important;
}
/* ================================================================
   Search modal — forzar text colors visibles
   ================================================================ */
.nm-search-overlay,
.nm-search-overlay * {
  color: var(--nm-text) !important;
}
.nm-search-overlay .nm-search-modal {
  background: var(--nm-white) !important;
  color: var(--nm-text) !important;
}
.nm-search-overlay .nm-search-form input {
  color: var(--nm-text) !important;
  background: var(--nm-white) !important;
  border-color: rgba(0,0,0,0.15) !important;
}
.nm-search-overlay .nm-search-form input::placeholder {
  color: var(--nm-text-muted) !important;
  opacity: 1;
}
.nm-search-overlay .btn,
.nm-search-overlay .nm-btn {
  color: var(--nm-white) !important;
  background: var(--nm-text) !important;
}

/* Mobile panel — colors forzados */
.nm-mobile-panel,
.nm-mobile-panel * {
  color: var(--nm-text) !important;
}
.nm-mobile-panel a, 
.nm-mobile-panel button {
  color: var(--nm-text) !important;
}
.nm-mobile-panel-links a {
  color: var(--nm-text) !important;
}
.nm-mobile-panel-foot .nm-nav-login {
  background: var(--nm-text) !important;
  color: var(--nm-white) !important;
  border: none !important;
}
/* ================================================================
   FIX DEFINITIVO — Header mobile alineado (ene 2027 #3)
   ================================================================ */
@media (max-width: 768px) {
  /* Promo bar — compacto y forzado a una línea */
  .nm-promo-bar {
    padding: 9px 16px !important;
    text-align: center !important;
  }
  .nm-promo-bar-inner {
    font-size: 9px !important;
    letter-spacing: 0.12em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: inline-block !important;
  }

  /* Nav top alineado a promo bar exacto */
  nav.nm-nav,
  .nm-nav {
    top: 38px !important;
    padding: 0 !important;
  }

  /* Hero/page-hero margin top consistente */
  .nm-hero { margin-top: 38px !important; }
  .nm-page-hero { margin-top: 38px !important; }

  /* Nav inner — 2 columnas perfectamente alineadas */
  nav.nm-nav .nm-nav-inner,
  .nm-nav .nm-nav-inner {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 16px !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Logo — fijo a la izquierda, mismo height que los iconos */
  nav.nm-nav .nm-nav-logo,
  .nm-nav .nm-nav-logo {
    height: 20px !important;
    max-width: 130px !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }
  nav.nm-nav .nm-nav-logo img,
  .nm-nav .nm-nav-logo img {
    height: 20px !important;
    width: auto !important;
    display: block !important;
  }

  /* Ocultar nav-links siempre */
  nav.nm-nav .nm-nav-links,
  .nm-nav .nm-nav-links {
    display: none !important;
  }

  /* Actions — solo search + hamburger visibles */
  nav.nm-nav .nm-nav-actions,
  .nm-nav .nm-nav-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
  }

  /* Ocultar TODO lo que sobre en mobile */
  nav.nm-nav .nm-nav-login,
  nav.nm-nav .nm-nav-cta,
  nav.nm-nav .nm-lang-switcher,
  nav.nm-nav .nm-lang-menu,
  .nm-nav .nm-nav-login,
  .nm-nav .nm-nav-cta,
  .nm-nav .nm-lang-switcher,
  .nm-nav .nm-lang-menu {
    display: none !important;
  }

  /* Search icon — tamaño consistente */
  nav.nm-nav .nm-nav-actions > a[aria-label="Buscar"],
  .nm-nav .nm-nav-actions > a[aria-label="Buscar"] {
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
  }
  nav.nm-nav .nm-nav-icon,
  .nm-nav .nm-nav-icon {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
  }

  /* Hamburger — mismo tamaño y posición que search */
  nav.nm-nav .nm-nav-mobile-toggle,
  .nm-nav .nm-nav-mobile-toggle {
    display: flex !important;
    flex-direction: column !important;
    width: 40px !important;
    height: 40px !important;
    padding: 12px 9px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    gap: 4px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  nav.nm-nav .nm-nav-mobile-toggle span,
  .nm-nav .nm-nav-mobile-toggle span {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    background: var(--nm-white) !important;
    border-radius: 2px !important;
    transition: transform 0.25s, opacity 0.25s !important;
  }
  /* Cuando nav está sobre fondo claro (scrolled o no-hero) */
  nav.nm-nav.scrolled .nm-nav-mobile-toggle span,
  .nm-nav.scrolled .nm-nav-mobile-toggle span,
  nav.nm-nav.no-hero-page .nm-nav-mobile-toggle span,
  .nm-nav.no-hero-page .nm-nav-mobile-toggle span {
    background: var(--nm-text) !important;
  }
}
/* ================================================================
   FIX MOBILE — Search icon · card overflow · footer accordion
   ================================================================ */
@media (max-width: 768px) {

  /* === Search icon — más pequeño y consistente === */
  nav.nm-nav .nm-nav-actions a[aria-label="Buscar"] svg,
  .nm-nav .nm-nav-actions a[aria-label="Buscar"] svg,
  nav.nm-nav .nm-nav-icon,
  .nm-nav .nm-nav-icon {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    stroke-width: 1.8 !important;
  }
  nav.nm-nav .nm-nav-actions a[aria-label="Buscar"],
  .nm-nav .nm-nav-actions a[aria-label="Buscar"] {
    width: 36px !important;
    height: 36px !important;
    padding: 9px !important;
  }
  /* Hamburger igual proporciones */
  nav.nm-nav .nm-nav-mobile-toggle,
  .nm-nav .nm-nav-mobile-toggle {
    width: 36px !important;
    height: 36px !important;
    padding: 10px 8px !important;
  }

  /* === Featured Programa card — sin overflow === */
  .nm-featured-prog {
    padding: 32px 16px !important;
    overflow-x: hidden !important;
  }
  .nm-featured-prog-card,
  .nm-featured-prog-content,
  .nm-featured-prog-desc,
  .nm-featured-prog-bullets,
  .nm-featured-prog-bullets li,
  .nm-featured-prog-foot {
    max-width: 100% !important;
    box-sizing: border-box !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  .nm-featured-prog-content {
    padding: 24px 20px !important;
  }
  .nm-featured-prog-bullets li {
    padding: 10px 0 10px 24px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
  .nm-featured-prog-desc {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .nm-featured-prog-card h3 {
    font-size: clamp(22px, 6vw, 30px) !important;
    line-height: 1.1 !important;
  }
  .nm-featured-prog-foot {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }
  .nm-featured-prog-foot .btn,
  .nm-featured-prog-foot .nm-btn,
  .nm-featured-prog-foot a {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .nm-featured-prog-price {
    text-align: center !important;
    font-size: 24px !important;
  }

  /* === Footer accordion por columna === */
  .nm-foot-inner,
  .nm-foot-grid {
    gap: 0 !important;
  }
  .nm-foot-col {
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .nm-foot-col h4 {
    cursor: pointer !important;
    user-select: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 18px 4px !important;
    margin: 0 !important;
    font-size: 12px !important;
    letter-spacing: 0.16em !important;
    color: var(--nm-text) !important;
  }
  .nm-foot-col h4::after {
    content: '+' !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    color: var(--nm-text) !important;
    line-height: 1 !important;
    transition: transform 0.2s !important;
  }
  .nm-foot-col.open h4::after {
    content: '−' !important;
  }
  .nm-foot-col a {
    display: none
    /* ================================================================
   FIX FINAL — Search icon size (override min-width vieja)
   ================================================================ */
@media (max-width: 768px) {
  nav.nm-nav .nm-nav-actions > a[aria-label="Buscar"],
  .nm-nav .nm-nav-actions > a[aria-label="Buscar"] {
    min-width: 24px !important;
    min-height: 24px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 9px !important;
    box-sizing: border-box !important;
  }
  nav.nm-nav .nm-nav-actions svg,
  .nm-nav .nm-nav-actions svg,
  nav.nm-nav .nm-nav-actions a[aria-label="Buscar"] svg,
  .nm-nav .nm-nav-actions a[aria-label="Buscar"] svg {
    min-width: 18px !important;
    min-height: 18px !important;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
  }
}
/* ================================================================
   FIX FOOTER ACCORDION — forzar visibilidad de links
   ================================================================ */
@media (max-width: 768px) {
  /* Por default: ocultar TODOS los links de columna */
  .nm-foot, .nm-footer { /* el wrapper */ }
  .nm-foot .nm-foot-col > a,
  .nm-footer .nm-foot-col > a,
  .nm-foot-col > a {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transition: opacity 0.2s, height 0.2s !important;
  }
  /* Cuando el accordion está OPEN: mostrar links */
  .nm-foot .nm-foot-col.open > a,
  .nm-footer .nm-foot-col.open > a,
  .nm-foot-col.open > a {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    padding: 10px 4px !important;
    margin-bottom: 0 !important;
    opacity: 1 !important;
  }
}
/* ================================================================
   GRADIENTE HERO — orange + light blue (brandbook)
   ================================================================ */
.nm-hero-bg::after {
  background: linear-gradient(
    223deg,
    rgba(237, 143, 79, 0.35) 0%,
    rgba(217, 234, 247, 0.1) 30%,
    rgba(237, 143, 79, 0.1) 55%,
    rgba(217, 234, 247, 0.65) 100%
  ) !important;
}

.nm-page-hero-bg::after {
  background: linear-gradient(
    223deg,
    rgba(237, 143, 79, 0.45) 0%,
    rgba(217, 234, 247, 0.2) 35%,
    rgba(237, 143, 79, 0.55) 100%
  ) !important;
}