/* =========================================================
   LEGACY TRADERS — Adaptación a todos los dispositivos
   Pantallas grandes → laptops → tablets → celulares → celulares pequeños
   ========================================================= */

/* ---------- Base anti-desbordes (todos los tamaños) ---------- */
html, body { overflow-x: clip; }
img, video, iframe, svg, canvas { max-width: 100%; }
.split > *, .manifesto > *, .footer__grid > *, .section__head > * { min-width: 0; }
h1, h2, h3, p, a, dd, blockquote { overflow-wrap: break-word; }
input, select, textarea, button { font-size: max(16px, 1rem); } /* evita zoom automático en iPhone */
.schedule table { min-width: 460px; }
.tradingview-widget-container { width: 100%; overflow: hidden; }

/* ---------- Pantallas muy grandes (2K / 4K) ---------- */
@media (min-width: 1800px) {
  :root { --ancho: 1360px; }
  body { font-size: 1.125rem; }
}

/* ---------- El lema del logo solo se muestra si hay espacio de sobra ---------- */
@media (max-width: 1599px) and (min-width: 1401px) {
  .brand__name em { display: none; }
}

/* ---------- Laptops medianas ---------- */
@media (max-width: 1320px) {
  .brand__name em { display: none; }
  .nav { gap: 1.2rem; }
  .nav ul { gap: 1rem; }
  .nav ul a { font-size: .9rem; }
  .team { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Laptops pequeñas y tablets horizontales: menú hamburguesa ---------- */
@media (max-width: 1400px) {
  .nav-toggle { display: block; }
  .nav {
    position: fixed; inset: var(--header-h) 0 auto; flex-direction: column; align-items: stretch;
    background: var(--tinta); border-bottom: 1px solid var(--linea); padding: 1rem 1.25rem 1.6rem;
    gap: 1rem; transform: translateY(-120%); visibility: hidden; transition: transform .3s, visibility .3s;
    max-height: calc(100dvh - var(--header-h)); overflow-y: auto; overscroll-behavior: contain;
  }
  .nav.is-open { transform: none; visibility: visible; }
  .nav ul { flex-direction: column; gap: 0; }
  .nav ul a { display: block; padding: .8rem 0; border-bottom: 1px solid var(--linea); font-size: 1.05rem; }
  .nav ul a.is-current { box-shadow: none; color: var(--oro); }
  .nav .btn { width: 100%; }
  .nav__actions { flex-direction: column; align-items: stretch; width: 100%; }
  .header { background: rgba(8, 8, 8, .94); backdrop-filter: blur(10px); }
  .brand__name em { display: block; }
}

/* ---------- Tablets ---------- */
@media (max-width: 1024px) {
  .split { grid-template-columns: 1fr; }
  .manifesto { grid-template-columns: 1fr; }
  .manifesto img { max-width: 560px; margin-inline: auto; }
  .route { grid-template-columns: repeat(2, 1fr); }
  .route::before { display: none; }
  .plans { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; gap: 2.2rem; }
  .includes__grid { grid-template-columns: repeat(2, 1fr); }
  .quotes { grid-template-columns: 1fr; gap: 2rem; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .brokers { grid-template-columns: repeat(2, 1fr); }
  .values { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .team-strip, .quick-links { grid-template-columns: 1fr; }
  .results-social { grid-template-columns: 1fr; }
  .partner { grid-template-columns: 1fr; text-align: left; }
  .partner__brand img { max-width: 160px; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .about-emblem { max-width: 560px; width: 100%; margin-inline: auto; }
  .hero { min-height: auto; padding-bottom: 5rem; }
  .hero::after { background: linear-gradient(180deg, rgba(11,11,11,.35), var(--tinta) 92%); }
}

@media (max-width: 900px) {
  .purpose { grid-template-columns: 1fr; }
  .section__head { flex-direction: column; align-items: flex-start; }
}

/* ---------- Celulares grandes / tablets verticales pequeñas ---------- */
@media (max-width: 768px) {
  :root { --header-h: 66px; }
  body { font-size: 1rem; }
  .wrap { width: min(100% - 2rem, var(--ancho)); }
  .section { padding: 3.75rem 0; }
  .page-hero { padding: calc(var(--header-h) + 2rem) 0 2.5rem; }
  .posts { grid-template-columns: 1fr; }
  .section__lead { font-size: 1rem; margin-bottom: 1.8rem; }
  .hero__cta .btn, .join__links .btn { flex: 1 1 100%; }
  .section__cta { flex-direction: column; align-items: stretch; text-align: center; }
  .section__cta .btn { width: 100%; }
  .article { font-size: 1rem; }
  .article__cta .btn { width: 100%; margin-bottom: .6rem; }
  .schedule { padding: 1.2rem; }
  .wa-float { right: 14px; bottom: 14px; width: 52px; height: 52px; }
}

/* ---------- Celulares ---------- */
@media (max-width: 600px) {
  .btn { white-space: normal; text-align: center; line-height: 1.25; }
  .calc, .form { min-width: 0; }
  .brand__name em { display: none; }
  .brand img { height: 38px; }
  .brand__name { font-size: 1rem; }
  .hero__logo { width: 100px; }
  .hero__facts { gap: 1.2rem 1.5rem; }
  .hero__facts div { flex: 1 1 40%; }
  .hero__facts dd { font-size: 1.8rem; }
  .pillars { grid-template-columns: 1fr; }
  .route { grid-template-columns: 1fr; }
  .team { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
  .values { grid-template-columns: 1fr; gap: 1.5rem; }
  .includes__grid { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .broker-strip__inner { flex-wrap: wrap; }
  .broker-strip p { flex: 1 1 calc(100% - 80px); }
  .broker-strip .btn { width: 100%; }
  .partner__cta .btn { width: 100%; }
  .avatars { grid-template-columns: repeat(2, 1fr); }
  .plan { padding: 2.4rem 1.3rem 1.5rem; }
  .calc__out { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer { padding-top: 3rem; }
  .calc, .form { padding: 1.4rem; }
  .brokers li { min-height: 80px; }
  .quotes blockquote { font-size: 1.1rem; }
  .manifesto blockquote { padding-top: 2.4rem; }
  .manifesto blockquote::before { font-size: 4.5rem; }
  .social-links a { flex: 1 1 calc(50% - .6rem); justify-content: center; }
  .stats div { padding: 1.2rem .8rem; }
}

/* ---------- Celulares pequeños (iPhone SE, Galaxy mini) ---------- */
@media (max-width: 380px) {
  .wrap { width: calc(100% - 1.5rem); }
  .brand__name { font-size: .88rem; }
  .brand img { height: 34px; }
  .hero h1 { font-size: 2.1rem; }
  .page-hero h1 { font-size: 2rem; }
  h2 { font-size: 1.75rem; }
  .btn { padding: .8rem 1.1rem; font-size: .92rem; }
  .brokers { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr; }
  .social-links a { flex: 1 1 100%; }
}

/* ---------- Celulares en horizontal (poca altura) ---------- */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { min-height: auto; padding-top: calc(var(--header-h) + 1.5rem); }
  .hero__logo { display: none; }
  .nav { max-height: calc(100dvh - var(--header-h)); }
}

/* ---------- Pantallas táctiles: sin efectos que dependan del mouse ---------- */
@media (hover: none) {
  .mentor:hover { transform: none; }
  .mentor:hover .mentor__photo img { transform: none; }
}

/* ---------- Impresión ---------- */
@media print {
  .header, .wa-float, .ticker, .hero__chart, .join, .nav-toggle { display: none !important; }
  body { background: #fff; color: #000; }
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
