
:root {
  --bg: #f8f9fa;
  --text: #04202a;
  --muted: #555;
  --accentC: #00bcd4;
  --accentM: #ff4081;
  --accentY: #ffc107;
  --accentB: #3f51b5;
  --card-border: #ddd;
  --max-width: 1200px;
}

/* ================ Reset & Base ================ */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}

/* ------------------- */
/* ESTILOS GENERALES */
/* ------------------- */

.navbar {
  background: #ffffff;
  border-bottom: 1px solid #e0e0e0;
  position: sticky;
  top: 0;
  z-index: 999;
}

.nav-container {
  max-width: 1200px;
  margin: auto;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav-logo img {
  width: clamp(85px, 40vw, 90px);
}

/* ------------------- */
/* MENÚ EN PC */
/* ------------------- */

.nav-menu {
  display: flex;
  align-items: center;
}

.nav-list {
  list-style: none;
  display: flex;
  gap: 25px;
  margin: 0;
  padding: 0;
}

.nav-list li {
  list-style: none;
}

.nav-list a {
  text-decoration: none;
  font-size: 16px;
  color: #333;
  padding: 6px 4px;
  transition: .3s;
}

.nav-list a:hover {
  color: #006699;
}

/* ------------------- */
/* SUBMENÚ PC */
/* ------------------- */

.submenu {
  position: relative;
}

.submenu-btn {
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  color: #333;
  padding: 6px 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.submenu-btn:hover {
  color: #006699;
}

/* 🔥 AQUÍ SE ELIMINAN LOS PUNTOS */
.submenu-items {
  position: absolute;
  top: 100%;
  left: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  min-width: 180px;
  padding: 8px 0;
  margin: 0;
  list-style: none;
  display: none;
  z-index: 1000;
}

.submenu-items li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.submenu:hover .submenu-items {
  display: block;
}

.submenu-items a {
  padding: 10px 15px;
  display: block;
  color: #333;
}

.submenu-items a:hover {
  background: #f0f8ff;
  color: #006699;
}

/* ------------------- */
/* MÓVIL */
/* ------------------- */

.nav-toggle {
  font-size: 26px;
  background: none;
  border: none;
  display: none;
  cursor: pointer;
}

.nav-close {
  display: none;
}

@media (max-width: 900px) {

  .nav-toggle {
    display: block;
  }

  .nav-menu {
    position: fixed;
    top: 0;
    right: -100%;
    height: 100vh;
    width: 80%;
    background: #ffffff;
    padding: 60px 20px;
    flex-direction: column;
    transition: .4s ease;
  }

  .nav-menu.active {
    right: 0;
  }

  .nav-close {
    display: block;
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 36px;
    background: none;
    border: none;
    cursor: pointer;
  }

  .nav-list {
    flex-direction: column;
    gap: 20px;
  }

  /* SUBMENÚ MÓVIL */
  .submenu-items {
    position: static;
    background: #f7f7f7;
    border-radius: 6px;
    padding: 5px 0;
    margin-top: 10px;
    border-left: 3px solid #006699;
    list-style: none;
  }

  .submenu.open .submenu-items {
    display: block;
  }

  .submenu-items a {
    padding: 12px 18px;
    border-bottom: 1px solid #e1e1e1;
  }

  .submenu-items a:last-child {
    border-bottom: none;
  }

  .submenu-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .submenu-btn .arrow {
    transition: transform .3s ease;
  }

  .submenu.open .arrow {
    transform: rotate(180deg);
  }
}


