/**
 * Frontend Styles
 *
 * Customer-facing styles for discount badges, price displays, and cart elements.
 * Designed to integrate seamlessly with WooCommerce themes while maintaining
 * consistent branding for Smart Cycle Discounts.
 *
 * @package    SmartCycleDiscounts
 * @subpackage SmartCycleDiscounts/resources/assets/css/frontend/frontend.css
 * @author     Webstepper.io <contact@webstepper.io>
 * @copyright  2025 Webstepper.io
 * @license    GPL-3.0-or-later https://www.gnu.org/licenses/gpl-3.0.html
 * @link       https://webstepper.io/wordpress/plugins/smart-cycle-discounts/
 * @since      1.0.0
 *
 * Table of Contents:
 * 1. CSS Custom Properties (Frontend-specific)
 * 2. Discount Badge Base Styles
 * 3. Badge Position Variants
 * 4. Badge Style Variants
 * 5. Price Display Styles
 * 6. Shop Loop Integration
 * 7. Single Product Integration
 * 8. Cart & Mini-Cart Integration
 * 9. Checkout Integration
 * 10. Tiered Discount Display
 * 11. BOGO Display
 * 12. Countdown Timer
 * 13. Animations & Transitions
 * 14. Responsive Styles
 * 15. Accessibility
 * 16. Print Styles
 */
 :root{--wsscd-frontend-badge-bg:#d63638;--wsscd-frontend-badge-color:#fff;--wsscd-frontend-badge-bg-hover:#b32d2e;--wsscd-frontend-discount-color:#00a32a;--wsscd-frontend-success-color:#00a32a;--wsscd-frontend-savings-color:#d63638;--wsscd-frontend-original-price-color:#787c82;--wsscd-frontend-sale-price-color:#d63638;--wsscd-frontend-badge-font-size:12px;--wsscd-frontend-badge-font-size-sm:11px;--wsscd-frontend-badge-font-size-lg:14px;--wsscd-frontend-badge-padding:4px 10px;--wsscd-frontend-badge-padding-sm:3px 8px;--wsscd-frontend-badge-padding-lg:6px 14px;--wsscd-frontend-badge-radius:4px;--wsscd-frontend-badge-shadow:0 6px 16px rgba(15, 23, 42, 0.14);--wsscd-frontend-badge-shadow-soft:0 4px 10px rgba(15, 23, 42, 0.1);--wsscd-frontend-spacing-xs:4px;--wsscd-frontend-spacing-sm:8px;--wsscd-frontend-spacing-md:12px;--wsscd-frontend-spacing-lg:16px;--wsscd-frontend-transition:200ms ease}.wcpa_price_summary .wsscd-live-total-pending,.wcpa-price-summary .wsscd-live-total-pending{visibility:hidden}.wsscd-price-wrapper{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--wsscd-frontend-spacing-sm)}.wsscd-savings{display:inline-block;color:var(--wsscd-frontend-savings-color);font-size:.85em;font-weight:600}.wsscd-savings::before{content:"("}.wsscd-savings::after{content:")"}.wsscd-has-discount .onsale,.wsscd-has-discount .woocommerce-onsale,.wsscd-has-discount span.onsale,li.product.wsscd-has-discount .onsale,li.product.wsscd-has-discount .woocommerce-onsale{display:none!important}.wsscd-has-discount .sale-badge,.wsscd-has-discount .product-badge.sale,.wsscd-has-discount .badge-sale,.wsscd-has-discount .product-label.sale,.wsscd-has-discount .product-sale-label,.wsscd-has-discount .sale-flash,.wsscd-has-discount .sale-tag,.wsscd-has-discount [class*="sale-badge"],.wsscd-has-discount [class*="product-sale"],li.product.wsscd-has-discount .sale-badge,li.product.wsscd-has-discount .product-badge.sale,li.product.wsscd-has-discount .badge-sale,li.product.wsscd-has-discount [class*="sale-badge"]{display:none!important}.wsscd-has-discount .ast-onsale-card,.wsscd-has-discount .ast-on-card-button,li.product.wsscd-has-discount .ast-onsale-card{display:none!important}.wsscd-has-discount .badge-container .badge,.wsscd-has-discount .callout.badge,.wsscd-has-discount .badge.onsale,li.product.wsscd-has-discount .badge-container .badge.onsale{display:none!important}.wsscd-has-discount .owp-badge,.wsscd-has-discount .woo-entry-onsale,li.product.wsscd-has-discount .owp-badge{display:none!important}.wsscd-has-discount .wc-sale-badge,.wsscd-has-discount .gp-wc-sale-flash,li.product.wsscd-has-discount .wc-sale-badge{display:none!important}.wsscd-has-discount .product-tag.sale,.wsscd-has-discount .product-flags .sale,li.product.wsscd-has-discount .product-tag.sale{display:none!important}.wsscd-has-discount .onhot,.wsscd-has-discount .porto-label-onsale,li.product.wsscd-has-discount .onhot{display:none!important}.wsscd-has-discount .ribbon-sale,.wsscd-has-discount .label-sale,li.product.wsscd-has-discount .ribbon-sale{display:none!important}.wsscd-has-discount .jet-woo-product-badge.sale,.wsscd-has-discount .elementor-widget-wc-products .onsale,li.product.wsscd-has-discount .jet-woo-product-badge.sale{display:none!important}.wsscd-has-discount .et_shop_sale_icon,.wsscd-has-discount .et_pb_sale_badge,li.product.wsscd-has-discount .et_shop_sale_icon{display:none!important}.wsscd-has-discount [class*="-onsale"],.wsscd-has-discount [class*="_onsale"],.wsscd-has-discount [class*="-sale-badge"],.wsscd-has-discount [class*="_sale_badge"],.wsscd-has-discount [class*="sale-label"],.wsscd-has-discount [class*="sale_label"],li.product.wsscd-has-discount [class*="-onsale"],li.product.wsscd-has-discount [class*="-sale-badge"]{display:none!important}body.wsscd-has-discount .woocommerce-product-gallery .onsale,body.wsscd-has-discount .single-product .onsale,body.wsscd-has-discount .product .onsale{display:none!important}.woocommerce ul.products li.product,.wc-block-product{position:relative}.woocommerce ul.products li.product .ct-image-container,.woocommerce ul.products li.product .ct-media-container,.wc-block-product .wc-block-components-product-image,.wc-block-product .wsscd-product-image-wrapper{position:relative}.wsscd-badge-anchor{position:relative}.wsscd-badge-slot--shop{position:absolute;z-index:15;pointer-events:none}.wsscd-badge-slot--shop>*{pointer-events:auto}.wsscd-badge-slot--shop.wsscd-badge-slot--top-left{top:10px;left:10px;right:auto;bottom:auto}.wsscd-badge-slot--shop.wsscd-badge-slot--top-right{top:10px;right:10px;left:auto;bottom:auto}.wsscd-badge-slot--shop.wsscd-badge-slot--bottom-left{bottom:10px;left:10px;top:auto;right:auto}.wsscd-badge-slot--shop.wsscd-badge-slot--bottom-right{bottom:10px;right:10px;top:auto;left:auto}.wsscd-badge-slot--shop.wsscd-badge-slot--top-left.wsscd-badge-slot--with-sale,.wsscd-badge-slot--shop.wsscd-badge-slot--top-right.wsscd-badge-slot--with-sale{top:45px}.woocommerce ul.products li.product .wsscd-product-image-wrapper,.wc-block-product .wsscd-product-image-wrapper{position:relative;overflow:hidden}.woocommerce div.product .woocommerce-product-gallery{position:relative}.woocommerce div.product .wsscd-gallery-image-wrapper{position:relative;display:inline-block}.woocommerce div.product .wsscd-discount-info{margin:var(--wsscd-frontend-spacing-md) 0;padding:var(--wsscd-frontend-spacing-md);background-color:#f8f9fa;border-left:3px solid var(--wsscd-frontend-discount-color);border-radius:0 var(--wsscd-frontend-badge-radius) var(--wsscd-frontend-badge-radius) 0}.woocommerce div.product .wsscd-discount-info p{margin:0;color:var(--wsscd-frontend-discount-color);font-weight:500}.woocommerce div.product .wsscd-gallery-thumbnail-wrapper{position:relative;display:inline-block}.woocommerce-cart-form__cart-item .wsscd-discount-info{display:block;margin-top:var(--wsscd-frontend-spacing-xs);font-size:.9em;color:var(--wsscd-frontend-discount-color)}.woocommerce .widget_shopping_cart .wsscd-discount-info{font-size:.85em;color:var(--wsscd-frontend-discount-color);margin-top:var(--wsscd-frontend-spacing-xs)}.wsscd-cart-savings{display:inline-block;margin-left:var(--wsscd-frontend-spacing-xs);padding:1px 6px;font-size:.78em;font-weight:600;color:var(--wsscd-frontend-discount-color);background-color:rgb(0 0 0 / .04);border-radius:var(--wsscd-frontend-badge-radius);white-space:nowrap;vertical-align:middle}.wsscd-discount-details{margin:var(--wsscd-frontend-spacing-lg) 0;padding:0;--wsscd-details-accent:var(--wsscd-frontend-discount-color);--wsscd-details-text:#ffffff;--wsscd-details-accent-soft:rgba(0, 163, 42, 0.08)}.wsscd-tier-table-wrapper{background-color:#f8f9fa;border-radius:var(--wsscd-frontend-badge-radius);padding:var(--wsscd-frontend-spacing-md);border:1px solid #e0e0e0}.wsscd-tier-table-title{margin:0 0 var(--wsscd-frontend-spacing-sm) 0;padding:0;font-size:1em;font-weight:700;color:var(--wsscd-frontend-discount-color);text-align:center}.wsscd-tier-table{width:100%;border-collapse:collapse;margin:0;font-size:.9em;background-color:#fff;border-radius:var(--wsscd-frontend-badge-radius);overflow:hidden}.wsscd-tier-table th,.wsscd-tier-table td{padding:var(--wsscd-frontend-spacing-sm) var(--wsscd-frontend-spacing-md);border-bottom:1px solid #e9ecef;text-align:left}.wsscd-tier-table thead tr{background-color:#f1f3f5}.wsscd-tier-table th{font-weight:600;color:#495057;font-size:.85em;text-transform:uppercase;letter-spacing:.03em}.wsscd-tier-table tbody tr:last-child td{border-bottom:none}.wsscd-tier-table tbody tr:hover{background-color:rgb(0 163 42 / .04)}.wsscd-tier-table tr.active{background-color:rgb(0 163 42 / .08)}.wsscd-tier-table .wsscd-tier-discount{color:var(--wsscd-frontend-discount-color);font-weight:600}.wsscd-spend-progress-container{margin:var(--wsscd-frontend-spacing-lg) 0}.wsscd-spend-progress{background-color:#f8f9fa;border-radius:var(--wsscd-frontend-badge-radius);padding:var(--wsscd-frontend-spacing-md);margin-bottom:var(--wsscd-frontend-spacing-md)}.wsscd-spend-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--wsscd-frontend-spacing-sm)}.wsscd-spend-title{font-weight:600;color:#333;font-size:.95em}.wsscd-spend-progress-bar-wrapper{height:10px;background-color:#e0e0e0;border-radius:5px;overflow:hidden;margin-bottom:var(--wsscd-frontend-spacing-sm)}.wsscd-spend-progress-bar{height:100%;background-color:var(--wsscd-frontend-badge-bg);border-radius:5px;transition:width 0.5s ease-out;min-width:0}.wsscd-spend-message{display:block;font-size:.9em;color:#555;text-align:center}.wsscd-spend-message strong{color:var(--wsscd-frontend-badge-bg)}.wsscd-spend-message.wsscd-spend-complete{color:var(--wsscd-frontend-discount-color)}.wsscd-spend-message.wsscd-spend-complete strong{color:var(--wsscd-frontend-discount-color)}.wsscd-bogo-description{font-size:.9em;color:#555}.wsscd-bogo-details{background:linear-gradient(135deg,#fff5f5 0%,#fff 100%);border:1px solid rgb(214 54 56 / .2);border-radius:var(--wsscd-frontend-badge-radius);padding:var(--wsscd-frontend-spacing-md);text-align:center}.wsscd-bogo-offer{margin:0;font-size:1.1em;font-weight:700;color:var(--wsscd-frontend-badge-bg)}.wsscd-discount-details .wsscd-bundle-details-title{color:inherit}.wsscd-discount-details .wsscd-bundle-details-wrapper{background-color:#fff0;border:none;border-radius:0;padding:0}.wsscd-discount-details .wsscd-bundle-product-list li::marker{color:inherit}.wsscd-discount-details--matched .wsscd-tier-table-wrapper,.wsscd-discount-details--matched .wsscd-bogo-details,.wsscd-discount-details--matched .wsscd-bundle-details-wrapper{background-image:linear-gradient(135deg,var(--wsscd-details-accent-soft) 0%,#fff 100%)}.wsscd-discount-details--matched .wsscd-tier-table-wrapper{border-color:var(--wsscd-details-accent-soft)}.wsscd-discount-details--matched .wsscd-tier-table-title,.wsscd-discount-details--matched .wsscd-tier-table .wsscd-tier-discount,.wsscd-discount-details--matched .wsscd-bogo-offer,.wsscd-discount-details--matched .wsscd-bundle-details-title{color:var(--wsscd-details-accent)}.wsscd-discount-details--matched .wsscd-tier-table thead tr{background-color:var(--wsscd-details-accent)}.wsscd-discount-details--matched .wsscd-tier-table th{color:var(--wsscd-details-text)}.wsscd-discount-details--matched .wsscd-tier-table tbody tr:hover,.wsscd-discount-details--matched .wsscd-tier-table tr.active{background-color:var(--wsscd-details-accent-soft)}.wsscd-discount-details--matched .wsscd-bogo-details,.wsscd-discount-details--matched .wsscd-bundle-details-wrapper{border-color:var(--wsscd-details-accent-soft)}.wsscd-discount-details--matched .wsscd-bundle-details-wrapper{border-style:solid;border-width:1px;border-radius:var(--wsscd-frontend-badge-radius);padding:var(--wsscd-frontend-spacing-md)}.wsscd-discount-details--matched .wsscd-bundle-product-list li::marker{color:var(--wsscd-details-accent)}.wsscd-countdown{display:inline-flex;align-items:center;gap:var(--wsscd-frontend-spacing-sm);padding:var(--wsscd-frontend-spacing-sm) var(--wsscd-frontend-spacing-md);background-color:#fff8e1;border:1px solid #fc0;border-radius:var(--wsscd-frontend-badge-radius);font-size:.9em}.wsscd-countdown-timer{display:flex;gap:var(--wsscd-frontend-spacing-xs);font-weight:700;color:#333;font-variant-numeric:tabular-nums}.wsscd-countdown.wsscd-countdown-urgent{background-color:#fff5f5;border-color:var(--wsscd-frontend-badge-bg);animation:wsscd-pulse 2s infinite}@keyframes wsscd-badge-enter{from{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes wsscd-pulse{0%,100%{opacity:1}50%{opacity:.7}}.wsscd-pulse{animation:wsscd-pulse 2s infinite}@keyframes wsscd-shine{from{background-position:-100% 0}to{background-position:200% 0}}@media screen and (max-width:782px){.wsscd-countdown{flex-wrap:wrap;justify-content:center}}@media screen and (max-width:480px){.wsscd-tier-table-wrapper{padding:var(--wsscd-frontend-spacing-sm)}.wsscd-tier-table-title{font-size:.9em}.wsscd-tier-table{font-size:.85em}.wsscd-tier-table th,.wsscd-tier-table td{padding:var(--wsscd-frontend-spacing-xs) var(--wsscd-frontend-spacing-sm)}.wsscd-countdown-timer{flex-wrap:wrap;justify-content:center}}@media (prefers-reduced-motion:reduce){.wsscd-countdown{animation:none;transition:none;transform:none}}@media print{.wsscd-countdown{display:none}}