.forp-product-promotions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin: 12px 0 18px;
    white-space: normal;
}

.forp-product-promotion {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 13px 15px;
    border: 1px solid #ead9c0;
    border-radius: 6px;
    background: #fff9f0;
    color: #1d1d1d;
    line-height: 1.4;
    box-sizing: border-box;
}

.forp-product-promotion__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 50px;
    min-height: 34px;
    padding: 4px 8px;
    border-radius: 4px;
    background: #c58026;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .2px;
    box-sizing: border-box;
}

.forp-product-promotion__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.forp-product-promotion__title {
    display: block;
    color: #151515;
    font-size: 15px;
    font-weight: 800;
}

.forp-product-promotion__text {
    display: block;
    color: #363636;
    font-size: 13px;
    font-weight: 400;
}

.forp-product-promotion__validity {
    display: block;
    margin-top: 2px;
    color: #75501e;
    font-size: 12px;
    font-weight: 700;
}

.forp-cart-promotions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    margin-top: 8px !important;
    color: #222 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

.forp-cart-promotion {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    padding: 8px 9px !important;
    border-left: 3px solid #c58026 !important;
    border-radius: 2px !important;
    background: #faf7f2 !important;
    color: #222 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    box-sizing: border-box !important;
}

.forp-cart-promotion__title,
.forp-cart-promotion__description,
.forp-cart-promotion__validity,
.forp-cart-promotion__status {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
}

.forp-cart-promotion__title {
    color: #222 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.forp-cart-promotion__description {
    color: #555 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}

.forp-cart-promotion__validity {
    color: #75501e !important;
    font-size: 10px !important;
    font-weight: 600 !important;
}

.forp-cart-promotion__status {
    margin-top: 2px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.forp-cart-promotion__status.is-applied {
    color: #1f6b35 !important;
}

.forp-cart-promotion__status.is-pending {
    color: #7a5516 !important;
}

/*
 * La versión 0.9.4 utilizaba los datos de variación de WooCommerce,
 * que Elementor colocaba en dos columnas. Por compatibilidad, ocultamos
 * únicamente esos restos si el carrito conserva fragmentos antiguos.
 */
.elementor-menu-cart__product .variation dt[class*="variation-FORP"],
.woocommerce-mini-cart-item .variation dt[class*="variation-FORP"] {
    display: none !important;
}

.elementor-menu-cart__product .variation dd[class*="variation-FORP"],
.woocommerce-mini-cart-item .variation dd[class*="variation-FORP"] {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

@media (max-width: 767px) {
    .forp-product-promotion {
        gap: 9px;
        padding: 11px 12px;
    }

    .forp-product-promotion__badge {
        min-width: 46px;
        min-height: 32px;
        font-size: 14px;
    }
}


/* =========================================================
 * CATÁLOGO EXCLUSIVO PARA PROFESIONALES
 * ========================================================= */

.forp-professional-gate {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    margin: 5px 0 12px;
    padding: 12px 14px;
    border: 1px solid #ead9c0;
    border-radius: 6px;
    background: #fff9f0;
    color: #222;
    box-sizing: border-box;
    white-space: normal;
}

.forp-professional-gate__title {
    display: block;
    color: #1d1d1d;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.forp-professional-gate__text {
    display: block;
    color: #555;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

.forp-professional-gate__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 4px;
}

.forp-professional-gate__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #b77a1f;
    border-radius: 4px;
    background: #b77a1f;
    color: #fff !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: opacity .2s ease;
}

.forp-professional-gate__button:hover {
    color: #fff !important;
    opacity: .88;
}

.forp-professional-gate__button--outline {
    background: transparent;
    color: #8a5b15 !important;
}

.forp-professional-gate__button--outline:hover {
    color: #8a5b15 !important;
}

/*
 * Respaldo para Elementor y plantillas que impriman su propio formulario.
 * El precio no depende de CSS: ya se bloquea también desde PHP.
 */
body.forp-professional-locked-product form.cart,
body.forp-professional-locked-product .elementor-add-to-cart,
body.forp-professional-locked-product .elementor-widget-woocommerce-product-add-to-cart,
body.forp-professional-locked-product .single_add_to_cart_button {
    display: none !important;
}

.forp-professional-locked-item .add_to_cart_button,
.forp-professional-locked-item .ajax_add_to_cart,
.forp-professional-locked-item .product_type_simple,
.forp-professional-locked-item .product_type_variable {
    display: none !important;
}

@media (max-width: 767px) {
    .forp-professional-gate {
        padding: 11px 12px;
    }

    .forp-professional-gate__actions {
        flex-direction: column;
    }

    .forp-professional-gate__button {
        width: 100%;
    }
}
