/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/*AJUSTE DEL CARRITO EN DESKTOP*/
div#ps-shoppingcart-wrapper {
    display: flex !important;
    align-items: center !important;
}

/*MOSTRAMOS EL MOSTRAR TODO DEL SEARCH*/
.iqitsearch-show-all {
    text-align: center;
    padding: 10px 0;
    background: #f8f8f8;
    border-top: 1px solid #eaeaea;
}

.iqitsearch-show-all a {
    color: #333;
    font-weight: 600;
    text-decoration: none;
}

.iqitsearch-show-all a:hover {
    color: #000;
    text-decoration: underline;
}

html {
    scroll-behavior: smooth !important;
}

/*Editamos inicia sesion*/
#authentication div#content {
    border-radius: 10px;
    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.09);
}

@media (min-width: 1024px) {
    #authentication #content {
        width: 800px;
    }
}

#authentication input#field-email {
    border-radius: 5px;
}

#authentication input#field-password {
    border-radius: 5px;
}

#authentication form#login-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#authentication .form-group.row {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (min-width: 1024px) {
    #authentication .form-group.row {
        width: 800px;
    }
}

#authentication label.col-md-3.form-control-label.required {
    max-width: max-content;
}

button#submit-login {
    width: 250px;
    border-radius: 5px;
    margin: 20px 0px;
}

#authentication hr {
    display: none;
}

#authentication .no-account {
    margin: 25px 0px;
}

/*Editamos crear cuenta*/
form#customer-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#registration .form-group.row {
    display: flex;
    flex-direction: column;
    align-content: center;
    margin-bottom: 0;
}

@media (min-width: 1024px) {
    #registration .form-group.row {
        width: 800px;
    }
}

#registration div#content {
    border-radius: 10px;
    display: flex;
    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.09);
    flex-direction: column;
}

@media (min-width: 1024px) {
    #registration div#content {
        width: 800px;
    }
}

#registration p {
    text-align: center;
    padding: 10px 0px;
}

button.btn.btn-primary.form-control-submit.float-xs-right {
    width: 250px;
    border-radius: 5px;
    margin: 20px 0px;
}

h1.h1.page-title {
    text-align: center;
    border: unset !important;
}

form#customer-form .form-control {
    border-radius: 5px !important;
}

#registration label.col-md-3.form-control-label.required {
    max-width: max-content;
}

.password-requirements.text-muted p {
    text-align: left !important;
}

/*Editamos estilos Checkout*/
#delivery-address > div > section > div:nth-child(3) {
    display: none !important;
}

.cart-summary-line.cart-total {
    font-size: 1rem !important;
}

#blockcart-content .cart-totals {
    font-size: 1rem;
    font-weight: 700;
}

#checkout textarea#delivery_message {
    width: 100%;
}

#checkout p.form-informations {
    text-align: center;
}

h1.step-title.js-step-title.h3 {
    font-size: 16px !important;
    font-weight: 700 !important;
}

section#checkout-personal-information-step {
    border-radius: 15px;
    padding: 20px !important;
    margin: 20px 0px;
}

#checkout label.col-md-3.form-control-label {
    text-align: center;
}

#checkout .col-md-3.form-control-comment {
    text-align: center;
}

section#checkout-addresses-step {
    border-radius: 15px;
    margin: 20px 0px;
}

section#checkout-delivery-step {
    border-radius: 15px;
    margin: 20px 0px;
    padding: 20px !important;
}

section#checkout-payment-step {
    border-radius: 15px;
    margin: 20px 0px;
    padding: 20px !important;
}

#checkout h1.step-title.js-step-title.h3 {
    border: unset !important;
    padding-top: unset !important;
    padding-bottom: unset !important;
}

#delivery-address label.col-md-3.form-control-label.required {
    display: block;
}

#invoice-address label.col-md-3.form-control-label.required {
    display: block;
}

#checkout .row.delivery-option.js-delivery-option {
    background: unset !important;
    border: unset !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

button.btn.btn-primary.center-block {
    border-radius: 50px;
    font-size: 16px !important;
    padding: 10px 30px;
    transition: 0.5s;
}

a.btn.btn-secondary.btn-block {
    border-radius: 50px;
    font-size: 16px !important;
    padding: 10px 30px;
    transition: 0.5s;
}

a.btn.btn-secondary.btn-block:hover {
    opacity: 0.8;
    transition: 0.5s;
}

button.btn.btn-primary.center-block:hover {
    opacity: 0.8;
    transition: 0.5s;
}

section#js-checkout-summary {
    border-radius: 15px;
    margin-top: 20px;
}

#checkout .form-control {
    border-radius: 5px;
}

#checkout label.col-md-3.form-control-label {
    max-width: max-content;
}

footer.form-footer.clearfix {
    display: flex;
    justify-content: center;
}

#checkout .col-md-9.col-md-offset-3 {
    text-align: center;
}

body#checkout section.checkout-step .address-item.selected {
    background: #fff;
    border: #e5e5e5 2px solid;
    border-radius: 15px;
}

#checkout #content-wrapper a {
    color: #2a2a2a;
    font-size: 14px;
    font-weight: 400;
}

.custom-radio input[type=radio]:checked+span {
    background-color: #cdcdcd;
}

#checkout a.nav-link.active {
    background: #e9e9e9;
    color: black !important;
    padding: 7px 15px;
    border-radius: 7px;
    margin: 0px 10px;
}

.password-requirements {
    font-size: 12px !important;
    border: solid 1px #e7e7e7;
    padding: 10px;
    border-radius: 10px;
    background: #f1f1f1;
}

.password-requirements p {
    color: black;
    font-size: 14px;
}

/*Editamos datos del cliente*/
#identity .form-group.row {
    display: flex;
    flex-direction: column;
    align-content: center;
}

/*Iniciar sesion checkout*/
#checkout div#content {
    border-radius: 10px;
    box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.09);
}

@media (min-width: 1024px) {
    #checkout div#content {
        width: 800px;
    }
}

#checkout input#field-email {
    border-radius: 5px;
}

#checkout input#field-password {
    border-radius: 5px;
}

#checkout form#login-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#checkout .form-group.row {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (min-width: 1024px) {
    #checkout .form-group.row {
        width: 800px;
    }
}

#checkout label.col-md-3.form-control-label.required {
    max-width: max-content;
}

button.continue.btn.btn-primary.float-xs-right {
    width: 250px;
    border-radius: 5px;
    margin: 20px 0px;
}

#checkout hr {
    display: none;
}

#checkout .no-account {
    margin: 25px 0px;
}

/*Estilos carrito*/
div#blockcart-content {
    border-radius: 10px;
    padding: 15px;
}

#cart .card.cart-container {
    border-radius: 15px;
    padding: 20px;
}

#cart .card.cart-summary {
    border-radius: 15px;
    padding: 10px;
}

a.btn.btn-primary {
    border-radius: 50px;
    font-size: 16px !important;
    padding: 10px 30px;
    transition: 0.5s;
}

a.btn.btn-primary:hover {
    opacity: 0.8;
    transition: 0.5s;
}

/*Estilos Modal ADD product*/
#blockcart-modal .modal-header {
    background: #f1f1f1;
    border-radius: 15px 15px 0px 0px;
}

#blockcart-modal .modal-title {
    font-size: 14px;
    font-weight: 400;
    color: #000000;
}

#blockcart-modal .modal-content {
    border-radius: 15px;
}

#blockcart-modal .modal-body {
    border-radius: 0px 0px 15px 15px !important;
}

button.btn.btn-secondary {
    border-radius: 50px;
    font-size: 16px !important;
    padding: 10px 30px;
    transition: 0.5s;
}

button.btn.btn-secondary:hover {
    opacity: 0.8;
    transition: 0.5s;
}

/*Mostramos label en editar direccion del cliente*/
#address label.col-md-3.form-control-label.required {
    display: block;
}

/*Input control*/
input.js-cart-line-product-quantity.form-control {
    border-radius: 5px !important;
    margin: 0px 5px;
}

button.btn.btn-touchspin.js-decrease-product-quantity.bootstrap-touchspin-down {
    border-radius: 0px 0px 5px 5px !important;
}

button.btn.btn-touchspin.js-touchspin.js-increase-product-quantity.bootstrap-touchspin-up {
    border-radius: 5px 5px 0px 0px !important;
}

/*Editamos Add cuenta desde el perfil*/
#address section#content {
    padding: 30px;
    border-radius: 10px;
}

@media (min-width: 1024px) {
    #address section#content {
        width: 800px;
    }
}

#address .address-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#address label.col-md-3.form-control-label {
    max-width: 25%;
    text-align: center;
}

/*Editamos mi cuenta*/
@media (max-width: 1024px) {
    #my-account span.link-item {
        height: 92px;
    }
}

#emailsalerts > span {
    min-height: 92px !important;
}

#my-account span.link-item {
    background: transparent !important;
    padding: 0 !important;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, .08) !important;
    box-shadow: none;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    min-height: 92px !important;
}

#my-account span.link-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08) !important;
    border-color: rgba(0, 0, 0, .16);
}

#my-account section#content {
    display: flex;
    justify-content: center;
    margin: 50px 0px;
}

#my-account .text-sm-center a {
    background: #626262;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    padding: 10px 5px;
    border-radius: 5px;
    color: white;
    font-weight: 500;
    transition: 0.2s;
}

#my-account .text-sm-center a:hover {
    background: #ababab;
    transition: 0.2s;
    font-weight: bold;
}

#my-account footer.page-footer {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

@media only screen and (max-width: 768px) {
    #my-account section#content {
        display: flex;
        margin: 50px 0px;
        flex-direction: column;
        align-items: center;
        height: auto;
        justify-content: flex-start;
    }

    #my-account .links {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #my-account .links a {
        text-align: center;
        height: auto !important;
        flex: 0 0 70%;
    }

    #my-account section#main {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        height: auto !important;
    }
}

/*Editamos página de categoría*/
.block-category.card.card-block {
    background: unset !important;
    padding: unset !important;
    min-height: unset !important;
}

.block-category h1 {
    font-size: 1.5rem;
}

ul.category-top-menu li {
    font-size: 14px;
}

.block-categories .h6 {
    font-size: 1rem;
    font-weight: 600;
}

button.btn-unstyle.select-title {
    border-radius: 5px;
}

a.select-list.js-search-link:hover {
    background: #dddddd;
    color: #232323;
}

a.select-list.current.js-search-link:hover {
    background: #dddddd;
    color: #232323;
}

#category div#subcategories {
    display: none;
}

#pagenotfound .page-not-found,
#products .page-not-found {
    background: whitesmoke;
    color: #232323;
    /*float: left;*/
    padding: 1.2rem 4rem;
}

#js-product-list div#search_widget {
    float: left;
}

#js-product-list #search_widget form input {
    background: white;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
}

#js-product-list div#search_widget {
    min-width: 100% !important;
}

/*Breadcrumb General*/
nav.breadcrumb {
    margin-top: 15px;
}

/*Editamos reestablecer contraseña*/
#password div#content {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    padding: 30px;
}

@media (min-width: 1024px) {
    #password div#content {
        width: 800px;
    }
}

#password .form-group.center-email-fields {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#password button#send-reset-link {
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 5px;
}

#password .col-md-5.email {
    padding: 10px 0px;
}

#password input#email {
    border-radius: 5px;
}

#password label.col-md-3.form-control-label.required {
    max-width: max-content;
}

/*Vista en lista - Mayorista*/
.mto-mayorista-sin-stock {
    background-color: #F61B1B;
}

.mto-mayorista-poco-stock {
    background-color: #FF5E00;
}

.mto-mayorista-medio-stock {
    background-color: #FFB300;
}

.mto-mayorista-mucho-stock {
    background-color: #68B701;
}

.mto-mayorista-texto {
    width: 30%;
    display: flex;
    text-align: center;
    justify-content: center;
    border-radius: 5px;
    padding: 5px;
}

.mto-contador {
    display: grid;
    grid-template-columns: 30% 22% 26% 30%;
    align-content: center;
    align-items: center;
}

.mto-contenedor-resultados {
    text-align: center;
}

button.btn.btn-product-list.add-to-cart.comprar-mayorista {
    margin: unset !important;
    padding: 5px 10px;
}

article.product-miniature.product-miniature-default.product-miniature-list.js-product-miniature {
    border-radius: 8px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.07);
}

body#category .product-miniature a:link:not(.nav-link):not(.btn),
.product-miniature a:visited:not(.nav-link):not(.btn) {
    color: #030303;
}

/*Vista mayorista mobile*/
@media (max-width: 1024px) {
    .col.col-description {
        flex: 50%;
    }

    .cont-img-wuala {
        flex: 5%;
    }

    .row.medium-gutters.product-miniature-list-row {
        display: flex !important;
    }

    .mto-mayorista-texto {
        width: 50%;
    }
}

/*Estilos Tooltips*/
.stock-indicator {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.stock-indicator .tooltip {
    visibility: hidden;
    background-color: #afadadb5;
    backdrop-filter: saturate(140%) blur(20px) !important;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 8px;
    font-size: 12px;
    position: absolute;
    z-index: 10;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.stock-indicator .tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}

.stock-indicator:hover .tooltip {
    visibility: visible;
    opacity: 1;
}

span.label.label-pill.dark {
    color: black;
}

/* Navega por tipo: hover de tarjetas */
body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box .elementor-widget-container {
    height: 100%;
    padding: 32px 20px;
    border-radius: 4px;
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box .elementor-icon {
    transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}

body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box:hover .elementor-widget-container,
body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box:focus-within .elementor-widget-container {
    background-color: #fff;
    box-shadow: 0 12px 30px rgba(40, 32, 18, .08);
    transform: translateY(-5px);
}

body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box:hover .elementor-icon,
body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box:focus-within .elementor-icon {
    color: #C9A84C;
    border-color: #C9A84C;
    background-color: #FAF6EC;
    transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
    body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box .elementor-widget-container,
    body#index .elementor-section:has(.elementor-row > .elementor-column:nth-child(6)) .elementor-widget-icon-box .elementor-icon {
        transition: none;
    }
}

/* Cards de producto globales: home, catalogo y relacionados */
article.product-miniature.product-miniature-grid {
    height: 100%;
    padding: 14px;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

article.product-miniature.product-miniature-grid:hover {
    border-color: rgba(112, 112, 112, .18);
    box-shadow: 0 10px 28px rgba(32, 28, 22, .08);
    transform: translateY(-3px);
}

.product-miniature-layout-1 .product-description,
.product-miniature-layout-3 .product-description-inner,
.product-miniature-layout-2 .product-description .row > .col:first-child {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
}

.product-miniature-layout-1 .product-description > *,
.product-miniature-layout-3 .product-description-inner > *,
.product-miniature-layout-2 .product-description .row > .col:first-child > * {
    order: 40;
}

.product-miniature-grid .product-category-name {
    display: none;
}

.product-miniature-grid .product-brand {
    order: 10 !important;
    margin: 14px 0 6px;
    color: #111 !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.product-miniature-grid .product-brand a {
    color: inherit !important;
}

.product-miniature-grid .product-title {
    order: 20 !important;
    min-height: 0;
    margin: 0 0 7px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
}

.product-miniature-grid .product-reference {
    order: 30 !important;
    margin: 0 0 8px;
    color: #707070 !important;
    font-size: 11px;
    line-height: 1.35;
}

.product-miniature-grid .product-reference::before {
    content: "SKU: ";
}

.product-miniature-grid .product-price-and-shipping {
    order: 50 !important;
    margin-top: auto;
    padding-top: 2px;
    text-align: left;
}

.product-miniature-grid .product-price {
    font-size: 16px;
    font-weight: 700;
}

.product-miniature-grid .regular-price {
    margin-left: 8px;
    font-size: 11px;
}

.product-miniature-grid .product-price-without-tax {
    order: 60 !important;
    margin: 3px 0 10px !important;
    color: #707070 !important;
    font-size: 10px !important;
    line-height: 1.35;
}

.product-miniature-grid .products-variants {
    order: 70 !important;
}

.product-miniature-grid .product-description-short {
    order: 80 !important;
}

.product-miniature-grid .product-add-cart {
    order: 90 !important;
    margin-top: 0;
}

@media (max-width: 767.98px) {
    article.product-miniature.product-miniature-grid {
        padding: 10px;
    }

    article.product-miniature.product-miniature-grid:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    article.product-miniature.product-miniature-grid {
        transition: none;
    }
}

/* Cards de producto: boton ancho sin modificar el control de cantidad */
.product-miniature-grid .input-group-add-cart > .btn-product-list {
    width: calc(100% - 58px) !important;
    max-width: calc(100% - 58px);
    margin-left: 7px;
}

/* Cards de producto: ocultar bolsa del boton Anadir */
.product-miniature-grid .add-to-cart .bag-icon {
    display: none !important;
}

/* Home: botones de marcas */
body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button {
    width: 100%;
}

body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button {
    display: flex;
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid #707070;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button:hover,
body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button:focus-visible {
    border-color: #C9A84C;
    background-color: #fff;
    box-shadow: 0 8px 18px rgba(40, 32, 18, .10);
    transform: translateY(-3px);
}

@media (min-width: 768px) {
    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) > .elementor-container > .elementor-row {
        flex-wrap: nowrap;
        gap: 3px;
    }

    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) > .elementor-container > .elementor-row > .elementor-column {
        width: 12.5%;
        flex: 1 1 0;
        padding-right: 0;
        padding-left: 0;
    }
}

/* Landing Contacto (CMS 7) */
body#cms:is(.cms-id-7, .cms-id-8) #main > .page-header {
    display: none;
}

body#cms:is(.cms-id-7, .cms-id-8) :is(.page-cms-7, .page-cms-8) {
    padding: 32px 0 64px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-yem8qu2 > .elementor-container > .elementor-row {
    align-items: stretch;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-7pm1ill,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-surbdh2 {
    display: flex;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-7pm1ill > .elementor-column-wrap,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-surbdh2 > .elementor-column-wrap {
    flex: 1;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .12);
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-7pm1ill > .elementor-column-wrap {
    padding: 28px 32px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-surbdh2 > .elementor-column-wrap {
    padding: 42px 42px 22px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-ev2v9zg .elementor-widget-container,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-q6pbn9k .elementor-widget-container {
    margin: 0;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-ev2v9zg .elementor-heading-title {
    font-size: 25px;
    line-height: 1.2;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-q6pbn9k .elementor-heading-title {
    margin-top: 10px;
    font-size: 21px;
    line-height: 1.3;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-ou9rwd4 {
    margin: 14px 0 18px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-ou9rwd4 p {
    margin-bottom: 14px;
    line-height: 1.5;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box {
    margin-bottom: 12px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-icon {
    width: 16px;
    flex: 0 0 16px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon {
    display: flex;
    width: 16px !important;
    height: 20px !important;
    align-items: center;
    justify-content: center;
    font-size: 14px !important;
    line-height: 20px !important;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon i,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon i::before {
    width: auto !important;
    height: auto !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-content {
    min-width: 0;
    flex: 1;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-title {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.4;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-description p {
    margin: 0 0 0;
    line-height: 1.6;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-mhcgihf {
    margin-top: 22px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-mhcgihf .elementor-button {
    min-width: 203px;
    min-height: 42px;
    background: #00b51a;
    border-color: #00b51a;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-eqn4rs8 {
    margin-top: 22px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl > .elementor-widget-container,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .elementor-contactform-wrapper,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .contact-form {
    width: 100%;
    height: 100%;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .form-control-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .elementor-attachment-field {
    display: none;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .form-group {
    margin-bottom: 36px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .form-control {
    min-height: 42px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #aaa;
    border-radius: 3px;
    font-size: 14px;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl textarea.form-control {
    min-height: clamp(280px, 34vw, 460px);
    resize: vertical;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .form-control:focus {
    border-color: #0d0d0d;
    box-shadow: 0 0 0 2px rgba(13, 13, 13, .12);
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .btn-elementor-send {
    width: 202px;
    min-height: 42px;
    background: #0d0d0d;
    border-color: #0d0d0d;
    border-radius: 4px;
    color: #fff;
}

body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .btn-elementor-send:hover,
body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .btn-elementor-send:focus {
    background: #262626;
    border-color: #262626;
}

@media (max-width: 991.98px) {
    body#cms:is(.cms-id-7, .cms-id-8) :is(.page-cms-7, .page-cms-8) {
        padding: 24px 16px 48px;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-yem8qu2 > .elementor-container > .elementor-row {
        display: block;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-7pm1ill,
    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-surbdh2 {
        width: 100%;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-7pm1ill > .elementor-column-wrap,
    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-surbdh2 > .elementor-column-wrap {
        margin: 0 0 20px;
        padding: 24px 20px;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .form-group {
        margin-bottom: 18px;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl textarea.form-control {
        min-height: 220px;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-element-85ytwhl .btn-elementor-send {
        width: 100%;
        min-height: 48px;
    }
}

@media (max-width: 767.98px) {
    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) > .elementor-container > .elementor-row {
        display: grid;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-right: 12px;
        padding-left: 12px;
        box-sizing: border-box;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 8px;
    }

    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) > .elementor-container > .elementor-row > .elementor-column {
        width: auto;
        max-width: none;
        padding: 0;
        grid-column: span 2;
    }

    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) > .elementor-container > .elementor-row > .elementor-column:nth-child(n + 7) {
        grid-column: span 3;
    }

    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button {
        min-height: 48px;
        padding: 8px 6px;
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button {
        transition: none;
    }
}

/* Home: nombres de marcas en una sola linea */
body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button,
body#index .elementor-section:has(> .elementor-container > .elementor-row > .elementor-column:nth-child(8)) .elementor-widget-button .elementor-button-text {
    white-space: nowrap;
}

/* Ficha de producto: ajustes internos, sin alterar columnas */
#product .product-quantity {
    flex-wrap: nowrap;
}

#product .product-quantity .col-add-btn {
    width: auto;
    max-width: none;
    flex: 1 1 0;
}

#product .product-quantity .col-add-btn .add,
#product .product-quantity .col-add-btn .add-to-cart {
    width: 100%;
}

#product .product-quantity .bag-icon {
    display: none !important;
}

#product #block-reassurance ul {
    display: grid;
    padding: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#product #block-reassurance li {
    width: auto;
    margin: 0;
}

#product .images-container > .js-qv-mask {
    display: none;
}

#product .product-description-section,
#product .product-accessories {
    margin-top: 32px;
}

#product .product-description-section > .section-title,
#product .product-accessories > .section-title {
    padding-bottom: 12px;
    border-bottom: 1px solid #dedede;
    text-transform: none;
}

@media (max-width: 767.98px) {
    #product #block-reassurance ul {
        grid-template-columns: 1fr;
    }
}

/* Ficha de producto: respiracion de cabecera y datos */
#product nav.breadcrumb {
    margin-top: 20px;
    margin-bottom: 28px;
}

#product .product_header_container > .label {
    display: inline-block;
    margin-top: 4px;
    margin-bottom: 8px;
}

#product .product-prices .product-reference {
    margin-top: 4px;
    margin-bottom: 8px;
}

#product #product-availability {
    display: inline-flex;
    margin: 0 0 10px;
    padding: 5px 8px;
    align-items: center;
    border: 0;
    border-radius: 4px;
    background-color: #27AE60;
    color: #fff;
    line-height: 1.2;
}

#product #product-availability.product-available {
    background-color: #27AE60;
}

#product .product-prices .current-price {
    display: block;
    margin-top: 2px;
    margin-bottom: 6px;
}

/* Ficha de producto: terminaciones de compra y stock */
#product .product-quantity .add-to-cart {
    border-radius: 4px !important;
}

#product #product-availability {
    position: static;
    vertical-align: top;
    justify-content: center;
    gap: 3px;
}

#product #product-availability .fa {
    margin: 0;
    line-height: 1;
}

/* Botones Anadir: radio global */
button.add-to-cart,
a.add-to-cart,
.btn.add-to-cart {
    border-radius: 4px !important;
}

/* Header: iconos de acceso y carrito del prototipo */
#header-user-btn .header-user-btn > .icon::before {
    content: "\f2c0";
}

#ps-shoppingcart .header-cart-btn > .icon::before {
    content: "\f07a";
}

#header-user-btn .header-user-btn > .icon,
#ps-shoppingcart .header-cart-btn > .icon {
    font-family: FontAwesome;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
}

/* Header: SVG lineales exactos */
#header-user-btn .header-user-btn > .icon,
#ps-shoppingcart .header-cart-btn > .icon {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 0;
}

#header-user-btn .header-user-btn > .icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v2'/%3E%3C/svg%3E");
}

#ps-shoppingcart .header-cart-btn > .icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6'/%3E%3Ccircle cx='10' cy='20' r='1' fill='%23000'/%3E%3Ccircle cx='18' cy='20' r='1' fill='%23000'/%3E%3C/svg%3E");
}

#header-user-btn .header-user-btn > .icon::before,
#ps-shoppingcart .header-cart-btn > .icon::before {
    content: none;
}

#ps-shoppingcart .cart-products-count-btn {
    font-size: 11px;
}

/* Header compacto: escritorio */
@media (min-width: 768px) {
    #desktop-header .header-top {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    #desktop-header-container,
    #desktop-header-container > .row {
        height: auto !important;
        min-height: 82px !important;
    }

    #desktop-header .header-btn {
        padding-top: 6px;
        padding-bottom: 6px;
    }
}

/* Header movil: mismos SVG lineales */
#mobile-header .col-mobile-btn-account .fa-user,
#mobile-header .mobile-bag-icon {
    position: relative;
    display: inline-block;
    width: 23px;
    height: 23px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 0;
}

#mobile-header .col-mobile-btn-account .fa-user {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-2a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v2'/%3E%3C/svg%3E");
}

#mobile-header .mobile-bag-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6'/%3E%3Ccircle cx='10' cy='20' r='1' fill='%23000'/%3E%3Ccircle cx='18' cy='20' r='1' fill='%23000'/%3E%3C/svg%3E");
}

#mobile-header .col-mobile-btn-account .fa-user::before,
#mobile-header .mobile-bag-icon::before {
    content: none;
}

@media (max-width: 767.98px) {
    #mobile-header .mobile-main-bar,
    #mobile-header .row-mobile-header {
        min-height: 92px;
    }

    #mobile-header .mobile-main-bar {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    #mobile-header .col-mobile-logo img {
        width: auto;
        max-height: 72px;
    }

    #mobile-header .m-nav-btn {
        padding-right: 7px;
        padding-left: 7px;
    }

    #mobile-header .cart-products-count-btn {
        font-size: 10px;
    }
}

/* Header: eliminar separacion extra del titulo */
#header .header-btn-w .header-btn .title {
    margin-top: 0 !important;
}

/* Ficha de producto mobile: cantidad fija + CTA fluido */
@media (max-width: 767.98px) {
    #product .product-quantity {
        display: flex;
        width: 100%;
        flex-wrap: nowrap;
        gap: 8px;
    }

    #product .product-quantity .col-add-qty {
        width: 64px;
        max-width: 64px;
        padding: 0;
        flex: 0 0 64px;
    }

    #product .product-quantity .col-add-qty .qty,
    #product .product-quantity #quantity_wanted {
        width: 64px !important;
        max-width: 64px;
    }

    #product .product-quantity .col-add-btn {
        width: auto;
        min-width: 0;
        max-width: none;
        padding: 0;
        flex: 1 1 0;
    }

    #product .product-quantity .col-add-btn .add,
    #product .product-quantity .col-add-btn .add-to-cart {
        width: 100%;
        min-width: 0;
    }

    #product .product-quantity .add-to-cart {
        min-height: 44px;
    }
}

/* Ficha mobile: ancho real del control TouchSpin (60 + 20) */
@media (max-width: 767.98px) {
    #product .product-quantity .col-add-qty {
        width: 80px;
        max-width: 80px;
        flex-basis: 80px;
    }

    #product .product-quantity .col-add-qty .qty {
        width: 80px !important;
        max-width: 80px;
    }

    #product .product-quantity #quantity_wanted {
        width: 60px !important;
        max-width: 60px;
    }
}

/* Ficha de producto: controles de compra mas compactos */
#product .product-quantity .qty,
#product .product-quantity #quantity_wanted,
#product .product-quantity .add-to-cart {
    height: 44px;
    min-height: 44px;
}

#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical > .btn {
    height: 22px;
    padding-top: 0;
    padding-bottom: 0;
}

#product .product-quantity .add-to-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

#product .product-quantity #quantity_wanted {
    padding-top: 0;
    padding-bottom: 0;
    line-height: 44px;
}

/* Revelado progresivo al entrar en pantalla */
.mto-reveal {
    opacity: 0;
    translate: 0 18px;
    transition: opacity .45s ease, translate .45s ease;
}

.mto-reveal.mto-reveal-visible {
    opacity: 1;
    translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
    .mto-reveal {
        opacity: 1;
        translate: none;
        transition: none;
    }
}

/* Home: comenzar el contenido inmediatamente despues del header */
body#index #wrapper {
    padding-top: 0;
}

/* Home mobile: centrar las imagenes del carrusel de beneficios */
@media (max-width: 767.98px) {
    body#index .elementor-element-clvut9j .swiper-slide-inner {
        display: flex;
        justify-content: center;
    }
}

/* Home: iconos correspondientes de Navega por tipo */
body#index .elementor-element-5c27afe > .elementor-container > .elementor-row > .elementor-column:nth-child(1) .elementor-icon i::before,
body#index .elementor-element-5c27afe > .elementor-container > .elementor-row > .elementor-column:nth-child(3) .elementor-icon i::before {
    content: "\f043";
}

body#index .elementor-element-5c27afe > .elementor-container > .elementor-row > .elementor-column:nth-child(2) .elementor-icon i::before {
    content: "\f5fd";
}

body#index .elementor-element-5c27afe > .elementor-container > .elementor-row > .elementor-column:nth-child(4) .elementor-icon i::before {
    content: "\f5bb";
}

body#index .elementor-element-5c27afe > .elementor-container > .elementor-row > .elementor-column:nth-child(5) .elementor-icon i::before {
    content: "\f53f";
}

body#index .elementor-element-5c27afe > .elementor-container > .elementor-row > .elementor-column:nth-child(6) .elementor-icon i::before {
    content: "\f0c4";
}

/* Contacto tablet/mobile: icono y texto en una sola fila */
@media (max-width: 991.98px) {
    body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-wrapper {
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-icon {
        margin: 2px 0 0 !important;
    }

    body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-content,
    body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-title,
    body#cms:is(.cms-id-7, .cms-id-8) .elementor-widget-icon-box .elementor-icon-box-description {
        text-align: left !important;
    }
}

/* Ficha mobile: tarjetas de pago y envio */
@media (max-width: 767.98px) {
    #product .elementor-element-p0lnef6,
    #product .elementor-element-wsutoa1 {
        min-height: 88px;
        margin: 0 0 16px;
    }

    #product .elementor-element-p0lnef6 > .elementor-container,
    #product .elementor-element-wsutoa1 > .elementor-container,
    #product .elementor-element-p0lnef6 > .elementor-container > .elementor-row,
    #product .elementor-element-wsutoa1 > .elementor-container > .elementor-row {
        min-height: 88px;
        align-items: center;
        flex-wrap: nowrap;
    }

    #product .elementor-element-q2ltd16,
    #product .elementor-element-li7bnv7 {
        width: 24%;
        flex: 0 0 24%;
    }

    #product .elementor-element-lqbl9jy,
    #product .elementor-element-wwfx7c4 {
        width: 76%;
        flex: 0 0 76%;
    }

    #product .elementor-element-pax8r30,
    #product .elementor-element-kkvtgie {
        text-align: center;
    }

    #product .elementor-element-pax8r30 {
        translate: 0 6px;
    }

    #product .elementor-element-ziq90uv .elementor-widget-container,
    #product .elementor-element-qltbkwo .elementor-widget-container,
    #product .elementor-element-s1arrfa .elementor-widget-container,
    #product .elementor-element-6qms7mj .elementor-widget-container {
        margin-left: 0;
    }
}

/* Header mobile: buscador en segunda fila */
@media (max-width: 767.98px) {
    #mobile-header-sticky {
        box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
    }

    #mobile-header .row-mobile-header {
        flex-wrap: wrap;
        min-height: 0;
    }

    #mobile-header .col-mobile-logo img {
        max-height: 60px;
    }

    #mobile-header #mobile-btn-search {
        order: 5;
        display: block !important;
        width: 100%;
        max-width: none;
        flex: 0 0 100%;
        padding: 16px 8px 8px;
    }

    #mobile-header #mobile-btn-search > .m-nav-btn {
        display: none;
    }

    #mobile-header #search-widget-mobile {
        position: relative;
        inset: auto;
        display: block !important;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto;
        border: 0;
        box-shadow: none;
    }

    #mobile-header #search-widget-mobile .input-group {
        height: 44px;
    }

    #mobile-header #search-widget-mobile .form-search-control {
        height: 44px;
        padding-left: 16px;
        background: #f5f5f5;
        border: 1px solid #777;
        border-right: 0;
        border-radius: 4px 0 0 4px;
    }

    #mobile-header #search-widget-mobile .search-btn {
        display: flex;
        width: 48px;
        height: 44px;
        align-items: center;
        justify-content: center;
        padding: 0;
        background: #f5f5f5;
        border: 1px solid #777;
        border-left: 0;
        border-radius: 0 4px 4px 0;
        font-size: 18px;
    }
}

/* Términos y condiciones: gutter mobile */
@media (max-width: 767.98px) {
    body#cms.cms-id-3 #main {
        padding-right: 16px;
        padding-left: 16px;
    }
}
