html {
    overflow-x: hidden;
}

main {
    max-width: 1254px;
    margin: auto;
    font-family: 'Nunito-Regular', 'Arial', sans-serif, 'Nunito', 'NunitoSans-Bold';
}
main,
main * {
    box-sizing: border-box;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p {
    margin-block-start: 0em;
    margin-block-end: 0em;
}



main h3,
main h4,
main h5,
main h6,
main strong {
    font-family: 'NunitoSans-Bold', 'Arial', sans-serif;
    color: #0E2536;
}

main h1 {
    font-family: Nunitosans-extraBold, Arial, sans-serif;
    font-size: 3.3rem;
    line-height: 3.875rem;
    max-width: 480px;
}



h2 {
    font-size: 1.25rem;
    font-family:  'NunitoSans', 'Arial', sans-serif;
    max-width: 480px;
    color: #fff;
    line-height: 1.625rem;
    max-width: 370px;
    text-align: left;
    font-weight: 300;
}


main p {
    color: #2F5776;
    padding-bottom: 20px;
}

main ul li {
    color: #2F5776;
    padding-bottom: 10px;
}

.puntos_subtitulo-1 {
    padding-bottom: 8px !important;
}

main h3 {
    font-family: Nunitosans-extraBold, Arial, sans-serif;
    font-size: 32px;
    line-height: 2.2rem;
    padding-bottom: 32px;
}



main a {
    color: #18A0FB;
    text-decoration: none;
}

main a:hover {
    text-decoration: underline;
}

.puntos_hero_contenedor,
.puntos_beneficios_contenedor,
.puntos_como_contenedor,
.acumular-mas-contenedor,
.acumula-section,
.acumular-mas,
.bajada-section,
.destacado-canje-contenedor,
.promo-black,
.section-encuesta {

    margin: 0px auto !important;
    padding: 20px 20px 28px 20px !important;
}

.puntos_hero_contenedor {
    margin-bottom: 80px;
}

.puntos_hero {
    width: 100%;
    height: 525px;
    background-image: url('https://staticresourcesfiles.blob.core.windows.net/content/wpub/static/3660044907061055-banner-landing-desktop.webp');
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    padding: 10px 55px 55px 55px;
    gap: 20px;
    position: relative;
}



.display-text {
    color: #0F0008;
    font-weight: 900;
    font-size: 88px;
    line-height: 96px;
    font-family: Nunitosans-extraBold, Arial, sans-serif;
    text-align: left;
}






.puntos_hero a {
    padding: 16px 30px 16px 30px;
    line-height: 10px;
    width: fit-content;
    color: #fff !important;
    text-align: center;
    font-size: 1rem;
    border-radius: 48px;
    border: 1px solid #EC4A04;
    background: #FD5B00;
    text-decoration: none;
    display: block;
    position: relative;
    transition: all 400ms;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
}


.puntos_hero::after {
    content: ' ';
    background-image: url('https://staticresourcesfiles.blob.core.windows.net/content/wpub/static/5769448889642907-group-15886.webp');
    background-size: cover;
    width: 493px;
    height: 490px;
    position: absolute;
    bottom: 0;
    right: 140px;
}

.puntos_beneficios {
    display: flex;
}

.puntos_img_logo_puntos {
    width: 100%;
    max-width: 70px;
}

.puntos_beneficios>div:nth-child(1) {
    flex: 1;
    border-right: 1px solid #E3EDF7;
    padding-right: 60px;
    margin-right: 60px;
}

.puntos_beneficios>div:nth-child(2) {
    flex: 2;
}

.bajada-section {
    display: flex;
    flex-direction: row;
    gap: 200px;
}

p.puntos_cifras {
    text-align: center;

    font-family: Nunitosans-extraBold, Arial, sans-serif;
    font-size: 48px !important;
    font-style: normal;
    font-weight: 900;
    color: #0E2536;
    padding-bottom: 0px;
}

.puntos_epigrafe {
    font-size: 20px;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    color: #4C174F;
    padding-bottom: 11px
}

.puntos_beneficios_columnas {
    display: flex;
    gap: 26px;
    padding-top: 20px;
}

.puntos_beneficios_columnas>div {
    flex: 1;
    display: flex;
    gap: 10px;
    flex-direction: column;
}

.puntos_beneficios_ico {
    max-width: 56px;
}

.cont_swiper {
    padding: 0px 20px;
}

.puntos_logos_comercios img {
    width: 100%;
    max-width: 28px;
}

.puntos_como_tit {
    text-align: left;
}

.puntos_como_tit h4 {
    padding-bottom: 10px !important;
}

.puntos_como_contenido {
    display: flex;
    gap: 40px;
}

.puntos_como_contenido>div {
    flex: 1;
}

.puntos_como_contenido>div:nth-child(2) {
    padding-top: 40px;
}

.puntos_como_imagen {
    width: 100%;
    max-width: 700px;
}

.puntos_que_contenido {
    text-align: center;
    background-image: url('https://staticresourcesfiles.blob.core.windows.net/content/wpub/static/5948432651063378-loop.webp');
    background-size: cover;
    background-repeat: repeat-x;
    /*
    background-position: center;
    */
    margin-bottom: 120px;
}

.puntos_que_contenido img {
    width: 100%;
    max-width: 200px;
}

/* fondo animado */
.animated_background {
    animation: moveBackground 20s linear infinite;
    /* Adjust duration and timing */
}

@media (max-width: 768px) {
    .animated_background {
        animation: moveBackground 90s linear infinite;
        /* Adjust duration and timing */
    }
}

@keyframes moveBackground {
    0% {
        background-position: 0 0;
        /* Starting position (x y) */
    }

    50% {
        background-position: 100% 0;
        /* Ending position for horizontal loop */
    }

    100% {
        background-position: 0 0;
        /* Ending position for horizontal loop */
    }
}

/* /fondo animado */

/* Seccion Acumular Puntos */
.acumula-section {
    display: flex;
    flex-direction: row;
    gap: 30px;
    overflow: hidden;
}

.acumula-text {
    flex: 1;
}

.acumula-cards {
    flex: 2;
}

.qp-card {
    padding: 20px 30px 30px 30px;
    border-radius: 10px;
    margin: 10px;
    min-height: 300px;
}

.black {
    background: #1A1A1F;
}

.platinum {
    background: #172A48;
}

.mastercard {
    background: #156377;
}

.qp-card p {
    color: #fff;
    margin: 0px;
    padding-bottom: 0px;
    text-align:left;

}

.acumular-mas-contenedor h3 {
    text-align: center;
}

.qp-card h4 {
    margin: 5px 0px 20px 0px !important;
    line-height: 5px;
    color: #fff;
    font-size: 24px;
}

.logos-retail img {
    width: 22px;
    margin-top: 5px;
}

.text-1 {
    font-size: 16px;
}

.qp-footer {
    font-size: 14px;
    margin-top: 20px !important;
    font-weight: 900;
    line-height: 1px;
}

.qp-bajada-footer {
    font-size: 12px;
    font-weight: 400;

}



/* /Seccion Acumular Puntos */


main p.comment-paragraph {
    padding-bottom: 0px;
    text-align: left;
}



/* TABLET */
@media (max-width: 1060px) {
    .puntos_hero::after {
        content: none;
    }

    .puntos_hero {
        overflow: hidden;
        border-radius: 50px;
    }

    .bajada-section {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

}

/* /TABLET */

/* MOBILE */
@media (max-width: 1060px) {

    .puntos_hero_contenedor,
    .puntos_beneficios_contenedor,
    .puntos_como_contenedor,
    .acumula-section,
    .acumular-mas,
    .bajada-section,
    .destacado-canje-contenedor,
    .acumular-mas-contenedor {

        margin: auto 20px;
    }

    main h1 {
        font-size: 2.125rem;
        line-height: 2.2rem;
    }

    .puntos_hero {
        padding: 45px 25px 25px 25px;
        height: 430px;
        justify-content: flex-start;
    }

    .puntos_beneficios>div:nth-child(1) {
        display: none;
    }

    main h3 {
        font-size: 1.475rem;
        line-height: 2rem;
    }

    .flechits {
        display: none !important;
    }

    .puntos_beneficios_columnas {
        flex-direction: column;
    }

    .puntos_como_contenido {
        flex-direction: column;
    }

    .qp-card {
        display: flex;
        flex-direction: column;

    }

    .puntos_testimonios {
        margin-bottom: 30px;
    }

    main p {
        padding-bottom: 0px;
    }

    .puntos_hero_contenedor {
        margin-bottom: 20px;
    }

    .puntos_epigrafe {
        padding-bottom: 0px;
        text-align: left;
    }

    .acumular-mas-contenedor {
        text-align: left;
    }

}

/* /MOBILE */

.puntos_testimonios h3 {
    font-size: 40px;

}

.acumula-text a {
    margin-top: 24px;
    padding: 16px 30px 16px 30px;
    line-height: 10px;
    width: fit-content;
    color: #fff !important;
    text-align: center;
    font-size: 1rem;
    border-radius: 48px;
    border: 1px solid #EC4A04;
    background: #FD5B00;
    text-decoration: none;
    display: block;
    position: relative;
    transition: all 400ms;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
}



.puntos_como_tit a {

    padding: 16px 30px 16px 30px;
    line-height: 10px;
    width: fit-content;
    color: #0E2536 !important;
    text-align: center;
    font-size: 1rem;
    border-radius: 48px;
    border: 1px solid #E3EDF7;
    background: #E3EDF7;
    text-decoration: none;
    position: relative;
    transition: all 400ms;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    display: block;
    margin: 20px auto 0px auto;
}



@media (max-width: 1060px) {
    .acumula-section {
        display: flex;
        flex-direction: column;
        margin-bottom: 30px;
    }

    .acumula-section h2 {
        text-align: left;
    }

    .acumula-section a {
        text-align: left;

    }


    .puntos_como_tit {
        text-align: left;
    }

    .puntos_como_tit a {
        margin: 24px auto 30px;
    }

    .puntos_testimonios h3 {
        font-size: 30px;


    }

    .acumular-mas-contenedor h3 {
        text-align: left;
    }
}

.qp-small-text {
    text-align: left;
}

.qp-card hr {
    border: none;
    height: 1px;
    background: #474748;
    ;
    margin: 15px 0px 0px 0px;
    max-width: 90%;

}


.tarjetas {

    max-width: 95%;
    margin: 0px auto 30px auto;

}

.bajada-subtitulo {
    text-wrap: wrap;
    text-align: left;
}

.bajada-subtitulo span {
    background: linear-gradient(270deg, #FC671F 0%, #A40089 51.04%, #2463B2 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* nueva seccion */


.acumular-mas {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px;


}

.card {
    background-color: #ffffff;
    width: 375px;
    margin-bottom: 16px;

    border-radius: 16px;
    box-shadow: 0 2px 16px -3px rgba(65, 97, 127, 0.20);
    padding: 24px 24px;
}

.card p {
    font-size: 18px;
    padding-bottom: 10px;
    text-align: left;

}

.card-viaje {
    background-image: url("https://staticresourcesfiles.blob.core.windows.net/content/wpub/static/2256977775248432-img-card-md-1-.webp");
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: cover;

}

.card-sm {
    height: 218px;
}

.card-md {
    height: 435px;
}

.card-lg {

    height: 670px;
    background-image: url("https://staticresourcesfiles.blob.core.windows.net/content/wpub/static/11918486686581597-img-card-l-1-.webp");

    background-size: cover;
}


.card-lg p {
    color: #ffffff;
}


.card-lg h4 {
    color: #ffffff;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    margin-bottom: 8px;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
}

.card-viaje h4 {
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    color: #ffffff;
    font-family: Nunito;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 8px;
}

.card-viaje p {
    color: #ffffff;

}



.card-multiplica {
    background-image: url("https://staticresourcesfiles.blob.core.windows.net/content/wpub/static/41561493497917734-img-card-mobile.webp");
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-size: cover;

    background-position: center;
    background-repeat: no-repeat;
}

.card-multiplica h4 {

    color: #ffffff;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px;
    margin-bottom: 8px;
}

.card-inscripcion h4 {
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    margin-bottom: 8px;
}

.card-multiplica p {
    color: #ffffff;

}

.card a {
    color: #E42600;
}


.card-cupon {
    overflow: hidden;
    padding-top: 0px !important;
}


.card-cupon h3 {
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    margin-bottom: 8px;
}

.card-cupon__img {
    width: 100%;

}

.card-cupon__img img {
    display: block;

    width: 100%;
    height: 220px;
    object-fit: contain;
}

#myElement {
    position: relative;
    height: 100%;
    padding-top: 30px;
    text-align: center;
}

#myElement .puntos_img_logo_puntos {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: auto;
    max-width: none;
}

.puntos_img_logo_puntos {


    width: 52px;
    height: 52px;
    max-width: none;
}

.qp-small-text span {

    background: linear-gradient(270deg, #FC671F 0%, #A40089 51.04%, #2463B2 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;


}



.cta-inline {
    display: inline-flex;
}

.cta-inline__link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.cta-inline__icon {
    width: 32px;
    height: 32px;


    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cta-inline__icon img {
    width: 32px;
    height: auto;
}






.destacado {
    border-radius: 16px;
    border: 1px solid #7F2684;
    padding: 16px 24px;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    width: 500px;
}

.destacado p {
    font-size: 18px;
    padding-bottom: 0px;
    color: #0E2536;

}

.destacado span {
    font-family: Nunitosans-extraBold, Arial, sans-serif;

}


.contenedor-destacado {
    display: flex;
    flex-direction: row;
    margin-bottom: 24px;

}

.destacado-canje {
    margin: 0 auto;
    border-radius: 24px;
    border: 1px solid #7F2684;
    padding: 16px 24px;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    width: 800px;
    text-align: center;
    margin-bottom: 50px;
}

.destacado-canje p {
    font-size: 18px;
    padding-bottom: 0px;
    color: #0E2536;
}

.destacado-canje span {
    font-family: Nunitosans-extraBold, Arial, sans-serif;
}


.promo-black {
    margin-bottom: 100px !important;
}


/* Banner contenedor */
.promo-black__wrap {
    position: relative;
    display: flex;
    align-items: center;

    border-radius: 28px;

    overflow: visible;

    background: linear-gradient(90deg, #151519 0%, #2B2B33 50%, #151519 100%);

    min-height: 260px;
    padding: 36px 44px;

    padding-left: 240px;
}

/* VISUAL flotante */
.promo-black__visual {
    position: absolute;
    left: 120px;
    top: 50%;
    transform: translateY(-50%);
    width: 550px;
    z-index: 2;
    pointer-events: none;
}

.promo-black__img {
    width: 100%;
    height: auto;
    display: block;
}

/* CONTENIDO */
.promo-black__content {
    color: #fff;
    max-width: 520px;
    z-index: 1;
    text-align: center;
    margin-left: 400px;
}

.promo-black__eyebrow {
    font-size: 20px;
    color: #fff;
    opacity: 0.9;
    margin-bottom: 8px;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
}

.promo-black__title {
    margin: 0 0 10px 0;
    color: #fff;
    font-size: 40px;
    line-height: 50px;
    font-weight: 800;
}

.promo-black__text {
    color: #fff;
    margin: 0 0 18px 0;
    opacity: 0.9;

}

/* CTA */
.promo-black__cta {
    padding: 14px 22px;
    width: fit-content;

    color: #fff !important;
    background: #FD5B00;
    border: 1px solid #EC4A04;
    border-radius: 48px;

    text-decoration: none;
    font-family: 'Nunito-Bold', 'Arial', sans-serif;
    display: inline-block;
}

.puntos_como_contenedor {

    margin-bottom: 100px;
}

.puntos_como_contenedor h3,
p {
    text-align: center;
}

.section-encuesta {

    justify-content: center;
    margin-top: 20px;

}

.section-encuesta .puntos_epigrafe {
    margin-top: 60px;
}

.section-encuesta p {
    text-align: center;
}

.section-encuesta h3 {
    text-align: center;
}

.likes-buttons {

    display: flex;
    flex-direction: row;
    justify-content: center
}

.likes-buttons p {
    margin-top: 32px;
}

/* MOBILE */
@media (max-width: 1060px) {



    section {
        padding: 20px 20px 0px 20px;
    }

    .promo-black {

        padding: 20px 0px 0px 0px !important;
        margin-bottom: 0px !important;

    }

    .promo-black__wrap {
        flex-direction: column;
        align-items: center;
        text-align: center;
        border-radius: 0 !important;
        padding: 70px 18px;
        padding-left: 18px !important;

        min-height: auto;
        margin: 0 !important;
        overflow: hidden;

    }

    .promo-black__visual {
        display: none;
    }

    .promo-black__title {
        font-size: 28px;
        line-height: 26px;
    }

    .promo-black__cta {
        margin: 0 auto;
    }

    .promo-black__content {

        margin-left: 0px;
    }

    .puntos_como_contenedor {
        margin-bottom: 0px;
    }

    main {
        max-width: 450px;
    }

}



@media (max-width: 1060px) {
    .display-text {
        font-size: 64px;
        line-height: 72px;
    }

    .bajada-section {

        display: flex;
        flex-direction: column;
        gap: 10px;

    }


    .acumular-mas {
        display: flex;
        flex-direction: column;
        justify-content: center;

        overflow: hidden;
    }

    .card {
        width: 328px;
    }

    .acumular-mas-contenedor {

        align-items: center;
    }


    .contenedor-destacado .puntos_img_logo_puntos {
        display: none;
    }

    .card-cupon {
        display: none;
    }

    .card p {
        font-size: 16px;


    }

    .destacado-canje {
        width: 100%;
        max-width: 328px;

        padding: 12px 16px;
        margin: 20px auto 40px;
        box-sizing: border-box;
    }

    .destacado-canje p {

        line-height: 20px;

    }

    .puntos_que_contenido {
        display: none;
    }
}






/* estilos desktop */
@media (min-width: 1060px) {
    .card-multiplica {
        display: none;
    }
}


/* Divider */
.divider-section {
    display: flex;
    justify-content: center;
    padding: 57px 20px;
}

.divider-line {
    width: 100%;
    max-width: 1254px;
    height: 1px;
    background-color: #E3EDF7;
}

@media (max-width: 1060px) {
    .divider-section {
        padding: 40px 20px;
    }


}

.animated_background {
    position: relative;
}

.animated_background::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 200px;
    background-image: linear-gradient(90deg, #ffffff, #ffffff00);
    content: '';
}

.animated_background::after {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 300px;
    background-image: linear-gradient(270deg, #ffffff, #ffffff00);
    content: '';
}



/* Micro feedback visual */
.likes-buttons a:hover img,
.likes-buttons a:active img {
    transform: scale(1.05);
}