@layer base {
  :root {
      --terra-primary: #234451;
      --terra-accent: #FF9443;
      --terra-light: #FAF3EB;
      --terra-dark: #303030;
      --font-titulo: "Michroma", sans-serif;
      --font-body: "Manrope", sans-serif;
  }
  }
  body{
    font-family: var(--font-body);
  }
  /* Uso de variables para los colores de tu marca */
  .bg-terra-primary { background-color: var(--terra-primary); }
  .text-terra-primary { color: var(--terra-primary); }
  .bg-terra-accent { background-color: var(--terra-accent); }
  .text-terra-accent { color: var(--terra-accent); }
  .bg-terra-light { background-color: var(--terra-light); }
  .bg-terra-dark { background-color: var(--terra-dark); }
  .text-terra-dark { color: var(--terra-dark); }

  /* Aplicación de las tipografías */
  .font-michroma { font-family: 'Michroma', sans-serif; }
  .font-manrope { font-family: 'Manrope', sans-serif; }
  
  .container-nosotros{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  button{
    background-color: var(--terra-accent);
  }

  h1{
    color: white;
    font-family: var(--font-titulo);
  }
  .contenedor-titulo{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative; /* Importante para que el contenido esté por encima del pseudo-elemento */
    z-index: 2; /* Mayor que el z-index del pseudo-elemento */
    text-align: center;  
    margin-top: 24px;
   
    margin-top: 28px;
  
  }
  .contenedor-titulo h1{
    
    
      color: white;/* Asegura que el texto sea blanco */
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); /* Sombra para que destaque más */
      text-transform: uppercase;
      font-weight: 800;
      font-size: 18px;
      letter-spacing: 4px;
  }
  .contenedor-titulo a{
    letter-spacing: 2px;
  }
  
 @media(min-width:768px){
  .contenedor-titulo h1{
    font-size: 2rem;
  }
 }

  .contenedor-portada{
    overflow: hidden;
    max-height: 700px;
  }
  .logo{
    width: 300px;
    height: auto;
  }
  .nav-bar a{
    font-size: 20px;
    font-weight: 400;
  }
  .nav-bar a:hover{
    
    color: var(--terra-accent);
  }
  .contenedor-imagen{
    background-image: url(../images/terravision.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative; /* Importante para posicionar el pseudo-elemento */
    width: 100%;
    height: 100vh; /* O la altura que desees para tu sección */
    display: flex; /* Para centrar el contenido, si lo deseas */
    justify-content: center;
    align-items: flex-start;
    color: white; /* Color de texto por defecto para el contenido */
  }
  .contenedor-imagen::before {
    content: ''; /* Obligatorio para pseudo-elementos */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-color: rgba(55, 54, 54, 0.4); Color negro con 50% de opacidad */
    background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 70%, rgba(0,0,0,0.0) 100%);
    z-index: 1; /* Asegura que la capa esté sobre la imagen de fondo pero debajo del contenido */
}


  
   .carousel-container {
       position: relative;
   }
   .carousel-track {
       -webkit-overflow-scrolling: touch;
       scroll-snap-type: x mandatory;
       scroll-behavior: smooth;
   }
   .carousel-item {
       flex-shrink: 0;
       width: 33.3333%; /* 3 cards at a time */
       scroll-snap-align: center;
       margin: 20px 10px;
  }

   .card {
       display: flex;
       flex-direction: column;
       height: 450px; /* Fixed height for consistency */
       margin-right: 2rem;
   }
   .card-content {
       padding: 1.5rem;
       flex: 1;
       display: flex;
       flex-direction: column;
       justify-content: space-between;
   }
   .carousel-nav-btn {
       position: absolute;
       top: 50%;
       transform: translateY(-50%);
       z-index: 10;
       background-color: rgba(0, 0, 0, 0.5);
       color: white;
       padding: 1rem;
       border-radius: 9999px;
       cursor: pointer;
   }
   .carousel-nav-btn.left {
       left: -1rem;
   }
   .carousel-nav-btn.right {
       right: -1rem;
   }
   input, textarea{
    border: 1px solid grey;
   }
  @media(max-width:768px){
    .contenedor-footer{
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
     }
  }
  @media(min-width:768px){
    .nav-item{
      font-size: 18px;
      margin-right: 16px;
    }
  }
  