/* Navegación responsive y ajustes móviles de Fundación FAER */
.nav-toggle,
.mobile-menu-cta{display:none}

@media (max-width:900px){
  nav{padding:.82rem 0}
  .nav-inner{
    position:relative;
    padding:0 1rem;
    gap:.75rem;
    flex-wrap:nowrap;
  }
  .logo{position:relative;z-index:402}
  .logo img{height:42px}
  .nav-inner>.btn.btn-dorado{display:none}

  .nav-toggle{
    display:inline-flex;
    width:46px;
    height:46px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    background:rgba(255,255,255,.08);
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    color:#fff;
    cursor:pointer;
    position:relative;
    z-index:402;
    -webkit-tap-highlight-color:transparent;
    transition:background .2s,border-color .2s;
  }
  .nav-toggle:hover,
  .nav-toggle:focus-visible{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.42);
    outline:none;
  }
  .nav-toggle span{
    display:block;
    width:22px;
    height:2px;
    border-radius:10px;
    background:currentColor;
    transition:transform .25s,opacity .2s;
    transform-origin:center;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .nav-links{
    display:flex!important;
    position:absolute;
    top:calc(100% + .82rem);
    left:0;
    right:0;
    z-index:400;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    padding:.65rem 1rem 1.15rem;
    max-height:calc(100vh - 74px);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    border-top:1px solid var(--borde,#e5e2d3);
    border-radius:0 0 16px 16px;
    box-shadow:0 20px 40px rgba(8,42,60,.22);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .2s,transform .2s,visibility .2s;
  }
  .nav-links.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .nav-links>a:not(.mobile-menu-cta),
  .nav-dropdown>a{
    width:100%;
    display:flex!important;
    align-items:center;
    min-height:48px;
    padding:.78rem .35rem;
    color:var(--azul-oscuro,#14516d)!important;
    border-bottom:1px solid var(--borde,#e5e2d3);
    font-family:'Nunito',sans-serif;
    font-size:1rem!important;
    font-weight:700!important;
    line-height:1.25;
  }
  .nav-links>a[aria-current="page"]{color:var(--dorado,#bfae8b)!important}
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown>a{justify-content:space-between;cursor:pointer}
  .nav-dropdown>a::after{
    content:"+"!important;
    margin-left:auto;
    font-size:1.35rem!important;
    font-weight:400;
    line-height:1;
    transform:none!important;
  }
  .nav-dropdown.is-open>a::after{content:"−"!important}
  .nav-dropdown-menu{
    position:static!important;
    top:auto!important;
    left:auto!important;
    min-width:0!important;
    width:100%;
    margin:0;
    padding:0;
    max-height:0;
    overflow:hidden;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    background:var(--salmon,#f6f4e6)!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    transition:max-height .28s ease,padding .2s,margin .2s;
  }
  .nav-dropdown-menu::before{display:none!important}
  .nav-dropdown.is-open .nav-dropdown-menu{
    max-height:720px;
    margin:.3rem 0 .55rem;
    padding:.42rem;
  }
  .nav-dropdown-menu a{
    min-height:42px;
    padding:.68rem .75rem!important;
    color:var(--texto,#1a2a35)!important;
    border:0!important;
    border-radius:8px;
    font-size:.93rem!important;
    font-weight:600!important;
  }
  .nav-dropdown-menu a+a{margin-top:.1rem}
  .nav-dropdown-menu a:hover,
  .nav-dropdown-menu a:focus-visible{background:#fff!important}
  .mobile-menu-cta{
    display:block;
    margin-top:.9rem;
    padding:.9rem 1rem;
    border-radius:9px;
    background:var(--dorado,#bfae8b);
    color:var(--azul-oscuro,#14516d)!important;
    font-family:'Nunito',sans-serif;
    font-size:1rem;
    font-weight:800;
    text-align:center;
  }

  /* En móvil, el listado queda centrado como bloque, pero cada línea se lee a la izquierda. */
  .cred-text{width:100%;max-width:690px;margin:0 auto}
  .cred-list{
    width:min(100%,590px);
    margin:1.45rem auto 0;
    padding:0 .35rem;
    text-align:left;
  }
  .cred-list li{
    display:grid;
    grid-template-columns:1.25rem minmax(0,1fr);
    column-gap:.65rem;
    align-items:start;
    padding-left:0!important;
    margin-bottom:.85rem;
    text-align:left;
    line-height:1.45;
  }
  .cred-list li::before{
    position:static!important;
    grid-column:1;
    margin-top:.02rem;
    text-align:center;
  }
}

@media (max-width:560px){
  .nav-inner{padding:0 .85rem}
  .logo img{height:39px}
  .nav-toggle{width:44px;height:44px;border-radius:11px}
  .nav-links{left:-.85rem;right:-.85rem;padding:.55rem 1rem 1rem}
  .cred-list{padding:0 .65rem}
  .cred-list li{grid-template-columns:1.15rem minmax(0,1fr);column-gap:.55rem;font-size:.94rem}
}
