@font-face {
    font-family: 'Atami';
    src: url('../fonts/atami-regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Atami';
    src: url('../fonts/atami-bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Atami Stencil';
    src: url('../fonts/atami-stencil.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Atami Stencil';
    src: url('../fonts/atami-stencil-bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Serif';
    src: url('../fonts/RobotoSerif-VariableFont_GRAD,opsz,wdth,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Serif';
    src: url('../fonts/RobotoSerif-Italic-VariableFont_GRAD,opsz,wdth,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
}

:root {
  /* Colores principales de marca */
  --color-principal: #01544F;         /* Verde petróleo oscuro */
  --color-secundario: #03A696;        /* Verde claro */

  /* Neutros */
  --color-neutro-1: #F5F5F5;          /* Fondo general */
  --color-neutro-2: #E0E0E0;          /* Bordes, divisores */

  /* Texto */
  --texto-fuerte: #222222;            /* Texto principal */
  --texto-suave: #555555;             /* Texto secundario */

  /* Acento */
  --acento-calido: #E6B400;           /* Amarillo dorado */

  /* Nuevos colores agregados */

  --color-secundario-oscuro: #02635A; /* Verde petróleo oscuro más intenso */
  --color-acento-frio: #007BFF;       /* Azul brillante para enlaces o botones */
  --color-alerta-error: #D93025;      /* Rojo para alertas o errores */
  --color-alerta-exito: #28A745;      /* Verde para mensajes de éxito */
  --color-fondo-oscuro: #121212;       /* Fondo oscuro para secciones */
  --color-gris-medio: #888888;         /* Gris intermedio para textos o iconos */

}


/* boton wp */

.boton-wp {
    display: flex;
    justify-content:center;
    position: fixed;
    bottom: 70px;
    right: 20px;
    background-color: #25D366;
    color: white;
    border-radius: 50%;
    padding: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    z-index: 1000;
    transition: transform 0.3s ease;
    width:40px;
    height:40px;
}

.boton-wp:hover {
    transform: scale(1.1);
}



/* Para las animaciones */
.invisible {
    opacity: 0;
}


html, body{
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    margin-left: auto;
    margin-right: auto;
}

/* Bloque 1*/

/* Titulos */
.bloque1{
    display:flex;
    flex-direction: column;
    min-height: 90vh;
    background-color: #F5F5F5;
    margin: 0;
    padding: 50px 20px;
    gap: 20px;
}

.bloque1 .title{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap:10px;
    font-size: clamp(2.5rem, 10vw, 5rem);
}

.bloque1 .title .somos{
    font-family: 'Atami Stencil' sans-serif;
}

.bloque1 .title .formas{
    font-family: "Roboto serif", "serif";
    font-weight: 700;
    color:#03A696;
}

/* Bloque 1 - Seccion fotos*/

.bloque1 .fotos{
    display: flex;
    flex-direction: row;
    justify-content:center;
    align-items:center;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 50px;
    padding:10px;
}

.bloque1 .fotos .persona{
    display:flex;
    flex-direction: column;
    align-items: center;
    width: 200px;
    height: 200px;
    min-width: 150px;
    min-height: 150px;
}

.bloque1 .fotos .persona .img {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 2px solid #03A696;
  overflow: hidden; /* Esto es CLAVE para recortar la imagen redonda */
  display: flex;
  justify-content: center;
  align-items: center;
}

.bloque1 .fotos .persona .img img {
  width: 150%;
  height: 150%;
  object-fit: cover;
  border-radius: 50%;
  display:block;
}


.bloque1 .fotos .persona .nombre{
    font-family: "Roboto serif";
    font-weight: 700;
    margin-top: 10px;
    text-align: center;
    font-size: 1.2rem;
    color:#222222;
}

.bloque1 .fotos .persona .rol{
    font-family: "Roboto serif";
    font-weight: 400;
    text-align: center;
    font-size: 1rem;
    color:#555555;
}


.bloque1 .agencia{
    font-family: 'Atami Stencil', sans-serif;
    text-align: center;
    font-size: 2rem;
}

/* Bloque 2*/

.bloque2 {
  background-image: url("../img/bloque 2/Fondo.jpg");
  background-size: inherit;
  background-position: center center;  /* MUY IMPORTANTE */
  background-repeat: no-repeat;

  display: flex;
  flex-direction: column;
  align-items: center;

  padding: 50px 20px;
  gap: 0px;

}

.bloque2 h1 {
    color: #FFFFFF;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 50px;
}


/* ANIMACIÓN DE BARRIDO para <details> */
.animated-details {
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 5px;
  background-color: #01544F;
  cursor: pointer;
  width: clamp(300px, 90%, 600px);
  transition: background-color 0.3s ease;
  opacity: 0.9;
}

.animated-details summary {
  font-weight: bold;
  font-size: 1.2rem;
  font-family: "Roboto serif";
  color: #ffffff;
  background-color: #01544F;
  margin: 0px 10px;
  list-style: none;
  outline: none;
  cursor: pointer;
}

/* Quitar íconos por defecto */
.animated-details summary::-webkit-details-marker {
  display: none;
}
.animated-details summary::marker {
  content: "";
}

.animated-details summary:hover {
  color: #03A696;
}

/* Contenido animado */
.animated-details .details-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}



.animated-details .details-content p {
  font-family: 'Atami Stencil', sans-serif;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  padding-top: 5px;
  line-height: 1.6;
}

.animated-details summary:hover + .details-content {
  max-height: 200px; /* Ajusta según el contenido */
  animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* bloique 3 */
.bloque3 {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 50px 20px;
    background-color: #F5F5F5;
}

.trabajo{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 80%;
    gap: 15px;
}

.bloque3 .titulo {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap:10px;
    font-size: clamp(1.5rem, 3vw, 5rem);
}

.titulo .nuestros{
    font-family: 'Atami Stencil', sans-serif;
}

.titulo .trabajos{
    font-family: "Roboto serif";
    font-weight: 700;
    color:#03A696;
}

.trabajo .img-trabajo {
    width: 300px;
    height: 400px;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

/* Bloque 4*/

.bloque4 {
    background-color: var(--color-principal);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 20px;  /* Más espacio arriba/abajo */
}

.bloque4 .titulo {
    font-size: clamp(2.5rem, 6vw, 3.5rem); /* Más grande para destacar */
    color: var(--color-secundario);
    font-family: "Roboto serif" sans-serif;
    font-weight: 700;
    margin-bottom: 50px;
    text-align: center;
    position: relative;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.3);
}

.bloque4 .cualidades {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
    width: 100%;
    max-width: 1200px;
}

.cualidades .cualidad {
    background-color: rgba(255, 255, 255, 0.07); /* ligero fondo blanco traslúcido */
    border: 2px solid var(--color-secundario);
    border-radius: 20px;
    padding: 30px 40px 40px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
    max-width: 380px;  /* más consistente */
    width: 100%;
    color: var(--color-neutro-1); /* texto claro para contraste */
    cursor: default;
}

.cualidades .cualidad:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
    border-color: var(--color-acento-frio);
}

.cualidades .cualidad h3 {
    font-family: "Roboto serif";
    font-weight: 700;
    font-style: italic;
    color: var(--color-neutro-1);
    font-size: 22px;
    margin-bottom: 20px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.cualidades .cualidad .descripcion {
    font-family: 'Atami Stencil', sans-serif;
    font-size: 1rem;
    text-align: justify;
    color: var(--color-neutro-1);
    line-height: 1.6;
    white-space: pre-line; /* conserva saltos de línea para mejor lectura */
}

.descripcion .subrayado{
    text-decoration: underline;
}

/* Responsive: en móviles las cualidades ocupan más ancho */
@media (max-width: 768px) {
    .cualidades {
        gap: 30px;
    }
    .cualidades .cualidad {
        max-width: 90%;
        width: 90%;
        padding: 25px 20px 30px;
    }
}


footer {
    width: 100vw;
    background-color: var(--color-principal);
    padding: 30px 10px;
    opacity: 0.9;
}

footer h2 {
    text-align: center;
    color: var(--color-neutro-1);
    font-size: 24px;
    margin-bottom: 20px;
    font-family:"Roboto serif";
}

footer .contactos {
    display: flex;
    flex-direction: column;
    align-items: center;
}

footer .contenedor-imagenes {
    display: flex;
    flex-direction: row;
    gap: 15px;
    align-items: center;
}

footer .contenedor-imagenes img {
    max-width: 100%;
    height: auto;
    width: 280px; /* o lo que mejor se vea con tu imagen */
    transition: transform 0.3s ease;
}

.contenedor-imagenes img:nth-child(1){
    height:42px;
    width:200px;
}


footer .contenedor-imagenes img:hover {
    transform: scale(1.02);
}

/* Responsive */
/* Responsive personas más chicas en pantallas chicas */
@media(max-width:1000px){
    .bloque1 .fotos{
        padding:0;
        flex-wrap:wrap;
    }
}

@media (max-width: 886px){
    
    footer .contenedor-imagenes{
        flex-direction:column;
    }
    .contenedor-imagenes img:nth-child(1){
        height:42px;
        width:200px;
        margin-right:85px;
    }

}

@media (max-width: 768px) {
    .bloque1 .fotos{
        gap:40px;
    }
    .bloque1 .fotos .persona {
        width: 150px;
        height: 150px;
    }

    .bloque1 .fotos .persona .img {
        width: 100px;
    }

    .bloque1 .fotos .persona .nombre {
        font-size: 1rem;
    }

    .bloque1 .fotos .persona .rol {
        font-size: 0.9rem;
    }
    
}

@media (max-width: 480px) {
    .bloque1 .fotos .persona {
        width: 120px;
        height: 120px;
    }

    .bloque1 .fotos .persona img {
        width: 70px;
        height: 70px;
    }

    .bloque1 .fotos .persona .nombre {
        font-size: 0.9rem;
    }

    .bloque1 .fotos .persona .rol {
        font-size: 0.8rem;
    }
    .bloque1 .agencia{
        margin-bottom: 10px;
    }
}
