@import url('vars.css');

/* Estilos base: Mobile First */
* {
  margin: 0;
  box-sizing: border-box;
  font-family: var(--fuente-principal);
  scroll-behavior: smooth;
}

#welcome,
#about,
#services,
#customers,
#gallery,
#contact,
#mision,
#vision,
#objectives {
  scroll-margin-top: 90px;
}

.main{
    margin-top: 90px;
    width: 90%;
    left: 5%;
}


.about__article {
  margin: 15px 0px;
}

.about__title,
.about__subtitle{
  font-size: 2rem;
  text-align: center;
  color: var(--color-primario);
  margin-bottom: 10px;
}

.about__mission,
.about__vision,
.about__objective {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s linear, padding 0.5s linear;
  padding: 0 1rem;
  display: flex;
}

.about__content--expanded {
  max-height: 1000px;
  padding: 1rem;
}

.about__subtitle {
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-right: 20px;
}

.about__subtitle::after {
  content: "▼";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  transition: transform 0.3s linear;
}

.about__subtitle.active::after {
  content: "▲";
}

.about__mission-image,
.about__vision-image,
.about__objective-image {
  display: none;
  margin-top: 10px;
  max-width: 20%;
}

.about__content--expanded img {
  display: block;
}

.about__text {
  color: var(--color-primario);
  text-align: justify;
}

/* Tablet (>= 600px) */
@media (width >=600px) {

  .main {
    width: 80%;
    margin-left: 10%;
  }
}

/* Tablet horizontal y laptops pequeños (>= 768px) */
@media (width >=768px) {

  .main{
    width: 60%;
    margin-left: 20%;
  }

  .about__article{
    margin: 5rem 0;
    padding: 3rem;
    border-radius: 2px solid var(--color-primario);
    box-shadow: 10px 10px 5px #00000088,
    0px 0px 1px var(--color-primario);
    border-radius: 1rem;
  }

  .about__subtitle::after {
    content: "";
  }

  .about__mission,
  .about__vision,
  .about__objective{
    max-height: max-content;
    width: 70%;
    margin-left: 15%;
  }

  .about__mission-image,
  .about__vision-image,
  .about__objective-image{
    display: block;
    
  }
}

/* Laptops estándar (>= 1024px) */
@media (width >=1024px) {

  .main{
    width: 50%;
    margin-left: 25%;
  }

  .about__title,
  .about__subtitle{
    font-size: 3rem;
  }
  .about__text{
    font-size: 1.2rem;
  }
}

/* Pantallas grandes (>= 1280px o 1440px) */
@media (width >=1280px) {
  /* Contenedor más ancho, tipografía más grande */
}