/* WCB Bundle System Frontend CSS */
.wcb-wrapper{font-family:inherit;position:relative;container-type:inline-size}
.wcb-section-title{margin:0 0 20px;font-size:26px;font-weight:700;color:#111}
.wcb-notice{padding:16px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px}

/* Grid */
.wcb-grid{display:grid;grid-template-columns:repeat(var(--wcb-cols,4),1fr);gap:var(--wcb-gap,20px)}
@media(max-width:992px){.wcb-grid{grid-template-columns:repeat(var(--wcb-cols-tab,2),1fr)}}
@media(max-width:576px){.wcb-grid{grid-template-columns:repeat(var(--wcb-cols-mob,1),1fr)}}
@container(max-width:900px){.wcb-grid{grid-template-columns:repeat(var(--wcb-cols-tab,2),1fr)}}
@container(max-width:500px){.wcb-grid{grid-template-columns:repeat(var(--wcb-cols-mob,1),1fr)}}

/* Cards */
.wcb-card{background:var(--wcb-card-bg,#fff);border-radius:var(--wcb-radius,12px);overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s,opacity .25s;box-shadow:0 2px 12px rgba(0,0,0,.07);position:relative}
.wcb-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.13)}
.wcb-card.wcb-disabled{opacity:.4;pointer-events:none;filter:grayscale(.6)}
.wcb-card.wcb-selected{outline:3px solid var(--wcb-btn-bg,#222);outline-offset:-3px}
.wcb-card.wcb-selected .wcb-selected-check{display:flex}
.wcb-card-img{position:relative;overflow:hidden;aspect-ratio:var(--wcb-img-ratio, 1/1)}
.wcb-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.wcb-card:hover .wcb-card-img img{transform:scale(1.04)}
.wcb-selected-check{display:none;position:absolute;top:10px;right:10px;width:32px;height:32px;background:var(--wcb-btn-bg,#222);color:#fff;border-radius:50%;align-items:center;justify-content:center;font-size:16px;font-weight:700;z-index:3}
.wcb-deal-badge{position:absolute;top:8px;left:8px;background:var(--wcb-btn-bg,#222);color:var(--wcb-btn-c,#fff);padding:3px 8px;border-radius:4px;font-size:11px;font-weight:700;z-index:2;line-height:1}
.wcb-type-badge{position:absolute;bottom:8px;left:8px;background:rgba(255,255,255,.9);color:#222;font-size:10px;font-weight:700;padding:3px 6px;border-radius:4px;z-index:2}
.wcb-card-info{padding:var(--wcb-pad,14px);background:transparent;display:flex;flex-direction:column;flex:1}
.wcb-card-title{font-size:var(--wcb-title-fz,14px);margin:0 0 6px;color:var(--wcb-title-c,#222);line-height:1.3;font-weight:600}
.wcb-card-price{color:var(--wcb-price-c,#e44d26);font-weight:700;font-size:var(--wcb-price-fz,14px);margin-bottom:10px}
.wcb-card-price del{color:#999;font-weight:400;font-size:.9em;margin-inline-end:6px}
.wcb-card-price ins{text-decoration:none}
.wcb-card-btn{margin-top:auto;width:100%;border:none;border-radius:var(--wcb-radius,8px);padding:10px;font-size:13px;font-weight:700;cursor:pointer;background:var(--wcb-btn-bg,#222) !important;color:var(--wcb-btn-c,#fff) !important;transition:opacity .2s}
.wcb-card:hover .wcb-card-btn{opacity:.85}
.wcb-card-attrs{position:absolute;inset:0;background:rgba(255,255,255,0.98);padding:var(--wcb-pad,14px);z-index:10;display:flex;flex-direction:column;gap:10px;justify-content:center;animation:wcbFadeIn 0.2s}
.wcb-attr-row{display:flex;flex-direction:column;gap:4px}
.wcb-attr-row label{font-size:12px;font-weight:700;color:#555}
.wcb-attr-row select{width:100%;padding:8px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#fff;appearance:auto}
.wcb-attr-confirm{background:var(--wcb-btn-bg,#222);color:var(--wcb-btn-c,#fff);border:none;border-radius:6px;padding:10px;font-weight:700;font-size:13px;cursor:pointer;margin-top:auto}
.wcb-attr-confirm:hover{opacity:0.9}
@keyframes wcbFadeIn{from{opacity:0}to{opacity:1}}


/* Summary Box */
.wcb-summary{background:var(--wcb-summary-bg,#fff);border-radius:var(--wcb-radius,12px);padding:24px;margin-top:28px;box-shadow:0 4px 20px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06)}
.wcb-summary-title{margin:0 0 12px;font-size:20px;font-weight:700;color:#111}
.wcb-summary-progress{font-size:13px;color:#666;margin-bottom:16px;padding:10px 14px;background:#f0f4ff;border-radius:8px;font-weight:500}
.wcb-summary-items{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.wcb-summary-item{display:flex;align-items:center;gap:12px;padding:8px;background:#fafafa;border-radius:8px;position:relative}
.wcb-summary-item img{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0}
.wcb-summary-item-info{flex:1;min-width:0}
.wcb-summary-item-name{font-size:13px;font-weight:600;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcb-summary-item-meta{font-size:11px;color:#888}
.wcb-summary-item-price{font-size:13px;font-weight:700;color:var(--wcb-price-c,#e44d26);white-space:nowrap}
.wcb-summary-item-remove{background:none;border:none;color:#ccc;cursor:pointer;font-size:18px;padding:2px 6px;line-height:1;flex-shrink:0}
.wcb-summary-item-remove:hover{color:#e44d26}

/* Summary Totals */
.wcb-summary-totals{border-top:1px solid #eee;padding-top:12px;margin-bottom:16px}
.wcb-summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;color:#555}
.wcb-discount-row{color:#16a34a;font-weight:600}
.wcb-total-row{font-size:18px;font-weight:700;color:#111;padding-top:8px;border-top:1px solid #eee;margin-top:4px}

/* Summary Actions */
.wcb-summary-actions{display:flex;gap:10px}
.wcb-summary-actions button{flex:1;padding:14px;border:none !important;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s}
.wcb-summary-actions button:disabled{opacity:.35;cursor:not-allowed}
.wcb-summary-actions button:not(:disabled):hover{opacity:.85}
.wcb-btn-buy{background:var(--wcb-buy-bg,#e44d26) !important;color:var(--wcb-buy-c,#ffffff) !important}
.wcb-btn-cart{background:var(--wcb-cart-bg,#222222) !important;color:var(--wcb-cart-c,#ffffff) !important}

/* Success toast */
.wcb-toast{position:fixed;bottom:30px;right:30px;background:#16a34a;color:#fff;padding:14px 24px;border-radius:10px;font-weight:600;font-size:14px;z-index:100000;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:wcbSlideUp .3s}

.woocommerce-cart-form__cart-item.wcb-cart-bundle-item td,
.woocommerce-checkout-review-order-table .wcb-cart-bundle-item td {
	border-bottom: 1px dashed #cbd5e1 !important;
}
.woocommerce-cart-form__cart-item.wcb-cart-bundle-item .product-name strong {
	color: var(--wcb-buy-bg, #e44d26);
	padding: 0;
	border-radius: 4px;
	font-size: 0.9em;
}
