/*
Theme Name: Emall Child
Theme URI: https://demo.theme-sky.com/emall/
Author: Theme Sky Team
Author URI: http://theme-sky.com/
Description: A Premium and Responsive WordPress theme, designed for E-Commerce websites
Template: emall
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, left-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: emall-child
*/

/* =========================================================menu-label
   1. Custom Fonts
   ========================================================= */

@font-face {
    font-family: 'UrbanistFlock';
    src: url('/wp-content/themes/emall-child/assets/fonts/UrbanistFlock-Medium.woff2') format('woff2'),
        url('/wp-content/themes/emall-child/assets/fonts/UrbanistFlock-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'UrbanistFlock';
    src: url('/wp-content/themes/emall-child/assets/fonts/UrbanistFlock-Bold.woff2') format('woff2'),
        url('/wp-content/themes/emall-child/assets/fonts/UrbanistFlock-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* =========================================================
   2. Global Layout & Basic Elements
   ========================================================= */

/* Center logo in header */
.logo {
    display: flex;
    align-items: center;
}

/* Tag cloud widget title */
.elementor-widget-wp-widget-tag_cloud h5 {
    font-size: 26px !important;
}

/* Tracking section (desktop hidden, mobile visible) */
.fl-tracking {
    display: none;
}

/* First column in WooCommerce tables – remove padding for bulk/wholesale tables */
.woocommerce table.shop_table th:first-child {
    padding: 0 !important;
}

/* =========================================================
   3. Product Highlight Cards
   ========================================================= */

.fl-highlight {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.fl-highlight__image {
    background-color: #f0f0f0;
    width: 80px;
    height: 80px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.fl-highlight__image img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}

.fl-highlight__description {
    margin-left: 15px;
}

.fl-highlight__description h6 {
    font-size: 18px;
    margin: 0 0 5px;
}

/* =========================================================
   4. WhatsApp Buttons
   ========================================================= */

/* Inline “Buy on WhatsApp” button (e.g. on product page) */
.flock-whatsapp-btn {
    background-color: #128C7E !important;
    border-color: transparent !important;
    color: white !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 10px 0 !important;
    width: 100%;
}

.flock-whatsapp-btn:hover {
    background-color: #0e6b60 !important;
    border-color: transparent !important;
    color: white !important;
}

.flock-whatsapp-btn svg {
    width: 20px;
    fill: white;
    margin-right: 10px;
}

/* Floating WhatsApp CTA button (bottom-right circle) */
.whatsapp-button {
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: 64px;
    height: 64px;
    background-color: #000;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    z-index: 9999;
    transition: all 0.3s ease;
}

.whatsapp-button:hover {
    background-color: #0e6b60;
    color: #fff;
    text-decoration: none;
}

/* =========================================================
   5. WooCommerce Product Summary & Variations
   ========================================================= */

/* Remove default table borders/padding around variation selectors */
.summary table {
    border-width: 0 !important;
}

.summary td {
    padding: 0 !important;
}

.summary .variations .iconic-wlv-terms__term {
    padding: 0 !important;
}

/* Iconic variation labels/value containers */
.variations .iconic-wlv-variations__label {
    border: none !important;
    margin-bottom: 15px !important;
}

.variations .iconic-wlv-variations__value {
    border: none !important;
    padding: 0 !important;
}

/* Individual variation term styles */
.iconic-wlv-terms__term {
    margin: 0 !important;
    margin-right: 20px !important;
}

/* Active variation term */
.iconic-wlv-terms__term--current .iconic-wlv-terms__term-content {
    border: 1px solid var(--ts-btn-hover-bg) !important;
}

/* =========================================================
   6. Header & Account Area
   ========================================================= */

/* Hide account control block in header templates */
.header-template .account-control {
    display: none;
}

/* =========================================================
   7. Payment Gateways & Checkout Styling
   ========================================================= */

/* Payment method container */
.wc_payment_method {
    background-color: white;
    margin-bottom: 15px !important;
    padding: 15px 20px !important;
}

/* Payment method logos */
.wc-payment-gateway-icon {
    width: 40px;
}

/* Standard payment description box spacing */
.payment_box {
    margin-top: 10px !important;
}

/* Hide text labels for specific gateways – show only logos */
.payment_method_addi label,
.payment_method_wcsistecredito label {
    font-size: 0;
}

.payment_method_addi label img,
.payment_method_wcsistecredito label img {
    font-size: initial;
    vertical-align: middle;
}

/* Radio button custom styling on checkout */
.woocommerce-checkout input[type="radio"].input-radio {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #555;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease;
    vertical-align: middle;
    margin-right: 6px;
}

.woocommerce-checkout input[type="radio"].input-radio:hover {
    border-color: rgba(255, 79, 0, 0.7);
}

.woocommerce-checkout input[type="radio"].input-radio:checked {
    border-color: rgba(255, 79, 0, 1);
    background-color: rgba(255, 79, 0, 1);
}

.woocommerce-checkout input[type="radio"].input-radio:checked::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 6px;
    height: 6px;
    background: white;
    border-radius: 50%;
}

/* Payment method logos in add_payment_method/cart/checkout */

/* Main rule (final priority coming from the second CSS) */
#add_payment_method #payment ul.payment_methods li img,
.woocommerce-cart #payment ul.payment_methods li img,
.woocommerce-checkout #payment ul.payment_methods li img {
    max-width: 300px !important;
}

/* Fallback for add_payment_method when #payment wrapper is absent */
#add_payment_method ul.payment_methods li img {
    max-width: 80% !important;
}

/* =========================================================
   8. YITH “Frequently Bought Together”
   ========================================================= */

/* Hide checkboxes – rely on whole item click */
.yith-wfbt-section .yith-wfbt-item input[type="checkbox"] {
    display: none;
}

/* Section title sizing */
.yith-wfbt-section h2 {
    font-size: 30px;
    margin-bottom: 2px;
}

/* =========================================================
   9. Wholesale & Bulk Pricing Blocks
   ========================================================= */

.price-wholesale {
    font-weight: 300;
    font-size: 15px;
    font-family: 'Manrope', sans-serif;
    background: black;
    color: white;
    padding: 5px 20px;
    margin-top: 10px;
}

.price-wholesale .amount {
    font-weight: 700;
}

.price-wholesale i {
    margin-right: 15px;
}

/* Stack regular price and wholesale price vertically */
.price-stack--both {
    display: flex;
    flex-direction: column;
}

/* =========================================================
   10. Role Slider (Swiper-based)
   ========================================================= */

.emc-role-slider {
    width: 100%;
}

.emc-role-slider .swiper-wrapper {
    align-items: stretch;
}

.emc-role-slider .swiper-slide {
    display: flex;
    justify-content: center;
}

.emc-role-slide-card {
    width: 100%;
    background: rgba(244, 244, 244, 1);
    padding: 24px;
    box-sizing: border-box;
}

/* Max-width container for slide card on larger screens */
.emc-role-slider .emc-role-slide-card {
    max-width: 900px;
    margin: 0 auto;
}

/* Pagination styling */
.emc-role-slider .swiper-pagination {
    position: relative;
    margin-top: 16px;
    text-align: center;
}

.emc-role-slider .swiper-pagination-bullet {
    opacity: 0.4;
}

.emc-role-slider .swiper-pagination-bullet-active {
    opacity: 1;
}

/* =========================================================
   11. Split Offer Badge & Popup
   ========================================================= */

.fl-split-offer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.fl-split-offer__badge {

    font-size: 15px;
    font-family: 'Manrope', sans-serif;
    font-weight: 500;

    border: none;
    color: #fff;
    padding: 5px 20px;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    cursor: default;
}

.fl-split-offer__badge span {
    display: inline-block;
}

/* “More info” / icon button next to badge */
.fl-split-offer__info {
    background: transparent;
    border: none;
    font-size: 16px;
    cursor: pointer;
}

/* Popup base styles – hidden by default */
.ts-popup {
    display: none;
}

.ts-popup.mfp-hide {
    display: none;
}

/* Popup content area */
.ts-popup .ts-popup-content {
    padding: 16px;
    max-width: 420px;
    font-size: 14px;
}

/* “?” trigger button beside the badge (when using Magnific Popup, etc.) */
.fl-split-offer-popup-trigger {
    border: none;
    font-size: 16px;
    margin-left: 0;
    cursor: pointer;
    background: #f0f0f0;
    border-radius: 100px;
    width: 32px;
    height: 32px;
    text-align: center;
    color: black;
    line-height: 2;
}

@media (max-width: 768px) {
    .product-wrapper .product-label.has-split-offer-label+.product-group-button {
        top: auto !important;
        bottom: 20px !important;
    }
}

.woocommerce del,
.woocommerce span.price del,
.widget_shopping_cart_content del,
.fl-split-price-wrapper del {
    font-weight: 700 !important;
    opacity: 0.6;
    margin-right: 8px;
    text-decoration: line-through;
}

.fl-split-price-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.2;
}

.fl-split-new-price,
.fl-split-checkout-price {
    font-weight: 700;
    display: inline-flex;
    align-items: center;
}

.fl-split-new-price i,
.fl-split-checkout-price i {
    margin: 0 5px;
    border: 2px solid currentColor;
    border-radius: 3px;
    font-size: 10px;
    padding: 2px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce-checkout .product-total .fl-split-checkout-price {
    justify-content: flex-end;
    width: 100%;
}

.widget_shopping_cart_content .total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.widget_shopping_cart_content .total .fl-split-mini-total {
    font-weight: 700;
    margin-left: 5px;
}

@media (max-width: 768px) {
    .fl-split-price-wrapper {
        justify-content: flex-start;
    }
}

/* =========================================================
   12. Responsive Adjustments
   ========================================================= */

/* Cart buy-now button full width on mobile */
@media screen and (max-width: 768px) {
    .cart .ts-buy-now-button {
        width: 100% !important;
        margin: 10px 0 0 0 !important;
    }
}

/* Show tracking block only on mobile */
@media (max-width: 768px) {
    .fl-tracking {
        display: block;
    }
}

/* =========================================================
   13. Category Banners
   ========================================================= */

/* Estilos base para el banner */
.flock-category-banner {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background: transparent;

    /* Por defecto en escritorio ocupa 1 celda (auto) */
    grid-column: auto;
}

/* Asegurar que el contenido interno de Elementor llene el espacio */
.flock-category-banner .elementor,
.flock-category-banner .elementor-section {
    width: 100%;
    height: 100%;
}

/*
   MOBILE BREAKPOINT
   Asegúrate de que este media query coincida con el punto donde tu tema
   cambia la grilla de productos a 2 columnas (normalmente 767px o 768px).
*/
@media only screen and (max-width: 767px) {

    /* Forzar al banner a ocupar todas las columnas disponibles (desde la 1 hasta el final) */
    .woocommerce .products .flock-category-banner,
    .flock-category-banner {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px;
        /* Espacio visual debajo del banner */
    }

    /* Correcciones opcionales si Elementor agrega márgenes extraños */
    .flock-category-banner .elementor-section-wrap {
        margin-bottom: 0;
    }
}

/* Deposit button inherits primary button look */
.woocommerce .fl-deposit-wrapper .ts-buy-now-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .7em 1.2em;
}

/* =========================================================
   14. Partial Deposit Widget + Gift Pack + Bought Together
   (migrated from Customizer Additional CSS)
   ========================================================= */

/* YITH / Partial Deposit widget container */
.flpd-widget {
    width: 100%;
}

/* Two-column grid (50/50) */
.flpd-widget .flpd-choice-grid {
    display: flex;
    gap: 8px;
    margin: 12px 0;
}

/* Card (button-like control) */
.flpd-widget .flpd-card {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border: 1px solid #e5e7eb;
    background: #f7f7f7;
    color: #111;
    cursor: pointer;
    user-select: none;
    border-radius: 0;
    box-shadow: none;
    text-transform: none;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background 0.15s ease,
        color 0.15s ease;
}

.flpd-widget .flpd-card.is-selected {
    background: #111;
    color: #fff;
    border-color: #111;
}

.flpd-widget .flpd-card:not(.is-selected):hover,
.flpd-widget .flpd-card:not(.is-selected):focus {
    background: #efefef;
    border-color: #222;
    color: #111;
    outline: none;
}

.flpd-widget .flpd-card:focus-visible {
    outline: 2px solid #111;
    outline-offset: 2px;
}

.flpd-widget .flpd-card[aria-disabled="true"],
.flpd-widget .flpd-card:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.flpd-widget .flpd-card__content {
    display: grid;
    gap: 4px;
    text-align: center;
    line-height: 1.2;
}

.flpd-widget .flpd-card__title,
.flpd-widget .flpd-card__price {
    color: inherit;
}

.flpd-widget .flpd-card__title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.flpd-widget .flpd-card__price {
    font-weight: 600;
    font-size: 14px;
}

.flpd-widget .flpd-note {
    display: block;
    margin: 8px 0;
    color: #666;
    font-size: 12px;
}

/* Partial deposit block */
.fl-deposit {
    width: 100%;
    margin-bottom: 10px;
}

.fl-deposit-main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

#fl_deposit_value {
    margin: 0;
}

.fl-deposit-main .fl-deposit-button {
    margin-top: 0 !important;
}

.fl-deposit-main input {
    margin-bottom: 0 !important;
}

.fl-deposit-title {
    font-family: var(--ts-btn-font-family);
    font-weight: var(--ts-btn-font-weight);
    text-transform: uppercase;
    color: #000;
    margin-bottom: 5px;
}

.menu-desc-lv0 {
    display: none;
}

/* Remove bullets/markers in Elementor icon lists */
ul.elementor-icon-list-items,
ul.elementor-icon-list-items>li {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

ul.elementor-icon-list-items>li::marker {
    content: "" !important;
}

.ts-store-notice,
.product-label .onsale {
    background-color: #009f8a !important;
}

.gpfw_gift_pack_fields,
.gift-pack_for-woocommerce-parent {
    width: 100%;
}

.gpfw_giftwrap_base_gift_title,
.gpfw_gift_pack_price {
    display: none !important;
}

#gift_pack_option_field {
    margin-bottom: 0 !important;
}

.gpfw-gift-pack-note {
    margin-bottom: 10px;
    height: 80px;
    border: 2px solid #009f8a;
}

/* Keep native checkbox accessible while visually hidden */
.gpfw_check_box>input.input-checkbox[name="gift_pack_option"] {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    padding: 0;
    border: none;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

/* Label becomes toggle UI */
.gpfw_check_box {
    --w: 44px;
    --h: 24px;
    --p: 2px;
    --knob: calc(var(--h) - 2 * var(--p));
    --on: #00af11;
    --off: #c9c9c9;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding-left: calc(var(--w) + 0.6rem);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.gpfw_check_box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: var(--w);
    height: var(--h);
    transform: translateY(-50%);
    background: var(--off);
    border-radius: 999px;
    transition: background 0.25s;
}

.gpfw_check_box::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: var(--knob);
    height: var(--knob);
    transform: translate(var(--p), -50%);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: transform 0.25s;
}

.gpfw_check_box:has(> input.input-checkbox[name="gift_pack_option"]:checked)::before {
    background: var(--on);
}

.gpfw_check_box:has(> input.input-checkbox[name="gift_pack_option"]:checked)::after {
    transform: translate(calc(var(--w) - var(--knob) - var(--p)), -50%);
}

.gpfw_check_box:has(> input.input-checkbox[name="gift_pack_option"]:focus-visible)::before {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.gpfw_giftwrap_base_gift {
    left: 5px;
}

.gpfw_add_gift_pack_label {
    font-weight: 500;
    font-family: 'UrbanistFlock', sans-serif;
}

/* Bought together */
.woobt-before-text {
    font-weight: 400;
    font-family: 'UrbanistFlock', sans-serif;
    font-size: 20px;
}

.woobt-after-text {
    font-size: 12px;
}

.woocommerce-Price-amount,
del,
ins {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

.woosq-link {
    font-weight: 400;
    font-family: 'UrbanistFlock', sans-serif;
    color: #000;
    font-size: 1rem;
}

.woobt-product .woobt-price del {
    color: #009f8a;
}

.woobt-summary {
    padding: 8px 4px;
}

.woobt_variations_form .label {
    display: none !important;
}

/* Offsets */
.offset-picture {
    position: absolute;
    top: 20px;
    width: 500px;
}

@media (max-width: 640px) {
    .offset-picture {
        top: 25px;
    }
}

input[type="radio"]+label>img {
    border: none !important;
    width: auto !important;
    height: auto !important;
    transition: none !important;
}

/* Sidebar fixer */
.ts-sidebar-content {
    padding: 10px !important;
}

.w-100,
.w-100 a {
    width: 100% !important;
}

.product-type-variable .woobt-wrap {
    display: none !important;
}

@media (max-width: 767px) {

    .woocommerce div.product .summary .woocommerce-variation-add-to-cart,
    .woocommerce div.product .summary form.cart {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .woocommerce div.product .summary .woocommerce-variation-add-to-cart .quantity,
    .woocommerce div.product .summary form.cart .quantity {
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    .woocommerce div.product .summary .woocommerce-variation-add-to-cart .single_add_to_cart_button,
    .woocommerce div.product .summary form.cart .single_add_to_cart_button {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .woocommerce div.product .summary .woocommerce-variation-add-to-cart .ts-buy-now-button,
    .woocommerce div.product .summary form.cart .ts-buy-now-button {
        flex: 0 0 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .woocommerce div.product .summary .woocommerce-variation-add-to-cart> :not(.quantity):not(.single_add_to_cart_button):not(.ts-buy-now-button),
    .woocommerce div.product .summary form.cart> :not(.quantity):not(.single_add_to_cart_button):not(.ts-buy-now-button) {
        flex: 0 0 100% !important;
        width: 100% !important;
    }
}

/* =========================================================
   15. Header + Mega Menu (Merged)
   ========================================================= */

.ts-header {
    --ts-hd-top-bg: #f7f7f7 !important;
    --ts-hd-top-color: #111111 !important;
    --ts-hd-top-hover: #666666 !important;
    --ts-hd-top-border-bottom: transparent !important;
}

.header-middle>.container {
    padding: 15px 0;
}

.normal-logo {
    width: 75px !important;
}

.menu-label {
    text-transform: uppercase;
    font-weight: 400;
}

/* Keep sticky header height identical to non-sticky */
.header-middle.header-sticky.is-sticky>.container,
.menu-background-overlay .header-middle.header-sticky.is-sticky>.container {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

.header-sticky.is-sticky {
    box-shadow: none;
}

@media (min-width: 992px) {
    .menu-background-overlay .header-sticky:not(.is-sticky) .header-middle>.container {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    header .logo-wrapper a {
        line-height: 0 !important;
        vertical-align: middle !important;
    }

    /* Mega menu stability fix */
    .ts-header nav.main-menu>ul.menu>li>ul.sub-menu {
        top: 100% !important;
        margin-top: 0 !important;
        padding-top: 50px !important;
        box-shadow: none !important;
    }

    .ts-header nav.main-menu>ul.menu>li>ul.sub-menu::after {
        top: 0 !important;
        box-shadow: none !important;
    }

    .ts-header nav.main-menu>ul.menu>li.menu-item-has-children::before,
    .ts-header nav.main-menu>ul.menu>li.parent::before,
    .ts-header nav.main-menu>ul.menu>li.ts-megamenu::before {
        content: none !important;
    }

    .ts-header nav>ul.menu li:hover>ul.sub-menu,
    .ts-header nav.main-menu>ul.menu>li:hover>ul.sub-menu,
    .ts-header nav.main-menu>ul.menu>li>ul.sub-menu:hover {
        display: block !important;
        animation: none !important;
        -webkit-animation: none !important;
        -moz-animation: none !important;
        animation-delay: 0ms !important;
        -webkit-animation-delay: 0ms !important;
        -moz-animation-delay: 0ms !important;
        transition: none !important;
    }

    .ts-header nav.main-menu>ul.menu>li>ul.sub-menu:empty,
    .ts-header nav.main-menu>ul.menu>li:hover>ul.sub-menu:empty {
        display: none !important;
    }

    .ts-header nav.main-menu>ul.menu>li>ul.sub-menu:empty::after {
        content: none !important;
    }

    /* Transparent header normal schema while megamenu is open (set by JS class) */
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) {
        background: #ffffff !important;
        border-color: rgba(0, 0, 0, 0.12) !important;
    }

    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) nav>ul.menu>li>a,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) nav>ul.menu>li>.ts-menu-drop-icon,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .search-button.search-icon .icon,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .my-wishlist-wrapper .tini-wishlist,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .shopping-cart-wrapper .cart-control .ic-cart,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .ts-tiny-account-wrapper .account-control>a,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span {
        color: #111111 !important;
    }

    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .search-button.search-icon .icon:before,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .my-wishlist-wrapper .tini-wishlist:before,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .shopping-cart-wrapper .cart-control .ic-cart:before,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .ts-tiny-account-wrapper .account-control>a:before,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before {
        color: #111111 !important;
        border-color: #111111 !important;
    }

    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.normal-logo {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        content: normal !important;
    }

    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.sticky-logo,
    body:is(.header-transparent, .fl-page-transparent-header).menu-background-overlay.fl-megamenu-open .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.mobile-logo {
        display: none !important;
    }
}

@media (max-width: 768px) {

    /* Compact mobile header + bigger logo */
    .header-middle>.container,
    .menu-background-overlay .header-sticky:not(.is-sticky) .header-middle>.container,
    .header-middle.header-sticky.is-sticky>.container,
    .menu-background-overlay .header-middle.header-sticky.is-sticky>.container {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    .ts-header .logo-wrapper img.normal-logo,
    .ts-header .logo-wrapper img.mobile-logo,
    .ts-header .logo-wrapper img.sticky-logo {
        width: 80px !important;
        max-width: none !important;
        height: auto !important;
    }

    .logo-center>.container>.header-left,
    .logo-center>.container>.header-right,
    .ts-header .header-middle .header-left {
        min-height: 0 !important;
    }

    .search-button.search-icon .icon,
    .my-wishlist-wrapper .tini-wishlist,
    .my-account-wrapper .account-control>a,
    .shopping-cart-wrapper .cart-control {
        padding: 0 6px !important;
    }

    /* Sticky mobile header: force light style */
    .header-middle.header-sticky.is-sticky {
        background: #ffffff !important;
        border-color: #e5e5e5 !important;
    }

    .header-middle.header-sticky.is-sticky,
    .header-middle.header-sticky.is-sticky a,
    .header-middle.header-sticky.is-sticky .icon:before,
    .header-middle.header-sticky.is-sticky .ic-cart:before,
    .header-middle.header-sticky.is-sticky .tini-wishlist:before {
        color: #000000 !important;
    }

    /* Non-transparent pages: mobile defaults */
    body:not(.fl-page-transparent-header) .ts-header {
        --ts-hd-top-bg: #ffffff !important;
        --ts-hd-top-color: #000000 !important;
        --ts-hd-top-hover: #000000 !important;
        --ts-hd-top-border-bottom: #e5e5e5 !important;
        --ts-hd-middle-bg: #ffffff !important;
        --ts-hd-middle-color: #000000 !important;
        --ts-hd-middle-hover: #000000 !important;
        --ts-mobile-menu-bg: #ffffff !important;
        --ts-mobile-menu-color: #000000 !important;
        --ts-mobile-menu-hover: #000000 !important;
        --ts-mobile-menu-tab-bg: #f3f3f3 !important;
    }

    body:not(.fl-page-transparent-header) .header-top.hidden-phone.info-center,
    body:not(.fl-page-transparent-header) .header-middle.header-sticky:not(.is-sticky) {
        background: #ffffff !important;
        border-color: #e5e5e5 !important;
    }

    body:not(.fl-page-transparent-header) .header-top.hidden-phone.info-center,
    body:not(.fl-page-transparent-header) .header-top.hidden-phone.info-center a,
    body:not(.fl-page-transparent-header) .header-middle.header-sticky:not(.is-sticky),
    body:not(.fl-page-transparent-header) .header-middle.header-sticky:not(.is-sticky) a,
    body:not(.fl-page-transparent-header) .header-middle.header-sticky:not(.is-sticky) .icon:before,
    body:not(.fl-page-transparent-header) .header-middle.header-sticky:not(.is-sticky) .ic-cart:before,
    body:not(.fl-page-transparent-header) .header-middle.header-sticky:not(.is-sticky) .tini-wishlist:before {
        color: #000000 !important;
    }

    body:not(.fl-page-transparent-header) .mobile-menu-wrapper,
    body:not(.fl-page-transparent-header) .mobile-menu-wrapper .menu-wrapper,
    body:not(.fl-page-transparent-header) #group-icon-header .tab-mobile-menu {
        background: #ffffff !important;
    }

    body:not(.fl-page-transparent-header) .mobile-menu-wrapper a,
    body:not(.fl-page-transparent-header) .mobile-menu-wrapper .ts-menu-drop-icon:after {
        color: #000000 !important;
    }
}

/* ===== Mobile submenu bar: chevron LEFT + title LEFT ===== */
@media (max-width: 991px) {
    :root {
        --fl-sidebar-pad: 20px;
    }

    .ts-sidebar-content {
        padding: 0 20px 30px 20px !important;
    }


    /* Match sidebar and submenu horizontal padding */
    #group-icon-header .sidebar-content {
        padding: 0 !important;
    }

    #group-icon-header .menu-title,
    #group-icon-header .mobile-menu-wrapper,
    #group-icon-header .group-button-header {
        padding-left: var(--fl-sidebar-pad) !important;
        padding-right: var(--fl-sidebar-pad) !important;
    }

    /* Hide My Account wrapper from sidebar */
    #group-icon-header .meta-middle .my-account-wrapper,
    #group-icon-header .meta-middle .ts-tiny-account-wrapper {
        display: none !important;
    }

    .sidebar-content .menu-title {
        opacity: 0;
        transition: none;
    }

    /* Restore submenu panel behavior (avoid overlap bugs) */
    #group-icon-header .mobile-menu-wrapper .ts-menu-drop-icon+ul.sub-menu {
        position: fixed !important;
        top: 50px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 7 !important;
        display: none !important;
        overflow: auto !important;
        margin: 0 !important;
        padding: 12px var(--fl-sidebar-pad) !important;
        border: 0 !important;
        background: #fff !important;
    }

    #group-icon-header .tab-mobile-menu+.menu-title+.mobile-menu-wrapper .ts-menu-drop-icon+ul.sub-menu,
    #group-icon-header .tab-mobile-menu+.menu-title+.mobile-menu-wrapper+.mobile-menu-wrapper .ts-menu-drop-icon+ul.sub-menu {
        top: 100px !important;
    }

    #group-icon-header .mobile-menu-wrapper li.active>.ts-menu-drop-icon+ul.sub-menu {
        display: block !important;
    }

    /* Top parent bar inside submenu (the "BOLSOS" row) */
    #group-icon-header .mobile-menu-wrapper li.active>.ts-menu-drop-icon.active {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        z-index: 8 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 13px var(--fl-sidebar-pad) !important;
        background: #fff !important;
        border-bottom: 1px solid #e9e9e9 !important;
        font-size: 0 !important;
        line-height: 1 !important;
    }

    #group-icon-header .tab-mobile-menu+.menu-title+.mobile-menu-wrapper li.active>.ts-menu-drop-icon.active,
    #group-icon-header .tab-mobile-menu+.menu-title+.mobile-menu-wrapper+.mobile-menu-wrapper li.active>.ts-menu-drop-icon.active {
        top: 50px !important;
    }

    /* Chevron FIRST (left) */
    #group-icon-header .mobile-menu-wrapper li.active>.ts-menu-drop-icon.active::after {
        order: 1 !important;
        margin: 0 10px 0 0 !important;
        line-height: 1 !important;
        font-size: 14px !important;
        transform: rotate(180deg) !important;
        display: inline-block !important;
    }

    /* Parent title SECOND (left) */
    #group-icon-header .mobile-menu-wrapper li.active>.ts-menu-drop-icon.active::before {
        content: attr(data-title) !important;
        order: 2 !important;
        margin: 0 !important;
        font-size: 14px !important;
        color: #111 !important;
        text-transform: uppercase !important;
        letter-spacing: .02em !important;
        text-align: left !important;
    }

    /* Submenu text cleanup */
    #group-icon-header .mobile-menu-wrapper .menu-desc {
        display: none !important;
    }

    #group-icon-header .mobile-menu-wrapper nav.mobile-menu ul.sub-menu>li>a {
        text-transform: uppercase !important;
    }

    /* Single logo on transparent + overlay mobile */
    body.header-transparent.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.normal-logo,
    body.header-transparent.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.sticky-logo,
    body.fl-page-transparent-header.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.normal-logo,
    body.fl-page-transparent-header.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.sticky-logo {
        display: none !important;
    }

    body.header-transparent.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.mobile-logo,
    body.fl-page-transparent-header.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.mobile-logo {
        display: inline-block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* RASTREO + burger white on transparent mobile */
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before,
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span,
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .ts-mobile-icon-toggle .icon:before,
    body.header-transparent .header-middle.header-sticky:not(.is-sticky) .icon-menu-sticky-header .icon:before,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .ts-mobile-icon-toggle .icon:before,
    body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .icon-menu-sticky-header .icon:before {
        color: #ffffff !important;
    }
}

/* Mega menu stability fix (test) */
@media (min-width: 992px) {
  /* Keep submenu physically attached to menu item */
  .ts-header nav.main-menu > ul.menu > li > ul.sub-menu {
    top: 100% !important;
    margin-top: 0 !important;
    padding-top: 50px !important; /* visual spacing without creating hover gap */
  }

  /* Remove top strip shadow/background jump */
  .ts-header nav.main-menu > ul.menu > li > ul.sub-menu::after {
    top: 0 !important;
    box-shadow: none !important;
  }

  /* Disable bridge pseudo that can cause boundary glitches */
  .ts-header nav.main-menu > ul.menu > li.menu-item-has-children::before,
  .ts-header nav.main-menu > ul.menu > li.parent::before,
  .ts-header nav.main-menu > ul.menu > li.ts-megamenu::before {
    content: none !important;
  }

  /* No delay/animation flicker */
  .ts-header nav > ul.menu li:hover > ul.sub-menu,
  .ts-header nav.main-menu > ul.menu > li:hover > ul.sub-menu,
  .ts-header nav.main-menu > ul.menu > li > ul.sub-menu:hover {
    display: block !important;
    animation: none !important;
    -webkit-animation: none !important;
    -moz-animation: none !important;
    animation-delay: 0ms !important;
    -webkit-animation-delay: 0ms !important;
    -moz-animation-delay: 0ms !important;
    transition: none !important;
  }
}

/* ===== Mobile submenu bar: chevron LEFT + title LEFT ===== */
@media (max-width: 991px) {

  .ts-sidebar-content {
      padding: 0 20px 30px 20px !important;
  }

  /* Restore submenu panel behavior (avoid overlap bugs) */
  #group-icon-header .mobile-menu-wrapper .ts-menu-drop-icon + ul.sub-menu {
    position: fixed !important;
    top: 50px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 7 !important;
    display: none !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    border: 0 !important;
    background: #fff !important;
  }

  #group-icon-header .tab-mobile-menu + .menu-title + .mobile-menu-wrapper .ts-menu-drop-icon + ul.sub-menu,
  #group-icon-header .tab-mobile-menu + .menu-title + .mobile-menu-wrapper + .mobile-menu-wrapper .ts-menu-drop-icon + ul.sub-menu {
    top: 100px !important;
  }

  #group-icon-header .mobile-menu-wrapper li.active > .ts-menu-drop-icon + ul.sub-menu {
    display: block !important;
  }

  /* Top parent bar inside submenu (the "BOLSOS" row) */
  #group-icon-header .mobile-menu-wrapper li.active > .ts-menu-drop-icon.active {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    z-index: 8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    padding: 13px 20px !important;
    background: #fff !important;
    border-bottom: 1px solid #e9e9e9 !important;
    font-size: 0 !important; /* hide raw inline text/icon artifacts */
    line-height: 1 !important;
  }

  #group-icon-header .tab-mobile-menu + .menu-title + .mobile-menu-wrapper li.active > .ts-menu-drop-icon.active,
  #group-icon-header .tab-mobile-menu + .menu-title + .mobile-menu-wrapper + .mobile-menu-wrapper li.active > .ts-menu-drop-icon.active {
    top: 50px !important;
  }

  /* Chevron FIRST (left) */
  #group-icon-header .mobile-menu-wrapper li.active > .ts-menu-drop-icon.active::after {
    order: 1 !important;
    margin: 0 10px 0 0 !important;
    line-height: 1 !important;
    font-size: 14px !important;
    transform: none !important;
    display: inline-block !important;
  }

  /* Parent title SECOND (left) */
  #group-icon-header .mobile-menu-wrapper li.active > .ts-menu-drop-icon.active::before {
    content: attr(data-title) !important;
    order: 2 !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #111 !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
    text-align: left !important;
  }

  /* Submenu text cleanup */
  #group-icon-header .mobile-menu-wrapper .menu-desc {
    display: none !important;
  }

  #group-icon-header .mobile-menu-wrapper nav.mobile-menu ul.sub-menu > li > a {
    text-transform: uppercase !important;
  }

  #group-icon-header .mobile-menu-wrapper li.active > .ts-menu-drop-icon.active::after {
    transform: rotate(180deg) !important; /* right -> left */
  }
}

@media (max-width: 991px) {
  :root { --fl-sidebar-pad: 20px; }

  #group-icon-header .menu-title,
  #group-icon-header .mobile-menu-wrapper,
  #group-icon-header .group-button-header {
    padding-left: var(--fl-sidebar-pad) !important;
    padding-right: var(--fl-sidebar-pad) !important;
  }

  #group-icon-header .meta-middle .my-account-wrapper,
  #group-icon-header .meta-middle .ts-tiny-account-wrapper {
    display: none !important;
  }

  .sidebar-content .menu-title {
      opacity: 0;
      transition: none;
  }
}

@media (max-width: 991px) {
  /* Single logo on transparent + overlay mobile */
  body.header-transparent.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.normal-logo,
  body.header-transparent.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.sticky-logo,
  body.fl-page-transparent-header.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.normal-logo,
  body.fl-page-transparent-header.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.sticky-logo {
    display: none !important;
  }

  body.header-transparent.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.mobile-logo,
  body.fl-page-transparent-header.menu-background-overlay .header-middle.header-sticky:not(.is-sticky) .logo-wrapper .logo > a > img.mobile-logo {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* RASTREO + burger white on transparent mobile */
  body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
  body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
  body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
  body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before,
  body.header-transparent .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span,
  body.header-transparent .header-middle.header-sticky:not(.is-sticky) .ts-mobile-icon-toggle .icon:before,
  body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
  body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
  body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
  body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before,
  body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span,
  body.fl-page-transparent-header .header-middle.header-sticky:not(.is-sticky) .ts-mobile-icon-toggle .icon:before {
    color: #fff !important;
  }
}

/* Desktop: transparent header should switch to normal schema while megamenu is open */
@media (min-width: 992px) {
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky),
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) {
    background: #fff !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
  }

  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) nav > ul.menu > li > a,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) nav > ul.menu > li > .ts-menu-drop-icon,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .search-button.search-icon .icon,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .my-wishlist-wrapper .tini-wishlist,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .shopping-cart-wrapper .cart-control .ic-cart,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .ts-tiny-account-wrapper .account-control > a,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) nav > ul.menu > li > a,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) nav > ul.menu > li > .ts-menu-drop-icon,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .search-button.search-icon .icon,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .my-wishlist-wrapper .tini-wishlist,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .shopping-cart-wrapper .cart-control .ic-cart,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .ts-tiny-account-wrapper .account-control > a,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking a,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking span {
    color: #111 !important;
  }

  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .search-button.search-icon .icon:before,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .my-wishlist-wrapper .tini-wishlist:before,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .shopping-cart-wrapper .cart-control .ic-cart:before,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .ts-tiny-account-wrapper .account-control > a:before,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .search-button.search-icon .icon:before,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .my-wishlist-wrapper .tini-wishlist:before,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .shopping-cart-wrapper .cart-control .ic-cart:before,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .ts-tiny-account-wrapper .account-control > a:before,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .location.fl-tracking i:before {
    color: #111 !important;
    border-color: #111 !important;
  }

  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.normal-logo,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.normal-logo {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.sticky-logo,
  body.header-transparent.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.mobile-logo,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.sticky-logo,
  body.fl-page-transparent-header.menu-background-overlay:has(.ts-header .header-middle nav.main-menu > ul.menu > li:hover > ul.sub-menu > li) .header-middle.header-sticky:not(.is-sticky) .logo-wrapper img.mobile-logo {
    display: none !important;
  }
}

.asd-wpsorter-custom-order-notice {
    display: none;
}

/* =========================
   OXYGEN CATEGORY HEADER
   ========================= */

.fl-oxygen-breadcrumb-block{
  margin: 40px 0 74px; /* más espacio arriba y abajo */
}

.fl-oxygen-breadcrumb-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: start;
}

.fl-oxygen-breadcrumb-title-wrap{
  padding-top: 0;
}

.fl-oxygen-breadcrumb-title{
  margin: 0;
  line-height: 1.03;
  text-transform: uppercase;
  position: relative;
  top: -8px; /* título un poco más arriba que la descripción */
}

.fl-oxygen-breadcrumb-content{
  font-size: .875rem; /* ~14px */
  line-height: 1.65;
}

/* Más texto visible antes del Show more */
.fl-oxygen-breadcrumb-description{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  margin: 0 0 18px;
}

/* Espaciado entre párrafos SOLO en descripción Oxygen */
.fl-oxygen-breadcrumb-description p{
  margin: 0 0 1.05em;
}
.fl-oxygen-breadcrumb-description p:last-child{
  margin-bottom: 0;
}

.fl-oxygen-breadcrumb-description.is-expanded{
  -webkit-line-clamp: unset;
  overflow: visible;
}

/* Acciones */
.fl-oxygen-breadcrumb-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Botón base Oxygen (links toggle) */
.fl-oxygen-button{
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 1px solid rgba(0,0,0,.14);
  color: inherit;
  min-width: 120px;
  height: 54px;
  padding: 0 20px;
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
}

.fl-oxygen-button:hover{
  border-color: rgba(0,0,0,.35);
}

/* Show more / Show less estilo Sandqvist (link subrayado) */
.fl-oxygen-show-more-wrap .fl-oxygen-show-more-btn{
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  min-width: 0;
  height: auto;
  font: inherit;
  font-size: inherit;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  cursor: pointer;
}

/* Links Oxygen estilo botón */
.fl-oxygen-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.fl-oxygen-links .fl-oxygen-link-item{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid rgba(0,0,0,.14);
  line-height: 1.3;
  text-decoration: none;
}

.fl-oxygen-links .fl-oxygen-link-item:hover{
  border-color: rgba(0,0,0,.35);
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 991px){
  .fl-oxygen-breadcrumb-block{
    margin: 28px 0 46px; /* más espacio en mobile */
  }

  .fl-oxygen-breadcrumb-grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .fl-oxygen-breadcrumb-title{
    top: -4px;
  }

  .fl-oxygen-button{
    min-width: 104px;
    height: 48px;
    padding: 0 16px;
  }
}

/* Hide the toggle button ("CATEGORIES") */
.fl-oxygen-links-toggle-wrap,
.fl-oxygen-toggle-links-btn {
  display: none !important;
}

/* Always show category links */
.fl-oxygen-links,
.fl-oxygen-links[hidden] {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
}

/* Category buttons: dark gray + uppercase */
.fl-oxygen-links .fl-oxygen-link-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid #3a3a3a !important;
  color: #262626 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em;
  text-decoration: none !important;
}

/* Hover/active state */
.fl-oxygen-links .fl-oxygen-link-item:hover,
.fl-oxygen-links .fl-oxygen-link-item:focus,
.fl-oxygen-links .fl-oxygen-link-item.current,
.fl-oxygen-links .fl-oxygen-link-item.active {
  background: #262626 !important;
  border-color: #262626 !important;
  color: #fff !important;
}

/* =========================
   TOP BAR COLOR + MOBILE VISIBILITY
   ========================= */
:root {
  --fl-top-bar-bg: #111111;
  --fl-top-bar-text: #ffffff;
}

/* Top bar color + white text */
.ts-header .header-top.hidden-phone.info-center {
  background: var(--fl-top-bar-bg) !important;
  border-color: var(--fl-top-bar-bg) !important;
}

.ts-header .header-top.hidden-phone.info-center,
.ts-header .header-top.hidden-phone.info-center a,
.ts-header .header-top.hidden-phone.info-center span,
.ts-header .header-top.hidden-phone.info-center i,
.ts-header .header-top.hidden-phone.info-center i:before {
  color: var(--fl-top-bar-text) !important;
}

/* Separator lines between top-bar items */
.ts-header .header-top.hidden-phone.info-center .header-right > *:after,
.ts-header .header-top.hidden-phone.info-center .header-left > *:after {
  border-color: rgba(255, 255, 255, 0.28) !important;
}

/* Mobile: show only center text in top bar */
@media (max-width: 991px) {
  .header-top.hidden-phone.info-center {
    display: block !important;
  }

  .header-top.hidden-phone.info-center > .container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .header-top.hidden-phone.info-center .header-left,
  .header-top.hidden-phone.info-center .header-right {
    display: none !important;
  }

  .header-top.hidden-phone.info-center .header-info {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }
}

/* TS Products: responsive show-all fallback */
.flock-ts-products-ext.flock-ts-products-show-all .content-wrapper,
.flock-ts-products-ext.flock-ts-products-show-all .products,
.flock-ts-products-ext.flock-ts-products-show-all .swiper {
  overflow: visible !important;
  height: auto !important;
}

.flock-ts-products-ext.flock-ts-products-show-all .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(var(--flock-show-all-columns, 1), minmax(0, 1fr));
  gap: var(--ts-v-gap, 30px) var(--ts-h-gap, 20px);
  transform: none !important;
  width: 100% !important;
  height: auto !important;
}

.flock-ts-products-ext.flock-ts-products-show-all .swiper-slide {
  width: auto !important;
  margin-right: 0 !important;
  height: auto !important;
  min-width: 0 !important;
}

.flock-ts-products-ext.flock-ts-products-show-all .swiper-slide.swiper-slide-duplicate {
  display: none !important;
}

.flock-ts-products-ext.flock-ts-products-show-all .swiper-button-prev,
.flock-ts-products-ext.flock-ts-products-show-all .swiper-button-next,
.flock-ts-products-ext.flock-ts-products-show-all .swiper-pagination {
  display: none !important;
}

.woocommerce .product figure.flock-manual-image-figure {
  aspect-ratio: var(--flock-manual-aspect, 675 / 842);
}

.woocommerce .product figure.flock-manual-image-figure > img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

.flock-ts-category-ext .item-overlap .product-category .meta-wrapper {
  padding-bottom: var(--flock-category-text-padding-bottom, 26px) !important;
}

.flock-ts-category-ext.flock-hide-category-arrow .item-overlap .product-category .meta-wrapper:before {
  display: none !important;
}

.flock-ts-category-ext.flock-hide-category-arrow .item-overlap .product-category .meta-wrapper {
  width: calc(100% - 40px) !important;
  left: 20px !important;
  transform: none !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding-left: var(--flock-category-text-padding-left, 20px) !important;
  padding-right: 20px !important;
}

.flock-ts-category-ext.flock-hide-category-arrow .item-overlap .product-category .meta-wrapper .count {
  display: none !important;
}

.flock-ts-category-ext.flock-hide-category-arrow .item-overlap .product-category .meta-wrapper .category-name {
  width: 100% !important;
  flex: 0 0 100%;
}

@media only screen and (max-width: 767px) {
  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper.ts-slider .products.swiper {
    overflow: hidden !important;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper.ts-slider .products.swiper .swiper-wrapper {
    align-items: stretch !important;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper.ts-slider .products.swiper .product.swiper-slide {
    height: auto !important;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper.ts-slider .products.swiper .product.swiper-slide .product-wrapper,
  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper.ts-slider .products.swiper .product.swiper-slide .product-wrapper > a:first-child {
    width: 100% !important;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper:not(.ts-slider) .products {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 0 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 8px;
    padding-left: 20px;
    padding-right: 20px;
    scroll-padding-left: 20px;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper:not(.ts-slider) .products > .product-category {
    flex: 0 0 clamp(250px, calc(100% - 88px), 320px);
    width: clamp(250px, calc(100% - 88px), 320px) !important;
    max-width: none;
    scroll-snap-align: start;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper:not(.ts-slider) .products > .product-category .product-wrapper,
  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper:not(.ts-slider) .products > .product-category .product-wrapper > a:first-child {
    width: 100% !important;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper:not(.ts-slider) .products::-webkit-scrollbar {
    height: 6px;
  }

  .flock-ts-category-ext.flock-mobile-scroll .ts-product-category-wrapper:not(.ts-slider) .products::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 999px;
  }
}

@media (max-width: 992px) {
  .woocommerce .product figure.flock-manual-image-figure > img.product-image-back {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .woocommerce .product figure.flock-manual-image-figure > img:not(.product-image-back) {
    opacity: 1 !important;
    visibility: visible !important;
  }
}
