/* Store Booster — front-end (Promotions). Intentionally minimal + theme-safe. */
.lsb-tier-table{
	margin:14px 0;padding:14px 16px;border:1px solid #e6e2ef;border-radius:12px;
	background:#faf8fd;font-size:14px;line-height:1.5;
}
.lsb-tier-table__head{
	display:block;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
	color:#6d3b82;margin-bottom:8px;
}
.lsb-tier-table__list{list-style:none;margin:0;padding:0;}
.lsb-tier-table__row{
	display:flex;align-items:center;gap:8px;padding:3px 0;color:#1d1b2b;
}
.lsb-tier-table__row::before{
	content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#0c9d6e;
}

/* Free-shipping progress bar. */
.lsb-freeship{
	margin:0 0 18px;padding:13px 16px;border:1px solid #e6e2ef;border-radius:12px;
	background:#faf8fd;font-size:14px;line-height:1.45;
}
.lsb-freeship__msg{color:#1d1b2b;text-align:center;}
.lsb-freeship__amt{color:#6d3b82;font-weight:700;white-space:nowrap;}
.lsb-freeship__track{
	margin-top:10px;height:8px;border-radius:999px;background:#ece7f3;overflow:hidden;
}
.lsb-freeship__fill{
	height:100%;border-radius:999px;background:#6d3b82;
	transition:width .4s ease;min-width:2px;
}
.lsb-freeship--reached{border-color:#bfe9d8;background:#f1faf6;}
.lsb-freeship--reached .lsb-freeship__amt{color:#0c9d6e;}
.lsb-freeship--reached .lsb-freeship__fill{background:#0c9d6e;}
.lsb-freeship--reached .lsb-freeship__msg::before{content:"\1F389 ";}

/* Managed gift / reward lines in the cart. */
.lsb-gift-tag{
	display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;
	background:#f1faf6;border:1px solid #bfe9d8;color:#0c9d6e;
	font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;
}
.lsb-gift-qty{font-weight:600;color:#1d1b2b;}

/* Social proof toast. Colours are driven by CSS variables so the merchant can
   match it to their store branding (theme preset + accent set from settings). */
.lsb-sp{
	--lsb-sp-bg:#ffffff;
	--lsb-sp-text:#1d1b2b;
	--lsb-sp-muted:#6c6a82;
	--lsb-sp-meta:#9795ab;
	--lsb-sp-border:#ece8f4;
	--lsb-sp-accent:#6d3b82;
	--lsb-sp-radius:16px;
	--lsb-sp-shadow:0 6px 16px rgba(29,27,43,.07),0 20px 44px rgba(29,27,43,.14);
	--lsb-sp-shadow-hover:0 8px 20px rgba(29,27,43,.1),0 26px 54px rgba(29,27,43,.2);
	position:fixed;bottom:22px;z-index:99990;display:flex;align-items:flex-start;gap:13px;
	width:332px;max-width:calc(100vw - 24px);
	/* Right padding reserves a gutter so text never runs under the close button. */
	padding:13px 34px 13px 13px;
	background:var(--lsb-sp-bg);border:1px solid var(--lsb-sp-border);border-radius:var(--lsb-sp-radius);
	box-shadow:var(--lsb-sp-shadow);
	font-family:inherit;font-size:13px;line-height:1.45;color:var(--lsb-sp-text);
	opacity:0;transform:translateY(16px) scale(.98);
	transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),box-shadow .25s ease;
}
.lsb-sp,.lsb-sp *{box-sizing:border-box;}
.lsb-sp.is-in{opacity:1;transform:translateY(0) scale(1);}
.lsb-sp:hover{box-shadow:var(--lsb-sp-shadow-hover);}
.lsb-sp--left{left:22px;}
.lsb-sp--right{right:22px;}
.lsb-sp--square{--lsb-sp-radius:6px;}
.lsb-sp--dark{
	--lsb-sp-bg:#211f2e;
	--lsb-sp-text:#f4f2fb;
	--lsb-sp-muted:#b7b4ca;
	--lsb-sp-meta:#8e8ba6;
	--lsb-sp-border:#332f44;
	--lsb-sp-shadow:0 6px 16px rgba(0,0,0,.3),0 20px 44px rgba(0,0,0,.46);
	--lsb-sp-shadow-hover:0 8px 20px rgba(0,0,0,.34),0 26px 54px rgba(0,0,0,.56);
}

.lsb-sp__img{
	width:52px;height:52px;border-radius:calc(var(--lsb-sp-radius) - 4px);object-fit:cover;flex:none;
	background:rgba(127,127,127,.08);box-shadow:0 0 0 1px rgba(127,127,127,.16) inset;
}
.lsb-sp__body{min-width:0;flex:1;padding-top:1px;}
.lsb-sp__line{font-size:12px;color:var(--lsb-sp-muted);}
.lsb-sp__line strong{color:var(--lsb-sp-text);font-weight:600;}
.lsb-sp__loc{color:var(--lsb-sp-muted);}
.lsb-sp__prodline{
	margin:2px 0 4px;font-weight:600;font-size:13.5px;line-height:1.3;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.lsb-sp__prod{color:var(--lsb-sp-accent);text-decoration:none;}
.lsb-sp__prod:hover{text-decoration:underline;}
.lsb-sp__meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--lsb-sp-meta);}
.lsb-sp__dot{
	width:7px;height:7px;border-radius:50%;background:#0c9d6e;flex:none;
	animation:lsb-sp-pulse 2.2s ease-out infinite;
}
.lsb-sp__sep{color:var(--lsb-sp-meta);opacity:.55;}
.lsb-sp__check{display:inline-flex;align-items:center;gap:3px;color:#0c9d6e;font-weight:600;}
/* The toast is injected into the live theme, so reset the close button hard —
   themes commonly style `button` with a border/background that would bleed in. */
.lsb-sp__close{
	position:absolute;top:8px;right:8px;width:24px;height:24px;min-width:0;min-height:0;
	display:flex;align-items:center;justify-content:center;
	margin:0!important;padding:0!important;
	border:0!important;background:transparent!important;box-shadow:none!important;
	-webkit-appearance:none!important;appearance:none!important;
	border-radius:7px;cursor:pointer;color:var(--lsb-sp-meta);line-height:1;
	transition:background .15s ease,color .15s ease;
}
.lsb-sp__close svg{display:block;width:13px;height:13px;}
.lsb-sp__close:hover{color:var(--lsb-sp-text);background:rgba(127,127,127,.14);}
.lsb-sp__close:focus{outline:0;}
.lsb-sp__close:focus-visible{outline:2px solid var(--lsb-sp-accent);outline-offset:1px;}
@keyframes lsb-sp-pulse{
	0%{box-shadow:0 0 0 0 rgba(12,157,110,.5);}
	70%{box-shadow:0 0 0 6px rgba(12,157,110,0);}
	100%{box-shadow:0 0 0 0 rgba(12,157,110,0);}
}
@media (max-width:480px){
	.lsb-sp{width:auto;left:12px;right:12px;bottom:12px;}
}

/* Urgency: low-stock badge + sale countdown. */
.lsb-stockbadge{
	display:inline-block;margin:6px 0;padding:5px 12px;border-radius:999px;
	background:#fff4ec;border:1px solid #ffd9bf;color:#c2410c;
	font-size:13px;font-weight:700;line-height:1.2;
}
.lsb-countdown-wrap{
	display:inline-flex;align-items:center;gap:6px;margin:8px 0;padding:8px 14px;
	border-radius:10px;background:#faf8fd;border:1px solid #e6e2ef;
	font-size:14px;color:#1d1b2b;
}
.lsb-countdown-label{color:#52506a;}
.lsb-countdown{font-weight:700;font-variant-numeric:tabular-nums;color:#6d3b82;letter-spacing:.02em;}
.lsb-countdown-wrap.is-ended{color:#8b8aa0;font-style:italic;}
ul.products .lsb-stockbadge{font-size:11.5px;padding:3px 9px;}

/* Cart upsell grid. */
.lsb-upsell{margin:28px 0 8px;}
.lsb-upsell__head{margin:0 0 14px;font-size:17px;font-weight:700;color:#1d1b2b;}
.lsb-upsell__grid{
	list-style:none;margin:0;padding:0;display:grid;gap:16px;
	grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
}
.lsb-upsell__card{
	display:flex;flex-direction:column;gap:7px;padding:14px;
	border:1px solid #e6e2ef;border-radius:12px;background:#fff;text-align:center;
}
.lsb-upsell__thumb{display:block;}
.lsb-upsell__thumb img{width:100%;height:auto;border-radius:8px;}
.lsb-upsell__name{font-size:13.5px;font-weight:600;color:#1d1b2b;text-decoration:none;line-height:1.35;}
.lsb-upsell__name:hover{color:#6d3b82;}
.lsb-upsell__price{font-size:13px;color:#52506a;}
.lsb-upsell__card .button{margin-top:auto;}

/* Order bump (checkout). */
.lsb-bump{
	margin:14px 0;padding:14px 16px;border:2px dashed #d9b8e8;border-radius:12px;
	background:#fbf7fe;transition:border-color .2s ease,background .2s ease;
}
.lsb-bump.is-on{border-style:solid;border-color:#0c9d6e;background:#f1faf6;}
.lsb-bump.is-loading{opacity:.6;pointer-events:none;}
.lsb-bump__label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:0;}
.lsb-bump__cb{margin:3px 0 0;flex:none;width:18px;height:18px;}
.lsb-bump__tick{display:none;}
.lsb-bump__body{display:flex;flex-direction:column;gap:4px;min-width:0;}
.lsb-bump__headline{font-weight:700;color:#1d1b2b;font-size:14.5px;}
.lsb-bump__product{display:flex;align-items:center;gap:10px;}
.lsb-bump__product img{border-radius:7px;flex:none;}
.lsb-bump__name{font-size:13.5px;color:#1d1b2b;}
.lsb-bump__price{font-size:13.5px;color:#6d3b82;font-weight:600;}
.lsb-bump__price del{color:#8b8aa0;font-weight:400;margin-right:5px;}
.lsb-bump__desc{font-size:12.5px;color:#52506a;}
.lsb-bump-qty{font-weight:600;color:#1d1b2b;}

/* Frequently bought together. */
.lsb-fbt{margin:30px 0;padding:18px 20px;border:1px solid #e6e2ef;border-radius:14px;background:#fbf9fe;}
.lsb-fbt__head{margin:0 0 14px;font-size:17px;font-weight:700;color:#1d1b2b;}
.lsb-fbt__list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px;}
.lsb-fbt__item{display:flex;align-items:center;gap:12px;}
.lsb-fbt__cb{flex:none;width:17px;height:17px;}
.lsb-fbt__cb:disabled{opacity:.5;}
.lsb-fbt__thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#f4eefa;}
.lsb-fbt__info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.lsb-fbt__name{font-size:14px;color:#1d1b2b;}
.lsb-fbt__name em{color:#8b8aa0;font-style:normal;font-size:12px;}
.lsb-fbt__price{font-size:13px;color:#52506a;}
.lsb-fbt__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #ece7f3;padding-top:14px;}
.lsb-fbt__total{font-size:15px;font-weight:700;color:#1d1b2b;}
