.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.30);
    z-index: 5;
    display: none;
  }

.texto {
    color: white;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 25px;
    margin: 0;
    text-align: center;
    flex: 1;
  }

.body {
    background-color: rgb(200,200,200);
  }

  /* Aparece cuando se activa el menú */
.overlay.active {
    display: block;
  }

.LogoUNAM-img:hover {
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }

.btn-purple {
    background-color: #6f42c1;
    color: white;
    border-color: #6f42c1;
  }

.btn-purple:hover {
    background-color: #5a3791;
  }

.btn-cyan {
    background-color: #42bdc1;
    color: white;
    border-color: #218da0;
  }

.btn-cyan:hover {
    background-color: #005f6b;
  }

.btn-orange {
    background-color: #ff7300;
    color: white;
    border-color: #d86100;
  }

.btn-orange:hover {
    background-color: #c95a00;
  }

.btn-fresa {
    background-color: #ff006a;
    color: white;
    border-color: #b1004a;
  }

.btn-fresa:hover {
    background-color: #8f003c;
  }

.btn-amar {
    background-color: #ffd900;
    color: white;
    border-color: #b19600;
  }

.btn-amar:hover {
    background-color: #665c00;
  }

.btn-bande {
    background-color: #1eff00;
    color: white;
    border-color: #0fb100;
  }

.btn-bande:hover {
    background-color: #006600;
  }

p {
    color: rgb(0, 0, 0);
  }

.navbar {
    background-color: #08245a;
    padding: 10px 20px;
    display: flex;
    align-items: center;
  }

.hamburger {
    font-size: 30px;
    color: white;
    cursor: pointer;
  }

.reestablecer{
  box-shadow: 0 6px 6px rgba(0,0,0,.5);
  border: 2px solid rgba(255,255,255,.85);
  background-color: rgb(255,255,255);
  padding: 2px 6px;
  border-radius: 8px;
}
.reestablecer:hover{
  box-shadow: 0 6px 6px rgba(0,0,0,.5);
  border: 2px solid rgba(160,160,160,.85);
  background-color: rgb(160, 160, 160);
  color: white;
  padding: 2px 6px;
  border-radius: 8px;
  cursor: pointer;
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

.cerrar{
  box-shadow: 0 6px 6px rgba(0,0,0,.5);
  border: 2px solid rgba(255,255,255,.85);
  background-color: rgb(255,255,255);
  padding: 2px 6px;
  border-radius: 2px;
}
.cerrar:hover{
  box-shadow: 0 6px 6px rgba(0,0,0,.5);
  border: 2px solid rgba(160,160,160,.85);
  background-color: rgb(160, 160, 160);
  color: white;
  padding: 2px 6px;
  border-radius: 2px;
  cursor: pointer;
  transform: scale(1.05);
  transition: transform 0.2s ease;
}

.nav-links {
    list-style: none;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0; 
    width: 220px;
    height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background-color: #08235ad2;

    transform: translateX(-100%); 
    transition: transform 0.3s ease-in-out;

    display: flex;
    flex-direction: column;
    padding-top: 60px;

    z-index: 10;
    opacity: 1;
    pointer-events: auto;
    box-shadow: 2px 0 6px rgba(0,0,0,0.4); 
  }

.nav-links.show {
    transform: translateX(0); 
    opacity: 1;
    pointer-events: auto;
  }

.nav-links li a {
    display: block;
    padding: 15px 20px;
    color: white;
    text-decoration: none;
  }
  
.cyan {
    background-color: rgba(21, 166, 177, 0.9);
  }
.cyan:hover {
    background-color: rgba(16, 121, 115, 0.9);
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }
  
.cafe {
    background-color: rgba(255, 136, 39, 0.9);
  }
.cafe:hover {
    background-color: rgba(185, 118, 24, 0.9);
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }
  
.rosa {
    background-color: rgba(255, 121, 199, 0.9);
  }
.rosa:hover {
    background-color: rgba(172, 79, 156, 0.9);
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }
  
.verde {
    background-color: rgba(56, 207, 26, 0.9);
  }
.verde:hover {
    background-color: rgba(16, 146, 16, 0.9);
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }
  
.morado {
    background-color: rgba(204, 75, 255, 0.9);
  }
.morado:hover {
    background-color: rgba(159, 50, 192, 0.9);
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }
  
.amarillo {
    background-color: rgba(209, 196, 17, 0.9);
  }
.amarillo:hover {
    background-color: rgba(163, 141, 16, 0.9);
    cursor: pointer;
    transform: scale(1.05);
    transition: transform 0.2s ease;
  }

  #zoomArea {
    font-size: 14px; /* base */
  }

  .hotspot-btn {
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: none;
    transform: translate(-50%, -50%) scale(var(--hotspot-scale));
    transform-origin: center;
    z-index: 10;
    pointer-events: auto;
    box-shadow: 0 6px 6px rgba(0,0,0,.5);
    border: 2px solid rgba(255,255,255,.85);
  }

  .tooltip-label {
    position: absolute;
    background: black;
    color: white;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    z-index: 9999;
    transition: opacity 0.3s ease;
    transform: translate(-50%, -80%) scale(var(--hotspot-scale));
    transform-origin: center;
  }  
  
    /* Responsividad para orientación vertical */
  @media (orientation: portrait) {
    .Mapi-img {
      position: absolute;
      top: 0vh;
      left: 29vw;
      width: 42vw;
      max-width: 200px;
    }

    .LogoUNAM-img {
      width: 40px;
      height: auto;
    }

    .fesc-enlace {
      display: flex;
      align-items: center;
    }

    .croquis-container {
      position: relative;
      width: 100%;
      height: 70vh;
      max-width: 1600px; 
      margin: auto;
      overflow: hidden;
    }

    .croquis-img {
      width: 100%;
      display: block;
    }

    #instrucciones {
      min-height: 6.4em;
      line-height: 1.6;
      transition: opacity 1s ease;
    }
    #btn1  { bottom: 32.7%; left: 39.9%; }
    #btn2  { bottom: 43%; left: 46%; }
    #btn3  { bottom: 43.7%; left: 36.4%; }
    #btn4  { bottom: 53.7%; left: 37.9%; }
    #btn5  { bottom: 48%;   left: 17.4%; }
    #btn6  { bottom: 39.7%; left: 52.9%; }
    #btn7  { bottom: 22.7%; left: 52.9%; }
    #btn8  { bottom: 59.7%; left: 77.9%; }
    #btn9  { bottom: 49.9%; left: 44.3%; }
    #btn10 { bottom: 36%;   left: 57.4%; }
    #btn11 { bottom: 66.7%; left: 31.9%; }
    #btn12 { bottom: 42.7%; left: 47.9%; }
    #btn13 { bottom: 29.7%; left: 21%; }
    #btn14 { bottom: 41.7%; left: 30.9%; }
    #btn15 { bottom: 34.7%; left: 71.9%; }
    #btn16 { bottom: 22.7%; left: 31.5%; }
    #btn17 { bottom: 24.7%; left: 37.7%; }
    #btn18 { bottom: 35.7%; left: 46.9%; }
    #btn19 { bottom: 50%; left: 57.5%; }
    #btn20 { bottom: 61.5%; left: 22.1%; }
    #btn21 { bottom: 53.2%; left: 23.9%; }
    #btn22 { bottom: 44.7%; left: 24.9%; }
    #btn23 { bottom: 21.7%; left: 22.9%; }
    #btn24 { bottom: 39%; left: 33%; }
    #btn25 { bottom: 43.5%; left: 45%; }
    #btn26 { bottom: 64%; left: 42.5%; }
    #btn27 { bottom: 65%; left: 19.7%; }
    #btn28 { bottom: 20%; left: 59%; }
    #btn29 { bottom: 24.5%; left: 68%; }
    #btn30 { bottom: 63%; left: 54.7%; }
    #btn31 { bottom: 28%; left: 41%; }
    #btn32 { bottom: 34%; left: 29%; }
    #btn33 { bottom: 61%; left: 63.5%; }
  }

  /* Responsividad para orientación horizontal */
@media (orientation: landscape) {
    .Mapi-img {
      position: absolute;
      top: 0vh;
      left: 42vw;
      width: 20vw;
      max-width: 200px;
    }

    .LogoUNAM-img {
      width: 40px;
      height: auto;
    }

    .fesc-enlace {
      display: flex;
      align-items: center;
    }

    .croquis-container {
      position: relative;
      width: 100%;
      height: 80vh;
      max-width: 1400px; 
      margin: auto;
      overflow: hidden;
    }

    .croquis-img {
      width: 100%;
      display: block;
    }

    #instrucciones {
      min-height: 3.2em;
      line-height: 1.6;
      transition: opacity 1s ease;
    }
    #btn1 { bottom: 38%; left: 40%; }
    #btn2 { bottom: 49%; left: 46%; }
    #btn3 { bottom: 49%; left: 36.5%; }
    #btn4 { bottom: 59%; left: 38%; }
    #btn5 { bottom: 53.3%; left: 17.5%; }
    #btn6 { bottom: 45%; left: 53%; }
    #btn7 { bottom: 28%; left: 53%; }
    #btn8 { bottom: 65%; left: 78%; }
    #btn9 { bottom: 55.2%; left: 44.4%; }
    #btn10 { bottom: 41.3%; left: 57.5%; }
    #btn11 { bottom: 72%; left: 32%; }
    #btn12 { bottom: 48%; left: 48%; }
    #btn13 { bottom: 35%; left: 21%; }
    #btn14 { bottom: 47%; left: 31%; }
    #btn15 { bottom: 40%; left: 72%; }
    #btn16 { bottom: 28%; left: 31.6%; }
    #btn17 { bottom: 30%; left: 37.8%; }
    #btn18 { bottom: 41%; left: 47%; }
    #btn19 { bottom: 54.5%; left: 58%; }
    #btn20 { bottom: 66.8%; left: 22.2%; }
    #btn21 { bottom: 58.5%; left: 24%; }
    #btn22 { bottom: 50%; left: 25%; }
    #btn23 { bottom: 27%; left: 23%; }
    #btn24 { bottom: 44%; left: 33%; }
    #btn25 { bottom: 49%; left: 45%; }
    #btn26 { bottom: 70%; left: 42.5%; }
    #btn27 { bottom: 69.5%; left: 19.5%; }
    #btn28 { bottom: 24.5%; left: 58.5%; }
    #btn29 { bottom: 29.5%; left: 68%; }
    #btn30 { bottom: 68%; left: 54.5%; }
    #btn31 { bottom: 32.7%; left: 40.7%; }
    #btn32 { bottom: 39%; left: 29%; }
    #btn33 { bottom: 66%; left: 64%; }
  }