.srl-bf-progress{--srl-ink:#111;--srl-mute:#6b6b6b;--srl-line:#e4e4e4;--srl-fill:#111;
	margin:0 0 1.25em;padding:1.1em 1.15em 1.15em;border:1px solid var(--srl-line);border-radius:10px;background:#fff;color:var(--srl-ink)}
.srl-bf-progress:empty{display:none;margin:0;padding:0;border:0}
.srl-bf-progress__msg{margin:0 0 1.4em;font-size:.95em;line-height:1.45;color:var(--srl-ink)}
.srl-bf-amount{font-weight:700;white-space:nowrap}
.srl-bf-progress[data-state='complete'] .srl-bf-progress__msg{font-weight:600}

.srl-bf-rail{padding:0 2px}
.srl-bf-rail__inner{position:relative;height:6px;margin:0 13px 2.4em;border-radius:99px;background:var(--srl-line)}
.srl-bf-rail__fill{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--srl-fill);
	transition:width .45s cubic-bezier(.4,0,.2,1)}

.srl-bf-node{position:absolute;top:50%;transform:translate(-50%,-50%);text-align:center;line-height:1}
.srl-bf-node__dot{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
	background:#fff;border:1.5px solid var(--srl-line);box-shadow:0 0 0 3px #fff;transition:border-color .3s,background .3s}
.srl-bf-node__dot svg{width:13px;height:13px;fill:none;stroke:var(--srl-mute);stroke-width:2;
	stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.srl-bf-node__label{position:absolute;top:32px;left:50%;transform:translateX(-50%);
	font-size:.72em;letter-spacing:.02em;color:var(--srl-mute);white-space:nowrap;transition:color .3s}
.srl-bf-node.is-unlocked .srl-bf-node__dot{background:var(--srl-fill);border-color:var(--srl-fill);animation:srlPop .45s cubic-bezier(.34,1.56,.64,1)}
.srl-bf-node.is-unlocked .srl-bf-node__dot svg{stroke:#fff}
.srl-bf-node.is-unlocked .srl-bf-node__label{color:var(--srl-ink);font-weight:600}
@keyframes srlPop{0%{transform:scale(.6)}60%{transform:scale(1.18)}100%{transform:scale(1)}}

.srl-bf-progress__bonus{display:flex;align-items:center;gap:.5em;margin:0 0 1em;padding:.6em .75em;
	border-radius:7px;background:#f6f6f6;font-size:.82em;color:var(--srl-ink)}
.srl-bf-progress__bonus svg{flex:0 0 auto;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;
	stroke-linecap:round;stroke-linejoin:round}

.srl-bf-suggest{margin-top:1.15em;padding-top:1.05em;border-top:1px solid var(--srl-line)}
.srl-bf-suggest__head{margin:0 0 .7em;font-size:.73em;font-weight:600;letter-spacing:.09em;
	text-transform:uppercase;color:var(--srl-mute)}
.srl-bf-suggest__list{list-style:none;margin:0;padding:0;display:grid;gap:.45em}
.srl-bf-card{display:grid;grid-template-columns:42px 1fr auto;gap:.7em;align-items:center;
	padding:.4em;border-radius:7px;transition:background .2s}
.srl-bf-card:hover{background:#fafafa}
.srl-bf-card__media img{display:block;width:42px;height:42px;object-fit:cover;border-radius:5px}
.srl-bf-card__body{display:flex;flex-direction:column;gap:.15em;min-width:0}
.srl-bf-card__name{font-size:.86em;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.srl-bf-card__price{font-size:.8em;color:var(--srl-mute)}
.srl-bf-card__price del{opacity:.6}
.srl-bf-card__add.button{padding:.42em .95em;font-size:.78em;line-height:1.2;white-space:nowrap;border-radius:99px}
.srl-bf-card__add.loading{opacity:.6}
.srl-bf-card__add.added{pointer-events:none}
.srl-bf-card .added_to_cart{display:none}

.srl-bf-qty{opacity:.65}
.srl-bf-free{font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.85em}

.elementor-menu-cart__main .srl-bf-progress,
.srl-bf-progress-clone{margin:0 0 1em;border-radius:8px;padding:.95em 1em}
.srl-bf-progress-clone .srl-bf-card__name{font-size:.82em}
.srl-bf-card__add.is-busy{opacity:.55;pointer-events:none}
@media(max-width:480px){
	.srl-bf-progress{padding:.95em 1em}
	.srl-bf-progress__msg{margin-bottom:1.3em;font-size:.9em}
	.srl-bf-card{grid-template-columns:36px 1fr auto;gap:.55em}
	.srl-bf-card__media img{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){
	.srl-bf-rail__fill{transition:none}
	.srl-bf-node.is-unlocked .srl-bf-node__dot{animation:none}
}

/* Defensive: themes love to restyle generic children inside .woocommerce */
.srl-bf-progress, .srl-bf-progress *{box-sizing:border-box}
.srl-bf-progress .srl-bf-progress__msg{color:var(--srl-ink);text-decoration:none}
.srl-bf-progress .srl-bf-rail__inner{height:6px;background:var(--srl-line);list-style:none}
.srl-bf-progress .srl-bf-rail__fill{height:100%;background:var(--srl-fill)}
.srl-bf-progress .srl-bf-node{margin:0;padding:0}
.srl-bf-progress .srl-bf-suggest__list{list-style:none;margin:0;padding:0}
.srl-bf-progress .srl-bf-card{margin:0;border:0}
.srl-bf-progress .srl-bf-card::before,.srl-bf-progress .srl-bf-card::after{content:none}
