/* ===== Responsive ===== */

/* Portátil */
@media (max-width: 1100px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .footer__about {
    grid-column: 1 / -1;
  }
}

/* Tablet */
@media (max-width: 980px) {
  .hero__inner,
  .split,
  .demo {
    grid-template-columns: minmax(0, 1fr);
  }
  .grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section {
    padding-block: var(--space-8);
  }
  .demo {
    padding: var(--space-5);
  }
  .mock-modal {
    margin-inline: auto;
  }
}

/* Menú móvil */
@media (max-width: 900px) {
  .nav-toggle {
    display: grid;
  }
  .nav {
    position: fixed;
    inset: var(--header-h) 0 auto;
    margin: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-4);
    padding: var(--space-5);
    background: var(--surface);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow-md);
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
  }
  .nav.is-open {
    display: flex;
  }
  .nav__links {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .nav__links a {
    display: block;
    padding: 12px 4px;
    font-size: 1rem;
    color: var(--text);
    border-bottom: 1px solid var(--border);
  }
  .nav__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .nav__actions .btn {
    width: 100%;
  }
  body.nav-open {
    overflow: hidden;
  }
}

/* Móvil grande */
@media (max-width: 760px) {
  .grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mock__body {
    grid-template-columns: minmax(0, 1fr);
  }
  .mock__side {
    border-right: 0;
    border-bottom: 1px solid var(--border);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mock__side .mock__label {
    grid-column: 1 / -1;
  }
  .mock__board {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .mock__day:nth-child(n + 4) {
    display: none;
  }
  .cta {
    padding: var(--space-7) var(--space-4);
  }
}

/* Móvil pequeño */
@media (max-width: 560px) {
  .container {
    padding-inline: var(--space-4);
  }
  .grid--2,
  .grid--3,
  .grid--4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .demo__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }
  .hero__actions .btn,
  .cta__actions .btn {
    width: 100%;
  }
  .mock__board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mock__day:nth-child(n + 3) {
    display: none;
  }
  .accordion__trigger {
    padding: 16px;
    font-size: 0.94rem;
  }
}

/* Escritorio grande */
@media (min-width: 1500px) {
  :root {
    --container: 1280px;
  }
}

/* === BLOCK B · portátil 1366/1440 === */
@media (min-width:981px) and (max-width:1440px) {
  :root { --container: 1160px; }
  .section { padding-block: clamp(64px, 6vw, 88px); }
  .hero__inner { gap: clamp(36px, 4vw, 58px); }
  .hero__copy h1 { font-size: clamp(2.7rem, 4.2vw, 4.2rem); }
  .grid--4 { gap: 16px; }
  .pricing-grid { gap: 16px; }
  .demo { gap: 30px; }
}
