a {
    text-decoration: none;
}
/* #region PORTADA*/

.pt-portada {
  background-color: var(--color-grey);
  display: flex;
  justify-content: center;
  padding: 130px 0 40px 0;
}

.pt-contenedor {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 20px;
}

/* Filas */
.pt-fila {
  display: flex;
  gap: 20px;
}

/* Columnas generales */
.pt-col {
  flex: 2;/*1*/
  background-color: white;
  border-radius: 20px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Tamaños personalizados */
.pt-col-2 {
  flex: 2;
}

.pt-col-3 {
  flex: 3;
}

.pt-col-4 {
  flex: 4;
  height: 300px;
}

.pt-col-5 {
  flex: 5;
}

/* Imágenes */
.pt-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

/* Logo */
.pt-fila-1 .pt-col:first-child {
  padding: 20px; /* opcional: para que no quede tan pegado */
}

.pt-fila-1 .pt-col:first-child img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

/* Contenedor de texto */
.pt-col-texto {
  flex: 2;/*3*/
  background-color: var(--color-blue);
  color: white;
  padding: 20px;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}

.pt-col-texto button {
  align-self: flex-end;
}

  
  
/* #endregion PORTADA*/

/* #region CAPITULOS*/
.lineaespecial {
  height: 1px;
  width: 1080px;
  margin: 0 auto;
}
.l-naranja {
  background-color: var(--color-orange);
}
.l-roja {
  background-color: var(--color-red);
}
.l-azul {
  background-color: var(--color-blue);
}
.cp-capitulos {
    display: flex;
    justify-content: center;
    padding: 80px 20px;
  }
  
  .cp-contenedor {
    max-width: 1080px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    align-items: start;
  }
  
  .cp-item {
    background-color: var(--color-grey);
    border-radius: 20px;
    padding: 20px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  
  .cp-item-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
  }
  
  .cp-info {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  
  .cp-icon,
  .cp-arrow {
    width: 30px;
    height: 30px;
    transition: transform 0.3s ease;
  }
  
  .cp-item:hover .cp-arrow {
    transform: rotate(0deg);/*15*/
  }
  
  .cp-extra {
    display: none;
    animation: fadeIn 0.3s ease forwards;
  }
  
  .cp-extra p {
    margin: 0;
    padding: 10px 0;
  }
  /*Estilos enlace "leer mas"*/
  .cp-extra a {
    position: relative;
    display: inline-block;
    color: var(--color-black);
    text-decoration: none;
    font-size: 14px;
    font-family: "Fira Medium";
    overflow: hidden;
  }
  
  .cp-extra a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-black);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  
  .cp-extra a:hover::after {
    transform: scaleX(1);
  }

  /*Colores*/
  .cp-color-1 {
    color: var(--color-red);
  }
  .cp-color-2 {
    color: var(--color-yellow);
  }
  .cp-color-3 {
    color: var(--color-green);
  }
  .cp-color-4 {
    color: var(--color-orange);
  }
  .cp-color-5 {
    color: var(--color-blue);
  }
  .cp-color-6 {
    color: var(--color-sky);
  }

  
  /* Animación */
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
  }
  
  /* Activo */
  .cp-item.active .cp-extra {
    display: block;
  }
  
  .cp-item.active .cp-arrow {
    transform: rotate(180deg);
  }
  

/* #endregion CAPITULOS*/

/* #region CIFRAS*/

.cf-cifras {
  display: flex;
  justify-content: center;
  padding: 80px 20px;
  background-color: var(--color-white);
}

.cf-contenedor {
  width: 100%;
  max-width: 1080px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.cf-titulo h1 {
  color: var(--color-blue);
  text-align: center;
}

.cf-fila {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.cf-bloque {
  flex: 1;
  min-width: 300px;/**/
  background-color: var(--color-grey);
  border-radius: 20px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
}

.cf-apartado {
  font-family: "Fira Regular", sans-serif;
  font-size: 1.2rem;
  color: var(--color-blue);
  padding-top: 0.5;
}
.cf-img {
 /* width: 100%;*/
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center top;
  height: 200px;
}

.cf-info {
  width: 100%;
  border-radius: 20px;
  padding: 20px;
  text-align: center;
}

.cf-info-blue {
  background-color: var(--color-blue);
  color: var(--color-white);
}

.cf-info-white {
  background-color: var(--color-white);
  color: var(--color-blue);
}

.cf-info-white h2 {
  background-color: var(--color-white);
  color: var(--color-blue);
}

.cf-info p {
  margin: 0;
 /* font-size: 14px;*/
}

.cf-info h2 {
  margin: 5px 0 0 0;
 /* font-size: 24px;*/
}


/* #endregion CIFRAS*/

/* #region RESUMEN*/

.rs-resumen {
  background-color: var(--color-grey);
  padding: 80px 20px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.rs-cap {
  background-color: white;
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.rs-cap-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.rs-cap-botones {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.rs-cap-cuerpo {
  background-color: var(--color-grey);
  padding: 20px;
  border-radius: 20px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.rs-cap-img {
  flex: 1 1 30%;
}

.rs-cap-img img {
  width: 100%;
  border-radius: 20px;
}

.rs-cap-texto {
  flex: 1 1 65%;
}

.rs-subtitulo {
  color: var(--color-grey-dark);
}

.rs-linea {
  height: 1px;       
  width: 100%;  
  margin: 10px 0; 
  border: none;
}

.rs-linea-red {
  background-color: var(--color-red);
}

.rs-linea-orange {
  background-color: var(--color-orange);
}

.rs-linea-blue {
  background-color: var(--color-blue);
}

.rs-linea-lime {
  background-color: var(--color-lime);
}

.rs-cap-grafica {
  flex: 1 1 48%;
  background-color: #e0e0e0;
  height: 400px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-red);
  padding: 10px;
}
.rs-cap .movil {
  padding: 0;
}

.titulo-capi {
  font-family: 'Fira Bold', sans-serif;
}
.red {
  color: var(--color-red);
}
.orange {
  color: var(--color-orange);
}
.blue {
  color: var(--color-blue);
  padding-bottom: 1.5rem;
}
.green {
  color: var(--color-lime);
  padding-bottom: 1.5rem;
}
/* #endregion RESUMEN*/

/* #region MQ*/
@media (max-width: 1080px) {
  .lineaespecial {
    width: 100%;
    padding-left:2rem;
    padding-right: 2rem;
  }
  }
  
@media (max-width: 820px) {
    /*PORTADA*/
    .pt-portada {
      padding: 110px 0 35px 0;
    }
  
    .pt-contenedor {
      gap: 0.5rem;
    }
  
    .pt-fila {
      flex-wrap: wrap;
      gap: 0.5rem;
    }
  
    .pt-fila-1 .pt-col-4 {
      flex: 0 0 100%;
      height: 200px;
    }
  
    .pt-fila-2 .pt-col-5 {
      flex: 0 0 100%;
      height: 200px;
    }
  
    .pt-fila-2 .pt-col-texto {
      flex: 0 0 100%;
      height: 150px;
    }
    
      /*CAPITULOS*/
   
        .cp-capitulos {
            padding: 40px 20px;
        } 
        .cp-extra a {
            font-size: 12px;
        }
  
    
  }
    

@media (max-width: 600px) {
    .cp-contenedor {
      grid-template-columns: 1fr;
    }

}

@media (max-width: 450px) {
    /*PORTADA*/
    .pt-portada {
      padding: 100px 0 30px 0;
    }
  
    .pt-contenedor {
      gap: 0.5rem;
    }
  
    .pt-fila-1 .pt-col-4 {
      height: 150px;
    }
  
    .pt-fila-2 .pt-col-5 {
      flex: 0 0 100%;
      height: 150px;
    }
  
    .pt-col {
      border-radius: 10px;
    }
  
    .pt-col img {
      border-radius: 10px;
    }
  
    .pt-fila-2 .pt-col-texto {
      flex: 0 0 100%;
      height: 130px;
    }
    /*CAPITULOS*/
  
    .cp-capitulos {
        padding: 20px 16px;
    }
    .cp-contenedor {
        gap: 10px;
    }
    .cp-extra a {
        font-size: 11px;
      }
      .cp-item {
        border-radius: 10px;
        padding: 10px;
      }
    

      /* CIFRAS */
      .cf-contenedor {
        gap: 20px;
      }
      .cf-cifras {
        padding: 30px 16px;
    }
      .cf-bloque {
        flex: none;
        padding: 10px;
        width: calc(50% - 10px); /* 2 columnas con 20px de gap total */
        min-width: unset;
        border-radius: 10px;
      }
      .cf-info {
        padding: 7px;
        border-radius: 10px;

    }
    .cf-img {
      height: 100px;
    }

    /*RESUMEN*/
  
    .rs-resumen {
      padding: 40px 16px;
    }
  
    .rs-cap {
      padding: 1rem 0.63rem;
      gap: 1rem;
    }
  
    /* Parte superior (botones y título) */
    .rs-cap-top {
     /* flex-direction: column;*/
      gap: 0.5rem;
      align-items: flex-start;
    }
  
    .rs-cap-botones {
      gap: 0.5rem;
      justify-content: flex-start;
    }
  
    /* Cuerpo del contenido */
    .rs-cap-cuerpo {
      padding: 10px 10px 20px 10px;
      border-radius: 10px;
      flex-direction: column;
    }
  
    .rs-cap-img,
    .rs-cap-grafica,
    .rs-cap-texto {
      flex: 1 1 100%;
    }
  
    .rs-cap-img img {
      border-radius: 10px;
      width: 100%;
      height: auto;
    }
  
    .rs-cap-grafica {
      height: auto;
      min-height: 250px;
    }

    .rs-subtitulo {
      padding: 0;
  }
    /* Tipografía 
    .rs-cap-texto h3 {
      font-size: 1rem;
    }
  
    .rs-cap-texto p {
      font-size: 0.9rem;
    }
  
    .rs-subtitulo {
      font-size: 0.85rem;
    }
  
    /* Líneas de color */
    /*.rs-linea {
      margin: 10px 0;
    }
    */
  
    /*TEST*/

    .rs-cap-cuerpo {
      flex-direction: column;
    }
  
    .rs-cap-botones {
      justify-content: flex-start;
    }
    
  }
  
  /* #endregion MQ*/