/* =======================================================
   Escuela DFS · Ajustes para celulares
   Se carga después de style2.css. Casi todo está dentro de
   @media (max-width: 860px): la versión de computador no cambia.
======================================================= */

/* Portada: si el video no carga, se ve la foto de la escuela en vez de negro */
.hero {
  background: #1c0a11 url("img/escuela.jpg") center / cover no-repeat;
}

/* Computador: el submenú de "Protocolos" se abre hacia la izquierda
   (hacia la derecha se salía de la pantalla y aparecía una barra horizontal) */
@media (min-width: 861px) {
  .nav-sub-submenu {
    left: auto;
    right: calc(100% + 12px);
    transform: translateX(-8px);
  }

  .nav-sub-submenu::before {
    left: auto;
    right: -7px;
    transform: rotate(225deg);
  }
}

/* Botones para abrir submenús (solo se muestran en celular) */
.submenu-toggle {
  display: none;
}

@media (max-width: 860px) {

  /* ---------- Franja superior: solo los accesos ---------- */
  .top-strip-inner {
    display: flex;
    justify-content: center;
    padding: 0.45rem 0;
  }

  .top-strip-left,
  .top-strip-center,
  .top-clock,
  #topClock,
  .top-quick-links .top-separator {
    display: none !important;
  }

  .top-strip-right {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .top-quick-links {
    width: 100%;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
  }

  .top-quick-links a {
    font-size: 0.82rem;
    padding: 0.5rem 0.9rem;
  }

  /* ---------- Encabezado en una sola fila: escudo + nombre + menú ---------- */
  .nav-wrap {
    flex-wrap: wrap;
    gap: 0.4rem 0.75rem;
    padding: 0.55rem 0;
  }

  .brand {
    flex: 1 1 0;
    min-width: 0;
    flex-shrink: 1;
    gap: 0.55rem;
  }

  .brand-logo {
    width: 44px;
    height: 44px;
  }

  .brand-copy {
    min-width: 0;
  }

  .brand-title {
    font-size: 0.92rem;
    line-height: 1.2;
    white-space: normal;
  }

  .brand-subtitle {
    font-size: 0.74rem;
  }

  .menu-toggle {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* ---------- Menú desplegable ---------- */
  .main-nav.active {
    order: 3;
    flex-basis: 100%;
    gap: 0;
    padding: 0.35rem 0 0.9rem;
    max-height: calc(100vh - 120px);
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-top: 1px solid rgba(125, 0, 45, 0.1);
  }

  .main-nav.active > a,
  .main-nav.active .nav-item-dropdown {
    border-bottom: 1px solid rgba(125, 0, 45, 0.07);
  }

  .main-nav.active > a,
  .main-nav.active .nav-link-dropdown {
    padding: 0.85rem 0.25rem;
    font-size: 1rem;
  }

  /* Cada sección con submenú: texto a la izquierda, flecha a la derecha */
  .nav-item-dropdown,
  .nav-subitem-dropdown {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
  }

  .nav-item-dropdown > .nav-link-dropdown,
  .nav-subitem-dropdown > .nav-sub-link-dropdown {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    cursor: pointer;
  }

  .nav-link-dropdown::after,
  .nav-sub-link-dropdown::after {
    display: none !important;
  }

  .submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 10px;
    background: rgba(125, 0, 45, 0.06);
    color: var(--vino-oscuro, #56001f);
    cursor: pointer;
  }

  .submenu-toggle i {
    font-size: 0.8rem;
    transition: transform 0.2s ease;
  }

  .abierto > .submenu-toggle i {
    transform: rotate(180deg);
  }

  /* Submenús cerrados hasta que se tocan */
  .main-nav.active .nav-item-dropdown > .nav-submenu,
  .main-nav.active .nav-subitem-dropdown > .nav-sub-submenu {
    display: none !important;
    flex-basis: 100%;
    margin: 0 0 0.6rem;
  }

  .main-nav.active .nav-item-dropdown.abierto > .nav-submenu,
  .main-nav.active .nav-subitem-dropdown.abierto > .nav-sub-submenu {
    display: flex !important;
    flex-direction: column;
  }

  .nav-submenu a,
  .nav-sub-link-dropdown,
  .nav-sub-submenu a {
    font-size: 0.93rem;
  }

  /* ---------- Portada ---------- */
  .hero {
    min-height: 76vh;
    min-height: min(76svh, 640px);
  }

  .hero-content {
    width: min(92%, 640px);
    margin: 0 auto;
    padding: 3rem 0;
  }

  .hero-kicker {
    font-size: 0.78rem;
  }

  .hero h1 {
    font-size: clamp(1.8rem, 7.6vw, 2.5rem);
    max-width: 20ch;
  }

  .hero-description {
    font-size: 1rem;
    margin-bottom: 1.6rem;
  }

  /* ---------- Títulos de sección más proporcionados ---------- */
  .section-title,
  section h2 {
    font-size: clamp(1.65rem, 7vw, 2.2rem);
  }
}
