/* ==============================
   PÁGINA DE INICIO
   ============================== */

/* Hero Section con imagen de fondo completo y contenido a la derecha */
.home-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}

/* Imagen de fondo que ocupa toda la pantalla */
.hero-image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Capa de transparencia con gradiente actualizado - área de transparencia reducida */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0) 25%,
    rgba(255, 255, 255, 0.1) 30%,
    rgba(255, 255, 255, 0.8) 40%,
    #ffffff 45%,
    #ffffff 100%
  );
}

/* Contenedor del contenido posicionado en la mitad de 37%-100% */
.hero-content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.content-container {
  width: 65%;
  max-width: 900px;
  padding: 3rem 2rem;
  margin-left: 15%; /* Aumentado de 8% a 15% para mover más a la derecha */
  margin-right: -30%; /* Ajustado para compensar */
  text-align: center;
}

.hero-content h1 {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap; /* Evitar que el nombre se divida en líneas */
}

.hero-content h1 .first-name {
  color: #050f1f; /* Color para "Giovanni" */
}

.hero-content h1 .middle-name {
  color: #10375c; /* Color para "Andrés" */
}

.hero-content h1 .last-name {
  color: #10375c; /* Color para "Rodríguez" - Mismo que Andrés */
}

.hero-content h1 .surname {
  color: #050f1f; /* Color para "Acevedo" - Mismo que Giovanni */
}

/* Contenedor para "ABOGADO" - Tamaño original pero más ancho */
.profession-container {
  display: inline-block;
  margin: 0.5rem auto 1.5rem;
  padding: 0.4rem 2rem; /* Más padding horizontal */
  border: 1px solid #b00000;
  background-color: transparent;
  border-radius: 50px;
  width: 16rem; /* Más ancho que el original (era 12rem) */
  text-align: center;
}

.profession-text {
  font-size: 1rem; /* Tamaño original */
  font-weight: 600;
  letter-spacing: 1px;
  color: #071326;
}

.hero-content p {
  color: #071326;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  text-align: justify; /* Justificado */
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}

/* Botones de acción */
.hero-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center; /* Centrar los botones */
}

.hero-button {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-radius: 30px;
  transition: all 0.3s ease;
}

.hero-button.primary {
  background-color: #10375c;
  color: white;
  border: 2px solid #10375c;
}

.hero-button.primary:hover {
  background-color: #0c2d48;
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(16, 55, 92, 0.3);
}

.hero-button.secondary {
  background-color: transparent;
  color: #10375c;
  border: 2px solid #10375c;
}

.hero-button.secondary:hover {
  background-color: rgba(16, 55, 92, 0.1);
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(16, 55, 92, 0.1);
}

/* Contenido principal de la página de inicio */
.home-content {
  padding: 4rem 0;
}

/* Modo oscuro */
body.dark-mode .hero-overlay {
  background: linear-gradient(
    to right,
    rgba(7, 19, 38, 0) 0%,
    rgba(7, 19, 38, 0) 25%,
    rgba(7, 19, 38, 0.1) 30%,
    rgba(7, 19, 38, 0.8) 40%,
    #071326 45%,
    #071326 100%
  );
}

body.dark-mode .hero-content h1 .first-name {
  color: #ffffff; /* Color para "Giovanni" en modo oscuro */
}

body.dark-mode .hero-content h1 .middle-name {
  color: rgba(255, 255, 255, 0.64); /* Color para "Andrés" en modo oscuro */
}

body.dark-mode .hero-content h1 .last-name {
  color: rgba(255, 255, 255, 0.64); /* Color para "Rodríguez" en modo oscuro - Mismo que Andrés */
}

body.dark-mode .hero-content h1 .surname {
  color: #ffffff; /* Color para "Acevedo" en modo oscuro - Mismo que Giovanni */
}

body.dark-mode .profession-text {
  color: #ffffff; /* Color para "ABOGADO" en modo oscuro */
}

body.dark-mode .hero-content p {
  color: #ffffff;
}

body.dark-mode .hero-button.primary {
  background-color: #10375c;
  color: white;
  border: 2px solid #10375c;
}

body.dark-mode .hero-button.primary:hover {
  background-color: #1a4b7c;
}

body.dark-mode .hero-button.secondary {
  color: white;
  border: 2px solid white;
}

body.dark-mode .hero-button.secondary:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

/* Responsive */
@media (max-width: 1200px) {
  .content-container {
    width: 70%;
    margin-left: 10%; /* Ajustado para pantallas medianas */
    margin-right: -20%;
  }

  .hero-content h1 {
    font-size: 2.5rem;
  }

  .profession-container {
    width: 14rem;
  }
}

@media (max-width: 1024px) {
  .content-container {
    width: 75%;
    margin-left: 5%; /* Ajustado para tablets */
    margin-right: -15%;
  }

  .hero-content h1 {
    font-size: 2.25rem;
  }

  .profession-container {
    width: 13rem;
  }
}

@media (max-width: 768px) {
  /* En móviles, ajustar para evitar superposición con header/footer */
  .home-hero {
    height: calc(100vh - 120px); /* Restar altura del header */
    min-height: 500px;
    margin-top: 80px; /* Espacio para el header */
  }

  .hero-overlay {
    background: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0) 37%,
      rgba(255, 255, 255, 0.5) 50%,
      #ffffff 100%
    );
  }

  .content-container {
    width: 90%;
    margin-left: 0;
    margin-right: 0;
    padding: 2rem 1rem;
    position: relative;
    text-align: center;
  }

  .hero-content {
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
  }

  .hero-content h1 {
    white-space: normal; /* Permitir división en móviles si es necesario */
    font-size: 2rem;
  }

  .hero-buttons {
    justify-content: center;
    flex-wrap: wrap;
  }

  .profession-container {
    width: 12rem;
    min-width: 10rem;
    padding: 0.3rem 1.5rem;
  }

  .hero-content p {
    text-align: center; /* Centrado en móviles en lugar de justificado */
  }

  /* Modo oscuro en móviles */
  body.dark-mode .hero-overlay {
    background: linear-gradient(
      to bottom,
      rgba(7, 19, 38, 0) 0%,
      rgba(7, 19, 38, 0) 25%,
      rgba(7, 19, 38, 0.1) 30%,
      rgba(7, 19, 38, 0.8) 40%,
      #071326 45%,
      #071326 100%
    );
  }
}

@media (max-width: 480px) {
  .home-hero {
    height: calc(100vh - 100px);
    margin-top: 70px;
  }

  .hero-content h1 {
    font-size: 1.75rem;
  }

  .hero-buttons {
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
  }

  .hero-button {
    width: 100%;
    max-width: 250px;
    padding: 0.875rem 1.5rem;
  }

  .profession-container {
    padding: 0.3rem 1rem;
    min-width: 9rem;
    width: 11rem;
  }
}

/* Ajustes adicionales para pantallas muy pequeñas */
@media (max-width: 360px) {
  .hero-content h1 {
    font-size: 1.5rem;
  }

  .home-hero {
    margin-top: 60px;
  }

  .profession-container {
    width: 10rem;
  }
}
