@font-face {
  font-family: 'Helvetica';
  src: url('/assets/fonts/Helvetica.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Helvetica';
  src: url('/assets/fonts/helvetica-light-587ebe5a59211.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Playfair';
  src: url('/assets/fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf') format('truetype');
  font-style: italic;
}
@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Outfit:wght@100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Helvetica', serif;
  font-size: 18px;
}
nav.header .header-content{
  padding: 40px;
  max-width: 1600px;
  margin:auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 20px!important;
}
nav.header .menu ul a{
  text-decoration: none;
  padding: 15px 30px;
  border-radius:50px;
  color:#0033A1;
  font-weight: bold;
  border: 1px solid #0033A1;
  text-transform: uppercase;
}
nav.header .menu ul{
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
nav.header .logo img{
  height: 100%;
}
nav.header .logo{
  height: 80px;
}
.hero::after{
  content: '';
  position: absolute;
  top: 120px;
  left: 0;
  width: 100%;
  height: calc(100% - 120px);
  background-color: #0000006c;
}
.hero {
    width: 100%;
    height: calc(100vh - 120px);
    background-image: url('../assets/sagaro_hero.webp');
    
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .hero-content {
    z-index: 9;
    max-width: 700px;
    text-align: center;
    color: white;
    padding-inline: 40px;
  }
  
  .hero-content h1 {
    font-family: 'Playfair Display', serif;
    font-style: normal;
    font-size: clamp(3.2rem, 9vw, 8rem);
    margin-bottom: 1rem;
    text-transform: uppercase;
  }
  
  .hero-content p {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 300!important;
  }
  .content{
    max-width: 1600px;
    margin:auto;
    padding: 40px;
    padding-top: 100px!important;
  }
  .map-container a{
    /* display: none; */
    color:transparent
  }
  .contacto_wrapper .info_wrapper{
    /* width: 50%; */
  }
  .contacto_wrapper{
    display: flex;
    gap: 40px;
    margin:auto;
  }
  .contacto .header li a{
    background-color: #0033A1;
    color: white!important;
  }
  .contacto .header{
    /* background-color: black; */
    color: white!important;
    border-bottom: 1px solid #0033A1;
  }
  .content h1{
    font-size: 3rem;
    font-family:'Helvetica', serif;
    text-transform: uppercase;
    margin-bottom: 40px;
  }
  .contacto_wrapper ul{
    list-style: circle;
    padding-left: 20px;
  }
  .contacto_wrapper ul li{
    font-size: 1rem;
    font-family:'Helvetica', serif;
    margin-bottom: 10px;
    font-weight: 300;
  }
  .contacto_wrapper p strong{
    font-weight: 600;
  }
  .contacto_wrapper p{
    font-size: 1rem;
    font-family:'Helvetica', serif;
    font-weight: 300;
    font-weight: 300;
    margin-bottom: 20px;
  }

/* Estilos para el loading del mapa */
.map-container {
  position: relative;
  width: 100%;
  height: 400px;
}

.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  transition: opacity 0.3s ease;
}

.loading-spinner {
  text-align: center;
}

.spinner {
  width: 50px;
  height: 50px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #0033A1;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 20px;
}

.loading-spinner p {
  color: #0033A1;
  font-weight: bold;
  font-size: 16px;
  margin: 0;
}
.menu-mobile.active{
  display: block!important;
}
.menu-mobile{
  width: 100vw;
  height: 100vh;
  background-color: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
}
.mobile-menu-icon{
  display: none;
}
.menu-mobile ul li a{
  text-decoration: none;
  color:#0033A1;
  font-weight: bold;
  text-transform: uppercase;
}
.menu-mobile ul li{
  padding-block: 20px;
}
.menu-mobile ul{
  gap: 20px;
  text-align: center;
  position: relative;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.menu-mobile .close{
  position: absolute;
  right: 40px;
  top: 40px;
  font-size: 2rem;
  cursor: pointer;
}
.menu-mobile .close span{
  color: #0033A1;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Responsive para el iframe */
.map-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}
@media (max-width: 690px) {
  nav .menu{
    display: none;
  }
  nav .mobile-menu-icon{
    display: block;
  }
  nav .mobile-menu-icon .menu-icon{
    display: block;
  }
  nav .mobile-menu-icon .menu-icon .bar{
    font-size: 2rem;
  }
  nav .mobile-menu-icon .menu-icon .bar span{
    color: #0033A1;
  }
  .contacto_wrapper{
    flex-direction: column!important;
  }
}