/*==================================================================================================
Estilos del front page
==================================================================================================*/

/*==================================================================================================
Carrusel del Hero
==================================================================================================*/
.hero {
    width: 100%;
    height: auto;
    overflow: hidden;
    position: relative;
}

.hero-movil{
    display: none;
}

.badge-envio-gratis-movil {
    display: none;
}

.carrusel-imagenes {
    width: calc(100% * 7);
    height: 100%;
    display: flex;
    mask-image: linear-gradient(
        to bottom,
        black 0%,
        black 70%,
        transparent 100%
    );
}

.slider {
    width: calc(100% / 7);
    height: 100%;
}

.slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dots-container {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    position: absolute;
    z-index: 100;
    bottom: 30%;
    left: 50%;
    transform: translateX(-50%);
}
.dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #0000007d;
    cursor: pointer;
    transition: background-color 0.2s;
}
.dot.active {
    background-color: #15ad3c;
}

.btn-left, 
.btn-right {
    content: '';
    display: flex;
    position: absolute;
    top: calc(50% - 4vw);
    width: 1.5rem;
    height: 1.5rem;
    background-color: white;
    padding: 15px;
    cursor: pointer;
    user-select: none;
    background-position: center;
    background-size: contain;
    transition: var(--tiempo--transiciones);
}

.icon-arrow-left,
.icon-arrow-right {
    width: 1.5rem;
    height: 1.5rem;
}

.btn-left:hover, 
.btn-right:hover {
    box-shadow: var(--shadow--natural);
    transform: scale(1.1);
}

.btn-left {
    left: 0;
    padding-left: 20px;
    border-radius: 0 50% 50% 0;
}

.btn-right {
    right: 0;
    padding-right: 20px;
    border-radius: 50% 0 0 50%;
}

@media(max-width: 800px) {
    .hero {
        display: none;
    }
    .hero-movil {
        width: 100%;
        height: fit-content;
        margin: 10px 0;
        display: flex;
        gap: 10px;
        overflow-x: scroll;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scroll-marker-group: after;
    }
    .hero-movil::scroll-marker-group {
        display: flex;
        justify-content: center;
        gap: .5rem;
    }
    .hero-movil::-webkit-scrollbar{
        display: none;
    }
    .slider-movil {
        scroll-snap-align: start;
        flex: 0 0 24rem;
        height: fit-content;
    }
    .slider-movil::scroll-marker {
        content: '';
        display: flex;
        height: .5rem;
        width: .5rem;
        background-color: var(--color--text_secondary);
        border-radius: 50%;
    }
    .slider-movil::scroll-marker:target-current{
        background-color: var(--color--primary);
    }
    .slider-movil img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 0 20px;
    }
    .badge-envio-gratis-movil {
        display: flex;
        flex-direction: row;
        justify-self: center;
        width: 95%;
        background-color: white;
        border-radius: 5px;
        box-shadow: var(--shadow--natural);
        justify-content: center;
        align-items: center;
        gap: 5px;
        padding: 4px 0;
        margin: 20px 0px 10px 0px;;
    }
    .badge-movil-p1 {
        font-size: var(--tamaño--secundario);
        color: var(--color--primary);
    }
}

@media(max-width: 500px) {
    .hero-movil {
        padding-top: 10px;
        width: 100%;
        margin: 0px;
    }
    .slider-movil {
        flex: 0 0 90%;
    }
    .slider-movil img {
        padding: 0px 5%;
    }
    .slider-movil::scroll-marker {
        height: .25rem;
        width: .25rem;
    }
    .badge-envio-gratis-movil {
        width: 90%;
    }
}

/*==================================================================================================
Seccion categorias version movil
==================================================================================================*/
.categorias-populares {
    display: none;
    gap: 5px;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}
.categorias-populares::-webkit-scrollbar {
    display: none;
}
.categoria-item {
    scroll-snap-align: start;
    flex: 0 0 4.75rem;
    height: auto;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.categoria-item:first-child {
    padding-left: 5%;
}
.categoria-item:last-child {
    padding-right: 5%;
}
.categoria-item  .categoria-text {
    font-size: .7rem;
    color: var(--color--text_secondary);
    font-weight: 400;
    text-align: center;
}
@media(max-width: 800px) {
    .categorias-populares {
        display: flex;
    }
}
/*==================================================================================================
Features
==================================================================================================*/

.features {
    margin-top: min(-50px, -7vw);
    display: flex;
    justify-content: center;
    position: relative;
}

.features-content {
    width: var(--tamano-contenedores);
    display: grid;
    grid-template-columns: repeat(auto-fit, 1fr);
    column-gap: 20px;
}
.feature {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1/5;
    border-radius: var(--border-contenedores);
    background-color: white;
    padding: min(1.5vw, 20px);
    box-shadow: var(--shadow--natural);
    place-items: center;
    gap: 10px;
}

.feature h3, .feature p {
    text-align: center;
    text-wrap: balance;
}

.feature h3 {
    font-size: clamp(0.8rem, 1vw, var(--tamano--principal));
}

.feature p {
    font-size: clamp(0.625rem, 1vw, var(--tamaño--secundario));
}

.feature span {
    width: min(50px, 4vw);
    height: min(50px, 4vw);
}
.feature .btn span {
    height: var(--tamano--principal) !important;
}
.feature .icon-shop {
    width: var(--tamano--principal) !important;
}
.features-movil {
    display: none;
}

@media(max-width: 800px) {
    .features {
        display: none;
    }
    .features-movil {
        display: flex;
    }
    .features-content {
        display: flex;
        gap: 10px;
        width: 100%;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding: 10px 0;
    }
    .features-content::-webkit-scrollbar {
        display: none;
    }
    .features-content:first-child {
        padding-left: 5% ;
    }
    .feature {
        display: flex;
        flex: 0 0 10rem;
        background-color: transparent;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        scroll-snap-align: start;
        box-shadow: none;
        padding: 0px;
    }
    .feature-contain {
        display: flex;
        height: 100%;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        scroll-snap-align: start;
        background-color: white;
        padding: 10px;
        box-shadow: var(--shadow--natural);
        border-radius: var(--border-contenedores);
        gap: 10px;
    }
    .feature-contain h3, .feature-contain p {
        text-align: center;
        text-wrap: balance;
    }

    .feature-contain h3 {
        font-size: clamp(0.8rem, 1vw, var(--tamano--principal));
    }

    .feature-contain p {
        font-size: clamp(0.625rem, 1vw, var(--tamaño--secundario));
        line-height: 1.2;
    }

    .feature-contain span {
        width: min(50px, 4vw);
        height: min(50px, 4vw);
    }
}

@media(max-width: 500px) {
    .feature span {
        width: 40px;
        height: 40px;
    }
}

/*==================================================================================================
Par de mini banner 1
==================================================================================================*/

.minibanners {
    display: flex;
    justify-content: center;
    margin: 40px 0;
}

.contenedor-minibaner {
    width: var(--tamano-contenedores);
    display: inherit;
    gap: 20px;
}

.minibanner {
    border-radius: var(--border-contenedores);
    box-shadow: var(--shadow--natural);
    width: 100%;
    display: flex;
    height: 150px;
    justify-content: space-between;
    text-decoration: none;
}

.minibanner:first-child {
    background-color: black;
    color: white;
}

.minibanner:last-child {
    background-color: var(--color--primary);
    color: white;
}

.minibanner .banner-texto {
    padding: 20px;
    display: flex;
    flex-direction: column;
}

.banner-texto h2, .banner-texto .link {
    font-size: .625rem;
    text-transform: uppercase;
    font-weight: 400;
}

.banner-texto .link {
    margin-top: auto !important;
}

.banner-texto p {
    font-size: 1.125rem;
    text-transform: uppercase;
    font-weight: 500;
    color: white;
    line-height: 1;
}

.minibanner img {
    width: 45%;
    height: auto;
    object-fit: cover;
    border-radius: 0 10px 10px 0;
}

@media(max-width: 800px) {
    .contenedor-minibaner {
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 10px;
    }
    .minibanners {
        margin: 0px 5%;
    }
    .contenedor-minibaner .banner-texto p {
        font-size: 1rem;
        margin-top: 10px;
    }
    .minibanner img {
        width: 30%;
    }
}
@media(max-width: 500px) {
    .minibanner img {
        width: 40%;
    }
}


/*==================================================================================================
Features 2
==================================================================================================*/

.feature-disfruta {
    display: flex;
    justify-content: center;
    margin: 40px 0;
    height: fit-content;
}
.contenedor-feature-disfruta {
    width: var(--tamano-contenedores);
    display: flex;
    border-radius: var(--border-contenedores);
    box-shadow: var(--shadow--natural);
    flex-direction: column;
}
.disfruta-top {
    display: flex;
    align-items: center;
    padding: 20px 20px 10px 20px;
    background-color: var(--color--secondary);
    gap: 10px;
    border-radius: var(--border-contenedores) var(--border-contenedores) 0 0;
}
.disfruta-top a {
    margin-left: auto;
    background-color: transparent;
}
.disfruta-top .principal {
    color: white;
    background-color: transparent;
    padding: 5px 20px 5px 20px;
    background-image: linear-gradient(270deg, var(--color--primary) 0%, var(--color--tertiary) 100%);
    border-radius: 20px 20px 20px 0px;
}
.disfruta-top .secundario {
    font-weight: 500;
}
.disfruta-bottom {
    display: flex;
    background-color: white;
    padding: 10px 20px 20px 20px;
    gap: 20px;
    height: fit-content;
    border-radius: 0 0 var(--border-contenedores) var(--border-contenedores);
}
.disfruta-bottom .solar, .disfruta-bottom .torvan, .disfruta-bottom .envio {
    width: 100%;
    height: 300px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.disfruta-bottom .solar {
    background-image: url(../img/Recurso\ 63.webp);
    /*filter: brightness(0.8);*/
}
.disfruta-bottom .torvan {
    background-image: url(../img/royal-enfield-5919885_1280.webp);
}
.disfruta-bottom .envio {
    background-image: url(../img/Recurso\ 65.webp);
    /*filter: brightness(0.8);*/
}
.disfruta-bottom .solar .contenido, .disfruta-bottom .torvan .contenido, .disfruta-bottom .envio .contenido {
    display: flex;
    height: 50%;
    box-sizing: border-box;
    padding: 15px;
    gap: 15px;
    justify-content: space-between;
    align-items: flex-end;
    background-image: linear-gradient(180deg, #00000000 0%, #000000 100%) !important;
    border-radius: 0 0 var(--border-contenedores) var(--border-contenedores);
}
.sako, .torvan-icon , .sdexpres {
    background-color: white;
    border-radius: 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50px;
    width: 80px;
    height: 80px;
}
.sako {
    background-image: url(../img/Sako.svg);
}
.torvan-icon {
    background-image: url(../img/Torvan.svg);
}
.sdexpres {
    background-image: url(../img/sdexpress.svg);
    background-size: 70px;
}
.disfruta-bottom .contenido .text {
    width: 75%;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 10px;
    gap: 10px;
}
.disfruta-bottom .contenido .text p {
    color: inherit;
}
.movil { display: none; }

@media(max-width: 800px) {
    .feature-disfruta {
        margin: 10px 0;
    }
    .disfruta-bottom {
        flex-direction: column;
    }
    .disfruta-bottom .solar .contenido, .disfruta-bottom .torvan .contenido, .disfruta-bottom .envio .contenido {
        display: flex;
        height: 80%;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }
    .disfruta-bottom .contenido .text {
        align-items: center;
    }
    .minibanner-2 img {
        width: 30%; 
    }
    .grid-categorias .categorias-contenedor {
        gap: 0px !important;
    }
    
}
@media(max-width: 500px) {
    .disfruta-bottom .contenido .text p,
    .disfruta-bottom .contenido .text h3 {
        text-align: center;
    }
    .feature-disfruta {
        margin: 10px 0;
    }
    .desktop { display: none; }
    .movil { display: flex; font-size: .75rem;}
}

/*==================================================================================================
Mini banner tiendas
==================================================================================================*/

.minibanners-3 {
    display: flex;
    justify-content: center;
    margin: 40px 0;
}

.contenedor-minibaner-3 {
    width: var(--tamano-contenedores);
    display: inherit;
    gap: 20px;
}

.minibanner-3 {
    position: relative;
    border-radius: var(--border-contenedores);
    box-shadow: var(--shadow--natural);
    width: 100%;
    display: flex;
    height: fit-content;
    justify-content: space-between;
    text-decoration: none;
}

.minibanner-3:first-child {
    background-color: white;
    color: black;
}

.minibanner-3 .banner-texto {
    padding: 50px;
    width: 70%;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 20px;
}
.minibanner-3 .banner-texto .btn {
    width: 160px;
}

.minibanner-3 .banner-texto h2, .banner-texto .link {
    font-size: 1.5rem;
    text-transform: uppercase;
    font-weight: 500;
}

.minibanner-3 .banner-texto .link {
    margin-top: auto;
}

.minibanner-3 .banner-texto p {
    font-size: 1.125rem;
    text-transform: uppercase;
    font-weight: 400;
    color: black;
    line-height: 1;
    width: 80%;
}

.minibanner-3  img {
    position: absolute;
    bottom: 0;
    right: 20px;
    width: 300px;
    height: auto;
    object-fit: cover;
    border-radius: 0 10px 10px 0;
}
@media(max-width: 1025px) {
    .minibanner-3 img {
        right: 20px;
    }
    .minibanner-3 .banner-texto {
        width: 50%;
    }
}

@media(max-width: 800px) {
    .contenedor-minibaner-3 {
        flex-wrap: wrap;
        gap: 10px;
    }
    .minibanner-3 .banner-texto {
        padding: 20px;
        width: 60%;
    }
    .minibanner-3 .banner-texto h2, .minibanner-3 .banner-texto p{
        font-size: 1rem;
    }
    .minibanners-3 {
        margin: 10px 5%;
    }
    .minibanner-3 img {
        width: 30%;
    }
}
@media(max-width: 500px) {
    .minibanner-3 img {
        right: 10px;
        width: 55%;
    }
    .minibanner-3 .banner-texto .btn {
        width: 160px;
        z-index: 10;
    }
    .minibanners-3 {
        margin: 10px 5%;
    }
    .minibanner-3 .banner-texto p {
        font-size: .8rem;
        width: 70%;
    }
    .minibanner-3 .banner-texto {
        gap: 5px;
        width: 55%;
    }
}
@media(max-width: 321px) {
    .minibanner-3 .banner-texto {
        gap: 5px;
        width: 70%;
    }
}

/*==================================================================================================
Par de mini banner 3
==================================================================================================*/

.minibanners-2 {
    display: flex;
    justify-content: center;
    margin: 40px 0;
}

.contenedor-minibaner-2 {
    width: var(--tamano-contenedores);
    display: inherit;
    gap: 20px;
}

.minibanner-2 {
    border-radius: var(--border-contenedores);
    box-shadow: var(--shadow--natural);
    width: 100%;
    display: flex;
    height: 250px;
    justify-content: space-between;
    text-decoration: none;
}

.minibanner-2:first-child, .minibanner-2:last-child {
    background-color: white;
    color: black;
}

.minibanner-2 .banner-texto {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 20px;
}

.minibanner-2 .banner-texto h2, .banner-texto .link {
    font-size: .625rem;
    text-transform: uppercase;
    font-weight: 400;
}

.minibanner-2 .banner-texto .link {
    margin-top: auto;
}

.minibanner-2 .banner-texto p {
    font-size: 1.125rem;
    text-transform: uppercase;
    font-weight: 400;
    color: black;
    line-height: 1;
}

.minibanner-2  img {
    width: 45%;
    height: auto;
    object-fit: cover;
    border-radius: 0 10px 10px 0;
}

@media(max-width: 800px) {
    .contenedor-minibaner-2 {
        flex-wrap: wrap;
        gap: 10px;
    }
    .minibanners-2 {
        margin: 10px 5%;
    }
    .minibanner-2 {
        height: 200px;
    }
    .minibanner-2 img {
        width: 30%;
    }
}
@media(max-width: 500px) {
    .minibanners-2 {
        margin: 10px 5%;
    }
    .minibanner-2 .banner-texto p {
        font-size: .8rem;
    }
    .minibanner-2 img {
        width: 55%;
    }
    .minibanner-2 .banner-texto {
        gap: 10px;
    }
}

/*==================================================================================================
Categorias
==================================================================================================*/

.grid-categorias {
    display: flex;
    justify-content: center;
    margin: 40px 0;
}
.grid-categorias .categorias-contenedor {
    width: var(--tamano-contenedores);
    display: inherit;
    gap: 20px;
    background-color: white;
    border-radius: var(--border-contenedores);
    box-shadow: var(--shadow--natural);
    flex-direction: column;
    padding: 20px;
    box-sizing: border-box;
}
.grid-categorias .categorias-contenedor h2 {
    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
    margin-bottom: 10px;
    text-transform: capitalize;
}
.grid-categorias .categorias-contenedor .categorias {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
.grid-categorias .categorias-contenedor .categorias h3 {
    font-weight: bold;
}
.grid-categorias .categorias-contenedor .categorias .categoria-item img {
    transition: all var(--tiempo--transiciones) ease;
}
.grid-categorias .categorias-contenedor .categorias .categoria-item img:hover {
    transform: scale(1.05);
}
.categoria-descripcion {
    font-size: 0.625rem;
    opacity: 0.7;
    text-align: center;
}
@media(max-width: 800px) {
    .grid-categorias {
        margin: 10px 0;
    }
    .grid-categorias .categorias-contenedor .categorias {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}
@media(max-width: 500px) {
    .grid-categorias .categorias-contenedor .categorias {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .grid-categorias .categorias-contenedor .categorias .categoria-item img {
        width: 70px;
        height: 70px;
    }
}

/*==================================================================================================
Marcas Colaboradoras
==================================================================================================*/

.colaboraciones {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: 4a0px;
}