/**********************
        CLASES DE UTILIDAD
    **********************/
.st0 {
    fill: #CC1C21;
}

[name="product-highlights"] [class*="accordion__opened"]+[class*="accordion__content"] {
    max-height: 5000px;
}

img {
    max-width: 100%;
}

.productHighlightsSection {
    margin-bottom: 60px;
    text-align: center;
}

.productHighlightsSection:last-of-type {
    margin-bottom: 20px;
}

.productHighlightsSection h4 {
    border-bottom: 3px solid #CC1C21;
    display: inline-block;
    font-size: 48px;
    padding: 10px 20px 0;
    margin-bottom: 40px;
    text-transform: capitalize;
    line-height: 1.3em;
}

.centerFlex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: baseline;
}

.centerFlex>div {
    min-width: 125px;
    padding: 20px;
    margin-right: 20px;
}

.footnote {
    font-size: 16px;
    font-weight: 100;
    margin-top: 10px;
    flex: 100%;
}

.lowercase {
    text-transform: lowercase !important;
}

.productHighlightsSection span.sub-heading {
    font-size: 30px;
    font-weight: lighter;
    margin: 0 0 30px;
    display: block;
}

@media screen and (max-width: 960px) {
    .productHighlightsSection h4 {
        font-size: 4.9vw;
        margin-bottom: 30px;
    }

    .productHighlightsSection {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
    .centerFlex {
        justify-content: space-evenly;
    }

    .productHighlightsSection h4 {
        font-size: calc(18px + 2.5vw);
        margin-bottom: 20px;
        padding: 10px 0 0;
    }

    [class*="accordion__opened-"]+[class*="accordion__content-"] {
        max-height: 100% !important;
    }

    .productHighlightsSection span.sub-heading {
        font-size: 21px;
    }
}

@media screen and (max-width: 375px) {
    .productHighlightsSection h4 {
        font-size: 25px;
    }
}

/**********************
    FIN DE CLASES DE UTILIDAD
    **********************/

/**********************
        REJILLA DE PUNTOS DESTACADOS
    **********************/
.highlightsGrid.what-can-you-power {
    max-width: 960px;
    margin: 0 auto;
}

.highlightsGrid .highlightsGridItem {
    background-color: #f8f8f8;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    min-height: 260px;
    border: 1px solid #e4e4e4;
    width: 23%;
    margin: 0 10px 20px 10px;
    box-sizing: border-box;
}

.highlightsGrid.grid3x2 .highlightsGridItem {
    width: 17%;
    max-width: 230px;
}

.highlightsGrid.what-can-you-power.grid3x2 .highlightsGridItem {
    width: 21%;
}

.highlightsGrid .highlightsGridItem .icon {
    width: 165px;
    height: 165px;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.highlightsGrid .highlightsGridItem .icon.pad20 {
    padding: 20px;
}

.highlightsGrid .highlightsGridItem .icon img {
    width: 100%;
    height: auto;
    max-height: 100%;
}

.highlightsGrid .highlightsGridItem .icon.pad-top-1 {
    padding-top: 1em;
}

.highlightsGrid .highlightsGridItem h5 {
    font-size: 25px;
    padding-bottom: 5px;
    text-transform: none;
    line-height: 1.1em;
}

.highlightsGrid .highlightsGridItem span {
    font-size: 18px;
    font-weight: 100;
    line-height: 1.1em;
}

.highlightsGrid.no-border {
    margin-top: -20px;
}

.highlightsGrid.power-outlets .highlightsGridItem {
    height: auto;
    min-height: auto;
    width: 30%;
    max-width: 245px;
    /* justify-content: flex-end; */
}

.highlightsGrid.power-outlets .highlightsGridItem .icon.single-item {
    width: 115px;
}

@media screen and (max-width:1080px) {
    .highlightsGrid {
        margin: 0 auto;
    }

    .highlightsGrid .highlightsGridItem {
        width: 33%;
    }
}

@media screen and (max-width:960px) {
    .highlightsGrid.grid3x2 .highlightsGridItem {
        width: 27%;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    .highlightsGrid .highlightsGridItem {
        width: 44%;
        margin: 10px;
        padding: 20px 10px;
        height: auto;
        min-height: auto;
    }

    .highlightsGrid .highlightsGridItem .icon {
        width: 20vw;
        height: 20vw;
    }

    .highlightsGrid .highlightsGridItem .icon.pad20 {
        padding: 0;
    }

    .highlightsGrid .highlightsGridItem .icon.pad8-mbl {
        padding: 8px;
    }

    .highlightsGrid .highlightsGridItem h5 {
        font-size: 4vw;
    }

    .highlightsGrid .highlightsGridItem span {
        font-size: 3.5vw;
        line-height: 1;
    }

    .highlightsGrid.no-border {
        margin-top: -30px;
    }

    .highlightsGrid.grid3x2 .highlightsGridItem {
        width: 27%;
        min-width: auto;
    }

    .highlightsGrid.power-outlets .highlightsGridItem {
        max-width: 245px;
        width: 44%;
    }

    .highlightsGrid.what-can-you-power.grid3x2 .highlightsGridItem {
        width: 27%;
    }

    .highlightsGrid.power-outlets .highlightsGridItem .icon.single-item {
        width: 17vw;
        max-width: 100px;
    }

    .highlightsGrid.power-outlets .highlightsGridItem .icon.wide-item {
        width: 30vw;
        max-width: 165px;
    }

    .grid3x2,
    .power-outlets {
        justify-content: center;
    }
}

@media screen and (max-width: 375px) {
    .highlightsGrid.power-outlets .highlightsGridItem {
        padding: 15px 0;
    }

    .highlightsGrid.power-outlets .highlightsGridItem .icon {
        padding-bottom: 10px;
    }
}

@media screen and (max-width: 320px) {
    .highlightsGrid.grid3x2 .highlightsGridItem {
        width: 26%;
        min-width: auto;
        padding: 10px 0;
    }
}

/**********************
    FIN DE REJILLA DE PUNTOS DESTACADOS
    **********************/

/**********************
        CARACTERÍSTICAS DEL PRODUCTO
    **********************/
.product-features {
    width: 80%;
    display: block;
    margin: 0 auto;
}

.product-features-inner-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product-features-inner-container>div:first-child {
    flex-grow: 2;
    margin-right: 100px;
}

.product-features-inner-container img {
    height: auto;
}

.product-feature-list {
    counter-reset: product-feature-list;
    list-style: none;
    font-weight: 300;
    margin: 20px 0;
    max-width: 550px;
    text-align: left;
    font-size: 22px !important;
    line-height: 24px;
    flex-grow: 2;
}

.product-feature-list ol li {
    counter-increment: product-feature-list;
    position: relative;
    list-style: none;
    margin-bottom: 20px;
    display: flex;
}

.product-feature-list ol li:last-child {
    margin-bottom: 0 !important;
}

.product-feature-list ol li:before {
    content: counter(product-feature-list);
    color: #fff;
    font-weight: bold;
    line-height: 42px;
    min-width: 42px;
    width: 42px;
    height: 42px;
    background: #CC1C21;
    border-radius: 50%;
    text-align: center;
    border: 1px solid #fff;
    box-shadow: 0px 1px 4px #ccc;
    font-size: 28px;
    margin-right: 20px;
}

.product-feature-list ol li span {
    padding-top: 10px;
}

.product-feature-list ol li strong {
    text-transform: uppercase;
}

.product-features-data-table {
    max-width: 550px;
    margin-top: 40px;
}

@media screen and (max-width: 960px) {
    .product-features-inner-container>div:first-child {
        margin-right: 25px;
    }

    .product-feature-list {
        font-size: 2.4vw !important;
        line-height: 24px;
    }

    .product-feature-list ol li:before {
        line-height: 40px;
        min-width: 40px;
        width: 40px;
        height: 40px;
        font-size: 24px;
    }
}

@media screen and (max-width: 767px) {
    .product-features-inner-container {
        flex-direction: column;
    }

    .product-features-inner-container>div:first-child {
        margin-right: 0;
    }

    .product-feature-list {
        font-size: 4.5vw !important;
        line-height: 1;
    }

    .product-feature-list ol li:before {
        left: -8vw;
        line-height: 6vw;
        min-width: 6vw;
        width: 6vw;
        height: 6vw;
        font-size: 4vw;
        margin-right: 10px;
    }

    .product-feature-list ol li {
        margin-bottom: 20px;
    }

    .product-feature-list ol li span {
        padding-top: 5px;
    }
}

/**********************
    FIN DE CARACTERÍSTICAS DEL PRODUCTO
    **********************/

/**********************
    UTILIDADES DE COLOR BASE
    **********************/

.no-background>div {
    background: none !important;
}

.no-border>div {
    border: none !important;
}

.border-black>div {
    border: 1px solid #000 !important;
}

/**********************
    FIN DE UTILIDADES DE COLOR BASE
    **********************/

.power-outlets .highlightsGridItem {
    position: relative;
}

.power-outlets .circle-content {
    height: 12vw;
    width: 12vw;
    -moz-border-radius: 30px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    border: 2px solid #000;
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
    line-height: 1.2;
    position: absolute;
    top: -25px;
    max-width: 55px;
    max-height: 55px;
}

.power-outlets .highlightsGridItem span {
    font-size: 21px;
}

@media screen and (max-width: 375px) {
    .power-outlets .highlightsGridItem span {
        font-size: 18px;
    }
}

#productCustomSection.productHighlightsSection {
    text-align: center;
}

#productCustomSection.productHighlightsSection h4 {
    border-bottom: 3px solid #CC1C21;
    display: inline-block;
    font-size: 46px;
    padding: 10px 20px 0;
    margin-bottom: 40px;
    text-transform: capitalize;
    line-height: 1.3em;
    letter-spacing: -0.833px
}

@media screen and (max-width: 960px) {
    #productCustomSection.productHighlightsSection h4 {
        font-size: 4.8vw;
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
    #productCustomSection.productHighlightsSection h4 {
        font-size: calc(18px + 2.5vw);
        margin-bottom: 20px;
        padding: 10px 0 0;
    }
}

@media screen and (max-width: 375px) {
    #productCustomSection.productHighlightsSection h4 {
        font-size: 25px;
    }
}

/* Secciones */
.connectingPortableGenerators {
    margin: 0 auto;
    /* NOTA: eliminar esto cuando se mueva fuera de Puntos Destacados del Producto */
    max-width: 984px;
    text-align: left;
    --c-accent: var(--c-primary-1, #cd2215);
    --c-info-bg: var(--c-tertiary-3, #f2f2f2);
    --f-size-base-m: 16px;
    --f-size-base-d: 18px;
    --f-stack-base: var(--f-stack-default, sans-serif);
    --f-stack-header: var(--f-stack-normal, sans-serif);
    --gap-m: 12px;
    --gap-d: 22px;
    --line-height-base-m: 19px;
    --line-height-base-d: 22px;
}

.productCustomSection {
    font-family: var(--f-stack-base);
    margin-bottom: var(--gap-m);
}

@media screen and (min-width: 768px) {
    .productCustomSection {
        margin-bottom: var(--gap-d);
    }
}

.noWrap {
    white-space: nowrap;
}

/* Elementos Generales */
.productCustomSection h5,
.productCustomSection h6 {
    font-family: var(--f-stack-header);
    font-size: 24px;
    line-height: 27px;
    letter-spacing: -0.833px;
    margin: 0 0 var(--gap-m);
    padding-top: 20px;
    text-transform: none;
}

@media screen and (min-width: 768px) {

    .productCustomSection h5,
    .productCustomSection h6 {
        line-height: normal;
        margin-bottom: var(--gap-d);
    }
}

.productCustomSection h5 {
    font-weight: 900;
}

@media screen and (min-width: 768px) {
    .productCustomSection h5 {
        font-size: 32px;
    }
}

.productCustomSection h6 {
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .productCustomSection h6 {
        font-size: 30px;
    }
}

.productCustomSection p {
    font-size: var(--f-size-base-m);
    font-weight: 300;
    line-height: var(--line-height-base-m);
    margin: 0 0 var(--f-size-base-m);
}

@media screen and (min-width: 768px) {
    .productCustomSection p {
        font-size: var(--f-size-base-d);
        line-height: var(--line-height-base-d);
    }
}

.productCustomSection p strong {
    font-weight: 400;
}

.productCustomSection a {
    color: var(--c-accent);
    font-size: inherit !important;
    text-decoration: none;
    ;
}

.productCustomSection a:hover {
    text-decoration: underline;
}

.productCustomSection img {
    display: block;
    height: auto;
    max-width: 100%;
}

.productCustomSection hr {
    background-color: #000000;
    border: none;
    height: 1px;
    margin: calc(var(--gap-m) + 20px) 0 0;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .productCustomSection hr {
        margin-top: calc(var(--gap-d) + 20px);
    }
}

/* Listas */
.productCustomSection ul,
.productCustomSection ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.productCustomSection ol {
    counter-reset: product-custom-ordered-list;
}

.productCustomSection li {
    display: flex;
    font-size: var(--f-size-base-m);
    font-weight: 300;
    gap: 8px;
    line-height: var(--line-height-base-m);
    margin: 0 0 var(--gap-m);
    padding: 0;
    position: relative;
}

.productCustomSection li:last-of-type {
    margin: 0;
}

@media screen and (min-width: 768px) {
    .productCustomSection ul>li {
        font-size: var(--f-size-base-d);
        line-height: var(--line-height-base-d);
        margin-bottom: var(--gap-d);
    }
}

.productCustomSection li ul {
    margin-top: 10px;
}

.productCustomSection li li {
    margin-bottom: 10px;
}

.productCustomSection ol>li {
    counter-increment: product-custom-ordered-list;
    margin-top: 18px;
}

.productCustomSection li::before {
    border-radius: 50%;
    content: "";
    display: inline-block;
    flex-grow: 0;
    flex-shrink: 0;
    position: relative;
}

.productCustomSection ul>li::before {
    background-color: #000000;
    height: 12px;
    width: 12px;
    top: .25em;
}

.productCustomSection ul ul>li::before,
.productCustomSection ol ul>li::before {
    height: 4px;
    width: 4px;
    top: .45em;
}

.productCustomSection ol>li::before {
    align-items: center;
    background-color: var(--c-accent);
    content: counter(product-custom-ordered-list);
    color: #ffffff;
    display: flex;
    font-family: var(--f-stack-header);
    font-size: 18px;
    font-weight: 700;
    height: 25px;
    justify-content: center;
    top: -.3em;
    width: 25px;
}

@media screen and (min-width: 768px) {
    .productCustomSection ol>li::before {
        font-size: 24px;
        height: 32px;
        width: 32px;
    }
}

.productCustomSection li p:last-of-type {
    margin: 0;
}

/* Encabezados de Elementos de Lista */
.productCustomSection .header {
    display: block;
    font-weight: 700;
    width: 100%;
}

.productCustomSection ul .header {
    font-size: 21px;
    margin-bottom: 4px;
}

@media screen and (min-width: 768px) {
    .productCustomSection ul .header {
        font-size: 24px;
    }
}

.productCustomSection ol .header {
    font-size: 18px;
    margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
    .productCustomSection ol .header {
        font-size: 21px;
    }
}

.productCustomSection ul ul>li .header,
.productCustomSection ol ul>li .header {
    font-size: var(--f-size-base-m);
    font-weight: 400;
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {

    .productCustomSection ul ul>li .header,
    .productCustomSection ol ul>li .header {
        font-size: var(--f-size-base-d);
    }
}

.productCustomSection li p+table,
.productCustomSection li p+.imageBox {
    margin-top: var(--gap-m);
}

.productCustomSection li p+.imageBox {
    margin-bottom: var(--gap-m);
}

@media screen and (min-width: 768px) {

    .productCustomSection li p+table,
    .productCustomSection li p+.imageBox {
        margin-top: var(--gap-d);
    }
}

/* Caja de Imagen */
.productCustomSection .imageBox {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media screen and (min-width: 640px) {
    .productCustomSection .imageBox {
        flex-direction: row;
        gap: 22px;
    }
}

.productCustomSection .imageBox span {
    width: 100%;
}

@media screen and (min-width: 640px) {
    .productCustomSection .imageBox span {
        width: auto;
    }
}

.productCustomSection .imageBox img {
    width: 100%
}

@media screen and (min-width: 640px) {
    .productCustomSection .imageBox img {
        width: unset;
    }
}

.productCustomSection .imageBox+h6,
.productCustomSection .imageBox+.calloutBox {
    margin-top: var(--gap-m);
}

@media screen and (min-width: 768px) {

    .productCustomSection .imageBox+h6,
    .productCustomSection .imageBox+.calloutBox {
        margin-top: var(--gap-d);
    }
}

/* Caja de Llamada de Atención */
.productCustomSection .calloutBox {
    border: 2px solid var(--c-accent);
    border-radius: 8px;
    display: flex;
    gap: 12px;
    margin-bottom: var(--gap-m);
    padding: 12px;
}

@media screen and (min-width: 768px) {
    .productCustomSection .calloutBox {
        gap: 22px;
        margin-bottom: var(--gap-d);
        padding: 22px;
    }
}

.productCustomSection .calloutBox .fas {
    color: var(--c-accent);
    font-size: 32px;
}

@media screen and (min-width: 768px) {
    .productCustomSection .calloutBox .fas {
        font-size: 45px;
    }
}

.productCustomSection .calloutBox p {
    font-weight: 700;
    margin: 0;
}

/* Caja de Información */
.productCustomSection .infoBox {
    background-color: var(--c-info-bg);
    border-radius: 8px;
    margin-bottom: var(--gap-m);
    padding: 12px 20px;
    ;
}

@media screen and (min-width: 768px) {
    .productCustomSection .infoBox {
        margin-bottom: var(--gap-d);
        padding: 22px 25px;
    }
}

/* Detalles de Caja de Información Anidada */
.productCustomSection .infoBox__details {
    background-color: #ffffff;
    border: 1px solid #000000;
    gap: 15px;
    margin-top: 15px;
    padding: 10px;
}

@media screen and (max-width: 639px) {
    .productCustomSection .infoBox__details {
        display: grid;
        grid-template-columns: 15.4666667vw 1fr;
    }
}

@media screen and (min-width: 640px) {
    .productCustomSection .infoBox__details {
        align-items: center;
        display: flex;
        justify-content: space-between;
    }
}

@media screen and (max-width: 639px) {
    .productCustomSection .infoBox__details>span:last-child {
        grid-column-start: 2;
    }
}

@media screen and (min-width: 640px) {
    .productCustomSection .infoBox__details>span {
        flex-grow: 0;
        flex-shrink: 0;
    }
}

.productCustomSection .infoBox__details>span img {
    margin: 0 auto;
}

@media screen and (max-width: 639px) {
    .productCustomSection .infoBox__details>span img {
        margin: 0 auto;
        width: 100%;
    }
}

/* Notas al Pie */
.productCustomSection p.footnote {
    font-size: var(--f-size-base-m);
    font-style: italic;
}

/* Tablas */
.productCustomSection table {
    background-color: #000000;
    border-color: #000000;
    border-spacing: 0;
    border-style: solid;
    border-width: 1px 1px 0 0;
    font-family: var(--f-stack-header);
    margin-bottom: var(--gap-m);
    width: 100%;
}

.productCustomSection th,
.productCustomSection td {
    border-color: #000000;
    border-style: solid;
    border-width: 0 0 1px 1px;
    padding: 8px;
}

.productCustomSection th {
    background-color: var(--c-accent);
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .productCustomSection th {
        font-size: 21px;
    }
}

.productCustomSection td {
    font-size: 13px;
    font-weight: 400;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .productCustomSection td {
        font-size: 16px;
    }
}

.productCustomSection td:first-child {
    font-size: 14px;
    font-weight: 700;
    text-align: left;
}

@media screen and (min-width: 768px) {
    .productCustomSection td:first-child {
        font-size: 18px;
    }
}

.productCustomSection tbody tr:nth-of-type(odd) td {
    background-color: #ffffff;
}

.productCustomSection tbody tr:nth-of-type(even) td {
    background-color: #dddddd;
}


/* --- ESTILOS PARA LISTA DE ESPECIFICACIONES (<dl>) --- */

/* Contenedor principal de la lista de definiciones */
.specifications_dl {
    align-items: stretch;
    border-bottom: 1px solid #ddd;
    display: flex;
    flex-wrap: wrap;
    justify-content: stretch;
    margin-bottom: 15px
}

/* Término de la especificación (la etiqueta, ej: "Marca") */
.especificaciones-dl dt {
    background-color: #f7f7f7; /* Un fondo ligero para destacar la etiqueta */
    font-weight: bold;
    padding: 12px 15px;
    border-bottom: 1px solid #e9e9e9;
}

/* Descripción de la especificación (el valor, ej: "PREDATOR") */
.especificaciones-dl dd {
    margin: 0; /* Anular el margen por defecto del navegador */
    padding: 12px 15px;
    border-bottom: 2px solid #e0e0e0; /* Una línea más gruesa para separar las filas */
}


/* --- MEDIA QUERY PARA PANTALLAS GRANDES (DESKTOP) --- */

/* Estos estilos se aplicarán en pantallas de 768px de ancho o más */
@media (min-width: 768px) {
    .especificaciones-dl {
        /* Se convierte en una cuadrícula de 2 columnas */
        grid-template-columns: max-content 1fr;
        border-top: 1px solid #e0e0e0;
    }

    /* En desktop, la etiqueta ya no necesita fondo */
    .especificaciones-dl dt {
        background-color: transparent;
        text-align: right; /* Alinea las etiquetas a la derecha para un look profesional */
        padding-right: 15px;
        border-bottom: 1px solid #e0e0e0; /* Borde más fino para las líneas de la cuadrícula */
    }

    .especificaciones-dl dd {
        text-align: left;
        border-bottom: 1px solid #e0e0e0;
    }

    /* Ocultar las celdas vacías en la vista de escritorio */
    .specifications__emptyCell--R-RJ8f {
        display: none;
    }
}

/* Estilo para la nota al final */
.specifications__note--kSnoJn {
    font-size: 14px;
    font-style: italic;
    color: #666;
    margin-top: 15px;
    text-align: center;
}