    /* =============================================
       FST - OCULTAR ENLACES ROTOS
       ============================================= */
    a.added_to_cart.wc-forward[href="undefined"],
    a.added_to_cart.wc-forward:empty {
        display: none !important;
    }

    .fst-cart-feedback,
    .single-product form.cart > a.added_to_cart.wc-forward {
        display: none !important;
    }

    /* =============================================
       FST - FORM CARRITO
       ============================================= */
    .single-product form.cart {
        position: relative;
        display: block !important;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }

    .single-product form.cart::after {
        content: "";
        display: block;
        clear: both;
    }

    .single-product form.cart.fst-form-recovering {
        opacity: .62;
        pointer-events: none;
    }

    .single-product form.cart.fst-form-recovering::before {
        content: "Cargando opciones correctas del producto...";
        display: block;
        width: 100%;
        margin: 0 0 12px;
        padding: 10px 12px;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        background: #f8fafc;
        color: #475569;
        font-size: 13px;
        font-weight: 700;
    }

    .single-product div.product form.cart table.variations {
        width: 100%;
        margin: 0 0 14px !important;
        border-collapse: separate;
        border-spacing: 0;
        background: #fff;
        border: 1px solid #f1f1f1;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(15,23,42,.06);
        overflow: hidden;
    }

    .single-product div.product form.cart table.variations th,
    .single-product div.product form.cart table.variations td {
        padding: 10px 12px !important;
        vertical-align: middle;
        border: 0;
    }

    .single-product div.product form.cart table.variations label {
        margin: 0;
        color: #334155;
        font-size: 13px;
        font-weight: 700;
    }

    .single-product div.product form.cart table.variations select {
        min-height: 48px;
        border: 1px solid #d8dce2;
        border-radius: 0;
        color: #334155;
        background-color: #fff;
        box-shadow: none;
    }

    .single-product div.product form.cart table.variations .reset_variations {
        display: inline-block;
        margin-top: 8px;
        color: #64748b;
        font-size: 12px;
        text-decoration: none;
    }

    .single-product div.product form.cart .quantity {
        display: inline-block !important;
        float: none !important;
        width: 86px !important;
        max-width: 86px !important;
        margin: 0 10px 0 0 !important;
        vertical-align: middle;
    }

    .single-product div.product form.cart .quantity .qty {
        width: 82px !important;
        height: 54px !important;
        padding: 0 10px !important;
        border: 1px solid #d8dce2;
        border-radius: 8px;
        color: #334155;
        font-size: 16px;
        text-align: center;
        box-shadow: 0 6px 18px rgba(15,23,42,.05);
    }

    .single-product div.product form.cart .single_add_to_cart_button,
    .single-product div.product form.cart button[name="add-to-cart"] {
        display: inline-flex !important;
        width: auto !important;
        min-width: 190px !important;
        max-width: 270px !important;
        min-height: 54px;
        height: 54px;
        margin: 0 !important;
        border-radius: 8px !important;
        padding: 0 18px !important;
        font-size: 14px;
        font-weight: 800;
        white-space: normal;
        vertical-align: middle;
    }

    /* =============================================
       FST - SUCURSALES WCMLIM EN PRODUCTO
       ============================================= */
    .single-product .fst-branch-selector,
    .single-product form.cart .Wcmlim_container.wcmlim_product,
    .single-product form.cart .wcmlim_product,
    .single-product form.cart [class*="wcmlim_product"] {
        display: block !important;
        min-width: 0;
        max-width: 100%;
        width: 100%;
        margin: 14px 0 12px !important;
        padding: 0;
        clear: both;
    }

    .single-product .fst-branch-selector {
        position: relative;
    }

    .single-product form.cart .Wcmlim_box_wrapper,
    .single-product form.cart .wcmlim_box_wrapper,
    .single-product form.cart .Wcmlim_box_content,
    .single-product form.cart .wcmlim_box_content {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .single-product .fst-branch-selector > label,
    .single-product .fst-branch-selector .wcmlim_title,
    .single-product .fst-branch-selector .wcmlim_label,
    .single-product .fst-branch-selector .location-title {
        display: block;
        margin: 0 0 8px;
        color: #0f172a;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.25;
    }

    .single-product .wcmlim_radio_option.location-stock-item,
    .single-product .location-stock-item,
    .single-product .wcmlim_radio_option {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        width: 100%;
        min-height: 50px;
        margin: 0 0 6px !important;
        padding: 10px 14px !important;
        background: #fff;
        border: 1px solid #e4e7ec;
        border-radius: 8px;
        box-shadow: 0 6px 18px rgba(15,23,42,.05);
        color: #1f2937;
        font-size: 14px;
        line-height: 1.25;
        transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    }

    .single-product .wcmlim_radio_option.location-stock-item:hover,
    .single-product .location-stock-item:hover,
    .single-product .wcmlim_radio_option:hover {
        border-color: #cbd5e1;
        box-shadow: 0 8px 22px rgba(15,23,42,.08);
    }

    .single-product .wcmlim_radio_option.location-stock-item.highlighted,
    .single-product .location-stock-item.highlighted,
    .single-product .wcmlim_radio_option.highlighted {
        background: #fff !important;
        border-color: #e4e7ec !important;
        box-shadow: 0 6px 18px rgba(15,23,42,.05) !important;
    }

    .single-product .wcmlim_radio_option.location-stock-item.selected-location,
    .single-product .location-stock-item.selected-location,
    .single-product .wcmlim_radio_option.selected-location,
    .single-product .wcmlim_radio_option.location-stock-item:has(input[type="radio"]:checked),
    .single-product .location-stock-item:has(input[type="radio"]:checked),
    .single-product .wcmlim_radio_option:has(input[type="radio"]:checked) {
        background: #f8fffb !important;
        border-color: #22c55e !important;
        box-shadow: 0 0 0 2px rgba(34,197,94,.14), 0 8px 22px rgba(15,23,42,.06) !important;
    }

    .single-product .wcmlim_radio_option input[type="radio"],
    .single-product .location-stock-item input[type="radio"] {
        flex: 0 0 auto;
        margin: 0 4px 0 0;
    }

    .single-product .wcmlim_radio_option > div,
    .single-product .location-stock-item > div {
        display: flex !important;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-width: 0;
    }

    .single-product .wcmlim_radio_option label,
    .single-product .location-stock-item label {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        color: #111827;
        font-weight: 800;
        line-height: 1.25;
        white-space: normal !important;
        overflow: visible;
        overflow-wrap: normal;
        word-break: normal;
    }

    /* Oculta el stock numerico de sucursales; se conserva solo la eleccion de sucursal. */
    .single-product form.cart .stock-display,
    .single-product .wcmlim_radio_option .stock,
    .single-product .wcmlim_radio_option .stock_status,
    .single-product .wcmlim_radio_option .location-stock,
    .single-product .wcmlim_radio_option [class*="stock"],
    .single-product .location-stock-item .stock,
    .single-product .location-stock-item .stock_status,
    .single-product .location-stock-item .location-stock,
    .single-product .location-stock-item [class*="stock"] {
        display: none !important;
    }

    .fst-branch-loading-note {
        display: none;
        align-items: center;
        gap: 9px;
        width: 100%;
        margin: 0 0 8px;
        padding: 10px 12px;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        background: #f8fafc;
        color: #475569;
        font-size: 13px;
        font-weight: 700;
        box-shadow: 0 6px 18px rgba(15,23,42,.04);
    }

    .fst-branch-loading-note::before {
        content: "";
        width: 16px;
        height: 16px;
        border: 2px solid #dbe4ee;
        border-top-color: #ed516c;
        border-radius: 50%;
        animation: fst-spin-cart .7s linear infinite;
    }

    .single-product .fst-branch-selector.fst-branches-loading .fst-branch-loading-note,
    .single-product form.cart.fst-branches-loading .fst-branch-loading-note {
        display: flex;
    }

    .single-product .fst-branch-selector.fst-branches-loading .wcmlim_radio_option,
    .single-product .fst-branch-selector.fst-branches-loading .location-stock-item {
        opacity: .58;
        pointer-events: none;
    }

    .single-product form.cart .fst-branch-placeholder {
        display: block;
        min-width: 0;
        max-width: 100%;
    }

    @media (max-width: 767px) {
        .single-product form.cart {
            display: block !important;
        }

        .single-product .fst-branch-selector,
        .single-product form.cart .fst-branch-placeholder,
        .single-product div.product form.cart .quantity,
        .single-product div.product form.cart .single_add_to_cart_button,
        .single-product div.product form.cart button[name="add-to-cart"] {
            max-width: none;
            width: 100%;
        }

        .single-product div.product form.cart .quantity {
            display: block !important;
            margin: 0 0 10px !important;
        }

        .single-product div.product form.cart .single_add_to_cart_button,
        .single-product div.product form.cart button[name="add-to-cart"] {
            display: flex !important;
            min-width: 0 !important;
            max-width: none !important;
        }

        .single-product div.product form.cart .quantity .qty {
            width: 100% !important;
        }
    }

    /* =============================================
       FST - PRODUCTOS RELACIONADOS COMPACTOS
       ============================================= */
    section.related.products {
        clear: both;
        margin-top: 34px;
    }

    section.related.products > h2 {
        margin-bottom: 16px !important;
        font-size: 22px !important;
        line-height: 1.25;
    }

    .woocommerce section.related.products ul.products,
    section.related.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(180px, 220px)) !important;
        gap: 18px !important;
        justify-content: start;
        align-items: stretch;
        margin: 0 !important;
    }

    .woocommerce section.related.products ul.products li.product,
    section.related.products ul.products li.product {
        width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 12px !important;
        border-radius: 10px;
    }

    .woocommerce section.related.products ul.products li.product a img,
    section.related.products ul.products li.product a img {
        width: 100% !important;
        height: 150px !important;
        object-fit: contain;
        margin: 0 0 10px !important;
    }

    section.related.products ul.products li.product .woocommerce-loop-product__title {
        min-height: 0 !important;
        font-size: 14px !important;
        line-height: 1.3;
        margin-bottom: 8px !important;
    }

    section.related.products ul.products li.product .price {
        font-size: 15px !important;
        line-height: 1.25;
        margin: 6px 0 10px !important;
    }

    section.related.products ul.products li.product .button {
        width: 100% !important;
        min-height: 40px !important;
        padding: 10px 12px !important;
        font-size: 13px !important;
        white-space: normal;
    }

    @media (max-width: 767px) {
        .woocommerce section.related.products ul.products,
        section.related.products ul.products {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
    }

    @media (max-width: 480px) {
        .woocommerce section.related.products ul.products,
        section.related.products ul.products {
            grid-template-columns: 1fr !important;
        }

        .woocommerce section.related.products ul.products li.product a img,
        section.related.products ul.products li.product a img {
            height: 140px !important;
        }
    }

    /* =============================================
       FST - LOOP PRODUCTOS / CATEGORIAS / RELACIONADOS
       Normaliza tarjetas y elimina iconos heredados del tema.
       ============================================= */
    .woocommerce ul.products,
    .woocommerce-page ul.products {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
        gap: 22px !important;
        align-items: stretch;
        padding: 0 !important;
        margin: 0 !important;
    }

    .woocommerce ul.products::before,
    .woocommerce ul.products::after,
    .woocommerce-page ul.products::before,
    .woocommerce-page ul.products::after {
        display: none !important;
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .woocommerce section.related.products ul.products li.product,
    section.related.products ul.products li.product {
        display: flex !important;
        flex-direction: column;
        width: auto !important;
        min-height: 0 !important;
        height: 100%;
        margin: 0 !important;
        padding: 0 0 16px !important;
        float: none !important;
        overflow: hidden !important;
        text-align: center;
        background: #fff;
        border: 1px solid #e7e9ee;
        border-radius: 10px;
        box-shadow: 0 8px 22px rgba(15,23,42,.06);
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }

    .woocommerce ul.products li.product:hover,
    .woocommerce-page ul.products li.product:hover {
        transform: translateY(-3px);
        border-color: #d9dee7;
        box-shadow: 0 12px 28px rgba(15,23,42,.10);
    }

    .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
    .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
        display: flex !important;
        flex: 1 1 auto;
        flex-direction: column;
        align-items: stretch;
        color: inherit !important;
        text-decoration: none !important;
    }

    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img {
        display: block;
        width: 100% !important;
        height: auto !important;
        max-height: 220px;
        aspect-ratio: 4 / 3;
        object-fit: contain;
        padding: 10px;
        margin: 0 0 16px !important;
        background: #f5f6f8;
        border-radius: 10px 10px 0 0 !important;
        transform: none !important;
    }

    .woocommerce ul.products li.product:hover a img,
    .woocommerce-page ul.products li.product:hover a img {
        transform: none !important;
    }

    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 46px !important;
        padding: 0 16px !important;
        margin: 0 0 10px !important;
        color: var(--color-rojo, #ed3237) !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.3;
        text-align: center;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        display: block !important;
        min-height: 28px;
        padding: 0 16px;
        margin: 0 0 12px !important;
        color: var(--color-rojo, #ed3237) !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        line-height: 1.25;
        text-align: center;
    }

    .woocommerce ul.products li.product .tooltiptext-1,
    .woocommerce ul.products li.product .tooltiptext-2,
    .woocommerce ul.products li.product .tooltiptext-3,
    .woocommerce-page ul.products li.product .tooltiptext-1,
    .woocommerce-page ul.products li.product .tooltiptext-2,
    .woocommerce-page ul.products li.product .tooltiptext-3 {
        display: none !important;
    }

    .woocommerce ul.products li.product .own-shop-quick-view-btn,
    .woocommerce-page ul.products li.product .own-shop-quick-view-btn,
    .woocommerce ul.products li.product .button.yith-wcqv-button,
    .woocommerce-page ul.products li.product .button.yith-wcqv-button,
    .woocommerce ul.products li.product .compare-button,
    .woocommerce-page ul.products li.product .compare-button {
        display: none !important;
    }

    .woocommerce ul.products li.product .wcmlim-stock-container,
    .woocommerce-page ul.products li.product .wcmlim-stock-container {
        display: none !important;
        width: calc(100% - 32px);
        min-height: 0;
        margin: 0 auto 12px !important;
        padding: 0 !important;
        color: #334155;
        font-size: 12px;
        line-height: 1.25;
        text-align: left;
    }

    .woocommerce ul.products li.product.fst-has-loop-locations .wcmlim-stock-container,
    .woocommerce-page ul.products li.product.fst-has-loop-locations .wcmlim-stock-container,
    .woocommerce ul.products li.product .wcmlim-stock-container.fst-has-loop-locations,
    .woocommerce-page ul.products li.product .wcmlim-stock-container.fst-has-loop-locations {
        display: block !important;
    }

    .woocommerce ul.products li.product .wcmlim-stock-container:empty,
    .woocommerce-page ul.products li.product .wcmlim-stock-container:empty {
        display: none !important;
    }

    .woocommerce ul.products li.product.fst-has-loop-locations .wcmlim-stock-container::before,
    .woocommerce-page ul.products li.product.fst-has-loop-locations .wcmlim-stock-container::before,
    .woocommerce ul.products li.product .wcmlim-stock-container.fst-has-loop-locations::before,
    .woocommerce-page ul.products li.product .wcmlim-stock-container.fst-has-loop-locations::before {
        content: "Sucursal";
        display: block;
        margin: 0 0 6px;
        color: #0f172a;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.2;
    }

    .woocommerce ul.products li.product .fst-loop-location-help,
    .woocommerce-page ul.products li.product .fst-loop-location-help {
        margin: 4px 0 0;
        color: #64748b;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.25;
        text-align: center;
    }

    .woocommerce ul.products li.product.fst-loop-location-required,
    .woocommerce-page ul.products li.product.fst-loop-location-required {
        border-color: #f59e0b !important;
        box-shadow: 0 0 0 3px rgba(245,158,11,.16), 0 12px 28px rgba(15,23,42,.10) !important;
    }

    .woocommerce ul.products li.product.fst-loop-location-required .fst-loop-location-help,
    .woocommerce-page ul.products li.product.fst-loop-location-required .fst-loop-location-help {
        color: #b45309;
    }

    .woocommerce ul.products li.product .wcmlim_radio_option,
    .woocommerce ul.products li.product .location-stock-item,
    .woocommerce-page ul.products li.product .wcmlim_radio_option,
    .woocommerce-page ul.products li.product .location-stock-item {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 38px;
        margin: 0 0 6px !important;
        padding: 8px 10px !important;
        border: 1px solid #e4e7ec !important;
        border-radius: 8px !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(15,23,42,.04);
        cursor: pointer;
    }

    .woocommerce ul.products li.product .wcmlim_radio_option > div,
    .woocommerce ul.products li.product .location-stock-item > div,
    .woocommerce-page ul.products li.product .wcmlim_radio_option > div,
    .woocommerce-page ul.products li.product .location-stock-item > div {
        display: flex !important;
        align-items: center !important;
        gap: 8px;
        width: 100%;
        min-width: 0;
    }

    .woocommerce ul.products li.product .wcmlim_radio_option input[type="radio"],
    .woocommerce ul.products li.product .location-stock-item input[type="radio"],
    .woocommerce-page ul.products li.product .wcmlim_radio_option input[type="radio"],
    .woocommerce-page ul.products li.product .location-stock-item input[type="radio"] {
        flex: 0 0 auto;
        margin: 0 !important;
    }

    .woocommerce ul.products li.product .wcmlim_radio_option label,
    .woocommerce ul.products li.product .location-stock-item label,
    .woocommerce-page ul.products li.product .wcmlim_radio_option label,
    .woocommerce-page ul.products li.product .location-stock-item label {
        display: block !important;
        flex: 1 1 auto;
        min-width: 0;
        margin: 0 !important;
        color: #1f3556;
        font-size: 12px;
        font-weight: 800;
        line-height: 1.2;
        white-space: normal !important;
        overflow-wrap: normal;
        word-break: normal;
    }

    .woocommerce ul.products li.product .wcmlim_radio_option.selected-location,
    .woocommerce ul.products li.product .location-stock-item.selected-location,
    .woocommerce-page ul.products li.product .wcmlim_radio_option.selected-location,
    .woocommerce-page ul.products li.product .location-stock-item.selected-location {
        background: #f0fdf4 !important;
        border-color: #22c55e !important;
        box-shadow: inset 4px 0 0 #22c55e, 0 6px 16px rgba(15,23,42,.06) !important;
    }

    .woocommerce ul.products li.product .wcmlim-stock-container .stock-display,
    .woocommerce ul.products li.product .wcmlim-stock-container [class*="stock"]:not(.location-stock-item):not(.wcmlim-stock-container),
    .woocommerce-page ul.products li.product .wcmlim-stock-container .stock-display,
    .woocommerce-page ul.products li.product .wcmlim-stock-container [class*="stock"]:not(.location-stock-item):not(.wcmlim-stock-container) {
        display: none !important;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .add_to_cart_button,
    .woocommerce ul.products li.product .product_type_simple,
    .woocommerce ul.products li.product .product_type_variable,
    .woocommerce ul.products li.product .product_type_grouped,
    .woocommerce ul.products li.product .product_type_external,
    .woocommerce-page ul.products li.product .button,
    .woocommerce-page ul.products li.product .add_to_cart_button,
    .woocommerce-page ul.products li.product .product_type_simple,
    .woocommerce-page ul.products li.product .product_type_variable,
    .woocommerce-page ul.products li.product .product_type_grouped,
    .woocommerce-page ul.products li.product .product_type_external {
        position: static !important;
        inset: auto !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto !important;
        min-width: 150px !important;
        max-width: calc(100% - 32px) !important;
        min-height: 42px !important;
        height: auto !important;
        margin: auto auto 0 !important;
        padding: 10px 16px !important;
        overflow: visible !important;
        color: #fff !important;
        background: var(--color-naranja, #ff9900) !important;
        background-image: none !important;
        border: 1px solid var(--color-naranja, #ff9900) !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1.15 !important;
        text-align: center;
        text-indent: 0 !important;
        white-space: normal;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .woocommerce ul.products li.product .button::before,
    .woocommerce ul.products li.product .button::after,
    .woocommerce-page ul.products li.product .button::before,
    .woocommerce-page ul.products li.product .button::after {
        content: none !important;
        display: none !important;
    }

    .woocommerce ul.products li.product .button:hover,
    .woocommerce-page ul.products li.product .button:hover {
        color: #fff !important;
        background: #e18700 !important;
        border-color: #e18700 !important;
        transform: translateY(-1px);
        box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
    }

    .woocommerce a.added_to_cart.wc-forward,
    .woocommerce-page a.added_to_cart.wc-forward {
        position: static !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: auto;
        min-height: 38px;
        margin: 10px auto 0 !important;
        padding: 9px 14px !important;
        border-radius: 8px;
        color: #fff !important;
        background: #45525c !important;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.15;
    }

    .woocommerce section.related.products ul.products,
    section.related.products ul.products {
        grid-template-columns: repeat(auto-fill, minmax(190px, 240px)) !important;
        gap: 18px !important;
    }

    .woocommerce section.related.products ul.products li.product a img,
    section.related.products ul.products li.product a img {
        max-height: 155px;
    }

    .woocommerce section.related.products ul.products li.product .woocommerce-loop-product__title,
    section.related.products ul.products li.product .woocommerce-loop-product__title {
        font-size: 14px !important;
        min-height: 42px !important;
    }

    .woocommerce section.related.products ul.products li.product .price,
    section.related.products ul.products li.product .price {
        font-size: 15px !important;
    }

    @media (max-width: 767px) {
        .woocommerce ul.products,
        .woocommerce-page ul.products,
        .woocommerce section.related.products ul.products,
        section.related.products ul.products {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 14px !important;
        }

        .woocommerce ul.products li.product .button,
        .woocommerce-page ul.products li.product .button {
            min-width: 0 !important;
            width: calc(100% - 28px) !important;
        }
    }

    @media (max-width: 480px) {
        .woocommerce ul.products,
        .woocommerce-page ul.products,
        .woocommerce section.related.products ul.products,
        section.related.products ul.products {
            grid-template-columns: 1fr !important;
        }
    }

    /* Categoria/tienda: el plugin WCMLIM a veces deja solo "Loading stock..." en el loop.
       En archivos lo ocultamos de forma agresiva y normalizamos botones con reglas legacy columns-* activas. */
    body.archive.woocommerce ul.products li.product:not(.fst-has-loop-locations) .wcmlim-stock-container,
    body.tax-product_cat.woocommerce ul.products li.product:not(.fst-has-loop-locations) .wcmlim-stock-container,
    body.post-type-archive-product.woocommerce ul.products li.product:not(.fst-has-loop-locations) .wcmlim-stock-container,
    body.archive.woocommerce-page ul.products li.product:not(.fst-has-loop-locations) .wcmlim-stock-container,
    body.tax-product_cat.woocommerce-page ul.products li.product:not(.fst-has-loop-locations) .wcmlim-stock-container,
    body.post-type-archive-product.woocommerce-page ul.products li.product:not(.fst-has-loop-locations) .wcmlim-stock-container {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        visibility: hidden !important;
    }

    body.archive.woocommerce ul.products[class*="columns-"] li.product .button,
    body.archive.woocommerce ul.products[class*="columns-"] li.product .add_to_cart_button,
    body.archive.woocommerce ul.products[class*="columns-"] li.product .product_type_simple,
    body.archive.woocommerce ul.products[class*="columns-"] li.product .product_type_variable,
    body.archive.woocommerce ul.products[class*="columns-"] li.product .product_type_grouped,
    body.archive.woocommerce ul.products[class*="columns-"] li.product .product_type_external,
    body.tax-product_cat.woocommerce ul.products[class*="columns-"] li.product .button,
    body.tax-product_cat.woocommerce ul.products[class*="columns-"] li.product .add_to_cart_button,
    body.tax-product_cat.woocommerce ul.products[class*="columns-"] li.product .product_type_simple,
    body.tax-product_cat.woocommerce ul.products[class*="columns-"] li.product .product_type_variable,
    body.tax-product_cat.woocommerce ul.products[class*="columns-"] li.product .product_type_grouped,
    body.tax-product_cat.woocommerce ul.products[class*="columns-"] li.product .product_type_external {
        width: calc(100% - 32px) !important;
        min-width: 0 !important;
        max-width: calc(100% - 32px) !important;
        margin: auto auto 0 !important;
        text-indent: 0 !important;
        white-space: normal !important;
    }

    body.archive.woocommerce ul.products li.product a img,
    body.tax-product_cat.woocommerce ul.products li.product a img,
    body.post-type-archive-product.woocommerce ul.products li.product a img {
        float: none !important;
        width: 100% !important;
        height: 170px !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    body.archive.woocommerce ul.products li.product,
    body.tax-product_cat.woocommerce ul.products li.product,
    body.post-type-archive-product.woocommerce ul.products li.product,
    body.archive.woocommerce-page ul.products li.product,
    body.tax-product_cat.woocommerce-page ul.products li.product,
    body.post-type-archive-product.woocommerce-page ul.products li.product {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding-bottom: 16px !important;
    }

    body.archive.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
    body.tax-product_cat.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
    body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
    body.archive.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
    body.tax-product_cat.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
    body.post-type-archive-product.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link {
        display: block !important;
        flex: none !important;
    }

    body.archive.woocommerce ul.products li.product .button,
    body.tax-product_cat.woocommerce ul.products li.product .button,
    body.post-type-archive-product.woocommerce ul.products li.product .button,
    body.archive.woocommerce-page ul.products li.product .button,
    body.tax-product_cat.woocommerce-page ul.products li.product .button,
    body.post-type-archive-product.woocommerce-page ul.products li.product .button {
        display: flex !important;
        width: calc(100% - 32px) !important;
        margin: 12px auto 0 !important;
    }

    /* =============================================
       FST - LOADING NOTE CON BARRA ANIMADA
       ============================================= */
    .fst-cart-loading-note {
        display: none;
        width: 100%;
        margin-top: 14px;
        padding: 10px 14px;
        background: linear-gradient(135deg, #f0f4f8 0%, #e2e8f0 100%);
        border-radius: 8px;
        color: #475569;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.4;
        overflow: hidden;
    }

    .fst-cart-loading-note.is-visible {
        display: block;
        animation: fst-fade-in .3s cubic-bezier(.4,0,.2,1);
    }

    .fst-cart-loading-note::after {
        content: "";
        display: block;
        height: 3px;
        margin-top: 8px;
        border-radius: 3px;
        background: linear-gradient(90deg, #3b82f6, #8b5cf6, #3b82f6);
        background-size: 200% 100%;
        animation: fst-progress-bar 1.5s ease infinite;
    }

    @keyframes fst-fade-in {
        from { opacity: 0; transform: translateY(-6px); }
        to { opacity: 1; transform: translateY(0); }
    }

    @keyframes fst-progress-bar {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }

    /* =============================================
       FST - SPINNER EN BOTON ADD-TO-CART
       ============================================= */
    .single-product form.cart .single_add_to_cart_button.fst-loading,
    .single-product form.cart button[name="add-to-cart"].fst-loading,
    .single-product form.cart .ajax_add_to_cart.fst-loading {
        position: relative;
        pointer-events: none;
        opacity: .85;
        color: transparent !important;
        box-shadow: 0 0 0 3px rgba(59,130,246,.25);
    }

    .single-product form.cart .single_add_to_cart_button.fst-loading::after,
    .single-product form.cart button[name="add-to-cart"].fst-loading::after,
    .single-product form.cart .ajax_add_to_cart.fst-loading::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 22px;
        height: 22px;
        margin-top: -11px;
        margin-left: -11px;
        border: 3px solid rgba(255,255,255,.3);
        border-top-color: #fff;
        border-radius: 50%;
        animation: fst-spin-cart .65s cubic-bezier(.4,.15,.6,.85) infinite;
    }

    @keyframes fst-spin-cart {
        to { transform: rotate(360deg); }
    }

    /* Pulso sutil de éxito después de agregar */
    .single-product form.cart .single_add_to_cart_button.fst-success,
    .single-product form.cart button[name="add-to-cart"].fst-success,
    .single-product form.cart .ajax_add_to_cart.fst-success {
        animation: fst-pulse-success .5s cubic-bezier(.4,0,.2,1);
    }

    .single-product form.cart .fst-stock-warning {
        display: none;
        width: 100%;
        margin: 10px 0 0;
        padding: 10px 12px;
        border: 1px solid #fecaca;
        border-radius: 8px;
        background: #fff5f5;
        color: #b91c1c;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.3;
    }

    @keyframes fst-pulse-success {
        0% { box-shadow: 0 0 0 0 rgba(34,197,94,.5); }
        70% { box-shadow: 0 0 0 12px rgba(34,197,94,0); }
        100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
    }

    /* =============================================
       FST - BOTONES WC MEJORADOS (producto + carrito)
       ============================================= */
    .single-product form.cart .single_add_to_cart_button,
    .single-product form.cart button[name="add-to-cart"],
    .single-product form.cart .ajax_add_to_cart {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        transition: all .25s cubic-bezier(.4,0,.2,1);
        position: relative;
        overflow: hidden;
    }

    .single-product form.cart .single_add_to_cart_button:hover,
    .single-product form.cart button[name="add-to-cart"]:hover,
    .single-product form.cart .ajax_add_to_cart:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 14px rgba(0,0,0,.15);
    }

    .single-product form.cart .single_add_to_cart_button:active,
    .single-product form.cart button[name="add-to-cart"]:active,
    .single-product form.cart .ajax_add_to_cart:active {
        transform: translateY(0);
        box-shadow: 0 2px 6px rgba(0,0,0,.12);
    }

    /* Botones de listado de productos */
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product .add_to_cart_button {
        transition: all .25s cubic-bezier(.4,0,.2,1);
    }

    .woocommerce ul.products li.product .button:hover,
    .woocommerce ul.products li.product .add_to_cart_button:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0,0,0,.12);
    }

    /* =============================================
       FST - INPUTS Y SELECTS MEJORADOS (formularios WC)
       ============================================= */
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select,
    .woocommerce-cart-form .coupon input.input-text {
        transition: border-color .2s ease, box-shadow .2s ease;
        border: 1.5px solid #d1d5db;
        border-radius: 8px;
        padding: 10px 14px;
    }

    .woocommerce form .form-row input.input-text:focus,
    .woocommerce form .form-row textarea:focus,
    .woocommerce form .form-row select:focus,
    .woocommerce-cart-form .coupon input.input-text:focus {
        border-color: #3b82f6;
        box-shadow: 0 0 0 3px rgba(59,130,246,.15);
        outline: none;
    }

    /* =============================================
       FST - LOADING SPINNER PARA SELECTS DE UBICACIÓN
       ============================================= */
    .woocommerce .form-row.fst-location-loading {
        position: relative;
    }

    .woocommerce .form-row.fst-location-loading::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 14px;
        width: 18px;
        height: 18px;
        margin-top: 4px;
        border: 2.5px solid #e2e8f0;
        border-top-color: #3b82f6;
        border-radius: 50%;
        animation: fst-spin-cart .65s cubic-bezier(.4,.15,.6,.85) infinite;
        z-index: 10;
        pointer-events: none;
    }

    .woocommerce .form-row.fst-location-loading select,
    .woocommerce .form-row.fst-location-loading input {
        opacity: .55;
        pointer-events: none;
    }

    .woocommerce .form-row.fst-location-loading .select2-container {
        opacity: .55;
        pointer-events: none;
    }

    /* Overlay sutil sobre Select2 mientras carga */
    .woocommerce .form-row.fst-location-loading .select2-container .select2-selection {
        background: linear-gradient(90deg, #f8fafc, #f1f5f9, #f8fafc);
        background-size: 200% 100%;
        animation: fst-shimmer 1.5s ease infinite;
    }

    @keyframes fst-shimmer {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }

    /* =============================================
       FST - ALERT INFERIOR FLOTANTE (REDISEÑADO)
       ============================================= */
    .fst-cart-bottom-alert {
        position: fixed;
        left: 50%;
        bottom: 24px;
        transform: translateX(-50%) translateY(140px);
        width: calc(100% - 32px);
        max-width: 540px;
        background: #fff;
        color: #334155;
        border: 1px solid #e5e7eb;
        border-left: 5px solid #22c55e;
        border-radius: 10px;
        box-shadow: 0 18px 48px rgba(15,23,42,.18);
        padding: 16px 18px;
        z-index: 999999;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            opacity .35s cubic-bezier(.4,0,.2,1),
            visibility .35s cubic-bezier(.4,0,.2,1),
            transform .4s cubic-bezier(.175,.885,.32,1.275);
    }

    .fst-cart-bottom-alert.is-visible {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }

    .fst-cart-bottom-alert.is-warning {
        border-left-color: #f59e0b;
    }

    .fst-cart-bottom-alert.is-error {
        border-left-color: #ed3237;
    }

    /* Barra de progreso auto-dismiss */
    .fst-cart-bottom-alert__progress {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        border-radius: 0 0 10px 10px;
        background: #eef2f7;
        overflow: hidden;
    }

    .fst-cart-bottom-alert__progress-bar {
        height: 100%;
        background: #22c55e;
        border-radius: 3px;
        width: 100%;
        transform-origin: left;
        animation: none;
    }

    .fst-cart-bottom-alert.is-warning .fst-cart-bottom-alert__progress-bar,
    .fst-cart-bottom-alert.is-warning .fst-cart-bottom-alert__icon {
        background: #f59e0b;
    }

    .fst-cart-bottom-alert.is-error .fst-cart-bottom-alert__progress-bar,
    .fst-cart-bottom-alert.is-error .fst-cart-bottom-alert__icon {
        background: #ed3237;
    }

    .fst-cart-bottom-alert.is-visible .fst-cart-bottom-alert__progress-bar {
        animation: fst-alert-countdown 5s linear forwards;
    }

    @keyframes fst-alert-countdown {
        from { transform: scaleX(1); }
        to { transform: scaleX(0); }
    }

    .fst-cart-bottom-alert__left {
        display: flex;
        align-items: center;
        gap: 14px;
        min-width: 0;
    }

    .fst-cart-bottom-alert__icon {
        flex: 0 0 auto;
        width: 34px;
        height: 34px;
        border-radius: 999px;
        background: #22c55e;
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 700;
        box-shadow: none;
        animation: none;
    }

    @keyframes fst-icon-pop {
        from { transform: scale(0); }
        to { transform: scale(1); }
    }

    .fst-cart-bottom-alert__text {
        min-width: 0;
    }

    .fst-cart-bottom-alert__title {
        color: #0f172a;
        font-size: 15px;
        font-weight: 800;
        line-height: 1.3;
        margin: 0 0 3px 0;
        letter-spacing: -.01em;
    }

    .fst-cart-bottom-alert__subtitle {
        font-size: 13px;
        line-height: 1.3;
        color: #64748b;
        margin: 0;
    }

    .fst-cart-bottom-alert__actions {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .fst-cart-bottom-alert__cart,
    .fst-cart-bottom-alert__close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 42px;
        padding: 10px 18px;
        border-radius: 8px;
        font-weight: 700;
        font-size: 14px;
        text-decoration: none !important;
        border: 0;
        cursor: pointer;
        transition: all .2s cubic-bezier(.4,0,.2,1);
        letter-spacing: -.01em;
    }

    .fst-cart-bottom-alert__cart {
        background: #ed3237;
        color: #fff !important;
        box-shadow: none;
    }

    .fst-cart-bottom-alert__cart:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(237,50,55,.20);
        background: #d92c31;
    }

    .fst-cart-bottom-alert__cart:active {
        transform: translateY(0);
        box-shadow: none;
    }

    .fst-cart-bottom-alert.is-warning .fst-cart-bottom-alert__cart,
    .fst-cart-bottom-alert.is-error .fst-cart-bottom-alert__cart {
        display: none;
    }

    .fst-cart-bottom-alert__close {
        background: #f8fafc;
        color: #475569;
        border: 1px solid #e5e7eb;
    }

    .fst-cart-bottom-alert__close:hover {
        background: #eef2f7;
        color: #0f172a;
        transform: translateY(-1px);
    }

    .fst-cart-bottom-alert__close:active {
        transform: translateY(0);
        background: #e5e7eb;
    }

    /* =============================================
       FST - RESPONSIVE ALERT
       ============================================= */
    @media (max-width: 640px) {
        .fst-cart-bottom-alert {
            flex-direction: column;
            align-items: stretch;
            gap: 14px;
            bottom: 16px;
            padding: 16px;
            border-radius: 14px;
        }

        .fst-cart-bottom-alert__actions {
            width: 100%;
        }

        .fst-cart-bottom-alert__cart,
        .fst-cart-bottom-alert__close {
            flex: 1 1 50%;
            width: 100%;
            justify-content: center;
            min-height: 44px;
        }
    }

    /* =============================================
       FST - BOTON FLOTANTE CARRITO
       ============================================= */
    .fst-floating-cart {
        position: fixed;
        right: 22px;
        bottom: 96px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 58px;
        height: 58px;
        border-radius: 999px;
        background: #ed3237;
        color: #fff !important;
        text-decoration: none !important;
        box-shadow: 0 14px 32px rgba(15,23,42,.22);
        z-index: 999998;
        transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    }

    .fst-floating-cart:hover {
        background: #d92c31;
        color: #fff !important;
        transform: translateY(-2px);
        box-shadow: 0 18px 38px rgba(15,23,42,.26);
    }

    .fst-floating-cart:focus {
        outline: 3px solid rgba(237,50,55,.28);
        outline-offset: 3px;
    }

    .fst-floating-cart__icon {
        width: 27px;
        height: 27px;
        display: block;
    }

    .fst-floating-cart__count {
        position: absolute;
        top: -5px;
        right: -5px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 23px;
        height: 23px;
        padding: 0 6px;
        border: 2px solid #fff;
        border-radius: 999px;
        background: #ff9900;
        color: #111827;
        font-size: 12px;
        font-weight: 900;
        line-height: 1;
        box-shadow: 0 6px 14px rgba(15,23,42,.18);
    }

    .fst-floating-cart__count:empty {
        display: none;
    }

    body.woocommerce-cart .fst-floating-cart,
    body.woocommerce-checkout .fst-floating-cart {
        display: none;
    }

    @media (max-width: 640px) {
        .fst-floating-cart {
            right: 16px;
            bottom: 92px;
            width: 54px;
            height: 54px;
        }
    }

    /* =============================================
       FST - CHECKOUT BOTONES MEJORADOS
       ============================================= */
    .woocommerce #place_order,
    .woocommerce .checkout-button,
    .woocommerce .wc-proceed-to-checkout .checkout-button {
        transition: all .25s cubic-bezier(.4,0,.2,1);
        border-radius: 10px;
        font-weight: 700;
        letter-spacing: -.01em;
    }

    .woocommerce #place_order:hover,
    .woocommerce .checkout-button:hover,
    .woocommerce .wc-proceed-to-checkout .checkout-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0,0,0,.15);
    }

    .woocommerce #place_order:active,
    .woocommerce .checkout-button:active,
    .woocommerce .wc-proceed-to-checkout .checkout-button:active {
        transform: translateY(0);
    }

    /* Botón actualizar carrito */
    .woocommerce-cart-form button[name="update_cart"] {
        transition: all .25s cubic-bezier(.4,0,.2,1);
    }

    .woocommerce-cart-form button[name="update_cart"]:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0,0,0,.1);
    }
    

