/* Ferreton Diseñador de Tienda 1.5.8 — related/upsell cards only */
body.fsd-related-products-enabled .related.products,
body.fsd-related-products-enabled .upsells.products {
    box-sizing: border-box !important;
    width: min(100% - 28px, 1280px) !important;
    max-width: 1280px !important;
    margin: 34px auto 14px !important;
    clear: both !important;
    font-family: "Rubik", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body.fsd-related-products-enabled .related.products > h2,
body.fsd-related-products-enabled .upsells.products > h2 {
    margin: 0 0 20px !important;
    color: #162331 !important;
    font-family: "Rubik", system-ui, sans-serif !important;
    font-size: clamp(22px, 2vw, 31px) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -.02em !important;
}

body.fsd-related-products-enabled .related.products ul.products,
body.fsd-related-products-enabled .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    align-items: stretch !important;
}

body.fsd-related-products-enabled .related.products ul.products::before,
body.fsd-related-products-enabled .related.products ul.products::after,
body.fsd-related-products-enabled .upsells.products ul.products::before,
body.fsd-related-products-enabled .upsells.products ul.products::after {
    content: none !important;
    display: none !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product,
body.fsd-related-products-enabled .upsells.products ul.products li.product {
    box-sizing: border-box !important;
    position: relative !important;
    float: none !important;
    clear: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 14px !important;
    overflow: hidden !important;
    border: 1px solid #dbe6ef !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 10px 24px rgba(20, 52, 76, .06) !important;
    text-align: left !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product:hover,
body.fsd-related-products-enabled .upsells.products ul.products li.product:hover {
    transform: translateY(-3px) !important;
    border-color: #c9deec !important;
    box-shadow: 0 16px 34px rgba(20, 52, 76, .10) !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product > *,
body.fsd-related-products-enabled .upsells.products ul.products li.product > * {
    width: 100% !important;
    max-width: 100% !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .woocommerce-LoopProduct-link,
body.fsd-related-products-enabled .upsells.products ul.products li.product .woocommerce-LoopProduct-link {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product a img,
body.fsd-related-products-enabled .upsells.products ul.products li.product a img {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 13px !important;
    padding: 10px !important;
    border: 1px solid #edf2f6 !important;
    border-radius: 14px !important;
    background: #fbfdff !important;
    object-fit: contain !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .product-category,
body.fsd-related-products-enabled .related.products ul.products li.product .ast-woo-product-category,
body.fsd-related-products-enabled .upsells.products ul.products li.product .product-category,
body.fsd-related-products-enabled .upsells.products ul.products li.product .ast-woo-product-category {
    display: block !important;
    width: auto !important;
    margin: 0 0 8px !important;
    color: #0984ca !important;
    font-family: "Rubik", system-ui, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .woocommerce-loop-product__title,
body.fsd-related-products-enabled .related.products ul.products li.product h2,
body.fsd-related-products-enabled .upsells.products ul.products li.product .woocommerce-loop-product__title,
body.fsd-related-products-enabled .upsells.products ul.products li.product h2 {
    display: block !important;
    min-height: 4.05em !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #162331 !important;
    font-family: "Rubik", system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.012em !important;
    text-transform: none !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .price,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-related-price,
body.fsd-related-products-enabled .upsells.products ul.products li.product .price,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-related-price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-height: 22px !important;
    margin: auto 0 12px !important;
    color: #0588d1 !important;
    font-family: "Rubik", system-ui, sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .price .amount,
body.fsd-related-products-enabled .upsells.products ul.products li.product .price .amount,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-related-price .amount,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-related-price .amount {
    color: inherit !important;
    font-weight: inherit !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .price del,
body.fsd-related-products-enabled .upsells.products ul.products li.product .price del,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-related-price del,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-related-price del {
    margin-right: 6px !important;
    color: #92a0ae !important;
    font-size: .8em !important;
    opacity: .85 !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .price ins,
body.fsd-related-products-enabled .upsells.products ul.products li.product .price ins,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-related-price ins,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-related-price ins {
    text-decoration: none !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .button,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action {
    position: relative !important;
    isolation: isolate !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow: hidden !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-family: "Rubik", system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, border-color .2s ease !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .button {
    border: 1px solid #acd8ef !important;
    background: linear-gradient(180deg, #ffffff 0%, #eaf6fc 100%) !important;
    box-shadow: 0 7px 16px rgba(29, 97, 136, .09), inset 0 1px 0 rgba(255,255,255,.85) !important;
    color: #086fa8 !important;
}
body.fsd-related-products-enabled .upsells.products ul.products li.product .button {
    border: 1px solid #acd8ef !important;
    background: linear-gradient(180deg, #ffffff 0%, #eaf6fc 100%) !important;
    box-shadow: 0 7px 16px rgba(29, 97, 136, .09), inset 0 1px 0 rgba(255,255,255,.85) !important;
    color: #086fa8 !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action {
    margin-top: 8px !important;
    border: 1px solid #087fc8 !important;
    background: linear-gradient(180deg, #2db7ff 0%, #0799e6 48%, #007dc9 100%) !important;
    box-shadow: 0 10px 20px rgba(0, 130, 205, .20), inset 0 1px 0 rgba(255,255,255,.28) !important;
    color: #fff !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .button::after,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button::after,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn::after,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn::after,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action::after,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action::after {
    content: "";
    position: absolute;
    top: -35%;
    left: -55%;
    width: 35%;
    height: 170%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
    transform: skewX(-22deg);
    transition: left .45s ease;
    pointer-events: none;
}

body.fsd-related-products-enabled .related.products ul.products li.product .button:hover,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button:hover,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn:hover,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn:hover,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action:hover,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.02) saturate(1.03) !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .button:hover::after,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button:hover::after,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn:hover::after,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn:hover::after,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action:hover::after,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action:hover::after {
    left: 120%;
}

body.fsd-related-products-enabled .related.products ul.products li.product .button:active,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button:active,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn:active,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn:active,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action:active,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action:active {
    transform: translateY(0) scale(.985) !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn > span:first-child,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn > span:first-child,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action > span:first-child,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action > span:first-child {
    display: inline-grid !important;
    place-items: center !important;
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product .added_to_cart,
body.fsd-related-products-enabled .upsells.products ul.products li.product .added_to_cart {
    display: none !important;
}

@media (max-width: 1024px) {
    body.fsd-related-products-enabled .related.products ul.products,
    body.fsd-related-products-enabled .upsells.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body.fsd-related-products-enabled .related.products,
    body.fsd-related-products-enabled .upsells.products {
        width: min(100% - 18px, 1280px) !important;
    }
    body.fsd-related-products-enabled .related.products ul.products,
    body.fsd-related-products-enabled .upsells.products ul.products {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }
    body.fsd-related-products-enabled .related.products ul.products li.product,
    body.fsd-related-products-enabled .upsells.products ul.products li.product {
        padding: 12px !important;
    }
}


/* ==============================
   v1.6.0 — Related products premium polish
   ============================== */
body.fsd-related-products-enabled .related.products,
body.fsd-related-products-enabled .upsells.products {
    width: min(100% - 24px, 1280px) !important;
}

body.fsd-related-products-enabled .related.products ul.products li.product,
body.fsd-related-products-enabled .upsells.products ul.products li.product {
    position: relative !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    box-shadow: 0 12px 26px rgba(20, 56, 84, .06) !important;
}
body.fsd-related-products-enabled .related.products ul.products li.product::before,
body.fsd-related-products-enabled .upsells.products ul.products li.product::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(160deg, rgba(0,147,231,.14), rgba(255,255,255,0) 36%, rgba(0,147,231,.10) 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}
body.fsd-related-products-enabled .related.products ul.products li.product:hover,
body.fsd-related-products-enabled .upsells.products ul.products li.product:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 18px 36px rgba(20, 56, 84, .11) !important;
}
body.fsd-related-products-enabled .related.products ul.products li.product a img,
body.fsd-related-products-enabled .upsells.products ul.products li.product a img {
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fcfeff 0%, #f3f9fd 100%) !important;
    transition: transform .28s ease, box-shadow .28s ease !important;
}
body.fsd-related-products-enabled .related.products ul.products li.product:hover a img,
body.fsd-related-products-enabled .upsells.products ul.products li.product:hover a img {
    transform: scale(1.04) !important;
    box-shadow: 0 12px 24px rgba(24, 76, 112, .10), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
body.fsd-related-products-enabled .related.products ul.products li.product .product-category,
body.fsd-related-products-enabled .related.products ul.products li.product .ast-woo-product-category,
body.fsd-related-products-enabled .upsells.products ul.products li.product .product-category,
body.fsd-related-products-enabled .upsells.products ul.products li.product .ast-woo-product-category {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 0 0 10px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #f3fbff 0%, #e6f5ff 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(0,147,231,.10) !important;
}
body.fsd-related-products-enabled .related.products ul.products li.product .button,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action {
    border-radius: 13px !important;
}
body.fsd-related-products-enabled .related.products ul.products li.product .button::before,
body.fsd-related-products-enabled .upsells.products ul.products li.product .button::before,
body.fsd-related-products-enabled .related.products ul.products li.product .fcp30-loop-quote-btn::before,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fcp30-loop-quote-btn::before,
body.fsd-related-products-enabled .related.products ul.products li.product .fsd-quote-action::before,
body.fsd-related-products-enabled .upsells.products ul.products li.product .fsd-quote-action::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.05) 48%, rgba(255,255,255,0) 100%);
    pointer-events: none;
}
