:root {
    --textColor: #232426;
}

/*ELEMENTOR*/
.pro_gallery_item.swiper-lazy,
.pro_gallery_thumb.swiper-lazy,
.product_img_link img.front-image.cate_pro_lazy,
.product_img_link img.front-image.swiper-lazy,
.st_swiper_image.swiper-lazy {
    display: inline-block;
}

.elementor-no-margin .elementor-text-editor > *:last-child {
    margin-bottom: 0;
}

.elementor-element.list-style-disc ul {
    list-style: disc;
    padding-left: 40px;
}

.elementor-element.list-style-circle ul {
    list-style: circle;
    padding-left: 40px;
}

@media (min-width: 480px) {
    #footer-second-row .elementor-column.elementor-col-auto {
        width: auto;
    }
}

/*GENERAL*/
body:not(#index):not(#category):not(#product):not(#search) #main {
    margin: 38px 0;
}

.page_heading {
    margin-bottom: 20px;
}

.breadcrumb_spacing {
    display: none;
}

.shrink-0 {
    flex-shrink: 0;
}

.btn:not(.btn-touchspin),
.btn.add-to-cart {
    font-family: "greycliff-cf", Sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    border-radius: 24px;
    border: none;
    padding: 12px 15px;
}

.btn.show_password {
    opacity: 1;
    padding: 9px 16px;
}

/*FORMS*/
input {
    font-family: "greycliff-cf", Sans-serif;
}

.form-control,
.form-control:focus {
    color: #000000;
}

input.form-control:not(.search_widget_text),
select.form-control-select,
.content-register-b2b-left .register-form select,
textarea,
textarea.form-control {
    padding: 7px 16px;
    border-radius: 26px;
    border: 0.5px solid #000000;
    box-shadow: none;
    height: auto;
    font-size: 14px;
    line-height: 150%;
    background-color: transparent;
}

input.form-control:not(.search_widget_text)::placeholder,
textarea.form-control::placeholder {
    color: #808080;
    font-weight: 700;
}

select.form-control-select {
    padding-right: 34px;
}

.form-group label:not(.checkbox-inline):not(.btn-default) {
    font-size: 15px;
    line-height: 100%;
    font-weight: 700;
}

.custom-input-box {
    line-height: 1;
    margin-top: 3px;
}

.bootstrap-filestyle .group-span-filestyle > label {
    margin: 0;
    padding: 8px 15px;
}

/*HEADER*/
#header_right_top .icon_btn {
    color: var(--textColor);
    line-height: 100%;
}

#header_right_top {
    gap: 24px;
}

#header_primary_row #header_right_top .top_bar_item {
    padding-left: 0;
    padding-right: 0;
}

#header_left .header_box {
    gap: 8px;
}

#st_header .shop_logo {
    width: auto;
}

/*HEADER MENU*/
#st_mega_menu_wrap div.stmenu_sub {
    border-radius: 0;
    padding-top: 24px;
}

/* Desplegable del megamenu: fondo a todo el ancho de la ventana (borde a borde),
   pero el contenido interior se mantiene centrado dentro de la caja del header.
   El panel tiene position:absolute inline (puesto por el JS del modulo). */
#st_mega_menu_wrap .m_alignment_0 .style_wide,
#st_mega_menu_wrap .m_alignment_3 .style_wide,
#st_mega_menu_wrap div.stmenu_sub.style_wide {
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
}

/* El contenido interior (fila de columnas con fotos) centrado dentro del panel a 100vw.
   Las columnas son col-md-3 (25% cada una), por eso se reparten todo el ancho y quedan
   muy separadas. Las pasamos a ancho automatico y centramos la fila con gap. */
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row {
    justify-content: center;
    gap: 75px;
}

/* Columnas: quitar el 25% fijo de col-md-3 para que solo ocupen su contenido y se junten */
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column'] {
    flex: 0 0 auto;
    width: auto;
    max-width: 240px;
    padding-left: 12px;
    padding-right: 12px;
}

/* Fase 1: categorias del submenu en gris (desaturado) por defecto, color al pasar el raton.
   Los iconos son PNG: se desaturan con filter grayscale. El texto pasa a gris #b5b5b5. */
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column'] img {
    filter: grayscale(100%);
    opacity: 0.29;
    transition: filter 180ms ease, opacity 180ms ease;
}

#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column'] .style_content p,
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column'] a {
    color: #b5b5b5 !important;
    transition: color 180ms ease;
}

/* Hover: recupera el color original del icono y el texto en negro */
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column']:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column']:hover .style_content p,
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row > div[id^='st_menu_column']:hover a {
    color: #141414 !important;
}

#st_mega_menu_header_container div[id^='st_menu_column'] {
    text-align: center;
}

#st_mega_menu_header_container div[id^='st_menu_column'] ul,
#st_mega_menu_header_container div[id^='st_menu_column'] ul a {
    margin: 0;
}

#st_mega_menu_header_container div[id^='st_menu_column'] ul a {
    padding: 16px 0 8px;
}

#st_mega_menu_header_container div[id^='st_menu_column'] .style_content p {
    margin: 0   ;
}

/*HEADER - FASTBUY LINKS*/
#st_mega_menu_wrap ul.stmenu_sub {
    border-radius: 0;
}

#st_mega_menu_wrap .stmenu_multi_level li a {
    border-bottom: none;
    font-weight: 600;
}

/*HEADER - LANGUAGE*/
.language-selector-container,
#languages-block_mobile_menu,
#languages-block_mobile_menu .mo_sub_a {
    font-size: 20px;
    line-height: 100%;
    font-weight: 600;
}

span.top_bar_item.language_selector,
#languages-block_mobile_menu .ma_span {
    font-weight: 700;
}

a.top_bar_item.language_selector,
#languages-block_mobile_menu .mo_sub_a {
    color: #808080;
}

#languages-block_mobile_menu .mo_sub_a {
    margin: 0;
    padding: 0;
}

#languages-block_mobile_menu a,
#languages-block_mobile_menu span {
    display: inline-block;
}

#languages-block_mobile_menu {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 10px 0;
    margin: 16px 0 90px;
}

/*HEADER SEARCH*/
#header_right_top .search_widget_block .search_results {
    left: auto;
    right: 0;
    width: 500px;
}

#header_right_top .search_widget_block .search_results .search_product_row {
    gap: 5px;
}

#header_right_top .search_widget_block .search_results picture {
    flex-shrink: 0;
}

#header_right_top .search_widget_block .search_results .search_product_img {
    margin-right: 0;
}

/*HEADER - CART*/
.header_icon_btn_icon .amount_circle {
    top: 8px;
    right: 0px;
}

/*HEADER MOBILE*/
#mobile_bar_right > .flex_container {
    gap: 8px;
}

#mobile_bar_right > .flex_container > * {
    font-size: 40px;
    line-height: 40px;
    display: inline-block;
}

.mobile_bar_item,
.ajax_cart_bag {
    width: auto;
    height: 40px;
    min-width: auto;
}

.mobile_bar_item .ajax_cart_bag {
    margin: 0;
}

#mobile_bar_right .ajax_cart_quantity.amount_circle {
    font-size: 12px;
    line-height: 12px;
    right: 0px;
    top: -5px;
}

.mobile_bar_item i {
    vertical-align: unset;
}

.mobile_device.use_mobile_header .st-menu {
    top: 64px;
}

.st-menu {
    width: 100%;
    border: none;
}

#side_mobile_nav .st-menu-header {
    display: none;
}

#side_mobile_nav .mobile_nav_box {
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.mobile-submenu-container:not(.mobile_normal_menu) {
    display: flex;
    gap: 8px;
    padding: 20px 0;
}

.mobile-submenu-container:not(:last-child),
.mobile-submenu-container.mobile_normal_menu li {
    border-bottom: 1px solid #808080;
}

.mobile-submenu-container.mobile_normal_menu {
    padding-left: 20px;
}

.mobile-submenu-container > * {
    display: block !important;
}

.mobile-submenu-container .stmobilemenu_column {
    padding: 0;
    border: none;
}

.mobile-submenu-container .mo_ml_level_0,
.mobile-submenu-container .mo_sub_li {
    border: none;
    padding: 0;
}

.mobile-submenu-container .style_content p {
    margin-bottom: 0;
}

#side_mobile_nav .mobile_nav_box > .elementor {
    margin-top: auto;
}

.mobile_nav_box .search_widget_block {
    padding: 0;
}

.mobile_nav_box .search_widget_block .input-group-with-border {
    border-color: #000000;
    border-radius: 61px;
    padding: 2px 13px;
    flex-direction: row-reverse;
    gap: 10px;
}

.mobile_nav_box .search_widget_block .input-group-with-border input {
    background: transparent;
    color: #00000099;
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    padding: 0;
    height: auto;
}

.mobile_nav_box .search_widget_block .input-group-with-border .input-group-btn {
    height: 34px;
}

.mobile_nav_box .search_widget_block .btn-search {
    margin: 0;
    height: 34px;
    padding: 0;
}

.mobile_nav_box .search_widget_block i {
    font-size: 34px;
    line-height: 34px;
    margin: 0;
    display: inline-block;
}

#st_mobile_menu_ul {
    margin-top: 24px;
}

.mo_ma_level_0,
.mo_sub_a {
    font-size: 16px;
    line-height: 100%;
    padding: 20px 8px;
}

.mo_ml_level_0,
.mo_sub_li {
    border-color: #808080;
    padding: 16px 0;
}

#st_mobile_menu_ul .opener i {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 30px;
}

#userinfo_mod_mobile_menu i {
    font-size: 40px;
    line-height: 40px;
    margin: 0;
    height: 40px;
}

#userinfo_mod_mobile_menu .mo_ml_level_0 {
    padding: 2px 0;
}

#userinfo_mod_mobile_menu .mo_ma_level_0 {
    gap: 8px;
}

.mobile_nav_box .elementor-widget:not(:last-child) {
    margin-bottom: 14px;
}

.mobile_nav_box .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 0;
}

@media (max-width: 991px) {
    #st-content-inner-after,
    #st-pusher-after {
        top: 64px;
    }
}


@media (max-width: 1160px) and (min-width: 991px) {
    #st_mega_menu_wrap .ma_level_0 {
        padding-left: 14px;
        padding-right: 14px;
    }

    .st_mega_menu .ma_level_0 {
        font-size: 14px;
    }

    #header_right_top {
        gap: 20px;
    }
}

/*FOOTER*/
#footer_before_container .st_news_letter .title_block {
    display: none;
}

#footer_before_container .st_news_letter .input-group-with-border {
    border: none;
}

#footer_before_container .st_news_letter .st_news_letter_input {
    border: none;
    width: 64%;
}

#footer_before_container .st_news_letter .st_news_letter_input + span {
    width: 36%;
}

#footer_before_container .st_news_letter_submit {
    border-radius: 0 20px 20px 0;
}

#footer_before_container .st_news_letter .gdpr_consent {
    color: #FFFFFF;
}

#footer-second-row .footer_block.block.st_open .title_block {
    padding: 0;
}

#footer-second-row .footer_block.block.st_open .title_block .opener {
    display: none;
}

#footer-bottom {
    font-size: 12px;
    line-height: 100%;
    font-weight: 500;
    padding-top: 15px;
    padding-bottom: 15px;
}

#footer-bottom #footer_bottom_left {
    float: none;
    padding: 0;
}

#footer_before_container .st_open .footer_block_content {
    border: none;
}

#footer-bottom.footer_bottom_center #footer_bottom_right {
    margin: 0;
    padding: 0;
}

body:not(#checkout) .copyright_text {
    margin-top: 14px;
}

@media (max-width: 991px) {
    #footer-second-row > .elementor-container {
        justify-content: center;
    }
}

@media (min-width: 480px) {
    #footer-second-row > .elementor-container {
        column-gap: 50px;
    }
}

@media (max-width: 479px) {
    #footer-second-row > .elementor-container {
        column-gap: 4%;
    }
}

/*HOME*/
#home-slider-container .elementor-element-populated,
#home-banner-container .elementor-element-populated {
    padding: 0;
}

.title_block .title_block_inner {
    text-transform: unset;
}

.featured_categories_item .pro_second_box {
    padding: 12px 6px 6px;
}

.featured_categories_item .s_title_block {
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    text-transform: unset;
    height: auto;
}

.banner-btn-bottom .elementor-button {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
}

.banner-btn .elementor-button {
    width: 100%;
    max-width: 280px;
}

#index .title_block_inner {
    padding: 9px 8px;
}

#index .elementor-widget-image-box .elementor-image-box-content {
    width: 34%;
    padding: 20px;
}

.banner-order-reverse .st_image_layered_description_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.banner-order-reverse .st_image_layered_description_inner .st_image_layered_heading {
    order: 2;
}

.banner-order-reverse .st_image_layered_description_inner .st_image_layered_desc {
    order: 1;
}

.banner-order-reverse .st_image_layered_description_inner .elementor-button {
    order: 3;
}

@media (max-width: 479px) {
    #home-slider-container .st_image_layered_description {
        justify-content: center;
        align-items: flex-start;
    }

    #home-slider-container .st_image_layered_description .st_image_layered_description_inner {
        text-align: center;
    }

    #home-slider::after {
        font-family: "fontello";
        font-style: normal;
        font-weight: normal;
        speak: none;
        display: inline-block;
        text-decoration: inherit;
        width: 1em;
        text-align: center;
        font-variant: normal;
        text-transform: none;
        line-height: 1em;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 80px;
        content: '\f107';
        color: #FFFFFF;
        position: absolute;
        bottom: 0;
        z-index: 1;
        left: 50%;
        transform: translateX(-50%);
        animation: slider-arrow 5s infinite;
    }
}

@keyframes slider-arrow {
    0% {
        bottom: 0;
    }
    50% {
        bottom: 50px;
    }
    100% {
        bottom: 0;
    }
}

/*CATEGORY*/
#category #columns #left_column,
#category #columns #center_column,
#search #columns #left_column,
#search #columns #center_column {
    flex: 0 0 100%;
    max-width: 100%;
    display: block;
}

.block.column_block {
    max-width: 1080px;
    margin: 0 auto;
    border-bottom: 1px solid #00000040;
}

.block-categories .acc_box {
    margin: 0;
}

.block-categories .acc_box .acc_header a {
    padding: 0;
    color: #2324264D;
    font-size: 16px;
    line-height: 100%;
    font-weight: 700;
}

.category-top-menu ul li {
    border: none;
}

#category #columns #center_column,
#search #columns #center_column {
    margin: 30px auto;
}

#js-product-list .product_list.grid .product_list_item {
    border-top: none;
}

.product_list.grid .pro_second_box {
    padding: 0;
    margin-top: 20px;
}

.s_title_block {
    margin: 0;
}

#category #switch_left_column_wrap,
#search #switch_left_column_wrap {
    display: none;
}

@media (min-width: 768px) {
    .block.column_block .block_content {
        padding: 30px 0;
    }

    .block-categories .acc_box .current_cate .acc_header a,
    .block-categories .acc_box .acc_header a:hover {
        color: var(--textColor);
        text-decoration: underline;
    }

    .block-categories img {
        opacity: .5;
    }
    
    .block-categories a:hover img,
    .block-categories .current_cate img {
        opacity: 1;
    }

    .category-top-menu ul li {
        padding: 0 26px;
    }
}

@media (max-width: 767px) {
    .category-sub-menu {
        row-gap: 16px;
        column-gap: 9px;
    }

    .block.column_block .block_content {
        padding: 16px 0;
    }

    .block-categories img {
        width: 20px;
        filter: invert(1);
    }

    .block-categories .acc_box .acc_header a {
        color: #FFFFFF;
        font-size: 12px;
        gap: 4px;
        padding: 4px 9px;
        border: 1px solid var(--textColor);
        border-radius: 34px;
        background-color: var(--textColor);
    }

    .block-categories .acc_box .current_cate .acc_header a,
    .block-categories .acc_box .acc_header a:hover {
        color: var(--textColor);
        background-color: #FFFFFF;
    }

    .block-categories a:hover img,
    .block-categories .current_cate img {
        filter: invert(0);
    }
}

/*SEARCH*/
#search #columns #center_column .page_heading {
    text-align: center;
    margin-bottom: 30px !important;
}

/*PRODUCT*/
.product_name_wrap .product_name {
    margin: 0;
    line-height: 144%;
}

.product_name_color {
    font-family: 'DelaGothicOne', Sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 0%;
    color: #232426;
    opacity: .5;
    display: inline-block;
}

.product_right_column .right_more_info_block {
    background-color: #F5F5F7;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 20px;
}

.product_middle_column .product_middle_column_inner {
    background-color: #F5F5F7;
    border-radius: 16px;
    box-shadow: 1px 1px 4px 0px #00000040;
}

/* SOLO para SOLID (id=504): la pastilla del selector mantiene una altura mínima
   para evitar contracción al cambiar entre tamaños con menos colores */
body.product-id-504 .product_middle_column .product_middle_column_inner {
    min-height: 700px;
}

.product_info_tabs.sttab_block > .nav-tabs {
    margin-bottom: 16px;
}

.product_info_tabs.sttab_block > .nav-tabs .nav-link {
    background-color: transparent;
}

.sttab_2_2 > .nav-tabs .nav-link {
    border: none;
    padding: 0;
}

.sttab_2_2 > .nav-tabs .nav-item {
    padding: 0 9px;
    margin: 0;
}

.sttab_2_2 > .nav-tabs .nav-item:first-child {
    padding-left: 0;
}

.sttab_2_2 > .nav-tabs .nav-item:last-child {
    padding-right: 0;
}

.sttab_2_2 > .nav-tabs .nav-item:not(:last-child) {
    border-right: 1px solid #00000080;
}

.sttab_2_2 .tab-pane-body {
    padding: 0;
}

.product_info_tabs.sttab_block .mobile_tab_title {
    display: none;
}

.product_description_container .st_read_more_box {
    font-weight: 400;
    font-size: 12px;
    line-height: 15px;
}

.product_description_container .st_read_more_box p:last-child {
    margin: 0
}

/*Gallery*/
.product_right_column .pro_gallery_top_container .pro_gallery_top {
    position: static;
}

.product_right_column .pro_gallery_top_container .pro_gallery_top .pro_gallery_item {
    border-radius: 16px;
}

.product_right_column .pro_gallery_top_container .swiper-button-lr .swiper-button {
    top: 0;
    margin-top: 0;
    height: 100%;
    border: 1px solid #FFFFFF;
    border-radius: 8px;
    display: none !important;
    align-items: center;
    justify-content: center;
}

.product_first_section_invert .product_right_column .pro_gallery_top_container .swiper-button-lr .swiper-button {
    border: 1px solid #00000033;
    background-color: #00000033;
    color: #000000;
}

.product_first_section_invert .product_right_column .pro_gallery_top_container .swiper-button-lr .swiper-button.swiper-button-disabled {
    color: #FFFFFFa8;
}

.product_right_column .pro_gallery_top_container .swiper-button-lr.swiper-navigation-rectangle .swiper-button-next i,
.product_right_column .pro_gallery_top_container .swiper-button-lr.swiper-navigation-rectangle .swiper-button-prev i {
    height: auto;
    line-height: 1;
    width: 18px;
    font-size: 18px;
}

.product-image-central {
    text-align: center;
}

.product_right_column .pro_gallery_thumbs_container {
    display: flex;
    align-items: center;
    column-gap: 8px;
    margin-top: 20px;
}

.product_right_column .pro_gallery_thumbs_container .swiper-button-lr.swiper-navigation-rectangle.swiper-small-button .swiper-button {
    height: 100%;
    top: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

.product_right_column .pro_gallery_thumbs_container .swiper-button-lr.swiper-navigation-rectangle.swiper-small-button .swiper-button i {
    width: 20px;
}

.product_right_column .pro_gallery_thumbs_container .swiper-button.swiper-button-prev {
    left: 0;
    order: 1;
}

.product_right_column .pro_gallery_thumbs_container .swiper-container {
    order: 2;
    min-width: 326px;
}

.product_right_column .pro_gallery_thumbs_container .swiper-button.swiper-button-next {
    right: 0;
    order: 3;
}

.product_right_column .pro_gallery_thumbs_container .swiper-button {
    color: #FFFFFF;
}

.product_right_column .pro_gallery_thumbs_container .swiper-button-disabled {
    color: rgba(255,255,255,0.3);
}

.product_first_section_invert .product_right_column .pro_gallery_thumbs_container .swiper-button {
    color: #000000;
}

.product_first_section_invert .product_right_column .pro_gallery_thumbs_container .swiper-button-disabled {
    color: rgba(0,0,0,0.3);
}

@media (max-width: 767px) {
    .product_right_column .pro_gallery_top_container .swiper-button-lr .swiper-button {
        width: 40px;
    }
}

/*Gallery*/
.product_middle_column .product_middle_column_inner {
    padding: 20px;
}

.pro_popup_trigger_box .layer_icon_wrap,
.product_left_column_hook .stsocial-product-page {
    background: #F1F1F1;
    box-shadow: 0px 0px 2px 0px #00000040;
    width: auto;
    height: auto;
    max-height: 36px;
    line-height: unset;
    font-size: 36px;
    line-height: 36px;
    border-radius: 31px;
    color: #000000;
}

.pro_popup_trigger_box .layer_icon_wrap i,
.product_left_column_hook .stsocial-product-page i {
    display: flex;
    align-items: center;
}

.product_left_column_hook {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

#size-attr-info {
    font-family: 'DelaGothicOne', Sans-serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 38px;
    color: #FFFFFF;
}

.product_first_section_invert #size-attr-info {
    color: #FFFFFF;
}

.product_right_column .pro_gallery_thumbs_container .pro_gallery_thumb_box {
    background-color: #000000;
    border-radius: 8px;
    overflow: hidden;
    border: none;
}

.product_right_column .pro_gallery_thumbs_container .pro_gallery_thumb_box img {
    opacity: 0.5;
}

.product_right_column .pro_gallery_thumbs_container .clicked_thumb .pro_gallery_thumb_box {
    border: none;
}

.product_right_column .pro_gallery_thumbs_container .clicked_thumb .pro_gallery_thumb_box img {
    opacity: 1;
}

.product_left_column_hook .stsocial-product-page {
    cursor: pointer;
    display: inline-block;
}

.stsocial-product-page-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 700px;
    border-radius: 16px;
    padding: 30px;
    padding-top: 100px;
    background: #FFFFFF;
    display: none;
    z-index: 102;
}

#social-share-close {
    display: flex;
    color: #FFFFFF;
    border-radius: 106px;
    background: #000000;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: absolute;
    top: -13px;
    right: -12px;
}

#social-share-close i {
    font-size: 25px;
    line-height: 100%;
}

.product-share-img {
    width: 119px;
    border-radius: 106px;
    background: #F3F3F3;
    border: 2px solid #000000;
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
}

.share-title {
    font-weight: 700;
    font-size: 32px;
    line-height: 100%;
    text-align: center;
    margin-bottom: 33px;
}

.share-link-container {
    margin-bottom: 33px;
}

.share-link-container > div {
    gap: 12px;
}

.share-link-container p,
.share-media-container p {
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 20px;
}

.share-link-container span {
    border: 1px solid #000000;
    padding: 8px 20px;
    border-radius: 27px;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    overflow: hidden;
}

.social_share_block .social_share_item {
    width: auto;
    height: auto;
    margin-right: 0;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 100%;
    font-weight: 600;
    text-transform: capitalize;
    gap: 8px;
}

.social_share_block .social_share_item img {
    padding: 8px;
}

.social_share_block {
    row-gap: 35px;
}

.share-media-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .2);
    z-index: 100;
}

body.active_stsocial {
    overflow: hidden;
}

body.active_stsocial #main {
    position: relative;
    z-index: 99;
}

body.active_stsocial .stsocial-product-page-popup,
body.active_stsocial .share-media-overlay {
    display: block;
}

.product-variants.js-product-variants {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    row-gap: 16px;
    align-items: start;
}

/* Wrapper que contiene Tamaño y Colgador apilados verticalmente */
.size-strap-wrapper {
    grid-column: 1 / 3;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Anula el grid-column de los hijos del wrapper para que sean flex normales */
.size-strap-wrapper .product-variant-size,
.size-strap-wrapper .product-variant-strap {
    grid-column: auto;
}

/* Color: 4/6 columns (~67%) on the right, spans rows 1-2 */
.product-variants .product-variants-color {
    grid-column: 3 / -1;
    grid-row: 1 / span 2;
    padding-left: 16px;
    border-left: 1px solid #D9D9D9;
}

.product-variants .product-variants-item {
    margin-bottom: 0;
}

/* Size and Strap: 2/6 columns (~33%) on the left */
.product-variant-size,
.product-variant-strap {
    grid-column: span 2;
}

/* Unknown new attributes: 3/6 columns (50%) each, placed in pairs.
   Assumes 3 known attrs before unknowns (size, strap, color at positions 1-3).
   Even positions (4, 6, 8...) = left half; odd positions (5, 7, 9...) = right half.
   row-gap on the grid creates space above the border-top (no margin-top needed).
   border-left uses ::before starting below border-top to avoid a stuck corner joint. */
.product-variants-item:not(.product-variants-color):not(.product-variant-size):not(.product-variant-strap) {
    grid-column: span 3;
    border-top: 1px solid #D9D9D9;
    padding-top: 16px;
}

.product-variants-item:not(.product-variants-color):not(.product-variant-size):not(.product-variant-strap):nth-child(odd) {
    padding-right: 16px;
}

.product-variants-item:not(.product-variants-color):not(.product-variant-size):not(.product-variant-strap):nth-child(even) {
    padding-left: 16px;
    position: relative;
}

/* border-left as pseudo-element starting below border-top to avoid corner junction */
.product-variants-item:not(.product-variants-color):not(.product-variant-size):not(.product-variant-strap):nth-child(even)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 17px;
    bottom: 0;
    width: 1px;
    background-color: #D9D9D9;
}

.product-variants .product-variants-item:not(.product-variants-color):first-child {
    padding-right: 16px;
    padding-bottom: 13px;
    position: relative;
}

.product-variants .product-variants-item:not(.product-variants-color):first-child::after {
    content: '';
    display: block;
    width: 59px;
    height: 1px;
    border-radius: 4px;
    opacity: 1;
    background-color: #D9D9D9;
    position: absolute;
    bottom: 13px;
    left: 0;
}

.product-variants .control-label,
.text-cdcustomproduct-container {
    color: #000000;
    font-weight: 500;
    font-size: 15px;
    line-height: 100%;
    margin-bottom: 12px;
}

.product-variants .control-label {
    font-family: 'DelaGothicOne', Sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 144%;
}

.product-variant-size ul {
    display: flex;
    flex-direction: column;
    row-gap: 4px;
}

.product-variant-size ul .radio-label {
    line-height: 32px;
}

.product-variant-size ul .radio-label::after {
    content: " ml";
}

.product-variant-strap ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 74px;
}

.product-variants-item #group_2 {
    display: flex;
    flex-wrap: wrap;
    column-gap: 12px;
    row-gap: 12px;
}

.radio-label {
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
}

.input-radio:checked + span,
.input-radio:hover + span {
    text-decoration: underline;
}

.product-variants-item #group_5 .radio-label::after {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
}

.product-variants-item #group_5 .radio-label::after {
    content: "";
    display: block;
    width: 32px;
    height: 32px;
}

.product-variants-item #group_5 .input-radio[value="26"] + .radio-label::after {
    background: url('../img/strap_0.png') no-repeat;
}

.product-variants-item #group_5 .input-radio[value="26"]:checked + .radio-label::after {
    background: url('../img/strap_0_active.png') no-repeat;
}

.product-variants-item #group_5 .input-radio[value="27"] + .radio-label::after {
    background: url('../img/strap_1.png') no-repeat;
}

.product-variants-item #group_5 .input-radio[value="27"]:checked + .radio-label::after {
    background: url('../img/strap_1_active.png') no-repeat;
}

.input-radio:checked + span,
.input-radio:hover + span {
    border: none;
}

.radio-label {
    border: none;
    background: transparent;
    padding: 0;
}

.product-variants .product-variants-item ul li {
    margin: 0;
}

.product-variants .color.texture {
    width: 30px;
    height: 30px;
}

.product-variants .product-variants-color li,
.input-color {
    max-height: 30px;
}

.input-color + span {
    padding: 3px;
    background-clip: content-box;
    border-radius: 22px;
    border-color: transparent;
}

.input-color:checked + span,
.input-color:hover + span {
    border-color: #000000
}

.product-ref-container {
    color: #787878;
}

.product-ref-price-container {
    font-size: 14px;
    line-height: 100%;
    color: #000000;
}

.pro_extra_info {
    margin-bottom: 4px;
}

.pro_extra_info:last-child {
    margin-bottom: 0;
}

.product-ref-price-container,
.product-add-to-cart {
    border-top: 1px solid #D9D9D9;
    padding-top: 16px;
    margin-top: 16px;
}

.qty_wrap.qty_wrap_big,
#side_cart_block .qty_wrap,
.product-line-info .qty_wrap,
.amb2bfastbuylist-fila .quantity_input:not(.quantity_input_custom),
.content-loved-compra .qty_wrap .loved-qty {
    width: 109px;
    border: 1px solid #000000;
    border-radius: 24px;
    margin: 0;
}

.bootstrap-touchspin #quantity_wanted,
.product-quantity .bootstrap-touchspin .btn-touchspin,
#side_cart_block .bootstrap-touchspin .btn-touchspin,
#side_cart_block .bootstrap-touchspin .cart_quantity,
.line-product-info .qty_wrap .js-cart-line-product-quantity,
.line-product-info .bootstrap-touchspin .btn-touchspin,
.product-line-info .qty_wrap .js-cart-line-product-quantity,
.product-line-info .qty_wrap .btn-touchspin,
.amb2bfastbuylist-fila .quantity_product input,
.amb2bfastbuylist-fila .quantity_input:not(.quantity_input_custom) button,
.content-loved-compra .qty_wrap input,
.content-loved-compra .qty_wrap button {
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    color: #000000;
}

.product-quantity .bootstrap-touchspin .btn-touchspin,
.line-product-info .bootstrap-touchspin .btn-touchspin,
#side_cart_block .bootstrap-touchspin .btn-touchspin,
.product-line-info .qty_wrap .btn-touchspin,
.amb2bfastbuylist-fila .quantity_input:not(.quantity_input_custom) button,
.content-loved-compra .qty_wrap .bootstrap-touchspin button {
    width: 30px;
    background-color: transparent;
    border: none;
}

.bootstrap-touchspin #quantity_wanted,
.line-product-info .qty_wrap .js-cart-line-product-quantity,
.product-line-info .qty_wrap .js-cart-line-product-quantity,
#side_cart_block .bootstrap-touchspin .cart_quantity,
.amb2bfastbuylist-fila .quantity_product input,
.content-loved-compra .qty_wrap input {
    background-color: transparent;
    border: none;
    padding: 0 2px;
}

.product-quantity .bootstrap-touchspin-down {
    border-radius: 24px 0 0 24px;
}

.product-quantity .bootstrap-touchspin-up {
    border-radius: 0 24px 24px 0;
}

.product-quantity .add {
    width: 100%;
    max-width: 189px;
}

.product_second_section > .container,
.product_third_section > .container {
    max-width: 1042px;
}

.product-banner-container .elementor-widget:not(:last-child) {
    margin-bottom: 0;
}

.product-banner-container .elementor-container,
.product-banner-container .elementor-container .elementor-column .elementor-widget-wrap {
    gap: 16px;
}

.product-banner-container .st_banner_block {
    border-radius: 24px;
}

.strelatedproducts_container {
    margin: 60px 0;
}

.strelatedproducts_container .title_block_inner {
    font-weight: 700;
}

.strelatedproducts_container .pro_second_box {
    padding: 0;
    margin-top: 20px;
}

#add-to-cart-floating {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    border-radius: 16px;
    background-color: #F1F1F1;
    padding: 20px;
    box-shadow: 1px 1px 4px 0px #00000040;
    z-index: 10;
    gap: 8px;
    align-items: center;
}

#add-to-cart-floating > div {
    gap: 8px;
}

#add-to-cart-floating img {
    height: 56px;
    flex-shrink: 0;
}

#add-to-cart-floating .floating-info-name{
    font-weight: 700;
    font-size: 20px;
    line-height: 100%;
    color: #00000099;
    margin-bottom: 8px;
}

#add-to-cart-floating .floating-info-price {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    color: #000000;
    margin-bottom: 0;
}

#add-to-cart-floating .btn {
    white-space: normal;
    flex-shrink: 0;
    width: 100%;
}

.product-additional-info {
    gap: 16px;
}

.product-additional-info > *:first-child {
    border-top: 1px solid #D9D9D9;
    padding-top: 16px;
    margin-top: 16px;
}

.product-information #customize {
    padding: 0;
    margin: 0;
}

.product-information #customize .btn.btn-primary {
    border: 1px solid #000000;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    background-color: transparent;
    color: #232426;
    width: 100%;
}

.mfp-close-btn-in .mfp-close,
button.mfp-arrow,
.mfp-bottom-bar {
    display: none;
}

@media (min-width: 992px) {
    /* SOLO para SOLID (id=504): altura mínima fija para que el contenedor
       no se contraiga cuando el selector de Color tiene menos opciones (ej. 850 ml).
       Otros productos mantienen su comportamiento responsive normal. */
    body.product-id-504 .product_page_container {
        min-height: 800px;
    }

    /* SOLO para SOLID: anula align-items: center para que las columnas no se
       desplacen verticalmente al cambiar la altura del selector */
    body.product-id-504 .row.product_page_container.align-items-center {
        align-items: flex-start !important;
    }
}

@media (min-width: 1200px) {
    .product_page_container {
        gap: 11px;
    }

    .product_right_column,
    .product_middle_column {
        flex: 0 0 100%;
        max-width: 370px;
        padding: 0;
    }
    
    .product_left_column {
        flex: 0 0 calc(100% - 762px); /* 370px * 2 = 740px + 22 gap */
        max-width: calc(100% - 762px);
        padding: 0;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .product_left_column {
        padding: 0 11px;
    }
}

@media (min-width: 992px) {
    .product_first_section {
        background-image:
            linear-gradient(to bottom, rgba(255,255,255,0) 75%, rgba(0,0,0,0.05) 100%),
            url('../img/product-page-left.png'),
            url('../img/product-page-right.png');
        background-position: center, left center, right center;
        background-repeat: no-repeat;
        background-size: contain;
        padding: 30px 0 30px;
    }

    .product_first_section .product_name_wrap {
        padding: 10px 0;
        margin: 14px 0 10px;
    }
    
    .row.product_page_container {
        margin-right: 0;
        margin-left: 0;
    }

    .product_right_column,
    .product_middle_column {
        padding: 0;
    }
}

@media (max-width: 991px) {
    .product_right_column {
        order: 2;
    }

    .product_middle_column {
        order: 3;
        position: relative;
        padding-bottom: 15px;
    }

    .product_left_column {
        order: 1;
        background-image: url('../img/product-page-mobile-left.png'), url('../img/product-page-mobile-right.png');
        background-position: left center, right center;
        background-repeat: no-repeat;
        margin-bottom: 15px;
    }

    .pro_popup_trigger_box,
    .product_left_column_hook {
        top: -56px;
        right: 15px;
        bottom: auto;
        position: absolute;
        z-index: 8;
    }

    .product_first_section .product_name_wrap {
        padding: 20px 5px 0;
    }

    .product_first_section {
        background-size: auto;
        background-position: left top, right top;
    }

    .pro_gallery_thumbs_container.pro_gallery_thumbs_vertical  {
        position: absolute;
        bottom: 20px;
        z-index: 2;
        width: 45px;
    }

    .pro_gallery_thumbs_vertical .swiper-slide {
        height: 45px;
    }

    .pro_gallery_thumb_box {
        border-radius: 8px;
    }

    .product-banner-container .elementor-container .elementor-column {
        width: 100% !important;
    }

    .product-banner-container .elementor-container .elementor-column .elementor-widget-wrap {
        flex-wrap: nowrap;
    }

    .product-banner-container .elementor-container .elementor-column.product-banner-first-row .elementor-widget-wrap {
        flex-wrap: wrap;
        gap: 0;
    }

    .product-banner-container .elementor-container,
    .product-banner-container .elementor-container .elementor-column .elementor-widget-wrap {
        gap: 8px;
    }

    .banner-img-full img {
        width: 100%;
    }

    .strelatedproducts_container.products_container .title_block {
        margin-bottom: 16px !important;
    }

    #size-attr-info {
        display: none;
    }
}

@media (min-width: 768px) {
    .product_second_section,
    .product_third_section {
        background-color: #FFFFFF;
    }

    .product-variants-item li {
        line-height: 0;
    }

    .product-variants .product-variants-color {
        margin-bottom: 0;
    }
}

@media (max-width: 767px) {
    .product_right_column {
        order: 3;
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .product_right_column .images-container,
    .product_right_column .right_more_info_block {
        width: 100%;
        margin: 0 0 30px;
    }

    .product_right_column .images-container {
        padding-left: 0;
    }

    .product_right_column .pro_gallery_top_container .swiper-container-horizontal > .swiper-pagination-bullets {
        position: relative;
        bottom: auto;
        line-height: 1;
        margin-top: 30px;
    }

    .product_right_column .pro_gallery_top_container .swiper-pagination-bullet {
        background: rgba(255,255,255,0.4);
    }
    
    .product_right_column .pro_gallery_top_container .swiper-pagination-bullet-active {
        background: #FFFFFF;
    }

    .product_middle_column {
        order: 2;
        padding-right: 10px;
        padding-bottom: 0;
        padding-left: 10px;
    }

    .product_second_section > .container,
    .product_third_section > .container {
        padding-right: 10px;
        padding-left: 10px;
        padding-bottom: 30px;
    }

    .product_right_column .right_more_info_block,
    .product_middle_column .product_middle_column_inner,
    .strelatedproducts_container {
        background: #F1F1F1;
        border-radius: 16px;
        box-shadow: 1px 1px 4px 0px #00000040;
        padding: 20px;
        margin: 30px 0;
    }

    .product_right_column .right_more_info_block {
        width: calc(100% - 20px);
        margin: 30px auto;
    }

    .product_middle_column .product_middle_column_inner {
        margin: 0;
    }

    .product_second_section .strelatedproducts_container.products_container .title_block_inner {
        font-size: 24px;
        line-height: 100%;
    }

    .product-variants .product-variants-item:first-child {
        padding-right: 16px;
    }

    .product-variants .product-variants-item:last-child {
        margin-bottom: 0;
    }

    .product-additional-info > *:first-child {
        padding-top: 8px;
        margin-top: 8px;
    }

    .product-ref-price-container,
    .product-add-to-cart {
        padding-top: 8px;
        margin-top: 8px;
    }

    .product-variants .product-variants-color:not(:first-child) {
            padding-top: 8px;
    }

    .product-banner-container {
        background-color: #F1F1F1;
    }

    .image-central-container img{
        max-height: 283px;
        width: auto;
    }
}

@media (min-width: 480px) {
    #add-to-cart-floating .btn {
        max-width: 110px;
    }
}

@media (max-width: 479px) {
    .stsocial-product-popup-container {
        max-height: 300px;
        overflow-y: scroll;
    }

    #add-to-cart-floating {
        width: 90%;
    }

    #add-to-cart-floating > div {
        flex-direction: column;
        width: 100%;
    }

    .product-information #customize .btn.btn-primary {
        padding: 6px 15px;
    }

    .product-variants .control-label {
        font-size: 15px;
        line-height: 22px;
    }
}

/*BLOCKCART MODAL*/
#blockcart-modal .modal-dialog,
#blockcart-modal .modal-dialog .modal-content,
#blockcart-modal .modal-dialog .modal-content p,
.cart-content-btn .btn {
    margin: 0;
}

#blockcart-modal {
    padding: 0 !important;
}

#blockcart-modal .modal-dialog {
    width: 100%;
    max-width: none;
}

#blockcart-modal .modal-body {
    padding: 0;
    border-top: none;
    border-right: none;
    border-left: none;
}

#blockcart-modal .modal-body .container {
    padding-top: 10px;
    padding-bottom: 10px;
}

#blockcart-modal .modal-body .container > .row {
    row-gap: 20px;
}

.modal-img-container {
    gap: 20px;
    font-size: 16px;
}

.cart-content-btn .row {
    row-gap: 20px;
}

#blockcart-modal .st_modal_close {
    display: none;
}

/*FAST BUY*/
.container-fastbuy .img-search {
    width: 30px;
}

.container-fastbuy .search-widget form input[type="text"] {
    padding-left: 45px;
}

/*amb2bfastbuy / amb2bfastbuylist*/
.tbody-b2b td,
.container-fastbuy-resumen td {
    padding: 0;
    border: none;
}

.tbody-b2b td.product {
    flex-shrink: 0;
}

.tbody-b2b td.product-name {
    padding: 0 12px;
}

.fastbuy-product-info {
    font-size: 12px;
    line-height: 14px;
    margin: 5px 0;
}

.tbody-b2b .attribute_selector {
    margin-top: 12px;
}

.tbody-b2b .info_product {
    text-align: left;
    width: 100%;
}

.tbody-b2b .info_product .stocktrafficlight-label {
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 100%;
}

.tbody-b2b td.price_product,
.tbody-b2b td.quantity_product,
.tbody-b2b td.total_product,
.tbody-b2b td.btn_add_product {
    padding: 0 12px;
    width: 100%;
    text-align: right;
}

.fastbuy-container .btn.btn-default.add-to-cart i {
    display: block;
}

.eliminar_fila {
    cursor: pointer;
}

@media (min-width: 1200px) {
    .tbody-b2b .line-product-info {
        display: flex;
        align-items: center;
        justify-content: end;
    }

    .tbody-b2b .info_product {
        max-width: 280px;
    }

    .tbody-b2b td.price_product {
        max-width: 80px;
    }

    .tbody-b2b td.quantity_product,
    .tbody-b2b td.total_product,
    .tbody-b2b td.btn_add_product {
        max-width: 160px;
    }

    .tbody-b2b td.product-name {
        padding: 12px;
    }
}

@media (max-width: 1199px) {
    .tbody-b2b td div,
    .tbody-b2b td.price_product {
        text-align: left;
    }

    .tbody-b2b .line-product-info {
        display: grid;
        grid-template-rows: repeat(2, auto);
        position: relative;
        padding: 5px 0;
        align-items: center;
        row-gap: 5px;
    }

    .table-amb2bfastbuy .tbody-b2b .line-product-info {
        padding-top: 45px;
    }

    .tbody-b2b td.product {
        grid-row: span 2 / span 2;
        text-align: left;
    }

    .tbody-b2b td.product-name {
        text-align: left;
    }

    .tbody-b2b td.product-name .name_product {
        padding: 0 0 10px 0;
        display: inline-block;
    }

    .tbody-b2b td.quantity_product {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .tbody-b2b td.price_product {
        padding: 12px;
    }

    .tbody-b2b td.price_product .price,
    .tbody-b2b .total_product {
        font-size: 16px;
        font-weight: 700;
        line-height: 16px;
    }

    .tbody-b2b td.quantity_product {
        padding-left: 0;
    }
}

@media (max-width: 480px) {
    .tbody-b2b .line-product-info {
        grid-template-rows: repeat(3, auto);
    }

    .tbody-b2b td.product {
        grid-row: span 3 / span 3;
    }
}

/*FILTERS*/
.product_list.product_list_compra_rapida .block-filters-container {
    border: 1px solid #00000040;
    padding: 12px;
    border-radius: 12px;
}

.product_list_compra_rapida .block-filters-container .title_block {
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 20px;
}

.product_list.product_list_compra_rapida .block-filters-container .block-categories:not(:last-child) {
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid #E4E4E7;
}

.product_list_compra_rapida .block-filters-container .category-sub-menu li:not(:last-child) {
    margin-bottom: 8px;
}

.product_list_compra_rapida .block-filters-container .label-control {
    margin-bottom: 0;
}

.product_list_compra_rapida .block-filters-container .label-option-filter {
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
}

.product_list_compra_rapida .category-top-menu ul li {
    padding: 0;
}

.block-filters-container .navbar-toggler {
    padding: 4px 1px;
}

.block-filters-container .navbar-toggler,
.block-filters-container .category-sub-menu .arrows {
    cursor: pointer;
    font-size: 11px;
}

.block-filters-container .navbar-toggler:not(.collapsed) i.add,
.block-filters-container .navbar-toggler.collapsed i.remove,
.block-filters-container .category-sub-menu .arrows:not(.collapsed) .arrow-right,
.block-filters-container .category-sub-menu .arrows.collapsed .arrow-down {
    display: none;
}

.block-filters-container .category-sub-menu .category-sub-menu {
    margin-bottom: 12px;
}

/*MINI CART*/
body:not(#checkout) .st-menu#side_products_cart {
    height: 100%;
    background: #FFFFFF;
    display: flex;
    flex-direction: column;
}

#side_cart_block {
    margin-top: 0;
    padding: 14px;
    height: calc(100% - 78px);
}

.shoppingcart-list {
    display: flex;
    flex-direction: column;
    height: 100%;
}

#side_cart_block .small_cart_product_list {
    overflow-y: auto;
    padding: 1px;
    margin-bottom: 38px;
}

#side_cart_block .small_cart_product_list > .line_item {
    border-radius: 12px;
    border: 1px solid #00000040;
    padding: 0;
    margin: 0 0 24px;
}

#side_cart_block .small_cart_product_list > .line_item:last-child {
    margin: 0;
}

.small_cart_product_image {
    margin-right: 0;
    margin-top: 0;
    width: auto;
    border: none;
}

.small_cart_info {
    padding: 12px;
}

.small_cart_info .product-name,
.small_cart_info .price {
    font-size: 16px;
    line-height: 150%;
}

.small_cart_info .small_cart_info_container {
    margin-top: 12px;
}

.minicart-attr {
    font-size: 12px;
}

.small_cart_info .ajax_remove_button {
    font-size: 15px;
    line-height: 15px;
}

#side_cart_block .bootstrap-touchspin .cart_quantity {
    height: 40px;
}

#side_cart_block .small_cart_sumary_container {
    margin-top: auto;
    border: 1px solid #00000040;
    border-radius: 12px;
    padding: 24px;
}

#side_cart_block .small_cart_sumary {
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 150%;
}

#side_cart_block .small_cart_sumary .price {
    font-size: 14px;
    line-height: 150%;
}

#side_cart_block .small_cart_sumary .price:not(.font-weight-bold) {
    font-weight: 400;
}

#side_cart_block .small_cart_sumary.base_list_line .line_item {
    border: none;
    padding: 0;
    margin-bottom: 12px;
}

#side_cart_block .small_cart_sumary.base_list_line .line_item.last_one {
    border-top: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
    font-weight: 700;
    padding: 12px 0;
}

.shoppingcart-list .small_cart_btn {
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
    padding: 4px 8px;
}

.shoppingcart-list .small_cart_btn:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    body:not(#checkout) .st-menu#side_products_cart {
        max-width: 406px;
        box-sizing: content-box;
    }
}

@media (max-width: 767px) {
    #side_cart_block {
        height: calc(100% - 114px);
    }
}

/*CART PAGE*/
.cart-items.base_list_line .line_item,
.order-confirmation-wrap .order-line.line_item,
.line-product-info {
    border: 1px solid #00000040;
    border-radius: 12px;
    margin-bottom: 20px;
    padding-bottom: 0;
}

.line-product-info:last-child {
    margin-bottom: 0;
}

.cart-items.base_list_line .line_item .product-line-grid {
    padding: 0;
}

.product-line-grid-left,
.order-item-img,
.product-line-img {
    flex-shrink: 0;
    padding: 10px;
}

.product-line-grid-right,
.order-details {
    padding: 12px;
    width: 100%;
    font-size: 14px;
    line-height: 150%;
}

.cart-items.base_list_line .product-customization-line.line_item {
    border: none;
}

.product-line-grid-right .price,
.order-details .price {
    font-size: 14px;
    line-height: 150%;
}

.product-line-grid-right .product-unit-price .price {
    font-weight: 400;
}

.product-line-grid-right .bootstrap-touchspin {
    width: auto;
}

.product-line-info .qty_wrap .js-cart-line-product-quantity {
    flex: 1 1 auto;
    height: 40px;
}

.line-product-info {
    font-size: 16px;
    line-height: 150%;
}

.product-line-info-attribute {
    font-size: 12px;
    line-height: 150%;
}

.line-product-info .price {
    margin: 0;
}

.line-product-info .current-price,
.line-product-info .price {
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
}


.tbody-b2b .total_product {
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;
}

.product-line-grid-right .row,
.order-details > .row {
    margin-right: -12px;
    margin-left: -12px;
}

.product-line-grid-right .row div[class^="col-"],
.order-details > .row div[class^="col-"] {
    padding-right: 12px;
    padding-left: 12px;
}

.cart-grid-body .btn.btn-default i {
    font-size: 15px;
    line-height: 15px;
}

.cart-summary,
.default-container {
    border: 1px solid #00000040;
    border-radius: 12px;
    padding: 24px;
}

.cart-summary-line,
.cart-summary-line .price,
.summary-product-price .price {
    margin: 0;
    font-size: 14px;
    line-height: 150%;
    font-weight: 400;
}

.cart-summary-line .price.font-weight-bold {
    font-weight: 700;
}

.cart-detailed-totals > div.d-flex {
    row-gap: 12px;
    margin-bottom: 12px;
}

.cart-voucher {
    padding: 24px 0;
    border-top: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
    margin-bottom: 24px;
}

.cart-voucher input.form-control,
.cart-voucher input.form-control:focus {
    padding: 10px 8px;
    border-radius: 24px 0 0 24px;
}

.cart-actions-container i {
    font-size: 18px;
    line-height: 18px;
}

.cart-line-product-actions {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

@media (min-width: 1200px) {
    .cart-produt-name-container {
        margin: 0;        
    }

    .cart-line-product-actions {
        flex-direction: column;
        gap: 5px;
    }
}

@media (max-width: 1199px) {
    .cart-actions-container {
        position: absolute;
        top: 12px;
        right: 18px;
        padding: 0;
        width: auto;
    }

    .cart-produt-name-container > .product-line-info {
        padding-right: 89px;
    }
}

@media (min-width: 992px) {
    #cart #main > .row,
    .checkout_wrapper #content > .row,
    .amb2bfastbuy-row {
        justify-content: space-between;
        flex-wrap: nowrap;
    }
    
    #cart .cart-grid-body,
    .checkout_wrapper .checkout_left_wrapper {
        flex: 1 1 100%;
        max-width: 817px;
    }
    
    #cart .cart-grid-right,
    .checkout_wrapper .checkout_right_wrapper {
        flex: 1 1 100%;
        max-width: 509px;
    }
}

@media (max-width: 767px) {
    .tbody-b2b .total_product {
        font-size: 16px;
        font-weight: 700;
        line-height: 16px;
    }
}

@media (min-width: 480px) {
    .cart-produt-total-container {
        margin: 0;        
    }
}

@media (max-width: 479px) {
    .cart-items {
        padding: 0;
    }
}

/*CHECKOUT*/
#header_primary.checkout_header {
    border: 1px solid #00000040;
}

.checkout_header {
    padding: 7px 0;
}

.checkout_header .checkout-back {
    gap: 20px;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 100%;
}

.checkout_header .checkout-back i {
    font-size: 11px;
    line-height: 11px;
}

.checkout-header-mobile-container .mobile_bar_item,
.checkout-header-mobile-container #mobile_bar_right > .flex_container > * {
    height: auto;
    line-height: 40px;
    display: inline-block;
}

.checkout-header-mobile-container .mobile_bar_item i {
    vertical-align: bottom;
}

.checkout-header-mobile-left {
    padding: 0 16px 0 10px;
}

.checkout_wrapper {
    padding-top: 13px;
    background: #FFFFFF;
}

.checkout_wrapper .page_heading {
    margin-bottom: 20px;
}

.checkout-step {
    border-color: #E4E4E7;
    padding: 0;
}

.checkout-step:last-child {
    border: none;
}

.checkout_left_column {
    border-radius: 12px;
    border: 1px solid #00000040;
}

.sttab_2_1 .tab-pane-body,
.checkout-step .sttab_2_1>.nav-tabs .nav-link.active,
.checkout-step .sttab_2_1 > .nav-tabs {
    border: none;
}

.sttab_block .tab-pane-body {
    padding: 0;
}

.checkout-step .step-title {
    padding: 12px 24px;
}

.checkout-step .content {
    padding: 0 24px 12px !important;
}

.checkout-step .sttab_2_1 > .nav-tabs {
    margin-bottom: 20px;
}

.sttab_block > .nav-tabs .nav-link {
    border: none;
}

.sttab_block > .nav-tabs li:first-child .nav-link {
    padding-left: 0;
    border: none;
}

.checkout-step .sttab_2_1 .nav-tabs .nav-link.active,
.checkout-step .sttab_2_1>.nav-tabs .nav-link:hover {
    border: none;
    font-weight: 700;
    text-decoration: underline;
}

.checkout_left_wrapper .form-footer {
    margin-top: 12px;
    text-align: right;
}

.checkout_left_wrapper .continue.btn {
    margin-left: auto;
    padding: 10px 12px;
}

.checkout-step.-reachable.-complete .done {
    margin-right: 6px;
}

.checkout-step.-reachable.-complete .step-edit i {
    margin-right: 6px;
    font-size: 15px;
    line-height: 15px;
}

.checkout-step .not-allowed {
    opacity: 1;
}

.checkout-step #delivery-address .form-footer,
.checkout-step #invoice-address .form-footer {
    display: flex;
}

#checkout-addresses-step .address-item .card {
    border-color: #E4E4E7;
    border-radius: 6px;
}

#checkout-addresses-step .address-item .card .card-block {
    padding: 12px;
}

.address-radio-container {
    margin-bottom: 12px;
    gap: 6px;
}

.checkout-step .radio-block {
    margin-bottom: 0;
}

.checkout-step .address-alias {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 150%;
}

.checkout-step .address {
    font-size: 16px;
    line-height: 150%;
}

.card .address-footer {
    border: none;
    padding-top: 0;
    gap: 12px;
}

.card .address-footer > a {
    margin: 0;
    box-shadow: 0px 0px 0px 1px #00000014, 0px 1px 2px 0px #0000001F;
    border-radius: 6px;
    padding: 10px 12px;
    width: 100%;
    line-height: 20px;
    gap: 6px;
}

.card .address-footer > a i {
    font-size: 15px;
    line-height: 15px;
    color: #52525B;
}

.checkout-step .delivery-option {
    padding: 0 0 8px;
}

.checkout-step .delivery-option:last-child {
    padding: 0;
}

.checkout-step .payment-options label {
    margin-left: 10px;
}

#conditions-to-approve li {
    gap: 8px;
}

.checkout_right_column {
    border: 1px solid #00000040;
    border-radius: 12px;
}

.checkout_right_column .checkout-summary-block {
    padding: 24px 24px 0;
}

.checkout_right_wrapper .cart-summary-products a:not(.collapsed) .fto-down-open {
    display: none;
}

.checkout_right_wrapper .cart-summary-products a.collapsed .fto-up-open {
    display: none;
}

.cart-summary-products-list > p{
    margin-bottom: 12px;
}

.checkout_right_wrapper .cart-summary-subtotals-container,
.order-summary-subtotals-container {
    margin: 12px 0;
    padding: 12px 0;
    border-top: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
}

.cart-summary-subtotals-container > div:not(:last-child),
.checkout_right_column .cart-summary-totals > div:not(:last-child),
.cart-summary-wrap > div:not(:last-child),
.order-summary-subtotals-container > div:not(:last-child) {
    margin-bottom: 12px;
}

.cart-summary-subtotals-container .value {
    font-weight: 700;
}

.checkout_right_column .cart-summary-totals {
    padding: 0 24px 24px;
    font-weight: 700;
}

body#checkout #footer {
    margin-top: auto;
}

#order-items .order-line {
    margin-top: 0;
}

#order-items .order-line:last-child {
    margin-bottom: 0;
}

.cart-summary-wrap {
    margin: 24px 0 32px;
}

#order-details {
    margin-bottom: 32px;
}

.summary-product-list {
    margin-top: 10px;
}

#checkout_mobile_nav li.active {
    padding-bottom: 0;
}

@media (min-width: 992px) {
    body#checkout #st-container,
    body#checkout .st-content-inner,
    body#checkout #body_wrapper,
    body#checkout #page_wrapper {
        min-height: 100%;
        height: 100%;
    }

    body#checkout #page_wrapper {
        display: flex;
        flex-direction: column;
    }

    body#checkout .st-container,
    body#checkout .st-content,
    body#checkout .st-content-inner {
        overflow: auto;
    }
}

/*MY ACCOUNT*/
#easycontent_7 {
    display: none;
}

.from_blcok .page_heading {
    font-weight: 700;
}

.from_blcok a:not(.btn) {
    text-decoration: underline;
}

.list-group-item {
    border: 1px solid #00000040;
    background: #FFF;
}

.my_account_left_column .list-group-item:first-child {
    border-radius: 12px 12px 0 0;
}

.my_account_left_column .list-group-item:last-child {
    border-radius: 0 0 12px 12px;
}

.myacount_dashbord_list {
    display: grid;
    gap: 20px;
}

.myacount_dashbord_list .list-group-item {
    border-radius: 12px !important;
    padding: 38px 24px;
    width: auto;
    margin: 0;
    font-size: 16px;
    line-height: 150%;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.address-container .address {
    border: 1px solid #E4E4E7;
    border-radius: 6px;
    padding: 12px;
}

.address-container .address-body {
    font-size: 16px;
    line-height: 150%;
    margin-bottom: 12px;
}

.address-container .address-footer {
    display: flex;
    gap: 12px;
}

.address-container .address-footer a {
    border: 1px solid #00000040;
    border-radius: 6px;
    width: 50%;
    margin: 0;
    text-align: center;
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
    padding: 4px;
    gap: 6px;
}

.address-container .address-footer a i {
    color: #52525B;
    font-size: 15px;
    line-height: 15px;
}

.table-order-history .badge {
    white-space: normal;
}

.table-order-history .order-actions a {
    display: block;
    margin-bottom: 10px;
    text-decoration: underline;
}

.table-order-history .order-actions a:last-child {
    margin-bottom: 0;
}

.table-order-history + .orders .status {
    margin-top: 10px;
}

.table-order-history + .orders div.d-flex {
    border: 1px solid #00000040;
    border-radius: 6px;
    row-gap: 10px;
    padding: 12px;
    margin-top: 10px;
}

.table-order-history + .orders div.d-flex a {
    text-decoration: underline;
    width: 50%;
    margin: 0;
}

.wishlist_product_item .pro_simple_box {
    border: 1px solid #00000040;
    border-radius: 12px;
    padding: 12px;
}

@media (min-width: 992px) {
    .my_account_left_column {
        max-width: 336px;
    }

    .my_account_left_column + div {
        max-width: 1020px;
        margin-left: auto;
    }
}

@media (min-width: 768px) {
    .myacount_dashbord_list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/*MY ACCOUNT GRID*/
.com_grid_view.row {
    margin-left: -12px;
    margin-right: -12px;
}

.com_grid_view.row > li {
    padding-left: 12px;
    padding-right: 12px;
}

/* Si el tema dibuja el separador en CADA tab (incluido el primero) */
.product_info_tabs .nav-tabs > .nav-item:first-child::before,
.product_info_tabs .nav-tabs > .nav-item:first-child::after,
.product_info_tabs .nav-tabs > .nav-item:first-child > .nav-link::before,
.product_info_tabs .nav-tabs > .nav-item:first-child > .nav-link::after{
  content: none !important;
  display: none !important;
}

/* Por si el "separador" es un borde en el primer tab */
.product_info_tabs .nav-tabs > .nav-item:first-child,
.product_info_tabs .nav-tabs > .nav-item:first-child > .nav-link{
  border-left: 0 !important;
  border-right: 0 !important;
}
/* Colapsa el primer tab (Descripción) para que no deje hueco */
.product_info_tabs .nav-tabs > .nav-item:first-child {
  padding: 0 !important;
  margin: 0 !important;
}

.product_info_tabs .nav-tabs > .nav-item:first-child > .nav-link {
  padding: 0 !important;
  margin: 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  border: 0 !important;
}
.product_info_tabs .nav-tabs {
  gap: 0 !important;
}
/* Oculta el TAB (li) para que no deje hueco */
.product_info_tabs .nav-tabs > .tab-desc-empty{
  display: none !important;
}
/* Asegura que el contenido quede visible aunque no haya tab */
.product_info_tabs #description{
  display: block !important;
  opacity: 1 !important;
}
.product_info_tabs .nav-tabs > .nav-item:first-child{
  display: none !important;
}
.product_info_tabs #description{
  display: block !important;
  opacity: 1 !important;
}
/* Si el primer tab está vacío, colapsa la barra de tabs */
.product_info_tabs .nav-tabs > .nav-item:first-child > .nav-link:empty,
.product_info_tabs .nav-tabs > .nav-item:first-child > .nav-link:empty + * {
  display: none !important;
}

/* Oculta el primer li completo si su link está vacío o solo tiene &nbsp; */
.product_info_tabs .nav-tabs > .nav-item:first-child {
  display: none !important;
}

/* Y elimina el margen/padding que deja el UL */
.product_info_tabs .nav-tabs {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}

/* Horas de frio/calor/hielo (Regular y mismo tamano que titulo) */
.elementor-inner-section .elementor-column .elementor-widget-text-editor + .elementor-widget-text-editor .elementor-text-editor p {
  font-size: 16px !important;
  font-weight: 400 !important;
}

/* Titulo de producto siempre en blanco */
.product_name_wrap .product_name,
.product_first_section_invert .product_name_wrap .product_name {
  color: #FFFFFF !important;
}

/* Subtitulo / nombre de color: siempre blanco */
.product_name_color,
.product_first_section_invert .product_name_color {
  color: #FFFFFF !important;
}

/* Oculta el loader nativo al cambiar de variante */
.st-input-loading,
.product-cover-loader,
.spinner,
.ajax-loader,
.preloader,
#main-product-wrapper .loader,
.product_first_section .loader,
.product-image-central .loader,
.product-image-central:before,
.product-image-central:after,
.product_first_section:before,
.product_first_section:after {
  display: none !important;
}

/* Transicion suave al cambiar variante */
.product_first_section,
#main {
  transition: background 220ms ease;
}

.product-image-central img {
  transition: opacity 220ms ease;
}

/* Reordenar iconos del header: ES|EN, Lupa, Usuario, Carrito.
   HTML original: idioma (1), carrito (2), busqueda (3), usuario (4).
   Reordenamos con flexbox order para mantener Carrito al final. */
#header_right_top {
    display: flex;
}

#header_right_top > .language-selector-container { order: 1; }
#header_right_top > .search_widget_simple { order: 2; }
#header_right_top > .userinfo_mod_top { order: 3; }
#header_right_top > .blockcart { order: 4; }

/* Punto 18 — Centrar miniaturas del carrusel cuando hay pocas (menos de 4 visibles).
   Este Swiper NO anade la clase swiper-container-locked, asi que usamos :has()
   para detectar el numero de slides.
   CASO NORMAL (sin laser): centrar si hay menos de 4 slides. */
.product_page_container:not(:has(#cdcustomproduct-extracontentid)) .pro_gallery_thumbs .swiper-wrapper:not(:has(.swiper-slide:nth-child(4))) {
    justify-content: center;
}

/* CASO LASER: la ultima slide (foto Z) esta oculta y no cuenta visualmente,
   asi que el umbral sube en 1: centrar si hay menos de 5 slides reales (4 visibles). */
.product_page_container:has(#cdcustomproduct-extracontentid) .pro_gallery_thumbs .swiper-wrapper:not(:has(.swiper-slide:nth-child(5))) {
    justify-content: center;
}

/* Si solo queda 1 miniatura visible, ocultamos el carrusel entero (redundante con la imagen central).
   CASO NORMAL: 1 sola slide en total. */
.product_page_container:not(:has(#cdcustomproduct-extracontentid)) .pro_gallery_thumbs_container:has(.swiper-wrapper > .swiper-slide:only-child) {
    display: none;
}

/* CASO LASER: 2 slides reales (1 visible + foto Z oculta) = 1 miniatura visible -> ocultar carrusel. */
.product_page_container:has(#cdcustomproduct-extracontentid) .pro_gallery_thumbs_container:has(.swiper-wrapper > .swiper-slide:nth-child(2):last-child) {
    display: none;
}

/* Punto 15 — Outline en circulos de colores muy claros para que se distingan
   del fondo claro de la pastilla. Usamos el mismo mecanismo que el tema usa para
   el color seleccionado (border-color sobre el borde ya reservado), aplicado fijo
   a los colores claros concretos. */
/* Punto 15 — Outline en circulos de colores muy claros para que se distingan
   del fondo claro de la pastilla. El span del color mide 30px pero el color visible
   solo ocupa los 24px centrales (padding 3px + background-clip content-box). Por eso
   un border normal deja un anillo de 3px. Usamos ::after posicionado sobre el area
   del color real para que la linea abrace solo el circulo pintado. */
.product-variants-color li[title="WHITE"] .color,
.product-variants-color li[title="IVORY"] .color,
.product-variants-color li[title="NUDE"] .color,
.product-variants-color li[title="LIGHT PINK"] .color,
.product-variants-color li[title="PASTEL GREEN"] .color {
    position: relative;
}

.product-variants-color li[title="WHITE"] .color::after,
.product-variants-color li[title="IVORY"] .color::after,
.product-variants-color li[title="NUDE"] .color::after,
.product-variants-color li[title="LIGHT PINK"] .color::after,
.product-variants-color li[title="PASTEL GREEN"] .color::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
    border: 1px solid #888888;
    border-radius: 50%;
    pointer-events: none;
}

/* Punto 17 — Ocultar la foto Z (ultima imagen, la del grabado laser) de las miniaturas,
   SOLO en productos con personalizacion laser activa. El modulo cdcustomproduct renderiza
   #cdcustomproduct-extracontentid unicamente cuando active_customproduct_extraproduct es true,
   asi que lo usamos como gancho para no afectar a productos sin laser. */
.product_page_container:has(#cdcustomproduct-extracontentid) .pro_gallery_thumbs .swiper-slide:last-child {
    display: none;
}

/* Submenu de categorias (ps_categorytree): ocultar el nombre de Kids (id 14),
   ya que su imagen es el logo Quokka Kids que ya incluye el texto. */
.block-categories .cat-tree-id-14 .cat-tree-name {
    display: none;
}

/* Submenu de categorias: iconos verticales a 80px de alto (como Figma).
   El tipo de imagen 0_thumb es 70x80; Kids usa su imagen original (ver tpl). */
.block-categories .acc_header img {
    width: auto;
    height: 80px;
}

/* Icono de Kids (id 14): es un logo horizontal, se controla solo por ancho
   con alto automatico para mantener su proporcion (anula el height:80px general). */
.block-categories .cat-tree-id-14 .acc_header img {
    height: auto !important;
    width: 160px;
}

/* Submenu de categorias: nombres en Dela Gothic One 16px (Heading H5 del Figma). */
.block-categories .cat-tree-name {
    font-family: 'DelaGothicOne', Sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 100%;
}

/* Submenu de categorias: separacion de 75px entre columnas y centradas (como Figma),
   en lugar del space-between que las reparte a todo lo ancho. */
.block-categories .category-sub-menu {
    justify-content: center;
    gap: 75px;
}

/* Submenu de categorias: quitar el subrayado de la seccion activa (current_cate) y del hover. */
.block-categories .acc_box .current_cate .acc_header a,
.block-categories .acc_box .acc_header a:hover {
    text-decoration: none;
}

/* Megamenu: quitar el pixel de separacion entre el header y el panel desplegable. */
#st_mega_menu_wrap div.stmenu_sub.style_wide {
    top: 100% !important;
    margin-top: 0 !important;
    border-top: 0 !important;
}

/* Megamenu: quitar la linea (border inferior) que aparece debajo de las categorias. */
#st_mega_menu_wrap div.stmenu_sub.style_wide .m_column_row {
    border-bottom: 0 !important;
}

/* Menu principal: quitar la linea (border inferior) que aparece bajo los items del menu. */
#st_mega_menu_wrap,
#st_mega_menu_wrap .st_mega_menu,
#st_mega_menu_wrap ul.st_mega_menu {
    border-bottom: 0 !important;
}

/* ====== PÍLDORAS DE NAVEGACIÓN DE CATEGORÍAS EN MÓVIL (módulo cat-tree, tipo Figma) ====== */
@media (max-width: 767px) {
    ul.category-sub-menu {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px 9px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        list-style: none !important;
    }

    ul.category-sub-menu > li.cat-tree-item {
        display: inline-flex !important;
        width: auto !important;
        max-width: max-content !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        border: none !important;
        list-style: none !important;
    }
    ul.category-sub-menu > li.cat-tree-item .acc_header a {
        width: max-content !important;
    }

    ul.category-sub-menu > li.cat-tree-item .acc_header {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    ul.category-sub-menu > li.cat-tree-item .acc_header a {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        width: auto !important;
        padding: 5px 14px !important;
        border: 1px solid #232426 !important;
        border-radius: 34px !important;
        background-color: #fff !important;
        color: #232426 !important;
        font-family: 'DelaGothicOne', Sans-serif !important;
        font-weight: 400 !important;
        font-size: 13px !important;
        line-height: normal !important;
        white-space: nowrap !important;
        text-transform: uppercase !important;
    }

    ul.category-sub-menu > li.cat-tree-item .acc_header a img {
        width: 17px !important;
        height: auto !important;
        margin: 0 !important;
        filter: none !important;
        opacity: 1 !important;
    }

    /* Categoría activa: fondo oscuro, texto e icono blancos */
    ul.category-sub-menu > li.cat-tree-item.current_cate .acc_header a {
        background-color: #232426 !important;
        color: #fff !important;
    }

    ul.category-sub-menu > li.cat-tree-item.current_cate .acc_header a img {
        filter: invert(1) !important;
    }

    /* Ultima pildora (logo Kids): solo imagen, igualar altura */
    ul.category-sub-menu > li.cat-tree-item:last-child .acc_header a img {
        width: auto !important;
        height: 20px !important;
    }

    /* Pildora Kids activa: NO invertir (el logo tiene fondo blanco). Fondo blanco + borde negro inner 2px */
    ul.category-sub-menu > li.cat-tree-item:last-child.current_cate .acc_header a {
        background-color: #fff !important;
        color: #232426 !important;
        border: 1px solid #232426 !important;
        box-shadow: inset 0 0 0 2px #232426 !important;
    }
    ul.category-sub-menu > li.cat-tree-item:last-child.current_cate .acc_header a img {
        filter: none !important;
    }
}

/* ====== NOMBRE DE PRODUCTO EN LISTADO DE CATEGORÍA (Dela Gothic One, tipo Figma) ====== */
.product_list .product_list_item .s_title_block,
.product_list .product_list_item .s_title_block a,
#js-product-list .product_list_item .s_title_block,
#js-product-list .product_list_item .s_title_block a {
    font-family: 'DelaGothicOne', Sans-serif !important;
    font-weight: 400 !important;
    font-size: 26px !important;
    line-height: normal !important;
    color: #232426 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

/* ====== QUITAR FONDO DE CÍRCULOS EN FICHA DE PRODUCTO ====== */
@media (min-width: 992px) {
    .product_first_section {
        background-image: none !important;
    }
}
@media (max-width: 991px) {
    .product_left_column {
        background-image: none !important;
    }
}

/* ====== SLIDER FOTO PRODUCTO MÓVIL: quitar gris (height fijo del swiper-container) ====== */
@media (max-width: 991px) {
    .product_right_column .pro_gallery_top_container .pro_gallery_top.swiper-container,
    .product_right_column .pro_gallery_top_container .pro_gallery_top_inner,
    .product_right_column .pro_gallery_top_container .pro_gallery_top.swiper-container .swiper-wrapper,
    .product_right_column .pro_gallery_top_container .pro_gallery_top.swiper-container .swiper-slide {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }
}

/* ====== Ocultar foto Z (láser) en el SLIDER PRINCIPAL en móvil (solo productos con láser) ====== */
@media (max-width: 991px) {
    .product_page_container:has(#cdcustomproduct-extracontentid) .pro_gallery_top .swiper-slide:last-child {
        display: none !important;
    }
}

/* ====== HEADER: alinear logo (izquierda) e iconos (derecha) con la caja de contenido de la web (1280px centrado). Solo escritorio. ====== */
@media (min-width: 992px) {
    /* Igualamos el ancho del header a 1280px, manteniendolo centrado. */
    #header_primary #header_primary_container.container {
        max-width: 1280px !important;
        width: 100% !important;
    }
    /* Logo a la izquierda, iconos a la derecha de esa caja */
    #header_primary_row {
        justify-content: space-between !important;
    }
    #header_primary_row #header_right {
        margin-left: auto !important;
    }
}

/* ====== "Tus ajustes de cookies" (CookiesPlus) en Mi Cuenta: igualarlo al resto de items/tarjetas ====== */
/* El modulo inyecta un <a> con clases col-* propias en vez de envolverlo en .list-group-item, lo que lo descoloca.
   Lo igualamos visualmente al resto sin tocar el modulo. */

/* Anular las clases col-* y el flex roto del enlace del modulo */
.my_account_left_column a[onclick*="displayModalAdvanced"],
.myacount_dashbord_list a[onclick*="displayModalAdvanced"] {
    display: block;
    width: auto;
    max-width: none;
    flex: none;
    float: none;
    padding: 0;
    margin: 0;
}

/* Como item del menu lateral (col izquierda) */
.my_account_left_column a[onclick*="displayModalAdvanced"] {
    border: 1px solid #00000040;
    background: #FFF;
    padding: 12px 20px;
    color: inherit;
    text-decoration: none;
    font-size: 16px;
    line-height: 150%;
}

/* Como tarjeta dentro del grid del dashboard */
.myacount_dashbord_list a[onclick*="displayModalAdvanced"] {
    border: 1px solid #00000040;
    background: #FFF;
    border-radius: 12px;
    padding: 38px 24px;
    font-size: 16px;
    line-height: 150%;
    font-weight: 700;
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Ocultar el "info" parasito que el modulo pinta en algunos temas */
.my_account_left_column a[onclick*="displayModalAdvanced"] i,
.my_account_left_column a[onclick*="displayModalAdvanced"] em,
.myacount_dashbord_list a[onclick*="displayModalAdvanced"] i,
.myacount_dashbord_list a[onclick*="displayModalAdvanced"] em {
    display: none !important;
}

/* ====== Resultados de busqueda: permitir titulo en varias lineas + fuente mas pequena ====== */
#search .product_list_item .s_title_block,
#search .product_list_item .s_title_block a {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
    font-size: 14px !important;
    line-height: 1.3 !important;
    padding: 8px 12px !important;
    -webkit-line-clamp: unset !important;
    display: block !important;
}

/* ====== Rediseno del buscador del header (input + dropdown autocomplete) ====== */

/* ---- INPUT EXPANDIDO ---- */
.search_widget .search_widget_form_inner {
    height: 46px !important;
    border-radius: 999px !important;
    border: 1.5px solid #232426 !important;
    background: #FFFFFF !important;
    padding: 0 !important;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(35,36,38,0.06);
}
.search_widget .search_widget_text {
    height: 46px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 0 56px 0 22px !important;
    font-family: 'Greycliff CF', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #232426 !important;
    box-shadow: none !important;
}
.search_widget .search_widget_text::placeholder {
    color: #b5b5b5 !important;
    font-weight: 400 !important;
}
.search_widget .search_widget_btn {
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.search_widget .search_widget_btn i {
    font-size: 18px !important;
    color: #232426 !important;
}

/* ---- DROPDOWN AUTOCOMPLETE ---- */
.autocomplete-suggestions {
    background: #FFFFFF !important;
    border: 0 !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 40px rgba(35,36,38,0.10) !important;
    padding: 10px !important;
    margin-top: 10px !important;
    max-height: 480px !important;
    overflow-y: auto !important;
}

.autocomplete-suggestion {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    margin-bottom: 4px;
}
.autocomplete-suggestion:last-child {
    margin-bottom: 0;
}
.autocomplete-suggestion .search_product_row {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
    text-decoration: none !important;
    transition: background 0.12s ease;
}
.autocomplete-suggestion:hover .search_product_row,
.autocomplete-suggestion.autocomplete-selected .search_product_row {
    background: #F5F5F7 !important;
}

.autocomplete-suggestion .search_product_row picture {
    width: 56px !important;
    height: 56px !important;
    flex-shrink: 0 !important;
    border-radius: 14px !important;
    background: #F5F5F7 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
}
.autocomplete-suggestion .search_product_row img.search_product_img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}

.autocomplete-suggestion .search_product_name {
    flex: 1 !important;
    min-width: 0 !important;
    font-family: 'Greycliff CF', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    color: #141414 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.2px;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

.autocomplete-suggestion .search_product_price {
    font-family: 'Dela Gothic One', system-ui, sans-serif !important;
    font-size: 13px !important;
    color: #141414 !important;
    flex-shrink: 0 !important;
    white-space: nowrap;
}

.autocomplete-suggestion.autocomplete-selected,
.autocomplete-suggestion:hover {
    background: transparent !important;
}

.autocomplete-suggestions .search_more_products {
    display: flex !important;
    justify-content: center !important;
    margin-top: 10px !important;
    padding-top: 12px !important;
    border-top: 1px solid #F5F5F7 !important;
}
.autocomplete-suggestions .search_more_products a {
    background: #232426 !important;
    color: #FFFFFF !important;
    padding: 9px 22px !important;
    border-radius: 999px !important;
    font-family: 'Greycliff CF', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
    text-decoration: none !important;
    transition: background 0.15s ease;
    cursor: pointer;
}
.autocomplete-suggestions .search_more_products a:hover {
    background: #000000 !important;
}

.autocomplete-no-suggestion {
    padding: 18px 16px !important;
    text-align: center !important;
    color: #b5b5b5 !important;
    font-family: 'Greycliff CF', system-ui, sans-serif !important;
    font-size: 13px !important;
}

.autocomplete-suggestions::-webkit-scrollbar { width: 6px; }
.autocomplete-suggestions::-webkit-scrollbar-track { background: transparent; }
.autocomplete-suggestions::-webkit-scrollbar-thumb { background: #C8C8C8; border-radius: 3px; }
.autocomplete-suggestions::-webkit-scrollbar-thumb:hover { background: #232426; }

@media (max-width: 767px) {
    .autocomplete-suggestions {
        border-radius: 16px !important;
        padding: 8px !important;
    }
    .autocomplete-suggestion .search_product_row {
        gap: 10px !important;
        padding: 8px 10px !important;
    }
    .autocomplete-suggestion .search_product_row picture {
        width: 48px !important;
        height: 48px !important;
        border-radius: 12px !important;
    }
    .autocomplete-suggestion .search_product_name {
        font-size: 12px !important;
    }
    .autocomplete-suggestion .search_product_price {
        font-size: 12px !important;
    }
}

/* ====== Fix dropdown: wrapper transparente, fotos mas grandes, boton ver mas como pill ====== */

/* Wrapper search_results del modulo (rectangulo blanco fantasma) */
.search_widget .search_results,
.search_widget_block .search_results {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Fotos mas grandes con menos padding */
.autocomplete-suggestion .search_product_row picture {
    width: 64px !important;
    height: 64px !important;
    border-radius: 16px !important;
}
.autocomplete-suggestion .search_product_row img.search_product_img {
    padding: 2px !important;
}

/* Boton "Ver mas productos" estilo pill negro (varios selectores posibles) */
.search_more_products,
.search_more_products a,
.autocomplete-suggestions .search_more_products,
.autocomplete-suggestions .search_more_products a,
a.search_more_products {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #232426 !important;
    color: #FFFFFF !important;
    padding: 10px 24px !important;
    border-radius: 999px !important;
    font-family: 'Greycliff CF', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    border: 0 !important;
    cursor: pointer;
    transition: background 0.15s ease;
}
.search_more_products:hover,
.search_more_products a:hover,
a.search_more_products:hover {
    background: #000000 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}
/* Contenedor del boton centrado */
.autocomplete-suggestions > .search_more_products,
.search_results > .search_more_products {
    display: flex !important;
    justify-content: center !important;
    margin-top: 10px !important;
    padding-top: 12px !important;
    border-top: 1px solid #F5F5F7 !important;
    background: transparent !important;
}

/* ====== Fix CRITICO: el search_more_products original (fuera del dropdown) debe permanecer oculto ====== */
/* El JS del modulo lo clona dentro del dropdown. Solo el clon debe verse. */
.search_widget > .search_more_products.display_none,
.search_widget > a.search_more_products {
    display: none !important;
}

/* Solo el clon DENTRO del dropdown (autocomplete-suggestions o search_results) se ve */
.autocomplete-suggestions .search_more_products,
.search_results .search_more_products,
.search_results > .search_more_products,
.autocomplete-suggestions > .search_more_products {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #232426 !important;
    color: #FFFFFF !important;
    padding: 10px 24px !important;
    border-radius: 999px !important;
    font-family: 'Greycliff CF', system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    border: 0 !important;
    cursor: pointer;
    transition: background 0.15s ease;
    margin: 10px auto 4px auto !important;
}
/* Si el clon esta dentro del autocomplete-suggestions con su padre tambien div */
.autocomplete-suggestions > a.search_more_products {
    align-self: center !important;
}

/* Foto producto: forzar mas grande */
.autocomplete-suggestion .search_product_row picture {
    width: 64px !important;
    height: 64px !important;
}

/* Scroll que no sobresalga: padding-right en el contenedor */
.autocomplete-suggestions {
    padding: 10px 6px 10px 10px !important;
}

/* ====== Fotos del dropdown mas grandes ====== */
.autocomplete-suggestion .search_product_row picture {
    width: 76px !important;
    height: 76px !important;
    border-radius: 18px !important;
}
.autocomplete-suggestion .search_product_row img.search_product_img {
    padding: 4px !important;
}

/* ====== Pagina de resultados: nombre mas pegado al producto ====== */
#search .product_list_item .pro_outer_box .pro_first_box {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
#search .product_list_item .pro_outer_box .pro_second_box {
    padding-top: 8px !important;
    margin-top: 0 !important;
}
#search .product_list_item .mini_name {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
#search .product_list_item .s_title_block {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
}

/* ====== FORZAR tamano de fotos del dropdown (selector muy especifico) ====== */
.search_widget .autocomplete-suggestions .autocomplete-suggestion .search_product_row picture,
.search_widget_block .autocomplete-suggestions .autocomplete-suggestion .search_product_row picture {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    max-width: 76px !important;
    max-height: 76px !important;
    border-radius: 18px !important;
    background: #F5F5F7 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

.search_widget .autocomplete-suggestions .autocomplete-suggestion .search_product_row img.search_product_img,
.search_widget_block .autocomplete-suggestions .autocomplete-suggestion .search_product_row img.search_product_img,
.autocomplete-suggestions img.search_product_img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* ====== Centrar boton "Mas productos" dentro del dropdown ====== */
.autocomplete-suggestions {
    text-align: center;
}
.autocomplete-suggestions .autocomplete-suggestion {
    text-align: left;
}
.autocomplete-suggestions a.search_more_products,
.autocomplete-suggestions .search_more_products {
    display: inline-flex !important;
    margin: 12px auto 4px auto !important;
}

/* ====== QUOKKA: swatches de color ====== */
/* Borde sutil en los colores claros para distinguirlos del fondo claro (clase anadida por JS por luminosidad) */
.product-variants-color .input-color + span.qk-light-swatch {
    border-color: #D9D9D9;
}
.product-variants-color .input-color:checked + span.qk-light-swatch,
.product-variants-color .input-color:hover + span.qk-light-swatch {
    border-color: #000000;
}
/* Cursor de seleccion en toda el area del swatch */
.product-variants-color li.input-container {
    cursor: pointer;
}

/* ====== QUOKKA: igualar submenu fijo de categoria al tamano/fuente del dropdown del megamenu ====== */
/* Iconos al alto del dropdown (82px) con ancho libre, para que la botella ocupe igual */
.block-categories .acc_header img {
    width: auto;
    height: 82px;
}
/* Logo Kids (id 14) al mismo ancho que en el dropdown (205px) */
.block-categories .cat-tree-id-14 .acc_header img {
    width: 205px;
    height: auto !important;
}
/* Nombres en Dela Gothic One 16px (igual que el dropdown: DelaGothicOne 16px) */
.block-categories .cat-tree-name {
    font-family: "DelaGothicOne", sans-serif;
    font-size: 16px;
    font-weight: 400;
}
/* Centrar los elementos (el ul venia con space-between que los empujaba a los lados) y juntarlos */
.block-categories .category-sub-menu {
    justify-content: center !important;
    gap: 48px;
}
/* Que cada item se encoja a su contenido y no se estire */
.block-categories .category-sub-menu > li.cat-tree-item {
    flex: 0 0 auto;
}

/* ====== QUOKKA: grises iguales en icono y letra (apagado) en el submenu de categoria, como el dropdown ====== */
/* Iconos PNG desaturados al mismo gris que la letra (#b5b5b5 ~ opacity 0.29 sobre blanco) */
.block-categories .category-sub-menu > li.cat-tree-item:not(.current_cate) .acc_header img {
    filter: grayscale(100%);
    opacity: 0.29;
    transition: filter 180ms ease, opacity 180ms ease;
}
/* Texto al mismo gris que el icono */
.block-categories .category-sub-menu > li.cat-tree-item:not(.current_cate) .cat-tree-name {
    color: #b5b5b5 !important;
}
/* Activo / hover: color e icono a plena intensidad */
.block-categories .category-sub-menu > li.cat-tree-item.current_cate .acc_header img,
.block-categories .category-sub-menu > li.cat-tree-item:hover .acc_header img {
    filter: none;
    opacity: 1;
}
.block-categories .category-sub-menu > li.cat-tree-item.current_cate .cat-tree-name,
.block-categories .category-sub-menu > li.cat-tree-item:hover .cat-tree-name {
    color: #141414 !important;
}

/* ====== QUOKKA: imagenes del listado a tamano uniforme + contain (para usar la imagen grande sin descuadrar) ====== */
.product_img_link img.front-image,
.product_img_link img.back-image {
    width: 100%;
    height: 300px;
    object-fit: contain;
}
