/**
 * Frontend Dynamic CSS
 * 
 * This file contains dynamic CSS that is generated based on plugin settings.
 * In production, this should be generated dynamically and saved to a static CSS file.
 * 
 * @package YGB_Product_Card_Styler
 * @since 4.2.1
 */

/* ============================================
   PRICE COLOR STYLES
   Selector: .woocommerce ul.products li.product .price
   Option: pcs_global_price_color
   ============================================ */
.pcs-price-styles {
    /* Dynamic CSS - generated by pcs_price_css() */
    /* Color: pcs_global_price_color (default: #E26143) */
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.pcs-products-grid .products li.product .price,
.pcs-products-grid .products li.product .price .amount,
.woocommerce div.product .price,
.woocommerce div.product .price .amount {
    font-weight: bold !important;
}

.woocommerce ul.products li.product .price del,
.pcs-products-grid .products li.product .price del,
.woocommerce div.product .price del {
    color: #999 !important;
    opacity: 0.7 !important;
    font-weight: normal !important;
}

.woocommerce ul.products li.product .price ins,
.pcs-products-grid .products li.product .price ins,
.woocommerce div.product .price ins {
    text-decoration: none !important;
    font-weight: bold !important;
}

/* ============================================
   AGOTADO RIBBON STYLES
   Option: pcs_agotado_ribbon_show (default: 1)
   Colors: pcs_agotado_ribbon_bg (#dc3232), pcs_agotado_ribbon_text (#ffffff)
   ============================================ */
.woocommerce ul.products li.product,
.pcs-products-grid .products li.product,
.pcs-products-grid ul.products li.product {
    position: relative !important;
    overflow: hidden !important;
}

.pcs-agotado-ribbon {
    position: absolute !important;
    top: 18px !important;
    left: -42px !important;
    width: 150px !important;
    transform: rotate(-45deg) !important;
    text-align: center !important;
    padding: 6px 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
    z-index: 5 !important;
    pointer-events: none !important;
    margin: 0 !important;
}

/* Oculta SOLO la etiqueta de stock del tema en tarjetas con cinta */
li.product:has(.pcs-agotado-ribbon) span.out-of-stock,
li.product:has(.pcs-agotado-ribbon) p.out-of-stock,
li.product:has(.pcs-agotado-ribbon) .ast-out-of-stock,
li.product:has(.pcs-agotado-ribbon) .ast-shop-item-out-of-stock,
li.product:has(.pcs-agotado-ribbon) .ast-woo-shop-card__out-of-stock {
    display: none !important;
}

/* ============================================
   OFERTA RIBBON STYLES
   Option: pcs_sale_ribbon_show (default: 1)
   Colors: pcs_sale_ribbon_bg (#ffcc00), pcs_sale_ribbon_text_color (#111111)
   ============================================ */
.pcs-oferta-ribbon {
    position: absolute !important;
    top: 18px !important;
    left: -42px !important;
    width: 150px !important;
    transform: rotate(-45deg) !important;
    text-align: center !important;
    padding: 6px 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
    z-index: 5 !important;
    pointer-events: none !important;
    margin: 0 !important;
}

.pcs-custom-badge {
    display: none !important;
}

/* Globo "¡Oferta!" de Astra en listados: lo sustituye la cinta */
.woocommerce ul.products li.product .ast-onsale-card,
.pcs-products-grid .products li.product .ast-onsale-card,
.pcs-products-grid ul.products li.product .ast-onsale-card {
    display: none !important;
}

/* ============================================
   IMAGE GEOMETRY STYLES
   Options: pcs_image_aspect_ratio, pcs_image_object_fit, pcs_image_object_position
   ============================================ */
/* Dynamic CSS wrapper rules - aspect-ratio or height applied via inline styles */
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.pcs-products-grid .products li.product .astra-shop-thumbnail-wrap,
.pcs-products-grid ul.products li.product .astra-shop-thumbnail-wrap {
    display: block !important;
    overflow: hidden !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap > a,
.pcs-products-grid .products li.product .astra-shop-thumbnail-wrap > a,
.pcs-products-grid ul.products li.product .astra-shop-thumbnail-wrap > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img,
.pcs-products-grid .products li.product .astra-shop-thumbnail-wrap img,
.pcs-products-grid ul.products li.product .astra-shop-thumbnail-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Dynamic: pcs_image_object_fit */
    object-position: center !important; /* Dynamic: pcs_image_object_position */
}

/* ============================================
   SINGLE PRODUCT BUTTON STYLES
   Only applies on single product pages (is_product())
   Colors from: pcs_global_button_* options
   ============================================ */
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce-page div.product form.cart .button,
.woocommerce-page div.product form.cart .single_add_to_cart_button,
.woocommerce #content div.product form.cart .button {
    border-radius: 4px !important;
    font-weight: 600 !important;
    padding: 0.7em 1.5em !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product form.cart .quantity,
.woocommerce-page div.product form.cart .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 44px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin: 0 10px 0 0 !important;
    vertical-align: middle !important;
}

.woocommerce div.product form.cart .quantity .minus,
.woocommerce div.product form.cart .quantity .plus,
.woocommerce-page div.product form.cart .quantity .minus,
.woocommerce-page div.product form.cart .quantity .plus {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 22px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.woocommerce div.product form.cart .quantity .qty,
.woocommerce-page div.product form.cart .quantity .qty {
    width: 60px !important;
    max-width: 60px !important;
    min-width: 22px !important;
    height: 44px !important;
    border: none !important;
    border-left: 1px solid rgba(255,255,255,0.2) !important;
    border-right: 1px solid rgba(255,255,255,0.2) !important;
    background: transparent !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
}

.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ============================================
   WISHLIST BUTTON FIX
   Applied only on wishlist pages
   ============================================ */
.wishlist_table .pcs-cart-button,
.yith-wcwl-add-button .pcs-cart-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}

.wishlist_table .pcs-cart-button svg,
.yith-wcwl-add-button .pcs-cart-button svg {
    fill: currentColor !important;
    width: 22px !important;
    height: 22px !important;
    display: block !important;
}

.wishlist_table .pcs-cart-button:hover svg,
.yith-wcwl-add-button .pcs-cart-button:hover svg {
    fill: #E26143 !important;
}
