/* WC Bundles & Addons – frontend styles (cached external file)
 * Dynamic colors/sizes are injected as CSS custom properties on .wcba-groups-wrap
 * (see WCBA_Frontend::render). Fallback values keep things sane if vars are missing. */

.wcba-groups-wrap{
    margin:20px 0;direction:rtl;text-align:right;
    /* fallbacks for the injected vars */
    --wcba-bg-selected:#f0f7fc;--wcba-border-selected:#2271b1;--wcba-required-badge:#e2401c;
    --wcba-accordion-bg:#f8f8f8;--wcba-accordion-text:#333333;
    --wcba-addon-btn-bg:#f60;--wcba-addon-btn-icon:#fff;
    --wcba-addon-selected:#4CAF50;--wcba-addon-sel-bg:#4CAF5015;--wcba-addon-check:#4CAF50;--wcba-addon-price:#f60;
    --wcba-qty-btn-color:#B08419;--wcba-counter-color:#e2401c;
    --wcba-addon-border-w:2px;--wcba-addon-radius:12px;--wcba-qty-btn-size:20px;--wcba-counter-size:13px;
}
.wcba-groups-wrap script{display:none}
.wcba-group{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eee}
.wcba-group:last-of-type{border-bottom:none}
.wcba-group-title{font-size:16px;font-weight:600;margin:0 0 12px;color:#333;text-align:right}
.wcba-required-badge{color:var(--wcba-required-badge);font-weight:bold}
.wcba-selection-hint{font-size:var(--wcba-counter-size);font-weight:400;color:var(--wcba-counter-color)}
.wcba-accordion-header{cursor:pointer;padding:12px 16px;background:var(--wcba-accordion-bg);color:var(--wcba-accordion-text);border:1px solid #e5e5e5;border-radius:6px;display:flex;justify-content:space-between;align-items:center;user-select:none}
.wcba-accordion-header:hover{opacity:.9}
.wcba-accordion-arrow{font-size:12px;color:#888}
.wcba-accordion-body{border:1px solid #e5e5e5;border-top:none;border-radius:0 0 6px 6px;padding:12px}
.wcba-items.wcba-layout-grid{display:grid!important;gap:10px!important}
.wcba-items.wcba-display-checkbox.wcba-layout-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
.wcba-items.wcba-display-cards.wcba-layout-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important}
.wcba-items.wcba-layout-list{display:flex!important;flex-direction:column!important;gap:8px!important}
.wcba-items.wcba-layout-grid.wcba-hidden,.wcba-items.wcba-layout-list.wcba-hidden,.wcba-items.wcba-hidden,.wcba-accordion-body.wcba-hidden,.wcba-hidden{display:none!important}
.wcba-checkbox-label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5e5e5;border-radius:6px;cursor:pointer;transition:all .2s}
.wcba-checkbox-label:hover{border-color:#bbb;background:#fafafa}
.wcba-checkbox-label input[type="checkbox"]{flex-shrink:0}
.wcba-checkbox-image{width:45px;height:45px;object-fit:cover;border-radius:4px;flex-shrink:0}
.wcba-item-name{flex:1;font-size:14px}
.wcba-item-price{font-size:13px;color:#e2401c;font-weight:600;white-space:nowrap}
.wcba-item.wcba-selected .wcba-checkbox-label{border-color:var(--wcba-border-selected);background:var(--wcba-bg-selected)}
.wcba-bundle-toggle{cursor:pointer}
.wcba-bundle-item.wcba-has-qty .wcba-checkbox-label,.wcba-bundle-item.wcba-has-qty .wcba-card{border-color:var(--wcba-border-selected);background:var(--wcba-bg-selected)}
.wcba-bundle-qty-controls{display:inline-flex!important;align-items:center!important;flex-shrink:0;direction:ltr;gap:2px;background:none!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}
span.wcba-qty-btn,span.wcba-qty-btn.wcba-qty-minus,span.wcba-qty-btn.wcba-qty-plus,.wcba-bundle-qty-controls .wcba-qty-btn,.cart .wcba-qty-btn,.cart span.wcba-qty-btn{display:inline!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;border:0!important;border-width:0!important;background:none!important;background-color:transparent!important;box-shadow:none!important;cursor:pointer!important;font-size:var(--wcba-qty-btn-size)!important;color:var(--wcba-qty-btn-color)!important;padding:0 4px!important;margin:0!important;line-height:1!important;user-select:none;-webkit-user-select:none;text-shadow:none!important;outline:none!important;border-radius:0!important;text-decoration:none!important;letter-spacing:normal!important;text-transform:none!important;font-weight:600!important;vertical-align:middle!important}
span.wcba-qty-btn:hover,.cart span.wcba-qty-btn:hover{color:var(--wcba-qty-btn-color)!important;opacity:.7;background:none!important;background-color:transparent!important;box-shadow:none!important}
.wcba-bundle-qty-display{min-width:12px;text-align:center;font-size:13px;font-weight:600;color:#333;vertical-align:middle}
.wcba-card .wcba-bundle-qty-controls{margin-top:6px;justify-content:center}
.wcba-checkbox-label .wcba-bundle-qty-controls{margin-right:auto;margin-left:0}
.wcba-card{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;text-align:center;position:relative;transition:all .2s}
.wcba-card:hover{border-color:#bbb}
.wcba-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}
.wcba-card-image{width:80px;height:80px;margin-bottom:8px;border-radius:6px;overflow:hidden}
.wcba-card-image img{width:100%;height:100%;object-fit:cover}
.wcba-card-name{font-size:13px;font-weight:500}
.wcba-card-price{font-size:12px;color:#e2401c;font-weight:600}
.wcba-item.wcba-selected .wcba-card{border-color:var(--wcba-border-selected);background:var(--wcba-bg-selected)}
.wcba-item.wcba-disabled{opacity:.35;pointer-events:none}
.wcba-addon-items.wcba-layout-list{display:flex!important;flex-direction:column!important;gap:8px!important}
.wcba-addon-items.wcba-layout-grid{display:grid!important;gap:10px!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}
.wcba-addon-label{display:flex;align-items:center;gap:12px;padding:10px 14px;border:var(--wcba-addon-border-w) solid #e5e5e5;border-radius:var(--wcba-addon-radius);cursor:pointer;transition:all .25s;background:#fff;direction:rtl;position:relative}
.wcba-addon-label:hover{border-color:#ccc}
.wcba-addon-label input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}
.wcba-addon-cart-btn{width:36px;height:36px;border-radius:50%;background:var(--wcba-addon-btn-bg);display:flex;align-items:center;justify-content:center;color:var(--wcba-addon-btn-icon);flex-shrink:0;transition:all .25s}
.wcba-addon-image{width:46px;height:46px;object-fit:contain;border-radius:6px;flex-shrink:0}
.wcba-addon-info{flex:1;display:flex;align-items:center;gap:6px;text-align:right;flex-wrap:wrap}
.wcba-addon-name{font-size:14px;font-weight:500;color:#333}
.wcba-addon-price{font-size:13px;color:var(--wcba-addon-price);font-weight:600;white-space:nowrap}
.wcba-addon-check{width:24px;height:24px;border-radius:50%;border:var(--wcba-addon-border-w) solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;color:transparent;font-size:14px;font-weight:bold;flex-shrink:0;transition:all .25s}
.wcba-item.wcba-selected .wcba-addon-label{border-color:var(--wcba-addon-selected)!important;background:var(--wcba-addon-sel-bg)}
.wcba-item.wcba-selected .wcba-addon-cart-btn{background:var(--wcba-addon-selected)}
.wcba-item.wcba-selected .wcba-addon-check{background:var(--wcba-addon-check);border-color:var(--wcba-addon-check);color:#fff}
.wcba-item-required .wcba-addon-label{border-right:4px solid var(--wcba-addon-btn-bg)}
.wcba-addon-select{width:100%;padding:10px 12px;border:2px solid #e5e5e5;border-radius:8px;font-size:14px;direction:rtl;cursor:pointer}
.wcba-addon-select:focus{border-color:var(--wcba-addon-selected);outline:none}
.wcba-max-message{font-size:13px;color:#e2401c;font-weight:600;margin-top:8px;padding:6px 12px;background:#fef8f8;border-radius:4px;border:1px solid #f5d5d5}
.wcba-qty-wrap{margin-top:6px;display:flex;align-items:center;gap:6px;padding:4px 12px}
.wcba-qty-label{font-size:12px;color:#666}
.wcba-item-qty{width:50px;padding:4px;border:1px solid #ddd;border-radius:4px;text-align:center;font-size:13px}
.wcba-selection-counter{font-size:var(--wcba-counter-size);color:var(--wcba-counter-color);margin-top:8px}
.wcba-counter-current{font-weight:600;color:var(--wcba-counter-color)}
.wcba-validation-messages{margin-top:12px}
.wcba-errors{list-style:none;padding:10px 16px;margin:0;background:#fef1f1;border:1px solid #e2401c;border-radius:6px;text-align:right}
.wcba-errors li{color:#c00;font-size:13px;padding:3px 0}
.wcba-errors li::before{content:"⚠ "}
.wcba-group-error{border:2px solid #e2401c!important;border-radius:6px;padding:8px}
@media(max-width:600px){
    .wcba-addon-items.wcba-layout-grid{grid-template-columns:1fr!important}
    .wcba-addon-label{padding:6px 10px!important;gap:8px!important;border-radius:8px!important}
    .wcba-addon-image{width:36px!important;height:36px!important}
    .wcba-addon-cart-btn{width:30px!important;height:30px!important}
    .wcba-addon-cart-btn svg{width:16px!important;height:16px!important}
    .wcba-addon-name{font-size:13px!important}
    .wcba-addon-price{font-size:12px!important}
    .wcba-addon-check{width:20px!important;height:20px!important;font-size:12px!important}
    .wcba-group-title{font-size:14px!important;margin-bottom:8px!important}
    form.cart .single_add_to_cart_button,
    form.cart button[type="submit"],
    form.cart #add{margin-bottom:10px!important}
    .wd-buy-now-btn,.wd-buy-now,[class*="buy_now"]{margin-top:10px!important}
}
:is(.elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart) form.cart{flex-wrap:wrap!important;gap:10px}
form.cart:has(.wcba-groups-wrap){flex-wrap:wrap!important;gap:10px}
form.cart .wcba-groups-wrap{width:100%!important;flex-basis:100%!important;order:0!important;margin-bottom:15px}
form.cart .wcba-groups-wrap~.quantity{order:98!important}
form.cart .wcba-groups-wrap~.single_add_to_cart_button,form.cart .wcba-groups-wrap~button[type="submit"],form.cart .wcba-groups-wrap~#add{order:99!important;margin-inline-start:10px!important}
form.cart .wcba-groups-wrap~.woocommerce-variation-add-to-cart{order:99!important;width:100%!important}
form.cart .woocommerce-variation-add-to-cart{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
