/* =============================================================================
   Studio Innate — Pricing Plugin Stylesheet
   All site styles consolidated from functions.php / Elementor Custom Code.
   ============================================================================= */


/* =========================================
   1. GENERAL STYLES & RESETS
   ========================================= */
a { color: #000; }
a:active, a:hover { color: #000; }
/* Form Field Resets */
input.woocommerce-Input.woocommerce-Input--text.input-text {
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
}
/* Table Cleanup */
tbody tr td.value.disable-to-select { background-color: transparent !important; }
.elementor-widget-container tbody tr + tr th,
.elementor-widget-container tbody tr + tr td { padding-top: 10px !important; }
.woocommerce table.shop_table { border: none !important; }
tr td[colspan="2"] .reset_variations,
tr td[colspan="2"] { display: none !important; }


/* =========================================
   2. COOKIE & PRIVACY
   ========================================= */
#wt-cli-accept-all-btn { border-radius: 5px !important; }
#wt-cli-privacy-save-btn {
    background-color: #002cf7 !important;
    color: #ffffff !important;
    border-radius: 5px !important;
    padding: 10px 20px;
    border: none !important;
    cursor: pointer;
}
#cookie-law-info-bar { border-radius: 10px !important; overflow: hidden; margin-top: 0 !important; padding: 0 !important; }
#cookie-law-info-bar .cli-bar-container {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 10px !important; box-sizing: border-box; gap: 5px;
}
#cookie-law-info-bar .cli-style-v2 .cli-bar-btn_container { margin-top: 0 !important; }
#cookie-law-info-bar .cli-bar-message { margin: 0; font-size: 14px; }
#cookie-law-info-bar .wt-cli-ccpa-element { display: inline; font-size: 12px; margin-left: 4px; }
#cookie-law-info-bar .cli-bar-btn_container a {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 8px 8px; border-radius: 999px; font-size: 14px; text-decoration: none;
}
@media (max-width: 767px) {
    #cookie-law-info-bar .cli-bar-container { flex-wrap: nowrap !important; }
    #cookie-law-info-bar .cli-bar-message { flex: 1 1 auto; min-width: 0; }
    #cookie-law-info-bar .cli-bar-btn_container { flex: 0 0 auto; white-space: nowrap; }
}
body:not(.cookies-ok) #chatbase-bubble-button,
body:not(.cookies-ok) #chatbase-bubble-window { visibility: hidden !important; pointer-events: none !important; }
.cli-bar-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 5px 15px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
}
.cli-bar-message {
    flex: 0 0 85% !important;
    margin: 0 !important;
    padding-right: 10px !important;
}
.cli-bar-btn_container {
    flex: 0 0 15% !important;
    text-align: right !important;
    display: flex !important;
    justify-content: flex-end !important;
}
#wt-cli-accept-all-btn {
    padding: 5px 12px !important;
    margin: 0 !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}
.cli-bar-container br { display: none !important; }


/* =========================================
   3. MEMBERSHIP & FORMS
   ========================================= */
#mepr_signup_form > div.mepr-payment-methods-wrapper > hr { display: none; }
.password-container { display: flex; flex-direction: column; }
.password-container label, .password-container input { margin-bottom: 10px; }
#customer_login h2 { font-size: 1.8em; font-weight: normal; line-height: 1.4; margin-bottom: 10px; }
.woocommerce-form-login, .woocommerce-form-register { border: none !important; padding: 0 !important; margin: 0 !important; }
#customer_login .u-column1, #customer_login .u-column2 { padding-right: 50px; }
#customer_login .u-column1 { padding-bottom: 50px; }


/* =========================================
   4. NOTICES & LAYOUT (Smart Hiding)
   ========================================= */
/* Hide YITH Columns */
th.ywsbs-subscription-start-date, td.ywsbs-subscription-start-date,
th.ywsbs-subscription-payment-date, td.ywsbs-subscription-payment-date,
th.ywsbs-subscription-end-on, td.ywsbs-subscription-end-on { display: none; }
/* New Badge */
.new-badge { background-color: #0035f7; color: #fff; padding: 0px 5px; border-radius: 5px; font-size: 12px; display: inline-block; }
/* Cart Images */
.wcf-product-thumbnail img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block;
}
/* Notices */
.woocommerce-error {
    display: flex; align-items: center; justify-content: flex-start;
    color: #D63638; background-color: #FFEBEB; border: 1px solid #D63638;
    padding: 10px 15px; border-radius: 4px; margin: 10px 0; position: relative; z-index: 1000;
}
.woocommerce-error li {
    display: flex; align-items: center; padding-left: 25px; margin-left: 15px !important;
    margin-bottom: 5px; font-size: 14px; position: relative;
}
.elementor .woocommerce-error { margin-left: 0 !important; padding-left: 25px !important; z-index: 1000; }
/* Hide Notices Globally... BUT show on Checkout */
.woocommerce-notices-wrapper, .woocommerce-error, .woocommerce-message, .woocommerce-info { display: none !important; }
.woocommerce-checkout .woocommerce-notices-wrapper, .woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message, .woocommerce-checkout .woocommerce-info { display: block !important; }
/* Force hide Success/Variations */
.woocommerce-message, .woocommerce-checkout .woocommerce-message { display: none !important; }
dl.variation, .product-name dl.variation { display: none !important; }


/* =========================================
   5. SMART HEADER & MOBILE LAYOUT
   ========================================= */
.elementor-location-header, .elementor-location-header .elementor-container,
.elementor-location-header .elementor-widget-wrap, .elementor-menu-cart__container { overflow: visible !important; }
@media (max-width: 767px) {
    .elementor-menu-cart__container, .widget_shopping_cart_content { z-index: 2147483647 !important; display: block !important; }
    .elementor-menu-cart__main {
        z-index: 2147483647 !important; position: fixed !important; top: 0 !important; right: 0 !important;
        height: 100vh !important; bottom: 0 !important;
    }
    #Menu_main { z-index: 10001 !important; }
    .elementor-location-header {
        position: fixed !important; top: 0; left: 0; width: 100%;
        z-index: 10000 !important; transition: transform 0.3s ease-in-out; will-change: transform; background: #050505;
    }
    .si-js-fixed { z-index: 9990 !important; display: block !important; }
    .elementor-location-header.si-nav-up { transform: translateY(-100%); }
    body.menu-open .si-js-fixed { display: none !important; }
}
.pointer-fix { cursor: pointer; }


/* =========================================
   6. QUICK ADD BUTTON (Grid/Archive)
   ========================================= */
html body .si-quick-add-container {
    width: auto; display: inline-block; margin-top: 10px; z-index: 20; position: relative;
    opacity: 0; transform: translateY(5px); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
html body .elementor-loop-item:hover .si-quick-add-container,
html body .e-loop-item:hover .si-quick-add-container { opacity: 1; transform: translateY(0); }
@media (max-width: 1024px) { html body .si-quick-add-container { opacity: 1 !important; transform: none !important; } }
html body .si-custom-add-btn {
    display: inline-flex !important; align-items: center; gap: 6px;
    background: transparent !important; border: none !important; padding: 0 !important;
    color: #000 !important; font-size: 13px !important; font-weight: 600 !important;
    text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; line-height: 1 !important; text-decoration: none !important;
}
html body .si-btn-icon { font-size: 16px; font-weight: 300; line-height: 1; transition: transform 0.3s ease; }
html body .si-custom-add-btn:hover .si-btn-icon { transform: rotate(90deg); }
html body .si-custom-add-btn:hover .si-add-text { text-decoration: underline; text-underline-offset: 3px; }
/* "ADDED" State */
html body .si-added-text { display: none; }
html body .si-custom-add-btn.added { color: #888 !important; cursor: default; }
html body .si-custom-add-btn.added .si-add-text, html body .si-custom-add-btn.added .si-btn-icon { display: none; }
html body .si-custom-add-btn.added .si-added-text { display: inline-flex; align-items: center; font-size: 13px; font-weight: 600; }
html body .si-quick-add-container a.added_to_cart,
html body .si-quick-add-container .si-custom-add-btn::after,
html body .si-quick-add-container .si-custom-add-btn.added::after { display: none !important; content: none !important; }
html body .si-custom-add-btn.added .si-added-text::before {
    content: ''; display: inline-block; width: 14px; height: 14px; margin-right: 6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: center; background-size: contain;
}

/* Dark background variant — use [si_quick_add_dark] shortcode */
html body a.si-custom-add-btn.si-bg-dark,
html body a.si-custom-add-btn.si-bg-dark:visited {
    color: #fff !important;
}
html body a.si-custom-add-btn.si-bg-dark:hover {
    color: #fff !important;
}
html body a.si-custom-add-btn.si-bg-dark.added {
    color: rgba(255,255,255,0.5) !important;
}
html body a.si-custom-add-btn.si-bg-dark .si-added-text::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}


/* =========================================
   7. DRAWER LAYOUT
   ========================================= */
html body #si-cart-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.5); z-index: 2147483646 !important;
    opacity: 0; pointer-events: none; transition: opacity 0.3s ease; backdrop-filter: blur(2px);
}
html body #si-cart-overlay.active { opacity: 1; pointer-events: auto; }
html body #si-cart-drawer {
    position: fixed; top: 0; right: -350px; width: 320px; height: 100%;
    background: #0a0a0a; color: #fff; z-index: 2147483647 !important;
    transition: right 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    box-shadow: -10px 0 30px rgba(0,0,0,0.5); display: flex; flex-direction: column; border-left: 1px solid #111;
}
html body #si-cart-drawer.active { right: 0; }
@media (max-width: 480px) { html body #si-cart-drawer { width: 90vw !important; right: -100vw !important; } html body #si-cart-drawer.active { right: 0 !important; } }
/* Header */
html body #si-cart-drawer .si-drawer-header {
    display: flex !important; flex-direction: row !important; align-items: center !important;
    justify-content: space-between !important; padding: 15px 20px !important; gap: 15px !important;
    min-height: 80px !important; background: #0a0a0a; border-bottom: 1px solid #111;
    position: relative; overflow: hidden; flex-shrink: 0;
}
html body #si-cart-drawer .si-drawer-header h3,
html body #si-cart-drawer .widget_shopping_cart_content .widget-title { display: none !important; }
/* Badge */
html body .si-status-container { flex-grow: 1 !important; display: block; width: 100%; }
html body .si-bundle-badge { display: flex !important; flex-direction: column !important; justify-content: center !important; width: 100% !important; }
html body .si-badge-main {
    display: flex !important; flex-direction: column !important; align-items: flex-start !important;
    justify-content: center !important; padding: 10px 14px !important; width: 100% !important;
    background: #151517 !important; border: 1px solid #202127 !important; border-radius: 4px !important;
    min-height: auto !important; gap: 4px !important;
}
html body .si-bundle-badge.tier-3 .si-badge-main {
    border-color: #0f2bed !important; background: rgba(15, 43, 237, 0.08) !important;
    box-shadow: 0 0 15px rgba(15, 43, 237, 0.15) !important;
}
html body .si-badge-left { display: flex !important; flex-direction: row !important; align-items: center !important; width: 100%; gap: 8px !important; }
html body .si-badge-icon { display: inline-block !important; color: #0f2bed !important; font-size: 14px !important; line-height: 1 !important; }
html body .si-badge-text { font-size: 13px !important; font-weight: 800 !important; text-transform: uppercase; color: #fff; letter-spacing: 0.5px; line-height: 1.2; }
html body .si-badge-savings { color: #aaa !important; font-weight: 500 !important; font-size: 11px !important; text-align: left; margin-left: 0 !important; padding-left: 22px; line-height: 1.2; }
#si-next-goal:empty, #si-next-goal { display: none !important; }
/* Close Icon */
html body #si-cart-drawer #si-close-cart {
    display: flex !important; align-items: center; justify-content: center;
    background: transparent !important; border: none !important; color: #fff !important;
    font-size: 28px !important; opacity: 0.6; flex-shrink: 0 !important;
    width: 30px; height: 30px; cursor: pointer; margin: 0 !important; padding: 0 !important;
    align-self: flex-start !important; margin-top: 5px !important;
}
html body #si-cart-drawer #si-close-cart:hover { opacity: 1; }
/* Content & List */
html body #si-cart-drawer .si-drawer-content,
html body #si-cart-drawer .widget_shopping_cart_content {
    display: flex !important; flex-direction: column !important; height: 100% !important; min-height: 0 !important; overflow: hidden !important;
}
html body #si-cart-drawer .elementor-menu-cart__products {
    flex: 1 1 auto !important; overflow-y: auto !important; padding: 10px 20px 20px 20px !important; height: auto !important; display: block !important; scrollbar-width: thin;
}
html body #si-cart-drawer .elementor-menu-cart__product {
    display: grid !important; grid-template-columns: 50px 1fr 20px !important; gap: 2px 15px !important; align-items: center !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important; padding: 15px 0 !important; width: 100% !important;
}
html body #si-cart-drawer .elementor-menu-cart__product-image { grid-column: 1 !important; grid-row: span 2 !important; width: 100% !important; margin: 0 !important; }
html body #si-cart-drawer .elementor-menu-cart__product-image img { width: 100%; border-radius: 2px; opacity: 0.8; }
html body #si-cart-drawer .elementor-menu-cart__product-name { grid-column: 2 !important; grid-row: 1 !important; margin: 0 !important; padding: 0 !important; }
html body #si-cart-drawer .elementor-menu-cart__product-name a { display: block !important; color: #fff !important; text-decoration: none; font-weight: 500; font-size: 13px !important; line-height: 1.1 !important; }
html body #si-cart-drawer .elementor-menu-cart__product-price { grid-column: 2 !important; grid-row: 2 !important; margin: 0 !important; padding: 0 !important; text-align: left !important; justify-self: start !important; }
html body #si-cart-drawer .elementor-menu-cart__product-price .quantity { display: block !important; color: #555 !important; font-size: 11px !important; line-height: 1.1 !important; }
html body #si-cart-drawer .elementor-menu-cart__product-remove { grid-column: 3 !important; grid-row: span 2 !important; margin: 0 auto !important; border: none !important; padding: 0 !important; }
html body #si-cart-drawer .elementor-menu-cart__product-remove .remove_from_cart_button { display: none !important; }
html body #si-cart-drawer .elementor-menu-cart__product-remove .elementor_remove_from_cart_button {
    width: 18px !important; height: 18px !important; min-width: 18px !important; display: flex !important; align-items: center !important; justify-content: center !important;
    background: transparent !important; border: 1px solid #fff !important; border-radius: 50% !important; color: #fff !important; font-size: 0 !important; opacity: 0.6; transition: opacity 0.2s ease; position: relative !important; text-decoration: none !important;
}
html body #si-cart-drawer .elementor-menu-cart__product-remove .elementor_remove_from_cart_button::before {
    content: '×' !important; font-family: Arial, sans-serif !important; font-size: 18px !important; color: #fff !important; line-height: 0 !important; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
}
html body #si-cart-drawer .elementor-menu-cart__product-remove .elementor_remove_from_cart_button:hover { border-color: #fff !important; opacity: 1; }
/* Footer */
html body #si-cart-drawer .elementor-menu-cart__subtotal { display: none !important; }
html body #si-cart-drawer .elementor-menu-cart__footer-buttons a.elementor-button--view-cart { display: none !important; }
html body #si-cart-drawer .elementor-menu-cart__footer-buttons {
    flex: 0 0 auto !important; background: #0a0a0a !important; padding: 20px !important;
    border-top: 1px solid #111; z-index: 10; margin-top: auto !important;
}
html body #si-cart-drawer .elementor-menu-cart__footer-buttons .elementor-button--checkout {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; min-height: 48px !important; padding: 15px 0 !important;
    background: #0f2bed !important; color: #fff !important; font-weight: 600; font-size: 14px;
    text-transform: capitalize !important; border-radius: 2px; border: none; margin: 0 !important;
}


/* =========================================
   8. SMART BUTTON & PRODUCT UI
   ========================================= */
/* --- A. TECH SPECS & UPSELL --- */
.si-tech-specs { display: flex; align-items: center; gap: 8px; margin-top: 15px; font-family: inherit; }
.si-spec-label { font-size: 11px; font-weight: 600; text-transform: none; margin-right: 4px; color: #ffffff !important; opacity: 0.9; }
.si-logo-row { display: flex; gap: 10px; align-items: center; }
.si-logo-row img { height: 20px !important; width: auto !important; display: block; max-width: none !important; }
.si-separator { width: 1px; height: 16px; background-color: #555; margin: 0 5px; }
.si-upsell-link { display: flex; align-items: center; gap: 6px; text-decoration: none !important; opacity: 1; cursor: pointer; }
.si-upsell-link span { font-size: 11px; font-weight: 600; text-transform: none; color: #ffffff !important; position: relative; top: 1px; }
.si-icon-magic { height: 18px !important; width: auto !important; filter: none; }
/* --- B. DISCOUNT NUDGE --- */
.si-bundle-nudge { font-size: 13px; margin-bottom: 12px; text-align: center; opacity: 1.0; line-height: 1.4; color: #ffffff !important; }
.si-bundle-nudge strong, .si-bundle-nudge span { color: #ffffff !important; }
.si-mode-light .si-bundle-nudge, .si-mode-light .si-bundle-nudge strong, .si-mode-light .si-bundle-nudge span { color: #000000 !important; }
.si-mode-light .si-spec-label { color: #000000 !important; }
.si-mode-light .si-upsell-link span { color: #000000 !important; }
.si-mode-light .si-separator { background-color: #ccc; }
.si-mode-light .si-icon-magic { filter: invert(1) !important; }
/* --- C. STICKY FORM --- */
.si-js-fixed { position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; z-index: 999 !important; animation: slideDown 0.3s ease-out forwards; box-shadow: 0 10px 20px -10px rgba(0,0,0,0.15); background: #000; padding: 10px 15px !important; margin: 0; border-bottom: 1px solid rgba(255,255,255,0.1); }
.si-mode-light.si-js-fixed { background: #fff !important; border-bottom: 1px solid #eee; }
.si-js-fixed .si-license-toggle-wrapper, .si-js-fixed .si-swatch-wrapper, .si-js-fixed table.variations, .si-js-fixed .si-tech-specs { display: none !important; }
@keyframes slideDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }
/* --- D. SMART BUTTON --- */
html body .si-type-digital .single_add_to_cart_button.elementor-button,
html body .si-type-physical .single_add_to_cart_button.elementor-button {
    font-size: 0 !important;
    position: relative;
    min-height: 50px;
    width: 100% !important;
    display: block !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    pointer-events: auto !important;
    transition: all 0.2s ease !important;
    background-color: #0035f7 !important;
    color: #fff !important;
    border-radius: 4px !important;
    border: none !important;
}
html body .si-type-digital .single_add_to_cart_button.elementor-button:hover,
html body .si-type-physical .single_add_to_cart_button.elementor-button:hover {
    background-color: #002ad0 !important;
}
html body .single_add_to_cart_button::after {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-transform: capitalize !important;
}
html body .si-type-digital .single_add_to_cart_button::after { content: "Get Files"; }
html body .si-type-physical .single_add_to_cart_button::after { content: "Add to Cart"; }
html body form .single_add_to_cart_button.si-mode-checkout::after {
    content: "In Cart - Checkout" !important;
    background-color: transparent !important;
}
html body .single_add_to_cart_button.loading {
    opacity: 0.7 !important;
    pointer-events: none !important;
    cursor: wait !important;
}
html body .single_add_to_cart_button.loading::after {
    content: "Adding..." !important;
    animation: none !important;
    transform: none !important;
}
/* --- E. HEADER CART COUNT --- */
html body .si-cart-count {
    margin-right: 6px; margin-left: 0; font-family: monospace; font-size: 11px; font-weight: 700;
    color: #ffffff; opacity: 0.9; letter-spacing: 0.5px; display: inline-flex; align-items: center; line-height: 1;
}
html body .si-cart-count::before { content: '['; margin-right: 3px; opacity: 0.5; }
html body .si-cart-count::after { content: ']'; margin-left: 3px; opacity: 0.5; }
#si-header-cart-icon, .elementor-widget-button a[href*="cart"] {
    pointer-events: auto !important; z-index: 100 !important; cursor: pointer !important;
}
/* --- F. SKELETON DELETE --- */
html body .si-skeleton-delete { position: relative !important; pointer-events: none !important; overflow: hidden !important; }
html body .si-skeleton-delete .elementor-menu-cart__product-image,
html body .si-skeleton-delete .elementor-menu-cart__product-name,
html body .si-skeleton-delete .elementor-menu-cart__product-price,
html body .si-skeleton-delete .elementor-menu-cart__product-remove {
    opacity: 0.15 !important; filter: grayscale(100%) !important; transition: opacity 0.2s ease;
}
html body .si-skeleton-delete::after {
    content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0) 100%);
    background-size: 200% 100%; animation: siSkeletonShimmer 1.5s infinite linear; z-index: 10;
}
@keyframes siSkeletonShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }


/* =========================================
   9. BUNDLE BAR (Plugin: bf_price / bf_progress_bar)
   ========================================= */
/* Force all prices inside .bf-elementor-price to display in grey */
.bf-elementor-price,
.bf-elementor-price .amount,
.bf-elementor-price .woocommerce-Price-amount { color: #888 !important; }
.bf-elementor-price del { color: #888 !important; opacity: 0.5; }
/* Bundle badge */
.bf-bundle-badge {
    font-size: 11px; color: #888; font-weight: normal;
    margin-top: 4px; letter-spacing: 0.2px;
    opacity: 1; transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 1025px) {
    .bf-bundle-badge { opacity: 0; transform: translateY(3px); }
    .e-con-inner:hover .bf-bundle-badge,
    .elementor-element-populated:hover .bf-bundle-badge,
    .product:hover .bf-bundle-badge,
    .bf-elementor-price:hover .bf-bundle-badge { opacity: 1; transform: translateY(0); }
}
/* Progress bar container (hidden until JS fires) */
#bf-tier-container { display: none; }
.bf-progress-track {
    position: relative; height: 6px; background: #e0e0e0;
    border-radius: 3px; margin-top: 8px;
}
.bf-progress-fill {
    height: 100%; border-radius: 3px; background-color: #162ae4;
    transition: width 0.4s ease, background-color 0.4s ease;
}
.bf-marker {
    position: absolute; top: -18px; transform: translateX(-50%);
    font-size: 10px; color: #888; white-space: nowrap;
}
.bf-m-3 { left: 33.33%; }
.bf-m-6 { left: 66.66%; }
.bf-m-9 { left: 98%; }
.bf-tier-text { font-size: 13px; color: #888; margin-bottom: 6px; }


/* =========================================
   10. MISC PLUGIN STYLES
   ========================================= */
/* Hides native WooCommerce variation price — we render our own */
.woocommerce-variation-price,
form.variations_form .single_variation .price { display: none !important; }

/* Smart bundle price wrapper */
.si-smart-price-wrapper {
    font-weight: 600; display: inline-flex;
    align-items: baseline; line-height: 1; color: #888;
}

/* Search result badges */
.custom-badge {
    display: inline-block; padding: 2px 8px; border-radius: 4px;
    font-size: 11px; font-weight: 600; letter-spacing: 0.3px; text-transform: uppercase;
}
.badge-editor { background: #162ae4; color: #fff; }
.badge-download { background: #eee; color: #333; }

/* Read-more / Show-less toggle */
.si-read-more-content.si-expanded,
.si-read-more-section.si-expanded { padding-bottom: 50px; }
