/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */



/* global */
p:last-child {
    margin-bottom:0 !important;
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
    margin-block-end: .9rem;
}

.grecaptcha-badge {
    display: none !important;
}


@media (min-width:1025px) {
    .remove-br-desktop br {
        display: none !important;
    }
}


/* Ocultar flecha anterior si solo hay un div con la clase de la diapositiva */
.elementor-widget-loop-carousel .elementor-loop-container:has(.swiper-wrapper > .swiper-slide:first-of-type:last-of-type) ~ .elementor-swiper-button-prev {
    display: none !important;
}

/* Ocultar flecha siguiente si solo hay un div con la clase de la diapositiva */
.elementor-widget-loop-carousel .elementor-loop-container:has(.swiper-wrapper > .swiper-slide:first-of-type:last-of-type) ~ .elementor-swiper-button-next {
    display: none !important;
}


.elementor-heading-title,
h1,
h2,
h3,
h4,
h5,
h6 {
	line-height:1.2;
}



/* content edge */
@media (min-width:1025px) {
    .content-edge-right {
        padding-left:calc((100vw - var(--container-max-width))/2);
    }

    .content-edge-left {
        padding-right:calc((100vw - var(--container-max-width))/2);
    }
}





/* cms */
.cms * + h2,
.cms * + h3,
.cms * + h4,
.cms * + h5 {
    margin-top:40px !important;
}




/* full box link */
.full-box-link {
    cursor: pointer;
}





/* forms */

.elementor-field-type-acceptance > label {
    display: none !important;
}

.elementor-field-type-acceptance .elementor-field-option {
    font-size: 14px;
    display: flex;
    gap:10px;
    align-items: flex-start;
    justify-content: flex-start;
}

.elementor-field-type-acceptance .elementor-field-option label{
    line-height: 1.2;
    margin-top:-1px;
    font-size: 14px;
}

.elementor-field-type-acceptance .elementor-field-option input {
    margin-top:0px;
}

.elementor-field-type-acceptance a {
    color: inherit;
    text-decoration: underline;
}

.elementor-field-type-acceptance a:hover {
    text-decoration: none;
}



/* buttons */
.btn-outline .elementor-button {
    background:transparent !important;
    border-color:var(--e-global-color-2b1b3a0) !important;
    color:var(--e-global-color-2b1b3a0) !important;
}

.btn-outline .elementor-button {
    background:transparent !important;
    border-color: var(--e-global-color-2b1b3a0) !important;
    color: var(--e-global-color-2b1b3a0) !important;
}

.btn-outline:hover .elementor-button {
    background:var(--e-global-color-2b1b3a0) !important;
    color: var( --e-global-color-accent ) !important;
}

.btn-outline.dark .elementor-button {
    border-color:var(--e-global-color-primary) !important;
    color:var(---e-global-color-primary) !important;
}

.btn-outline.dark:hover .elementor-button {
    background-color:var(--e-global-color-primary) !important;
    color:var(--e-global-color-2b1b3a0) !important;
}




/* tag */
.tag {
    border:1px solid white;
    padding:7px 20px;
    border-radius: 50px;
}

.tag[data-color="Rojo"] {
    border-color:var(--e-global-color-4e5b833) !important;
    background-color:var(--e-global-color-e531d63) !important;
}

.tag[data-color="Rojo"] * {
    color:var(--e-global-color-4e5b833) !important;
}



/* woo */
.woocommerce .elementor-widget-woocommerce-product-price .price {
    display: flex;
    flex-wrap: wrap;
}

.woocommerce .elementor-widget-woocommerce-product-price .price del {
    order:3;
    font-weight: 500 !important;
    color:var(--e-global-color-primary);
    font-size: 15px;
}

.woocommerce .elementor-widget-woocommerce-product-price .price del + .screen-reader-text{
    order:4;
}

.woocommerce .elementor-widget-woocommerce-product-price .price ins {
    order:1;
    min-width: 100%;
    text-decoration: none;
    font-size: 18px;
    font-weight: 800 !important;
}

.woocommerce .elementor-widget-woocommerce-product-price .price ins + .screen-reader-text{
    order:2;
}

.woocommerce .elementor-widget-woocommerce-product-price .price .discount-perc {
    order:5;
}

.woocommerce .elementor-widget-woocommerce-product-price .price .discount-perc {
    margin-left:16px;
    font-size: 13px;
    font-weight: 500;
    margin-top:2px;
}

.woocommerce .elementor-widget-woocommerce-product-price .price > .amount > bdi, .woocommerce .elementor-widget-woocommerce-product-price .desde {
    font-size: 18px;
    font-weight: 800 !important;
    padding-right: 5px;
}

.woocommerce .elementor-widget-woocommerce-product-price .desde{padding-top: 3px;}

.home .woocommerce .elementor-widget-woocommerce-product-price .desde{padding-top: 0px;}


.category-item {
    border-radius: 12px;
    overflow: hidden;
}

.category-item .elementor-widget-image {
    overflow: hidden;
}

.category-item .elementor-widget-image:after {
    content:' ';
    width:100%;
    height:50%;
    left:0;
    bottom:0;
    background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.48) 100%);
    position: absolute;
    z-index: 1;
    
}

.category-item .elementor-widget-image img {
    transition: transform 0.3s;
    border-radius: 0;
}

.category-item:hover .elementor-widget-image img {
    transform: scale(1.1);
}

.category-item .cat-title {
    position: absolute;
    bottom: 0;
    padding:20px;
    z-index: 2;
}

.category-item .cat-title .elementor-heading-title {
    font-size: 24px;
    font-weight: 800;
    color:var(--e-global-color-2b1b3a0);
}

.category-item .cat-bottom {
    background-color:var(--e-global-color-text);
    padding:30px 20px;
}


.category-item .cat-bottom .elementor-heading-title a {
    color:var(--e-global-color-2b1b3a0);
}

.category-item:hover .cat-bottom{background-color:var( --e-global-color-accent )}


.woocommerce .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--tabs-active-color) !important;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce a {
    font-family: var(--e-global-typography-accent-font-family), Sans-serif;
    font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce em {
    font-size: 12px !important;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Address address, 
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Addresses address {
    padding-left:0;
    padding-right:0;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Address .edit, 
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce-Addresses .edit {
    margin-inline-start: 0;
}

.elementor-widget-woocommerce-my-account {
    max-width: max-content !important;
    align-self:center;
}

.elementor-widget-woocommerce-my-account .woocommerce > h2 {
    margin-bottom:0 !important;
    margin-top:20px !important;
    display: flex;
    justify-self: center;
    font-size: 24px !important;
    font-weight: 500 !important;
}

.elementor-widget-woocommerce-my-account .woocommerce > form {
    margin-top:0 !important;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
    margin-top: 10px !important;
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-ResetPassword {
    max-width: 500px;
    width: auto;
    
}

.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .login,
.elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .register {
    padding:0 !important;
}


.woocommerce-LostPassword.lost_password a {
    font-weight: 500 !important;
    font-size: 14px;
    text-decoration: underline;
    color: var(--e-global-color-text) !important;
}

.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content a {
    text-decoration: underline;
    color: var(--e-global-color-text) !important;
    font-weight: 500 !important;
}

.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content a:hover {
    text-decoration: none;
}

.elementor-widget-woocommerce-product-content ul {
    margin:0;
    padding:0;
}

.elementor-widget-woocommerce-product-content ul li {
    display: flex;
    align-items: flex-start;
    gap:10px;
    list-style: none;
    margin-bottom:4px;
}

.elementor-widget-woocommerce-product-content ul li:before {
    content:' ';
    display: inline-flex;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20.243' height='14.621' viewBox='0 0 20.243 14.621'%3E%3Cpath id='check' d='M20,6,9,17,4,12' transform='translate%28-1.879 -3.879%29' fill='none' stroke='%23f2a52a' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/%3E%3C/svg%3E");
}

.elementor-widget-woocommerce-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward) {
    color:var(--e-global-color-text) !important;
}






/* product item */
.product-item .elementor-widget-image {
    overflow: hidden;
}

.product-items-style-1 .product-item .elementor-widget-image img {
    border-radius: 0;
}

.product-items-style-2 .product-item .elementor-widget-image {
    border-radius: 12px !important;    
}

.product-items-style-2 .product-item .product-item-bottom {
    background-color:transparent !important;
    padding-left:0;
    padding-right: 0;
    padding-bottom: 0;
}

.product-items-style-3 .product-item .elementor-widget-image {
    padding:12px;
}

.product-items-style-3 .product-item:hover .elementor-widget-image img {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.product-items-style-3 .product-item-bottom {
    padding-top:10px;
}

.product-items:not(.show-stock) .elementor-widget-woocommerce-product-stock {
    display: none;
}

.product-item .elementor-widget-woocommerce-product-price .price .discount-perc.style-2 {
    display: none;
}


.elementor-widget-woocommerce-product-stock {
    color: var(--e-global-color-4e5b833);
    font-size: 14px;
    font-weight: 500;
}

.product-item .add_to_cart_button {
    position: relative;
    display: flex !important;
    gap:4px;
}

.product-item .add_to_cart_button:before {
    content:'';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='19.778' viewBox='0 0 18 19.778'%3E%3Cg transform='translate(-2 -1)'%3E%3Cpath d='M5.667,2,3,5.556V18a1.778,1.778,0,0,0,1.778,1.778H17.222A1.778,1.778,0,0,0,19,18V5.556L16.333,2Z' fill='none' stroke='%2302151e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline x2='16' transform='translate(3 5.556)' fill='none' stroke='%2302151e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath d='M15.111,10A3.556,3.556,0,0,1,8,10' transform='translate(-0.556 -0.889)' fill='none' stroke='%2302151e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 18px;
    height: 16px;
    display: block;
}

.product-item .add_to_cart_button:hover::before{
    filter: invert(100%);
}

.hide-add-to-cart .product-item .add_to_cart_button {
    display: none !important;
}





/* list check */
.list-check ul {
    list-style: none;
    padding:0;
}

.list-check ul li {
    display: flex;
    gap:8px;
    align-items: flex-start;
}

.list-check ul li:not(:last-child) {
    margin-bottom:10px;
}

.list-check ul li:before {
    content:'';
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20.243' height='14.621' viewBox='0 0 20.243 14.621'><path id='check' d='M20,6,9,17,4,12' transform='translate(-1.879 -3.879)' fill='none' stroke='%23f2a52a' stroke-linecap='round' stroke-linejoin='round' stroke-width='3'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    width: 18px;
    height: 14px;
    margin-top:4px;
}



/* single post */
.single-post img {
    border-radius: 0;
}

.single-post .product-item .add_to_cart_button {
    display: none !important;
}




/* woo filter - WPW */
.wpfMainWrapper {
    display: inline-flex;
    gap:20px;
    width: min-content !important;
}

.wpfMainWrapper .wpfFilterTitle {
    display: flex;
    gap:10px;
    min-width: max-content;
    align-items: center;
    padding: 14px 16px;
    border:1px solid #E5E7EB;
    
}

.wpfMainWrapper .wpfFilterTitle .wfpTitle {
    height: auto !important;
    padding:0;
    font-weight: 500;
    color:var(--e-global-color-text) !important;
    text-transform:initial;
    font-size: 15px;
    display: flex;
    gap:16px;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.wpfMainWrapper .wpfFilterTitle .wfpTitle:after {
    content:' ';
    width: 12px;
    height: 12px;
    background-image:url('assets/img/chevron-right.svg');
    background-position: center;
    background-size: 12px auto;
    background-repeat: no-repeat;
    display: block;
}

.wpfMainWrapper .wpfFilterTitle .wfpTitle + .fa {
    display: none !important;
}

.wpfMainWrapper .wpfFilterWrapper {
    min-width: 70px;
    /*flex-grow: 1;*/
    /*flex-basis: auto;*/
    margin-top:0;
    margin-bottom:0;
    min-width: 50px;
    max-width: max-content;
    padding: 0px !important;
}

.wpfMainWrapper .wpfFilterWrapper .wpfFilterContent {
    position: absolute;
    z-index: 2;
    max-width: 240px;
    background: var(--e-global-color-2b1b3a0);
}

.wpfMainWrapper .wpfFilterWrapper .wpfFilterContent .wpfFilterVerScroll {
    padding:16px;
    border: 1px solid #E5E7EB;
    margin-top:-1px;
}

.wpfMainWrapper .wpfFilterWrapper input[type="checkbox"] {
    border-radius: 0;
    padding:0;
    background-color: var(--e-global-color-2b1b3a0);
    border-color:var(--e-global-color-text) !important;
}

.wpfMainWrapper .wpfFilterWrapper li:not(:last-child) {
    margin-bottom:12px;
}

.wpfMainWrapper .wpfFilterWrapper .wpfFilterTaxNameWrapper {
    color:var(--e-global-color-text) !important;
    font-size: 15px;
}

.wpfMainWrapper .wpfFilterWrapper .wpfFilterContent .wpfLiLabel {
    gap: 4px;
}

.wpfMainWrapper .wpfBlockAnimated.wpfHide {
    transition: max-height 0.3s ease-in;
}




/* woo filter - YITH */
.yith-wcan-filters .search-field-container {
    display: none !important;
}

.yith-wcan-filters .filters-container form {
    display: flex;
    gap:20px;
    align-items: center;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown {
    min-width: 130px;
    border-radius: 0;
    box-shadow: none !important;
    border-color:#E5E7EB !important;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper {
    width: max-content;
    top:100%;
    border-radius: 0;
    box-shadow: none;
    left:-1px;
    border-color:#E5E7EB;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-label,
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label > a {
    font-size: 15px;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label > a,
.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label > a:hover {
    color:inherit !important;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label {
    display: flex;
    gap:5px;
}

.yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .matching-items li:not(:last-child) {
    margin-bottom:10px;
}

.yith-wcan-filters.horizontal {
    margin-bottom:0 !important;
}

.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable + .filter-content {
    min-width: 200px;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top:-1px;
}


.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter {
    margin-bottom:0 !important;
}

.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title {
    margin:0 !important;
}
.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable {
    border-radius: 0 !important;
   box-shadow: none !important;
}

.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable.opened, 
.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable.opened + .filter-content {
    border-color: #D7D7D7 !important;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item {
    line-height: 1;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item:not(:last-child) {
    margin-bottom:8px;
}

.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable,
.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .dropdown-wrapper .matching-items a {
    font-size: 15px;
    color: var(--e-global-color-text) !important;
}

.yith-wcan-filters.horizontal:not(.filters-modal) .yith-wcan-filter .filter-title.collapsable span.filter-count {
    border-color:var(--e-global-color-4e5b833);
}


/* menu */
#menu-ofertas a .e-n-menu-title-text {
    /*color:var(--e-global-color-4e5b833);*/
}



/* .wc-custom-badges-container */
.wc-custom-badges-container {
    position: absolute;
    z-index: 1;
    width: 100%;
    padding:10px;
    display: flex;
    flex-direction: column;
    gap:6px;
    align-items: flex-end;
}

.wc-custom-badges-container .wc-badge {
    display: inline-flex;
    padding: 2px 10px;
    border-radius: 50px;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
}

.wc-custom-badges-container .wc-badge-discount,
.wc-custom-badges-container .wc-badge-oferta {
    border:1px solid var(--e-global-color-4e5b833);
    background-color:#FEE2E2;
    color:var(--e-global-color-4e5b833);
}

.wc-custom-badges-container .wc-badge-oferta-primavera,
.wc-custom-badges-container .wc-badge-oferta-otono,
.wc-custom-badges-container .wc-badge-oferta-verano,
.wc-custom-badges-container .wc-badge-oferta-invierno {
    border:1px solid #17A34A;
    background-color:#DCFCE7;
    color:#17A34A;
}

/* BADGE TOP VENTAS */
.wc-custom-badges-container .wc-badge-top-ventas {
    background-color: var(--e-global-color-accent);
    border:1px solid var(--e-global-color-accent);
    color:#343434;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='17.216' viewBox='0 0 18 17.216'%3E%3Cpath id='star' d='M10,2l2.472,5.008L18,7.816l-4,3.9.944,5.5L10,14.616l-4.944,2.6L6,11.712l-4-3.9,5.528-.808Z' transform='translate(-1 -1)' fill='%23343433' stroke='%23343434' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 14px auto;
    padding-left:30px;
} 

/* BADGE NOVEDADES */
.wc-custom-badges-container .wc-badge-novedades{
    background-color: var(--e-global-color-accent);
    border:1px solid var(--e-global-color-accent);
    color:#343434;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='17.216' viewBox='0 0 18 17.216'%3E%3Cpath id='star' d='M10,2l2.472,5.008L18,7.816l-4,3.9.944,5.5L10,14.616l-4.944,2.6L6,11.712l-4-3.9,5.528-.808Z' transform='translate(-1 -1)' fill='%23343433' stroke='%23343434' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 14px auto;
    padding-left:30px;
}


/* MODIFICACIONS MENU ORIOL: 14-10-2026 */
/* =====================================================
   MENÚ LATERAL (widget Nav Menu, classe "menu-lateral")
   ===================================================== */
.elementor-widget.menu-lateral {
    --ml-color: #2F4E5F;
    --ml-color-inverso: #FFFFFF;
    --ml-separador: #DBE3E8;
    --ml-margen-izq: 24px;   /* cuánto sobresale el fondo por la izquierda */
    --ml-margen-der: 48px;   /* = padding derecho del panel (medir con el inspector) */
    --ml-padding-izq: 40px;  /* espacio entre el borde del fondo y el texto */
}

.elementor-widget.menu-lateral .elementor-nav-menu {
    margin-left: calc(-1 * var(--ml-margen-izq)) !important;
    margin-right: calc(-1 * var(--ml-margen-der)) !important;
}

.elementor-widget.menu-lateral .elementor-nav-menu a {
    position: relative;
    box-sizing: border-box;
    padding: 18px calc(var(--ml-margen-der) + 56px) 18px var(--ml-padding-izq) !important;
    color: var(--ml-color) !important;
    background-color: transparent !important;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.elementor-widget.menu-lateral .elementor-nav-menu li:not(:last-child) > a {
    border-bottom: 1px solid var(--ml-separador);
}

.elementor-widget.menu-lateral .elementor-nav-menu a:hover,
.elementor-widget.menu-lateral .elementor-nav-menu a:focus-visible {
    color: var(--ml-color-inverso) !important;
    background-color: var(--ml-color) !important;
}

.elementor-widget.menu-lateral .elementor-nav-menu > li.menu-item-has-children > a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(var(--ml-margen-der) + 20px);
    width: 24px;
    height: 24px;
    margin-top: -12px;
    opacity: 1 !important;
    pointer-events: none;
    background-image: none !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 6 6 6-6 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    transform: rotate(0deg);
    transition: transform 0.3s ease;
}

.elementor-widget.menu-lateral li.menu-item-has-children.abierto > a::after {
    transform: rotate(90deg);
}

.elementor-widget.menu-lateral .elementor-nav-menu--main .sub-menu {
    display: block !important;
    position: static !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: transparent !important;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
}

.elementor-widget.menu-lateral li.menu-item-has-children.abierto > .sub-menu {
    max-height: 800px;
}

.elementor-widget.menu-lateral .sub-menu > li > a {
    display: flex;
    width: 100%;
    margin: 0 !important;
    padding: 14px calc(var(--ml-margen-der) + 56px) 14px calc(var(--ml-padding-izq) + 24px) !important;
}

/* =====================================================
   ENLACES "CREAR CUENTA" Y "ACCEDER"
   ===================================================== */
.elementor-element.elementor-element-548c722 .elementor-icon-list-item a,
.elementor-element.elementor-element-548c722 .elementor-icon-list-text {
    color: #2F4E5F !important;
}

.elementor-element.elementor-element-548c722 .elementor-icon-list-item a:is(:hover, :focus-visible) .elementor-icon-list-text {
    color: #2F4E5F !important;
    font-weight: 700 !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* Ocultar las flechas de los subelementos del menú lateral */
.menu-lateral .sub-menu .elementor-sub-item::before,
.menu-lateral .sub-menu .elementor-sub-item::after {
    content: none !important;
    display: none !important;
}





/* =====================================================
   MENU SUPERIOR
   ===================================================== */
/* Color del menú */
.elementor-widget.menu-superior {
    --ms-color: #2F4E5F;
}

/* Elimina els fons i les ombres d’Elementor */
.elementor-widget.menu-superior .e-n-menu-title,
.elementor-widget.menu-superior .e-n-menu-title:hover,
.elementor-widget.menu-superior .e-n-menu-title-container,
.elementor-widget.menu-superior .e-n-menu-title-container:hover,
.elementor-widget.menu-superior .e-n-menu-title-container.e-focus {
    background: transparent !important;
    box-shadow: none !important;
}

/* Elimina el subratllat natiu dels enllaços */
.elementor-widget.menu-superior .e-n-menu-title-container {
    text-decoration: none !important;
}

/* Text fix en estat normal, hover, focus i pàgina actual */
.elementor-widget.menu-superior .e-n-menu-title-text,
.elementor-widget.menu-superior
.e-n-menu-title:hover .e-n-menu-title-text,
.elementor-widget.menu-superior
.e-n-menu-title:focus-within .e-n-menu-title-text,
.elementor-widget.menu-superior
.e-n-menu-title-container[aria-current="page"]
.e-n-menu-title-text {
    display: inline-block !important;
    position: relative;

    color: var(--ms-color) !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-shadow: none !important;

    transform: none !important;
    scale: none !important;
    transition: none !important;
}

/* Línia inferior animada */
.elementor-widget.menu-superior .e-n-menu-title-text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -9px;

    width: 100%;
    height: 2px;
    background-color: var(--ms-color);

    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

/* Mostra la línia en hover, focus i pàgina actual */
.elementor-widget.menu-superior
.e-n-menu-title:hover .e-n-menu-title-text::after,
.elementor-widget.menu-superior
.e-n-menu-title:focus-within .e-n-menu-title-text::after,
.elementor-widget.menu-superior
.e-n-menu-title-container[aria-current="page"]
.e-n-menu-title-text::after {
    transform: scaleX(1);
}

/* Respecta la preferència de moviment reduït */
@media (prefers-reduced-motion: reduce) {
    .elementor-widget.menu-superior
    .e-n-menu-title-text::after {
        transition: none !important;
    }
}




/* CATEGORÍAS - DESACTIVAR ESTADO ACTIVO */

/* Categories: text sempre igual, sense creixement */
.elementor-widget.menu-superior
#menu-categorias .e-n-menu-title-text,
.elementor-widget.menu-superior
#menu-categorias:hover .e-n-menu-title-text,
.elementor-widget.menu-superior
#menu-categorias:focus-within .e-n-menu-title-text {
    font-weight: 400 !important;
    transform: none !important;
    scale: none !important;
}

/* Categories: sense línia permanent de pàgina activa */
.elementor-widget.menu-superior
#menu-categorias .e-n-menu-title-text::after {
    transform: scaleX(0) !important;
}

/* Mostra només la línia en hover i focus */
.elementor-widget.menu-superior
#menu-categorias:hover .e-n-menu-title-text::after,
.elementor-widget.menu-superior
#menu-categorias:focus-within .e-n-menu-title-text::after {
    transform: scaleX(1) !important;
}


/* Bloqueja el creixement dels contenidors del menú */
.elementor-widget.menu-superior .e-n-menu-title,
.elementor-widget.menu-superior .e-n-menu-title-container,
.elementor-widget.menu-superior .e-n-menu-title:hover,
.elementor-widget.menu-superior .e-n-menu-title:focus-within,
.elementor-widget.menu-superior .e-n-menu-title-container:hover,
.elementor-widget.menu-superior .e-n-menu-title-container:focus-within {
    transform: none !important;
    scale: none !important;
    zoom: 1 !important;
    font-weight: 400 !important;
}

/* Bloqueja el creixement i la negreta del text */
.elementor-widget.menu-superior
:is(.e-n-menu-title, #menu-categorias) .e-n-menu-title-text,
.elementor-widget.menu-superior
:is(.e-n-menu-title, #menu-categorias):is(:hover, :focus-within)
.e-n-menu-title-text {
    transform: none !important;
    scale: none !important;
    zoom: 1 !important;
    font-weight: 400 !important;
    transition: none !important;
}






/* single product */
.funciones-destacadas-list {
    list-style:none;
    padding:0;
    margin:0;
    gap:12px;
    display: flex;
    flex-wrap: wrap;
}

.funciones-destacadas-list li {
    display: inline-flex;
    border-radius: 50px;
    padding:4px 16px 4px 35px;
    border:1px solid #2463EB;
    color:#2463EB;
    background-color:#DBE9FE;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    background-repeat: no-repeat;
    background-position: 10px center;
}

.funciones-destacadas-list li.funcion-destacada-bluetooth {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g id="Grupo_293" data-name="Grupo 293" transform="translate(-725 -2456.437)"><g id="Grupo_294" data-name="Grupo 294" transform="translate(725 2456.437)"><rect id="Rectángulo_89" data-name="Rectángulo 89" width="16" height="16" fill="%23fff" opacity="0"/><path id="bluetooth" d="M6.5,4.375l6.75,6.75L9.875,14.5V1L13.25,4.375,6.5,11.125" transform="translate(-2.25 0.25)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></g></svg>');
}

.funciones-destacadas-list li.funcion-destacada-antivaho {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg id='Grupo_293' data-name='Grupo 293' transform='translate(-725 -2456.437)'%3E%3Cg id='Grupo_294' data-name='Grupo 294' transform='translate(725 2456.437)'%3E%3Crect id='Rect%C3%A1ngulo_89' data-name='Rect%C3%A1ngulo 89' width='16' height='16' fill='none'/%3E%3Cpath id='wind' d='M6.935,4.384A1.3,1.3,0,1,1,7.851,6.6H2m6.885,7.418A1.3,1.3,0,1,0,9.8,11.8H2M12.227,6.425A1.625,1.625,0,1,1,13.377,9.2H2' transform='translate(-0.5 -1.5)' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.funciones-destacadas-list li.funcion-destacada-apagado-automatico {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='17' viewBox='0 0 16.398 18'%3E%3Cg id='power' transform='translate(-1.995 -1)'%3E%3Cpath id='Trazado_30' data-name='Trazado 30' d='M15.285,6.64A7.2,7.2,0,1,1,5.1,6.64' transform='translate(0 -0.929)' fill='none' stroke='%232562ea' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_31' data-name='L%C3%ADnea 31' y2='7.999' transform='translate(10.198 2)' fill='none' stroke='%232562ea' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

.funciones-destacadas-list li.funcion-destacada-led {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="11.2" height="15.799" viewBox="0 0 11.2 15.799"><g id="Grupo_472" data-name="Grupo 472" transform="translate(-5327 1127.899)"><g id="Grupo_472-2" data-name="Grupo 472" transform="translate(5322 -1129.899)"><path id="Trazado_34" data-name="Trazado 34" d="M9,18h4.6" transform="translate(-0.7 -3.501)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path id="Trazado_35" data-name="Trazado 35" d="M10,21h3.066" transform="translate(-0.934 -4.201)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path id="Trazado_36" data-name="Trazado 36" d="M8.3,12.2a2.984,2.984,0,0,0-1.15-2.683A3.557,3.557,0,0,1,6,6.833C5.964,4.5,7.534,3,10.6,3s4.636,1.5,4.6,3.833a3.557,3.557,0,0,1-1.15,2.683A2.985,2.985,0,0,0,12.9,12.2" transform="translate(0)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></g></svg>')
}

.funciones-destacadas-list li.funcion-destacada-luz-led-regulable {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 18 18'%3E%3Cg id='Grupo_470' data-name='Grupo 470' transform='translate(-2 -2)'%3E%3Cpath id='Trazado_31' data-name='Trazado 31' d='M19,3.533V18.467a.533.533,0,0,1-.533.533H3.533A.533.533,0,0,1,3,18.467V3.533A.533.533,0,0,1,3.533,3H18.467A.533.533,0,0,1,19,3.533Z' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Trazado_32' data-name='Trazado 32' d='M11.333,16.667A5.333,5.333,0,1,0,6,11.333,5.333,5.333,0,0,0,11.333,16.667Z' transform='translate(-0.333 -0.333)' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Trazado_33' data-name='Trazado 33' d='M15.111,7.5,12,11.5' transform='translate(-1 -0.5)' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

.funciones-destacadas-list li.funcion-destacada-retroiluminacion {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='14' height='16' viewBox='0 0 16 18'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Cpath id='Trazado_39' data-name='Trazado 39' d='M5358-1128h-8v18h8' transform='translate%28-14 -1%29' fill='none'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='Grupo_472' data-name='Grupo 472' transform='translate%28-5328 1129%29'%3E%3Cg id='Enmascarar_grupo_1' data-name='Enmascarar grupo 1' clip-path='url%28%23clip-path%29'%3E%3Cg id='Grupo_472-2' data-name='Grupo 472' transform='translate%285327.468 -1129.899%29'%3E%3Cpath id='Trazado_34' data-name='Trazado 34' d='M9,18h4.6' transform='translate%28-0.7 -3.501%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Trazado_35' data-name='Trazado 35' d='M10,21h3.066' transform='translate%28-0.934 -4.201%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Trazado_36' data-name='Trazado 36' d='M8.3,12.2a2.984,2.984,0,0,0-1.15-2.683A3.557,3.557,0,0,1,6,6.833C5.964,4.5,7.534,3,10.6,3s4.636,1.5,4.6,3.833a3.557,3.557,0,0,1-1.15,2.683A2.985,2.985,0,0,0,12.9,12.2' transform='translate%280%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/g%3E%3Cpath id='Trazado_37' data-name='Trazado 37' d='M5350-1128h8v16h-8' transform='translate%28-22%29' fill='none' stroke='%232463eb' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

.funciones-destacadas-list li.funcion-destacada-sensor-de-movimiento {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 18 18'%3E%3Cg id='loader' transform='translate%28-1 -1%29'%3E%3Cline id='L%C3%ADnea_14' data-name='L%C3%ADnea 14' y2='3.2' transform='translate%2810 2%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_15' data-name='L%C3%ADnea 15' y2='3.2' transform='translate%2810 14.8%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_16' data-name='L%C3%ADnea 16' x2='2.264' y2='2.264' transform='translate%284.344 4.344%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_17' data-name='L%C3%ADnea 17' x2='2.264' y2='2.264' transform='translate%2813.392 13.392%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_18' data-name='L%C3%ADnea 18' x2='3.2' transform='translate%282 10%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_19' data-name='L%C3%ADnea 19' x2='3.2' transform='translate%2814.8 10%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_20' data-name='L%C3%ADnea 20' y1='2.264' x2='2.264' transform='translate%284.344 13.392%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_21' data-name='L%C3%ADnea 21' y1='2.264' x2='2.264' transform='translate%2813.392 4.344%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}


.funciones-destacadas-list li.funcion-destacada-sensor {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 18 18'%3E%3Cg id='loader' transform='translate%28-1 -1%29'%3E%3Cline id='L%C3%ADnea_14' data-name='L%C3%ADnea 14' y2='3.2' transform='translate%2810 2%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_15' data-name='L%C3%ADnea 15' y2='3.2' transform='translate%2810 14.8%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_16' data-name='L%C3%ADnea 16' x2='2.264' y2='2.264' transform='translate%284.344 4.344%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_17' data-name='L%C3%ADnea 17' x2='2.264' y2='2.264' transform='translate%2813.392 13.392%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_18' data-name='L%C3%ADnea 18' x2='3.2' transform='translate%282 10%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_19' data-name='L%C3%ADnea 19' x2='3.2' transform='translate%2814.8 10%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_20' data-name='L%C3%ADnea 20' y1='2.264' x2='2.264' transform='translate%284.344 13.392%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_21' data-name='L%C3%ADnea 21' y1='2.264' x2='2.264' transform='translate%2813.392 4.344%29' fill='none' stroke='%232463eb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}


.funciones-destacadas-list li.funcion-destacada-led {
    background-image: 
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="11.2" height="15.799" viewBox="0 0 11.2 15.799"><g id="Grupo_472" data-name="Grupo 472" transform="translate(-5327 1127.899)"><g id="Grupo_472-2" data-name="Grupo 472" transform="translate(5322 -1129.899)"><path id="Trazado_34" data-name="Trazado 34" d="M9,18h4.6" transform="translate(-0.7 -3.501)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path id="Trazado_35" data-name="Trazado 35" d="M10,21h3.066" transform="translate(-0.934 -4.201)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path id="Trazado_36" data-name="Trazado 36" d="M8.3,12.2a2.984,2.984,0,0,0-1.15-2.683A3.557,3.557,0,0,1,6,6.833C5.964,4.5,7.534,3,10.6,3s4.636,1.5,4.6,3.833a3.557,3.557,0,0,1-1.15,2.683A2.985,2.985,0,0,0,12.9,12.2" transform="translate(0)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></g></svg>')
}


.funciones-destacadas-list li.funcion-destacada-tactil {
    background-image: 
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14.998" height="16" viewBox="0 0 14.998 16"><path id="hand-regular-full" d="M72.548,64a2,2,0,0,0-1.8,1.125A2,2,0,0,0,68.048,67v5.172l-.084-.084a2,2,0,0,0-2.828,2.828l2.741,2.741A8,8,0,0,0,73.533,80h.516a.713.713,0,0,0,.141-.013,5.75,5.75,0,0,0,5.347-5.347.713.713,0,0,0,.013-.141V69a2,2,0,0,0-2-2,2.03,2.03,0,0,0-.5.063V67a2,2,0,0,0-2.7-1.875A2,2,0,0,0,72.548,64Zm-.5,3V66a.5.5,0,1,1,1,0v5.25a.75.75,0,0,0,1.5,0V67a.5.5,0,0,1,1,0v4.25a.75.75,0,0,0,1.5,0V69a.5.5,0,0,1,1,0v5.4c0,.019,0,.041-.006.059a4.247,4.247,0,0,1-4.031,4.031.382.382,0,0,0-.059.006h-.419a6.5,6.5,0,0,1-4.594-1.9L66.2,73.853a.5.5,0,1,1,.706-.706l1.366,1.366a.75.75,0,0,0,1.281-.531V67a.5.5,0,0,1,1,0V71.25a.75.75,0,0,0,1.5,0Z" transform="translate(-64.55 -64)" fill="%232463eb"/></svg>')
}


.funciones-destacadas-list li.funcion-destacada-1-cajon-soft-closedecorativo,.funciones-destacadas-list li.funcion-destacada-2-cajones-soft-close,.funciones-destacadas-list li.funcion-destacada-3-cajones-soft-close  {
    background-image: 
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18.414" height="18.416" viewBox="0 0 18.414 18.416"><g id="feather" transform="translate(-0.586 -0.992)"><path id="Trazado_70" data-name="Trazado 70" d="M17.193,10.188A4.8,4.8,0,0,0,10.4,3.4L5,8.8v6.8h6.8Z" transform="translate(-0.6 0)" fill="none" stroke="%232562ea" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><line id="Línea_47" data-name="Línea 47" x1="11.201" y2="11.196" transform="translate(2 6.797)" fill="none" stroke="%232562ea" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><line id="Línea_48" data-name="Línea 48" x1="6.801" transform="translate(7.6 12.395)" fill="none" stroke="%232562ea" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></g></svg>')
}

.funciones-destacadas-list li.funcion-destacada-1-puerta, .funciones-destacadas-list li.funcion-destacada-2-puertas {
    background-image: 
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><g id="Grupo_470" data-name="Grupo 470" transform="translate(-2 -2)"><path id="Trazado_31" data-name="Trazado 31" d="M19,3.533V18.467a.533.533,0,0,1-.533.533H3.533A.533.533,0,0,1,3,18.467V3.533A.533.533,0,0,1,3.533,3H18.467A.533.533,0,0,1,19,3.533Z" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><path id="Trazado_32" data-name="Trazado 32" d="M8,10A2,2,0,1,0,6,8,2,2,0,0,0,8,10Z" transform="translate(-0.333 2.667)" fill="%232469eb"/></g></svg>')
}

.funciones-destacadas-list li.funcion-destacada-2-puertas {
    background-image: 
url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><g id="Grupo_2865" data-name="Grupo 2865" transform="translate(-776.5 -950)"><path id="Trazado_71" data-name="Trazado 71" d="M19,3.533V18.467a.533.533,0,0,1-.533.533H3.533A.533.533,0,0,1,3,18.467V3.533A.533.533,0,0,1,3.533,3H18.467A.533.533,0,0,1,19,3.533Z" transform="translate(774.5 948)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/><line id="Línea_49" data-name="Línea 49" y2="15" transform="translate(785.5 951.5)" fill="none" stroke="%232463eb" stroke-width="2"/></g></svg>')
}



.funciones-destacadas-list li.funcion-destacada-tricolor {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><g id="Grupo_2855" data-name="Grupo 2855" transform="translate(-390.5 -729.5)"><circle id="Elipse_31" data-name="Elipse 31" cx="4.5" cy="4.5" r="4.5" transform="translate(391.5 730.5)" fill="none" stroke="%232562ea" stroke-width="2"/><circle id="Elipse_32" data-name="Elipse 32" cx="4.5" cy="4.5" r="4.5" transform="translate(398.5 730.5)" fill="none" stroke="%232562ea" stroke-width="2"/><circle id="Elipse_33" data-name="Elipse 33" cx="4.5" cy="4.5" r="4.5" transform="translate(394.5 737.5)" fill="none" stroke="%232562ea" stroke-width="2"/></g></svg>')
}



.funciones-destacadas-list li.funcion-destacada-rieles-metalicos {
    background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="11.464" viewBox="0 0 18 11.464"><path id="Sin_título-1" data-name="Sin título-1" d="M44.65,40H40v9.464H56V40H51.35" transform="translate(-39 -39)" fill="none" stroke="%232463eb" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/></svg>')
}


.single-product .product-content .elementor-widget-woocommerce-product-price .price {
   align-items: baseline;
   gap:12px;
}

.single-product .product-content .elementor-widget-woocommerce-product-price .price ins, .single-product .product-content .elementor-widget-woocommerce-product-price .price span bdi, .single-product .product-content .elementor-widget-woocommerce-product-price .price ins, .single-product .product-content .elementor-widget-woocommerce-product-price .price span.desde {
   min-width: 0;
   font-size: 48px;
   font-weight: 500 !important;
   color: var(--e-global-color-primary);
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price{ color: var(--e-global-color-primary);}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price .discount-perc.style-2{display: none;}

.single-product .product-content .elementor-widget-woocommerce-product-price .price del, .single-product .product-content .elementor-widget-woocommerce-product-price .price del span bdi {
    font-size: 18px;
}

.single-product .product-content .elementor-widget-woocommerce-product-price .price .discount-perc {
    margin-left:0;
    border:1px solid #F2A52A;
    border-radius: 50px;
    color:#F2A52A;
    font-weight: 800;
    font-size: 16px;
    background-color:#FFF6EA;
    display: inline-flex;
    padding:2px 10px;
}

.single-product .product-content .elementor-widget-woocommerce-product-price .price .discount-perc.style-1 {
    display: none;
}


.single-product .woocommerce-variation-description{display: none;}
.single-product .woocommerce-variation-price{padding-bottom: 20px;}



.single_add_to_cart_button {
    width: 100%;
    max-width: 300px;
    display: flex !important;
    gap:6px;
    align-items: center;
    justify-content: center;
}

.single_add_to_cart_button:before {
    content:' ';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='18' viewBox='0 0 18 19.778'%3E%3Cg id='shopping-bag-16' transform='translate%28-2 1%29'%3E%3Cpath id='Trazado_1' data-name='Trazado 1' d='M5.667,2,3,5.556V18a1.778,1.778,0,0,0,1.778,1.778H17.222A1.778,1.778,0,0,0,19,18V5.556L16.333,2Z' transform='translate%280 -2%29' fill='none' stroke='%2302151e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cline id='L%C3%ADnea_3' data-name='L%C3%ADnea 3' x2='16' transform='translate%283 3.556%29' fill='none' stroke='%2302151e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Trazado_2' data-name='Trazado 2' d='M15.111,10A3.556,3.556,0,0,1,8,10' transform='translate%28-0.556 -2.889%29' fill='none' stroke='%2302151e' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    width: 16px;
    height: 18px;
    display: inline-block;

}

.documentacion-grid {
    display: flex;
    gap:30px;
}


@media (max-width:600px) {
    .documentacion-grid {
        display: grid;
    }
}


.documentacion-grid a {
    padding:16px;
    border:1px solid #BCBCBC;
    border-radius: 10px;
    color:inherit;
    display: flex;
    align-items: center;
    gap:30px;
    transition: all 0.3s;
}

.documentacion-grid a:hover {
    background:#fbfbfb;
}

.documentacion-grid .documentacion-item__icono {
    display: inline-flex;
    width: 40px;
    height: 100%;
    background-size: 100% auto;
    background-position: center left;
    background-repeat: no-repeat;
}

.documentacion-grid .documentacion-item__info {
    display: flex;
    flex-direction: column;
}

.documentacion-grid .documentacion-item__nombre {
    font-weight: 800;
}

.documentacion-grid .documentacion-item__meta {
    font-size: 14px;
}

.documentacion-item-- .documentacion-item__icono {
    background-image:url('assets/img/icon-pdf.svg');
}


.documentacion-item--guia_cuidado .documentacion-item__icono {
    background-image:url('assets/img/icon-guia_cuidado.svg');
}

.documentacion-item--guia_instalacion .documentacion-item__icono {
    background-image:url('assets/img/icon-guia_instalacion.svg');
}

.documentacion-item--info_garantia .documentacion-item__icono {
    background-image:url('assets/img/icon-info_garantia.svg');
}



/* reviews */
.cr-review-link {
    color: var(--e-global-color-primary);
    font-size: 14px;
    
}





/* comprados_juntos */
.comprados_juntos .swiper-slide:not(:last-child) article:after {
    content:' ';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.832' height='16.832' viewBox='0 0 16.832 16.832'%3E%3Cpath d='M1.312-11.008h7.1v2.624h-7.1v7.1H-1.312v-7.1h-7.1v-2.624h7.1v-7.1H1.312Z' transform='translate(8.416 18.112)' fill='%2301161e'/%3E%3C/svg%3E");
    width:17px;
    height: 17px;
    background-repeat: no-repeat;
    position: absolute;
    right: -8px;
    top:calc(50% - 8px);
}



/* hide children no image */
body:not(.elementor-editor-active) .hide-no-image:not(:has(img)) {
    display: none !important;
}

/* hide children no documentation */
body:not(.elementor-editor-active) .hide-no-documentation:not(:has(.documentacion-grid)) {
    display: none !important;
}

body:not(.elementor-editor-active) .hide-funcionalidades:not(:has(.funciones-destacadas-list)) {
    display: none !important;
}

body:not(.elementor-editor-active) .hide-contexto:not(:has(.img-contexto)) {
    display: none !important;
}





/* contact */

.form-contact .elementor-button {
    display: flex;
    align-items: center;
    gap:10px;
}

.form-contact .elementor-button:before {
    content:'';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.414' height='22.414' viewBox='0 0 22.414 22.414'%3E%3Cg id='send' transform='translate%28-1 -0.586%29'%3E%3Cline id='L%C3%ADnea_41' data-name='L%C3%ADnea 41' x1='11' y2='11' transform='translate%2811 2%29' fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='Trazado_51' data-name='Trazado 51' d='M22,2,15,22l-4-9L2,9Z' fill='none' stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    width: 18px;
    height: 16px;
    display: block;
}





/* producto variaciones/atributos */

.woocommerce form.cart .variations tr th, .woocommerce form.cart .variations tr td{background-color:transparent;}
.woocommerce form.cart .variations tr th{padding-left:0px; font-size: 20px;}
.woocommerce form.cart .variations tr th.label{display: inline-flex!important; align-items: center!important; padding-bottom:0px}
.woocommerce form.cart .variations tr th.label .woo-selected-variation-item-name{display: none;}
.woocommerce form.cart .variations .variable-item-contents{font-size: 14px; color:#01161E; font-weight: 600;}
.woocommerce form.cart .variations .variable-item{display: block; width: auto; height: auto; padding: 10px 30px; border-radius: 14px!important; background-color: #F9F5FF!important;  box-shadow: inset 0 0 0 1px #364E5B!important;}
.woocommerce form.cart .variations .variable-item.selected{background-color: #F9F5FF!important; box-shadow: inset 0 0 0 3px #F2A52A!important;}
.woocommerce form.cart .variations .variable-item.image-variable-item{padding: 0px; border-radius:60px!important; outline: 1px solid black;  outline-offset: -0px;}
.woocommerce form.cart .variations .variable-item.selected.image-variable-item{ outline: 3px solid #F2A52A;  outline-offset: 0px; }
.woocommerce form.cart .variations .variable-item.selected .variable-item-contents{color:#01161E!important}
.woocommerce form.cart .variations .variable-item-contents::before{background-image: none!important;}
.woocommerce form.cart .variations .variable-item-contents .txt-prod::before {
  content: attr(data-title);
  display: block;
  text-align: center;
  margin-bottom: 5px;
}

.woocommerce form.cart .variations .variable-item.color-variable-item{padding: 0px!important;border-radius:60px!important;margin-bottom:8px!important }
.woocommerce form.cart .variations .variable-item-span-color{border-radius:60px!important;width: 56px!important;  height: 56px!important;}
.woocommerce form.cart .variations .color-variable-item{padding: 0px; border-radius:60px!important; outline: 1px solid black;  outline-offset: -0px;}
.woocommerce form.cart .variations .color-variable-item.selected{ outline: 3px solid #F2A52A;  outline-offset: 0px; }




.woo-variation-swatches .variable-items-wrapper .variable-item img{width:56px; height: 56px; border-radius: 60px;}
.woocommerce div.product form.cart .reset_variations{display: none!important;}

.woocommerce form.cart .variations .variable-items-wrapper[data-attribute_name*="forma-del-espejo"] .variable-item.image-variable-item{border-radius: 0px!important; background-color: transparent!important; box-shadow: none!important; border:1px solid #ffffff!important; padding: 10px; outline: none!important;}
.woocommerce form.cart .variations .variable-items-wrapper[data-attribute_name*="forma-del-espejo"] .variable-item.selected.image-variable-item{ box-shadow: none!important; border:1px solid #F2A52A!important; outline: none!important}
.woo-variation-swatches .variable-items-wrapper[data-attribute_name*="forma-del-espejo"] .variable-item img{border-radius: 0px!important;}


/* titulos debajo de las opciones de atributo*/
/* Forzar a que la lista principal de WooCommerce se muestre en fila (horizontal) */
ul.variable-items-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important; /* Espacio de separación entre cada opción */
    padding: 0;
    list-style: none;
}

/* El nuevo contenedor de cada opción: alinea el círculo y su texto en vertical */
.swatch-item-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 80px; /* Ajusta este ancho según lo grandes que sean tus círculos */
    text-align: center;
}

/* Forzar a que el <li> no rompa el diseño */
.swatch-item-wrapper .variable-item.image-variable-item {
    margin: 0 0 8px 0 !important; /* Margen inferior para separarlo del texto */
    display: block !important;
}



/* Estilo del texto que queda debajo */
.swatch-title-outside {
    font-size: 13px;
    color: #333;
    line-height: 1.2;
    word-break: break-word; /* Si el texto es largo, se divide en dos líneas limpiamente */
}



.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp{background-color: transparent;}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input{font-family: var( --e-global-typography-text-font-family ), Sans-serif;
  font-size: var( --e-global-typography-text-font-size );
  font-weight: var( --e-global-typography-text-font-weight ); background-color: #ffffff;}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::placeholder{font-weight: 500; color:#515962}


/* GALERIA PRODUCTOS */
.woo-variation-gallery-wrapper .wvg-gallery-thumbnail-image img{border-radius: 12px;}
.woo-variation-gallery-thumbnail-position-bottom-bottom .woo-variation-gallery-container .woo-variation-gallery-thumbnail-columns-8:not(.slick-initialized) > div{width:135px; margin-bottom:10px}


/* COLOR HIPERVINCULO PUNTO CALIENTE ENTRADAS BLOG (INSPIRACION) */
.e-hotspot__tooltip a,
.e-hotspot__tooltip a:visited {
    color: #ffffff; 
}


/* Prioridad reforzada para las opciones no disponibles.
   La repetición de .disabled es intencionada. */
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled,
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled:hover,
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled:focus {
    background: #f8eded !important;
    border-color: #c78b86 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

/* Elimina fondos interiores que puedan ocultar el tono rojizo */
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled
.variable-item-contents,
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled
.variable-item-span-button {
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

/* Texto apagado y tachado en todos los estados */
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled
.variable-item-span-button {
    color: #68717b !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 1.5px !important;
}

/* Sin cruz ni mensaje adicional */
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled
.variable-item-contents::before,
.variable-items-wrapper li.variable-item.button-variable-item.disabled.disabled.disabled
.variable-item-contents::after {
    content: none !important;
    display: none !important;
}






/* ALINIAR ELEMENTOS CARDS*/

/* FYB - TARJETAS DE PRODUCTO */
/* Plantilla Loop Elementor ID 210 */

/* VARIABLES GENERALES */
.elementor-210 .product-item {
    --fyb-beneficios: 32px;
    --fyb-nombre: 48px;
    --fyb-precio: 28px;
    --fyb-acabados: 60px;
    --fyb-gap: 7px;
}

/* CONTENEDOR PRINCIPAL */
.elementor-210 .product-item {
    height: auto !important;
}

/* ESTRUCTURA INTERIOR */
.elementor-210 .product-item > .e-con-inner {
    display: flex;
    flex-direction: column;
    height: auto !important;
    min-width: 0;
}

/* ZONA DE INFORMACIÓN */
.elementor-210 .product-item-bottom {
    display: grid !important;

    grid-template-columns: minmax(0, 1fr);

    grid-template-areas:
        "beneficios"
        "nombre"
        "precio"
        "acabados"
        "boton";

    grid-template-rows:
        minmax(var(--fyb-beneficios), auto)
        minmax(var(--fyb-nombre), auto)
        minmax(var(--fyb-precio), auto)
        minmax(var(--fyb-acabados), auto)
        auto;

    gap: var(--fyb-gap) !important;

    align-items: start;
    align-content: start !important;

    flex: 0 0 auto !important;

    padding: 14px 12px 18px !important;

    --gap: 0px;
    --row-gap: 0px;
    --column-gap: 0px;
}

/* RESETEAR ESPACIADOS DE ELEMENTOR */
.elementor-210 .product-item-bottom
> .elementor-widget {
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
    width: 100%;
    align-self: start;
}

/* 1. BENEFICIOS */
.elementor-210 .product-item-bottom
> .elementor-element-7ab61fb {
    grid-area: beneficios;
}

.elementor-210 .product-item-bottom
> .elementor-element-7ab61fb
.elementor-heading-title {
    margin: 0 !important;
    line-height: 1.4;
}

/* 2. NOMBRE DEL PRODUCTO */
.elementor-210 .product-item-bottom
> .elementor-element-d54954a {
    grid-area: nombre;
}

.elementor-210 .product-item-bottom
> .elementor-element-d54954a
.elementor-heading-title {
    margin: 0 !important;
    line-height: 1.3;
}

/* 3. PRECIO */
.elementor-210 .product-item-bottom
> .elementor-element-eaea82e {
    grid-area: precio;
}

.elementor-210 .product-item-bottom
> .elementor-element-eaea82e .price {
    margin: 0 !important;
    line-height: 1.3;
}

/* 4. ACABADOS */
.elementor-210 .product-item-bottom
> .elementor-element-1519384 {
    grid-area: acabados;
    display: block !important;
    min-height: var(--fyb-acabados);
}

/* MANTENER ESPACIO SIN ACABADOS */
.elementor-210 .product-item-bottom
.fyb-acabados-vacio {
    display: block !important;
    min-height: var(--fyb-acabados);
    visibility: hidden;
}

/* NO MODIFICAR LOS CÍRCULOS */
.elementor-210 .product-item-bottom
.fyb-acabados {
    width: 100%;
}

/* 5. BOTÓN */
.elementor-210 .product-item-bottom
> .elementor-element-043eb64 {
    grid-area: boton;
    margin-top: 0 !important;
}

/* TABLET */
@media (max-width: 1024px) {

    .elementor-210 .product-item {
        --fyb-beneficios: 44px;
        --fyb-nombre: 54px;
        --fyb-precio: 28px;
        --fyb-acabados: 60px;
        --fyb-gap: 7px;
    }

    .elementor-210 .product-item-bottom {
        padding: 12px 10px 16px !important;
    }
}

/* MÓVIL */
@media (max-width: 767px) {

    .elementor-210 .product-item {
        --fyb-beneficios: 52px;
        --fyb-nombre: 72px;
        --fyb-precio: 30px;
        --fyb-acabados: 60px;
        --fyb-gap: 6px;
    }

    .elementor-210 .product-item-bottom {
        padding: 12px 8px 16px !important;
    }
}


/* FYB - ALINEACIÓ DINÀMICA */
/* Plantilla Loop 210 */

/* Fila sense cap producte amb acabats */
.elementor-210
.product-item.fyb-fila-sin-acabados
.product-item-bottom {
    grid-template-areas:
        "beneficios"
        "nombre"
        "precio"
        "boton" !important;

    grid-template-rows:
        minmax(var(--fyb-beneficios), auto)
        minmax(var(--fyb-nombre), auto)
        minmax(var(--fyb-precio), auto)
        auto !important;
}

/* Eliminar l'espai dels acabats buits */
.elementor-210
.product-item.fyb-fila-sin-acabados
.product-item-bottom
> .elementor-element-1519384 {
    display: none !important;
}

/* Conservar alineació vertical */
.elementor-210 .product-item-bottom {
    align-content: start !important;
}



/* UNEDRLINE EN INSIPRACIÓN FOOTER */
/* Inspiración: mantiene el tamaño y el peso del texto */
.elementor-element.elementor-element-e78fd98 .elementor-post__title a {
    display: inline !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-decoration: none !important;
    transform: none !important;
    scale: none !important;

    /* Línea oculta bajo cada línea del título */
    background-image: linear-gradient(currentColor, currentColor) !important;
    background-repeat: no-repeat !important;
    background-position: left bottom !important;
    background-size: 0% 1px !important;

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    transition: background-size 0.25s ease !important;
}

/* Evita que el subrayado anterior se duplique */
.elementor-element.elementor-element-e78fd98 .elementor-post__title a::after {
    content: none !important;
}

/* Muestra únicamente la línea, sin agrandar el texto */
.elementor-element.elementor-element-e78fd98 .elementor-post__title a:hover,
.elementor-element.elementor-element-e78fd98 .elementor-post__title a:focus-visible,
.elementor-element.elementor-element-e78fd98 .elementor-post__title a[aria-current="page"] {
    background-size: 100% 1px !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    transform: none !important;
    scale: none !important;
    text-decoration: none !important;
}

/* Respeta la preferencia de movimiento reducido */
@media (prefers-reduced-motion: reduce) {
    .elementor-element.elementor-element-e78fd98 .elementor-post__title a {
        transition: none !important;
    }
}


/*  OCULTAR FILTRES */
/* Amaga tota la fila de filtres a les col·leccions muebles-*.
   Manté els filtres a la categoria general muebles-de-bano. */
body.tax-product_cat[class*="term-muebles-"]:not(.term-muebles-de-bano)
.elementor-element.elementor-element-7a1a94f {
    display: none !important;
}

/* Oculta els filtres a les col·leccions de mobles.
   Els manté a la categoria general muebles-de-bano. */
body.tax-product_cat[class*="term-muebles-"]:not(.term-muebles-de-bano)
.elementor-element.elementor-element-7a1a94f,

/* Plats de dutxa */
body.tax-product_cat.term-platos-de-ducha
.elementor-element.elementor-element-7a1a94f,

/* Alfombrilles: categoria general i les dues col·leccions */
body.tax-product_cat.term-alfombrillas-de-bano
.elementor-element.elementor-element-7a1a94f,
body.tax-product_cat.term-alfombrillas-plegables
.elementor-element.elementor-element-7a1a94f,
body.tax-product_cat.term-alfombrillas-rigidas
.elementor-element.elementor-element-7a1a94f {
    display: none !important;
}

/* Espai superior de les molles de pa només a les pàgines sense filtres */
body.tax-product_cat[class*="term-muebles-"]:not(.term-muebles-de-bano)
.elementor-element.elementor-element-8a96e37,
body.tax-product_cat.term-platos-de-ducha
.elementor-element.elementor-element-8a96e37,
body.tax-product_cat.term-alfombrillas-de-bano
.elementor-element.elementor-element-8a96e37,
body.tax-product_cat.term-alfombrillas-plegables
.elementor-element.elementor-element-8a96e37,
body.tax-product_cat.term-alfombrillas-rigidas
.elementor-element.elementor-element-8a96e37 {
    /* Canvia 32px per ajustar la separació superior */
    padding-top: 32px !important;
}



/* TREURE ASTERISCOS PANTALLA LOGIN */
/* Ocultar els asteriscs dels formularis d'accés i registre. */
.woocommerce-account .woocommerce-form-login .required,
.woocommerce-account .woocommerce-form-register .required {
    display: none;
}



/* RESEÑES EXTERNES ---------------------------------------------------------------------------------------------------- */
/* Reseñas externas FYB */
.fyb-resenas-externas {
    --fyb-fondo: #fff;
    --fyb-texto: #171717;
    --fyb-gap: 24px;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    color: var(--fyb-texto);
    font-family: inherit;
}

.fyb-resenas-externas,
.fyb-resenas-externas * {
    box-sizing: border-box;
}

/* Encabezado */
.fyb-resenas-externas .fyb-resenas-encabezado {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    text-align: center;
}

.fyb-resenas-externas .fyb-resenas-etiqueta,
.fyb-resenas-externas .fyb-resenas-contador {
    display: none !important;
}

.fyb-resenas-externas .fyb-resenas-titulo {
    margin: 0;
    color: #171717;
    font-size: clamp(24px, 2.5vw, 34px);
    font-weight: 600;
    line-height: 1.2;
}

/* Procedencia de las reseñas */
.fyb-resenas-externas .fyb-resenas-aviso {
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
}

/* Carrusel */
.fyb-resenas-externas .fyb-resenas-carrusel {
    position: relative;
    width: 100%;
    min-width: 0;
}

.fyb-resenas-externas .fyb-resenas-lista {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: var(--fyb-gap) !important;

    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 8px 0 26px;

    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    list-style: none;
    -webkit-overflow-scrolling: touch;
}

.fyb-resenas-externas .fyb-resenas-lista::-webkit-scrollbar {
    display: none;
}

/* Tarjetas */
.fyb-resenas-externas .fyb-resena {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 calc((100% - 2 * var(--fyb-gap)) / 3) !important;

    width: calc((100% - 2 * var(--fyb-gap)) / 3) !important;
    min-width: 0 !important;
    min-height: 300px;
    margin: 0 !important;
    padding: 30px !important;

    border: 0 !important;
    border-radius: 20px !important;
    background: var(--fyb-fondo) !important;
    box-shadow: 0 3px 26px -6px rgba(0, 0, 0, 0.14);

    scroll-snap-align: start;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

@media (hover: hover) {
    .fyb-resenas-externas .fyb-resena:hover {
        transform: translateY(-3px);
        box-shadow: 0 3px 26px -6px rgba(0, 0, 0, 0.22);
    }
}

/* Usuario */
.fyb-resenas-externas .fyb-resena-avatar {
    display: none !important;
}

.fyb-resenas-externas .fyb-resena-cabecera {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 22px !important;
}

.fyb-resenas-externas .fyb-resena-usuario {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.fyb-resenas-externas .fyb-resena-autor {
    color: #171717 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.fyb-resenas-externas .fyb-resena-fecha {
    color: #777 !important;
    font-size: 13px !important;
    line-height: 1.4;
}

/* Estrellas */
.fyb-resenas-externas .fyb-resena-estrellas {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    margin-bottom: 16px !important;
    font-size: 26px !important;
    line-height: 1 !important;
    letter-spacing: -1px;
}

.fyb-resenas-externas .estrella-activa {
    color: #ffb400 !important;
}

.fyb-resenas-externas .estrella-vacia {
    color: #d5d5d5 !important;
}

/* Comentario */
.fyb-resenas-externas .fyb-resena-texto {
    display: -webkit-box;
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #222 !important;
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.6 !important;
    overflow-wrap: anywhere;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    overflow: hidden;
}

/* Enlace a Leroy Merlin */
.fyb-resenas-externas .fyb-resena-fuente {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin-top: auto !important;

    color: #777 !important;
    font-size: 12px !important;
    font-weight: 500;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.fyb-resenas-externas .fyb-resena-fuente:hover {
    color: #171717 !important;
    text-decoration: underline !important;
}

/* Navegación */
.fyb-resenas-externas .fyb-resenas-navegacion {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    margin-top: 12px !important;
}

.fyb-resenas-externas .fyb-resenas-navegacion button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;

    width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;
    font-size: 23px !important;
    line-height: 1 !important;
    cursor: pointer;
}

.fyb-resenas-externas .fyb-resenas-navegacion button:disabled {
    opacity: 0.3;
    cursor: default;
}

.fyb-resenas-externas
.fyb-resenas-carrusel.sin-desplazamiento
.fyb-resenas-navegacion {
    display: none !important;
}

/* Sin reseñas */
.fyb-resenas-externas .fyb-resenas-vacio {
    padding: 30px;
    border-radius: 20px;
    background: var(--fyb-fondo);
    box-shadow: 0 3px 26px -6px rgba(0, 0, 0, 0.14);
    color: #777;
    font-size: 15px;
}

/* Tablet */
@media (max-width: 1024px) {
    .fyb-resenas-externas .fyb-resena {
        flex-basis: calc((100% - var(--fyb-gap)) / 2) !important;
        width: calc((100% - var(--fyb-gap)) / 2) !important;
        min-height: 280px;
        padding: 26px !important;
    }
}

/* Móvil */
@media (max-width: 767px) {
    .fyb-resenas-externas {
        --fyb-gap: 14px;
    }

    .fyb-resenas-externas .fyb-resena {
        flex-basis: 88% !important;
        width: 88% !important;
        min-height: 260px;
        padding: 24px !important;
        border-radius: 16px !important;
    }

    .fyb-resenas-externas .fyb-resenas-titulo {
        font-size: 24px;
    }

    .fyb-resenas-externas .fyb-resena-autor,
    .fyb-resenas-externas .fyb-resena-texto {
        font-size: 15px !important;
    }
}

/* Movimiento reducido */
@media (prefers-reduced-motion: reduce) {
    .fyb-resenas-externas .fyb-resenas-lista {
        scroll-behavior: auto;
    }

    .fyb-resenas-externas .fyb-resena {
        transition: none;
        transform: none !important;
    }
}


/* FIX CANTONADES BOTONS FICHA PRODUCTE ÚNIC */
/* Permitir que el bloque crezca con todas las medidas */
body.single-product form.variations_form table.variations,
body.single-product form.variations_form table.variations tbody,
body.single-product form.variations_form table.variations tr,
body.single-product form.variations_form .woo-variation-items-wrapper {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Altura natural de las filas de botones */
body.single-product form.variations_form
.woo-variation-items-wrapper > .variable-items-wrapper {
    height: auto !important;
    max-height: none !important;
    flex-wrap: wrap !important;     
    overflow: visible !important;
    padding-top: 6px !important;
    padding-bottom: 12px !important;
}

/* NOMES 1 CARD A PARTIR DE 768PX */
@media (max-width: 768px) {
    .fyb-resenas-externas .fyb-resenas-lista > .fyb-resena {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100%;
    }
}



/* MODIFICACIONS PRE-DESPLEGAMENT WEB 03-11-2026 */
/* ---------------------------------------------    HOME    ------------------------------------------------------- */

/* CARDS HOME ---------------------------------------------------------------------------------------------------- */
/* FYB · Cantonades inferiors rectes a les fotos del bucle 210 */
.elementor-210.e-loop-item .product-item-top,
.elementor-210.e-loop-item .product-item-top .fyb-imagen-producto,
.elementor-210.e-loop-item .product-item-top .fyb-imagen-producto a,
.elementor-210.e-loop-item .product-item-top .fyb-imagen-producto img {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}


/* CATEGORIES ESTRELLA ---------------------------------------------------------------------------------------------------- */
/* FYB · Text i fletxa en negre al hover de la franja de categoria */
/* FYB · Hover sobre tota la targeta de categoria */
.category-item.full-box-link:is(:hover, :focus-within)
.cat-bottom .elementor-heading-title > a {
    color: #000000 !important;
}



/* BOTONES HOME ---------------------------------------------------------------------------------------------------- */
/* Inicio · Los más buscados y Pequeños electrodomésticos */
body.home :is(.elementor-element-801f415, .elementor-element-90369bb) a.elementor-button {
    background-color: var(--e-global-color-accent, #f2a52a) !important;
    border-color: var(--e-global-color-accent, #f2a52a) !important;
    color: var(--e-global-color-primary, #01161e) !important;
}

body.home :is(.elementor-element-801f415, .elementor-element-90369bb) a.elementor-button:is(:hover, :focus-visible) {
    background-color: var(--e-global-color-2b1b3a0, #fff) !important;
    border-color: #2f4e5f !important;
    color: #2f4e5f !important;
}

/* El texto interior sigue el color del botón en ambos estados */
body.home :is(.elementor-element-801f415, .elementor-element-90369bb) a.elementor-button .elementor-button-text {
    color: inherit !important;
}


/* Newsletter: text i icona del botó en hover/focus, en fosc perquè es vegin sobre el fons blanc */
form.elementor-form[name="Newsletter"] .elementor-button:hover,
form.elementor-form[name="Newsletter"] .elementor-button:focus-visible {
  color: #01161e !important;
}
form.elementor-form[name="Newsletter"] .elementor-button:hover .elementor-button-text,
form.elementor-form[name="Newsletter"] .elementor-button:focus-visible .elementor-button-text {
  color: #01161e !important;
}
form.elementor-form[name="Newsletter"] .elementor-button:hover svg,
form.elementor-form[name="Newsletter"] .elementor-button:hover svg *,
form.elementor-form[name="Newsletter"] .elementor-button:focus-visible svg,
form.elementor-form[name="Newsletter"] .elementor-button:focus-visible svg * {
  stroke: #01161e !important;
  fill: none !important;
}





/* SLIDER HOME TRUST INDEX ---------------------------------------------------------------------------------------------------- */
/* FYB · Opinions d’Amazon */
.elementor-element-faf6e0f .ti-widget.ti-amaz {
    --fyb-columnes: 4;
    --fyb-gap: 24px;
    --fyb-padding: 24px;
    width: 100% !important;
    max-width: 100% !important;
}

/* Quadrícula */
.elementor-element-faf6e0f .ti-amaz .ti-reviews-container {
    height: auto !important;
    overflow: visible !important;
}

.elementor-element-faf6e0f .ti-amaz .ti-reviews-container-wrapper {
    display: grid !important;
    grid-template-columns: repeat(var(--fyb-columnes), minmax(0, 1fr)) !important;
    gap: var(--fyb-gap) !important;
    align-items: stretch;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    left: auto !important;
    transform: none !important;
    overflow: visible !important;
}

/* Targeta completa: comentari a dalt i autor a baix */
.elementor-element-faf6e0f .ti-widget.ti-amaz
.ti-reviews-container-wrapper > .ti-review-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;

    position: relative !important;
    inset: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: var(--fyb-padding) !important;

    background: #fff !important;
    border: 1px solid #ebecef !important;
    border-radius: 20px !important;
    box-shadow: 0 3px 26px -6px rgb(0 0 0 / 14%) !important;
}

/* El comentari aprofita tota l’amplada */
.elementor-element-faf6e0f .ti-widget.ti-amaz .ti-review-item > .ti-inner,
.elementor-element-faf6e0f .ti-widget.ti-amaz .ti-inner > .ti-review-content {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.elementor-element-faf6e0f .ti-amaz .ti-review-text {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word;
}

/* Perfil dins de la targeta, alineat al peu */
.elementor-element-faf6e0f .ti-widget.ti-amaz .ti-review-item > .ti-review-header {
    display: flex !important;
    position: static !important;
    float: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
}

.elementor-element-faf6e0f .ti-amaz .ti-review-header > .ti-profile-img {
    flex: 0 0 auto;
    margin: 0 !important;
}

.elementor-element-faf6e0f .ti-amaz .ti-review-header > .ti-profile-details {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-element-faf6e0f .ti-amaz .ti-profile-details .ti-name {
    white-space: normal !important;
    overflow-wrap: break-word;
}

/* Sense punta de bafarada ni controls de carrusel */
.elementor-element-faf6e0f .ti-amaz .ti-review-item > .ti-inner::after,
.elementor-element-faf6e0f .ti-amaz .ti-review-content::after,
.elementor-element-faf6e0f .ti-amaz .ti-review-header::before,
.elementor-element-faf6e0f .ti-amaz .ti-controls,
.elementor-element-faf6e0f .ti-amaz .ti-controls-line {
    display: none !important;
}

/* Tauleta: 2 × 2 */
@media (max-width: 1024px) {
    .elementor-element-faf6e0f .ti-widget.ti-amaz {
        --fyb-columnes: 2;
        --fyb-gap: 20px;
    }
}

/* Mòbil: les quatre ressenyes, una sota l’altra */
@media (max-width: 768px) {
    .elementor-element-faf6e0f .ti-widget.ti-amaz {
        --fyb-columnes: 1;
        --fyb-gap: 16px;
        --fyb-padding: 20px;
    }
}

/* Separación entre tarjetas de Amazon */
.elementor-element-faf6e0f .ti-widget.ti-amaz
.ti-reviews-container > .ti-reviews-container-wrapper {
    display: grid !important;
    gap: 28px !important;
}

@media (max-width: 1024px) {
    .elementor-element-faf6e0f .ti-widget.ti-amaz
    .ti-reviews-container > .ti-reviews-container-wrapper {
        gap: 20px !important;
    }
}

@media (max-width: 768px) {
    .elementor-element-faf6e0f .ti-widget.ti-amaz
    .ti-reviews-container > .ti-reviews-container-wrapper {
        gap: 16px !important;
    }
}




/* ESTABLIR COLORS BOTO I HOVER A TOT WP -------------------------------------------------------------------------------- */
/* FYB · Botones fuera del header */
body :is(.elementor-button, .woocommerce .button, .wc-block-components-button, input[type="submit"]):not(:where(header, .elementor-location-header, [data-elementor-type="header"], [role="banner"]) *) {
    background-color: var(--e-global-color-accent) !important;
}

/* FYB · Hover fuera del header */
body :is(.elementor-button, .woocommerce .button, .wc-block-components-button, input[type="submit"]):not(:where(header, .elementor-location-header, [data-elementor-type="header"], [role="banner"]) *):hover {
    background-color: var(--e-global-color-2b1b3a0, #fff) !important;
}

/* GENERAL */
/* Carret lateral: ocultar només l’avís del descompte */
.elementor-menu-cart__main .fyb-cart-dto {
    display: none !important;
}

/* CARD DE CADA PRODUCTO EN BUCLE CATEGORIAS */
.fyb-pant-bajo {
    --pant-punto: 32px;        /* tamaño visible del círculo */
    --pant-toque: 44px;        /* zona clicable mínima */
    --pant-fondo: #F9F5FF;     /* fondo de la tarjeta (el hueco del aro) */
    --pant-aro: #2F4E5F;       /* color del aro en hover / foco */
    --pant-ajuste: 4px;        /* alinea el primer círculo con el texto */
}

/* Sin los textos "Diferentes colores" y "Ver acabados / Disponible en varias medidas" */
.fyb-pant-bajo .fyb-pant-colores,
.fyb-pant-bajo .fyb-pant-medidas {
    display: none !important;
}

/* Tarjetas sin puntos (LYNX, por ejemplo): sin fila vacía */
.fyb-pant-bajo:not(:has(.fyb-pant-punto)) {
    display: none !important;
}

.fyb-pant-bajo .fyb-pant-puntos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin-left: calc((var(--pant-toque) - var(--pant-punto)) / -2 + var(--pant-ajuste));
}

/* El enlace mide 44×44, pero el color solo se pinta en el centro */
.fyb-pant-bajo .fyb-pant-puntos .fyb-pant-punto {
    position: relative;
    display: block !important;
    flex: 0 0 var(--pant-toque);
    box-sizing: border-box !important;
    width: var(--pant-toque) !important;
    height: var(--pant-toque) !important;
    min-width: var(--pant-toque) !important;
    margin: 0 !important;
    padding: calc((var(--pant-toque) - var(--pant-punto)) / 2) !important;
    border: 0 !important;
    border-radius: 50% !important;
    background-clip: content-box !important;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

/* Borde fino y uniforme, para que el blanco se distinga sin que los demás tonos pesen */
.fyb-pant-bajo .fyb-pant-puntos .fyb-pant-punto::before {
    content: "";
    position: absolute;
    inset: calc((var(--pant-toque) - var(--pant-punto)) / 2);
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(1, 22, 30, .22);
    pointer-events: none;
    transition: box-shadow .2s ease;
}

/* Hover y teclado: aro exterior separado del círculo */
.fyb-pant-bajo .fyb-pant-puntos .fyb-pant-punto:is(:hover, :focus-visible)::before {
    box-shadow:
        inset 0 0 0 1px rgba(1, 22, 30, .22),
        0 0 0 2px var(--pant-fondo),
        0 0 0 3.5px var(--pant-aro);
}

@media (prefers-reduced-motion: reduce) {
    .fyb-pant-bajo .fyb-pant-puntos .fyb-pant-punto::before {
        transition: none !important;
    }
}











/* BANNER SUPERIOR -------------------------------------------------------------------------------------------------------- */
/* Sentit del camió: 1 = cabina a la dreta (original) · -1 = cabina a l'esquerra */
.banner-oferta {
    --camio-sentit: -1;
}

/* Capçalera global (banner a dalt + menú): s'enganxa a dalt */
body:not(.elementor-editor-active) .elementor-location-header:has(.banner-oferta) {
    position: sticky;
    top: var(--fyb-admin-top, 0px);
    z-index: 1000;
    transition: top 280ms ease;
}

/* En baixar: la capçalera puja l'altura del banner.
   Es fa amb "top" i no amb "transform" perquè el selector d'idioma
   (position: fixed) no es descol·loqui. */
body:not(.elementor-editor-active) .elementor-location-header.fyb-oferta-oculta {
    top: calc(var(--fyb-admin-top, 0px) - var(--fyb-altura-oferta, 0px));
}

/* Respectar la barra d'administració de WordPress quan és fixa */
@media (min-width: 601px) {
    body.admin-bar {
        --fyb-admin-top: var(--wp-admin--admin-bar--height, 32px);
    }
}

/* Contingut del banner: icona i text centrats en una fila */
.banner-oferta > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;
}

/* Sense el marge inferior que Elementor afegeix als widgets */
.banner-oferta .elementor-widget {
    margin-bottom: 0 !important;
}

/* La icona ocupa només el seu espai, sense alçada de línia extra */
.banner-oferta .icon-banner,
.banner-oferta .icon-banner .elementor-icon-wrapper,
.banner-oferta .icon-banner .elementor-icon {
    display: flex !important;
    align-items: center;
    line-height: 1 !important;
}

/* Camió: només ell canvia de sentit, el text no es mou */
.banner-oferta .icon-banner svg {
    display: block;
    transform: scaleX(var(--camio-sentit)) !important;
}

/* El text, sense espai superior ni inferior */
.banner-oferta .elementor-widget-text-editor,
.banner-oferta .elementor-widget-text-editor p {
    margin: 0 !important;
    line-height: 1.3;
}

@media (prefers-reduced-motion: reduce) {
    .elementor-location-header:has(.banner-oferta) {
        transition: none !important;
    }
}


/* BANNER SUPERIOR: RESPONSIVE (≤ 680px) */
@media (max-width: 680px) {

    .banner-oferta {
        --banner-icono: 20px;
    }

    /* Icona a l'esquerra, text al costat. El conjunt queda centrat al banner */
    .banner-oferta > .e-con-inner {
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        gap: 10px;
    }

    .banner-oferta .icon-banner {
        flex: 0 0 auto !important;
        order: 0;
    }

    .banner-oferta .icon-banner svg {
        width: var(--banner-icono) !important;
        height: var(--banner-icono) !important;
    }

    /* Text més petit, alineat a l'esquerra i es parteix en línies si cal */
    .banner-oferta .elementor-widget-text-editor {
        flex: 0 1 auto !important;
        min-width: 0;
        text-align: left;
        font-size: clamp(11.5px, 2.1vw, 15px);   /* 15px a 680px · 11.5px a ≤ 550px */
        line-height: 1.3;
        text-wrap: balance;
    }

    /* El widget del text s'ajusta al seu contingut, així el conjunt es pot centrar */
    .banner-oferta .elementor-widget-text-editor,
    .banner-oferta .icon-banner {
        width: auto !important;
        max-width: 100% !important;
    }
    
    /* Sense balanç: el text omple la línia i el conjunt queda centrat */
    .banner-oferta .elementor-widget-text-editor {
        text-wrap: pretty !important;
    }
}

@media (max-width: 480px) {

    .banner-oferta {
        --banner-icono: 18px;
    }

    .banner-oferta > .e-con-inner {
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 8px;
    }
}




/* PAGINA INSPIRACIÓN -------------------------------------------------------------------------------- */
/* Ancho y margen compartidos por el hero y la rejilla de tarjetas */
.fyb-insp {
    --insp-ancho: 1200px;    /* ancho máximo del contenido */
    --insp-lateral: 20px;    /* margen lateral */
}

/* ---------- Hero: imagen de fondo con el texto encima ---------- */
.fyb-insp .fyb-insp-hero {
    --hero-borde-color: var(--e-global-color-accent, #E5A840);
    --hero-borde-grosor: 6px;
    --hero-alto-min: clamp(320px, 36vw, 460px);
    --hero-velo: 1, 22, 30;   /* color del velo (RGB) */

    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: var(--hero-alto-min);
    margin: 0;
    padding: clamp(40px, 6vw, 72px) 0;
    overflow: hidden;
    isolation: isolate;
    background: #01161E;                                        /* mientras carga la imagen */
    border-bottom: var(--hero-borde-grosor) solid var(--hero-borde-color);
}

/* La imagen es el fondo del banner */
.fyb-insp .fyb-insp-hero .fyb-insp-hero-imagen {
    position: absolute !important;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Velo oscuro para que el texto se lea sobre la foto */
.fyb-insp .fyb-insp-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        90deg,
        rgba(var(--hero-velo), .75) 0%,
        rgba(var(--hero-velo), .50) 55%,
        rgba(var(--hero-velo), .20) 100%
    );
}

/* Texto encima: mismo ancho y margen que la rejilla de tarjetas */
.fyb-insp .fyb-insp-hero .fyb-insp-hero-in {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--insp-ancho);
    margin-inline: auto;
    padding-inline: var(--insp-lateral);
    text-align: left;
}

/* Título y párrafo ocupan todo el ancho de las tres columnas */
.fyb-insp .fyb-insp-hero .fyb-insp-hero-in > h1 {
    width: 100%;
    max-width: none;
    margin: 0 0 16px;
    color: #fff !important;
    font-size: clamp(35px, 4vw, 52px);
    line-height: 1.1;
}

.fyb-insp .fyb-insp-hero .fyb-insp-hero-in > .fyb-insp-intro {
    width: 100%;
    max-width: none;
}

.fyb-insp .fyb-insp-hero .fyb-insp-intro p {
    margin: 0;
    color: #fff;
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.6;
    font-weight: 500;
}

/* Rejilla de tarjetas: misma caja que el hero, para que los bordes coincidan */
main.fyb-insp .fyb-insp-cuerpo {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--insp-ancho);
    margin-inline: auto;
    padding-inline: var(--insp-lateral);
}

/* Móvil: el texto ocupa todo el ancho, así que el velo es uniforme */
@media (max-width: 767px) {
    .fyb-insp .fyb-insp-hero {
        min-height: 0;
        padding: 40px 0;
    }

    .fyb-insp .fyb-insp-hero::before {
        background: rgba(var(--hero-velo), .62);
    }
}

/* ---------- Tarjetas de la portada ---------- */
main.fyb-insp .fyb-insp-grid {
    gap: clamp(18px, 2.5vw, 32px);
}

main.fyb-insp .fyb-insp-grid > .fyb-card {
    box-sizing: border-box;
    padding: clamp(16px, 2vw, 24px);
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 0px 3px 26px -6px rgb(0 0 0 / 16%);
}

/* Ocultar solo el resumen entre el título y «Leer guía» */
main.fyb-insp .fyb-card > :is(h2, h3) + p {
    display: none;
}

/* Espacio entre foto, tema, título y botón */
main.fyb-insp .fyb-card > .fyb-card-tema {
    margin: 16px 0 0;
}

main.fyb-insp .fyb-card > :is(h2, h3) {
    margin: 12px 0 24px;
}

/* «Leer guía»: mismo estilo que el botón de la ficha FYB */
main.fyb-insp .fyb-insp-grid > .fyb-card > a.fyb-leer {
    align-self: flex-start;
    width: fit-content;
    max-width: 100%;
    min-height: 0;
    margin-top: auto;
    padding: 16px 30px;
    border: 2px solid var(--e-global-color-accent, #f2a52a);
    border-radius: 50px;
    background-color: var(--e-global-color-accent, #f2a52a);
    color: var(--e-global-color-primary, #01161e);
    transition: background-color .2s, border-color .2s, color .2s;
}

main.fyb-insp .fyb-insp-grid > .fyb-card > a.fyb-leer:is(:hover, :focus-visible) {
    background-color: var(--e-global-color-2b1b3a0, #fff);
    border-color: var(--e-global-color-text, #2f4e5f);
    color: #2f4e5f;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    main.fyb-insp .fyb-insp-grid > .fyb-card {
        transition:
            transform 350ms cubic-bezier(.25, .1, .25, 1),
            box-shadow 350ms ease;
    }

    main.fyb-insp .fyb-insp-grid > .fyb-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 3px 26px -6px rgb(0 0 0 / 20%);
    }
}





/* PAGINA SOBRE NOSOTROS -------------------------------------------------------------------------------- */
.elementor-826 .elementor-element-68142c5 {
    --hero-borde-color: var(--e-global-color-accent, #E5A840);
    --hero-borde-grosor: 6px;
    --hero-alto-min: clamp(320px, 36vw, 460px);
    --hero-velo: 1, 22, 30;   /* color del velo (RGB) */

    position: relative;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box;
    min-height: var(--hero-alto-min) !important;
    padding-block: clamp(40px, 6vw, 72px) !important;
    overflow: hidden;
    isolation: isolate;
    background-size: cover !important;
    background-position: center !important;
    border-bottom: var(--hero-borde-grosor) solid var(--hero-borde-color) !important;
}

/* Velo oscuro para que el texto se lea sobre la foto.
   Se usa ::after porque Elementor reserva ::before para su superposición. */
.elementor-826 .elementor-element-68142c5::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(var(--hero-velo), .75) 0%,
        rgba(var(--hero-velo), .50) 55%,
        rgba(var(--hero-velo), .20) 100%
    );
}

/* Texto por encima del velo */
.elementor-826 .elementor-element-68142c5 > .e-con-inner {
    position: relative;
    z-index: 2;
    text-align: left;
}

.elementor-826 .elementor-element-68142c5 .elementor-widget-heading {
    text-align: left;
}

/* Título */
.elementor-826 .elementor-element-68142c5 h1.elementor-heading-title {
    margin: 0 0 16px;
    color: #fff !important;
    font-size: clamp(35px, 4vw, 52px) !important;
    line-height: 1.1;
}

/* Párrafo introductorio (el .fyb-solo-lectura no se toca) */
.elementor-826 .elementor-element-68142c5 .fyb-hero-txt {
    max-width: 680px;
}

.elementor-826 .elementor-element-68142c5 .fyb-hero-txt p {
    margin: 0;
    color: #fff;
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.6;
    font-weight: 500;
}

/* Móvil: velo uniforme, porque el texto ocupa todo el ancho */
@media (max-width: 767px) {
    .elementor-826 .elementor-element-68142c5 {
        min-height: 0 !important;
        padding-block: 40px !important;
    }

    .elementor-826 .elementor-element-68142c5::after {
        background: rgba(var(--hero-velo), .62);
    }
}



/* Sobre nosotros · Targetes d’instal·lacions */
.elementor-826 .fyb-sobre-instalaciones-grid > .fyb-sobre-instalacion {
    margin: 0;
    background-color: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 3px 26px -6px rgba(0, 0, 0, 0.5);
}

/* Foto integrada a la targeta */
.elementor-826 .fyb-sobre-instalacion > img {
    display: block;
    width: 100%;
    border-radius: 0;
}

/* Espai interior i textos sense cursiva */
.elementor-826 .fyb-sobre-instalacion > figcaption {
    padding: clamp(16px, 2vw, 24px);
    font-style: normal;
}

.elementor-826 .fyb-sobre-instalacion > figcaption > :is(h3, p) {
    font-style: normal;
}

/* Sobre nosotros · Ombra a la resta de fotografies */
.elementor-826 .fyb-sobre-marco > img,
.elementor-826 .elementor-widget-image img {    
    box-shadow: 0 3px 26px -6px rgba(0, 0, 0, 0.5);
}

/* Sobre nosotros · Redes sociales */
.elementor-826 .fyb-sobre-banda:has(.fyb-sobre-redes-btns) {
    --fyb-redes-margen: clamp(20px, 4vw, 48px);
    padding-block: clamp(40px, 5vw, 72px);
}

/* Separación entre la introducción y los botones */
.elementor-826 .fyb-sobre-banda .fyb-sobre-redes-btns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 24px 0 0;
}

.elementor-826 .fyb-sobre-redes-btns > a {
    margin: 0;
}

/* Galería más compacta, con margen real a ambos lados */
.elementor-826 .fyb-sobre-banda:has(.fyb-sobre-redes-btns) > .elementor-shortcode {
    box-sizing: border-box;
    width: calc(100% - 2 * var(--fyb-redes-margen));
    max-width: 960px;
    min-width: 0;
    margin: clamp(28px, 4vw, 44px) auto 0;
}

.elementor-826 .fyb-sobre-banda .instagram-gallery-item__wrap {
    margin-inline: 3px;
    border-radius: 14px;
    overflow: hidden;
}

/* Botón bajo las publicaciones */
.elementor-826 .fyb-sobre-banda .instagram-gallery__actions {
    display: flex;
    justify-content: center;
    margin: 24px 0 0;
    padding: 0;
}

/* Separación entre la galería y el sorteo */
.elementor-826 .fyb-sobre-banda:has(.fyb-sobre-redes-btns) > .fyb-sorteo {
    box-sizing: border-box;
    width: calc(100% - 2 * var(--fyb-redes-margen));
    max-width: 1120px;
    margin: clamp(36px, 5vw, 60px) auto 0;
    padding: clamp(22px, 3vw, 32px);
}

.elementor-826 .fyb-sorteo .fyb-sorteo-btn {
    margin-top: 12px;
}

/* Botones FYB de redes, sorteo y cierre */
.elementor-826 :is(
    .fyb-sobre-redes-btns > a,
    .instagram-gallery__actions > a.instagram-gallery__button,
    .fyb-sorteo > a.fyb-sorteo-btn,
    .fyb-sorteo a.fyb-sorteo-btn,
    .fyb-sobre-cierre-texto a.fyb-sobre-btn
) {
    --fyb-fondo: var(--e-global-color-accent, #f2a52a);
    --fyb-borde: var(--e-global-color-accent, #f2a52a);
    --fyb-letra: var(--e-global-color-primary, #01161e);
    --fyb-fondo-hover: #fff;
    --fyb-borde-hover: #2f4e5f;
    --fyb-letra-hover: #2f4e5f;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    min-height: 48px;
    padding: 12px 26px !important;
    border: 2px solid var(--fyb-borde) !important;
    border-radius: 50px !important;
    background-color: var(--fyb-fondo) !important;
    color: var(--fyb-letra) !important;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

/* TikTok: intercambia los estados */
.elementor-826 .fyb-sobre-redes-btns > a.fyb-sobre-btn-secundario {
    --fyb-fondo: #fff;
    --fyb-borde: #2f4e5f;
    --fyb-letra: #2f4e5f;
    --fyb-fondo-hover: var(--e-global-color-accent, #f2a52a);
    --fyb-borde-hover: var(--e-global-color-accent, #f2a52a);
    --fyb-letra-hover: var(--e-global-color-primary, #01161e);
}

.elementor-826 :is(
    .fyb-sobre-redes-btns > a,
    .instagram-gallery__actions > a.instagram-gallery__button,
    .fyb-sorteo a.fyb-sorteo-btn,
    .fyb-sobre-cierre-texto a.fyb-sobre-btn
):is(:hover, :focus-visible) {
    background-color: var(--fyb-fondo-hover) !important;
    border-color: var(--fyb-borde-hover) !important;
    color: var(--fyb-letra-hover) !important;
}

@media (max-width: 768px) {
    .elementor-826 .fyb-sobre-banda .fyb-sobre-redes-btns {
        gap: 10px;
        margin-top: 20px;
    }

    .elementor-826 .fyb-sobre-banda .instagram-gallery__actions {
        margin-top: 18px;
    }
}


/* Sobre nosotros · Título y párrafo del hero a todo el ancho del contenido */
.elementor-826 .elementor-element-68142c5 {
    --sobre-ancho: 1120px;    /* mismo ancho que las secciones de debajo */
    --sobre-lateral: 28px;    /* mismo margen lateral */
}

body .elementor-826 .elementor-element.elementor-element-68142c5 > .e-con-inner {
    box-sizing: border-box;
    width: 100% !important;
    max-width: var(--sobre-ancho) !important;
    margin-inline: auto !important;
    padding-inline: var(--sobre-lateral) !important;
}

body .elementor-826 .elementor-element-68142c5 .elementor-element-d54a9d6,
body .elementor-826 .elementor-element-68142c5 .elementor-element-d54a9d6 .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
}

body .elementor-826 .elementor-element-68142c5 .elementor-element-d54a9d6 .elementor-heading-title {
    max-width: none !important;
}

/* Párrafo introductorio: sin límite de ancho */
body .elementor-826 .elementor-element-68142c5 .elementor-element-d54a9d6 .fyb-hero-txt {
    width: 100% !important;
    max-width: none !important;
}

@media (max-width: 767px) {
    .elementor-826 .elementor-element-68142c5 {
        --sobre-lateral: 20px;
    }
}





/* CONTACTO -------------------------------------------------------------------------------- */
/* Contacto · Enviar mensaje */
.elementor-845 .form-contact .e-form__buttons {
    justify-content: flex-start;
}

.elementor-845 .form-contact button[type="submit"] {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-height: 44px;
    padding: 10px 24px;
}

/* Contacto · Espacio entre el título y la galería */
.elementor-845 .elementor-element.elementor-element-f9c85fa {
    padding: clamp(36px, 4vw, 60px) 20px 24px !important;
    text-align: center;
}

.elementor-845 .elementor-element.elementor-element-1f866b9 {
    padding: 0 20px clamp(36px, 4vw, 60px) !important;
}

/* Limitamos el ancho de la galería para reducir las tarjetas.
   El carrusel sigue calculando el ancho de cada diapositiva. */
.elementor-845 .elementor-element-1f866b9 .instagram-gallery-feed {
    box-sizing: border-box;
    width: 100%;
    max-width: 960px;
    min-width: 0;
    margin-inline: auto;
}

.elementor-845 .elementor-element-1f866b9 .instagram-gallery-item__wrap {
    margin-inline: 3px;
    border-radius: 14px;
    overflow: hidden;
}

.elementor-845 .elementor-element-1f866b9 .instagram-gallery__actions {
    display: flex;
    justify-content: center;
    margin: 24px 0 0;
    padding: 0;
}

/* Botones FYB: oscuro con texto blanco en reposo · amarillo con texto oscuro en hover */
.elementor-845 {
    --btn-fons: #01161E;                                       /* repòs: fons fosc */
    --btn-text: #FFFFFF;                                       /* repòs: text i icona blancs */
    --btn-fons-hover: var(--e-global-color-accent, #E5A840);   /* hover: groc del lloc */
    --btn-text-hover: #01161E;                                 /* hover: text i icona foscos */
}

.elementor-845 :is(.form-contact button[type="submit"], a.instagram-gallery__button--follow) {
    background-color: var(--btn-fons) !important;
    background-image: none !important;
    background-clip: border-box !important;
    border: 2px solid transparent !important;   /* la vora mostra el fons: sempre del mateix color */
    border-radius: 50px !important;
    color: var(--btn-text) !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow: none !important;
    transition: background-color .2s ease, color .2s ease;
}

.elementor-845 :is(.form-contact button[type="submit"], a.instagram-gallery__button--follow):is(:hover, :focus-visible) {
    background-color: var(--btn-fons-hover) !important;
    background-image: none !important;
    color: var(--btn-text-hover) !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Sense capes decoratives del plugin sobre l'enllaç d'Instagram
   (la icona és un <i> i no es veu afectada) */
.elementor-845 a.instagram-gallery__button--follow::before,
.elementor-845 a.instagram-gallery__button--follow::after {
    content: none !important;
}

/* El text i la icona de tots dos botons hereten sempre el color del botó */
.elementor-845 :is(.form-contact button[type="submit"], a.instagram-gallery__button--follow) :is(.elementor-button-text, .elementor-button-content-wrapper, i) {
    color: inherit !important;
}

.elementor-845 a.instagram-gallery__button--follow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    min-height: 44px;
    padding: 10px 24px;
    font: inherit;
    font-weight: 600;
    text-decoration: none;
}

/* Botó "Enviar mensaje": la icona segueix el color del text */
.elementor-845 .form-contact button[type="submit"].elementor-button .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.elementor-845 .form-contact button[type="submit"].elementor-button .elementor-button-content-wrapper::before {
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 2 11 13M22 2 15 22 11 13 2 9z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 2 11 13M22 2 15 22 11 13 2 9z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Elimina la icona antiga del botó d'enviar */
.elementor-845 .form-contact .elementor-field-type-submit::before,
.elementor-845 .form-contact .elementor-field-type-submit::after,
.elementor-845 .form-contact button[type="submit"].elementor-button::before,
.elementor-845 .form-contact button[type="submit"].elementor-button::after,
.elementor-845 .form-contact button[type="submit"].elementor-button .elementor-button-text::before,
.elementor-845 .form-contact button[type="submit"].elementor-button .elementor-button-text::after,
.elementor-845 .form-contact button[type="submit"].elementor-button .elementor-button-content-wrapper::after {
    content: none !important;
    background-image: none !important;
}

/* Móvil · Solo el botón del formulario ocupa toda la fila */
@media (max-width: 768px) {
    .elementor-845 .form-contact button[type="submit"] {
        width: 100% !important;
    }

    .elementor-845 .elementor-element-1f866b9 .instagram-gallery__actions {
        margin-top: 18px;
    }
}


/* TREURE EL BORDER BOOTOMS DE INSPO I ABOUT US */
body .elementor-826 .elementor-element.elementor-element-68142c5,
body .fyb-insp .fyb-insp-hero {
    border-bottom: 0 !important;
}




/* ==========================================================================
   FYB · Carrusel home  (v9.1)
   Requiere:
   - clase  fyb-home-carrusel        en el widget Loop Carousel (Avanzado > Clases CSS)
   - (opcional) clase fyb-slide--texto-oscuro en el contenedor de la plantilla (campo ACF slide_tema)
   Orden de los widgets en la plantilla: 1 kicker · 2 título · 3 subtítulo · 4 botón
   ========================================================================== */

/* --- 1. Variables ------------------------------------------------------ */
.fyb-home-carrusel {
  --fyb-naranja: #E5A840;
  --fyb-oscuro: #01161e;
  --fyb-texto: #fff;          /* color del texto */
  --fyb-velo: 1, 22, 30;      /* color de fondo del banner (RGB) */
  --fyb-velo-d: .62;          /* opacidad del velo en escritorio */
  --fyb-banda-m: min(56vw, 360px);  /* alto de la foto en móvil (máx. 360px) */
}

/* Colores por slide (provisional por ID; se sustituye por la clase dinámica cuando funcione) */
.fyb-home-carrusel .e-loop-item-6251 {          /* SENSE */
  --fyb-velo: 41, 43, 47;
}

.fyb-home-carrusel .e-loop-item-6252,           /* AERIS azul: fondo claro, texto oscuro */
.fyb-home-carrusel .fyb-slide--texto-oscuro {
  --fyb-texto: var(--fyb-oscuro);
  --fyb-velo: 220, 226, 238;
  --fyb-velo-d: 0;
}

.fyb-home-carrusel .e-loop-item-6253 {          /* AERIS negro */
  --fyb-velo: 10, 12, 18;
}

/* --- 2. Banner (contenedor de cada slide) ------------------------------ */
.fyb-home-carrusel .e-loop-item > .e-con.e-con {
  --min-height: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  /* El banner mantiene la proporción de la imagen (1983×793): se ve entera, sin recortar.
     Todas las imágenes de escritorio deberían medir 1983×793 (o la misma proporción). */
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1983 / 680;  /* ← aquesta línia mana */
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  border-radius: 18px;
  background-color: rgb(var(--fyb-velo));
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Velo para leer el texto (degradado de izquierda a derecha) */
.fyb-home-carrusel .e-loop-item > .e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(var(--fyb-velo), var(--fyb-velo-d)) 0%,
    rgba(var(--fyb-velo), calc(var(--fyb-velo-d) * .3)) 55%,
    rgba(var(--fyb-velo), 0) 100%
  );
}

/* --- 3. Bloque de texto (a la izquierda) ------------------------------- */
.fyb-home-carrusel .e-loop-item .e-con-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 620px !important;
  margin: 0 !important;
  padding: 0 6%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
}

.fyb-home-carrusel .e-con-inner > .elementor-widget {
  margin: 0 !important;
}

/* 1 · Kicker */
.fyb-home-carrusel .e-con-inner > :nth-child(1) .elementor-heading-title {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 8px;
  color: var(--fyb-texto);
}

/* 2 · Título */
.fyb-home-carrusel .e-con-inner > :nth-child(2) .elementor-heading-title {
  font-size: clamp(1.6rem, 3.2vw, 2.6rem);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 0 0 8px;
  color: var(--fyb-texto);
}

/* 3 · Subtítulo */
.fyb-home-carrusel .e-con-inner > :nth-child(3) {
  font-size: clamp(.95rem, 1.5vw, 1.2rem);
  line-height: 1.35;
  margin: 0 0 18px !important;
  color: var(--fyb-texto);
}

/* 4 · Botón */
.fyb-home-carrusel .e-con-inner > :nth-child(4) .elementor-button {
  background: var(--fyb-naranja);
  color: var(--fyb-oscuro);
  border: 1px solid var(--fyb-naranja);   /* borde del color del fondo: no se nota y evita que el botón "salte" en hover */
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 800;
  transition: background .15s, border-color .15s;
}

.fyb-home-carrusel .e-con-inner > :nth-child(4) .elementor-button:hover,
.fyb-home-carrusel .e-con-inner > :nth-child(4) .elementor-button:focus-visible {
  background: transparent;
  color: var(--fyb-oscuro);          /* el texto no cambia de color */
  border-color: var(--fyb-oscuro);   /* borde de 1px del mismo color que el texto */
}

/* --- 4. Flechas -------------------------------------------------------- */
.fyb-home-carrusel .elementor-swiper-button {
  box-sizing: border-box;
  width: 44px !important;
  height: 44px !important;
  min-width: 0;
  padding: 0 !important;            /* sin padding: la flecha queda centrada en el círculo */
  margin: 0 !important;
  transform: translateY(-50%) !important;   /* centrado vertical exacto sobre "top" */
  border-radius: 50%;
  background: rgba(255, 255, 255, .96);
  color: var(--fyb-oscuro) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0;
  box-shadow: 0 2px 10px rgba(1, 22, 30, .28);
  opacity: 1;
  transition: background .2s, box-shadow .2s;
}

.fyb-home-carrusel .elementor-swiper-button svg {
  display: block;
  flex: none;
  margin: 0;
  width: 18px !important;
  height: 18px !important;
  fill: var(--fyb-oscuro) !important;
  color: var(--fyb-oscuro) !important;
}

.fyb-home-carrusel .elementor-swiper-button svg path {
  fill: var(--fyb-oscuro) !important;
}

.fyb-home-carrusel .elementor-swiper-button:hover {
  background: var(--fyb-naranja);
  box-shadow: 0 4px 14px rgba(1, 22, 30, .35);
}

.fyb-home-carrusel .elementor-swiper-button:focus-visible {
  outline: 3px solid var(--fyb-naranja);
  outline-offset: 2px;
}

.fyb-home-carrusel .elementor-swiper-button-prev {
  left: 16px !important;
}

.fyb-home-carrusel .elementor-swiper-button-next {
  right: 16px !important;
}

/* --- 5. Paginación (debajo del banner, el punto activo es una píldora) -- */
/* La paginación sale del flujo: así el widget mide solo lo que mide el banner
   y las flechas (top: 50%) quedan centradas en el banner, no en banner + puntos. */
.fyb-home-carrusel {
  margin-bottom: 36px !important;   /* hueco reservado para los puntos */
}

.fyb-home-carrusel .swiper-pagination {
  position: absolute !important;
  top: 100% !important;
  bottom: auto !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  transform: none !important;
  display: flex;
  justify-content: center;          /* conjunto de puntos centrado */
  align-items: center;
  gap: 8px;
}

.fyb-home-carrusel .swiper-pagination .swiper-pagination-bullet {
  position: relative;
  width: 8px;
  height: 8px;
  margin: 0 !important;
  border-radius: 999px;
  background: #c3c9cf;
  opacity: 1;
  transition: width .25s, background .25s;
}

/* zona táctil ampliada sin agrandar el punto */
.fyb-home-carrusel .swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  inset: -10px;
}

.fyb-home-carrusel .swiper-pagination .swiper-pagination-bullet:hover {
  background: #9aa3ab;
}

.fyb-home-carrusel .swiper-pagination .swiper-pagination-bullet-active,
.fyb-home-carrusel .swiper-pagination .swiper-pagination-bullet-active:hover {
  width: 28px;
  background: var(--fyb-naranja);
}

.fyb-home-carrusel .swiper-pagination .swiper-pagination-bullet:focus-visible {
  outline: 3px solid var(--fyb-oscuro);
  outline-offset: 3px;
}

/* --- 6. Tablet (768px – 1024px): flechas más pequeñas para no tapar la foto ni el texto ---- */
@media (min-width: 768px) and (max-width: 1024px) {

  /* en tablet también se mantiene la proporción de la imagen (sin alto fijo) */
  .fyb-home-carrusel .e-loop-item > .e-con.e-con {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1983 / 680;  /* ← aquesta línia mana */
  }

  .fyb-home-carrusel .elementor-swiper-button {
    width: 28px !important;
    height: 28px !important;
    box-shadow: 0 1px 6px rgba(1, 22, 30, .3);
  }

  .fyb-home-carrusel .elementor-swiper-button svg {
    width: 11px !important;
    height: 11px !important;
  }

  .fyb-home-carrusel .elementor-swiper-button-prev {
    left: 10px !important;
  }

  .fyb-home-carrusel .elementor-swiper-button-next {
    right: 10px !important;
  }

  /* el texto empieza después de la flecha */
  .fyb-home-carrusel .e-loop-item .e-con-inner {
    padding: 0 max(6%, 56px);
  }
}

/* --- 7. Móvil (hasta 767px): foto arriba, texto debajo sobre el color del banner ---- */
@media (max-width: 767px) {

  .fyb-home-carrusel .e-loop-item > .e-con.e-con {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    justify-content: flex-start;
    border-radius: 14px;
    background-size: auto var(--fyb-banda-m) !important;
    background-position: right top !important;
  }

  /* fundido entre la foto y el color de fondo */
  .fyb-home-carrusel .e-loop-item > .e-con::after {
    inset: auto 0 auto 0;
    top: calc(var(--fyb-banda-m) - 70px);
    height: 70px;
    background: linear-gradient(180deg, rgba(var(--fyb-velo), 0) 0%, rgb(var(--fyb-velo)) 100%);
  }

  .fyb-home-carrusel .e-loop-item .e-con-inner {
    height: auto;
    max-width: none !important;
    padding: calc(var(--fyb-banda-m) + 14px) 7% 26px;
    justify-content: flex-start;
  }

  .fyb-home-carrusel .e-con-inner > :nth-child(1) .elementor-heading-title {
    font-size: 12px;
  }

  .fyb-home-carrusel .e-con-inner > :nth-child(2) .elementor-heading-title {
    font-size: clamp(1.5rem, 6.6vw, 1.9rem);
  }

  .fyb-home-carrusel .e-con-inner > :nth-child(3) {
    font-size: 1rem;
    margin-bottom: 16px !important;
  }

  .fyb-home-carrusel .e-con-inner > :nth-child(4) .elementor-button {
    padding: 11px 24px;
    font-size: .95rem;
  }

  /* flechas pequeñas, sobre la foto */
  .fyb-home-carrusel .elementor-swiper-button {
    width: 24px !important;
    height: 24px !important;
    box-shadow: 0 1px 5px rgba(1, 22, 30, .3);
    top: calc(var(--fyb-banda-m) / 2) !important;
  }

  .fyb-home-carrusel .elementor-swiper-button svg {
    width: 10px !important;
    height: 10px !important;
  }

  .fyb-home-carrusel .elementor-swiper-button-prev {
    left: 8px !important;
  }

  .fyb-home-carrusel .elementor-swiper-button-next {
    right: 8px !important;
  }
}




/* MODIFICAR MENU CATEGORIES */
/* Menú lateral de categorías: dos títulos fijos con las subcategorías siempre abiertas */

/* 1. Subcategorías siempre visibles */
.menu-lateral .elementor-nav-menu .sub-menu {
  display: block !important;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  width: auto !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
  box-shadow: none !important;
}

/* 2. Sin flecha a la derecha de los títulos */
.menu-lateral .elementor-nav-menu a.has-submenu::before,
.menu-lateral .elementor-nav-menu a.has-submenu::after,
.menu-lateral .elementor-nav-menu a.has-submenu .sub-arrow {
  content: none !important;
  display: none !important;
}

/* 3. Los dos títulos no son clicables */
.menu-lateral .elementor-nav-menu > li.menu-item-has-children > a.has-submenu {
  pointer-events: none !important;
  cursor: default !important;
  font-weight: 700 !important;
}

/* Subcategorías del menú lateral: un poco más grandes */
.menu-lateral .elementor-nav-menu .sub-menu a.elementor-sub-item {
  font-size: 15px !important;   /* ← ajusta este número */
}

/* Títols de categoria del menú en negreta */
.menu-lateral .elementor-nav-menu > li.menu-item-has-children > a.elementor-item,
.menu-lateral .elementor-nav-menu > li.fyb-menu-titulo > a.elementor-item,
.elementor-nav-menu--dropdown .elementor-nav-menu > li.menu-item-has-children > a.elementor-item {
  font-weight: 800 !important;
  color: #3C5565 !important;
  font-size: 22px !important;
}

.elementor-684 .elementor-element.elementor-element-4eaff8c .stock {
display: block !important;
}


/* ===== Resumen «Tu pedido» del checkout ===== */
/* La tabla pasa a bloques: cada fila es una rejilla independiente (sin columnas compartidas) */
.e-checkout__order_review .woocommerce-checkout-review-order-table,
.e-checkout__order_review .woocommerce-checkout-review-order-table thead,
.e-checkout__order_review .woocommerce-checkout-review-order-table tbody,
.e-checkout__order_review .woocommerce-checkout-review-order-table tfoot{display:block;width:100%}

.e-checkout__order_review .woocommerce-checkout-review-order-table tr{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:24px;
  align-items:start;
  width:100%;
}
.e-checkout__order_review .woocommerce-checkout-review-order-table th,
.e-checkout__order_review .woocommerce-checkout-review-order-table td{
  display:block;width:auto !important;max-width:none !important;min-width:0;margin:0;
  padding:12px 0;line-height:1.35;overflow-wrap:break-word;
}

/* Columna 1 a la izquierda, columna 2 pegada a la derecha como los precios */
.e-checkout__order_review .woocommerce-checkout-review-order-table th{text-align:left}
.e-checkout__order_review .woocommerce-checkout-review-order-table td{text-align:right}
.e-checkout__order_review .woocommerce-checkout-review-order-table td.product-name{text-align:left}
.e-checkout__order_review .woocommerce-checkout-review-order-table .product-total,
.e-checkout__order_review .woocommerce-checkout-review-order-table tfoot td{white-space:nowrap}

/* Cantidad y variaciones compactas */
.e-checkout__order_review .product-name .product-quantity{white-space:nowrap;font-weight:600}
.e-checkout__order_review .product-name dl.variation{margin:6px 0 0;font-size:.85em;opacity:.8}
.e-checkout__order_review .product-name dl.variation dt{float:left;clear:left;margin:0 4px 0 0;font-weight:600}
.e-checkout__order_review .product-name dl.variation dd,
.e-checkout__order_review .product-name dl.variation dd p{margin:0}

/* Envío: etiqueta ajustada, texto ocupa el resto y pegado a la derecha */
.e-checkout__order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{grid-template-columns:auto minmax(0,1fr)}
.e-checkout__order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th{white-space:nowrap}
.e-checkout__order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{white-space:normal;text-align:right}
.e-checkout__order_review .woocommerce-shipping-methods{margin:0;padding:0;list-style:none}
.e-checkout__order_review .woocommerce-shipping-methods li{margin:0}
.e-checkout__order_review .woocommerce-shipping-methods label{display:inline;font-weight:600}

/* «incluye X € IVA»: una línea, debajo del importe */
.e-checkout__order_review .order-total td small.includes_tax{display:block;margin-top:2px;font-size:.8em;font-weight:400;white-space:nowrap}

/* Móviles muy estrechos: el envío baja debajo de su etiqueta */
@media (max-width:480px){
  .e-checkout__order_review .woocommerce-checkout-review-order-table th,    
  .e-checkout__order_review .woocommerce-checkout-review-order-table td{font-size:.95em}
  .e-checkout__order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals{grid-template-columns:1fr;row-gap:0}
  .e-checkout__order_review .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td{text-align:left;padding-top:0}
}




/* ===== Producto agotado en la ficha (simple y variable, igual en todos) ===== */

/* Se mantiene solo el mensaje nativo de WooCommerce; el texto en inglés se oculta */
.fyb-compra-caja .fyb-out-of-stock{display:none !important}

/* El contenedor de variaciones no añade nada propio: el espacio va en el propio mensaje */
.elementor-add-to-cart .woocommerce-variation-availability{margin:0 !important;padding:0 !important}

/* «Sin existencias»: grande, sin recuadro, con aire arriba y abajo */
.elementor-add-to-cart p.stock.out-of-stock{
  display:block !important;
  margin:18px 0 26px !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  font-size:1.6rem !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  color:#b42318 !important;
}

/* Botón desactivado: se nota que no se puede pulsar (colores ya van en línea) */
.single_add_to_cart_button.fyb-agotado{
  opacity:.55;cursor:not-allowed;box-shadow:none !important;transform:none !important;
}

/* Móvil */
@media (max-width:600px){
  .elementor-add-to-cart p.stock.out-of-stock{font-size:1.4rem !important;margin:14px 0 22px !important}
}


/* ===== No mostrar el stock disponible ("X disponibles") ===== */
.single-product .woocommerce-variation-availability .stock.in-stock,
.single-product .elementor-add-to-cart > .stock.in-stock{display:none !important}

/* Producto agotado: se oculta toda la caja de compra (botón + «OUT OF STOCK») */
body.single-product form.cart .fyb-compra-caja:has(.fyb-agotado),
body.single-product form.cart .fyb-compra-caja:has(.wc-variation-is-unavailable){
  display:none !important;
}


/* ===== Selector d'idiomes ===== */

/* Amaga el widget propi d'Elementor (només es veu el de Weglot) */
.selector_idioma { display: none !important; }

/* Selector de Weglot: més a la dreta */
.country-selector {
  right: 10px !important;
  left: auto !important;
}

/* Mòbil: rectangle més petit */
@media (max-width: 600px) {
  .country-selector {
    right: 8px !important;
    transform: scale(0.8);
    transform-origin: right bottom;
  }
}