/* BSR Bundle Deals – frontend. Everything scoped under .bbd-root.
   Inherits font/colors from the theme (Woodmart CSS variables with fallbacks). */
.bbd-root{
	--bbd-accent: var(--wd-primary-color, #83b735);
	--bbd-text: var(--wd-text-color, inherit);
	--bbd-title: var(--wd-title-color, inherit);
	--bbd-muted: #8a8f98;
	--bbd-border: var(--wd-form-brd-color, rgba(0,0,0,.12));
	--bbd-radius: var(--wd-form-brd-radius, 6px);
	--bbd-btn-radius: var(--wd-btn-brd-radius, var(--bbd-radius));
	--bbd-bg: transparent;
	--bbd-del: #b0b5bd;
	font: inherit;
	color: var(--bbd-text);
	margin: 28px 0;
	padding: 0;
	box-sizing: border-box;
	clear: both;
}
.bbd-root *,.bbd-root *::before,.bbd-root *::after{box-sizing:border-box}
.bbd-root .bbd-title{
	font-family: var(--wd-title-font, inherit);
	color: var(--bbd-title);
	font-size: 1.15em;
	font-weight: 600;
	margin: 0 0 14px;
	line-height: 1.3;
}
.bbd-root .bbd-items{list-style:none;margin:0;padding:0;border:1px solid var(--bbd-border);border-radius:var(--bbd-radius);background:var(--bbd-bg);overflow:hidden}
.bbd-root .bbd-item{display:flex;align-items:center;gap:14px;padding:12px 14px;margin:0;border-bottom:1px solid var(--bbd-border);transition:background .15s}
.bbd-root .bbd-item:last-child{border-bottom:0}
.bbd-root .bbd-item.bbd-off{opacity:.55}
.bbd-root .bbd-item.bbd-main{background:rgba(0,0,0,.025)}

/* checkbox */
.bbd-root .bbd-check{position:relative;display:inline-flex;flex:0 0 auto;margin:0;cursor:pointer;line-height:0}
.bbd-root .bbd-check input{position:absolute;opacity:0;width:0;height:0;margin:0}
.bbd-root .bbd-box{width:20px;height:20px;border:2px solid var(--bbd-border);border-radius:4px;background:#fff;display:inline-block;position:relative;transition:all .15s}
.bbd-root .bbd-check input:checked + .bbd-box{background:var(--bbd-accent);border-color:var(--bbd-accent)}
.bbd-root .bbd-check input:checked + .bbd-box::after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.bbd-root .bbd-check input:focus-visible + .bbd-box{outline:2px solid var(--bbd-accent);outline-offset:2px}
.bbd-root .bbd-check input:disabled + .bbd-box{opacity:.7;cursor:default}
.bbd-root .bbd-main .bbd-check{cursor:default}

/* thumb */
.bbd-root .bbd-thumb{flex:0 0 56px;width:56px;height:56px;display:block;border-radius:calc(var(--bbd-radius) - 2px);overflow:hidden;background:#f5f5f5}
.bbd-root .bbd-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0}

/* info */
.bbd-root .bbd-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.bbd-root .bbd-name{font-size:.95em;line-height:1.35;color:inherit;text-decoration:none;font-weight:500}
.bbd-root a.bbd-name:hover{color:var(--bbd-accent)}
.bbd-root .bbd-this{font-weight:700}
.bbd-root .bbd-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.95em;line-height:1.3}
.bbd-root .bbd-price del{color:var(--bbd-del);font-size:.9em;text-decoration:line-through;opacity:1}
.bbd-root .bbd-price del .amount,.bbd-root .bbd-price del .woocommerce-Price-amount{color:inherit;font-weight:400}
.bbd-root .bbd-price .screen-reader-text{display:none}
.bbd-root .bbd-price ins{text-decoration:none;font-weight:600;color:inherit}
.bbd-root .bbd-price ins .amount,.bbd-root .bbd-price ins .price{color:inherit;font-weight:600}
.bbd-root .bbd-price .bbd-price-range{color:inherit;font-weight:500}
.bbd-root .bbd-price .price del{color:var(--bbd-del)}
.bbd-root .bbd-badge{display:inline-block;background:var(--bbd-accent);color:#fff;font-size:.72em;font-weight:700;padding:2px 7px;border-radius:99px;line-height:1.4;letter-spacing:.02em}

/* variation select */
.bbd-root select.bbd-variation{
	font: inherit; font-size:.9em; color:inherit;
	max-width:100%; width:auto; min-width:160px;
	padding:6px 32px 6px 10px; margin:0;
	border:1px solid var(--bbd-border); border-radius:var(--bbd-radius); background:#fff;
	line-height:1.4; height:auto;
	appearance:none; -webkit-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23777' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 11px center;
}
.bbd-root select.bbd-variation.bbd-missing{border-color:#d9534f}

/* footer */
.bbd-root .bbd-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px}
.bbd-root .bbd-total{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.bbd-root .bbd-total-label{font-size:.85em;color:var(--bbd-muted);text-transform:uppercase;letter-spacing:.05em}
.bbd-root .bbd-total-amount{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bbd-root .bbd-total-original{color:var(--bbd-del);font-size:.95em;text-decoration:line-through}
.bbd-root .bbd-total-final{font-size:1.35em;font-weight:700;text-decoration:none;color:var(--bbd-title)}
.bbd-root .bbd-savings{font-size:.85em;color:var(--bbd-accent);font-weight:600}

.bbd-root .bbd-add{
	font: inherit; font-weight:600; font-size:.95em;
	background:var(--bbd-accent); color:#fff; border:2px solid var(--bbd-accent);
	border-radius:var(--bbd-btn-radius); padding:13px 26px; line-height:1.2;
	cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:8px;
	transition:filter .15s, transform .1s, opacity .15s; margin:0; white-space:nowrap;
}
.bbd-root .bbd-add:hover{filter:brightness(.92);color:#fff;background:var(--bbd-accent)}
.bbd-root .bbd-add:active{transform:translateY(1px)}
.bbd-root .bbd-add:disabled,.bbd-root .bbd-add.bbd-busy{opacity:.55;cursor:not-allowed;filter:none;transform:none}
.bbd-root .bbd-add.bbd-busy::before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:bbd-spin .7s linear infinite}
@keyframes bbd-spin{to{transform:rotate(360deg)}}

.bbd-root .bbd-notice{margin-top:12px;padding:10px 14px;border-radius:var(--bbd-radius);font-size:.9em;line-height:1.4;background:rgba(131,183,53,.12);border:1px solid var(--bbd-accent);color:inherit}
.bbd-root .bbd-notice.bbd-error{background:rgba(217,83,79,.1);border-color:#d9534f}
.bbd-root .bbd-notice a{color:var(--bbd-accent);font-weight:600}

/* mobile */
@media (max-width:600px){
	.bbd-root .bbd-item{align-items:flex-start;gap:10px;padding:12px 10px}
	.bbd-root .bbd-thumb{flex-basis:48px;width:48px;height:48px}
	.bbd-root .bbd-check{margin-top:14px}
	.bbd-root select.bbd-variation{width:100%}
	.bbd-root .bbd-footer{flex-direction:column;align-items:stretch}
	.bbd-root .bbd-add{width:100%}
}
