/* Envo Blocks - front end and editor styles of the blocks. Colors come from custom properties set by the block settings. */

.sb-icon { display: block; width: 1em; height: 1em; flex: none; }
.sb-align-left { text-align: left; }
.sb-align-center { text-align: center; }
.sb-align-right { text-align: right; }
.sb-notice { margin: 0; padding: 12px 14px; border: 1px dashed #c3c4c7; border-radius: 4px; color: #50575e; font-size: 13px; text-align: center; }

/* Stars: two layers of ★, the filled one clipped to the rating. */
.sb-stars { position: relative; display: inline-block; font-size: 1em; line-height: 1; letter-spacing: .1em; color: var(--sb-star-empty, #d5d8dc); white-space: nowrap; }
.sb-stars::before { content: "★★★★★"; }
.sb-stars::after { content: "★★★★★"; position: absolute; inset: 0 auto 0 0; width: var(--sb-stars, 0%); overflow: hidden; color: var(--sb-star, #f5a623); }

/* Trust Badges */
.sb-trust { box-sizing: border-box; color: var(--sb-trust-text, inherit); }
.sb-trust--boxed { padding: 16px 20px; border: 1px solid var(--sb-trust-border, transparent); border-radius: 8px; background: var(--sb-trust-bg, transparent); }
.sb-trust__heading { margin: 0 0 10px; font-weight: 600; }
.sb-trust ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sb-trust.sb-align-center ul { justify-content: center; }
.sb-trust.sb-align-right ul { justify-content: flex-end; }
.sb-trust__pays + .sb-trust__badges { margin-top: 14px; }
.sb-trust__pay { margin: 0; line-height: 0; }
.sb-trust .sb-pay { display: block; width: var(--sb-pay-w, 44px); height: auto; }
.sb-trust--mono .sb-pay { filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.sb-trust--mono .sb-trust__pay:hover .sb-pay { filter: none; opacity: 1; }
.sb-trust__badges { column-gap: 22px !important; }
.sb-trust__badge { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .9em; }
.sb-trust__icon { font-size: 1.4em; color: var(--sb-trust-icon, currentColor); }

/* Features Bar */
.sb-features { box-sizing: border-box; color: var(--sb-features-text, inherit); background: var(--sb-features-bg, transparent); }
.sb-features__list { display: grid; grid-template-columns: repeat(var(--sb-cols, 4), minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.sb-features__item { margin: 0; min-width: 0; }
.sb-features__inner { display: flex; align-items: center; gap: 14px; height: 100%; }
.sb-features__link { color: inherit; text-decoration: none; }
.sb-features__link:hover .sb-features__title { text-decoration: underline; }
.sb-features.sb-align-center .sb-features__inner { justify-content: center; }
.sb-features--top .sb-features__inner { flex-direction: column; text-align: center; }
.sb-features--top.sb-align-left .sb-features__inner { align-items: flex-start; text-align: left; }
.sb-features__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sb-features--side .sb-features__body { text-align: left; }
.sb-features__icon { display: flex; align-items: center; justify-content: center; flex: none; font-size: var(--sb-icon-size, 36px); color: var(--sb-features-icon, currentColor); }
.sb-features--icon-circle .sb-features__icon, .sb-features--icon-square .sb-features__icon { box-sizing: content-box; padding: .35em; font-size: calc(var(--sb-icon-size, 36px) * .65); background: var(--sb-features-icon-bg, rgba(0, 0, 0, .06)); }
.sb-features--icon-circle .sb-features__icon { border-radius: 50%; }
.sb-features--icon-square .sb-features__icon { border-radius: 10px; }
.sb-features__title { display: block; color: var(--sb-features-title, inherit); font-weight: 600; line-height: 1.3; }
.sb-features__text { display: block; font-size: .875em; line-height: 1.4; opacity: .8; }
.sb-features--dividers .sb-features__item + .sb-features__item { position: relative; }
.sb-features--dividers .sb-features__item + .sb-features__item::before { content: ""; position: absolute; top: 10%; bottom: 10%; left: -12px; border-left: 1px solid var(--sb-features-divider, rgba(0, 0, 0, .12)); }
@media (max-width: 781px) {
	.sb-features__list { grid-template-columns: repeat(min(var(--sb-cols-m, 1), var(--sb-cols, 4)), minmax(0, 1fr)); }
	.sb-features--dividers .sb-features__item + .sb-features__item::before { display: none; }
}

/* Coupon Code Box */
.sb-coupon { --sb-coupon-accent-c: var(--sb-coupon-accent, #d63638); box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding: 18px 22px; border: 2px dashed var(--sb-coupon-accent-c); border-radius: 10px; color: var(--sb-coupon-text, inherit); background: var(--sb-coupon-bg, transparent); }
.sb-coupon--solid { border-style: solid; }
.sb-coupon--filled { border-color: transparent; background: var(--sb-coupon-bg, var(--sb-coupon-accent-c)); color: var(--sb-coupon-text, #fff); }
.sb-coupon--ticket { position: relative; border-style: solid; border-width: 1px; border-color: var(--sb-coupon-border, rgba(0, 0, 0, .12)); background: var(--sb-coupon-bg, #fff); -webkit-mask: radial-gradient(circle 12px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 12px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; mask: radial-gradient(circle 12px at 0 50%, #0000 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 12px at 100% 50%, #0000 98%, #000) right / 51% 100% no-repeat; padding-left: 30px; padding-right: 30px; }
.sb-coupon--stacked { flex-direction: column; text-align: center; }
.sb-coupon__info { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1 1 260px; }
.sb-coupon--stacked .sb-coupon__info { flex-direction: column; flex-basis: auto; }
.sb-coupon__badge { display: flex; flex: none; font-size: 32px; color: var(--sb-coupon-accent-c); }
.sb-coupon--filled .sb-coupon__badge { color: inherit; }
.sb-coupon__texts p { margin: 0; }
.sb-coupon__title { font-size: 1.25em; font-weight: 700; line-height: 1.25; }
.sb-coupon__desc { margin-top: 4px !important; }
.sb-coupon__meta { margin-top: 4px !important; font-size: .85em; opacity: .75; }
.sb-coupon__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sb-coupon__code { display: inline-flex; align-items: stretch; padding: 0; overflow: hidden; border: 1px solid var(--sb-coupon-accent-c); border-radius: 6px; background: var(--sb-coupon-code-bg, #fff); color: #1e1e1e; font: inherit; cursor: pointer; }
.sb-coupon__value { padding: 10px 14px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.05em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sb-coupon__copy { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; background: var(--sb-coupon-btn-bg, var(--sb-coupon-accent-c)); color: var(--sb-coupon-btn-text, #fff); font-size: .85em; font-weight: 600; white-space: nowrap; }
.sb-coupon__code:hover .sb-coupon__copy, .sb-coupon__code:focus-visible .sb-coupon__copy { filter: brightness(.92); }
.sb-coupon.is-copied .sb-coupon__copy { background: #1a7f37; }
.sb-coupon__apply { cursor: pointer; }
.sb-coupon__apply:disabled { opacity: .6; cursor: default; }
.sb-coupon__status { flex-basis: 100%; margin: -6px 0 0; font-size: .85em; }
.sb-coupon__status:empty { display: none; }
.sb-coupon__status.is-error { color: #d63638; }

/* Delivery Estimate */
.sb-delivery { box-sizing: border-box; color: var(--sb-delivery-text, inherit); }
.sb-delivery--box { padding: 12px 16px; border-radius: 8px; background: var(--sb-delivery-bg, rgba(0, 0, 0, .04)); }
.sb-delivery--line { padding: 10px 0; border-top: 1px solid rgba(0, 0, 0, .1); border-bottom: 1px solid rgba(0, 0, 0, .1); background: var(--sb-delivery-bg, transparent); }
.sb-delivery--plain { background: var(--sb-delivery-bg, transparent); }
.sb-delivery__row { display: flex; align-items: flex-start; gap: 10px; margin: 0; line-height: 1.45; }
.sb-delivery__row + .sb-delivery__row { margin-top: 6px; }
.sb-delivery__icon { margin-top: .1em; font-size: 1.25em; color: var(--sb-delivery-icon, currentColor); }
.sb-delivery__hl { color: var(--sb-delivery-hl, #1a7f37); font-weight: 700; font-variant-numeric: tabular-nums; }

/* Rating Summary */
.sb-rating { box-sizing: border-box; color: var(--sb-rating-text, inherit); background: var(--sb-rating-bg, transparent); }
.sb-rating[style*="--sb-rating-bg"] { padding: 20px; border-radius: 8px; }
.sb-rating__heading { margin: 0 0 12px; font-size: 1.15em; font-weight: 700; }
.sb-rating__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 36px; }
.sb-rating--stacked .sb-rating__inner { flex-direction: column; align-items: stretch; }
.sb-rating__summary { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; flex: none; }
.sb-rating__average { font-size: 3em; font-weight: 700; line-height: 1; }
.sb-rating .sb-stars { font-size: 1.25em; }
.sb-rating__count { font-size: .9em; opacity: .75; }
.sb-rating__link { margin-top: 4px; font-size: .9em; }
.sb-rating__bars { flex: 1 1 260px; display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.sb-rating__row { display: grid; grid-template-columns: 3em 1fr 3.2em; align-items: center; gap: 10px; margin: 0; font-size: .9em; }
.sb-rating__star { white-space: nowrap; }
.sb-rating__bar { display: block; height: var(--sb-rating-bar-h, 8px); overflow: hidden; border-radius: 999px; background: var(--sb-rating-track, rgba(0, 0, 0, .1)); }
.sb-rating__bar span { display: block; height: 100%; border-radius: inherit; background: var(--sb-rating-bar, var(--sb-star, #f5a623)); }
.sb-rating__value { text-align: right; font-variant-numeric: tabular-nums; opacity: .75; }

/* Recently Viewed Products: hidden until the browser has products to show. */
.sb-recent { display: none; box-sizing: border-box; color: var(--sb-recent-text, inherit); }
.sb-recent.is-ready { display: block; }
.sb-recent__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.sb-recent__heading { margin: 0; font-size: 1.5em; }
.sb-recent__clear { padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: .85em; text-decoration: underline; opacity: .7; cursor: pointer; }
.sb-recent__list { display: grid; grid-template-columns: repeat(var(--sb-cols, 4), minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.sb-recent__item { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.sb-recent[style*="--sb-recent-card"] .sb-recent__item { padding: 10px 10px 14px; border-radius: 8px; background: var(--sb-recent-card); }
.sb-recent__link { display: flex; flex-direction: column; gap: 8px; color: inherit; text-decoration: none; }
.sb-recent__image { display: block; aspect-ratio: var(--sb-recent-ratio, 1); overflow: hidden; border-radius: 6px; background: rgba(0, 0, 0, .04); }
.sb-recent__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.sb-recent__link:hover img { transform: scale(1.04); }
.sb-recent__name { font-weight: 600; line-height: 1.3; }
.sb-recent__link:hover .sb-recent__name { text-decoration: underline; }
.sb-recent__price { color: var(--sb-recent-price, inherit); font-size: .95em; }
.sb-recent__price del { opacity: .6; }
.sb-recent__price ins { text-decoration: none; font-weight: 600; }
.sb-recent__button { align-self: flex-start; margin-top: 4px; font-size: .85em; text-decoration: none; }
.sb-recent__empty { margin: 0; opacity: .75; }
@media (max-width: 781px) {
	.sb-recent__list { grid-template-columns: repeat(var(--sb-cols-m, 2), minmax(0, 1fr)); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) { .sb-recent__image img { transition: none; } }

/* Size Guide */
.sb-size__open { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font: inherit; }
.sb-size__open--link { padding: 0; border: 0; background: none; color: var(--sb-size-btn, inherit); text-decoration: underline; text-underline-offset: 3px; }
.sb-size[style*="--sb-size-btn:"] .sb-size__open--button { background: var(--sb-size-btn); }
.sb-size[style*="--sb-size-btn-text:"] .sb-size__open--button { color: var(--sb-size-btn-text); }
.sb-size__open--outline { padding: .6em 1.1em; border: 1px solid var(--sb-size-btn, currentColor); border-radius: 4px; background: transparent; color: var(--sb-size-btn, inherit); }
.sb-size__open .sb-icon { font-size: 1.2em; }
.sb-size__dialog { box-sizing: border-box; width: min(var(--sb-size-w, 720px), calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); color: var(--sb-size-text, #1e1e1e); background: var(--sb-size-bg, #fff); }
.sb-size__dialog::backdrop { background: rgba(0, 0, 0, .55); }
.sb-size__dialog[open] { display: flex; flex-direction: column; animation: sb-size-in .2s ease-out; }
.sb-size__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.sb-size__title { margin: 0; font-size: 1.3em; }
.sb-size__close { display: flex; padding: 6px; border: 0; border-radius: 50%; background: none; color: inherit; font-size: 22px; cursor: pointer; }
.sb-size__close:hover { background: rgba(0, 0, 0, .06); }
.sb-size__body { padding: 20px 24px 24px; overflow: auto; }
.sb-size__body > :first-child { margin-top: 0; }
.sb-size__body > :last-child { margin-bottom: 0; }
.sb-size__body table { width: 100%; }
html.sb-size-open { overflow: hidden; }
@keyframes sb-size-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .sb-size__dialog[open] { animation: none; } }

/* Pricing Table */
.sb-pricing { --sb-acc: var(--sb-pricing-accent, #6d28d9); box-sizing: border-box; display: grid; grid-template-columns: repeat(var(--sb-cols, 3), minmax(0, 1fr)); gap: var(--sb-pricing-gap, 24px); align-items: stretch; padding-top: 14px; }
.sb-pricing__plan { position: relative; display: flex; flex-direction: column; box-sizing: border-box; min-width: 0; padding: 36px 28px 28px; border: 1px solid var(--sb-pricing-border, rgba(0, 0, 0, .1)); border-radius: var(--sb-pricing-radius, 14px); background: var(--sb-pricing-bg, #fff); color: var(--sb-pricing-text, #1e1e1e); }
.sb-pricing--shadow .sb-pricing__plan { border-color: transparent; box-shadow: 0 10px 30px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .06); }
.sb-pricing--flat .sb-pricing__plan { border-color: transparent; background: var(--sb-pricing-bg, rgba(0, 0, 0, .035)); }
.sb-pricing__plan.is-featured { border: 2px solid var(--sb-acc); background: var(--sb-pricing-featured-bg, var(--sb-pricing-bg, #fff)); color: var(--sb-pricing-featured-text, var(--sb-pricing-text, #1e1e1e)); }
.sb-pricing--scale .sb-pricing__plan.is-featured { z-index: 1; transform: scale(1.04); }
.sb-pricing__badge { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); padding: 5px 14px; border-radius: 999px; background: var(--sb-pricing-badge-bg, var(--sb-acc)); color: var(--sb-pricing-badge-text, #fff); font-size: 12px; font-weight: 700; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; white-space: nowrap; }
.sb-pricing.sb-align-left .sb-pricing__badge { left: 28px; transform: translateY(-50%); }
.sb-pricing__name { margin: 0; color: inherit; font-size: 1.3em; line-height: 1.3; }
.sb-pricing__desc { margin: .4em 0 0; font-size: .92em; opacity: .75; }
.sb-pricing__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 22px 0 0; line-height: 1; }
.sb-pricing.sb-align-center .sb-pricing__price { justify-content: center; }
.sb-pricing__money { display: inline-flex; align-items: flex-start; gap: .04em; }
.sb-pricing__now { color: inherit; background: none; font-size: var(--sb-pricing-price, 48px); font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.sb-pricing__now .sb-pricing__currency { margin-top: .12em; font-size: .45em; font-weight: 700; }
/* The line is drawn by ::after: text-decoration does not reach the inline-flex price inside, and themes may reset <del>. */
.sb-pricing__old { position: relative; display: inline-block; color: var(--sb-pricing-old, #9ca3af); font-size: calc(var(--sb-pricing-price, 48px) * .42); font-weight: 600; text-decoration: none; }
.sb-pricing__old::after { content: ""; position: absolute; top: 50%; right: -.12em; left: -.12em; height: max(2px, .08em); border-radius: 2px; background: currentColor; transform: translateY(-50%) rotate(-6deg); pointer-events: none; }
.sb-pricing__old .sb-pricing__currency { font-size: 1em; }
.sb-pricing__amount + .sb-pricing__currency { margin-left: .18em; }
.sb-pricing__period { font-size: .95em; opacity: .7; }
.sb-pricing__note { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 12px 0 0; font-size: .85em; }
.sb-pricing.sb-align-center .sb-pricing__note { justify-content: center; }
.sb-pricing__note > span:not(.sb-pricing__save) { opacity: .7; }
.sb-pricing__save { padding: 3px 10px; border-radius: 999px; background: rgba(26, 127, 55, .12); color: #1a7f37; font-weight: 700; }
.sb-pricing[style*="--sb-pricing-save"] .sb-pricing__save { background: color-mix(in srgb, var(--sb-pricing-save) 18%, transparent); color: var(--sb-pricing-save); }
.sb-pricing__features { display: grid; gap: 10px; margin: 24px 0 0; padding: 22px 0 0; border-top: 1px solid var(--sb-pricing-border, rgba(0, 0, 0, .08)); list-style: none; text-align: left; }
.sb-pricing__feature { display: flex; align-items: flex-start; gap: 10px; margin: 0; line-height: 1.4; }
.sb-pricing__mark { margin-top: .05em; font-size: 1.15em; color: var(--sb-pricing-check, var(--sb-acc)); }
.sb-pricing__feature.is-off { opacity: .5; }
.sb-pricing__feature.is-off .sb-pricing__mark { color: currentColor; }
.sb-pricing__action { margin-top: auto; padding-top: 28px; }
.sb-pricing .sb-pricing__button { display: inline-block; box-sizing: border-box; border: 2px solid var(--sb-pricing-btn-bg, var(--sb-acc)); background: var(--sb-pricing-btn-bg, var(--sb-acc)); color: var(--sb-pricing-btn-text, #fff); text-align: center; text-decoration: none; }
.sb-pricing .sb-pricing__button:hover, .sb-pricing .sb-pricing__button:focus-visible { filter: brightness(.92); }
.sb-pricing:not([style*="--sb-pricing-btn-bg"]) .sb-pricing__plan:not(.is-featured) .sb-pricing__button { background: transparent; color: var(--sb-acc); }
.sb-pricing--full-button .sb-pricing__button { display: block; width: 100%; }
.sb-pricing--single { max-width: 520px; margin-right: auto; margin-left: auto; }
@media (max-width: 1024px) {
	.sb-pricing { grid-template-columns: repeat(min(var(--sb-cols, 3), 2), minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.sb-pricing { grid-template-columns: minmax(0, 1fr); row-gap: max(var(--sb-pricing-gap, 24px), 28px); }
	.sb-pricing--scale .sb-pricing__plan.is-featured { transform: none; }
}

/* Advanced Heading */
.sb-aheading { box-sizing: border-box; }
.sb-aheading__link { color: inherit; text-decoration: none; }
.sb-aheading__part { font-size: var(--sb-fs, 1em); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
@media (max-width: 781px) {
	.sb-aheading__part { font-size: var(--sb-fs-m, var(--sb-fs, 1em)); }
}
.sb-aheading--stacked, .sb-aheading--stacked > .sb-aheading__link { display: flex; flex-direction: column; align-items: flex-start; gap: .08em; }
.sb-aheading--stacked.sb-align-center, .sb-aheading--stacked.sb-align-center > .sb-aheading__link { align-items: center; }
.sb-aheading--stacked.sb-align-right, .sb-aheading--stacked.sb-align-right > .sb-aheading__link { align-items: flex-end; }
.sb-aheading--stacked .sb-aheading__part { display: inline-block; max-width: 100%; }
.sb-aheading__part--middle { display: inline-block; }
.sb-aheading--stacked .sb-aheading__br, .sb-aheading__br--mobile { display: none; }
@media (max-width: 781px) {
	.sb-aheading--inline .sb-aheading__br--mobile { display: inline; }
	.sb-aheading__br--desktop { display: none; }
}
.sb-aheading__rotator { position: relative; display: inline-block; vertical-align: bottom; max-width: 100%; white-space: nowrap; }
.sb-aheading__rotator.is-sizing { overflow: hidden; transition: width .35s ease; }
.sb-aheading--anim-slide-up .sb-aheading__rotator, .sb-aheading--anim-slide-down .sb-aheading__rotator { overflow: hidden; padding-bottom: .12em; margin-bottom: -.12em; }
.sb-aheading--anim-flip .sb-aheading__rotator { perspective: 400px; }
.sb-aheading__word { display: inline-block; white-space: pre; }
.sb-aheading__word.is-in { animation: sb-ah-in-fade .45s ease both; }
.sb-aheading__word.is-out { animation: sb-ah-out-fade .35s ease both; }
.sb-aheading--anim-slide-up .sb-aheading__word.is-in { animation-name: sb-ah-in-up; }
.sb-aheading--anim-slide-up .sb-aheading__word.is-out { animation-name: sb-ah-out-up; }
.sb-aheading--anim-slide-down .sb-aheading__word.is-in { animation-name: sb-ah-in-down; }
.sb-aheading--anim-slide-down .sb-aheading__word.is-out { animation-name: sb-ah-out-down; }
.sb-aheading--anim-zoom .sb-aheading__word.is-in { animation-name: sb-ah-in-zoom; }
.sb-aheading--anim-zoom .sb-aheading__word.is-out { animation-name: sb-ah-out-zoom; }
.sb-aheading--anim-flip .sb-aheading__word { transform-origin: 50% 50% -.4em; }
.sb-aheading--anim-flip .sb-aheading__word.is-in { animation-name: sb-ah-in-flip; }
.sb-aheading--anim-flip .sb-aheading__word.is-out { animation-name: sb-ah-out-flip; }
.sb-aheading--anim-blur .sb-aheading__word.is-in { animation-name: sb-ah-in-blur; }
.sb-aheading--anim-blur .sb-aheading__word.is-out { animation-name: sb-ah-out-blur; }
.sb-aheading__cursor { display: inline-block; width: .07em; height: .95em; margin-left: .06em; vertical-align: -.08em; background: currentColor; animation: sb-ah-blink 1s steps(1) infinite; }
.sb-aheading__deco--highlight .sb-aheading__rotator { background-image: linear-gradient(var(--sb-ah-deco, rgba(250, 204, 21, .6)), var(--sb-ah-deco, rgba(250, 204, 21, .6))); background-repeat: no-repeat; background-position: 0 85%; background-size: 0% 38%; transition: background-size .8s cubic-bezier(.2, .7, .2, 1); }
.sb-aheading__deco--highlight .sb-aheading__rotator.is-decorated { background-size: 100% 38%; }
.sb-aheading__deco--underline .sb-aheading__rotator::after { content: ""; position: absolute; right: 0; bottom: .04em; left: 0; height: .09em; border-radius: 1em; background: var(--sb-ah-deco, currentColor); transform: scaleX(0); transform-origin: left center; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.sb-aheading__deco--underline .sb-aheading__rotator.is-decorated::after { transform: scaleX(1); }
@keyframes sb-ah-blink { 50% { opacity: 0; } }
@keyframes sb-ah-in-fade { from { opacity: 0; } }
@keyframes sb-ah-out-fade { to { opacity: 0; } }
@keyframes sb-ah-in-up { from { opacity: 0; transform: translateY(100%); } }
@keyframes sb-ah-out-up { to { opacity: 0; transform: translateY(-100%); } }
@keyframes sb-ah-in-down { from { opacity: 0; transform: translateY(-100%); } }
@keyframes sb-ah-out-down { to { opacity: 0; transform: translateY(100%); } }
@keyframes sb-ah-in-zoom { from { opacity: 0; transform: scale(.5); } }
@keyframes sb-ah-out-zoom { to { opacity: 0; transform: scale(1.4); } }
@keyframes sb-ah-in-flip { from { opacity: 0; transform: rotateX(90deg); } }
@keyframes sb-ah-out-flip { to { opacity: 0; transform: rotateX(-90deg); } }
@keyframes sb-ah-in-blur { from { opacity: 0; filter: blur(10px); } }
@keyframes sb-ah-out-blur { to { opacity: 0; filter: blur(10px); } }
@media (prefers-reduced-motion: reduce) {
	.sb-aheading__word.is-in, .sb-aheading__word.is-out, .sb-aheading__cursor { animation: none !important; }
	.sb-aheading__rotator, .sb-aheading__rotator::after { transition: none !important; }
}

/* Map: the map fills the block, the inner blocks (in a card or free) are laid over it. */
.sb-map { position: relative; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center; min-height: var(--sb-map-h, 480px); overflow: hidden; }
.sb-map.sb-map--center { justify-content: center; }
.sb-map.sb-map--right { justify-content: flex-end; }
.sb-map.sb-map--top { align-items: flex-start; }
.sb-map.sb-map--bottom { align-items: flex-end; }
.sb-map .sb-map__map { position: absolute; inset: 0; z-index: 0; background: #e8ecef; }
.sb-map .sb-map__frame { display: block; width: 100%; height: 100%; margin: 0; border: 0; }
.sb-map.sb-map--grayscale .sb-map__frame { filter: grayscale(1) contrast(1.05); }
.sb-map.sb-map--static .sb-map__frame { pointer-events: none; }
.sb-map.sb-map--overlay .sb-map__map::after { content: ""; position: absolute; inset: 0; background: var(--sb-map-overlay); pointer-events: none; }
.sb-map .sb-map__content { position: relative; z-index: 1; box-sizing: border-box; width: min(var(--sb-map-card-w, 380px), calc(100% - 48px)); margin: 24px; }
.sb-map .sb-map__content > :first-child { margin-top: 0; }
.sb-map .sb-map__content > :last-child { margin-bottom: 0; }
.sb-map.sb-map--card .sb-map__content { padding: 28px; border-radius: var(--sb-map-card-r, 12px); background: var(--sb-map-card-bg, #fff); color: var(--sb-map-card-text, #1e1e1e); box-shadow: 0 16px 40px rgba(0, 0, 0, .18); }
.sb-map .sb-map__consent { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; text-align: center; color: #1e1e1e; background-color: #e8ecef; background-image: linear-gradient(rgba(255, 255, 255, .55) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .55) 1px, transparent 1px); background-size: 40px 40px; }
.sb-map .sb-map__notice { max-width: 420px; margin: 0; font-size: .9em; }
.sb-map .sb-map__load { cursor: pointer; }
/* The "Show the map" prompt sits beside the card, not under it. */
.sb-map.sb-map--card.sb-map--left .sb-map__consent { padding-left: min(calc(var(--sb-map-card-w, 380px) + 48px), 55%); }
.sb-map.sb-map--card.sb-map--right .sb-map__consent { padding-right: min(calc(var(--sb-map-card-w, 380px) + 48px), 55%); }
.sb-map.sb-map--card.sb-map--center .sb-map__consent { justify-content: flex-start; }
.sb-map.sb-map--card.sb-map--center.sb-map--top .sb-map__consent { justify-content: flex-end; }
@media (max-width: 781px) {
	.sb-map.sb-map--stack { display: block; min-height: 0; }
	.sb-map.sb-map--stack .sb-map__map { position: relative; height: min(var(--sb-map-h, 480px), 60vh); min-height: 260px; }
	.sb-map.sb-map--stack .sb-map__content { width: auto; margin: -40px 16px 16px; }
	.sb-map.sb-map--stack:not(.sb-map--card) .sb-map__content { margin: 16px 0 0; }
	.sb-map.sb-map.sb-map.sb-map--stack.sb-map--stack .sb-map__consent { padding: 24px; justify-content: center; }
}

/* Video Popup */
.sb-video { --sb-vi-color: var(--sb-video-icon-color, #6d28d9); --sb-vi-bg: var(--sb-video-icon-bg, #ffffff); box-sizing: border-box; }
.sb-video .sb-video__trigger { position: relative; display: inline-flex; align-items: center; gap: 14px; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: inherit; cursor: pointer; }
.sb-video--button.sb-align-center { text-align: center; }
.sb-video--button.sb-align-right { text-align: right; }
.sb-video .sb-video__label--below { flex-direction: column; }
.sb-video__label { color: var(--sb-video-label, inherit); font-weight: 600; line-height: 1.3; }
.sb-video__play { position: relative; display: inline-flex; flex: none; align-items: center; justify-content: center; width: var(--sb-video-icon, 84px); height: var(--sb-video-icon, 84px); border-radius: 50%; background: var(--sb-vi-bg); color: var(--sb-vi-color); box-shadow: 0 10px 30px rgba(15, 23, 42, .25); transition: transform .25s ease, box-shadow .25s ease; }
.sb-video__play svg { width: 42%; height: 42%; margin-left: 8%; }
.sb-video--icon-outline .sb-video__play { border: 3px solid var(--sb-vi-bg); background: transparent; color: var(--sb-vi-bg); box-shadow: none; }
.sb-video--icon-glass .sb-video__play { border: 1px solid rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .18); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.sb-video--icon-glass[style*="--sb-video-icon-color"] .sb-video__play { color: var(--sb-video-icon-color); }
.sb-video--icon-square .sb-video__play { border-radius: 18%; }
.sb-video--pulse .sb-video__play::before, .sb-video--pulse .sb-video__play::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid var(--sb-vi-bg); opacity: 0; animation: sb-video-pulse 2.4s ease-out infinite; pointer-events: none; }
.sb-video--pulse .sb-video__play::after { animation-delay: 1.2s; }
.sb-video--icon-outline.sb-video--pulse .sb-video__play::before, .sb-video--icon-outline.sb-video--pulse .sb-video__play::after { inset: -3px; }
.sb-video__trigger:hover .sb-video__play, .sb-video__trigger:focus-visible .sb-video__play { transform: scale(1.08); }
.sb-video__trigger:focus-visible { outline: 3px solid var(--sb-vi-color); outline-offset: 4px; }
@media (max-width: 600px) {
	.sb-video--image .sb-video__play { width: calc(var(--sb-video-icon, 84px) * .66); height: calc(var(--sb-video-icon, 84px) * .66); }
	.sb-video--image.sb-align-left .sb-video__center, .sb-video--image.sb-align-right .sb-video__center { padding: 16px; }
	.sb-video--image .sb-video__label { font-size: .9em; }
}
@keyframes sb-video-pulse { 0% { opacity: .7; transform: scale(1); } 100% { opacity: 0; transform: scale(1.7); } }

/* Image layout */
.sb-video--image .sb-video__trigger { display: block; width: 100%; overflow: hidden; border-radius: var(--sb-video-radius, 14px); aspect-ratio: var(--sb-video-ratio, 16/9); isolation: isolate; }
.sb-video__media { position: absolute; inset: 0; display: block; }
.sb-video__media.is-empty { background: linear-gradient(135deg, #312e81, #6d28d9 55%, #a21caf); }
.sb-video .sb-video__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.sb-video--zoom .sb-video__trigger:hover .sb-video__img { transform: scale(1.05); }
.sb-video__overlay { position: absolute; inset: 0; background: var(--sb-video-overlay, rgba(15, 23, 42, .25)); transition: background-color .3s ease; }
.sb-video__center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 20px; }
.sb-video--image.sb-align-left .sb-video__center { align-items: flex-start; justify-content: flex-end; padding: 28px; }
.sb-video--image.sb-align-right .sb-video__center { align-items: flex-end; justify-content: flex-end; padding: 28px; }
.sb-video--image .sb-video__label { color: var(--sb-video-label, #fff); font-size: 1.05em; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.sb-video__caption { position: absolute; right: 0; bottom: 0; left: 0; padding: 14px 18px; background: linear-gradient(transparent, rgba(0, 0, 0, .6)); color: #fff; font-size: .9em; text-align: left; }

/* Pop-up window */
.sb-video__dialog { box-sizing: border-box; width: 100vw; max-width: none; height: 100vh; max-height: none; margin: 0; padding: 24px; border: 0; background: transparent; overflow: hidden; }
.sb-video__dialog[open] { display: flex; align-items: center; justify-content: center; animation: sb-video-in .25s ease-out; }
.sb-video__dialog::backdrop { background: var(--sb-video-backdrop, rgba(5, 8, 20, .86)); }
.sb-video__frame { position: relative; width: min(var(--sb-video-w, 1000px), 100%, calc((100vh - 96px) * var(--sb-video-popup-ratio, 16/9))); aspect-ratio: var(--sb-video-popup-ratio, 16/9); overflow: hidden; border-radius: 10px; background: #000; box-shadow: 0 30px 80px rgba(0, 0, 0, .5); }
.sb-video__player { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: #000; }
.sb-video__dialog .sb-video__close { position: absolute; top: 14px; right: 14px; z-index: 1; display: flex; padding: 8px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #fff; font-size: 24px; cursor: pointer; }
.sb-video__dialog .sb-video__close:hover, .sb-video__dialog .sb-video__close:focus-visible { background: rgba(255, 255, 255, .25); }
html.sb-video-open { overflow: hidden; }
@keyframes sb-video-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	.sb-video--pulse .sb-video__play::before, .sb-video--pulse .sb-video__play::after { animation: none; }
	.sb-video__dialog[open] { animation: none; }
	.sb-video .sb-video__img, .sb-video__play { transition: none; }
}

/*
 * Buttons that must not look like theme buttons (code, close, "clear" and link-style buttons).
 * Themes often style every <button> with very specific selectors, so these few resets need !important.
 */
.sb-video .sb-video__trigger, .sb-video__dialog .sb-video__close, .sb-coupon .sb-coupon__code, .sb-size__dialog .sb-size__close, .sb-recent .sb-recent__clear, .sb-size .sb-size__open--link, .sb-size .sb-size__open--outline { min-height: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important; font: inherit !important; line-height: 1.3 !important; }
.sb-size .sb-size__open, .sb-coupon .sb-coupon__code { display: inline-flex !important; }
.sb-size__dialog .sb-size__close { display: flex !important; }
.sb-coupon .sb-coupon__code { padding: 0 !important; border: 1px solid var(--sb-coupon-accent-c) !important; border-radius: 6px !important; background: var(--sb-coupon-code-bg, #fff) !important; color: #1e1e1e !important; }
.sb-size__dialog .sb-size__close { padding: 6px !important; border: 0 !important; border-radius: 50% !important; background: none !important; color: inherit !important; font-size: 22px !important; }
.sb-size__dialog .sb-size__close:hover { background: rgba(0, 0, 0, .06) !important; }
.sb-recent .sb-recent__clear { padding: 0 !important; border: 0 !important; background: none !important; color: inherit !important; font-size: .85em !important; }
.sb-size .sb-size__open--link { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--sb-size-btn, inherit) !important; }
.sb-size .sb-size__open--outline { padding: .6em 1.1em !important; border: 1px solid var(--sb-size-btn, currentColor) !important; border-radius: 4px !important; background: transparent !important; color: var(--sb-size-btn, inherit) !important; }

.sb-video .sb-video__trigger { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: inherit !important; }
.sb-video--image .sb-video__trigger { border-radius: var(--sb-video-radius, 14px) !important; }
.sb-video__dialog .sb-video__close { padding: 8px !important; border: 0 !important; border-radius: 50% !important; background: rgba(255, 255, 255, .12) !important; color: #fff !important; font-size: 24px !important; }
.sb-video__dialog .sb-video__close:hover, .sb-video__dialog .sb-video__close:focus-visible { background: rgba(255, 255, 255, .25) !important; }

/* Announcement Bar */
.sb-announce { box-sizing: border-box; padding: 8px 16px; color: var(--sb-announce-text, #fff); background: var(--sb-announce-bg, #111); font-size: .875em; line-height: 1.4; }
.sb-announce[hidden] { display: none !important; }
.sb-announce__inner { display: flex; align-items: center; gap: 8px; }
.sb-announce__viewport { flex: 1; min-width: 0; overflow: hidden; }
.sb-announce__list { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 28px; margin: 0; padding: 0; list-style: none; }
.sb-announce.sb-align-left .sb-announce__list { justify-content: flex-start; }
.sb-announce.sb-align-right .sb-announce__list { justify-content: flex-end; }
.sb-announce__item { display: flex; align-items: center; gap: 8px; margin: 0; }
.sb-announce__link { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.sb-announce__link:hover { text-decoration: none; }
.sb-announce__icon { font-size: 1.25em; color: var(--sb-announce-icon, currentColor); }
.sb-announce__arrow, .sb-announce__close { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; color: inherit !important; font-size: 20px; line-height: 1; cursor: pointer; opacity: .8; }
.sb-announce__arrow:hover, .sb-announce__close:hover { opacity: 1; background: rgba(255, 255, 255, .15) !important; }
.sb-announce__arrow:focus-visible, .sb-announce__close:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
/* Rotate: one message at a time, with a short fade. */
.sb-announce--rotate .sb-announce__list { display: grid; justify-items: center; }
.sb-announce--rotate.sb-align-left .sb-announce__list { justify-items: start; }
.sb-announce--rotate.sb-align-right .sb-announce__list { justify-items: end; }
.sb-announce--rotate .sb-announce__item { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity .35s, visibility .35s; }
.sb-announce--rotate .sb-announce__item.is-active { visibility: visible; opacity: 1; }
/* Marquee: two copies of the list move left; the script sets the duration from the speed. */
.sb-announce--marquee .sb-announce__track { display: flex; width: max-content; animation: sb-announce-scroll var(--sb-announce-duration, 30s) linear infinite; }
.sb-announce--marquee .sb-announce__list { flex-wrap: nowrap; padding-right: 28px; white-space: nowrap; }
.sb-announce--marquee.is-paused .sb-announce__track { animation-play-state: paused; }
@keyframes sb-announce-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.sb-announce--rotate .sb-announce__item { transition: none; }
	.sb-announce--marquee .sb-announce__track { width: auto; animation: none; }
	.sb-announce--marquee .sb-announce__list { flex-wrap: wrap; white-space: normal; }
	.sb-announce--marquee .sb-announce__list.is-copy { display: none; }
}

/* Countdown */
.sb-countdown { box-sizing: border-box; color: var(--sb-cd-text, inherit); background: var(--sb-cd-bg, transparent); }
.sb-countdown[hidden], .sb-countdown__done[hidden] { display: none !important; }
.sb-countdown__title { margin: 0 0 10px; font-weight: 600; }
.sb-countdown__units { display: flex; flex-wrap: wrap; gap: 10px; }
.sb-countdown.sb-align-center .sb-countdown__units { justify-content: center; }
.sb-countdown.sb-align-right .sb-countdown__units { justify-content: flex-end; }
.sb-countdown__unit { display: flex; flex-direction: column; align-items: center; min-width: 4.2em; }
.sb-countdown__num { font-size: 2em; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--sb-cd-num, currentColor); }
.sb-countdown__label { margin-top: 4px; font-size: .75em; letter-spacing: .06em; text-transform: uppercase; color: var(--sb-cd-label, currentColor); opacity: .8; }
.sb-countdown--boxes .sb-countdown__unit { padding: 12px 10px 10px; border-radius: 10px; background: var(--sb-cd-box, rgba(0, 0, 0, .06)); }
.sb-countdown--plain .sb-countdown__units { gap: 4px 18px; }
.sb-countdown__done { margin: 10px 0 0; font-weight: 600; }
.sb-countdown.is-done .sb-countdown__units { display: none; }
.sb-countdown__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap; }

/* Opening Hours */
.sb-hours { box-sizing: border-box; color: var(--sb-hours-text, inherit); }
.sb-hours--box { padding: 18px 20px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 10px; background: var(--sb-hours-bg, transparent); }
.sb-hours--plain { background: var(--sb-hours-bg, transparent); }
.sb-hours__title { margin: 0 0 8px; font-weight: 700; font-size: 1.1em; }
.sb-hours__status { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-weight: 600; }
.sb-hours__status.is-open { color: var(--sb-hours-open, #1a7f37); }
.sb-hours__status.is-closed { color: var(--sb-hours-closed, #b42318); }
.sb-hours__dot { width: .6em; height: .6em; flex: none; border-radius: 50%; background: currentColor; }
.sb-hours__status.is-open .sb-hours__dot { box-shadow: 0 0 0 4px rgba(26, 127, 55, .18); }
.sb-hours__table { width: 100%; margin: 0; border-collapse: collapse; border: 0; }
.sb-hours__table th, .sb-hours__table td { padding: 7px 10px; border: 0; border-bottom: 1px solid rgba(0, 0, 0, .06); background: none; text-align: left; vertical-align: top; font-weight: 400; }
.sb-hours__table td { text-align: right; font-variant-numeric: tabular-nums; }
.sb-hours__table tr:last-child th, .sb-hours__table tr:last-child td { border-bottom: 0; }
.sb-hours__table td.is-closed { opacity: .65; }
.sb-hours--today tr.is-today th, .sb-hours--today tr.is-today td { font-weight: 700; background: var(--sb-hours-today, rgba(0, 0, 0, .05)); }
.sb-hours__special { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(0, 0, 0, .08); }
.sb-hours__special-title { margin: 0 0 6px; font-weight: 600; font-size: .9em; }
.sb-hours__special ul { margin: 0; padding: 0; list-style: none; }
.sb-hours__special li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin: 0; padding: 4px 0; font-size: .9em; }

/* Stock Indicator */
.sb-stock { box-sizing: border-box; color: var(--sb-stock-text, inherit); --sb-stock-state: #1a7f37; }
.sb-stock[hidden] { display: none !important; }
/* While the indicator shows, it replaces the stock line of WooCommerce in the same product (no "3 in stock" twice). */
:is(.wp-block-woocommerce-single-product, div.product):has(.sb-stock:not([hidden])) :is(p.stock, .woocommerce-variation-availability) { display: none; }
.sb-stock.is-low { --sb-stock-state: #d97706; }
.sb-stock.is-out { --sb-stock-state: #b42318; }
.sb-stock.is-backorder { --sb-stock-state: #2563eb; }
.sb-stock__text { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-weight: 600; }
.sb-stock__dot { width: .6em; height: .6em; flex: none; border-radius: 50%; background: var(--sb-stock-state); }
.sb-stock__bar { position: relative; height: 6px; overflow: hidden; border-radius: 999px; background: var(--sb-stock-track, rgba(0, 0, 0, .1)); }
.sb-stock__fill { position: absolute; inset: 0 auto 0 0; width: var(--sb-stock-fill, 0%); border-radius: inherit; background: var(--sb-stock-bar, var(--sb-stock-state)); transition: width .4s; }
.sb-stock.is-out .sb-stock__bar, .sb-stock.is-backorder .sb-stock__bar { display: none; }

/* Lowest Price */
.sb-lowest { box-sizing: border-box; color: var(--sb-lowest-text, inherit); }
.sb-lowest[hidden] { display: none !important; }
.sb-lowest__text { margin: 0; font-size: .9em; }
.sb-lowest__text .amount { font-weight: 600; color: var(--sb-lowest-price, inherit); }
.sb-lowest--box .sb-lowest__text { display: inline-block; padding: 6px 12px; border-radius: 8px; background: var(--sb-lowest-bg, rgba(0, 0, 0, .05)); }

/* Order Tracking */
.sb-tracking { box-sizing: border-box; color: var(--sb-tracking-text, inherit); }
.sb-tracking__inner { max-width: var(--sb-tracking-width, 640px); }
.sb-tracking.sb-align-center .sb-tracking__inner { margin-inline: auto; text-align: center; }
.sb-tracking--box .sb-tracking__inner { padding: 28px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 12px; background: var(--sb-tracking-bg, transparent); }
.sb-tracking__title { margin: 0 0 8px; }
.sb-tracking__text { margin: 0 0 18px; opacity: .85; }
.sb-tracking__form form { margin: 0; text-align: left; }
.sb-tracking__form form > p:first-child:not(.form-row) { display: none; }
.sb-tracking__form .form-row { margin: 0 0 14px; }
.sb-tracking .sb-tracking__form label { display: block; margin: 0 0 4px; color: inherit; font-weight: 600; font-size: .9em; }
.sb-tracking__form input.input-text { box-sizing: border-box; width: 100%; padding: 10px 12px; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; }
.sb-tracking__form button, .sb-tracking__form .button { padding: 11px 22px !important; border: 0 !important; border-radius: 6px !important; background: var(--sb-tracking-btn-bg, #111) !important; color: var(--sb-tracking-btn-text, #fff) !important; cursor: pointer; }
/* The found order (WooCommerce order/tracking.php): status, updates as a timeline, details and addresses. */
.sb-tracking { scroll-margin-top: 110px; }
.sb-tracking__form .order-info { margin: 0 0 20px; padding: 14px 16px; border-radius: 8px; background: rgba(127, 127, 127, .1); line-height: 1.6; }
.sb-tracking__form .order-info mark { padding: 0; background: none; color: inherit; font-weight: 700; }
.sb-tracking__form .order-info mark.order-status { display: inline-block; padding: 1px 10px; border-radius: 999px; background: var(--sb-tracking-btn-bg, #111); color: var(--sb-tracking-btn-text, #fff); font-size: .9em; }
.sb-tracking__form h2, .sb-tracking__form .woocommerce-column__title { margin: 24px 0 12px; color: inherit; font-size: 1.15em; line-height: 1.3; }
.sb-tracking__form ol.notes { margin: 0 0 8px; padding: 0; list-style: none; }
.sb-tracking__form ol.notes li { position: relative; margin: 0; padding: 0 0 14px 22px; border-left: 2px solid rgba(127, 127, 127, .25); }
.sb-tracking__form ol.notes li:last-child { border-left-color: transparent; }
.sb-tracking__form ol.notes li::before { content: ""; position: absolute; top: 4px; left: -6px; width: 10px; height: 10px; border-radius: 50%; background: var(--sb-tracking-btn-bg, #111); }
.sb-tracking__form ol.notes li:not(:first-child)::before { opacity: .45; }
.sb-tracking__form ol.notes .meta { margin: 0 0 2px; font-size: .85em; opacity: .7; }
.sb-tracking__form ol.notes .description p { margin: 0; }
.sb-tracking__form table { width: 100%; color: inherit; }
.sb-tracking__form table a { color: inherit; }
.sb-tracking__form address { color: inherit; }
.sb-tracking__again { margin: 18px 0 0; }
.sb-tracking__again a { color: inherit; font-weight: 600; }
@media (min-width: 600px) {
	.sb-tracking__form .form-row-first, .sb-tracking__form .form-row-last { display: inline-block; width: calc(50% - 8px); vertical-align: top; }
	.sb-tracking__form .form-row-first { margin-right: 12px; }
}

/* Free Shipping Progress */
.sb-ship { --sb-ship-bar: #2271b1; --sb-ship-track: rgba(0, 0, 0, .12); --sb-ship-success: #1a7f37; box-sizing: border-box; padding: 12px 16px; }
.sb-ship.sb-has-ship-bg { background: var(--sb-ship-bg); }
.sb-ship.is-hidden { display: none; }
.sb-ship .sb-ship__text { margin: 0 0 8px; text-align: center; }
.sb-ship--align-left .sb-ship__text { text-align: left; }
.sb-ship--align-right .sb-ship__text { text-align: right; }
.sb-ship.sb-has-ship-text .sb-ship__text, .sb-ship.sb-has-ship-text .sb-ship__text * { color: var(--sb-ship-text); }
.sb-ship .sb-ship__text .woocommerce-Price-amount { font-weight: 700; }
.sb-ship .sb-ship__bar { height: var(--sb-ship-height, 8px); overflow: hidden; border-radius: 999px; background: var(--sb-ship-track); }
.sb-ship .sb-ship__fill { display: block; height: 100%; border-radius: inherit; background: var(--sb-ship-bar); transition: width .4s ease; }
.sb-ship.sb-ship--reached .sb-ship__fill { background: var(--sb-ship-success); }
@media (prefers-reduced-motion: reduce) { .sb-ship .sb-ship__fill { transition: none; } }

/* Payment QR Code */
.sb-payqr { box-sizing: border-box; color: var(--sb-payqr-text, inherit); }
.sb-payqr__inner { display: flex; align-items: flex-start; gap: 28px; }
.sb-payqr--box .sb-payqr__inner { padding: 24px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 12px; background: var(--sb-payqr-bg, transparent); }
.sb-payqr--plain .sb-payqr__inner { background: var(--sb-payqr-bg, transparent); }
.sb-payqr--stack .sb-payqr__inner { flex-direction: column; align-items: center; text-align: center; }
.sb-payqr__code { flex: none; width: var(--sb-payqr-size, 200px); max-width: 100%; margin: 0; }
.sb-payqr__code svg { display: block; width: 100%; height: auto; border-radius: 6px; }
.sb-payqr__format { margin: 6px 0 0; font-size: .8em; text-align: center; opacity: .7; }
.sb-payqr__body { flex: 1; min-width: 0; }
.sb-payqr__title { margin: 0 0 8px; }
.sb-payqr__text { margin: 0 0 16px; opacity: .85; }
.sb-payqr__details { display: grid; gap: 6px; margin: 0; }
.sb-payqr__details > div { display: grid; grid-template-columns: minmax(110px, auto) 1fr; gap: 12px; text-align: left; }
.sb-payqr--stack .sb-payqr__details { justify-content: center; }
.sb-payqr__details dt { margin: 0; font-weight: 600; }
.sb-payqr__details dd { margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) {
	.sb-payqr__inner { flex-direction: column; align-items: center; text-align: center; }
	.sb-payqr__details > div { grid-template-columns: 1fr; gap: 0; text-align: center; }
}

/* Invoice Download */
.sb-invoice-download { display: flex; flex-wrap: wrap; gap: 10px; }
.sb-invoice-download.sb-align-center { justify-content: center; }
.sb-invoice-download.sb-align-right { justify-content: flex-end; }
.sb-invoice-download__button { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.sb-invoice-download__button::before { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m0 0-5-5m5 5 5-5M5 21h14' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m0 0-5-5m5 5 5-5M5 21h14' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
