/* ===== Bleame Style — Frontend CSS ===== */

.bsp-topbar,
.bsp-subbar,
.bsp-summary,
.bsp-faq,
.bsp-reviews{
	font-family: var(--bsp-font, 'Quicksand', sans-serif);
}

/* Safety reset so nothing overflows the viewport on any device */
.bsp-topbar, .bsp-topbar *,
.bsp-subbar,
.bsp-summary, .bsp-summary *,
.bsp-faq, .bsp-faq *,
.bsp-reviews, .bsp-reviews *{
	box-sizing: border-box;
}
.bsp-summary, .bsp-faq, .bsp-reviews{
	max-width: 100%;
}
.bsp-countdown{
	font-variant-numeric: tabular-nums;
	display: inline-block;
	min-width: 62px;
}

.bsp-topbar{
	display:flex;align-items:center;justify-content:center;gap:10px;
	font-size:13px;font-weight:600;letter-spacing:.3px;
	padding:9px 16px;text-align:center;
}
.bsp-topbar .bsp-countdown{
	background:rgba(255,255,255,.15);padding:2px 8px;border-radius:4px;font-variant-numeric:tabular-nums;
}
.bsp-subbar{
	text-align:center;font-size:12px;font-weight:600;letter-spacing:.4px;padding:6px 12px;
}

body.bsp-active .woocommerce-tabs,
body.bsp-active .woocommerce-Tabs-panel{display:none !important;}

.bsp-summary{max-width:560px;}

.bsp-rating-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;color:#555;}
.bsp-stars{color:var(--bsp-star-color, var(--bsp-accent,#6c4fd6));letter-spacing:1px;font-size:15px;}

.bsp-title{font-size:26px;font-weight:700;margin:4px 0 8px;line-height:1.25;color:var(--bsp-title-color,#111);}

.bsp-badge{
	display:inline-block;background:var(--bsp-badge-bg,#fdf1d6);color:var(--bsp-badge-color,#8a6416);
	font-size:12px;font-weight:700;padding:5px 10px;border-radius:5px;margin-bottom:12px;letter-spacing:.2px;
}

.bsp-price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.bsp-old-price{color:var(--bsp-old-price-color,#9a9a9a);text-decoration:line-through;font-size:16px;}
.bsp-current-price{font-size:26px;font-weight:800;color:var(--bsp-price-color, var(--bsp-accent,#6c4fd6));}
.bsp-save-badge{
	background:var(--bsp-save-badge-bg, #f1ecfb);
	color:var(--bsp-save-badge-color, var(--bsp-accent,#6c4fd6));
	font-size:12px;font-weight:700;padding:4px 9px;border-radius:20px;
}

.bsp-intro{color:var(--bsp-intro-color,#444);font-size:14.5px;line-height:1.55;margin-bottom:14px;}

.bsp-benefits{list-style:none;margin:0 0 20px;padding:0;}
.bsp-benefits li{font-size:14.5px;padding:5px 0;color:var(--bsp-benefits-color,#222);display:flex;align-items:flex-start;gap:8px;}
.bsp-emoji{flex-shrink:0;}

.bsp-packs{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.bsp-pack{
	position:relative;display:flex;align-items:center;gap:12px;
	border:2px solid var(--bsp-pack-border,#e4e2ee);border-radius:12px;padding:12px 14px;cursor:pointer;
	transition:border-color .15s ease, background .15s ease;background:#fff;
}
.bsp-pack:hover{border-color:var(--bsp-pack-selected-border, var(--bsp-accent,#6c4fd6));}
.bsp-pack.active{
	border-color:var(--bsp-pack-selected-border, var(--bsp-accent,#6c4fd6));
	background:color-mix(in srgb, var(--bsp-pack-selected-border, var(--bsp-accent,#6c4fd6)) 6%, white);
}
.bsp-pack input[type="radio"]{position:absolute;opacity:0;}
.bsp-pack-radio{
	width:20px;height:20px;border-radius:50%;border:2px solid #c9c6dc;flex-shrink:0;position:relative;
}
.bsp-pack.active .bsp-pack-radio{border-color:var(--bsp-pack-selected-border, var(--bsp-accent,#6c4fd6));}
.bsp-pack.active .bsp-pack-radio::after{
	content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bsp-pack-selected-border, var(--bsp-accent,#6c4fd6));
}
.bsp-pack-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;}
.bsp-pack-label{font-weight:700;font-size:14.5px;overflow-wrap:break-word;}
.bsp-pack-badge{
	background:var(--bsp-pack-badge-bg, var(--bsp-accent,#6c4fd6));color:#fff;font-size:10.5px;font-weight:700;
	padding:2px 7px;border-radius:20px;margin-left:6px;vertical-align:middle;
}
.bsp-pack-note{font-size:12px;color:#777;}
.bsp-pack-price{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;}
.bsp-pack-current{font-weight:800;font-size:16px;}
.bsp-pack-old{font-size:12px;color:#9a9a9a;text-decoration:line-through;}

.bsp-gift-strip{
	background:var(--bsp-gift-bg, #f8f6fd);
	color:var(--bsp-gift-color,#3a2f5c);
	border-radius:8px;padding:9px 12px;font-size:13px;font-weight:600;
	display:flex;align-items:center;gap:8px;margin-bottom:8px;
}
.bsp-urgency{
	color:var(--bsp-urgency-color,#c9491d);font-size:12.5px;font-weight:700;margin-bottom:14px;
}

.bsp-cta{
	width:100%;background:var(--bsp-cta-bg, var(--bsp-accent,#6c4fd6));color:var(--bsp-cta-color,#fff);
	border:none;border-radius:10px;font-family:inherit;
	padding:16px;font-size:16px;font-weight:800;letter-spacing:.4px;cursor:pointer;
	transition:opacity .15s ease;margin-bottom:14px;text-transform:uppercase;
}
.bsp-cta:hover{opacity:.9;}

.bsp-payment-icons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.bsp-pay-icon{
	font-size:10px;font-weight:700;color:#666;border:1px solid #e2e2e2;border-radius:4px;
	padding:4px 8px;background:#fafafa;
}

.bsp-delivery{font-size:13px;color:var(--bsp-delivery-color,#444);margin-bottom:16px;line-height:1.6;}
.bsp-order-countdown{font-weight:700;color:var(--bsp-order-countdown-color, var(--bsp-accent,#6c4fd6));}

.bsp-trust-row{display:flex;gap:24px;margin-bottom:20px;flex-wrap:wrap;}
.bsp-trust-item{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#333;}
.bsp-trust-icon{font-size:18px;color:var(--bsp-trust-icon-color,#333);}

/* Reviews */
.bsp-reviews{max-width:1000px;margin:40px auto 0;}
.bsp-reviews-title{font-size:22px;font-weight:700;margin-bottom:18px;}
.bsp-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.bsp-review-card{border:1px solid #eee;border-radius:12px;padding:16px;background:#fff;}
.bsp-review-stars{color:var(--bsp-reviews-star,#ffb400);letter-spacing:1px;margin-bottom:8px;}
.bsp-review-text{font-size:14px;color:#333;line-height:1.55;margin:0 0 10px;}
.bsp-review-meta{font-size:12.5px;color:#777;}
.bsp-review-meta strong{color:#222;}

/* FAQ */
.bsp-faq{max-width:900px;margin:30px auto 0;border-top:1px solid #eee;}
.bsp-faq-item{border-bottom:1px solid #eee;}
.bsp-faq-question{
	width:100%;text-align:left;background:none;border:none;padding:16px 4px;font-family:inherit;
	font-size:15px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
	gap:12px;white-space:normal;
}
.bsp-faq-icon{font-size:18px;color:var(--bsp-faq-icon, var(--bsp-accent,#6c4fd6));transition:transform .2s ease;flex-shrink:0;}
.bsp-faq-item.open .bsp-faq-icon{transform:rotate(45deg);}
.bsp-faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 4px;}
.bsp-faq-answer p{margin:0 0 16px;color:#555;font-size:14px;line-height:1.6;}

/* ===== Responsive ===== */

/* Defensive layout fix in case the active theme doesn't stack the WooCommerce
   gallery/summary columns cleanly on smaller screens. */
@media(max-width:768px){
	body.bsp-active .woocommerce div.product div.images,
	body.bsp-active .woocommerce div.product div.summary{
		width:100% !important;
		float:none !important;
		margin-bottom:20px;
	}
	body.bsp-active .woocommerce div.product{
		display:block !important;
	}
}

@media(max-width:768px){
	.bsp-topbar{
		flex-wrap:wrap;
		font-size:12px;
		padding:8px 12px;
		gap:6px;
	}
	.bsp-subbar{font-size:11px;padding:6px 10px;}

	.bsp-title{font-size:21px;line-height:1.3;}
	.bsp-current-price{font-size:22px;}
	.bsp-old-price{font-size:14px;}

	.bsp-price-row{gap:8px;}
	.bsp-save-badge{font-size:11px;padding:3px 8px;}

	.bsp-pack{padding:10px 12px;gap:10px;flex-wrap:wrap;}
	.bsp-pack-label{font-size:13.5px;}
	.bsp-pack-price{margin-left:auto;}

	.bsp-cta{font-size:14.5px;padding:14px;}

	.bsp-payment-icons{gap:5px;}
	.bsp-pay-icon{font-size:9px;padding:3px 6px;}

	.bsp-trust-row{gap:16px;}
	.bsp-trust-item{font-size:12px;}

	.bsp-reviews-grid{grid-template-columns:1fr;}
	.bsp-reviews-title{font-size:19px;}

	.bsp-faq-question{font-size:14px;padding:14px 2px;gap:10px;}
	.bsp-faq-question span:first-child{overflow-wrap:break-word;}
}

@media(max-width:420px){
	.bsp-topbar{font-size:11px;}
	.bsp-title{font-size:19px;}
	.bsp-current-price{font-size:20px;}
	.bsp-pack-current{font-size:14.5px;}
	.bsp-benefits li{font-size:13.5px;}
}
