:root {
    /* Colors */
    --color-brand: #007f39;
    --color-brand-dark: #00642d;
    --color-dark: #2d2d2d;
    --color-cream: #fbf9f8;
    --color-border: #dcdcdc;
    --color-btn-info: #f8f6f4;
    --color-btn-info-hover: #e9e7e5;
    --color-white: #fff;

    /* Border radius */
    --radius-lg: 24px;
    --radius-btn: 100px;
    --radius-sm: 8px;

    /* Spacing */
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;

    /* Sizes */
    --size-input: 52px;
    --padding-top-auth: 150px;

    /* Transitions */
    --transition-fast: 0.2s ease;
}
body, #wrapper {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}
.cart-buttons{
    display: flex;
    flex-direction: row;
    gap: 8px;
}
#product #wrapper{
background-color: var(--color-white) !important;}
.ps-shoppingcart.dropdown #blockcart-content{
z-index: 1000;
}

#desktop-header, #mobile-header  {
box-shadow: rgba(0, 0, 0, 0.06) 0px 0px 0px 1px, rgba(0, 0, 0, 0.03) 0px 1px 1px -0.5px, rgba(42, 51, 70, 0.04) 0px 2px 2px -1px, rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px, rgba(42, 51, 70, 0.03) 0px 5px 5px -2.5px, rgba(42, 51, 70, 0.03) 0px 10px 10px -5px, rgba(42, 51, 70, 0.03) 0px 24px 24px -8px;
}

#js-checkout-summary .card-block {
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}




.col-header-menu{
    padding-left: 0;
    padding-right: 0;

}
.product-additional-info.js-product-additional-info{display: none;}
.btn-product-list{
padding: 0.6rem;}
.elementor-image img{
border-radius: var(--radius-lg);}

.products-selection .view-switcher{
display: none;
}
.products-selection .justify-content-between{
justify-content: end !important;}
.cart-summary-line .value{
color: var(--color-brand);
}
#checkout-header .logo.img-fluid{
max-width: 500px;}
#product .product-flags.js-product-flags {
    display: flex;
    gap: 8px;
    opacity: 1;
    visibility: visible;
}


.product-miniature-grid .product-price{
font-weight: 600;}
.products-grid .product-miniature-layout-1 .product-price-and-shipping{
padding-bottom: var(--spacing-md);
}
 .elementor-button{
border-radius: var(--radius-lg);
padding: var(--spacing-md) var(--spacing-xl);}

.elementor-button.elementor-size-large{
    font-size: 18px;
}
.btn{
    border-radius: var(--radius-btn);
    font-weight: 700;
}
.elementor-button-text {
    font-size: 18px;
}


.btn-product-list.add-to-cart{
    background-color: transparent;
    border: 1px solid var(--color-dark);
    color: var(--color-dark);
    transition: all var(--transition-fast);
}
.btn-info{
    background-color: var(--color-btn-info);
    border-color: var(--color-btn-info);

}
.btn-info:hover{
    background-color: var(--color-btn-info-hover);
    border-color: var(--color-btn-info-hover);

}
.btn-info:active , .elementor-newsletter-btn:active{
    background-color: var(--color-btn-info-hover) !important;
    border-color: var(--color-btn-info-hover) !important;

}


.btn-product-list.add-to-cart:focus{
     outline: 2px solid var(--color-dark);
}
a.nav-link{
    border-radius: var(--radius-lg);
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.cbp-horizontal .cbp-tab-title{
    font-size: 15px !important;
}

.nav-link:hover{
border-radius: var(--radius-lg);
}

.cbp-hrmenu > ul{
display: flex;
justify-content: center;}

#blockcart-content .cart-totals{
    font-size: 1rem;
    margin-bottom: 1rem;
}

.cart-totals .value{
    font-weight: 700;
}


.form-group.row .col-md-2{
    width: 25%;
}
.cart-grid-right .cart-summary {
    margin-bottom: 1rem;
    border-radius: var(--radius-lg);
    padding: var(--spacing-md);
    background-color: var(--color-cream);
}
.cart-summary-line.cart-total {
    font-weight: 700;
    font-size: 1rem;
}
body#checkout section.checkout-step{
    border-radius: var(--radius-lg);
    background-color: var(--color-white);
}

.product-miniature .input-group-add-cart{
    opacity: 0;
    transform: translateY(10px);
    transition: all .3s ease;
}
.product-miniature:hover .input-group-add-cart {
    opacity: 1;
    transform: translateY(0);
}

#blockcart-content{
    width: 450px;
    position: relative;
}

#blockcart-content.trv-blockcart-loading {
    cursor: wait;
}

#blockcart-content.trv-blockcart-loading::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    background: rgba(255, 255, 255, 0.76);
    backdrop-filter: blur(1px);
}

#blockcart-content.trv-blockcart-loading::after {
    content: "\f110";
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 11;
    width: 48px;
    height: 48px;
    margin: -24px 0 0 -24px;
    border-radius: 50%;
    color: var(--color-brand);
    font: normal normal normal 32px/48px FontAwesome;
    text-align: center;
    animation: fa-spin 1s infinite linear;
}
.col-form-label{
 font-weight: 600;
}
li.product-flag, #product-availability.badge {
    border-radius: var(--radius-sm) !important;

}

body#checkout section.checkout-step.-current{
    border-color: var(--color-brand);
}
body#checkout section.checkout-step.-current .step-title{
    border-bottom: none;
}

body#checkout #wrapper a:link:not(.nav-link):not(.btn) {
    color: var(--color-brand);
}
body#checkout section.checkout-step #personal-information-step-login{
    border-radius: var(--radius-lg);
}

.discount{
    border-radius: var(--radius-sm);
    font-size: 14px;
}
/* botones de suma y resta producto */

.row.extra-small-gutters.product-quantity {
    margin: 45px 0 !important;
    display: flex !important;
    gap: var(--spacing-lg) !important;
}

div.qty {
    width: fit-content !important;
}

.bootstrap-touchspin {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}


#quantity_wanted, input.js-cart-line-product-quantity.form-control,
input.block-cart-product-quantity.form-control  {
    width: 80px !important;
    height: var(--size-input) !important;
    text-align: center !important;
    border: 1px solid var(--color-border) !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
}

.close {
    font-weight: 400 !important;
}
.input-group-btn-vertical {
    display: contents !important;
}


.btn-touchspin {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--color-border) !important;
    background: var(--color-white) !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: all var(--transition-fast) !important;
}
.input-group.bootstrap-touchspin input {
    height: 44px !important;
}
.btn-touchspin:hover {
    background: #f5f5f5 !important;
}

.bootstrap-touchspin-down {
    order: 1 !important;
}
.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down{
    border-top-color: var(--color-border) !important;
}

#quantity_wanted {
    order: 2 !important;
}

.bootstrap-touchspin-up {
    order: 4 !important;
}
span.input-group-addon.pp_qty_text {
    order: 3 !important;
    margin-left: -10px !important;
    border-radius: 0 !important;
    font-size: 14px !important;
}

.btn-touchspin i {
    font-size: 14px !important;
    pointer-events: none !important;
}
.bootstrap-touchspin .input-group-btn-vertical i{
    left: 35% !important;
    top: 35% !important;
}

.products.row > .col, .products.row > [class*="col-"]{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.product-miniature-default .product-add-cart .input-group-add-cart {
    flex-wrap: wrap !important;
    gap: var(--spacing-md);
}

.elementor-widget-prestashop-widget-ProductsList .form-control.input-qty {
    order: 2 !important;
    height: var(--size-input);
}

#blockcart-content .cart-products .bootstrap-touchspin{
    width: auto !important;
}
#blockcart-content .cart-products .block-cart-product-quantity{
    width: 50px;
    order: 2 !important;
}
.cart-items .cart-item .bootstrap-touchspin{
    max-width: 100% !important;
}
.cart-items .input-group{
    flex-wrap: nowrap !important;
}

.cart-items .col-9{
    width: 60% !important;
}
.cart-items .js-cart-line-product-quantity.form-control{
    width: 50px;
    order: 2 !important;
}
.cart-items .discount.discount-percentage{
    display: none;
}
.block-links ul>li a {
    padding-left: var(--spacing-lg) !important;
}
.block-links ul>li a:before{
    top: 4px;
}



.swiper-container-wrapper .input-group-add-cart{
    display: none !important;

}
.swiper-container-wrapper .product-add-cart{
    display: none !important;
}


#wrapper .breadcrumb {
    display: block;
    white-space: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid  rgba(160, 160, 160, .25);
}
#wrapper .breadcrumb a:hover{
    color: var(--color-brand-dark);
}

.swiper-button-next, .swiper-button-prev {
    background: var(--color-white);
    color: #282828;
    border: 1px solid var(--color-border);
    aspect-ratio: 1 / 1;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    line-height: 50px;
    text-align: center;
    border-radius: 50%;
}


.col-mobile-menu-push #_mobile_iqitmegamenu-mobile {
    width: 100%;
    max-width: 460px; 
}
.products-selection .form-control {
    padding: .5rem .8rem;
    border-radius: var(--bs-border-radius-2xl);
}
.select-title .select-title-name {
    min-width: 140px !important;
    max-width: 140px !important;
}
.cbp-hrmenu .cbp-links li a {
    font-size: 15px !important;
}
.cbp-hrmenu .cbp-links li a:before {
    display: none !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    text-wrap: balance;
}
img.logo.img-fluid {
    max-height: 58px !important;
    aspect-ratio: 672 / 172 !important;
    width: auto;
    max-width: auto;
}
body .custom-checkbox input[type=checkbox] {
    width: 24px !important;
    height: 24px !important;
}
body .custom-checkbox input[type=checkbox]+span {
    width: 24px !important;
    height: 24px !important;
}
body .custom-checkbox input[type=checkbox]+span .checkbox-checked {
    top: 0px;
    left: 1px;
    bottom: 0;
    right: 0;
    margin: auto;
    font-size: 24px;
}
body .custom-radio {
    width: 24px;
    height: 24px; 
}
body .custom-radio input[type=radio]:checked+span {
    width: 10px;
    height: 10px;
}
.swiper, .swiper-wrapper {
    z-index: initial; 
}
.swiper-button-next {
    right: 1rem;
}
.swiper-button-prev {
    left: 1rem;
}
.swiper-button-disabled {
    opacity: 0 !important; 
}
body#product .swiper-button-next, body#product .swiper-button-prev {
    z-index: initial; 
}


@media(max-width: 768px) {
    body#product .add {
        width: 100%;
        position: fixed;
        left: 0;
        bottom: 0;
        padding: 1rem;
        background-color: #fff;
        z-index: 11111111111111111;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    }
    body#product .add button {
        width: 100%; 
    }
    body#product #footer {
        padding-bottom: 100px;
    }
    #footer .block {
        flex: 100%;
    }
    #footer .block-title, #checkout-footer .block-title {
        width: 100%; 
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    }
    .block-toggle > .block-title span::after {
        float: right !important;
    }
    .block-toggle  .block-content {
        display: none;
    }
    .block-toggle._toggled .block-content {
        display: block;
    }
    .product-list-subcategories > .row {
        display: flex;
        gap: 1rem;
        flex-wrap: nowrap;
        overflow-x: auto;
    }
    .product-list-subcategories > .row > div {
        width: 140px;
    }
}

.cart-buttons.text-center a {
    max-width: 50%;
    height: 50px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 50px;
}
.subcategory-image a {
    aspect-ratio: 1 / 1;
    display: flex;
    overflow: hidden;
    background-color: #f8f6f4;
    align-content: center;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all ease-in-out 300ms;
    max-width: 140px;
    margin: auto;
}
.subcategory-image a:hover {
    background-color:  #f1fff7;
    transform: scale(1.1);
}
.img-category {
    max-width: 64px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(24%) sepia(88%) saturate(1115%) hue-rotate(125deg) brightness(92%) contrast(101%);
}
#search_filters .facet .facet-type-radio, #search_filters .facet>.facet-type-checkbox, #search_filters_brands .facet .facet-type-radio, #search_filters_brands .facet>.facet-type-checkbox, #search_filters_suppliers .facet .facet-type-radio, #search_filters_suppliers .facet>.facet-type-checkbox {
    max-height: 500px;
    overflow-x: auto;
}

.block-iqitlinksmanager-2 ul li a[href^="tel:"]::before,
.block-iqitlinksmanager-2 ul li a[href^="mailto:"]::before {
    font-family: "remixicon";
    font-style: normal;
    margin-right: 6px;
    font-size: 14px;
    background-color: rgba(255, 255, 255, 0.2);
    padding: 8px;
    border-radius: 50%;
}
.block-iqitlinksmanager-2 ul li a[href^="tel:"]::before {
    content: "\efec";
}
.block-iqitlinksmanager-2 ul li a[href^="mailto:"]::before {
    content: "\eef6";
}

@media (max-width: 500px) {
    .block-iqitlinksmanager-2 .email-domain {
        display: none;
    }
    .block-iqitlinksmanager-2 ul li:has(a[href^="mailto:"]) {
        display: none;
    }
}

/* Sello bio superpuesto sobre la imagen de producto */
.thumbnail-container a.product-thumbnail,
.product-lmage-large {
    position: relative;
}
.thumbnail-container a.product-thumbnail {
    display: block;
}

.thumbnail-container a.product-thumbnail::after,
.product-lmage-large::after {
    content: '';
    position: absolute;
    background-image: url('../img/producto-bio.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left bottom;
    
    pointer-events: none;
    z-index: 2;
    aspect-ratio: 100 / 67;
}

.thumbnail-container a.product-thumbnail::after {
    width: 40px;
    border-radius: 4px;
    left: 8px;
    bottom: 8px;
   
}
.product-lmage-large::after {
    width: 80px;
    border-radius: 16px;
    bottom: 16px;
    left: 16px;

}
.thumbnail-container {
    background-color: #fbf9f8;
    border-radius: 8px;
}

.product-miniature-default .product-flags {
    left: 8px;
    top: 8px;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    gap: 8px;
}
.product-miniature-default li {
    margin: 0 !important;
}
.product-miniature-default .product-thumbnail img, body#product .product-cover img {
    mix-blend-mode: darken;
}
.subcategory-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 1rem;
}
body#product .product-cover {
    background-color: #fbf9f8;
    border-radius: 16px;
}

body .products-selection .justify-content-between {
    justify-content: space-between !important;
} 
.noUi-connects {
    height: 10px;
}
.noUi-touch-area {
    background-color: #ffffff;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    border: 1px solid #aeaeae;
    margin-top: 5px;
}
#search_filters .noUi-horizontal {
    height: 10px;
}
body .product-miniature-grid .product-title {
    line-height: 1.5 !important;
    height: 3rem !important;
}
.cbp-hrmenu .cbp-column-title {
        padding-left: 12px !important;
}
.products.row {
    margin: 0 !important;
}
.tax-shipping-delivery-label {
    font-size: 14px;
}

#footer .block-footer,
#footer .block-links,
#footer .footer-container,
#checkout-footer {
    font-size: 14px;
}

#footer .block-footer a,
#footer .block-links ul > li a,
#footer .footer-container a,
#checkout-footer a {
    font-size: 14px;
    line-height: 1.45;
}

#footer .block-title,
#footer .block-title span,
#checkout-footer .block-title,
#checkout-footer .block-title span {
    font-size: 16px;
    line-height: 1.25;
}

.trv-footer-copyrights {
    padding: 16px 0;
    background: var(--color-white);
    border-top: 1px solid rgba(45, 45, 45, 0.08);
}

.trv-footer-copyrights-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-lg);
}

.trv-footer-copyrights-line {
    flex: 1 1 auto;
    color: var(--color-dark);
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
}

.trv-footer-copyrights .grid-payments {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}

.trv-footer-copyrights .grid-payments img {
    display: block;
    width: 65px !important;
    height: auto !important;
    padding: 6px;
    aspect-ratio: 6 / 4;
    object-fit: contain;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 4px;
}

@media (max-width: 767px) {
    .trv-footer-copyrights-inner {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }

    .trv-footer-copyrights-line {
        text-align: center;
    }

    .trv-footer-copyrights .grid-payments {
        justify-content: center;
    }
}

.pp_price.pp_price_product_price.product-price.h5.has-discount {
    padding-top: 12px;
}

body#product span.product-price.current-price-value {
    position: relative;
    display: inline-block;
    padding: 14px 48px;

    color: #282828;
    background-color: #f3f5e5;
    font-size: 22px;
    font-weight: bold;
    overflow: hidden;
}

/* Mordida izquierda */
body#product span.product-price.current-price-value::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -16px;

    width: 32px;
    height: 32px;

    background-color: #fff;
    border-radius: 50%;

    transform: translateY(-50%);
}

/* Mordida derecha */
body#product span.product-price.current-price-value::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -16px;

    width: 32px;
    height: 32px;

    background-color: #fff;
    border-radius: 50%;

    transform: translateY(-50%);
}

body#cart .pp_qty_wrapper {
    display: none;
}

#product-images-large {
      mix-blend-mode: darken;
}

#blockcart-content .pp_qty_wrapper {
    display: none;
}
#blockcart-content .input-group.bootstrap-touchspin {
    max-width: 220px;
}
#blockcart-content .cart-totals {
    font-size: 1.15rem;
    line-height: 1.2em;
    padding: .875rem 0;
    border-top: 8px solid #fbf9f8;
}
#blockcart-content .cart-products>li {
    border-bottom: 3px solid #fbf9f8 !important;
}
#blockcart-content .cart-subtotals {
    border-top: none;
}
body#cart .unit-price-cart {
    display: none;
}
body#cart span.pp_price_with_text {
    font-size: 14px !important;
    width: 90px;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.modal-title {
    font-size: 1.25rem !important;
}

a.remove-from-cart {
    background-color: #f3f3f3;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}



button.btn.btn-primary.submit-coupon, .group-password button.btn.btn-outline-secondary {
    position: absolute;
    right: 4px;
    height: 40px;
    width: 40px;
    padding: 0;
    line-height: 40px;
    top: 5px;
    border-radius: 6px;
    text-align: center;
}

body#product .has-discount div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
}