/* =========================================
  ESTILOS SECCIÓN "ABOUT US" (NUEVO FLIP CSS)
=========================================
*/

/* Estilos base de la sección */
.about-us-section {
  padding: 80px 20px; 
  text-align: center;
  font-family: Arial, 'Roboto Mono', sans-serif;
  color: #ffffff; /* El texto principal de la sección debe ser blanco ahora */

  /* --- FONDO CON IMAGEN LOCAL --- */
  background-image: 
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), /* Capa de negro semitransparente */
    url('../img/pexels-thelazyartist-1642125.jpg'); /* <-- CAMBIO AQUÍ */
  
  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* Opcional: Para un efecto parallax */
}

/* Ajusta el color del título de la sección */
.about-us-section h2 {
  font-size: 2.5rem;
  margin-bottom: 40px;
  color: #ffffff; /* Título blanco */
}

/* Contenedor para centrar las tarjetas */
.cards-container {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center;
  gap: 30px; 
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Código CSS traducido y adaptado --- */

.flip {
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
    /* Adaptamos el tamaño a nuestro diseño anterior */
    width: 300px;
    height: 400px; /* Más altura para el contenido */
    perspective: 1000px; /* Efecto 3D */
}

.flip > .front,
.flip > .back {
    display: block;
    /* Animación del código que encontraste */
    transition-timing-function: cubic-bezier(.175, .885, .32, 1.275);
    transition-duration: .5s;
    transition-property: transform, opacity;
    
    /* Nuestros estilos adaptados */
    width: 100%;
    height: 100%;
    padding: 1em 2em;
    border-radius: 10px; /* Bordes redondos */
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    
    /* Para centrar el contenido */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    /* Oculta la cara trasera (importante) */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* CARA FRONTAL */
.flip > .front {
    transform: rotateY(0deg);
    color: white;
    
    /* --- AÑADIDOS PARA LAS IMÁGENES DE FONDO --- */
    background-size: cover; /* Ajusta la imagen para cubrir el contenedor */
    background-position: center; /* Centra la imagen */
    position: relative; /* Necesario para la capa oscura */
    z-index: 1; /* Asegura que el texto esté por encima de la capa */
}

/* Capa oscura semitransparente sobre la imagen para legibilidad del texto */
.flip > .front::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); /* Negro con 40% de opacidad */
    border-radius: 10px; /* Bordes redondeados */
    z-index: -1; /* Detrás del contenido de la tarjeta */
}

/* CARA TRASERA */
.flip > .back {
    position: absolute;
    opacity: 0;
    top: 0px;
    left: 0px;
    transform: rotateY(-180deg);
    
    /* Nuestros colores */
    background: #ffffff;
    color: #333;
    
    /* --- CORRECCIÓN IMPORTANTE --- */
    overflow-y: auto; /* Permite scroll si el texto es muy largo */
    
    /* (Estilos que ya estaban en .flip > .front, .flip > .back) */
    display: block;
    transition-timing-function: cubic-bezier(.175, .885, .32, 1.275);
    transition-duration: .5s;
    transition-property: transform, opacity;
    width: 100%;
    height: 100%;
    padding: 1em 2em;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Contenido de la cara trasera */
.flip > .back h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
    color: #277538; /* Título en verde */
}

.flip > .back p, .flip > .back ul {
    font-size: 1rem;
    line-height: 1.5;
    color: #333;
    text-align: left; /* Alinea el texto */
    width: 100%;
}
.flip > .back ul { list-style: none; padding: 0; }


/* --- Animación de giro horizontal --- */
.flip:hover > .front {
    transform: rotateY(180deg);
}
.flip:hover > .back {
    opacity: 1;
    transform: rotateY(0deg);
}

/* --- Animación de Giro Vertical --- */
.flip.flip-vertical > .back {
    transform: rotateX(-180deg);
}
.flip.flip-vertical:hover > .front {
    transform: rotateX(180deg);
}
.flip.flip-vertical:hover > .back {
    transform: rotateX(0deg);
}

/* Clase de sombra de texto (del código nuevo) */
.text-shadow {
    color: white; 
    font-size: 2rem;
    font-weight: bold;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.04), 2px 2px rgba(0, 0, 0, 0.04), 3px 3px rgba(0, 0, 0, 0.04), 4px 4px rgba(0, 0, 0, 0.04), 0.125rem 0.125rem rgba(0, 0, 0, 0.04), 6px 6px rgba(0, 0, 0, 0.04), 7px 7px rgba(0, 0, 0, 0.04), 8px 8px rgba(0, 0, 0, 0.04), 9px 9px rgba(0, 0, 0, 0.04), 0.3125rem 0.3125rem rgba(0, 0, 0, 0.04), 11px 11px rgba(0, 0, 0, 0.04), 12px 12px rgba(0, 0, 0, 0.04), 13px 13px rgba(0, 0, 0, 0.04), 14px 14px rgba(0, 0, 0, 0.04), 0.625rem 0.625rem rgba(0, 0, 0, 0.04), 16px 16px rgba(0, 0, 0, 0.04), 17px 17px rgba(0, 0, 0, 0.04), 18px 18px rgba(0, 0, 0, 0.04), 19px 19px rgba(0, 0, 0, 0.04), 1.25rem 1.25rem rgba(0, 0, 0, 0.04);
}