/* =========================================================
   Navegación con submenú "Servicios"
   ========================================================= */

/* --- Botón de Servicios --- */
.nav-sub-toggle{
  display:inline-flex;align-items:center;gap:6px;
  font-family:inherit;font-size:.9rem;font-weight:600;
  color:var(--navy-2);background:none;border:0;
  padding:10px 12px;border-radius:9px;cursor:pointer;
  white-space:nowrap;line-height:1.2;
}
.nav-sub-toggle:hover,
.nav-sub-toggle:focus-visible{background:var(--teal-soft);color:var(--teal-2)}
.nav-item.active-section .nav-sub-toggle{color:var(--teal-2);background:var(--teal-soft)}
.nav-sub-toggle .chev{width:13px;height:13px;flex:none;transition:transform .2s ease;opacity:.7}
.nav-item.open .nav-sub-toggle .chev{transform:rotate(180deg)}

.nav-item{position:relative;display:flex;align-items:center}

/* --- Submenú: escritorio (hover + foco + clic) --- */
.submenu{
  list-style:none;padding:8px;margin:0;
  position:absolute;top:calc(100% + 6px);left:0;
  min-width:262px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 18px 44px rgba(10,33,50,.16);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
  z-index:120;
}
.submenu::before{
  content:"";position:absolute;top:-10px;left:0;right:0;height:10px;
}
@media (min-width:1081px){
  .nav-item:hover .submenu,
  .nav-item:focus-within .submenu,
  .nav-item.open .submenu{opacity:1;visibility:visible;transform:translateY(0)}
}
.submenu li{margin:0}
.submenu a{
  display:block;padding:11px 13px;border-radius:9px;
  font-size:.92rem;font-weight:600;color:var(--navy-2);white-space:normal;
}
.submenu a:hover,.submenu a:focus-visible{background:var(--teal-soft);color:var(--teal-2)}
.submenu a[aria-current="page"]{
  background:var(--teal-soft);color:var(--teal-2);
  box-shadow:inset 3px 0 0 var(--teal);
}

/* --- Submenú: móvil / tablet --- */
@media (max-width:1080px){
  .nav-item{display:block;width:100%;position:static}
  .nav-sub-toggle{
    width:100%;justify-content:space-between;
    padding:13px 12px;font-size:.98rem;border-radius:10px;
  }
  .submenu{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:0;border-left:2px solid #d8e7e8;
    border-radius:0;margin:2px 0 6px 14px;padding:0 0 0 8px;
    min-width:0;display:none;
  }
  .nav-item.open .submenu{display:block}
  .submenu a{padding:11px 12px;font-size:.94rem}
}

/* --- Foco visible en toda la navegación --- */
.main-nav a:focus-visible,
.nav-sub-toggle:focus-visible,
.burger:focus-visible,
.header-phone:focus-visible{
  outline:3px solid var(--amber);
  outline-offset:2px;
}
