/* CCS FAB Core — Fly Cart (from Code Snippet #20). Colours/sizes come from :root vars printed by the module. */
/* ============================================ */
/* Fly Cart v7.0.0 Styles - All !important      */
/* ============================================ */

/* Overlay */
.fc-overlay{display:none!important;position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:rgba(0,0,0,0.5)!important;z-index:999998!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important}
body.fc-cart-open{overflow:hidden!important}

/* Floating Icon */
.fc-floating-icon{position:fixed!important;width:var(--fc-icon_size)!important;height:var(--fc-icon_size)!important;background:var(--fc-icon_bg)!important;border-radius:50%!important;display:none!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;z-index:999997!important;box-shadow:0 4px 15px rgba(0,0,0,0.2)!important;transition:all 0.3s ease!important;padding:0!important;margin:0!important;border:none!important;line-height:1!important;box-sizing:border-box!important}
.fc-floating-icon.fc-has-items{display:flex!important}
.fc-floating-icon:hover{background:var(--fc-icon_bg_hover)!important;transform:scale(1.05)!important}
.fc-floating-icon svg{stroke:var(--fc-icon_color)!important;fill:none!important;width:50%!important;height:50%!important}
.fc-floating-icon .fc-badge{position:absolute!important;top:-5px!important;right:-5px!important;background:var(--fc-badge_bg)!important;color:var(--fc-badge_text)!important;font-size:11px!important;font-weight:700!important;min-width:20px!important;height:20px!important;line-height:20px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 5px!important;margin:0!important;border:none!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important}

/* Icon Positions */
.fc-pos-bottom-right{bottom:20px!important;right:20px!important}
.fc-pos-bottom-left{bottom:20px!important;left:20px!important}
.fc-pos-top-right{top:20px!important;right:20px!important}
.fc-pos-top-left{top:20px!important;left:20px!important}

/* Cart Panel */
.fc-cart-panel{position:fixed!important;top:0!important;height:100%!important;width:var(--fc-cart_width)!important;max-width:95vw!important;background:var(--fc-background)!important;z-index:999999!important;display:flex!important;flex-direction:column!important;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1)!important;box-shadow:-5px 0 30px rgba(0,0,0,0.15)!important;padding:0!important;margin:0!important;border:none!important;box-sizing:border-box!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important}
.fc-panel-right{right:0!important;left:auto!important;transform:translateX(100%)!important}
.fc-panel-left{left:0!important;right:auto!important;transform:translateX(-100%)!important}
.fc-cart-panel.fc-open{transform:translateX(0)!important}

/* Header */
.fc-cart-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:20px!important;border-bottom:1px solid var(--fc-border_color)!important;flex-shrink:0!important;background:var(--fc-background)!important;margin:0!important;box-sizing:border-box!important}
.fc-cart-panel .fc-cart-title{margin:0!important;padding:0!important;font-size:18px!important;font-weight:700!important;color:var(--fc-text_color)!important;text-transform:uppercase!important;letter-spacing:0.5px!important;line-height:1.2!important;background:transparent!important;border:none!important}
.fc-header-count{font-weight:400!important;color:var(--fc-text_light)!important;font-size:16px!important}
.fc-close{background:none!important;border:none!important;cursor:pointer!important;padding:5px!important;margin:0!important;color:var(--fc-text_light)!important;transition:color 0.2s!important;width:auto!important;height:auto!important;line-height:1!important}
.fc-close:hover{color:var(--fc-primary_color)!important}
.fc-close svg{stroke:currentColor!important;fill:none!important}

/* Content */
.fc-cart-content{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;display:flex!important;flex-direction:column!important;background:var(--fc-background)!important;-webkit-overflow-scrolling:touch!important}

/* Empty Cart */
.fc-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:40px 20px 20px!important;color:var(--fc-text_light)!important;text-align:center!important}
.fc-empty svg{margin-bottom:20px!important;opacity:0.5!important;stroke:currentColor!important}
.fc-empty p{margin:0 0 20px!important;font-size:16px!important;color:var(--fc-text_light)!important}

/* Empty Cart Suggestions */
.fc-empty-suggestions{padding:20px!important;border-top:1px solid var(--fc-border_color)!important;margin:0!important}
.fc-empty-suggestions-grid{display:grid!important;grid-template-columns:repeat(2, 1fr)!important;gap:12px!important;margin:0!important}
.fc-suggestion-item{background:#f9f9f9!important;border-radius:8px!important;overflow:hidden!important;border:1px solid var(--fc-border_color)!important;transition:border-color 0.2s!important}
.fc-suggestion-item:hover{border-color:var(--fc-primary_color)!important}
.fc-suggestion-image{display:block!important;width:100%!important;aspect-ratio:1!important;overflow:hidden!important}
.fc-suggestion-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.fc-suggestion-info{padding:8px!important}
.fc-suggestion-name{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:12px!important;color:var(--fc-text_color)!important;text-decoration:none!important;line-height:1.3!important;font-weight:500!important}
.fc-suggestion-name:hover{color:var(--fc-primary_color)!important}
.fc-suggestion-price{font-size:12px!important;font-weight:700!important;color:var(--fc-price_color)!important;margin-top:4px!important}
.fc-suggestion-price del{color:var(--fc-text_light)!important;font-weight:400!important;font-size:11px!important}
.fc-suggestion-price ins{text-decoration:none!important;color:var(--fc-sale_color)!important;background:transparent!important}

/* Shipping Bar */
.fc-shipping-bar{padding:15px 20px!important;background:#f9f9f9!important;border-bottom:1px solid var(--fc-border_color)!important;margin:0!important}
.fc-shipping-text{margin:0 0 10px!important;padding:0!important;font-size:13px!important;color:var(--fc-text_color)!important;display:flex!important;align-items:center!important;gap:8px!important}
.fc-shipping-text svg{flex-shrink:0!important;stroke:currentColor!important}
.fc-free-shipping-unlocked{color:var(--fc-success_color)!important}
.fc-progress-bar{height:6px!important;background:var(--fc-border_color)!important;border-radius:3px!important;overflow:hidden!important;margin:0!important;padding:0!important}
.fc-progress-fill{height:100%!important;background:var(--fc-success_color)!important;border-radius:3px!important;transition:width 0.3s ease!important}

/* Items */
.fc-items{padding:10px 0!important;transition:opacity 0.2s!important;margin:0!important}
.fc-item{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:15px 20px!important;border-bottom:1px solid var(--fc-border_color)!important;margin:0!important;background:transparent!important;box-sizing:border-box!important}
.fc-item:last-child{border-bottom:none!important}

/* Child items (bundles, composites, mix-and-match) */
.fc-item-child{padding-left:40px!important;background:#fafafa!important;border-bottom:1px dashed var(--fc-border_color)!important}
.fc-item-child .fc-item-image{width:50px!important;height:50px!important;min-width:50px!important}
.fc-item-child .fc-item-name{font-size:12px!important}

.fc-item-image{width:70px!important;height:70px!important;min-width:70px!important;flex-shrink:0!important;border-radius:8px!important;overflow:hidden!important;border:1px solid var(--fc-border_color)!important;padding:0!important;margin:0!important;position:relative!important;box-sizing:border-box!important}
.fc-item-image img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;padding:0!important;border:none!important;display:block!important}
.fc-item-image a{display:block!important;width:100%!important;height:100%!important}
.fc-item-details{flex:1!important;min-width:0!important}
.fc-item-name{font-size:14px!important;font-weight:600!important;color:var(--fc-text_color)!important;margin:0 0 4px 0!important;padding:0!important;line-height:1.3!important}
.fc-item-name a{color:inherit!important;text-decoration:none!important}
.fc-item-name a:hover{color:var(--fc-primary_color)!important}
.fc-item-variation{font-size:12px!important;color:var(--fc-text_light)!important;margin:0 0 4px 0!important;padding:0!important}

/* Item Meta (Add-Ons, Bundle contents, subscription info, membership, third-party data) */
.fc-item-meta{font-size:11px!important;color:var(--fc-text_light)!important;margin:4px 0!important;padding:0!important;line-height:1.4!important}
.fc-item-meta dl{margin:0!important;padding:0!important}
.fc-item-meta dt{font-weight:600!important;display:inline!important}
.fc-item-meta dd{display:inline!important;margin:0 0 0 4px!important}
.fc-item-meta dd::after{content:""!important;display:block!important}
.fc-item-meta p{margin:2px 0!important}

/* Subscription */
.fc-subscription-badge{position:absolute!important;bottom:4px!important;left:4px!important;background:var(--fc-primary_color)!important;color:#fff!important;font-size:10px!important;width:18px!important;height:18px!important;line-height:18px!important;text-align:center!important;border-radius:50%!important}
.fc-subscription-info{font-size:11px!important;color:var(--fc-primary_color)!important;margin:4px 0!important;font-weight:500!important}

/* Membership */
.fc-membership-info{margin:4px 0!important}
.fc-membership-badge{font-size:10px!important;background:var(--fc-success_color)!important;color:#fff!important;padding:2px 6px!important;border-radius:3px!important;font-weight:600!important}

/* Prices */
.fc-item-price{font-size:14px!important;font-weight:700!important;color:var(--fc-price_color)!important;margin:0!important;padding:0!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:5px!important}
.fc-item-price del{color:var(--fc-text_light)!important;font-weight:400!important;font-size:12px!important;text-decoration:line-through!important}
.fc-item-price ins{text-decoration:none!important;color:var(--fc-sale_color)!important;background:transparent!important;font-weight:700!important}
.fc-discount-badge{display:inline-block!important;background:var(--fc-sale_color)!important;color:#fff!important;font-size:9px!important;font-weight:700!important;padding:2px 5px!important;border-radius:3px!important;margin:0!important;line-height:1.2!important}

/* Quantity */
.fc-item-qty{display:flex!important;align-items:center!important;gap:0!important;flex-shrink:0!important}
.fc-qty-static{padding:0 4px!important}
.fc-qty-label{font-size:13px!important;color:var(--fc-text_light)!important;font-weight:500!important}
.fc-qty-btn{width:28px!important;height:28px!important;border:1px solid var(--fc-border_color)!important;background:var(--fc-background)!important;color:var(--fc-text_color)!important;font-size:16px!important;font-weight:400!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;transition:all 0.2s!important;line-height:1!important;box-sizing:border-box!important}
.fc-qty-minus{border-radius:5px 0 0 5px!important}
.fc-qty-plus{border-radius:0 5px 5px 0!important}
.fc-qty-btn:hover{background:var(--fc-primary_color)!important;border-color:var(--fc-primary_color)!important;color:#fff!important}
.fc-qty-input{width:40px!important;height:28px!important;border:1px solid var(--fc-border_color)!important;border-left:none!important;border-right:none!important;text-align:center!important;font-size:14px!important;font-weight:600!important;color:var(--fc-text_color)!important;background:var(--fc-background)!important;padding:0!important;margin:0!important;-moz-appearance:textfield!important;border-radius:0!important;box-sizing:border-box!important}
.fc-qty-input::-webkit-outer-spin-button,.fc-qty-input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}

/* Remove Button */
.fc-remove{background:none!important;border:none!important;cursor:pointer!important;padding:5px!important;margin:0!important;color:var(--fc-text_light)!important;transition:color 0.2s!important;flex-shrink:0!important;width:auto!important;height:auto!important;line-height:1!important}
.fc-remove:hover{color:#dc3545!important}
.fc-remove svg{stroke:currentColor!important;fill:none!important}

/* Related Products */
.fc-related{padding:20px!important;border-top:1px solid var(--fc-border_color)!important;background:#f9f9f9!important;margin:0!important}
.fc-related-title{margin:0 0 15px 0!important;padding:0!important;font-size:14px!important;font-weight:700!important;color:var(--fc-text_color)!important;text-transform:uppercase!important}
.fc-related-products{display:flex!important;gap:10px!important;overflow-x:auto!important;padding-bottom:5px!important;margin:0!important;-webkit-overflow-scrolling:touch!important}
.fc-related-item{flex:0 0 100px!important;text-align:center!important}
.fc-related-image{display:block!important;width:100px!important;height:100px!important;border-radius:8px!important;overflow:hidden!important;margin-bottom:8px!important;border:1px solid var(--fc-border_color)!important}
.fc-related-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.fc-related-name{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;font-size:11px!important;color:var(--fc-text_color)!important;text-decoration:none!important;line-height:1.3!important;margin-bottom:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important}
.fc-related-name:hover{color:var(--fc-primary_color)!important}
.fc-related-price{font-size:12px!important;font-weight:700!important;color:var(--fc-price_color)!important}
.fc-related-price del{color:var(--fc-text_light)!important;font-weight:400!important;font-size:10px!important}
.fc-related-price ins{text-decoration:none!important;color:var(--fc-sale_color)!important;background:transparent!important}

/* Upsell Booster */
.fc-upsell-booster{margin:15px!important;padding:15px!important;border-radius:10px!important;border-left:4px solid!important}
.fc-upsell-badge{font-size:12px!important;font-weight:700!important;margin-bottom:10px!important;color:var(--fc-text_color)!important}
.fc-upsell-content{display:flex!important;gap:12px!important;margin-bottom:12px!important}
.fc-upsell-image{width:60px!important;height:60px!important;border-radius:6px!important;overflow:hidden!important;flex-shrink:0!important}
.fc-upsell-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.fc-upsell-info{flex:1!important;min-width:0!important}
.fc-upsell-name{font-size:13px!important;font-weight:600!important;color:var(--fc-text_color)!important;margin-bottom:4px!important}
.fc-upsell-prices{display:flex!important;align-items:center!important;gap:6px!important;margin-bottom:4px!important;flex-wrap:wrap!important}
.fc-upsell-original{font-size:12px!important;color:var(--fc-text_light)!important;text-decoration:line-through!important}
.fc-upsell-discounted{font-size:14px!important;font-weight:700!important;color:var(--fc-sale_color)!important}
.fc-upsell-save{font-size:10px!important;background:var(--fc-sale_color)!important;color:#fff!important;padding:2px 5px!important;border-radius:3px!important;font-weight:700!important}
.fc-upsell-message{font-size:11px!important;color:var(--fc-text_light)!important}

/* Coupon Section */
.fc-coupon-section{padding:0 0 15px 0!important;margin:0 0 15px 0!important;border-bottom:1px solid var(--fc-border_color)!important}
.fc-coupon-form{display:flex!important;gap:8px!important;margin:0!important}
.fc-coupon-input{flex:1!important;padding:8px 12px!important;border:1px solid var(--fc-border_color)!important;border-radius:5px!important;font-size:13px!important;color:var(--fc-text_color)!important;background:var(--fc-background)!important;outline:none!important;box-sizing:border-box!important;height:36px!important;margin:0!important}
.fc-coupon-input:focus{border-color:var(--fc-primary_color)!important}
.fc-coupon-input::placeholder{color:var(--fc-text_light)!important}
.fc-coupon-apply{padding:8px 16px!important;background:var(--fc-primary_color)!important;color:#fff!important;border:none!important;border-radius:5px!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important;text-transform:uppercase!important;white-space:nowrap!important;height:36px!important;box-sizing:border-box!important;transition:background 0.2s!important;margin:0!important}
.fc-coupon-apply:hover{background:var(--fc-primary_hover)!important}
.fc-coupon-apply:disabled{opacity:0.6!important;cursor:not-allowed!important}
.fc-coupon-error{margin:8px 0 0 0!important;padding:8px 12px!important;background:#fef2f2!important;color:#991b1b!important;font-size:12px!important;border-radius:4px!important;border:1px solid #fecaca!important}
.fc-applied-coupons{margin:0 0 10px 0!important}
.fc-applied-coupon{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:8px 12px!important;background:var(--fc-coupon_success_bg)!important;border-radius:5px!important;margin-bottom:6px!important;border:1px solid var(--fc-coupon_success_text)30!important}
.fc-applied-coupon:last-child{margin-bottom:0!important}
.fc-coupon-tag{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:600!important;color:var(--fc-coupon_success_text)!important}
.fc-coupon-tag svg{stroke:currentColor!important;flex-shrink:0!important}
.fc-coupon-amount{font-weight:700!important;margin-left:4px!important}
.fc-coupon-remove{background:none!important;border:none!important;cursor:pointer!important;padding:2px!important;margin:0!important;color:var(--fc-coupon_success_text)!important;opacity:0.6!important;transition:opacity 0.2s!important;line-height:1!important}
.fc-coupon-remove:hover{opacity:1!important}
.fc-coupon-remove svg{stroke:currentColor!important}

/* Footer */
.fc-footer{padding:20px!important;border-top:1px solid var(--fc-border_color)!important;background:var(--fc-background)!important;flex-shrink:0!important;margin:0!important;box-sizing:border-box!important;margin-top:auto!important}
.fc-subtotal{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 0 4px 0!important;padding:0!important;font-size:15px!important;color:var(--fc-text_color)!important}
.fc-subtotal-amount{font-weight:700!important;color:var(--fc-text_color)!important;font-size:18px!important}
.fc-discount-total{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 0 4px 0!important;padding:0!important;font-size:13px!important;color:var(--fc-success_color)!important}
.fc-discount-amount{font-weight:600!important}
.fc-cart-total{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 0 8px 0!important;padding:8px 0 0 0!important;font-size:16px!important;color:var(--fc-text_color)!important;border-top:1px solid var(--fc-border_color)!important;font-weight:700!important}
.fc-total-amount{font-size:20px!important;font-weight:700!important}
.fc-shipping-note{margin:0 0 15px 0!important;padding:0!important;font-size:12px!important;color:var(--fc-text_light)!important}
.fc-buttons{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0 0 15px 0!important;padding:0!important}
.fc-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:14px 20px!important;font-size:14px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:0.5px!important;border-radius:5px!important;cursor:pointer!important;text-decoration:none!important;transition:all 0.2s!important;margin:0!important;line-height:1.2!important;text-align:center!important;box-sizing:border-box!important;font-family:inherit!important}
.fc-btn svg{stroke:currentColor!important;fill:none!important}
.fc-btn-primary{background:var(--fc-primary_color)!important;color:#fff!important;border:none!important}
.fc-btn-primary:hover{background:var(--fc-primary_hover)!important;color:#fff!important}
.fc-btn-outline{background:var(--fc-background)!important;color:var(--fc-primary_color)!important;border:2px solid var(--fc-primary_color)!important}
.fc-btn-outline:hover{background:var(--fc-primary_color)!important;color:#fff!important}
.fc-continue{display:block!important;width:100%!important;background:none!important;border:none!important;color:var(--fc-text_light)!important;font-size:13px!important;cursor:pointer!important;text-align:center!important;padding:5px!important;margin:0!important;font-family:inherit!important}
.fc-continue:hover{color:var(--fc-primary_color)!important;text-decoration:underline!important}

/* Gang Sheet Builder previews — fly cart */
.fc-item .gsb-cart-preview{object-fit:contain!important;background:#f5f5f5!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important}

/* Gang Sheet quantity lock on WooCommerce cart page */
.woocommerce-cart-form .fc-item-qty.fc-qty-static{display:flex!important;align-items:center!important;justify-content:center!important}
.woocommerce-cart-form .fc-qty-label{font-size:15px!important;font-weight:600!important;color:#555!important}

/* WooCommerce Cart Page — General Polish */
.woocommerce-cart-form .shop_table{border-collapse:collapse!important}
.woocommerce-cart-form .shop_table td.product-thumbnail{width:90px!important;min-width:90px!important;max-width:90px!important;padding:12px!important;vertical-align:middle!important}
.woocommerce-cart-form .shop_table td.product-thumbnail img{max-width:80px!important;max-height:80px!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:4px!important}
.woocommerce-cart-form .shop_table td.product-thumbnail a{display:block!important;max-width:80px!important;line-height:0!important}
.woocommerce-cart-form .shop_table td.product-name{vertical-align:middle!important}
.woocommerce-cart-form .shop_table td.product-price,.woocommerce-cart-form .shop_table td.product-subtotal{vertical-align:middle!important;font-weight:600!important}
.woocommerce-cart-form .shop_table td.product-quantity{vertical-align:middle!important}
.woocommerce-cart-form .product-thumbnail .gsb-cart-preview{max-width:80px!important;max-height:80px!important;width:auto!important;height:auto!important;object-fit:contain!important;border:1px solid #ddd!important;border-radius:4px!important;background:#f9f9f9!important}
.woocommerce-cart-form .product-thumbnail a:has(.gsb-cart-preview){display:inline-block!important;max-width:80px!important}

/* WooCommerce Cart Page — Gang Sheet item meta cleanup */
.woocommerce-cart-form .variation dt{font-weight:600!important;color:#666!important;font-size:13px!important}
.woocommerce-cart-form .variation dd p{margin:0!important}
.woocommerce-cart-form .variation .variation-Preview img{max-width:60px!important;max-height:40px!important;border-radius:3px!important;border:1px solid #ddd!important}

/* Scrollbar */
.fc-cart-content::-webkit-scrollbar{width:6px!important}
.fc-cart-content::-webkit-scrollbar-track{background:transparent!important}
.fc-cart-content::-webkit-scrollbar-thumb{background:var(--fc-border_color)!important;border-radius:3px!important}
.fc-cart-content::-webkit-scrollbar-thumb:hover{background:var(--fc-text_light)!important}

/* Mobile */
@media(max-width:480px){
    .fc-cart-panel{width:100%!important;max-width:100%!important}
    .fc-item{flex-wrap:wrap!important}
    .fc-item-qty{margin-top:8px!important}
    .fc-empty-suggestions-grid{grid-template-columns:repeat(2, 1fr)!important;gap:8px!important}
}
