/*HOVER MIN PRODUCTOS*/
.swiper-wrapper{
    padding:5px;
}
.elementor-widget-update-0.elementor-element.elementor-element-30243f0.e-con-full.product-miniature.e-flex.e-con--column.e-con.e-parent.e-lazyloaded{
    transition:all ease 1s;
    /* padding:5px; */
}
.product-miniature .product-info-pricing{
    padding:10px;
}
.elementor-widget-update-0.elementor-element.elementor-element-30243f0.e-con-full.product-miniature.e-flex.e-con--column.e-con.e-parent.e-lazyloaded:hover{
  box-shadow: 0 4px 12px #aaa;
  border-radius: 12px;
}


/*MODIFICACIONES PÁGINA CONTACTO*/
.elementor-widget-update-4.elementor-element.elementor-element-a551a7a.elementor-button-align-start.contact-form.elementor-widget.elementor-widget-stcontactus {
    padding: 0;
}
.mapa-contacto {
    background: none !important;
}
.mapa-contacto iframe {
    border-radius: 32px !important;
    width: 100% !important;
    height: 400px; 
}
#contact .mapa-contacto .elementor-custom-embed {
    border-radius: 32px;
    overflow: hidden; 
}
.contact-form input[type="submit"]{
    font-size:15px;
}
#cms .texto-content a{
    color:#717BB4;
}
#cms h1 {
  font-weight: 600;
}

/* Accesibilidad: oculta visualmente pero mantiene el texto para lectores de pantalla y SEO */
.oculto-visual {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Restaura el tamaño visual de los subtítulos de la columna de contacto (antes eran texto plano) */
.subtitulo-bloque h2 {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #151830;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

.categorias-sidebar .sbmenu_ma_item {
  padding: 6px 12px !important;
}

/* CHECKOUT - Datos Personales: texto de privacidad más pequeño (mantiene cursiva) */
#checkout-personal-information-step .custom-checkbox em p {
  font-size: 0.875rem !important;
}

/* CHECKOUT - Datos Personales: separación antes del botón Continuar */
#checkout-personal-information-step .form-footer .btn.continue {
  margin-top: 24px !important;
}

/* Encabezado H2 dentro de artículos de blog - mismo estilo que el texto en negrita original */
.titulo-articulo-blog {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  margin: 15px 0 !important;
}

/* Lista de miniaturas de subcategorías (Category tree) en fila, no apiladas */
.style-subcategorytree  .sitemm_links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 4px 10px !important;
  margin-bottom: 30px !important;
  margin-top: 30px !important;

}

/* Quitar margen extra de breadcrumb/nombre de categoría en páginas de categoría */
.sin-margen-cat {
  margin: 0 !important;
}


@media (min-width: 768px) and (max-width: 1200px) {
  .left-column-category {
    position: sticky !important;
    align-self: flex-start !important;
    top: 20px !important;
  }
}

/*general style*/
a, label, a:hover, a:focus {
    color: #151830;
}

a:focus, .btn-tertiary:focus, .btn:active:focus, .btn:focus {
    outline: none;
}

button:focus {
    outline: none;
}

.stsb-show-password {
    display: none;
}

.custom-checkbox input[type=checkbox] + span {
    border-radius: 2px;
    border-color: #BEBEBE !important;
    width: 16px !important;
    height: 16px !important;
}

.custom-checkbox svg {
    fill: #151830 !important;
}

p {
    margin-bottom: 0;
}

.elementor-button:focus, .elementor-button:hover, .elementor-button:visited {
    color: inherit;
}

.elementor-button-content-wrapper {
    flex-direction: row-reverse;
    gap: 8px;
}

main {
    position: relative;
}

main.shadow:after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #15183033;
    position: absolute;
    top: 0;
}

.stsb_mini_product_name,
.stsb_pm_info_v {
    display: inline-block;
}

.stsb_mini_product_name:first-letter,
.stsb_pm_info_v:first-letter {
    text-transform: uppercase;
}

/*end general style*/

/*header*/

#stsb-header .stsb_bubble {
    height: 15px;
}

#index #header:hover .stsb_bubble {
    background-color: #151830;
    color: #fff;
}

#index #header .stsb_bubble {
    background-color: #fff;
    color: #151830;
}

#index #stsb-header .top-bar {
    background-color: #0000000D;
}

#index #header span:not(.sbmenu_ma_text):not(.stsb_bubble),
#index #header a:not(.sbmenu_ma_item),
#index #header .elementor-paragraph-text {
    color: #fff !important;
}


#index #header svg path,
#index #header img {
    filter: invert(1) brightness(200%);
}

#index .elementor-header {
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.05);
}

body:not(.page-index) #header .elementor-header {
    border-bottom: 1px solid #F2F2F2 !important;
}

#header .elementor-header {
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

#index #header:hover svg path,
#index #header:hover img {
    filter: none;
}

#index #header:hover span:not(.sbmenu_ma_text):not(.stsb_bubble),
#index #header:hover a:not(.sbmenu_ma_item),
#index #header:hover .elementor-paragraph-text {
    color: #151830 !important;
}

#index #header:hover .top-bar {
    background-color: #fff;
}

#header .login-popup {
    display: none;
}

#header .login-popup.show {
    display: block;
}

div[data-elementor-id="84"].stsb_side_panel_show {
    animation: fadeIn 0.5s ease forwards;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 16px;
    border: 1px solid #D9D9D9;
    box-shadow: 0px 4px 15px 0px #15183014;
}

.stsb_registration_form .elementor-field-group {
    line-height: 14px;
}

#index #header:hover .elementor-widget-divider .elementor-divider-separator {
    border-color: #D9D9D9;
}

#header #header-search {
    cursor: pointer;
}

#header #header-search-bar {
    display: none;
}

#header .search-widget-custom {
    height: 100%;
}

#header .search-widget-custom > .elementor-widget-container {
    display: flex;
    align-items: center;
}

#header .search-widget-custom > .elementor-widget-container .stsb_search_widget {
    width: 100%;
}

#header .stsb_search_loader {
    right: 40px;
    width: 21px;
    height: 21px;
    background-image: url("../img/loading.svg");
    background-position: center;
    background-repeat: no-repeat;
    animation: rotate 5s linear infinite;
}

#header .stsb_search_loader .stsb-jumping-dots {
    display: none;
}

#header .autocomplete-suggestions .stsb_heading_warpper {
    display: none;
}

#header .autocomplete-suggestions {
    top: 63px;
}

#header .stsb_side_panel_list {
    display: flex;
    gap: 9px;
}


.stsb_customer_logged .stsb_customer_link {
    display: flex;
    align-items: center;
    gap: 5px;
}

.password-requirements p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 5px;
}

.password-requirements i {
    font-size: 14px;
    margin-bottom: 2px;
}

.stsb_registration_form .custom-checkbox label {
    line-height: 20px !important;
}

/*key frames*/
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.5);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/*end key frames*/

/*MODIFICACIONES PÁGINA DE INICIO (jerarquía de encabezados)*/
.mismo-estilo-h3 {
    font-family: "Helvetica_neue_medium", Sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
}
.mismo-estilo-h4 {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin-top: 0 !important;
    margin-bottom: .5rem !important;
}
/*END MODIFICACIONES PÁGINA DE INICIO (jerarquía de encabezados)*/

/*menu*/
header .desktop-menu .elementor-button svg, #stsb-header .elementor-button svg {
    fill: #fff;
}

#index header:hover .desktop-menu .e-n-tab-icon svg {
    fill: #0A1A3D;
}

/*end menu*/
/*end header*/

/*registration page*/
#registration .elementor-field-type-submit {
    margin-top: 11px;
}

/*end registration page*/


/*breadcrumb*/
.stsb_breadcrumb ul li:last-child span {
    font-weight: 700;
}

/*end breadcrumb*/

/*category page*/

/*filters*/
#category .filters-sidebar #search_filters .h6,
#category .filters-sidebar #search_filters #_desktop_search_filters_clear_all {
    display: inline-block !important;
}

#category #_desktop_search_filters_clear_all {
    float: right;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all:before {
    content: "";
    background-image: url("../img/clear.svg");
    background-repeat: no-repeat;
    background-position: center;
    width: 10.47px;
    height: 12.8px;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all {
    margin: 0;
    background: transparent;
    color: #151830;
    text-transform: initial;
    display: flex;
    align-items: center;
    gap: 5px;
    border: none;
    line-height: 14px;
    padding: 10px 0 0 0;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all .material-icons {
    display: none;
}

#category .filters-sidebar section[data-name="Color"] ul {
    max-width: 293px;
}

#category .filters-sidebar section[data-name="Color"] ul li {
    display: inline-block;
}

#category .filters-sidebar section[data-name="Color"] ul li a {
    display: none;
}

#category .filters-sidebar section[data-name="Color"] ul li .color {
    border-radius: 50%;
    width: 30px !important;
    height: 30px !important;

}

#category .filters-sidebar section[data-name="Color"] ul li input:not([data-search-url="https://www.yogaes.com/77-tienda?q=Precio-%E2%82%AC-19-43/Color-Blanco"]):not([data-search-url="https://www.yogaes.com/77-tienda?q=Color-Gris-Gris+pardo-Beige-Blanco"]) + .color {
    border: none !important;
}

#category .filters-sidebar #search_filters .ui-slider .ui-slider-handle {
    height: 14px;
    width: 14px;
    top: -4px;
    border-radius: 50%;
    border: 4px solid black;
}

#category .filters-sidebar #search_filters .faceted-slider .ui-slider-horizontal {
    background: #D9D9D9;
    border: none;
}

#category #search_filters > p {
    text-transform: initial !important;
    margin-bottom: 24px;
}

#category #search_filters .facet {
    cursor: pointer;
    line-height: 16px;
}

#category #search_filters .facet.rotate .facet-title:after {
    transform: rotate(180deg);
}

#category #search_filters .facet .facet-title:after {
    content: "";
    width: 19.2px;
    height: 16px;
    background-image: url("../img/arrow_blue.svg");
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    float: right;
    transition: transform 1s ease;
}

#category #search_filters .facet ul {
    display: none;
    margin: 18px 0 0 0;
}

#category #search_filters .facet ul li {
    margin-bottom: 10px;
}

#category #search_filters .facet-label a {
    margin: 0;
}

#category #search_filters .facet-label {
    display: flex;
    align-items: center;
}

#category #search_filters .facet-label span {
    top: 0;
}

#category #search_filters .facet-label.active span.color {
    background-image: url("../img/check.svg");
    background-position: center;
    background-repeat: no-repeat;
}

#category #search_filters .faceted-slider p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 12px;
}

#category #search_filters .ui-widget-header {
    background: #151830;
}

/*end filters*/

#category .elementor-swiper-button {
    bottom: 0;
    top: unset;
    right: 20px;
}

#category .elementor-swiper-button-prev {
    display: none;
}

#category .stsb_mini_product_name {
    display: inline-block;
}

#category .stsb_mini_product_name:first-letter {
    text-transform: uppercase;
}

#category .stsb_pm_sticker_reduced-price {
    display: flex;
    gap: 5px;
    flex-direction: row-reverse;
}

.stsb_category_name {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/*end category page*/

/*product page*/
#product .stsb_variant_item label[aria-label="Blanco"] span {
    border: 1px solid #F2F2F2;
}

#product .stsb_pm_info_k:before, #product .stsb_pm_feature_k:before {
    content: "·";
    font-weight: bold;
    margin-right: 8px;
}

/* ===== Unificación del lateral de la ficha de producto (yogaes) ===== */
/* Tokens de marca: azul #151830 · texto suave #5B5D6E · bordes #e3e6ef */

/* Nombre del producto: estaba demasiado grande y sin estilo */
#product h1.stsb_pro_name {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 24px !important;
    line-height: 1.25;
    font-weight: 600;
    color: #151830;
    margin: 0 0 10px;
}

/* Resumen corto */
#product .stsb_pro_summary,
#product .stsb_pro_summary .stsb_read_more_box {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #5B5D6E;
}

/* Bloque de variantes (Color) */
#product .stsb_variant_group {
    margin: 4px 0 8px;
}
#product .stsb_variant_label {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #151830;
    margin-bottom: 10px;
}
#product .stsb_variant_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}


/* Precio */
#product .stsb_pm_price {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #151830;
}

/* Botón "Añadir al carrito" / botones de acción del lateral */
#product .login-link .elementor-button,
#product .stsb_pm_action_button_add_to_cart{
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    border-radius: 12px;
    padding: 12px 24px;
    transition: all .2s ease;
}
#product .stsb_pm_action_button_add_to_cart{
    color: #fff;
    background-color: #151830;
    border: 2px solid #151830;
}

#product .stsb_pm_action_button_add_to_cart:hover{
    background-color: #fff;
    color: #151830;
}
#product .login-link .elementor-button:hover{
    background-color: #151830;
    color: #fff;
}
.anadir-a-la-cesta {
    margin-left: 40px !important;

}
/* Títulos de sección del lateral (DESCRIPCIÓN, ESPECIFICACIÓN): estaban enormes y sin estilo */
#product .elementor-heading-title.stsb_heading {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    display: block;
    font-size: 15px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #151830;
    margin: 8px 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e6ef;
}

/* Contenido de la descripción (el HTML estructurado: párrafos, h3, listas) */
#product .stsb_pro_description {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14.5px;
    line-height: 1.6;
    color: #151830;
}
#product .stsb_pro_description p {
    margin: 0 0 12px;
}
#product .stsb_pro_description h3 {
    font-size: 15px;
    font-weight: 600;
    color: #151830;
    margin: 18px 0 8px;
}
#product .stsb_pro_description ul {
    margin: 0 0 12px;
    padding-left: 18px;
}
#product .stsb_pro_description li {
    margin-bottom: 6px;
}
#product .stsb_pro_description strong {
    color: #151830;
    font-weight: 600;
}

/* Ficha técnica / referencia */
#product .stsb_pm_info_wrapper {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #151830;
}
#product .stsb_pm_info_k {
    color: #5B5D6E;
}
#product .stsb_variant_item {
    overflow:visible !important;
}

/*end product page*/

/* ===== Páginas CMS legales/FAQ (Element Flow widget st-cms-content): uniformidad ===== */
/* Solo aplica a: 2=Aviso legal, 3=T&C, 6=Privacidad, 27=Newsletters, 28=Envíos y devoluciones, 29=Cookies, 115=FAQ */
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px;
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #2b2e42;
    text-align: left;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h1,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h2,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h3,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h4 {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    color: #151830;
    line-height: 1.3 !important;
    font-weight: 600;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h1 { font-size: 23px !important; margin: 0 0 18px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h2 { font-size: 18px !important; margin: 28px 0 10px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h3 { font-size: 15.5px !important; margin: 20px 0 8px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h4 { font-size: 14px !important; margin: 16px 0 6px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content p { font-size: 14px !important; margin: 0 0 13px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content li { font-size: 14px !important; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content ul,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content ol { margin: 0 0 16px; padding-left: 22px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content li { margin-bottom: 8px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content a { color: #151830; text-decoration: underline; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content a:hover { opacity: .8; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content strong { color: #151830; font-weight: 600; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content img { max-width: 100%; height: auto; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content hr { border: 0; border-top: 1px solid #e3e6ef; margin: 28px 0; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content table { width: 100%; border-collapse: collapse; margin: 0 0 16px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content th,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content td { border: 1px solid #e3e6ef; padding: 8px 10px; text-align: left; }

/* Bloque de Preguntas Frecuentes (FAQ) dentro de la CMS */
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content .faq-item {
    border: 1px solid #e3e6ef;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 12px;
    background: #fff;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content .faq-item h3 {
    margin: 0 0 8px;
    font-size: 16px;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content .faq-item p:last-child { margin-bottom: 0; }

.faq-consulta-btn {
  border-radius: 6px;
  display: inline-block;
}

/* H1 oculto visualmente para SEO - título de página CMS (Element Flow) */
.stsb_cms_title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Título visible de páginas CMS (H2 semántico, con el estilo visual del H1 original) */
#cms .cms-page-title {
  font-size: 23px !important;
  font-family: "Helvetica neue", Helvetica, Arial, sans-serif !important;
  color: #151830 !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  margin: 0 0 18px !important;
}

/*end CMS pages*/

/*media queries*/
@media (min-width: 992px) {
    #index #header .login-link a:after {
        background-image: url("../img/arrow_white.svg");
    }

    #index #header:hover .login-link a:after {
        background-image: url("../img/arrow_blue.svg");
    }

    #header .login-link a:after {
        content: "";
        background-image: url("../img/arrow_blue.svg");
        width: 12.8px;
        height: 6.39px;
        background-repeat: no-repeat;
        background-position: center;
    }
}

@media (max-width: 991px) {
    #product .stsb_pm_action_button_add_to_cart_wrapper{
        width: 100%;
    }
    #product .product-gallery .swiper-horizontal {
        padding-bottom: 36px;
    }

    #product .product-gallery .stsb_pro_gallery_item {
        width: 100%;
    }

    #product .product-gallery .swiper-pagination-fraction {
        text-align: right;
        bottom: 4px;
    }

    .footer-copy .link-list ul {
        flex-direction: column;
        gap: 24px;
    }

    .menu-mobile .e-n-mobile-menu-back {
        gap: 15px;
    }

    #header #header-search.responsive .close-search-mobile {
        display: block;
    }

    #header #header-search.responsive .magnifying-glass-mobile {
        display: none;
    }

}


/*end media queries*/

.desktop-menu span a:hover,.menu-mobile-main summary:hover,.menu-mobile-main a:hover,.menu-mobile-extra a:hover{
    text-decoration:underline !important;
}


/***********************checkout************************/
/*colors*/
:root {
    --checkout-white: #ffffff;
    --checkout-black: #000000;
    --checkout-primary: #151830;
    --checkout-text: #1E1E1E;
    --checkout-disabled: #757575;
    --checkout-border: #D9D9D9;
}

/* Variables de colores */
:root {
  --primary-color: #151830;
  --primary-hover: #AED7F6;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --warning-color: #ffc107;
  --info-color: #767676;
  --light-color: #f8f9fa;
  --dark-color: #343a40;
  --white: #ffffff;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --border-radius: 0.375rem;
  --border-radius-lg: 0.5rem;
  --box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-lg: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Estilos principales del formulario */




@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*end colors^*/

/*general style ALSO NEEDED FOR CHECKOUT*/
.btn-primary:hover,
.btn-primary:active,
.custom-radio input[type=radio]:checked + span,
.btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.disabled:hover,
.btn-primary:disabled:hover,
.btn-primary {
    background-color: var(--checkout-primary);
}

input {
    border-radius: 8px;
    /* border: 1px solid var(--checkout-border) !important; */
    font-size: 14px;
    line-height: 14px;
    color: var(--checkout-text);
    font-weight: 400;
}

.input-group.focus,
input:focus,
.form-control:focus {
    outline: 1px solid var(--checkout-primary);
}

.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
    outline: none;
}


/*end general style ALSO NEEDED FOR CHECKOUT*/



#module-stsitebuilder-page .elementor-header{
    position:absolute;
}
#module-stsitebuilder-page #stsb-header .elementor-7 .elementor-element.elementor-element-42b1d33:not(.elementor-motion-effects-element-type-background), #stsb-header .elementor-7 .elementor-element.elementor-element-42b1d33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{
    background:none !important;
}
#module-stsitebuilder-page .elementor-header {
    background:rgba(245, 245, 245, 0.25) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
#module-stsitebuilder-page .elementor-header:hover{
    background:white !important;
}
#module-stsitebuilder-page #header svg path, #module-stsitebuilder-page #header img{
    filter: invert(1) brightness(200%);
}
#module-stsitebuilder-page #header span:not(.sbmenu_ma_text):not(.stsb_bubble), #module-stsitebuilder-page #header a:not(.sbmenu_ma_item), #module-stsitebuilder-page #header .elementor-paragraph-text {
    color: #fff !important;
}
#module-stsitebuilder-page #header .stsb_bubble {
    background-color: #fff;
    color: #151830;
}
#module-stsitebuilder-page #header:hover span:not(.sbmenu_ma_text):not(.stsb_bubble), #module-stsitebuilder-page #header:hover a:not(.sbmenu_ma_item), #module-stsitebuilder-page #header:hover .elementor-paragraph-text {
    color: #151830 !important;
}
#module-stsitebuilder-page #header:hover svg path, #module-stsitebuilder-page #header:hover img {
    filter: none;
}
#module-stsitebuilder-page #header .elementor-header {
    border-bottom: unset !important;
}

@media(max-width:767px){
    .elementor-widget-update-0.elementor-element.elementor-element-085d7c7.e-con-full.e-flex.e-con.e-child:has(.iframe-nuestrocentro){
        height:400px;
    }
    .iframe-nuestrocentro iframe{
        height:400px;
    }
}

#js-active-search-filters{
    padding:0;
    background:none;
    
}

#js-active-search-filters li.filter-block{
    background:#BEBEBE;
    border-radius:19px;
    color:#151830;
}
#js-active-search-filters li.filter-block .material-icons.close{
    margin:0px 5px !important;
}

.asanas-title-container{
    gap:5px;
}
.post-text-editor h4{
    margin:25px 0 5px;
    font-size:22px;
}
.post-text-editor p{
    margin:15px 0;
    font-size:22px;
}
.post-text-editor p:first-child{
    margin-top:0px;
}
.post-text-editor img{
    float:left;
    margin:15px 15px 15px 0;
}
.blog-posts-listing .blog-cover-image img{
    width:100%;
    height:250px;
    object-fit:cover;
}
.blog-posts-listing .blog-info{
    display: -webkit-box;
    -webkit-line-clamp: 3; /* número de líneas */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-posts-listing .blog-post-name h2 a{
    font-size:24px !important;
    min-height: 53px;
    justify-content: start;
    align-items: start;
}
.post-content .post-text-container blockquote{
    background-color: #EDEDED;
    padding: 21px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 24px;
    color: #888;
    padding: 10px 20px 14px 50px;
    border-style: solid;
    border-width: 1px;
}
.post-content .post-text-container blockquote p{
    margin:0;
}
.ciencia-mantra-post .post-text-editor img,
.ciencia-meditacion-post .post-text-editor img{
    float:right;
    margin:0px 0px 15px 15px;
}
@media(max-width:565px){
    .post-text-editor img{
        float:unset;
    }
    .ciencia-mantra-post .post-text-editor img,
    .ciencia-meditacion-post .post-text-editor img{
        float:unset !important;
    }
}

.header-search .stsb_search_box input,
.header-search .stsb_search_box button{
    background:unset !important;
    border:1px solid #fff !important;
    outline:none !important;
}

#header .header-search .stsb_search_box button svg{
    fill:#fff !important;
}
#header .header-search .stsb_search_box button svg path{
    filter:unset !important;
}

body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box input,
body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box button,
#header:hover .header-search .stsb_search_box button,
#header:hover .header-search .stsb_search_box input{
    border:1px solid #151830 !important;
}
body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box input,
#header:hover .header-search .stsb_search_box input,
.header-search .stsb_search_box input{
    border-right:0px !important;
}
body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box button svg,
#header:hover .header-search .stsb_search_box button svg{
    fill:#151830 !important;
}
#header:hover .header-search:has(input:focus) .stsb_search_box{
    border-radius:20px;
    box-shadow:0px 0px 2px#151830;
}

.category-subcategories .stsb_grid_wrapper{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
}


@media(min-width:768px){
	.product-gallery_thumbs .swiper-wrapper{
	    display:grid;
	    grid-template-columns:repeat(5,1fr)
	}
    .product-gallery_thumbs .elementor-swiper-button{
        display:none !important;
    }
    .product-gallery_thumbs .stsb_grid_item{
        overflow:hidden;
    }
    .product-gallery_thumbs .stsb_grid_item img{
        transition:scale 0.3s ease;        
    }
    .product-gallery_thumbs .stsb_grid_item img:hover{
        scale:1.10;
    }
    
}
.stsb_heading_warpper {
    position: relative;
}
.stsb_heading_warpper .stsb-swiper-button-con {
    position: absolute;
    width: 90px;
    right: 0px;
    top: -40px;
    pointer-events: none;
    display: flex;
    gap: 8px;
}
.stsb_heading_warpper .stsb-swiper-button-prev {
    position: relative;
    left: auto;
    top: auto;
    pointer-events: all;
}
.stsb_heading_warpper .stsb-swiper-button-next {
    position: relative;
    right: auto;
    top: auto;
    pointer-events: all;
}
.stsb_heading_warpper .stsb-swiper-button-prev,
.stsb_heading_warpper .stsb-swiper-button-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0px 4px 15px 0px #15183014;
}

.home .blog-cover-image img{
	width: 100%;
	height: 300px;
	object-fit:cover;
}
/* fix header sticky */
#header .elementor-header.sticky {
    background-color: #ffffff !important;
}

#header .elementor-header.sticky .top-bar {
    background-color: #ffffff !important;
}

#header .elementor-header.sticky span:not(.sbmenu_ma_text):not(.stsb_bubble),
#header .elementor-header.sticky a:not(.sbmenu_ma_item),
#header .elementor-header.sticky .elementor-paragraph-text {
    color: #151830 !important;
}

#header .elementor-header.sticky svg path,
#header .elementor-header.sticky img {
    filter: none !important;
}

#header .elementor-header.sticky .header-search .stsb_search_box input,
#header .elementor-header.sticky .header-search .stsb_search_box button {
    border: 1px solid #151830 !important;
}

#header .elementor-header.sticky .header-search .stsb_search_box input {
    border-right: 0px !important;
}

#header .elementor-header.sticky .header-search .stsb_search_box button svg {
    fill: #151830 !important;
}

#index #header .elementor-header.sticky span:not(.sbmenu_ma_text):not(.stsb_bubble),
#index #header .elementor-header.sticky a:not(.sbmenu_ma_item),
#index #header .elementor-header.sticky .elementor-paragraph-text {
    color: #151830 !important;
}

#index #header .elementor-header.sticky svg path,
#index #header .elementor-header.sticky img {
    filter: none !important;
}

#index #header .elementor-header.sticky .top-bar {
    background-color: #ffffff !important;
}

#index #header .elementor-header.sticky .stsb_bubble {
    background-color: #151830 !important;
    color: #fff !important;
}

#module-stsitebuilder-page #header .elementor-header.sticky {
    background: #ffffff !important;
}

#module-stsitebuilder-page #header .elementor-header.sticky span:not(.sbmenu_ma_text):not(.stsb_bubble),
#module-stsitebuilder-page #header .elementor-header.sticky a:not(.sbmenu_ma_item),
#module-stsitebuilder-page #header .elementor-header.sticky .elementor-paragraph-text {
    color: #151830 !important;
}

#module-stsitebuilder-page #header .elementor-header.sticky svg path,
#module-stsitebuilder-page #header .elementor-header.sticky img {
    filter: none !important;
}

@media (min-width: 992px) {
    #index #header .elementor-header.sticky .login-link a:after {
        background-image: url("../img/arrow_blue.svg") !important;
    }
}
/* fin fix header sticky */

/* CMS SOBRE NOSOTROS */
.page-heading.bottom-indent {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 24px;
}

.page-subheading {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 16px;
}

.cms-block p,
.cms-box p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 12px;
}

.cms-block strong.dark,
.cms-box strong.dark {
  color: #1a1a2e;
}

.cms-box img {
  max-width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.list-1 {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 14px;
}

.list-1 li {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 4px;
}

.testimonials {
  margin-bottom: 12px;
}

.testimonials .inner {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
}
/* FINAL CMS SOBRE NOSOTROS */

/*Pagina 404*/
/* ===========================================================
   YOGAES · Página 404
   Paleta natural salvia / crema
   =========================================================== */

.yg404 {
  --cream:      #F4EFE4;
  --cream-deep: #ECE4D3;
  --ink:        #2D362F;
  --ink-soft:   #5C685B;
  --sage:       #8C9B7C;
  --sage-deep:  #6E7D5F;
  --sage-soft:  #AAB79B;
  --font: "Mulish", system-ui, -apple-system, sans-serif;

  background: radial-gradient(120% 120% at 50% 18%, var(--cream) 0%, var(--cream-deep) 100%);
  font-family: var(--font);
  color: var(--ink);
  position: relative;
  overflow: hidden;
}

/* ---------- Capa de fondo animada ---------- */
.bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.bg-item {
  position: absolute;
  display: block;
  will-change: transform;
  animation: drift var(--d2, 9s) ease-in-out var(--delay, 0s) infinite alternate;
}

.bg-rot {
  display: block;
  width: 100%;
  height: 100%;
  will-change: transform, opacity;
  animation: pulse var(--d, 6s) ease-in-out var(--delay, 0s) infinite alternate;
}

.bg-rot svg {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--sage-deep);
}

@keyframes drift {
  from { transform: translateY(0); }
  to   { transform: translateY(-30px); }
}

@keyframes pulse {
  from { transform: scale(0.6);  opacity: 0.3; }
  to   { transform: scale(1.12); opacity: 0.72; }
}

.yg404 .page {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 2rem 1.5rem;
  max-width: 900px;
  margin: 0 auto;
}
/* ---------- 404 ---------- */
.error-num {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.01em;
  font-family: "Poppins", var(--font);
  font-size: clamp(7.5rem, 26vw, 16rem);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.005em;
  transform: scaleX(1.08);
}

.digit {
  color: var(--ink);
  text-shadow: 0 0.12em 0.26em rgba(45, 54, 47, 0.45);
}

.zero {
  position: relative;
  display: inline-block;
  transform-origin: center 55%;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.3%200'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(165deg, var(--sage-soft) 0%, var(--sage-deep) 56%, #4f5c43 100%);
  background-size: 84px 84px, 100% 100%;
  background-repeat: repeat, no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
  filter: drop-shadow(0 0.07em 0.1em rgba(45, 54, 47, 0.45));
  animation: breathe 5.5s ease-in-out infinite;
}

.zero::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.45em;
  height: 1.3em;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(140, 155, 124, 0.55), rgba(140, 155, 124, 0));
  filter: blur(8px);
  border-radius: 50%;
  z-index: -1;
}

@keyframes breathe {
  0%, 100% { transform: scale(0.97); opacity: 0.9; }
  50%      { transform: scale(1.04); opacity: 1; }
}

/* ---------- Texto ---------- */
.title {
  margin: 1.6rem 0 0;
  font-size: clamp(1.5rem, 4vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.subtitle {
  margin: 0.9rem auto 0;
  max-width: 28rem;
  font-size: clamp(1rem, 2.4vw, 1.15rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--ink-soft);
  text-wrap: pretty;
}

/* ---------- Botones ---------- */
.actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 2.4rem;
}

.btn {
  display: inline-block;
  padding: 0.85rem 1.5rem;
  font-family: var(--font);
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 999px;
  border: 1.5px solid var(--ink);
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.btn-primary {
  color: #fff;
  background: var(--color-hover);
  box-shadow: 0 8px 24px -12px rgba(45, 54, 47, 0.5);
}
.btn-primary:hover {
  background: var(--sage-deep);
  border-color: var(--sage-deep);
  /* transform: translateY(-2px); */
  box-shadow: 0 14px 30px -12px rgba(110, 125, 95, 0.6);
}

.btn-soft {
  color: var(--ink);
  background: transparent;
}
.btn-soft:hover {
  color: var(--cream);
  background: var(--ink);
  transform: translateY(-2px);
}

.btn:active {
  transform: translateY(0);
}

/* ---------- Accesibilidad ---------- */
@media (max-width: 680px) {
  .actions { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .bg-item,
  .bg-rot,
  .digit,
  .zero {
    animation: none !important;
  }
  .bg-rot { opacity: 0.3; }
}
.bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
/* FIX STICKY FOOTER */
main {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
section#wrapper {
    flex: 1;
}
/* FIN FIX STICKY FOOTER */

/*Botones checkout*/
#checkout-personal-information-step .btn-primary,
#checkout-addresses-step .btn-primary,
#checkout-delivery-step .btn-primary,
#payment-confirmation .btn-primary,
#submit-login {
    border-radius: 14px !important;
}
/*filtros ficha categoria*/
.dropdown-menu a[href*="order=product.name.asc"],
.dropdown-menu a[href*="order=product.name.desc"],
.dropdown-menu a[href*="order=product.reference.asc"],
.dropdown-menu a[href*="order=product.reference.desc"] {
    display: none;
}

#category #search_filters .facet .facet-title:after {
    background-size: contain;
    width: 16px;
    height: 16px;
}
/*left column sticky*/
.left-column-category {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 130px !important;
    align-self: flex-start;
}
@media (max-width: 991px) {
    .left-column-category {
        position: static !important;
        top: auto !important;
        align-self: auto !important;
    }
}
#category #_desktop_search_filters_clear_all {
  float: left;
  padding-bottom: 30px;
  padding-left: 16px;
  padding-top: 15px;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 8px;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all:before {
  position: relative;
  top: -2px;
}

#search_filters .facet {
  padding: 20px 30px 10px 15px;
  background: #FFFFFF;
  margin-bottom: 28.58px;
  border: 1px solid #EAEAEB;
  border-radius: 15px;
}

#search_filters .filter-title .facet-title {
  font: 500 18px / 27px Poppins;
  color: #47214C;
}

#search_filters .facet .facet-title {
  width: calc(100% - 30px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#search_filters .facet-title.hidden-sm-down {
  display: block !important;
}

#search_filters .facet > .title.hidden-md-up {
  display: none !important;
}

#search_filters .facet ul.collapse {
  display: block !important;
}

#category #search_filters .facet .facet-title:after {
  display: none !important;
}

#search_filters .custom-checkbox input[type=checkbox] + span {
  border-radius: 8px !important;
}

#search_filters .ps-shown-by-js .checkbox-checked {
  display: none !important;
}

#search_filters .custom-checkbox input[type=checkbox]:checked + span {
  background-color: var(--e-global-color-e46194c) !important;
  border-color: var(--e-global-color-e46194c) !important;
}
#search_filters section[data-name="Grosor"] ul.collapse {
  display: flex !important;
  flex-direction: column;
}

#search_filters section[data-name="Grosor"] ul.collapse li:nth-child(1) { order: 1; }
#search_filters section[data-name="Grosor"] ul.collapse li:nth-child(2) { order: 3; }
#search_filters section[data-name="Grosor"] ul.collapse li:nth-child(3) { order: 2; }

/*Desplegable de subcategorias*/
.sbmenu_ml.sbmenu_has_sub {
    position: relative;
}

.sbmenu_ml.sbmenu_has_sub > a.sbmenu_ma_item {
    display: flex;
    align-items: center;
    padding-right: 24px;
    position: relative;
}

.sbmenu_ml.sbmenu_has_sub > a.sbmenu_ma_item > .sbmenu_toggle_icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
}

.sbmenu_ml.sbmenu_has_sub > a.sbmenu_ma_item > .sbmenu_toggle_icon::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.sbmenu_ml.sbmenu_has_sub.sbmenu_abierto > a.sbmenu_ma_item > .sbmenu_toggle_icon::after {
    transform: rotate(225deg);
}

.sbmenu_ml.sbmenu_has_sub > .sbmenu_multi_level {
    display: none;
    position: static;
    width: 100%;
    padding-left: 15px;
}

/* ############################################################
   LOGIN / REGISTRO (split-screen) — añadido 2026-07-27
   (movido desde authentication.css porque theme.yml no recarga assets en runtime)
   ############################################################ */
/* ============================================================
   yogaes · Maquetación LOGIN / REGISTRO (split-screen)
   Páginas: authentication.tpl · registration.tpl
   Sistema de diseño yogaes: azul de marca #151830, blanco,
   radios 16px (tarjeta) / 12px (inputs), tipografía Space Grotesk + Roboto.
   Todo el CSS va scoped bajo .auth-split para no afectar a otras páginas.
   ============================================================ */

/* ---------- Contenedor split ---------- */
.auth-split{
    display:block;
    max-width:620px;
    margin:48px auto;
    background:#fff;
    border:1px solid #e3e6ef;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 44px rgba(21,24,48,.08);
}
.auth-split--login{ max-width:460px; }

/* ---------- Panel de marca (izquierda) ---------- */
.auth-brand{
    position:relative;
    display:flex;
    align-items:center;
    padding:52px 44px;
    color:#fff;
    background:linear-gradient(160deg,#1e2242 0%,#151830 62%,#0e1024 100%);
    overflow:hidden;
}
/* Foto opcional: sube una imagen a assets/img/auth-bg.jpg y aparecerá
   automáticamente sobre el degradado. Si no existe, se ve solo el degradado. */
.auth-brand::before{
    content:"";
    position:absolute; inset:0;
    background-image:var(--auth-bg, url('../img/auth-bg.jpg'));
    background-size:cover;
    background-position:center;
    opacity:.30;
    mix-blend-mode:luminosity;
}
.auth-brand::after{
    /* velo para asegurar legibilidad del texto sobre la foto */
    content:""; position:absolute; inset:0;
    background:linear-gradient(160deg,rgba(30,34,66,.35),rgba(14,16,36,.72));
}
.auth-brand__inner{ position:relative; z-index:1; max-width:340px; }
.auth-brand__logo{
    display:block;
    margin-bottom:30px;
    font:700 30px/1 "Space Grotesk","Helvetica Neue",sans-serif;
    letter-spacing:.01em;
    color:#fff;
}
.auth-brand__claim{
    margin:0 0 14px;
    font:600 27px/34px "Space Grotesk","Helvetica Neue",sans-serif;
    color:#fff;
}
.auth-brand__text{
    margin:0;
    font:400 15px/25px Roboto,sans-serif;
    color:rgba(255,255,255,.78);
}

/* ---------- Panel del formulario (derecha) ---------- */
.auth-panel{
    display:flex;
    align-items:center;
    padding:50px 46px;
}
.auth-panel__inner{ width:100%; }
.auth-panel__title{
    margin:0 0 6px;
    font:600 26px/32px "Space Grotesk","Helvetica Neue",sans-serif;
    color:#151830;
}
.auth-panel__subtitle{
    margin:0 0 28px;
    font:400 14px/22px Roboto,sans-serif;
    color:#A1A2AB;
}
.auth-panel__subtitle a{ color:#151830; font-weight:600; text-decoration:underline; }

/* ---------- Campos de formulario (stacked, ancho completo) ---------- */
.auth-split .form-group.row{ display:block; margin:0 0 18px; }

.auth-split .form-group.row > label.col-md-3,
.auth-split .form-group.row .form-control-label{
    display:block;
    width:100%; max-width:none; flex:none;
    padding:0 0 7px;
    text-align:left;
    font:500 13px/18px Roboto,sans-serif;
    color:#151830;
}
.auth-split .form-control-label.required::after{
    content:"*";
    margin-left:4px;
    color:#d64541;
    font-weight:700;
}
/* Caso checkbox: la etiqueta col-md-3 va VACÍA pero con clase .required, lo que
   pintaba un asterisco suelto flotando encima del checkbox. La ocultamos… */
.auth-split .form-group.row:has(.custom-checkbox) > .form-control-label{
    display:none;
}
/* …y ponemos el asterisco JUSTO tras el texto del checkbox (antes del <em>).
   Con flex: ocultamos el <br>, el asterisco (order:1) va tras el texto y el
   <em> descriptivo (order:2) baja a su propia línea. */
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
}
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label > br{
    display:none;
}
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label::after{
    content:"*";
    order:1;
    margin-left:4px;
    color:#d64541;
    font-weight:700;
}
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label > em{
    order:2;
    flex-basis:100%;
}

.auth-split .form-group.row > .col-md-6,
.auth-split .form-group.row > .js-input-column,
.auth-split .form-group.row > .col-md-3{
    width:100%; max-width:none; flex:none; padding:0;
}

.auth-split .form-control-comment{
    display:block;
    margin-top:6px;
    font:400 12px/18px Roboto,sans-serif;
    color:#A1A2AB;
}

/* Inputs / selects / textarea */
.auth-split .form-control,
.auth-split input[type="text"],
.auth-split input[type="email"],
.auth-split input[type="password"],
.auth-split input[type="tel"],
.auth-split input[type="number"],
.auth-split select,
.auth-split textarea{
    width:100%;
    height:48px;
    border:1px solid #e3e6ef;
    border-radius:12px;
    padding:0 15px;
    background:#fff;
    color:#151830;
    font:400 15px/20px Roboto,sans-serif;
    transition:border-color .18s ease,box-shadow .18s ease;
    box-shadow:none;
}
.auth-split textarea,
.auth-split textarea.form-control{
    height:auto;
    min-height:110px;
    padding:12px 15px;
    resize:vertical;
}
.auth-split .form-control:focus,
.auth-split select:focus,
.auth-split textarea:focus{
    border-color:#151830;
    box-shadow:0 0 0 3px rgba(21,24,48,.12);
    outline:none;
}
.auth-split input::placeholder,
.auth-split textarea::placeholder{ color:#b7b9c4; }

/* Select con flecha de marca */
.auth-split select,
.auth-split select.form-control-select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    padding-right:40px;
    background-image:url('../img/arrow_blue.svg');
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:12px;
    cursor:pointer;
}

/* Campo contraseña con botón mostrar/ocultar */
.auth-split .input-group{ display:flex; align-items:stretch; }
.auth-split .input-group .form-control{
    border-top-right-radius:0;
    border-bottom-right-radius:0;
}
.auth-split .input-group-btn{ display:flex; }
.auth-split .input-group-btn button,
.auth-split .input-group-btn [data-action="show-password"]{
    height:48px;
    padding:0 16px;
    border:1px solid #e3e6ef;
    border-left:0;
    border-radius:0 12px 12px 0;
    background:#f4f5f9;
    color:#151830;
    font:600 12px/1 Roboto,sans-serif;
    text-transform:uppercase;
    letter-spacing:.03em;
    cursor:pointer;
    transition:background .18s ease;
}
.auth-split .input-group-btn button:hover{ background:#e6e7ec; }

/* Política de contraseña */
.auth-split .field-password-policy{ margin-bottom:18px; }
.auth-split .field-password-policy .form-group.row{ margin-bottom:0; }
.auth-split .field-password-policy .help-block,
.auth-split .field-password-policy ul{
    margin-top:8px;
    font:400 12px/18px Roboto,sans-serif;
    color:#A1A2AB;
}

/* Checkboxes (RGPD, newsletter, condiciones…)
   Respetamos el patrón del tema: el <input> nativo va oculto y la caja
   visual es el <span> con el icono .checkbox-checked. NO hacemos visible
   el input (eso provocaba dos cajas). */
.auth-split .custom-checkbox{
    position:relative;
    display:flex;
    align-items:flex-start;
    margin-bottom:14px;
    word-break:break-word;
}
.auth-split .custom-checkbox input[type="checkbox"]{
    position:absolute;
    width:18px; height:18px;
    margin-top:2px;
    opacity:0;
    cursor:pointer;
}
.auth-split .custom-checkbox label{
    display:block;
    margin:0;
    font:400 13px/20px Roboto,sans-serif;
    color:#151830;
    cursor:pointer;
}
/* Caja visual del checkbox */
.auth-split .custom-checkbox input[type="checkbox"] + span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:18px; height:18px;
    margin:1px 10px 0 0;
    border:1px solid #cfd3e0;
    border-radius:5px;
    background:#fff;
    vertical-align:top;
    transition:background .15s ease,border-color .15s ease;
}
.auth-split .custom-checkbox input[type="checkbox"]:checked + span{
    border-color:#151830;
    background:#151830;
}
.auth-split .custom-checkbox input[type="checkbox"] + span .checkbox-checked{
    margin:0;
    font-size:15px;
    line-height:1;
    color:#fff;
}
/* Texto de consentimiento / ayuda dentro del label (RGPD, condiciones) */
.auth-split .custom-checkbox em{
    display:block;
    margin-top:6px;
    font-style:normal;
    font-weight:400;
    font-size:12px;
    line-height:18px;
    color:#A1A2AB;
}
.auth-split .custom-checkbox em p{ margin:0; font-size:12px; line-height:18px; }
.auth-split .custom-checkbox a{ color:#151830; text-decoration:underline; }

/* ---------- Enlaces auxiliares ---------- */
.auth-split .forgot-password{
    margin:-4px 0 6px;
    text-align:right;
}
.auth-split .forgot-password a{
    font:400 13px/18px Roboto,sans-serif;
    color:#A1A2AB;
    text-decoration:none;
}
.auth-split .forgot-password a:hover{ color:#151830; text-decoration:underline; }

/* ---------- Botón principal (ancho completo, hover invertido) ---------- */
.auth-split .form-footer{
    margin-top:24px;
    padding:0;
    border:0;
}
.auth-split .form-footer .btn-primary,
.auth-split #submit-login,
.auth-split [data-link-action="save-customer"],
.auth-split [data-link-action="sign-in"]{
    float:none !important;
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#151830;
    color:#fff;
    border:2px solid #151830;
    border-radius:12px;
    padding:14px 24px;
    font:600 16px/20px Roboto,sans-serif;
    cursor:pointer;
    transition:all .2s ease;
}
.auth-split .form-footer .btn-primary:hover,
.auth-split #submit-login:hover,
.auth-split [data-link-action="save-customer"]:hover,
.auth-split [data-link-action="sign-in"]:hover{
    background:#fff;
    color:#151830;
}

/* ---------- "¿Sin cuenta? / ¿Ya tienes cuenta?" ---------- */
.auth-split .no-account{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #eef0f5;
    text-align:center;
    font:400 14px/20px Roboto,sans-serif;
    color:#A1A2AB;
}
.auth-split .no-account a{
    color:#151830;
    font-weight:600;
    text-decoration:none;
}
.auth-split .no-account a:hover{ text-decoration:underline; }

/* Hook displayCustomerLoginFormAfter (por si algún módulo inyecta contenido) */
.auth-split .login-form + *{ margin-top:4px; }

/* ============================================================
   Módulo customergroups (Extended Registration)
   Bloque "Seleccionar grupo" + "Mensaje de solicitud"
   inyectado por el hook createAccountForm en el registro.
   ============================================================ */
.auth-split #customer_groups{ /* hereda estilos de select */ }

.auth-split #request_message{
    min-height:96px;
}

/* Aviso "requiere aprobación manual" (#auto-find).
   OJO: el módulo alterna display:none/block por JS inline; aquí solo
   damos aspecto, no tocamos display para no romper ese toggle. */
.auth-split #auto-find,
.auth-split .alert{
    margin-top:10px;
    padding:11px 15px;
    border-radius:12px;
    font:400 13px/19px Roboto,sans-serif;
}
.auth-split .alert-warning,
.auth-split #auto-find{
    background:#fff8e6;
    border:1px solid #f2e2b0;
    color:#7a5c00;
}

/* ---------- Errores de formulario ---------- */
.auth-split .has-error .form-control,
.auth-split .has-error input,
.auth-split .has-error select{
    border-color:#d64541;
    box-shadow:0 0 0 3px rgba(214,69,65,.12);
}
.auth-split .alert-danger,
.auth-split .help-block{
    margin:0 0 20px;
    padding:12px 15px;
    border-radius:12px;
    background:#fdecec;
    border:1px solid #f3c6c4;
    color:#c0322e;
    font:400 13px/19px Roboto,sans-serif;
    list-style:none;
}
.auth-split .alert-danger ul{ margin:0; padding:0; list-style:none; }

/* ---------- Responsive ---------- */
@media (max-width:900px){
    .auth-split{
        grid-template-columns:1fr;
        margin:0 15px 30px;
        border-radius:14px;
    }
    .auth-brand{ padding:34px 28px; }
    .auth-brand__inner{ max-width:none; }
    .auth-brand__logo{ margin-bottom:14px; font-size:26px; }
    .auth-brand__claim{ font-size:22px; line-height:28px; }
    .auth-panel{ padding:32px 26px; }
}
@media (max-width:480px){
    .auth-brand{ padding:28px 22px; }
    .auth-brand__text{ font-size:14px; }
    .auth-panel{ padding:28px 20px; }
    .auth-panel__title{ font-size:23px; }
}
/*imagen al pie de las categorias*/
#bloque-imagen-categoria {
    overflow: hidden;
    height: 480px;
}

#bloque-imagen-categoria img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#checkout .disabled{
    opacity:0.7;
}
/*HOVER MIN PRODUCTOS*/
.swiper-wrapper{
    padding:5px;
}
.elementor-widget-update-0.elementor-element.elementor-element-30243f0.e-con-full.product-miniature.e-flex.e-con--column.e-con.e-parent.e-lazyloaded{
    transition:all ease 1s;
    /* padding:5px; */
}
.product-miniature .product-info-pricing{
    padding:10px;
}
.elementor-widget-update-0.elementor-element.elementor-element-30243f0.e-con-full.product-miniature.e-flex.e-con--column.e-con.e-parent.e-lazyloaded:hover{
  box-shadow: 0 4px 12px #aaa;
  border-radius: 12px;
}


/*MODIFICACIONES PÁGINA CONTACTO*/
.elementor-widget-update-4.elementor-element.elementor-element-a551a7a.elementor-button-align-start.contact-form.elementor-widget.elementor-widget-stcontactus {
    padding: 0;
}
.mapa-contacto {
    background: none !important;
}
.mapa-contacto iframe {
    border-radius: 32px !important;
    width: 100% !important;
    height: 400px; 
}
#contact .mapa-contacto .elementor-custom-embed {
    border-radius: 32px;
    overflow: hidden; 
}
.contact-form input[type="submit"]{
    font-size:15px;
}
#cms .texto-content a{
    color:#717BB4;
}
#cms h1 {
  font-weight: 600;
}

/* Accesibilidad: oculta visualmente pero mantiene el texto para lectores de pantalla y SEO */
.oculto-visual {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Restaura el tamaño visual de los subtítulos de la columna de contacto (antes eran texto plano) */
.subtitulo-bloque h2 {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #151830;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

.categorias-sidebar .sbmenu_ma_item {
  padding: 6px 12px !important;
}

/* CHECKOUT - Datos Personales: texto de privacidad más pequeño (mantiene cursiva) */
#checkout-personal-information-step .custom-checkbox em p {
  font-size: 0.875rem !important;
}

/* CHECKOUT - Datos Personales: separación antes del botón Continuar */
#checkout-personal-information-step .form-footer .btn.continue {
  margin-top: 24px !important;
}

/* Encabezado H2 dentro de artículos de blog - mismo estilo que el texto en negrita original */
.titulo-articulo-blog {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  margin: 15px 0 !important;
}

/*general style*/
a, label, a:hover, a:focus {
    color: #151830;
}

a:focus, .btn-tertiary:focus, .btn:active:focus, .btn:focus {
    outline: none;
}

button:focus {
    outline: none;
}

.stsb-show-password {
    display: none;
}

.custom-checkbox input[type=checkbox] + span {
    border-radius: 2px;
    border-color: #BEBEBE !important;
    width: 16px !important;
    height: 16px !important;
}

.custom-checkbox svg {
    fill: #151830 !important;
}

p {
    margin-bottom: 0;
}

.elementor-button:focus, .elementor-button:hover, .elementor-button:visited {
    color: inherit;
}

.elementor-button-content-wrapper {
    flex-direction: row-reverse;
    gap: 8px;
}

main {
    position: relative;
}

main.shadow:after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #15183033;
    position: absolute;
    top: 0;
}

.stsb_mini_product_name,
.stsb_pm_info_v {
    display: inline-block;
}

.stsb_mini_product_name:first-letter,
.stsb_pm_info_v:first-letter {
    text-transform: uppercase;
}

/*end general style*/

/*header*/

#stsb-header .stsb_bubble {
    height: 15px;
}

#index #header:hover .stsb_bubble {
    background-color: #151830;
    color: #fff;
}

#index #header .stsb_bubble {
    background-color: #fff;
    color: #151830;
}

#index #stsb-header .top-bar {
    background-color: #0000000D;
}

#index #header span:not(.sbmenu_ma_text):not(.stsb_bubble),
#index #header a:not(.sbmenu_ma_item),
#index #header .elementor-paragraph-text {
    color: #fff !important;
}


#index #header svg path,
#index #header img {
    filter: invert(1) brightness(200%);
}

#index .elementor-header {
    box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.05);
}

body:not(.page-index) #header .elementor-header {
    border-bottom: 1px solid #F2F2F2 !important;
}

#header .elementor-header {
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}

#index #header:hover svg path,
#index #header:hover img {
    filter: none;
}

#index #header:hover span:not(.sbmenu_ma_text):not(.stsb_bubble),
#index #header:hover a:not(.sbmenu_ma_item),
#index #header:hover .elementor-paragraph-text {
    color: #151830 !important;
}

#index #header:hover .top-bar {
    background-color: #fff;
}

#header .login-popup {
    display: none;
}

#header .login-popup.show {
    display: block;
}

div[data-elementor-id="84"].stsb_side_panel_show {
    animation: fadeIn 0.5s ease forwards;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 16px;
    border: 1px solid #D9D9D9;
    box-shadow: 0px 4px 15px 0px #15183014;
}

.stsb_registration_form .elementor-field-group {
    line-height: 14px;
}

#index #header:hover .elementor-widget-divider .elementor-divider-separator {
    border-color: #D9D9D9;
}

#header #header-search {
    cursor: pointer;
}

#header #header-search-bar {
    display: none;
}

#header .search-widget-custom {
    height: 100%;
}

#header .search-widget-custom > .elementor-widget-container {
    display: flex;
    align-items: center;
}

#header .search-widget-custom > .elementor-widget-container .stsb_search_widget {
    width: 100%;
}

#header .stsb_search_loader {
    right: 40px;
    width: 21px;
    height: 21px;
    background-image: url("../img/loading.svg");
    background-position: center;
    background-repeat: no-repeat;
    animation: rotate 5s linear infinite;
}

#header .stsb_search_loader .stsb-jumping-dots {
    display: none;
}

#header .autocomplete-suggestions .stsb_heading_warpper {
    display: none;
}

#header .autocomplete-suggestions {
    top: 63px;
}

#header .stsb_side_panel_list {
    display: flex;
    gap: 9px;
}


.stsb_customer_logged .stsb_customer_link {
    display: flex;
    align-items: center;
    gap: 5px;
}

.password-requirements p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 5px;
}

.password-requirements i {
    font-size: 14px;
    margin-bottom: 2px;
}

.stsb_registration_form .custom-checkbox label {
    line-height: 20px !important;
}

/*key frames*/
@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.5);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/*end key frames*/

/*MODIFICACIONES PÁGINA DE INICIO (jerarquía de encabezados)*/
.mismo-estilo-h3 {
    font-family: "Helvetica_neue_medium", Sans-serif !important;
    font-size: 32px !important;
    font-weight: 500 !important;
}
.mismo-estilo-h4 {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin-top: 0 !important;
    margin-bottom: .5rem !important;
}
/*END MODIFICACIONES PÁGINA DE INICIO (jerarquía de encabezados)*/

/*menu*/
header .desktop-menu .elementor-button svg, #stsb-header .elementor-button svg {
    fill: #fff;
}

#index header:hover .desktop-menu .e-n-tab-icon svg {
    fill: #0A1A3D;
}

/*end menu*/
/*end header*/

/*registration page*/
#registration .elementor-field-type-submit {
    margin-top: 11px;
}

/*end registration page*/


/*breadcrumb*/
.stsb_breadcrumb ul li:last-child span {
    font-weight: 700;
}

/*end breadcrumb*/

/*category page*/

/*filters*/
#category .filters-sidebar #search_filters .h6,
#category .filters-sidebar #search_filters #_desktop_search_filters_clear_all {
    display: inline-block !important;
}

#category #_desktop_search_filters_clear_all {
    float: right;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all:before {
    content: "";
    background-image: url("../img/clear.svg");
    background-repeat: no-repeat;
    background-position: center;
    width: 10.47px;
    height: 12.8px;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all {
    margin: 0;
    background: transparent;
    color: #151830;
    text-transform: initial;
    display: flex;
    align-items: center;
    gap: 5px;
    border: none;
    line-height: 14px;
    padding: 10px 0 0 0;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all .material-icons {
    display: none;
}

#category .filters-sidebar section[data-name="Color"] ul {
    max-width: 293px;
}

#category .filters-sidebar section[data-name="Color"] ul li {
    display: inline-block;
}

#category .filters-sidebar section[data-name="Color"] ul li a {
    display: none;
}

#category .filters-sidebar section[data-name="Color"] ul li .color {
    border-radius: 50%;
    width: 30px !important;
    height: 30px !important;

}

#category .filters-sidebar section[data-name="Color"] ul li input:not([data-search-url="https://www.yogaes.com/77-tienda?q=Precio-%E2%82%AC-19-43/Color-Blanco"]):not([data-search-url="https://www.yogaes.com/77-tienda?q=Color-Gris-Gris+pardo-Beige-Blanco"]) + .color {
    border: none !important;
}

#category .filters-sidebar #search_filters .ui-slider .ui-slider-handle {
    height: 14px;
    width: 14px;
    top: -4px;
    border-radius: 50%;
    border: 4px solid black;
}

#category .filters-sidebar #search_filters .faceted-slider .ui-slider-horizontal {
    background: #D9D9D9;
    border: none;
}

#category #search_filters > p {
    text-transform: initial !important;
    margin-bottom: 24px;
}

#category #search_filters .facet {
    cursor: pointer;
    line-height: 16px;
}

#category #search_filters .facet.rotate .facet-title:after {
    transform: rotate(180deg);
}

#category #search_filters .facet .facet-title:after {
    content: "";
    width: 19.2px;
    height: 16px;
    background-image: url("../img/arrow_blue.svg");
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    float: right;
    transition: transform 1s ease;
}

#category #search_filters .facet ul {
    display: none;
    margin: 18px 0 0 0;
}

#category #search_filters .facet ul li {
    margin-bottom: 10px;
}

#category #search_filters .facet-label a {
    margin: 0;
}

#category #search_filters .facet-label {
    display: flex;
    align-items: center;
}

#category #search_filters .facet-label span {
    top: 0;
}

#category #search_filters .facet-label.active span.color {
    background-image: url("../img/check.svg");
    background-position: center;
    background-repeat: no-repeat;
}

#category #search_filters .faceted-slider p {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 12px;
}

#category #search_filters .ui-widget-header {
    background: #151830;
}

/*end filters*/

#category .elementor-swiper-button {
    bottom: 0;
    top: unset;
    right: 20px;
}

#category .elementor-swiper-button-prev {
    display: none;
}

#category .stsb_mini_product_name {
    display: inline-block;
}

#category .stsb_mini_product_name:first-letter {
    text-transform: uppercase;
}

#category .stsb_pm_sticker_reduced-price {
    display: flex;
    gap: 5px;
    flex-direction: row-reverse;
}

.stsb_category_name {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/*end category page*/

/*product page*/
#product .stsb_variant_item label[aria-label="Blanco"] span {
    border: 1px solid #F2F2F2;
}

#product .stsb_pm_info_k:before, #product .stsb_pm_feature_k:before {
    content: "·";
    font-weight: bold;
    margin-right: 8px;
}

/* ===== Unificación del lateral de la ficha de producto (yogaes) ===== */
/* Tokens de marca: azul #151830 · texto suave #5B5D6E · bordes #e3e6ef */

/* Nombre del producto: estaba demasiado grande y sin estilo */
#product h1.stsb_pro_name {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 24px !important;
    line-height: 1.25;
    font-weight: 600;
    color: #151830;
    margin: 0 0 10px;
}

/* Resumen corto */
#product .stsb_pro_summary,
#product .stsb_pro_summary .stsb_read_more_box {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #5B5D6E;
}

/* Bloque de variantes (Color) */
#product .stsb_variant_group {
    margin: 4px 0 8px;
}
#product .stsb_variant_label {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #151830;
    margin-bottom: 10px;
}
#product .stsb_variant_wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
}


/* Precio */
#product .stsb_pm_price {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #151830;
}

/* Botón "Añadir al carrito" / botones de acción del lateral */
#product .login-link .elementor-button,
#product .stsb_pm_action_button_add_to_cart{
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    border-radius: 12px;
    padding: 12px 24px;
    transition: all .2s ease;
}
#product .stsb_pm_action_button_add_to_cart{
    color: #fff;
    background-color: #151830;
    border: 2px solid #151830;
}

#product .stsb_pm_action_button_add_to_cart:hover{
    background-color: #fff;
    color: #151830;
}
#product .login-link .elementor-button:hover{
    background-color: #151830;
    color: #fff;
}
.anadir-a-la-cesta {
    margin-left: 40px !important;

}
/* Títulos de sección del lateral (DESCRIPCIÓN, ESPECIFICACIÓN): estaban enormes y sin estilo */
#product .elementor-heading-title.stsb_heading {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    display: block;
    font-size: 15px !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #151830;
    margin: 8px 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e3e6ef;
}

/* Contenido de la descripción (el HTML estructurado: párrafos, h3, listas) */
#product .stsb_pro_description {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14.5px;
    line-height: 1.6;
    color: #151830;
}
#product .stsb_pro_description p {
    margin: 0 0 12px;
}
#product .stsb_pro_description h3 {
    font-size: 15px;
    font-weight: 600;
    color: #151830;
    margin: 18px 0 8px;
}
#product .stsb_pro_description ul {
    margin: 0 0 12px;
    padding-left: 18px;
}
#product .stsb_pro_description li {
    margin-bottom: 6px;
}
#product .stsb_pro_description strong {
    color: #151830;
    font-weight: 600;
}

/* Ficha técnica / referencia */
#product .stsb_pm_info_wrapper {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #151830;
}
#product .stsb_pm_info_k {
    color: #5B5D6E;
}
#product .stsb_variant_item {
    overflow:visible !important;
}

/*end product page*/

/* ===== Páginas CMS legales/FAQ (Element Flow widget st-cms-content): uniformidad ===== */
/* Solo aplica a: 2=Aviso legal, 3=T&C, 6=Privacidad, 27=Newsletters, 28=Envíos y devoluciones, 29=Cookies, 115=FAQ */
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px;
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #2b2e42;
    text-align: left;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h1,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h2,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h3,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h4 {
    font-family: "Helvetica neue", Helvetica, Arial, sans-serif;
    color: #151830;
    line-height: 1.3 !important;
    font-weight: 600;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h1 { font-size: 23px !important; margin: 0 0 18px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h2 { font-size: 18px !important; margin: 28px 0 10px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h3 { font-size: 15.5px !important; margin: 20px 0 8px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content h4 { font-size: 14px !important; margin: 16px 0 6px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content p { font-size: 14px !important; margin: 0 0 13px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content li { font-size: 14px !important; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content ul,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content ol { margin: 0 0 16px; padding-left: 22px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content li { margin-bottom: 8px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content a { color: #151830; text-decoration: underline; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content a:hover { opacity: .8; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content strong { color: #151830; font-weight: 600; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content img { max-width: 100%; height: auto; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content hr { border: 0; border-top: 1px solid #e3e6ef; margin: 28px 0; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content table { width: 100%; border-collapse: collapse; margin: 0 0 16px; }
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content th,
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content td { border: 1px solid #e3e6ef; padding: 8px 10px; text-align: left; }

/* Bloque de Preguntas Frecuentes (FAQ) dentro de la CMS */
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content .faq-item {
    border: 1px solid #e3e6ef;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 12px;
    background: #fff;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content .faq-item h3 {
    margin: 0 0 8px;
    font-size: 16px;
}
:is(body.cms-id-2,body.cms-id-3,body.cms-id-6,body.cms-id-27,body.cms-id-28,body.cms-id-29,body.cms-id-115) .stsb_cms_content .faq-item p:last-child { margin-bottom: 0; }

.faq-consulta-btn {
  border-radius: 6px;
  display: inline-block;
}

/* H1 oculto visualmente para SEO - título de página CMS (Element Flow) */
.stsb_cms_title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Título visible de páginas CMS (H2 semántico, con el estilo visual del H1 original) */
#cms .cms-page-title {
  font-size: 23px !important;
  font-family: "Helvetica neue", Helvetica, Arial, sans-serif !important;
  color: #151830 !important;
  line-height: 1.3 !important;
  font-weight: 600 !important;
  margin: 0 0 18px !important;
}

/*end CMS pages*/

/*media queries*/
@media (min-width: 992px) {
    #index #header .login-link a:after {
        background-image: url("../img/arrow_white.svg");
    }

    #index #header:hover .login-link a:after {
        background-image: url("../img/arrow_blue.svg");
    }

    #header .login-link a:after {
        content: "";
        background-image: url("../img/arrow_blue.svg");
        width: 12.8px;
        height: 6.39px;
        background-repeat: no-repeat;
        background-position: center;
    }
}

@media (max-width: 991px) {
    #product .stsb_pm_action_button_add_to_cart_wrapper{
        width: 100%;
    }
    #product .product-gallery .swiper-horizontal {
        padding-bottom: 36px;
    }

    #product .product-gallery .stsb_pro_gallery_item {
        width: 100%;
    }

    #product .product-gallery .swiper-pagination-fraction {
        text-align: right;
        bottom: 4px;
    }

    .footer-copy .link-list ul {
        flex-direction: column;
        gap: 24px;
    }

    .menu-mobile .e-n-mobile-menu-back {
        gap: 15px;
    }

    #header #header-search.responsive .close-search-mobile {
        display: block;
    }

    #header #header-search.responsive .magnifying-glass-mobile {
        display: none;
    }

}


/*end media queries*/

.desktop-menu span a:hover,.menu-mobile-main summary:hover,.menu-mobile-main a:hover,.menu-mobile-extra a:hover{
    text-decoration:underline !important;
}


/***********************checkout************************/
/*colors*/
:root {
    --checkout-white: #ffffff;
    --checkout-black: #000000;
    --checkout-primary: #151830;
    --checkout-text: #1E1E1E;
    --checkout-disabled: #757575;
    --checkout-border: #D9D9D9;
}

/* Variables de colores */
:root {
  --primary-color: #151830;
  --primary-hover: #AED7F6;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --warning-color: #ffc107;
  --info-color: #767676;
  --light-color: #f8f9fa;
  --dark-color: #343a40;
  --white: #ffffff;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --border-radius: 0.375rem;
  --border-radius-lg: 0.5rem;
  --box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-lg: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Estilos principales del formulario */




@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*end colors^*/

/*general style ALSO NEEDED FOR CHECKOUT*/
.btn-primary:hover,
.btn-primary:active,
.custom-radio input[type=radio]:checked + span,
.btn-primary:focus,
.btn-primary:active:focus,
.btn-primary.disabled:hover,
.btn-primary:disabled:hover,
.btn-primary {
    background-color: var(--checkout-primary);
}

input {
    border-radius: 8px;
    /* border: 1px solid var(--checkout-border) !important; */
    font-size: 14px;
    line-height: 14px;
    color: var(--checkout-text);
    font-weight: 400;
}

.input-group.focus,
input:focus,
.form-control:focus {
    outline: 1px solid var(--checkout-primary);
}

.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus {
    outline: none;
}


/*end general style ALSO NEEDED FOR CHECKOUT*/



#module-stsitebuilder-page .elementor-header{
    position:absolute;
}
#module-stsitebuilder-page #stsb-header .elementor-7 .elementor-element.elementor-element-42b1d33:not(.elementor-motion-effects-element-type-background), #stsb-header .elementor-7 .elementor-element.elementor-element-42b1d33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{
    background:none !important;
}
#module-stsitebuilder-page .elementor-header {
    background:rgba(245, 245, 245, 0.25) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
#module-stsitebuilder-page .elementor-header:hover{
    background:white !important;
}
#module-stsitebuilder-page #header svg path, #module-stsitebuilder-page #header img{
    filter: invert(1) brightness(200%);
}
#module-stsitebuilder-page #header span:not(.sbmenu_ma_text):not(.stsb_bubble), #module-stsitebuilder-page #header a:not(.sbmenu_ma_item), #module-stsitebuilder-page #header .elementor-paragraph-text {
    color: #fff !important;
}
#module-stsitebuilder-page #header .stsb_bubble {
    background-color: #fff;
    color: #151830;
}
#module-stsitebuilder-page #header:hover span:not(.sbmenu_ma_text):not(.stsb_bubble), #module-stsitebuilder-page #header:hover a:not(.sbmenu_ma_item), #module-stsitebuilder-page #header:hover .elementor-paragraph-text {
    color: #151830 !important;
}
#module-stsitebuilder-page #header:hover svg path, #module-stsitebuilder-page #header:hover img {
    filter: none;
}
#module-stsitebuilder-page #header .elementor-header {
    border-bottom: unset !important;
}

@media(max-width:767px){
    .elementor-widget-update-0.elementor-element.elementor-element-085d7c7.e-con-full.e-flex.e-con.e-child:has(.iframe-nuestrocentro){
        height:400px;
    }
    .iframe-nuestrocentro iframe{
        height:400px;
    }
}

#js-active-search-filters{
    padding:0;
    background:none;
    
}

#js-active-search-filters li.filter-block{
    background:#BEBEBE;
    border-radius:19px;
    color:#151830;
}
#js-active-search-filters li.filter-block .material-icons.close{
    margin:0px 5px !important;
}

.asanas-title-container{
    gap:5px;
}
.post-text-editor h4{
    margin:25px 0 5px;
    font-size:22px;
}
.post-text-editor p{
    margin:15px 0;
    font-size:22px;
}
.post-text-editor p:first-child{
    margin-top:0px;
}
.post-text-editor img{
    float:left;
    margin:15px 15px 15px 0;
}
.blog-posts-listing .blog-cover-image img{
    width:100%;
    height:250px;
    object-fit:cover;
}
.blog-posts-listing .blog-info{
    display: -webkit-box;
    -webkit-line-clamp: 3; /* número de líneas */
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-posts-listing .blog-post-name h2 a{
    font-size:24px !important;
    min-height: 53px;
    justify-content: start;
    align-items: start;
}
.post-content .post-text-container blockquote{
    background-color: #EDEDED;
    padding: 21px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 24px;
    color: #888;
    padding: 10px 20px 14px 50px;
    border-style: solid;
    border-width: 1px;
}
.post-content .post-text-container blockquote p{
    margin:0;
}
.ciencia-mantra-post .post-text-editor img,
.ciencia-meditacion-post .post-text-editor img{
    float:right;
    margin:0px 0px 15px 15px;
}
@media(max-width:565px){
    .post-text-editor img{
        float:unset;
    }
    .ciencia-mantra-post .post-text-editor img,
    .ciencia-meditacion-post .post-text-editor img{
        float:unset !important;
    }
}

.header-search .stsb_search_box input,
.header-search .stsb_search_box button{
    background:unset !important;
    border:1px solid #fff !important;
    outline:none !important;
}

#header .header-search .stsb_search_box button svg{
    fill:#fff !important;
}
#header .header-search .stsb_search_box button svg path{
    filter:unset !important;
}

body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box input,
body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box button,
#header:hover .header-search .stsb_search_box button,
#header:hover .header-search .stsb_search_box input{
    border:1px solid #151830 !important;
}
body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box input,
#header:hover .header-search .stsb_search_box input,
.header-search .stsb_search_box input{
    border-right:0px !important;
}
body:not(#index):not(#module-stsitebuilder-page) #header .header-search .stsb_search_box button svg,
#header:hover .header-search .stsb_search_box button svg{
    fill:#151830 !important;
}
#header:hover .header-search:has(input:focus) .stsb_search_box{
    border-radius:20px;
    box-shadow:0px 0px 2px#151830;
}

.category-subcategories .stsb_grid_wrapper{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
}


@media(min-width:768px){
	.product-gallery_thumbs .swiper-wrapper{
	    display:grid;
	    grid-template-columns:repeat(5,1fr)
	}
    .product-gallery_thumbs .elementor-swiper-button{
        display:none !important;
    }
    .product-gallery_thumbs .stsb_grid_item{
        overflow:hidden;
    }
    .product-gallery_thumbs .stsb_grid_item img{
        transition:scale 0.3s ease;        
    }
    .product-gallery_thumbs .stsb_grid_item img:hover{
        scale:1.10;
    }
    
}
.stsb_heading_warpper {
    position: relative;
}
.stsb_heading_warpper .stsb-swiper-button-con {
    position: absolute;
    width: 90px;
    right: 0px;
    top: -40px;
    pointer-events: none;
    display: flex;
    gap: 8px;
}
.stsb_heading_warpper .stsb-swiper-button-prev {
    position: relative;
    left: auto;
    top: auto;
    pointer-events: all;
}
.stsb_heading_warpper .stsb-swiper-button-next {
    position: relative;
    right: auto;
    top: auto;
    pointer-events: all;
}
.stsb_heading_warpper .stsb-swiper-button-prev,
.stsb_heading_warpper .stsb-swiper-button-next {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0px 4px 15px 0px #15183014;
}

.home .blog-cover-image img{
	width: 100%;
	height: 300px;
	object-fit:cover;
}
/* fix header sticky */
#header .elementor-header.sticky {
    background-color: #ffffff !important;
}

#header .elementor-header.sticky .top-bar {
    background-color: #ffffff !important;
}

#header .elementor-header.sticky span:not(.sbmenu_ma_text):not(.stsb_bubble),
#header .elementor-header.sticky a:not(.sbmenu_ma_item),
#header .elementor-header.sticky .elementor-paragraph-text {
    color: #151830 !important;
}

#header .elementor-header.sticky svg path,
#header .elementor-header.sticky img {
    filter: none !important;
}

#header .elementor-header.sticky .header-search .stsb_search_box input,
#header .elementor-header.sticky .header-search .stsb_search_box button {
    border: 1px solid #151830 !important;
}

#header .elementor-header.sticky .header-search .stsb_search_box input {
    border-right: 0px !important;
}

#header .elementor-header.sticky .header-search .stsb_search_box button svg {
    fill: #151830 !important;
}

#index #header .elementor-header.sticky span:not(.sbmenu_ma_text):not(.stsb_bubble),
#index #header .elementor-header.sticky a:not(.sbmenu_ma_item),
#index #header .elementor-header.sticky .elementor-paragraph-text {
    color: #151830 !important;
}

#index #header .elementor-header.sticky svg path,
#index #header .elementor-header.sticky img {
    filter: none !important;
}

#index #header .elementor-header.sticky .top-bar {
    background-color: #ffffff !important;
}

#index #header .elementor-header.sticky .stsb_bubble {
    background-color: #151830 !important;
    color: #fff !important;
}

#module-stsitebuilder-page #header .elementor-header.sticky {
    background: #ffffff !important;
}

#module-stsitebuilder-page #header .elementor-header.sticky span:not(.sbmenu_ma_text):not(.stsb_bubble),
#module-stsitebuilder-page #header .elementor-header.sticky a:not(.sbmenu_ma_item),
#module-stsitebuilder-page #header .elementor-header.sticky .elementor-paragraph-text {
    color: #151830 !important;
}

#module-stsitebuilder-page #header .elementor-header.sticky svg path,
#module-stsitebuilder-page #header .elementor-header.sticky img {
    filter: none !important;
}

@media (min-width: 992px) {
    #index #header .elementor-header.sticky .login-link a:after {
        background-image: url("../img/arrow_blue.svg") !important;
    }
}
/* fin fix header sticky */

/* CMS SOBRE NOSOTROS */
.page-heading.bottom-indent {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 24px;
}

.page-subheading {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 16px;
}

.cms-block p,
.cms-box p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 12px;
}

.cms-block strong.dark,
.cms-box strong.dark {
  color: #1a1a2e;
}

.cms-box img {
  max-width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.list-1 {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 14px;
}

.list-1 li {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 4px;
}

.testimonials {
  margin-bottom: 12px;
}

.testimonials .inner {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
}
/* FINAL CMS SOBRE NOSOTROS */

/*Pagina 404*/
/* ===========================================================
   YOGAES · Página 404
   Paleta natural salvia / crema
   =========================================================== */

.yg404 {
  --cream:      #F4EFE4;
  --cream-deep: #ECE4D3;
  --ink:        #2D362F;
  --ink-soft:   #5C685B;
  --sage:       #8C9B7C;
  --sage-deep:  #6E7D5F;
  --sage-soft:  #AAB79B;
  --font: "Mulish", system-ui, -apple-system, sans-serif;

  background: radial-gradient(120% 120% at 50% 18%, var(--cream) 0%, var(--cream-deep) 100%);
  font-family: var(--font);
  color: var(--ink);
  position: relative;
  overflow: hidden;
}

/* ---------- Capa de fondo animada ---------- */
.bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.bg-item {
  position: absolute;
  display: block;
  will-change: transform;
  animation: drift var(--d2, 9s) ease-in-out var(--delay, 0s) infinite alternate;
}

.bg-rot {
  display: block;
  width: 100%;
  height: 100%;
  will-change: transform, opacity;
  animation: pulse var(--d, 6s) ease-in-out var(--delay, 0s) infinite alternate;
}

.bg-rot svg {
  display: block;
  width: 100%;
  height: 100%;
  color: var(--sage-deep);
}

@keyframes drift {
  from { transform: translateY(0); }
  to   { transform: translateY(-30px); }
}

@keyframes pulse {
  from { transform: scale(0.6);  opacity: 0.3; }
  to   { transform: scale(1.12); opacity: 0.72; }
}

.yg404 .page {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 2rem 1.5rem;
  max-width: 900px;
  margin: 0 auto;
}
/* ---------- 404 ---------- */
.error-num {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.01em;
  font-family: "Poppins", var(--font);
  font-size: clamp(7.5rem, 26vw, 16rem);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.005em;
  transform: scaleX(1.08);
}

.digit {
  color: var(--ink);
  text-shadow: 0 0.12em 0.26em rgba(45, 54, 47, 0.45);
}

.zero {
  position: relative;
  display: inline-block;
  transform-origin: center 55%;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%3E%3Cfilter%20id='n'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.85'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.3%200'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(165deg, var(--sage-soft) 0%, var(--sage-deep) 56%, #4f5c43 100%);
  background-size: 84px 84px, 100% 100%;
  background-repeat: repeat, no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
  filter: drop-shadow(0 0.07em 0.1em rgba(45, 54, 47, 0.45));
  animation: breathe 5.5s ease-in-out infinite;
}

.zero::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.45em;
  height: 1.3em;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(140, 155, 124, 0.55), rgba(140, 155, 124, 0));
  filter: blur(8px);
  border-radius: 50%;
  z-index: -1;
}

@keyframes breathe {
  0%, 100% { transform: scale(0.97); opacity: 0.9; }
  50%      { transform: scale(1.04); opacity: 1; }
}

/* ---------- Texto ---------- */
.title {
  margin: 1.6rem 0 0;
  font-size: clamp(1.5rem, 4vw, 2.1rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ink);
}

.subtitle {
  margin: 0.9rem auto 0;
  max-width: 28rem;
  font-size: clamp(1rem, 2.4vw, 1.15rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--ink-soft);
  text-wrap: pretty;
}

/* ---------- Botones ---------- */
.actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 2.4rem;
}

.btn {
  display: inline-block;
  padding: 0.85rem 1.5rem;
  font-family: var(--font);
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 999px;
  border: 1.5px solid var(--ink);
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.btn-primary {
  color: #fff;
  background: var(--color-hover);
  box-shadow: 0 8px 24px -12px rgba(45, 54, 47, 0.5);
}
.btn-primary:hover {
  background: var(--sage-deep);
  border-color: var(--sage-deep);
  /* transform: translateY(-2px); */
  box-shadow: 0 14px 30px -12px rgba(110, 125, 95, 0.6);
}

.btn-soft {
  color: var(--ink);
  background: transparent;
}
.btn-soft:hover {
  color: var(--cream);
  background: var(--ink);
  transform: translateY(-2px);
}

.btn:active {
  transform: translateY(0);
}

/* ---------- Accesibilidad ---------- */
@media (max-width: 680px) {
  .actions { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .bg-item,
  .bg-rot,
  .digit,
  .zero {
    animation: none !important;
  }
  .bg-rot { opacity: 0.3; }
}
.bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
/* FIX STICKY FOOTER */
main {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
section#wrapper {
    flex: 1;
}
/* FIN FIX STICKY FOOTER */

/*Botones checkout*/
#checkout-personal-information-step .btn-primary,
#checkout-addresses-step .btn-primary,
#checkout-delivery-step .btn-primary,
#payment-confirmation .btn-primary,
#submit-login {
    border-radius: 14px !important;
}
/*filtros ficha categoria*/
.dropdown-menu a[href*="order=product.name.asc"],
.dropdown-menu a[href*="order=product.name.desc"],
.dropdown-menu a[href*="order=product.reference.asc"],
.dropdown-menu a[href*="order=product.reference.desc"] {
    display: none;
}

#category #search_filters .facet .facet-title:after {
    background-size: contain;
    width: 16px;
    height: 16px;
}
/*left column sticky*/
.left-column-category {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 130px !important;
    align-self: flex-start;
}
@media (max-width: 991px) {
    .left-column-category {
        position: static !important;
        top: auto !important;
        align-self: auto !important;
    }
}
#category #_desktop_search_filters_clear_all {
  float: left;
  padding-bottom: 30px;
  padding-left: 16px;
  padding-top: 15px;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 8px;
}

#category #_desktop_search_filters_clear_all .js-search-filters-clear-all:before {
  position: relative;
  top: -2px;
}

#search_filters .facet {
  padding: 20px 30px 10px 15px;
  background: #FFFFFF;
  margin-bottom: 28.58px;
  border: 1px solid #EAEAEB;
  border-radius: 15px;
}

#search_filters .filter-title .facet-title {
  font: 500 18px / 27px Poppins;
  color: #47214C;
}

#search_filters .facet .facet-title {
  width: calc(100% - 30px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#search_filters .facet-title.hidden-sm-down {
  display: block !important;
}

#search_filters .facet > .title.hidden-md-up {
  display: none !important;
}

#search_filters .facet ul.collapse {
  display: block !important;
}

#category #search_filters .facet .facet-title:after {
  display: none !important;
}

#search_filters .custom-checkbox input[type=checkbox] + span {
  border-radius: 8px !important;
}

#search_filters .ps-shown-by-js .checkbox-checked {
  display: none !important;
}

#search_filters .custom-checkbox input[type=checkbox]:checked + span {
  background-color: var(--e-global-color-e46194c) !important;
  border-color: var(--e-global-color-e46194c) !important;
}
#search_filters section[data-name="Grosor"] ul.collapse {
  display: flex !important;
  flex-direction: column;
}

#search_filters section[data-name="Grosor"] ul.collapse li:nth-child(1) { order: 1; }
#search_filters section[data-name="Grosor"] ul.collapse li:nth-child(2) { order: 3; }
#search_filters section[data-name="Grosor"] ul.collapse li:nth-child(3) { order: 2; }

/*Desplegable de subcategorias*/
.sbmenu_ml.sbmenu_has_sub {
    position: relative;
}

.sbmenu_ml.sbmenu_has_sub > a.sbmenu_ma_item {
    display: flex;
    align-items: center;
    padding-right: 24px;
    position: relative;
}

.sbmenu_ml.sbmenu_has_sub > a.sbmenu_ma_item > .sbmenu_toggle_icon {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
}

.sbmenu_ml.sbmenu_has_sub > a.sbmenu_ma_item > .sbmenu_toggle_icon::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2.5px solid currentColor;
    border-bottom: 2.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.sbmenu_ml.sbmenu_has_sub.sbmenu_abierto > a.sbmenu_ma_item > .sbmenu_toggle_icon::after {
    transform: rotate(225deg);
}

.sbmenu_ml.sbmenu_has_sub > .sbmenu_multi_level {
    display: none;
    position: static;
    width: 100%;
    padding-left: 15px;
}

/* ############################################################
   LOGIN / REGISTRO (split-screen) — añadido 2026-07-27
   (movido desde authentication.css porque theme.yml no recarga assets en runtime)
   ############################################################ */
/* ============================================================
   yogaes · Maquetación LOGIN / REGISTRO (split-screen)
   Páginas: authentication.tpl · registration.tpl
   Sistema de diseño yogaes: azul de marca #151830, blanco,
   radios 16px (tarjeta) / 12px (inputs), tipografía Space Grotesk + Roboto.
   Todo el CSS va scoped bajo .auth-split para no afectar a otras páginas.
   ============================================================ */

/* ---------- Contenedor split ---------- */
.auth-split{
    display:block;
    max-width:620px;
    margin:48px auto;
    background:#fff;
    border:1px solid #e3e6ef;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 44px rgba(21,24,48,.08);
}
.auth-split--login{ max-width:460px; }

/* ---------- Panel de marca (izquierda) ---------- */
.auth-brand{
    position:relative;
    display:flex;
    align-items:center;
    padding:52px 44px;
    color:#fff;
    background:linear-gradient(160deg,#1e2242 0%,#151830 62%,#0e1024 100%);
    overflow:hidden;
}
/* Foto opcional: sube una imagen a assets/img/auth-bg.jpg y aparecerá
   automáticamente sobre el degradado. Si no existe, se ve solo el degradado. */
.auth-brand::before{
    content:"";
    position:absolute; inset:0;
    background-image:var(--auth-bg, url('../img/auth-bg.jpg'));
    background-size:cover;
    background-position:center;
    opacity:.30;
    mix-blend-mode:luminosity;
}
.auth-brand::after{
    /* velo para asegurar legibilidad del texto sobre la foto */
    content:""; position:absolute; inset:0;
    background:linear-gradient(160deg,rgba(30,34,66,.35),rgba(14,16,36,.72));
}
.auth-brand__inner{ position:relative; z-index:1; max-width:340px; }
.auth-brand__logo{
    display:block;
    margin-bottom:30px;
    font:700 30px/1 "Space Grotesk","Helvetica Neue",sans-serif;
    letter-spacing:.01em;
    color:#fff;
}
.auth-brand__claim{
    margin:0 0 14px;
    font:600 27px/34px "Space Grotesk","Helvetica Neue",sans-serif;
    color:#fff;
}
.auth-brand__text{
    margin:0;
    font:400 15px/25px Roboto,sans-serif;
    color:rgba(255,255,255,.78);
}

/* ---------- Panel del formulario (derecha) ---------- */
.auth-panel{
    display:flex;
    align-items:center;
    padding:50px 46px;
}
.auth-panel__inner{ width:100%; }
.auth-panel__title{
    margin:0 0 6px;
    font:600 26px/32px "Space Grotesk","Helvetica Neue",sans-serif;
    color:#151830;
}
.auth-panel__subtitle{
    margin:0 0 28px;
    font:400 14px/22px Roboto,sans-serif;
    color:#A1A2AB;
}
.auth-panel__subtitle a{ color:#151830; font-weight:600; text-decoration:underline; }

/* ---------- Campos de formulario (stacked, ancho completo) ---------- */
.auth-split .form-group.row{ display:block; margin:0 0 18px; }

.auth-split .form-group.row > label.col-md-3,
.auth-split .form-group.row .form-control-label{
    display:block;
    width:100%; max-width:none; flex:none;
    padding:0 0 7px;
    text-align:left;
    font:500 13px/18px Roboto,sans-serif;
    color:#151830;
}
.auth-split .form-control-label.required::after{
    content:"*";
    margin-left:4px;
    color:#d64541;
    font-weight:700;
}
/* Caso checkbox: la etiqueta col-md-3 va VACÍA pero con clase .required, lo que
   pintaba un asterisco suelto flotando encima del checkbox. La ocultamos… */
.auth-split .form-group.row:has(.custom-checkbox) > .form-control-label{
    display:none;
}
/* …y ponemos el asterisco JUSTO tras el texto del checkbox (antes del <em>).
   Con flex: ocultamos el <br>, el asterisco (order:1) va tras el texto y el
   <em> descriptivo (order:2) baja a su propia línea. */
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label{
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
}
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label > br{
    display:none;
}
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label::after{
    content:"*";
    order:1;
    margin-left:4px;
    color:#d64541;
    font-weight:700;
}
.auth-split .custom-checkbox:has(input[type="checkbox"][required]) > label > em{
    order:2;
    flex-basis:100%;
}

.auth-split .form-group.row > .col-md-6,
.auth-split .form-group.row > .js-input-column,
.auth-split .form-group.row > .col-md-3{
    width:100%; max-width:none; flex:none; padding:0;
}

.auth-split .form-control-comment{
    display:block;
    margin-top:6px;
    font:400 12px/18px Roboto,sans-serif;
    color:#A1A2AB;
}

/* Inputs / selects / textarea */
.auth-split .form-control,
.auth-split input[type="text"],
.auth-split input[type="email"],
.auth-split input[type="password"],
.auth-split input[type="tel"],
.auth-split input[type="number"],
.auth-split select,
.auth-split textarea{
    width:100%;
    height:48px;
    border:1px solid #e3e6ef;
    border-radius:12px;
    padding:0 15px;
    background:#fff;
    color:#151830;
    font:400 15px/20px Roboto,sans-serif;
    transition:border-color .18s ease,box-shadow .18s ease;
    box-shadow:none;
}
.auth-split textarea,
.auth-split textarea.form-control{
    height:auto;
    min-height:110px;
    padding:12px 15px;
    resize:vertical;
}
.auth-split .form-control:focus,
.auth-split select:focus,
.auth-split textarea:focus{
    border-color:#151830;
    box-shadow:0 0 0 3px rgba(21,24,48,.12);
    outline:none;
}
.auth-split input::placeholder,
.auth-split textarea::placeholder{ color:#b7b9c4; }

/* Select con flecha de marca */
.auth-split select,
.auth-split select.form-control-select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    padding-right:40px;
    background-image:url('../img/arrow_blue.svg');
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:12px;
    cursor:pointer;
}

/* Campo contraseña con botón mostrar/ocultar */
.auth-split .input-group{ display:flex; align-items:stretch; }
.auth-split .input-group .form-control{
    border-top-right-radius:0;
    border-bottom-right-radius:0;
}
.auth-split .input-group-btn{ display:flex; }
.auth-split .input-group-btn button,
.auth-split .input-group-btn [data-action="show-password"]{
    height:48px;
    padding:0 16px;
    border:1px solid #e3e6ef;
    border-left:0;
    border-radius:0 12px 12px 0;
    background:#f4f5f9;
    color:#151830;
    font:600 12px/1 Roboto,sans-serif;
    text-transform:uppercase;
    letter-spacing:.03em;
    cursor:pointer;
    transition:background .18s ease;
}
.auth-split .input-group-btn button:hover{ background:#e6e7ec; }

/* Política de contraseña */
.auth-split .field-password-policy{ margin-bottom:18px; }
.auth-split .field-password-policy .form-group.row{ margin-bottom:0; }
.auth-split .field-password-policy .help-block,
.auth-split .field-password-policy ul{
    margin-top:8px;
    font:400 12px/18px Roboto,sans-serif;
    color:#A1A2AB;
}

/* Checkboxes (RGPD, newsletter, condiciones…)
   Respetamos el patrón del tema: el <input> nativo va oculto y la caja
   visual es el <span> con el icono .checkbox-checked. NO hacemos visible
   el input (eso provocaba dos cajas). */
.auth-split .custom-checkbox{
    position:relative;
    display:flex;
    align-items:flex-start;
    margin-bottom:14px;
    word-break:break-word;
}
.auth-split .custom-checkbox input[type="checkbox"]{
    position:absolute;
    width:18px; height:18px;
    margin-top:2px;
    opacity:0;
    cursor:pointer;
}
.auth-split .custom-checkbox label{
    display:block;
    margin:0;
    font:400 13px/20px Roboto,sans-serif;
    color:#151830;
    cursor:pointer;
}
/* Caja visual del checkbox */
.auth-split .custom-checkbox input[type="checkbox"] + span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:18px; height:18px;
    margin:1px 10px 0 0;
    border:1px solid #cfd3e0;
    border-radius:5px;
    background:#fff;
    vertical-align:top;
    transition:background .15s ease,border-color .15s ease;
}
.auth-split .custom-checkbox input[type="checkbox"]:checked + span{
    border-color:#151830;
    background:#151830;
}
.auth-split .custom-checkbox input[type="checkbox"] + span .checkbox-checked{
    margin:0;
    font-size:15px;
    line-height:1;
    color:#fff;
}
/* Texto de consentimiento / ayuda dentro del label (RGPD, condiciones) */
.auth-split .custom-checkbox em{
    display:block;
    margin-top:6px;
    font-style:normal;
    font-weight:400;
    font-size:12px;
    line-height:18px;
    color:#A1A2AB;
}
.auth-split .custom-checkbox em p{ margin:0; font-size:12px; line-height:18px; }
.auth-split .custom-checkbox a{ color:#151830; text-decoration:underline; }

/* ---------- Enlaces auxiliares ---------- */
.auth-split .forgot-password{
    margin:-4px 0 6px;
    text-align:right;
}
.auth-split .forgot-password a{
    font:400 13px/18px Roboto,sans-serif;
    color:#A1A2AB;
    text-decoration:none;
}
.auth-split .forgot-password a:hover{ color:#151830; text-decoration:underline; }

/* ---------- Botón principal (ancho completo, hover invertido) ---------- */
.auth-split .form-footer{
    margin-top:24px;
    padding:0;
    border:0;
}
.auth-split .form-footer .btn-primary,
.auth-split #submit-login,
.auth-split [data-link-action="save-customer"],
.auth-split [data-link-action="sign-in"]{
    float:none !important;
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#151830;
    color:#fff;
    border:2px solid #151830;
    border-radius:12px;
    padding:14px 24px;
    font:600 16px/20px Roboto,sans-serif;
    cursor:pointer;
    transition:all .2s ease;
}
.auth-split .form-footer .btn-primary:hover,
.auth-split #submit-login:hover,
.auth-split [data-link-action="save-customer"]:hover,
.auth-split [data-link-action="sign-in"]:hover{
    background:#fff;
    color:#151830;
}

/* ---------- "¿Sin cuenta? / ¿Ya tienes cuenta?" ---------- */
.auth-split .no-account{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #eef0f5;
    text-align:center;
    font:400 14px/20px Roboto,sans-serif;
    color:#A1A2AB;
}
.auth-split .no-account a{
    color:#151830;
    font-weight:600;
    text-decoration:none;
}
.auth-split .no-account a:hover{ text-decoration:underline; }

/* Hook displayCustomerLoginFormAfter (por si algún módulo inyecta contenido) */
.auth-split .login-form + *{ margin-top:4px; }

/* ============================================================
   Módulo customergroups (Extended Registration)
   Bloque "Seleccionar grupo" + "Mensaje de solicitud"
   inyectado por el hook createAccountForm en el registro.
   ============================================================ */
.auth-split #customer_groups{ /* hereda estilos de select */ }

.auth-split #request_message{
    min-height:96px;
}

/* Aviso "requiere aprobación manual" (#auto-find).
   OJO: el módulo alterna display:none/block por JS inline; aquí solo
   damos aspecto, no tocamos display para no romper ese toggle. */
.auth-split #auto-find,
.auth-split .alert{
    margin-top:10px;
    padding:11px 15px;
    border-radius:12px;
    font:400 13px/19px Roboto,sans-serif;
}
.auth-split .alert-warning,
.auth-split #auto-find{
    background:#fff8e6;
    border:1px solid #f2e2b0;
    color:#7a5c00;
}

/* ---------- Errores de formulario ---------- */
.auth-split .has-error .form-control,
.auth-split .has-error input,
.auth-split .has-error select{
    border-color:#d64541;
    box-shadow:0 0 0 3px rgba(214,69,65,.12);
}
.auth-split .alert-danger,
.auth-split .help-block{
    margin:0 0 20px;
    padding:12px 15px;
    border-radius:12px;
    background:#fdecec;
    border:1px solid #f3c6c4;
    color:#c0322e;
    font:400 13px/19px Roboto,sans-serif;
    list-style:none;
}
.auth-split .alert-danger ul{ margin:0; padding:0; list-style:none; }

/* ---------- Responsive ---------- */
@media (max-width:900px){
    .auth-split{
        grid-template-columns:1fr;
        margin:0 15px 30px;
        border-radius:14px;
    }
    .auth-brand{ padding:34px 28px; }
    .auth-brand__inner{ max-width:none; }
    .auth-brand__logo{ margin-bottom:14px; font-size:26px; }
    .auth-brand__claim{ font-size:22px; line-height:28px; }
    .auth-panel{ padding:32px 26px; }
}
@media (max-width:480px){
    .auth-brand{ padding:28px 22px; }
    .auth-brand__text{ font-size:14px; }
    .auth-panel{ padding:28px 20px; }
    .auth-panel__title{ font-size:23px; }
}
/*imagen al pie de las categorias*/
#bloque-imagen-categoria {
    overflow: hidden;
    height: 480px;
}

#bloque-imagen-categoria img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#checkout .disabled{
    opacity:0.7;
}



.menu-categorias-mobile .sitemm_toggle{
    width:40px;
    height:40px;
}
.menu-categorias-mobile .sitemm_toggle_icon {width:100%;
                    display:flex;
                    align-items:center;justify-content:end}

.menu-categorias-mobile .sitemm_active .sitemm_toggle_icon.sitemm_toggle_collapse{
    width:100%;
                    display:flex !important;
                    align-items:center;justify-content:end
}


.menu-categorias-mobile .sitemm_item .sitemm_back{
    border-bottom:1px solid;
    padding-block:20px !important;
}

/* ============================================================
   CATEGORÍA · bloque "descripción + imagen"  (Element Flow)
   Widgets: st-category-description (texto) + st-category-image (imagen)
   Breakpoints Element Flow: móvil <=767 · tablet 768-991 · desktop >=992
   ------------------------------------------------------------
   Anclado en las clases de TIPO de widget (.elementor-widget-st-*), que son
   estables, y en #bloque-imagen-categoria (id propio ya usado más arriba en
   este fichero). Nunca en .elementor-element-{id}, que es volátil.
   ============================================================ */

/* ---------- Texto de la descripción: 18px en tablet y desktop ----------
   En móvil (<=767px) no se toca: mantiene el tamaño heredado del tema. */
@media (min-width:768px){
    body.page-category .elementor-widget-st-category-description .stsb_read_more_box,
    body.page-category .elementor-widget-st-category-description .stsb_read_more_box p,
    body.page-category .elementor-widget-st-category-description .stsb_read_more_box li{
        font-size:18px;
        line-height:1.6;
    }
    /* El último párrafo no arrastra margen: el texto queda bien centrado */
    body.page-category .elementor-widget-st-category-description .stsb_read_more_box > p:last-child{
        margin-bottom:0;
    }
}

/* ---------- Imagen: que ocupe todo el bloque, centrada ----------
   Causa del "pegada al TOP": el widget tiene alto fijo (480px, regla de más
   arriba) y su <img> lleva height:100%, pero ese 100% no resuelve porque los
   contenedores intermedios (.elementor-widget-container,
   .stsb_st_category_image_wrapper y el <picture>, que además es inline) tienen
   alto automático. Resultado: la imagen se dibuja a su alto natural (~250px)
   en la parte superior de la caja de 480px y el resto queda vacío.
   Solución: propagar el 100% de alto por toda la cadena y centrar la foto.
   En tablet se mantiene object-fit:cover (llena la caja, recorte centrado);
   en desktop se pasa a object-fit:contain (foto completa) más abajo. */
@media (min-width:768px){
    #bloque-imagen-categoria > .elementor-widget-container,
    #bloque-imagen-categoria .stsb_st_category_image_wrapper{
        display:block;
        height:100%;
    }
    /* El <picture> centra la foto dentro de la caja (importante en desktop,
       donde con object-fit:contain la foto no llena todo el alto). */
    #bloque-imagen-categoria picture{
        display:flex;
        align-items:center;
        justify-content:center;
        height:100%;
    }
    #bloque-imagen-categoria img{
        object-position:center center;
        border-radius:50px;
    }
}

/* En desktop la columna de la imagen se estira a la altura de la fila (la
   columna de texto puede ser más alta que 480px); con margen vertical
   automático el widget queda centrado en vez de arriba. */
@media (min-width:992px){
    body.page-category .e-con:has(> #bloque-imagen-categoria){
        --justify-content:center;
    }
    #bloque-imagen-categoria{
        margin-block:auto;
    }
    /* En desktop la imagen se ve COMPLETA, sin recorte: contain la encaja
       dentro de la caja de 480px y object-position la centra en vertical y
       horizontal. Al no recortar quedan huecos arriba/abajo, porque la foto
       (2000x830) es mucho mas panoramica que la caja. */
    #bloque-imagen-categoria img{
        object-fit:contain;
        /* La caja del <img> se ajusta al alto real de la foto (en vez de
           ocupar los 480px con franjas vacias): asi el border-radius se ve
           sobre la imagen y no sobre una caja transparente. */
        height:auto;
        max-height:100%;
    }
}

/* Alternativa: si se prefiere que la imagen iguale SIEMPRE la altura del
   bloque de texto (sin huecos, recortando más), comentar el bloque anterior
   y descomentar este:
@media (min-width:992px){
    #bloque-imagen-categoria{
        height:auto;
        min-height:480px;
        align-self:stretch;
        flex:1 1 auto;
    }
}
*/


/* ============================================================
   HEADER · buscador (y contenidos) visibles en desktop
   ------------------------------------------------------------
   Contexto: el 28/08 se añadió en la plantilla del header (builder,
   contenedor .elementor-header) un "background_color:#FFFFFF" para quitar
   el difuminado en móvil, pero se aplicó a TODOS los breakpoints.
   En la home (#index) los contenidos del header se fuerzan a blanco en
   reposo (reglas #index #header span/a{color:#fff} y svg/img{invert}) y solo
   pasan a #151830 en :hover, así que sobre un header ahora blanco todo queda
   blanco sobre blanco: el buscador (y el logo y el menú) "no salen" hasta
   hacer hover.
   Arreglo: devolver el fondo transparente SOLO en desktop y solo en reposo,
   que es como estaba antes del cambio (el blur de #header .elementor-header
   vuelve a verse sobre el hero). Móvil y tablet mantienen el blanco sólido
   que se pidió. Se excluye :hover y .sticky para no pisar sus fondos blancos.
   ============================================================ */
@media (min-width:992px){
    #index #header .elementor-header:not(.sticky):not(:hover){
        background-color:transparent !important;
    }
}
