/*GENERAL STYLE*/
:root {
    --white: #fff;
    --black: #000;
    --semi-transparent-grey: #fffc;
    --grey: #e0dee0;
    --light-blue: #66afe9;
    --grey-2: #363636;
    --grey-3: #333;
    --grey-4: #555;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Thin.ttf) format("truetype");
    font-style: normal;
    font-weight: 100;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-ExtraLight.ttf) format("truetype");
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Light.ttf) format("truetype");
    font-style: normal;
    font-weight: 300;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Regular.ttf) format("truetype");
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Medium.ttf) format("truetype");
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-SemiBold.ttf) format("truetype");
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Bold.ttf) format("truetype");
    font-style: normal;
    font-weight: 700;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-ExtraBold.ttf) format("truetype");
    font-style: normal;
    font-weight: 800;
}

@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Black.ttf) format("truetype");
    font-style: normal;
    font-weight: 900;
}


body {
    font-family: 'Montserrat';
    font-size: 14px;
    line-height: 1.42857143;
    color: var(--grey-3);

}
body a{
    color: var(--grey-2);
}
body a:hover{
    color: var(--grey-2);
    text-decoration: underline;
}
button:focus{
    outline: none !important;
}
button:hover{
    background-color: var(--grey-2);
    color: var(--white);
}
.btn{
    width: auto;
    min-width: 80px;
    padding: 10px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    outline: none;
    background-color: var(--grey-2);
    border: none;
    color: #fff;
    margin: 25px 5px 6px 5px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
    text-transform: initial;
    font-weight: 400;
}
/*END GENERAL STYLE*/


/*AUTHENTICATION PAGE*/
#authentication #header,
#authentication .breadcrumb,
#contact #header,
#contact .breadcrumb
{
    display: none;
}

#authentication #footer,
#contact #footer{
    display: none !important;
}


#authentication,
#contact{
    background-image: url("../img/authentication-background.jpg?f");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#authentication #wrapper,
#contact #wrapper{
    padding: 0;
    background: transparent;
    max-width: 450px;
    width: 100%;
}
#authentication #wrapper > .container,
#contact #wrapper > .container{
    padding: 0;
}
.page-customer-account #wrapper > .container > .row,
#contact #wrapper > .container > .row{
    margin: 0;
}
.page-customer-account #wrapper > .container > .row #content-wrapper,
#contact #wrapper > .container > .row #content-wrapper
{
    padding: 0;
}

#authentication main,
#contact main{
    display: flex;
    height: 100%;
    justify-content: center;
    padding-top: 15%;
}

#authentication #content,
#contact #content{
    background: var(--semi-transparent-grey);
    margin-bottom: 0;
    padding: 0;
}

#authentication .logo {
    width: 100%;
    height: auto;
    max-width: 80px;
    margin-bottom: 25px;
}

#authentication .login-container {
    text-align: center;
    padding: 25px 0;
}

#authentication input:focus {
    border-color: var(--light-blue);
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
}

#authentication .input-group.focus {
    outline: 0;
}
#authentication .login-form-container {
    display: none;
}
#authentication .pre-login p{
    font-size: 16px;
    margin-bottom: 30px;
}
#authentication .pre-login button{
    background-color: var(--black);
    color: var(--white);
    line-height: 42px;
    max-width: 250px;
    width: 100%;
    font-size: 17px;
    padding: 0;
    margin: 0;
    border-radius: 0;
}
.page-customer-account .pre-login button:hover{
    text-decoration: underline;
}

.page-customer-account .js-input-column {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 210px;
    width: 100%;
    padding: 0;
}
.page-customer-account input{
    border: 1px solid var(--grey);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    height: 34px !important;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: var(--grey-4);
    background-color: var(--white);
    text-align: center;
}
.page-customer-account .input-group .input-group-btn>.btn[data-action=show-password]{
    padding: 0;
    background: transparent;
}
.page-customer-account .send-button-container{
    text-align: center;
}
.page-customer-account .send-button-container button{
    margin: 11px 5px 35px 5px;
}
#authentication.page-customer-account .js-input-column:before {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 35px;
    height: 35px;
    left: -40px;
    filter: brightness(0) saturate(100%) invert(51%) sepia(31%) saturate(490%) hue-rotate(144deg) brightness(89%) contrast(94%);;
}
.page-customer-account .center-email-fields{
    align-items: center;
}
.page-customer-account .contact-form-link {
    margin-top: 15px;
}
.page-customer-account #login-form .form-group{
    display: flex;
    justify-content: center;
}
.page-customer-account #login-form label,
.page-customer-account #login-form .form-control-comment
{
    display: none;
}
.page-customer-account .eye-icon{
    width: 35px;
    height: 35px;
    filter: brightness(0) saturate(100%) invert(51%) sepia(31%) saturate(490%) hue-rotate(144deg) brightness(89%) contrast(94%);
    margin-left: 5px;
    cursor: pointer;
    position: absolute;
}

.page-customer-account .email:before {
    background-image: url("../img/user.png");
}

.page-customer-account .password:before {
    background-image: url("../img/padlock.png");
}
.page-customer-account .password > .input-group{
    display: inline-block;
}
.page-customer-account#password header{
    text-align: center;
}
.page-customer-account #back-to-login{
    text-align: left;
    display: block;
}
.page-customer-account #back-to-login:hover{
    text-decoration: none;
}

/*END AUTHENTICATION PAGE*/

/*CONTACT PAGE*/
#contact .contact-form{
    background: transparent;
}
#contact .form-control-label{
    text-align: left;
}
/*END CONTACT PAGE*/


.product-prices.js-product-prices, .js-product-actions {
    display: none;
}
#product ul.nav.nav-tabs > li:nth-child(2) {
    display: none;
}
div#gridattributecontent .reference {
    display: none;
}
#cart span.input-group-btn-vertical {
    display: none;
}


#header .logo {
    max-width: 106px;
    height: auto;
    margin-bottom: 12px;
}
div#_desktop_logo {
    text-align: center;
}
#header .header-top {
    padding: 10px 0px;
}

div#header_right {
    text-align: right;
}

div#header_right > * {
    float: none;
    display: inline-block;
}

.container {
    width: 100%;
}

div#_desktop_top_menu {
    width: 100%;
    text-align: center;
    border-top: 1px solid #e3e1e1;
}

.top-menu a[data-depth="0"] {
    font-size: 14px;
    font-weight: 400;
}

div#search_widget {
    display: none;
    position: fixed;
    background: white;
    left: 0px;
    right: 0px;
    top: 50px;
    bottom: 0px;
    width: 100%;
    max-width: 100%;
}

div#search_widget > form {
    /* background: blue; */
    padding: 5px;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    max-width: 456px;
}

div#search_widget > form .title {
    text-align: center;
    font-weight: 500;
    color: black;
    font-size: 32px;
    border-bottom: 1px solid grey;
    margin-bottom: 58px;
    padding-bottom: 11px;
}

div#search_widget > form input {
    height: 50px;
    border-radius: 0px;
    border: 1px solid grey;
    background: white;
    margin-bottom: 21px;
}

div#search_widget > form button {
    border-radius: 0px;
    width: 100%;
    text-transform: uppercase;
    margin: 35px 0px;
}

section#wrapper {
    background: white;
}

span#search_icon {
    margin-left: 15px;
    cursor: pointer;
}

#_desktop_user_info i.material-icons {
    border: 2px solid black;
    border-radius: 50%;
    padding: 4px;
    width: 34px;
    height: 34px;
    font-size: 21px;
}

div#carousel {
    margin: -12px;
}

div#custom-text ul {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    padding: 0;
    margin: 0;
    justify-content: center;
}

div#custom-text ul li {
    width: calc(16% - 12px);
}

div#custom-text ul img {
    width: 100%;
    height: auto;
}

.footer-container {
    background: #3d4245;
}

.footer-container li a {
    color: white;
}

.footer-container .links, .footer-container .links .wrapper {
    width: 100%;
}

.footer-container li .links .h3 {
    display: none;
}

.footer-container .h3 {
    display: none;
}

.footer-container li {
    width: 32.3%;
    display: inline-block;
    text-align: center;
}
#custom-text {
    padding: 3.125rem 0px;
}
footer ul {
    margin-bottom: 0px;
}

div#left-column {
    display: none;
}

div#content-wrapper {
    width: 100%;
}

.block-category.card.card-block {
    margin-bottom: 0px;
    min-height: auto;
    text-align: center;
    background: #f2f2f2;
}

/*.subcategory-image {*/
/*    display: none;*/
/*}*/
#subcategories ul li {
    width: calc(100% / 5 - 20px);
    min-width: 200px;
    margin: 10px;
    text-align: center;
}
#subcategories ul h5 {
    border: 2px solid black;
    line-height: 50px;
}
.carousel .carousel-item figure {
    width: 100%;
}
.carousel .carousel-item figure img{
    max-with: initial
}
.highlighted-informations.no-variants {
    display: none;
}

.highlighted-informations {
    display: none;
}

#product #content {
    max-width: 100%;
}

.images-container.js-images-container {
    /*display: flex;*/
}

.product-cover {
    /*order: 2;*/
    /*width: calc(100% - 100px);*/
}

.js-qv-mask.mask {
    width: 100px;
}

div#gridattributecontent {
    text-align: center;
}

div#gridattributecontent table {
    margin: 0 auto;
}
footer.address-footer, .add-address, a[data-link-action="different-invoice-address"] {
    display: none;
}
span.carrier-price, div#cart-subtotal-shipping {
    display: none;
}
.address-footer {
    display: none;
}

.row.sort-by-row {
    display: none;
}
#carousel, #custom-text {
    max-width: 1500px;
    margin: 0 auto!Important;
}
#subcategories ul {
    justify-content: center;
}
#subcategories ul li .subcategory-image a {
    display: block;
    padding: 0px;
    border: 1px solid #f6f6f6;
}
#subcategories ul li .subcategory-image a img {
    max-width: 100%;
    vertical-align: top;
    height: auto;
    width: auto;
}
@media (max-width: 991px) {
    .carousel {
        left: 0px;
    }
    div#custom-text ul li {
        width: 100%;
    }
    div#gridattributecontent {
        overflow: auto;
    }
    /*div#header_right {*/
    /*    text-align: right;*/
    /*    display: none;*/
    /*}*/
}

@media (max-width: 767px) {
    #header .header-nav .language-selector, #header .header-nav .user-info {
        margin-top: 10px;
        white-space: nowrap;
    }
    #header .header-nav .blockcart .header {
        margin-top: -2px;
    }
    #header .header-top {
        padding: 0px;
    }
    div#_desktop_cart {
        display: none;
    }
    .header-top-right, div#_desktop_searchicon {
        padding: 0px;
        height: 0px;
    }
    div#_mobile_searchicon {
        margin-top: 10px;
    }
   footer .collapse {
        display: block!important;
    }
    .footer-container .links ul>li{
        width: 100%
    }
    footer .title{
        display: none
    }
    .footer-container {
        background: #f6f6f6;
    }
}
#carousel, #custom-text {
    max-width: 1500px;
    margin: 0 auto!Important;
}

#gridattributecontent table{
    max-height: 500px; /* Ajusta la altura máxima del contenedor según la pantalla */
    overflow-y: auto;  /* Habilita el desplazamiento vertical */
    border: 1px solid #ccc;
}

/* Hacer que la cabecera sea fija */
#gridattributecontent table .title td {
    position: sticky;
    top: 0;             /* Fijo en la parte superior cuando se desplaza */
    background-color: white; /* Fondo blanco para que sea visible */
    z-index: 1;         /* Asegura que la cabecera esté por encima del contenido */
    border-bottom: 2px solid #ddd; /* Estilo de la cabecera */
}
body#checkout section.checkout-step.-reachable.-complete h1 .step-edit {
    display: none;
}
.col-md-6.hidden-sm-down.total-products {
    display: none;
}
.product-description * {
    color: red;
    font-weight: bold;
    font-size: 17px;
    margin-bottom: 20px;
}
#main .images-container .js-qv-mask {
    overflow: initial;
}

/* Miniaturas de producto en grid de cuadrados */
#main .images-container .js-qv-mask.mask {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

#main .images-container .product-images.js-qv-product-images {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 6px;
    margin: 10px 0 0 0;
    padding: 0;
    list-style: none;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
}

#main .images-container .product-images.js-qv-product-images > li,
#main .images-container .product-images.js-qv-product-images .thumb-container {
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    aspect-ratio: 1 / 1;
}

#main .images-container .product-images.js-qv-product-images img.thumb,
#main .images-container .product-images.js-qv-product-images .js-thumb {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    cursor: pointer;
    border: 1px solid #e6e6e6;
    box-sizing: border-box;
}

#main .images-container .product-images.js-qv-product-images img.thumb.selected,
#main .images-container .product-images.js-qv-product-images .js-thumb.selected {
    border-color: #333;
}

/* Ocultar flechas de scroll de las miniaturas */
.scroll-box-arrows,
#content .scroll-box-arrows,
#main .scroll-box-arrows {
    display: none !important;
}