.bg-green{
   background-color: #749900;
}
.bg-green2{
   background-color: #4F5E0E;
}
/* sección tabs sostenibilidad */
.tabs-sostenibilidad, .tabs-reportes {
   display: flex;
   list-style: none;
   padding: 0;
   flex-wrap: nowrap;
   position: relative;
   overflow-x: auto;
   scrollbar-width: none;
   -ms-overflow-style: none;

   &::-webkit-scrollbar {
      display: none;
   }
}

.tabs-sostenibilidad .tab-sostenibilidad, .tabs-reportes .tab-reportes {
   flex-grow: 1;
   padding: 10px;
   border-bottom: 4px solid rgba(207, 209, 211, 0.40);
   cursor: pointer;
}

.tabs-sostenibilidad .tab-sostenibilidad:hover, .tabs-reportes .tab-reportes:hover {
   background-color: rgba(207, 209, 211, 0.40);
}

.tabs-sostenibilidad .tab-sostenibilidad-barra, .tabs-reportes .tab-reportes-barra {
   border-bottom: none;
   padding: 0;
}

.tabs-sostenibilidad a, .tabs-reportes a {
   color: #666;
   text-decoration: none;
}

.tabs-sostenibilidad .tab-sostenibilidad h2, .tabs-reportes .tab-reportes h2 {
   color: var(--color-blue);
   font-weight: 400;
   opacity: 0.7;
}

.tabs-sostenibilidad .tab-sostenibilidad.active h2, .tabs-reportes .tab-reportes.active h2 {
   color: var(--color-blue);
   font-weight: 600;
   text-shadow: 0 0 1px var(--color-blue);
   opacity: 1;
}

.tabs-sostenibilidad .tab-sostenibilidad-barra, .tabs-reportes .tab-reportes-barra {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 0;
   height: 4px;
   background-color: var(--color-blue);
   transition: left 0.3s ease, width 0.3s ease;
   pointer-events: none;
   flex: none;
}

.tabs-sostenibilidad h2, .tabs-reportes h2 {
   font-size: 16px;
   font-weight: 400;
   text-align: center;
   margin: 0;
   white-space: nowrap;
}

.info-sostenibilidad-section {
   .tabs-sostenibilidad a {
      color: #666;
   }

   .tabs-sostenibilidad .tab-sostenibilidad h2 {
      color: var(--color-white);
      opacity: 0.7;
   }

   .tabs-sostenibilidad .tab-sostenibilidad.active h2 {
      text-shadow: 0 0 1px var(--color-white);
      opacity: 1;
   }

   .tabs-sostenibilidad .tab-sostenibilidad-barra {
      background-color: var(--color-white);
   }

   .tabs-content {
      padding-top: 20px;
   }
}

/* Nuestra estrategia — grid de cards (reemplaza tabs en desktop) */
.section-estrategia-sostenibilidad {
   background-color: #E9FFEF;
}

.section-estrategia-sostenibilidad .section-estrategia-sostenibilidad__title,
.section-estrategia-sostenibilidad .section-estrategia-sostenibilidad__intro,
.section-estrategia-sostenibilidad .section-estrategia-sostenibilidad__intro a,
.section-estrategia-sostenibilidad .section-title  {
   color: #4F5E0E;
}

.estrategia-cards-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1.25rem;
   margin-top: 2rem;
}

.estrategia-card {
   position: relative;
   border-radius: 10px;
   background-color: #4F5E0E;
   overflow: hidden;
   min-height: 220px;
   display: flex;
   flex-direction: column;
   align-items: stretch;
   box-sizing: border-box;
}

.estrategia-card__media {
   position: absolute;
   inset: 0;
   background-color: lightgray;
   border-radius: var(--border-radius-base);
   overflow: hidden;
}

.estrategia-card__media-img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   display: block;
   transition: 0.3s ease;
}

.estrategia-card:hover .estrategia-card__media-img {
   transform: scale(1.1);
}
.estrategia-card:hover .estrategia-card__media::after {
   background: rgba(0, 0, 0, 0.7);
}

/* Velo encima de la imagen (::after va después del <img> en el pintado) */
.estrategia-card__media::after {
   content: '';
   position: absolute;
   inset: 0;
   border-radius: var(--border-radius-base);
   background: rgba(0, 0, 0, 0.3);
   pointer-events: none;
   transition: 0.3s ease;
}

.estrategia-card__content {
   position: relative;
   z-index: 1;
   flex: 1 1 auto;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-self: stretch;
   min-height: 0;
   box-sizing: border-box;
   padding: 1.375rem 1.25rem 1.625rem;
   color: #fff;
   width: 100%;
   text-align: left;
   user-select: none;
}

.estrategia-card__title {
   margin: 0 0 0.625rem;
   font-family: var(--font-family-title);
   font-size: 1.25rem;
   font-weight: 700;
   color: #fff;
   line-height: 1.25;
}

.estrategia-card__description {
   margin: 0;
   font-size: 1rem;
   line-height: 1.5;
   font-weight: 400;
   color: #fff;
}

.estrategia-card__description p {
   margin: 0;
   color: inherit;
}

.estrategia-card__description p + p {
   margin-top: 0.5rem;
}

.estrategia-card__description a {
   color: #fff;
   text-decoration: underline;
}

@media (min-width: 576px) {
   .estrategia-cards-grid {
      grid-template-columns: repeat(2, 1fr);
      align-items: stretch;
   }

   .estrategia-card {
      min-height: 260px;
   }

   .estrategia-card__content {
      padding: 1.5rem 1.375rem 1.75rem;
   }

   .estrategia-card__title {
      font-size: 1.3125rem;
      margin-bottom: 0.75rem;
   }

   .estrategia-card__description {
      font-size: 1.0625rem;
   }
}

@media (min-width: 992px) {
   .estrategia-cards-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
      align-items: stretch;
   }

   .estrategia-card {
      height: auto;
      min-height: 340px;
      max-height: none;
   }

   .estrategia-card__content {
      padding: 9.5rem 1.5rem 2.75rem 1.625rem;
   }

   .estrategia-card__title {
      font-size: 1.3125rem;
      margin-bottom: 1rem;
   }

   .estrategia-card__description {
      font-size: 1.0625rem;
      line-height: 1.5;
   }
}

@media (min-width: 1200px) {
   .estrategia-cards-grid {
      grid-template-columns: repeat(4, 1fr);
   }

   .estrategia-card {
      height: 400px;
      min-height: 400px;
      max-height: 400px;
   }

   /* padding-top fijo alinea títulos; cabe en 400px de altura */
   .estrategia-card__content {
      padding: 12rem 1.5rem 3.75rem 1.75rem;
   }

   .estrategia-card__title {
      font-size: 1.375rem;
      margin-bottom: 1.25rem;
   }

   .estrategia-card__description {
      font-size: 1.125rem;
      line-height: 1.5;
   }
}

/* Sección Valores Sostenibilidad */
.section-valores-sostenibilidad {
   .valores-list {
      margin-top: 0;
   }
}
@media (min-width: 992px) {
   .section-valores-sostenibilidad {
      .valores-list {
         height: 300px;
      }
      .valores-list .valores-list-title {
         white-space: wrap;
      }
   }
}

/* Sección Metas Sostenibilidad */
.section-metas-sostenibilidad {
   background-color: #F5F5F5;

   .metas-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 40px;
      margin-top: 40px;
   }

   .meta-item {
      display: flex;
      flex-direction: column;
      align-items: center;
   }

   .meta-number {
      font-family: var(--font-family-title);
      font-size: 60px;
      font-weight: 700;
      color: #4F5E0E;
      line-height: 1;
      margin-bottom: 1rem;
      text-align: center;
   }

   .meta-description {
      font-size: 1rem;
      color: #4F5E0E;
      margin: 0;
      line-height: 1.4;
      text-align: center;

      a {
         color: #4F5E0E;
      }
   }
}
.tabs-sostenibilidad h2, .tabs-reportes h2{
   font-size: 20px;
}


@media (min-width: 768px) {
   .section-metas-sostenibilidad {
      .metas-grid {
         grid-template-columns: repeat(2, 1fr);
      }
   }
}

@media (min-width: 992px) {
   .section-metas-sostenibilidad {
      .metas-grid {
         grid-template-columns: repeat(3, 1fr);
      }

      .meta-number {
         font-size: 90px;
         height: 64px;
         overflow: hidden;
      }

      .meta-description {
         font-size: 20px;
      }
   }
}

/* Grilla bento — metas de sostenibilidad */
.section-metas-sostenibilidad {
   .metas-bento-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-auto-rows: minmax(140px, auto);
      gap: 10px;
   }

   .metas-bento-item {
      border-radius: var(--border-radius-base);
      padding: 16px;
      min-height: 140px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      text-align: left;
      overflow: hidden;
      position: relative;
      transition: 0.3s ease;
      .metas-bento-item__value, .metas-bento-item__text{
         position: relative;
         z-index: 3;
      }
      &:hover{
         box-shadow: 0 0 10px 0 #000;
      }
   }

   .metas-bento-item--outline {
      &::before, &::after{
         content: '';
         position: absolute;
      }
      &::before{
         left: 2px;
         top: 2px;
         background: var(--color-white);
         z-index: 1;
         width: calc(100% - 4px);
         height: calc(100% - 4px);
         border-radius: 8px;
      }
      &::after{
         inset: 0;
         background: linear-gradient(126.14deg, #033E84 8.07%, #D84141 100%);
         z-index: 0;
         width: calc(100% + 2px);
         height: calc(100% + 2px);
         border-radius: var(--border-radius-base);
      }
   }

   .metas-bento-item__value {
      font-size: 40px;
      font-weight: 800;
      line-height: 1;
      display: block;
      margin-bottom: 0.5rem;
   }

   .metas-bento-item__text {
      margin: 0;
      font-size: 14px;
      font-weight: 400;
      line-height: 1.35;
   }

   .metas-bento-item__icon {
      position: absolute;
      z-index: 2;
      right: -20px;
      top: 10%;
      flex-shrink: 0;
      color: currentColor;
      opacity: 0.95;
   }

   .metas-bento-item__icon svg,
   .metas-bento-item__icon img {
      display: block;
      width: 60px;
      height: 60px;
   }
}
.section-comunidad {
   background-color: #DADBF0;
}
.comunidad-dropdowns{
   margin: 30px 0;
}
.comunidad-dropdown{
   background-color: var(--color-white);
   border-radius: 10px;
   &:not(:last-child){
      margin-bottom: 10px;
   }
   .comunidad-dropdown__header{
      padding: 20px 20px 20px 60px;
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      text-align: left;
      border: none;
      background-color: transparent;
      position: relative;
      .comunidad-dropdown__icon{
         position: absolute;
         left: 20px;
         top: 50%;
         transform: translateY(-50%);
         width: 30px;
         height: 30px;
         transition: 0.3s ease;
         img{
            width: 100%;
            height: 100%;
            object-fit: contain;
         }
      }
      .comunidad-dropdown__title{
         font-size: 18px;
         font-weight: 600;
         margin: 0;
      }
   }
   .comunidad-dropdown__body{
      max-height: 0;
      overflow: hidden;
      transition: 0.8s ease;
      .comunidad-dropdown__content{
         padding: 0 20px 20px 60px;
         p, ul li, ol li, a, button{
            font-size: 14px;
            font-weight: 400;
         }
         a{
            font-weight: 600;
            text-decoration: underline;
         }
         p, ul, ol, a, button{
            margin: 10px 0;
         }
         p:first-child{
            margin-top: 0;
         }
         p:last-child{
            margin-bottom: 0;
         }
         ul, ol{
            padding-left: 20px;
         }
         ul li, ol li{
            list-style: disc;
         }
      }
   }
   &.active{
      .comunidad-dropdown__icon{
         transform: translateY(-50%) rotate(90deg);
      }
      .comunidad-dropdown__body{
         max-height: 1000px;
      }
   }
}
.iniciativas-container{
   position: relative;
   margin-top: 30px;
}
.iniciativas-swiper{
   padding-bottom: 40px;
}
.iniciativa-card{
   height: 250px;
   position: relative;
   box-shadow: 0 0 10px 0 #00000026;
   .iniciativa-card__image{
      display: block;
      width: 100%;
      height: 100%;
      img{
         width: 100%;
         height: 100%;
         object-fit: cover;
         border-radius: 20px;
      }
   }
   .iniciativa-card__content{
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      padding: 20px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      background: #0000007D;
      border-radius: 20px;
      opacity: 0;
      transition: 0.3s ease;
      .iniciativa-card__title{
        font-size: 18px;
        margin: 0 0 10px;
      }
      .iniciativa-card__description{
        font-size: 14px;
        margin: 0;
      }
   }
   &.swiper-slide-active{
      .iniciativa-card__content{
         opacity: 1;
      }
   }
}
.iniciativas-container-bottom{
   position: relative;
   margin-top: 30px;
   .iniciativas-container-bottom__content{
    position: relative;
    z-index: 2;
   }
   .btn{
      border-radius: 30px;
      padding: 16px 20px;
      font-weight: 400;
   }
   picture{
      position: absolute;
      bottom: -50px;
      right: -40px;
      z-index: 1;
      width: 100%;
      height: 100px;
      img{
         width: 100%;
         height: 100%;
         object-fit: contain;
      }
   }
}
@media (min-width: 768px) {
   .iniciativas-container-bottom{
      .btn{
         width: fit-content;
         min-width: 300px;
         border-radius: 30px;
      }
      picture{
         width: 500px;
         right: -10%;
      }
   }
}
@media (min-width: 992px) {
   .section-metas-sostenibilidad {
      .metas-bento-grid {
         grid-template-columns: repeat(12, 1fr);
         grid-auto-rows: 193px;
         gap: 20px;
         min-height: 480px;
      }

      .metas-bento-item {
         padding: 20px;
         min-height: 0;
      }
      .metas-bento-item--pos-1 { grid-area: 1 / 1 / 2 / 4; }
      .metas-bento-item--pos-2 { grid-area: 1 / 4 / 2 / 7; }
      .metas-bento-item--pos-3 { grid-area: 1 / 7 / 2 / 11; }
      .metas-bento-item--pos-4 { grid-area: 1 / 11 / 3 / 13; }
      .metas-bento-item--pos-5 { grid-area: 2 / 1 / 3 / 5; }
      .metas-bento-item--pos-6 { grid-area: 2 / 5 / 3 / 8; }
      .metas-bento-item--pos-7 { grid-area: 2 / 8 / 3 / 11; }
      .metas-bento-item--pos-8 { grid-area: 3 / 1 / 4 / 6; }
      .metas-bento-item--pos-9 { grid-area: 3 / 6 / 4 / 10; }
      .metas-bento-item--pos-10 { grid-area: 3 / 10 / 4 / 13; }

      .metas-bento-item__value {
         font-size: 45px;
      }
   }
   .comunidad-dropdown{
      &:not(:last-child){
         margin-bottom: 20px;
      }
      .comunidad-dropdown__header{
         padding: 20px 20px 20px 70px;
         .comunidad-dropdown__title{
            font-size: 24px;
         }
      }
      .comunidad-dropdown__body{
         .comunidad-dropdown__content{
            padding: 0 20px 20px 70px;
            p, ul li, ol li, a, button{
               font-size: 16px;
            }
            p, ul, ol, a, button{
               margin: 15px 0;
            }
         }
      }
   }
   .iniciativa-card{
      height: 300px;
      .iniciativa-card__content{
         .iniciativa-card__title{
           font-size: 20px;
         }
         .iniciativa-card__description{
           font-size: 16px;
         }
      }
   }
}

@media (min-width: 1200px) {
   .section-metas-sostenibilidad {
      .metas-bento-grid {
         min-height: 540px;
      }

      .metas-bento-item__value {
         font-size: 55px;
         margin-bottom: 20px;
      }

      .metas-bento-item__text {
         font-size: 16px;
      }
      .metas-bento-item__icon svg,
      .metas-bento-item__icon img {
         width: 80px;
         height: 80px;
      }
   }
   .iniciativas-container{
      padding: 0 40px;
      .iniciativas-swiper-button-next, .iniciativas-swiper-button-prev{
         color: var(--color-primary);
         width: 25px;
         height: 25px;
      }
      .iniciativas-swiper-button-next{
         right: 0;
      }
      .iniciativas-swiper-button-prev{
         left: 0;
      }
   }
   .iniciativa-card{
      height: 390px;
      .iniciativa-card__content{
         .iniciativa-card__title{
           font-size: 24px;
         }
         .iniciativa-card__description{
           font-size: 18px;
         }
      }
   }
   .iniciativas-container-bottom{
      picture{
         width: 800px;
         height: auto;
         right: -10%;
      }
   }
}
@media (min-width: 1400px) {
   .section-metas-sostenibilidad {
      .metas-bento-item__text {
         font-size: 18px;
      }
      .metas-bento-item__icon {
         top: 5%;
         img, svg {
            width: 100px;
            height: 100px;
         }
      }
   }
   .comunidad-dropdown{
      .comunidad-dropdown__header{
         padding: 22px 22px 22px 80px;
         .comunidad-dropdown__icon{
            left: 25px;
         }
         .comunidad-dropdown__title{
            font-size: 30px;
         }
      }
      .comunidad-dropdown__body{
         .comunidad-dropdown__content{
            padding: 0 22px 22px 80px;
            p, ul li, ol li, a, button{
               font-size: 18px;
            }
         }
      }
   }
   .iniciativas-container{
      padding: 0 60px;
   }
}
@media (min-width: 1600px) {
   .iniciativas-container-bottom{
      picture{
         right: -20%;
      }
   }
}
@media (min-width: 1800px) {
   .iniciativas-container-bottom{
      picture{
         right: -30%;
      }
   }
}

/* Sección Innovación — mismo fondo degradado que .site-footer (home.css) */
.section-innovacion-sostenibilidad {
   background-color: #E9F5FF;
}

/* Sección Políticas */
.politicas-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 1.5rem;
   margin-top: 40px;
}

.politica-card {
   display: flex;
   border-radius: 10px;
   box-shadow: 0px 4px 8px 0px #00000026;
   min-height: 180px;
   width: 100%;
   transition: 0.3s ease;
   &:nth-child(even){
      background-color: #749900;
   }
   &:nth-child(odd){
      background-color: #4F5E0E;
   }
}
.politica-card:hover {
   box-shadow: 0 0px 10px #000;
}

.politica-card__image {
   flex-shrink: 0;
   width: 140px;
   height: 100%;
   overflow: hidden;
}

.politica-card__image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: var(--border-radius-base);
}

.politica-card__content {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   flex: 1;
   padding: 20px;
   border-radius: var(--border-radius-base);
}

.politica-card__title {
   font-size: 18px;
   color: var(--color-white);
}

.politica-card__link {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   text-decoration: none;
   font-size: 1rem;
   transition: 0.3s ease;
   width: fit-content;
   padding: 5px 10px;
   border-radius: 5px;
   color: var(--color-white);
}

.politica-card__link:hover {
   /* color: var(--color-white); */
   background-color: var(--color-red);
   color: var(--color-white);
   /* transform: scale(1.05); */
   &::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
   }
}

.politica-card__link::before {
   content: '';
   display: inline-block;
   width: 16px;
   height: 16px;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center;
}

@media (min-width: 768px) {
   .politicas-grid {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (min-width: 992px) {
   .politica-card__title {
      font-size: 1.5rem;
   }
}

@media (min-width: 1200px) {
   .politicas-grid {
      grid-template-columns: repeat(3, 1fr);
   }
}

/* Sección Tabs Reportes y Memorias */
.section-tabs-reportes {
   background-color: #F5F5F5;

   .tabs-content {
      padding-top: 40px;
   }

   /* Lista de Documentos */
   .documentos-lista {
      list-style: none;
      padding: 0;
      background-color: #F5F5F5;
   }

   .documento-item {
      display: flex;
      align-items: center;
      padding: 1rem 0 0.5rem;
      border-bottom: 1px solid var(--color-brown);
      gap: 1rem;
   }

   .documento-texto {
      flex: 1;
      font-size: 1rem;
      color: #333;
      font-family: var(--font-family-body);
   }

   .documento-icon {
      width: 22px;
      height: 26px;
      flex-shrink: 0;
      display: block;
   }

}
.documento-download {
   width: 32px;
   height: 32px;
   border-radius: 50%;
   background-color: var(--color-red);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   transition: background-color 0.3s ease, transform 0.2s ease;
   cursor: pointer;
}

.documento-download:hover {
   background-color: #c03939;
   transform: scale(1.05);
}

.documento-download svg {
   width: 32px;
   height: 32px;
   stroke: var(--color-white);
   fill: none;
}
/* Grilla de Memorias */
.memorias-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
   margin-bottom: 40px;
}

.memoria-card {
   position: relative;
}

.memoria-card__image {
   aspect-ratio: 3 / 4;
   height: auto;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.memoria-card__download {
   position: absolute;
   bottom: -10px;
   left: -10px;
   z-index: 1;
   outline: 8px solid #F5F5F5;
}

@media (min-width: 992px) {
   .memorias-grid {
      grid-template-columns: repeat(4, 1fr);
      gap: 40px;
   }
}
