@media (max-width: 1080px) {
  .hero-grid,
  .propuesta-grid,
  .sello-grid,
  .page-hero-grid,
  .footer-grid,
  .manifiesto-grid,
  .auth-grid,
  .detalle-viaje {
    grid-template-columns: 1fr;
  }

  .hero-datos,
  .ventajas,
  .filtros-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-composicion {
    min-height: 28rem;
  }

  .detalle-info,
  .admin-sidebar {
    position: static;
  }
}

@media (max-width: 768px) {
  .menu-toggle {
    display: block;
  }

  .logo-copy {
    display: none;
  }

  header .contenedor {
    position: relative;
  }

  header nav ul {
    display: none;
    position: absolute;
    top: calc(100% + 0.75rem);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: 0.5rem;
    border-radius: 24px;
    background: rgba(255, 250, 244, 0.95);
    border: 1px solid rgba(24, 49, 83, 0.08);
    box-shadow: var(--sombra-lg);
  }

  header nav ul.abierto {
    display: flex;
  }

  .hero-copy h1 {
    max-width: 100%;
  }

  .hero-datos,
  .ventajas,
  .filtros-form,
  .viajes-grid {
    grid-template-columns: 1fr;
  }

  .auth-copy {
    min-height: 20rem;
  }

  .auth-sello {
    right: 1rem;
    bottom: 1rem;
    width: 7.5rem;
    height: 7.5rem;
    font-size: 1.2rem;
  }

  .hero-postal {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    transform: none;
  }

  .hero-composicion {
    min-height: auto;
    display: grid;
    gap: 1rem;
  }

  .sol-disc,
  .hero-sello,
  .hero-ruta,
  .hero-tarjeta {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    transform: none;
  }

  .sol-disc {
    width: 9rem;
    height: 9rem;
    margin-left: auto;
  }

  .hero-sello {
    width: 9rem;
    height: 9rem;
  }

  .hero-ruta {
    display: none;
  }

  .seccion-encabezado,
  .tarjeta-pie,
  .form-acciones,
  .error-acciones,
  .admin-cabecera {
    flex-direction: column;
    align-items: stretch;
  }

  .detalle-viaje,
  .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    width: 100%;
  }

  .detalle-hero {
    min-height: 20rem;
  }
}

@media (max-width: 480px) {
  .contenedor {
    width: min(100% - 1.25rem, 1240px);
  }

  .hero-editorial {
    padding-top: 3.5rem;
  }

  .hero-copy h1,
  .seccion-encabezado h2,
  .bloque-editorial h2,
  .sello-grid h2,
  .page-hero h1 {
    font-size: clamp(2.4rem, 12vw, 3.4rem);
  }

  .form-wrapper,
  .form-pagina,
  .bloque-editorial,
  .manifiesto-grid,
  .sello-grid,
  .filtros-form {
    padding: 1.5rem;
  }

  .info-precio {
    position: static;
  }

  .viajes-grid,
  .galeria,
  .admin-table {
    gap: 1.25rem;
  }

  .page-hero {
    padding: 2rem 1.5rem;
  }

  .tarjeta-viaje {
    padding: 1.2rem;
  }
}
