/* Theme Name: Ecosystem
* Author: Brianna Ciasnog // brianna@quattrolinee.it
* Version: 10/2025
*/

/* ============================================
  ECOSYSTEM PAGE - MOBILE FIRST
  ============================================ */

/* WRAPPER PRINCIPALE */
.wrapper-eco {
 padding-top: 0;
}

/* ============================================
  SEZIONE: HERO IMAGES
  ============================================ */
.eco-hero .four-images {
 margin: 0;
}

.eco-hero__item {
 height: 50vh; /* Mobile: mezza schermata */
 min-height: 300px;
 overflow: hidden;
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
}

.eco-hero__item img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center; /* Centra l'immagine */
 display: block;
 margin: 0 auto;
}

.eco-hero__logo {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 z-index: 2;
 max-width: 50%;
 width: 50%;
 pointer-events: none;
}

.eco-hero__logo img {
 width: 100%;
 height: auto;
 object-fit: contain;
}

.eco-hero__item:last-child .eco-hero__logo {
 max-width: 80%;
 width: 80%;
 max-height: 70%; /* Limita l'altezza */
}

.eco-hero__item:last-child .eco-hero__logo img {
 max-height: 70vh; /* Limita l'altezza dell'immagine */
 width: auto;
}


/* ============================================
  SEZIONE: INTRO ECOSYSTEM
  ============================================ */
.eco-intro {
 background-color: black;
 color: white;
 padding: 5rem 1rem 5rem 1rem;
}

.eco-intro__container {
 margin: 0 2rem;
}

.eco-intro__title {
 font-size: 1.8rem;
 margin-bottom: 1rem;
 font-weight: 500;
 line-height: 1.2;
}

.eco-intro__text {
 line-height: 25px;
 font-size: 18px;
 line-height: 1.6;
 margin-bottom: 0;
}

/* ============================================
  SEZIONE: VISION
  ============================================ */
.eco-vision {
   background-color: black;
   color: white;
 padding: 3rem 1rem;
}

.eco-vision__container {
 margin: 0 2rem;
}

.eco-vision__image-wrapper {
 width: 100%;
 margin-bottom: 2rem;
}

.eco-vision__image {
 width: 100%;
 height: auto;
 object-fit: cover;
 display: none;
}

.eco-vision__content {
 width: 100%;
}

.eco-vision__title {
 font-size: 1.5rem;
 margin-bottom: 1rem;
 font-weight: 500;
 line-height: 1.2;
}

.eco-vision__text {
 font-size: 25px;
 font-weight: 100;
 line-height:40px;;
 margin-bottom: 0;
}


/* ============================================
  SEZIONE: VALORI
  ============================================ */
.eco-valori {
 background-color: black;
 color: white;
 padding: 3rem 1rem;
}

.eco-valori__container {
 margin: 0 2rem;
}

.eco-valori__title {
 font-size: 1.5rem;
 margin-bottom: 4rem;
 font-weight: 500;
 line-height: 1.2;
}

.eco-valori__card {
 text-align: center;
 border-bottom: 2px solid #fff;
 margin-bottom: 100px;
 padding-bottom: 80px;
}

/* Rimuove il border dall'ultima card su mobile */
.row .col-12:last-child .eco-valori__card {
 border-bottom: none;
}

.eco-valori__icon {
 width: 100%;
 height: 90px;
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0 auto;
}

.eco-valori__icon img {
 max-width: 200px;
 height: auto;
 object-fit: contain;
}

.eco-valori__card-title {
 bottom: 0;
 font-size: 1.5rem;
}

.eco-valori__card-text {
 font-size: 1rem;
 line-height: 1.6;
 margin-bottom: 0;
}

/* ============================================
  SEZIONE: I NOSTRI BRAND
  ============================================ */
.eco-brand {
 background-color: white;
 padding: 3rem 1rem;
}

.eco-brand__container {
 margin: 0 2rem;
}

.eco-brand__title {
 font-size: 1.5rem;
 font-weight: 500;

 color: #000;
}

.eco-brand__card {
 text-align: center;
 padding: 2rem 1rem;
 height: 100%;
 min-height: 250px;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 cursor: pointer;
}

.eco-brand__icon {
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 width: 150px;
 height: 150px;
 margin: 0 auto;
}

.eco-brand__image,
.eco-brand__image-hover {
 max-width: 150px;
 max-height: 150px;
 width: 100%;
 height: 100%;
 object-fit: contain;
 position: absolute;
 top: 0;
 left: 0;
 transition: opacity 0.3s ease;
}

.eco-brand__image-hover {
 opacity: 0;
}

/* Al hover: nascondi l'immagine normale e mostra quella hover */
.eco-brand__card:hover .eco-brand__image {
 opacity: 0;
}

.eco-brand__card:hover .eco-brand__image-hover {
 opacity: 1;
}

.eco-brand__card-title {
 font-size: 1rem;
 font-weight: 500;
 color: black;
 margin: 0rem;
}

.eco-brand__card-subtitle {
 font-size: 0.8rem;

}
/* ============================================
  SEZIONE: PROGETTI
  ============================================ */
.eco-progetti {
 background-color: white;
 padding: 3rem 1rem;
 position: relative;
}

.eco-progetti__title {
 font-size: 1.5rem;
 font-weight: 500;
 color: #000;
 margin-bottom: 60px;
}

.eco-progetti__card {
 margin-bottom: 0;
 text-align: center;
 cursor: pointer;
}

.eco-progetti .row.g-0 .col-12:first-child .eco-progetti__card {
 margin-bottom:40px;
}

.eco-progetti__image-wrapper {
 width: 100%;
 overflow: hidden;
 position: relative;
 margin-bottom: 28px;
 border-radius: 30px;
}

/* Overlay scuro al hover */
.eco-progetti__image-wrapper::after {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 background: rgba(0, 0, 0, 0.5);
 opacity: 0;
 transition: opacity 0.3s ease;
 border-radius: 30px;
 pointer-events: none;
}

.eco-progetti__card:hover .eco-progetti__image-wrapper::after {
 opacity: 1;
}

.eco-progetti__image {
 width: 100%;
 height: 230px;
 object-fit: cover;
 display: block;
 border-radius: 30px;
}

.eco-progetti__info {
 padding: 0;
 background-color: white;
 text-align: center;
}

.eco-progetti__card-title {
 font-size: 1.5rem;
 font-weight: 600;
 color: #000;
 margin-bottom: 0rem;
 line-height: 1.2;
}

.eco-progetti__card-subtitle {
 font-size: 0.875rem;
 color: #666;
 margin-bottom: 0;
 font-weight: 400;
}

/* Seconda card (Posterheroes) */
.eco-progetti .row.g-0 .col-12:last-child .eco-progetti__card {
 margin-bottom: 0;
}

/* ============================================
  DESKTOP - 1024px
  ============================================ */
@media screen and (min-width: 1024px) {
 /* HERO */
 .eco-hero .four-images {
   min-height: 100vh;
   display: flex;
   align-items: stretch;
 }
 
 .eco-hero__item {
   height: 100vh; 
   min-height: auto;
 }
 
 .eco-hero__logo {
   max-width: 60%;
   width: 60%;
 }
  .eco-hero__item:last-child .eco-hero__logo {
   max-width: 95%;
   width: 95%;
   max-height: 80%;
 }
 
 .eco-hero__item:last-child .eco-hero__logo img {
   max-height: 60vh;
 }

 /* INTRO */
 .eco-intro {
   padding: 6rem 3rem;
 }

 .eco-intro__text {
   margin-top: 10px;
   width: 350px;
   font-size: 1.1rem;
   font-weight: 200;
   line-height: 1.5rem;
 }
/* VISION */
 .eco-vision {
   padding: 6rem 3rem;
 }

 .eco-vision__image {
   display: block; /* Visibile da desktop */
   border-radius: 30px;
   height: 100%;
   object-fit: cover;
 }

 .eco-vision__image-wrapper {
   height: 100%;
   margin-bottom: 0;
 }

 .eco-vision__content {
   min-height: 500px;
   padding-top: 0;
   padding-bottom: 0;
 }

 .eco-vision__title {
  position: relative;
   font-size: 2.5rem;
   margin-bottom: 0;
 }

 .eco-vision__text {
   width: 100%;
   max-width: 43rem;
   font-size: 3rem;
   font-weight: 100;
   line-height: 3.75rem;
   margin-top: 12rem;
 }


 /* VALORI */
 .eco-valori {
   padding: 6rem 3rem;
 }

 .eco-valori__title {
   font-size: 2.5rem;
 }



 .eco-valori__card {
   text-align: left;
   border-bottom: none;
   border-left: 2px solid #fff;
   padding: 0 1rem 0 1rem;
   height: 30vh;
   display: flex;
   flex-direction: column;
 }

 .eco-valori__icon {
   justify-content: left;
   margin: 0 auto;
 }

 .eco-valori__card:nth-child(3) {
   border-left: 2px solid #fff;
   border-bottom: none;
 }

 .eco-valori__card-bottom {
   margin-top: auto;
 }

 .eco-valori__card-title {
   font-size: 3rem;
   margin-bottom: 1rem;
 }

 .eco-valori__card-text {
   font-size: 1rem;
   line-height: 1.5rem;
 }

 /* BRAND */
 .eco-brand {
   padding: 6rem 3rem;
 }

 .eco-brand__title {
   font-size: 2.5rem;
   margin-bottom: 8rem;
 }

 .eco-brand__card {
   padding: 3rem 2rem;
   min-height: 350px;
 }

 .eco-brand__icon {
   height: 150px;
 }

 .eco-brand__image {
   max-width: 200px;
 }

 .eco-brand__card-title {
   font-size: 1.5rem;
 }

 .eco-brand__card-subtitle {
   font-size: 1rem;
 }

 /* PROGETTI */
 .eco-progetti {
   padding: 6rem 3rem;
 }

  .eco-progetti__title {
   font-size: 2.5rem;
   margin-bottom: 4rem;
   padding-left: 0;
 }
  /* Layout normale a griglia su desktop */
 .eco-progetti__mobile-stack {
   min-height: auto;
 }
  .eco-progetti__card {
   position: static;
   width: 100%;
   transform: none;
   margin-bottom: 0;
 }

 .eco-progetti__info {
   padding: 2rem 1.5rem;
 }

 .eco-progetti__card-title {
   font-size: 2rem;
 }

 .eco-progetti__card-subtitle {
   font-size: 1rem;
 }
}

/* ============================================
  LARGE DESKTOP - 1440px
  ============================================ */
@media screen and (min-width: 1440px) {
 .eco-intro__title {
   font-size: 3.75rem;
 }

 .eco-valori__card-title {
   font-size: 1.75rem;
 }

 .eco-valori__card-text {
   font-size: 1.25rem;
   line-height: 1.75rem;
 }

 .eco-brand__title {
   font-size: 3.75rem;
 }

 .eco-brand__card-title {
   font-size: 1.75rem;
 }

 .eco-brand__card-subtitle {
   font-size: 1.125rem;
 }
.eco-progetti__title {
   font-size: 3.75rem;
   margin-bottom: 5rem;
 }

 .eco-progetti__image-wrapper {
   height: 700px;
 }

 .eco-progetti__image {
   height: 100%;
 }

 .eco-progetti__info {
   padding: 2.5rem 2rem;
 }

 .eco-progetti__card-title {
   font-size: 2.5rem;
 }

 .eco-progetti__card-subtitle {
   font-size: 1.125rem;
 }
}
