/* ===== HEADER ===== */
.header {
  display: flex;
  align-items: center;     /* Centra verticalmente todo dentro del header */
  justify-content: space-between; /* Separa logo/nav y botón menú */
  padding: 10px 30px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1000;
}

/* ===== LOGO ===== */
.logo {
  display: flex;
  align-items: center;
}

.logo img {
  height: 75px;
  width: 75px;
}

/* ===== NAV WEB ===== */
.navweb {
  display: flex;
  align-items: start;
  justify-content: start;
  flex: 1;
  margin-left: 50px;
}

.linksnav {
  display: flex;
  align-items: start;
  gap: 30px;
}

.navweb a {
  text-decoration: none;
  color: black;
  font-size: 16px;
  font-weight: 500;
  transition: 0.3s;
}

.navweb a:hover {
  color: red;
  border-bottom: 1px solid red;
}

/* ===== BOTÓN MENÚ ===== */
.botonmenu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.btn-menu {
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-menu label {
  color: black;
  font-size: 40px;
  cursor: pointer;
}

/* ===== MENÚ DESPLEGABLE ===== */
.directorio-menu {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
  z-index: 9999;
}

#btn-menu:checked ~ .directorio-menu {
  opacity: 1;
  visibility: visible;
}

#btn-menu {
  display: none;
}

.dire-menu {
  width: 100%;
  max-width: 320px;
  background: white;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  transition: transform 0.4s ease;
  transform: translateX(100%);
  padding-top: 80px;
}

#btn-menu:checked ~ .directorio-menu .dire-menu {
  transform: translateX(0);
}

.dire-menu nav {
  display: flex;
  flex-direction: column;
  align-items: start;
}

.dire-menu a {
  display: block;
  width: 100%; /* ✅ Ocupa todo el ancho del panel */
  text-decoration: none;
  padding: 20px 25px; /* Espaciado interno uniforme */
  color: black;
  border-left: 5px solid transparent;
  transition: all 0.3s ease;
  font-weight: 500;
  box-sizing: border-box; /* Evita desbordes */
}

.dire-menu nav a:hover {
  background-color: rgb(185, 0, 0);
  border-left: 5px solid red;
  color: white;
}


.dire-menu label {
  position: absolute;
  right: 16px;
  top: 16px;
  font-size: 22px;
  cursor: pointer;
  color: black;
}
@media (max-width: 767px) {
  .navweb {
    display: none;
  }
}