section#banner-portafolio {
  width: 100%;
  background-position: center;
  background-size: cover;
}
.content-text-banner-home {
  width: 100%;
  min-height: 950px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 14%;
  padding-bottom: 4%;
}
.content-text-banner-home h1 {
  color: #fff;
  text-align: center;
  font-size: 65px;
  font-weight: 500;
  line-height: 65px;
}
.content-text-banner-home h1 span {
  color: #601532;
  font-weight: 700;
}
.content-text-banner-home p {
  color: #fff;
  text-align: center;
  width: 51%;
  margin: 0 auto;
  font-size: 22px;
  line-height: normal;
  font-weight: 400;
}
@media (width < 875px) {
  .content-text-banner-home h1 {
    font-size: 46px;
    line-height: 47px;
  }
  .content-text-banner-home {
    width: 100%;
    min-height: 700px;
    padding-top: 19%;
    padding-bottom: 6%;
  }
  .content-text-banner-home p {
    width: 69%;
    margin: 0 auto;
    font-size: 22px;
  }
}
@media (width < 500px) {
  .content-text-banner-home h1 {
    font-size: 42px;
    line-height: 41px;
  }
  .content-text-banner-home {
    padding-bottom: 19%;
    padding-top: 42%;
  }
  .content-text-banner-home p {
    width: 100%;
    margin: 0 auto;
    font-size: 19px;
  }
}

.content-title-description-categoria p {
  color: #601532;
  font-size: 21px;
  font-weight: 400;
  width: 50%;
  line-height: normal;
}
.content-title-description-categoria h2 {
  color: #601532;
  font-size: 45px;
  font-family: "Panton";
  margin: 0;
  margin-bottom: 10px;
  font-weight: 600;
}
.content-title-description-categoria {
  padding-top: 5%;
  padding-bottom: 3%;
}
ul.content-caracteristicas-categoria {
  list-style: none;
  margin: 0;
  display: flex;
  flex-flow: wrap;
  gap: 28px;
}
.item-img-caracteristica {
  width: 100%;
  min-height: 350px;
  background-position: center;
  background-size: cover;
  border-radius: 30px;
}
ul.content-caracteristicas-categoria li {
  width: 23%;
}
ul.content-caracteristicas-categoria li p {
  color: #601532;
  font-size: 21px;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  padding-top: 31px;
}
@media (width < 875px) {
  ul.content-caracteristicas-categoria li {
    width: 48%;
  }
  .content-title-description-categoria p {
    width: 80%;
  }
}
@media (width < 500px) {
  .content-title-description-categoria {
    padding-top: 13%;
  }
  .content-title-description-categoria p {
    width: 100%;
    font-size: 18px;
  }
  ul.content-caracteristicas-categoria {
    padding-top: 7%;
  }
  ul.content-caracteristicas-categoria li {
    width: 100%;
  }
}

 :root {
                --border: #000;
                --left-bg: #e6e6e6;
                /* columna izquierda */
                --alt-bg: #e6e6e6;
                /* filas alternas */
                --text: #222;
            }

           .spec-table {
    font-family: 'Panton';
    max-width: 60%;
    margin: 0 auto;
    border: 2px solid var(--border);
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

            .spec-table table {
                width: 100%;
                border-collapse: collapse;
                table-layout: fixed;
				    margin-bottom: 0;
            }

            .spec-table th,
            .spec-table td {
                padding: 7px 14px;
                vertical-align: top;
                font-size: 15px;
                line-height: 1.35;
                border-bottom: 1px solid #d9d9d9;
            }

            .spec-table tr:last-child th,
            .spec-table tr:last-child td {
                border-bottom: 0;
            }

            .spec-table th {
    width: 33%;
    font-weight: 700;
    text-align: left;
    color: #000;
    border: 1px solid #b7b7b7;
}

            .spec-table td {
                font-weight: 400;
            }

            /* filas alternas para acercarse al diseño */
            .spec-table tbody tr:nth-child(odd) td {
                background: var(--alt-bg);
            }
.spec-table tbody tr:nth-child(odd) th {
    background: var(--alt-bg);
}
.spec-table tr {
    border-bottom: 2px solid #bdbdbd;
}
@media (max-width: 875px){
	.spec-table {
    max-width: 90%;
}
}

            /* Responsive: apilar en pantallas pequeñas */
            @media (max-width: 560px) {

                .spec-table th,
                .spec-table td {
                    display: block;
                    width: 100%;
                    border-bottom: 0;
                    padding: 10px 12px;
                }

                .spec-table tbody tr {
                    border-bottom: 1px solid #d9d9d9;
                }

                .spec-table tbody tr:last-child {
                    border-bottom: 0;
                }
            }
