/* ===================================================
   FINBA 2026 — Responsive Styles
   Mobile: ≤768px  |  Tablet: 769px–1024px
   =================================================== */

/* ── NAV ── */
.r-nav-links { display: flex; }
.r-nav-btn { }

/* Fixed nav — works regardless of ancestor overflow or DC scroll context */
.r-nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 200 !important;
}

/* Spacer so content is not hidden behind the fixed nav */
body { padding-top: 92px; }

/* Anchor-jump targets (#formulario, #proximamente, etc.): el nav es fixed,
   así que un salto nativo del navegador a un ancla deja su encabezado tapado
   detrás del nav a menos que reservemos el mismo espacio con scroll-margin-top. */
#formulario, #proximamente { scroll-margin-top: 92px; }
@media (max-width: 768px) {
  #formulario, #proximamente { scroll-margin-top: 68px; }
}

@media (max-width: 1024px) {
  .r-nav { padding: 0 28px !important; }
}
@media (max-width: 768px) {
  .r-nav  { padding: 0 18px !important; height: 68px !important; }
  .r-nav-links { display: none !important; }
  .r-nav-logo img { height: 58px !important; }
  .r-nav-btn { font-size: 13px !important; padding: 9px 16px !important; }
  body { padding-top: 68px; }
}

/* ── HERO HOME ── */
@media (max-width: 1024px) {
  .r-hero { height: 700px !important; }
  .r-hero-title { font-size: 86px !important; }
  .r-hero-dancers { height: 85% !important; }
}
@media (max-width: 768px) {
  .r-hero { height: auto !important; min-height: 620px !important; padding-bottom: 0 !important; }
  .r-hero-title { font-size: 46px !important; line-height: .88 !important; }
  .r-hero-sub  { font-size: 14px !important; }
  .r-hero-date { font-size: 12px !important; padding: 9px 13px !important; }
  /* texto confinado a la mitad izquierda para dejar espacio al bailarín */
  .r-hero-headline { left: 18px !important; top: 72px !important; right: 36% !important; }
  .r-hero-ctas { left: 18px !important; bottom: 28px !important; right: 18px !important; }
  .r-hero-ctas > div { flex-direction: column !important; gap: 10px !important; }
  .r-hero-btn  { font-size: 15px !important; padding: 14px 24px !important; width: 100% !important; text-align: center !important; display: block !important; }
  /* bailarín: más grande, visible y centrado a la derecha */
  .r-hero-dancers { height: 83% !important; right: -3% !important; opacity: .97 !important; }
}

/* ── SECTION PADDING ── */
@media (max-width: 1024px) {
  .r-section { padding-left: 32px !important; padding-right: 32px !important; }
}
@media (max-width: 768px) {
  .r-section { padding-left: 18px !important; padding-right: 18px !important;
                padding-top: 48px !important; padding-bottom: 52px !important; }
}

/* ── COUNTDOWN ── */
@media (max-width: 1024px) {
  .r-countdown { padding: 44px 32px 0 !important; }
}
@media (max-width: 768px) {
  .r-countdown { padding: 36px 18px 0 !important; }
  .r-cd-boxes  { gap: 8px !important; }
  .r-cd-box    { width: 132px !important; padding: 16px 4px 12px !important; }
  .r-cd-num    { font-size: 64px !important; }
}

/* ── STATS 4-COL GRID ── */
@media (max-width: 1024px) {
  .r-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .r-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .r-stats-grid > div { padding: 32px 20px !important; }
  .r-stats-num { font-size: 60px !important; }
}

/* ── INTRO ── */
@media (max-width: 1024px) {
  .r-intro-logo { height: 200px !important; }
}
@media (max-width: 768px) {
  .r-intro-logo { height: 160px !important; margin-bottom: 28px !important; }
  .r-intro h2 { font-size: 38px !important; }
  .r-intro p  { font-size: 16px !important; }
}

/* ── SECTION HEADERS (title + link row) ── */
@media (max-width: 768px) {
  .r-section-header { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; margin-bottom: 24px !important; }
  .r-section-h2     { font-size: 44px !important; }
}

/* ── COMPANIES FEATURED CARD ── */
@media (max-width: 1024px) {
  .r-companies-hero { height: 300px !important; }
}
@media (max-width: 768px) {
  .r-companies-hero { height: 240px !important; }
  .r-companies-hero-content { left: 22px !important; right: 22px !important; }
  .r-companies-hero-content h3 { font-size: 48px !important; }
  .r-companies-hero-content p  { font-size: 14px !important; }
  .r-companies-hero-content .r-hero-inner-badge { font-size: 11px !important; }
}

/* ── COMPANIES 4-COL GRID ── */
@media (max-width: 1024px) {
  .r-companies-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .r-companies-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .r-companies-grid h3 { font-size: 18px !important; }
}

/* ── FEATURED EVENT ROWS ── */
@media (max-width: 768px) {
  .r-event-row  { flex-direction: column !important; gap: 8px !important; padding: 18px !important; align-items: stretch !important; }
  .r-event-date { width: auto !important; border-right: none !important; padding-right: 0 !important;
                  border-bottom: 1px solid #e4ebf4; padding-bottom: 10px !important;
                  display: flex !important; flex-direction: row !important; align-items: center !important; gap: 10px !important; }
  .r-event-date .r-day-num { font-size: 36px !important; }
  .r-event-time { text-align: left !important; min-width: auto !important; }
  .r-event-time > div:first-child { font-size: 20px !important; justify-content: flex-start !important; }
}

/* ── EDUCATIONAL 2-COL GRID ── */
@media (max-width: 1024px) {
  .r-edu-grid { grid-template-columns: 1fr !important; }
}

/* ── NEWS 3-COL GRID ── */
@media (max-width: 1024px) {
  .r-news-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .r-news-grid { grid-template-columns: 1fr !important; }
}

/* ── PODCAST 3-COL GRID ── */
@media (max-width: 1024px) {
  .r-podcast-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .r-podcast-grid { grid-template-columns: 1fr !important; }
}

/* ── CTA SECTION ── */
@media (max-width: 768px) {
  .r-cta-inner { flex-direction: column !important; gap: 28px !important; }
  .r-cta-h2 { font-size: 44px !important; }
}

/* ── FOOTER ── */
@media (max-width: 1024px) {
  .r-footer-grid  { grid-template-columns: 1fr 1fr !important; }
  .r-footer-inner { padding: 48px 32px 32px !important; }
}
@media (max-width: 768px) {
  .r-footer-grid  { grid-template-columns: 1fr !important; }
  .r-footer-inner { padding: 36px 18px 24px !important; }
}

/* ── PROGRAMACION PAGE ── */
@media (max-width: 1024px) {
  .r-prog-header { padding: 40px 32px 32px !important; }
  .r-prog-filters { padding: 14px 32px !important; }
}
@media (max-width: 768px) {
  .r-prog-header { padding: 32px 18px 28px !important; }
  .r-prog-header h1 { font-size: 50px !important; }
  .r-prog-header p  { font-size: 15px !important; }
  .r-prog-filters { padding: 14px 18px !important; top: 68px !important; }
  .r-prog-filters > div { flex-wrap: wrap !important; gap: 10px !important; }
  .r-prog-filters > div:first-child > div:first-child { flex-wrap: wrap !important; }
  .r-prog-filters > div:first-child > div:nth-child(2) { display: none !important; }
  .r-prog-panel { padding-left: 18px !important; padding-right: 18px !important; padding-bottom: 48px !important; }
  .r-prog-list-grid { grid-template-columns: 1fr !important; }
  /* List row: date+title on row 1, time+venue full-width on row 2 */
  .r-lista-row { flex-direction: row !important; flex-wrap: wrap !important; gap: 10px !important; padding: 14px 16px !important; align-items: flex-start !important; }
  .r-lista-row > div:first-child { flex: none !important; width: 60px !important; }
  .r-lista-row > div:nth-child(2) { flex: 1 !important; min-width: 0 !important; }
  .r-lista-row > div:nth-child(3) { width: 100% !important; text-align: left !important; min-width: 0 !important; border-top: 1px solid #eef2f8 !important; padding-top: 8px !important; }
  .r-lista-row .ev-thumb { display: none !important; }
  .r-lista-row h3 { font-size: 20px !important; margin: 4px 0 2px !important; }
  /* Stats strip compact on mobile */
  .r-maestros-stats > div { padding: 16px 8px !important; }
  .r-maestros-stats > div > div:first-child { font-size: 40px !important; }
}

/* ── UN CHANCE PAGE ── */
@media (max-width: 1024px) {
  .r-uc-hero-content { padding: 40px 32px 36px !important; }
  .r-uc-form-outer { padding: 36px 32px 64px !important; }
  .r-uc-form-section { padding: 28px 28px !important; }
}
@media (max-width: 768px) {
  .r-uc-hero h1 { font-size: 54px !important; }
  .r-uc-hero-content { padding: 32px 18px 32px !important; }
  .r-uc-form-outer { padding: 24px 18px 48px !important; }
  .r-uc-form-section { padding: 22px 18px !important; }
  .r-form-grid-2 { grid-template-columns: 1fr !important; }
  .r-form-grid-3 { grid-template-columns: 1fr !important; }
  .r-uc-dates-strip { padding: 16px 18px !important; }
}

/* ── LARREAL PAGE ── */
@media (max-width: 1024px) {
  .r-larreal-hero { height: 420px !important; }
  .r-larreal-hero-content { left: 32px !important; right: 32px !important; }
  .r-larreal-content { grid-template-columns: 1fr !important; padding: 56px 32px !important; }
  .r-larreal-credits { grid-template-columns: 1fr !important; }
  .r-larreal-credits-outer { padding: 48px 32px !important; }
  .r-larreal-info-bar { padding: 24px 32px !important; }
  .r-larreal-repertorio { padding: 60px 32px !important; }
}
@media (max-width: 768px) {
  .r-larreal-breadcrumb { padding-left: 18px !important; padding-right: 18px !important; }
  .r-larreal-hero { height: 340px !important; }
  .r-larreal-hero-content { left: 18px !important; right: 18px !important; bottom: 28px !important; }
  .r-larreal-hero-content h1 { font-size: 68px !important; }
  .r-larreal-hero-content p  { font-size: 15px !important; }
  .r-larreal-info-bar { padding: 20px 18px !important; }
  .r-larreal-info-bar > div { gap: 20px !important; flex-wrap: wrap !important; }
  .r-larreal-info-bar .r-info-divider { display: none !important; }
  .r-larreal-info-bar .r-info-links { margin-left: 0 !important; width: 100% !important; }
  .r-larreal-content { grid-template-columns: 1fr !important; padding: 40px 18px !important; gap: 28px !important; }
  .r-larreal-sticky { position: static !important; }
  .r-larreal-repertorio { padding: 48px 18px !important; }
  .r-larreal-obra { padding: 22px 18px !important; grid-template-columns: 48px 1fr !important; gap: 16px !important; }
  .r-larreal-obra-num { font-size: 32px !important; }
  .r-larreal-obra h3 { font-size: 26px !important; }
  .r-larreal-credits { grid-template-columns: 1fr !important; }
  .r-larreal-credits-outer { padding: 40px 18px !important; }
  .r-larreal-cta { padding: 36px 18px !important; }
  .r-larreal-gallery-outer { padding: 48px 18px !important; }
  .r-larreal-gallery { grid-template-columns: 1fr !important; grid-template-rows: 220px 220px !important; }
  .r-larreal-gallery > div:first-child { grid-row: auto !important; }
}

/* ── MODAL EVENTO ── */
#ev-modal > div {
  max-width: calc(100vw - 32px);
}
@media (max-width: 768px) {
  #ev-modal { padding: 12px !important; align-items: flex-end !important; }
  #ev-modal > div { border-radius: 20px 20px 0 0 !important; max-height: 92vh !important; }
  #ev-modal h2 { font-size: 32px !important; }
  #ev-modal-img { height: 180px !important; }
}

/* ── SPLASH ── */
@media (max-width: 768px) {
  #splash-logo { height: 110px !important; }
}

/* ── NAV SELLO: ocultar en móvil ── */
@media (max-width: 768px) {
  .r-nav-sello { display: none !important; }
}

/* ── HAMBURGER BUTTON ── */
.r-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 40px; height: 40px;
  border: none; background: none;
  cursor: pointer; gap: 5px; padding: 0; flex-shrink: 0;
}
.r-hamburger span {
  display: block; width: 22px; height: 2px;
  background: #16294F; border-radius: 2px;
}
@media (max-width: 768px) {
  .r-hamburger { display: flex; }
  .r-nav-btn   { display: none !important; }
}

/* ── MOBILE OVERLAY MENU ── */
.r-mobile-menu {
  display: none;
  position: fixed; inset: 0; z-index: 9999;
  background: #0F1E40;
  flex-direction: column;
  align-items: flex-start; justify-content: center;
  padding: 72px 36px 48px; gap: 0;
  overflow-y: auto;
}
.r-mobile-menu.open { display: flex; }
.r-mm-logo  { height: 54px; width: auto; margin-bottom: 36px; opacity: .9; }
.r-mm-link  {
  display: block; width: 100%;
  color: rgba(255,255,255,.72) !important;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: 28px;
  text-transform: uppercase; text-decoration: none !important;
  letter-spacing: .04em;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.r-mm-link.active { color: #EC8430 !important; }
.r-mm-cta {
  display: inline-block; margin-top: 30px;
  background: #EC8430; color: #fff !important;
  padding: 14px 36px; border-radius: 100px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 22px;
  text-transform: uppercase; text-decoration: none !important;
  letter-spacing: .05em;
}
.r-mm-cta-sec {
  display: inline-block; margin-top: 12px;
  background: transparent; color: rgba(255,255,255,.85) !important;
  padding: 13px 36px; border-radius: 100px;
  border: 2px solid rgba(255,255,255,.35);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800; font-size: 22px;
  text-transform: uppercase; text-decoration: none !important;
  letter-spacing: .05em;
}
.r-menu-close {
  position: absolute; top: 18px; right: 18px;
  background: rgba(255,255,255,.1); border: none;
  color: rgba(255,255,255,.8); font-size: 20px;
  cursor: pointer; padding: 8px 12px;
  border-radius: 10px; line-height: 1;
}

/* ── HERO SELLO en móvil ── */
@media (max-width: 768px) {
  .r-hero-sello {
    height: 68px !important;
    top: 12px !important;
    right: 16px !important;
  }
}

/* ── INTRO: logos en móvil ── */
@media (max-width: 768px) {
  .r-intro-logos { gap: 14px !important; margin-bottom: 24px !important; }
  .r-intro-sello { height: 100px !important; }
}

/* ── EDUCATIONAL: h2 y feat cards en móvil ── */
@media (max-width: 768px) {
  .r-edu-h2 { font-size: 42px !important; line-height: .9 !important; }
  .r-edu-feat-img  { height: 220px !important; }
  .r-edu-feat-grid { grid-template-columns: 1fr !important; gap: 8px 0 !important; }
  .r-edu-feat-body { padding: 22px 20px 26px !important; }
}

/* ── UN CHANCE CARD (home) en móvil ── */
@media (max-width: 768px) {
  .r-uc-home-card {
    min-height: 360px !important;
    background-size: 220% auto !important;
  }
}

/* ── INTERNAL PAGES: poster, CTA, dates strip en móvil ── */
@media (max-width: 768px) {
  .r-page-poster-wrap { padding: 18px 16px 0 !important; }
  .r-page-cta-section { padding: 20px 16px 0 !important; }
  .r-page-cta-btn {
    font-size: 18px !important;
    padding: 14px 22px !important;
    letter-spacing: .02em !important;
    width: calc(100% - 32px) !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .r-uc-dates-strip { padding: 16px 16px !important; }
}

/* ── COMPANIES: grid 1 col + hero fix ── */
@media (max-width: 768px) {
  .r-companies-grid { grid-template-columns: 1fr !important; }
  .r-companies-hero { height: 300px !important; }
  .r-companies-hero-content { left: 18px !important; right: 18px !important; max-width: 100% !important; }
  .r-companies-hero-content h3 { font-size: 44px !important; }
  .r-companies-hero-content p  { display: none !important; }
}

/* ── EVENTOS DESTACADOS: fix date/time en móvil ── */
@media (max-width: 768px) {
  .r-event-row > div:nth-child(2) {
    width: auto !important;
    border-right: none !important;
    padding-right: 0 !important;
    border-bottom: 1px solid rgba(228,235,244,.5) !important;
    padding-bottom: 10px !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .r-event-row > div:nth-child(2) > div:nth-child(2) {
    font-size: 34px !important;
    line-height: 1 !important;
  }
  .r-event-row > div:nth-child(4) {
    text-align: left !important;
    min-width: auto !important;
    width: 100% !important;
  }
  .r-event-row > div:nth-child(4) > div:first-child {
    justify-content: flex-start !important;
    font-size: 18px !important;
  }
}

/* ── INTERNAL PAGES: padding de secciones externas ── */
@media (max-width: 768px) {
  .r-inner-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 36px !important;
  }
}

/* ── FORM CARDS (un-chance, un-futuro) ── */
@media (max-width: 768px) {
  .r-form-card { padding: 22px 18px !important; }
}

/* ── UN FUTURO: grids en móvil ── */
@media (max-width: 1024px) {
  .r-maestros-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 768px) {
  .r-porq-grid     { grid-template-columns: 1fr !important; }
  .r-prog-grid     { grid-template-columns: 1fr !important; }
  .r-payment-grid  { grid-template-columns: 1fr !important; }
  .r-profile-grid  { grid-template-columns: 1fr !important; }
  .r-maestros-grid { grid-template-columns: 1fr !important; }
}

/* ── CTA HOME: padding exterior en móvil ── */
@media (max-width: 1024px) {
  .r-cta-outer { padding: 56px 32px !important; }
}
@media (max-width: 768px) {
  .r-cta-outer { padding: 48px 18px !important; }
}

/* ── PAGES: contact strip + footer bar ── */
@media (max-width: 768px) {
  .r-page-contact   { padding: 32px 18px !important; }
  .r-page-footer-bar { padding: 32px 18px !important; }
}
