@font-face {
  font-family: 'Config Rounded';
  src: url('../wp-content/uploads/elementor/css/ConfigRoundedRegular.woff2') format('woff2'),
  url('../wp-content/uploads/elementor/css/ConfigRoundedRegular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
a {
  text-decoration: none; /* Elimina el subrayado */
  color: inherit; /* Hereda el color del texto del padre */
  outline: none; /* Elimina el borde del enfoque */
}

a:hover,
a:focus,
a:active {
  text-decoration: none; /* Mantiene el enlace sin subrayado en todos los estados */
  color: inherit; /* Mantiene el color heredado en todos los estados */
}
body{
  font-family: 'Config Rounded';
  font-size: 1rem;
  background-color: #ffffff;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

h2 {
  font-weight: bold;
  font-size: 3rem;
  color: #1c5f55;
}

/* Estilos del fondo de la modal */
.modal {
  display: none; /* Por defecto, la modal está oculta */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(10px);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Estilos del contenido de la modal */
.modal-content {
  background-color: white;
  padding: 20px;
  border-radius: 5px;
  width: 500px; /* Ancho de la modal */
  max-height: 70vh;
  overflow: auto;
  text-align: justify;
  position: relative;
  z-index: 10000; /* Asegura que el contenido esté por encima del fondo */
}
header {
  padding: 10px 95px;
}

#scrollToTopBtn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  display: none;
  background-color: #1c5f55;
  border-radius: 5px;
  width: 35px;
  height: 35px;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
  z-index: 99999999999999999999999999999;
}

/* Opcional: Animación de entrada/salida */
#scrollToTopBtn.show {
  display: block; /* Mostrar el botón */
  opacity: 1; /* Hacer visible */
  transform: scale(1); /* Escalar al tamaño normal */
}

#scrollToTopBtn.hide {
  opacity: 0; /* Hacer invisible */
  transform: scale(0.9); /* Reducir el tamaño */
  transition: all 0.3s; /* Animación suave */
}

.header-container {
  display: flex;             /* Activar flexbox */
  justify-content: space-between; /* Distribuir las columnas */
  align-items: center;       /* Centrar verticalmente */
  margin: 0 auto;            /* Centrar horizontalmente */
}

.header-left {
  flex: 1;                   /* Ocupa 1 fracción del espacio */
  text-align: left;          /* Alinear contenido a la izquierda */
}

.header-center {
  flex: 1;                   /* Ocupa una fracción del espacio */
  display: flex;             /* Activar flexbox para el centrado */
  justify-content: center;   /* Centrar horizontalmente el contenido */
  align-items: center;       /* Centrar verticalmente el contenido */
  text-align: center;        /* Asegurar texto centrado */
}

.header-right {
  flex: 1;                   /* Ocupa 1 fracción del espacio */
  text-align: right;         /* Alinear contenido a la derecha */
  text-transform: uppercase;
}

.logo {
  max-height: 70px;          /* Tamaño máximo del logo */
}

.menu-btn {
  position: relative;
  width: 50px;
  height: 50px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  padding:5px;
  transition: all 0.3s ease;
}

.menu-btn:hover{
  background-color: #1f6057;
  border-radius: 13px;
}

.menu-btn:hover >.line{
  background-color: #ffffff;
}

.menu-btn .line {
  width: 52%;
  height: 2px;
  background-color: #333;
  transition: all 0.3s ease;
}

.open{
  background-color: #ffffff;
}
/* Animaciones para convertir las líneas en X */
.menu-btn.open .line:nth-child(1) {
  transform: rotate(45deg) translate(9px, 7px);
}

.menu-btn.open .line:nth-child(2) {
  opacity: 0; /* Oculta la línea del medio */
}

.menu-btn.open .line:nth-child(3) {
  transform: rotate(-45deg) translate(9px, -8px);
}

.header-text {
  font-size: 1rem;
  color: #333;
}

#first-date {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: top; 
  text-align: center; 
}

/* Contenido dentro de la sección */
.first-date-content {
  width: 50%;
  margin: 0 auto;
  color: #0f1010;
  padding: 20px 60px; /* Espaciado interno */
}

/* Título */
.first-date-content h1 {
  font-weight: bold;
  font-size: 50px;
  margin-bottom: 15px;
  letter-spacing: -1px;
  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5);
}

/* Párrafo */
.first-date-content p {
  font-weight: normal;
  color: #424242;
  font-size: 1.5rem; /* Tamaño del texto */
  margin-bottom: 20px; /* Espacio inferior */
}

.gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Cuatro columnas */
  gap: 15px; /* Espaciado entre las imágenes */
  padding: 20px;
}

.gallery a {
  display: block;
  overflow: hidden;
  border-radius: 8px; /* Bordes redondeados */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra ligera */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery a img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Recorta las imágenes para que ocupen toda la celda */
  aspect-ratio: 1 / 1; /* Fuerza una proporción 1:1 para cuadrar imágenes */
  display: block;
}

/* Efectos al pasar el mouse */
.gallery a:hover {
  transform: scale(1.05); /* Zoom al pasar el mouse */
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2); /* Sombra más intensa */
}
footer{
  padding: 10px 95px;
}
.footer-container {
  display: flex;             /* Activar flexbox */
  justify-content: space-between; /* Distribuir las columnas */
  align-items: center;       /* Centrar verticalmente */
  margin: 0px auto;            /* Centrar horizontalmente */
}

.footer-left {
  flex: 1;                   /* Ocupa 1 fracción del espacio */
  text-align: left;          /* Alinear contenido a la izquierda */
}

.footer-center {
  flex: 1;                   /* Ocupa una fracción del espacio */
  display: flex;             /* Activar flexbox para el centrado */
  justify-content: center;   /* Centrar horizontalmente el contenido */
  align-items: center;       /* Centrar verticalmente el contenido */
  text-align: center;        /* Asegurar texto centrado */
}

.footer-right {
  flex: 1;                   /* Ocupa 1 fracción del espacio */
  text-align: right;         /* Alinear contenido a la derecha */
  color: #1c5f55;
}

#nav-container {
  top:0;
  left: -100%;
  width: 100vw;
  height: 100vh;
  visibility: hidden; /* Inicialmente oculto */
  position: fixed;
  opacity: 0; /* Hace que el contenedor sea invisible */
  background-color: black;
  background-image: url('../wp-content/uploads/2024/02/alineadores-cuadarado.jpg?'); /* La imagen de fondo */
  background-position: left center; /* Imagen alineada a la izquierda y centrada verticalmente */
  background-size: 45%; /* Para que la imagen cubra todo el área */
  background-repeat: no-repeat;
  z-index: 9999999999999999999999999999999999999;
  transition: left 1s ease-in-out, opacity 1s ease;
}

/* Contenedor para centrar el contenido */
.nav-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Centra el contenedor en el medio del div */
}

.nav-close
{
  position: absolute;
  top: 20px;
  left: 50%;transform: translateX(-50%);
  width: 40px;
  height: 40x;
  background-color: #ffffff;
  border-radius: 5px;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
}

/* Estilo para el nav */
nav ul {
  list-style-type: none;
  padding: 0;margin:0;
}

nav ul li {
  margin: 10px 0;
}

nav ul li a {
  color: white;
  text-decoration: none;
  font-size: 1.8rem;
}

nav ul li a:hover {
  text-decoration: underline;
  color: #c29768;
}

/* Estilo del botón */
.cta-button {
  background-color: #1b6056; /* Fondo verde */
  color: #fff; /* Letras blancas */
  border: none; /* Sin borde */
  padding: 10px; /* Espaciado interno (arriba-abajo, izquierda-derecha) */
  font-size: 1rem; /* Tamaño del texto */
  border-radius: 30px; /* Bordes redondeados */
  cursor: pointer; /* Cursor de mano al pasar sobre el botón */
  transition: all 0.3s ease; /* Transición suave para el efecto hover */
  width: 200px; /* Ancho fijo */
  margin: 20px auto; /* Centrado horizontal y margen superior */
  display: inline-block; /* Necesario para centrar el botón */
}

/* Efecto hover */
.cta-button:hover {
  background-color: #155d4a; /* Cambio de color al pasar el ratón */
  transform: translateY(-3px); /* Mueve el botón hacia arriba */
}
.icons {
  display: flex;
  gap: 15px; /* Espaciado entre los íconos */
  margin-top: 20px; /* Espaciado desde el texto principal */
}

.icon-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px; /* Tamaño del círculo */
  height: 39px;
  border-radius: 50%; /* Hace el contenedor circular */
  background-color: white;
  cursor: pointer;
  transition: background 0.3s ease;
  padding-top: 3px;
}

.icon-circle:hover {
  background-color: #c5996b;
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3);
}

/* Responsive: Adaptar a filas en pantallas pequeñas */
@media (max-width: 768px) {
  html {
    font-size: 12px;  /* Reducir el tamaño base para móviles */
  }
  header {
  padding: 10px 30px;
  }
  .header-container
  {
    display: unset;
  }
  .header-container .cta-button
  {
    font-size: 12px;
    width: 130px;
    margin: 10px auto;
    padding: 7px;
  }
  .header-container div:first-child
  {
    width: 100%;
    text-align: center;
  }
  .header-container div:nth-child(2)
  {
    width: 49%;
    display: inline-block;
    text-align: center;
  }
  .header-container div:last-child
  {
    width: 49%;
    display: inline-block;
    text-align: center;
    vertical-align: bottom;
  }

  .footer-right {
    display: none;
  }
  
  #nav-container {
    background-image: none;
  }

  .nav-content {
    text-align: center;
  }

  nav ul li a {
    color: white;
    text-decoration: none;
    font-size: 1.1rem;
  }

  #first-date {
    position: relative;
    width: 100%;
    height: auto
  }

  .first-date-content {
    color: #0f1010;
    padding: 20px 20px;
  }

  #aromaterapia, #fotografia{
    padding: 20px 20px;
  }

  #scanner, #interpretacion{
    padding: 20px 20px;
  }

  .container{
    display: block;
  }
}


@media (max-width: 1024px) {
  .gallery {
    grid-template-columns: repeat(3, 1fr); /* Tres columnas */
  }
}

@media (max-width: 768px) {
  .gallery {
    grid-template-columns: repeat(2, 1fr); /* Dos columnas */
  }
}

@media (max-width: 480px) {
  .gallery {
    grid-template-columns: 1fr; /* Una columna */
  }
}