/* Buy More Save More – product block */
.sgbm-block {
	--sgbm-primary: #22c38e;
	--sgbm-dark: #194d3c;
	--sgbm-dark: color-mix(in srgb, var(--sgbm-primary) 40%, #08170a);
	--sgbm-tint: rgba(34, 195, 142, 0.04);
	--sgbm-tint: color-mix(in srgb, var(--sgbm-primary) 5%, var(--sgbm-bg));
	--sgbm-badge-bg: #d9f5ea;
	--sgbm-badge-bg: color-mix(in srgb, var(--sgbm-primary) 18%, #fff);
	--sgbm-border: #e2e2e2;
	--sgbm-muted: #8a8a8a;
	--sgbm-text: #08170a;
	--sgbm-bg: #fff;
	--sgbm-on-primary: #fff;
	--sgbm-radius: 2px;
	margin: 20px 0;
	width: 100%;
	color: var(--sgbm-text);
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
}
.sgbm-block *,
.sgbm-block *::before,
.sgbm-block *::after { box-sizing: border-box; }

.sgbm-title {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
	line-height: 1.3;
}

.sgbm-tiers { display: flex; flex-direction: column; gap: 16px; }

.sgbm-tier {
	position: relative;
	border: 1px solid var(--sgbm-border);
	border-radius: var(--sgbm-radius);
	background: var(--sgbm-bg);
	padding: 16px;
	transition: border-color .15s, background-color .15s;
}
.sgbm-tier.has-badge { margin-top: 6px; }
.sgbm-tier:hover { border-color: color-mix(in srgb, var(--sgbm-primary) 60%, #fff); }
.sgbm-tier.is-selected {
	border-color: var(--sgbm-primary);
	background: var(--sgbm-tint);
}
.sgbm-tier.is-disabled { opacity: .5; }
.sgbm-tier.is-disabled .sgbm-tier__head { cursor: not-allowed; }

.sgbm-tier__head {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	cursor: pointer;
	font-weight: inherit;
	width: 100%;
}

/* radio */
.sgbm-radio {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
.sgbm-radio-ui {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border-radius: 50%;
	border: 1px solid #c9c9c9;
	background: #fff;
	position: relative;
}
.sgbm-radio:checked + .sgbm-radio-ui {
	border-color: var(--sgbm-primary);
	background: var(--sgbm-primary);
}
.sgbm-radio:checked + .sgbm-radio-ui::after {
	content: "";
	position: absolute;
	inset: 5px;
	border-radius: 50%;
	background: #fff;
}
.sgbm-radio:focus-visible + .sgbm-radio-ui {
	outline: 2px solid var(--sgbm-primary);
	outline-offset: 2px;
}

.sgbm-tier__main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.sgbm-tier__line { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.sgbm-tier__label { font-size: 16px; font-weight: 700; }
.sgbm-tag {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	padding: 1px 4px;
	border: 1px solid var(--sgbm-dark);
	border-radius: 4px;
	color: var(--sgbm-dark);
	white-space: nowrap;
}
.sgbm-tier__sub { font-size: 12px; color: var(--sgbm-muted); margin-top: 4px; }

.sgbm-tier__prices {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding-left: 12px;
	text-align: right;
}
.sgbm-price { font-size: 16px; font-weight: 700; color: var(--sgbm-dark); }
.sgbm-price-old { font-size: 12px; color: var(--sgbm-muted); text-decoration: line-through; margin-top: 2px; }
.sgbm-price .woocommerce-Price-amount,
.sgbm-price-old .woocommerce-Price-amount { font-weight: inherit; color: inherit; }

.sgbm-badge {
	position: absolute;
	top: -11px;
	right: 12px;
	max-width: 60%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	padding: 1px 8px;
	border-radius: 4px;
	background: var(--sgbm-badge-bg);
	color: var(--sgbm-dark);
}

/* per-item variation pickers */
.sgbm-items { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.sgbm-items[hidden] { display: none; }
.sgbm-item { display: flex; align-items: center; gap: 8px; }
.sgbm-item__no { flex: 0 0 32px; font-size: 12px; color: var(--sgbm-text); }
.sgbm-item__pick { position: relative; flex: 0 1 180px; min-width: 0; }
.sgbm-item__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	width: 100%;
	height: 32px;
	margin: 0;
	padding: 0 8px 0 12px;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	background: #fff;
	color: var(--sgbm-text);
	font: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
}
.sgbm-item__btn:hover,
.sgbm-item__btn[aria-expanded="true"] { border-color: var(--sgbm-primary); background: #fff; color: var(--sgbm-text); }
.sgbm-item__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sgbm-chevron { flex: 0 0 auto; transition: transform .15s; }
.sgbm-item__btn[aria-expanded="true"] .sgbm-chevron { transform: rotate(180deg); }
.sgbm-item.is-unavailable .sgbm-item__btn { border-color: #d63638; color: #d63638; }
.sgbm-item__thumb {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid var(--sgbm-border);
	background: #fff;
	margin: 0;
}
.sgbm-item__thumb[hidden] { display: none; }
.sgbm-item__price { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--sgbm-dark); white-space: nowrap; }
.sgbm-item__price:empty { display: none; }
.sgbm-block .sgbm-copy {
	align-self: flex-start;
	margin: 2px 0 0 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--sgbm-dark);
	font: inherit;
	font-size: 12px;
	font-weight: 400;
	text-decoration: underline;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
}
.sgbm-block .sgbm-copy:hover { background: none; color: var(--sgbm-primary); }

.sgbm-save { margin-top: 4px; font-size: 12px; font-weight: 700; color: var(--sgbm-dark); }
.sgbm-save[hidden] { display: none; }
.sgbm-each { font-size: 11px; color: var(--sgbm-muted); margin-top: 2px; }
.sgbm-each[hidden] { display: none; }

.sgbm-pop {
	position: absolute;
	z-index: 50;
	top: calc(100% + 4px);
	left: 0;
	min-width: 100%;
	width: max-content;
	max-width: min(320px, 80vw);
	padding: 12px;
	background: #fff;
	border: 1px solid var(--sgbm-border);
	border-radius: 6px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.sgbm-pop[hidden] { display: none; }
.sgbm-pop__field { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 12px; font-weight: 400; }
.sgbm-pop__label { font-weight: 400; color: var(--sgbm-muted); }
.sgbm-pop__value { font-weight: 700; color: var(--sgbm-text); }

/* swatches */
.sgbm-swatches { display: flex; flex-wrap: wrap; gap: 6px; }
.sgbm-block .sgbm-swatch {
	position: relative;
	min-width: 36px;
	height: 32px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #c9c9c9;
	border-radius: 4px;
	background: #fff;
	color: var(--sgbm-text);
	font: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
	cursor: pointer;
	overflow: hidden;
}
.sgbm-block .sgbm-swatch:hover { border-color: var(--sgbm-primary); background: #fff; color: var(--sgbm-text); }
.sgbm-block .sgbm-swatch.is-active {
	border-color: var(--sgbm-dark);
	background: var(--sgbm-dark);
	color: #fff;
}
.sgbm-block .sgbm-swatch.is-other { border-style: dashed; color: var(--sgbm-muted); }
.sgbm-block .sgbm-swatch.is-other.is-active { color: #fff; }
.sgbm-block .sgbm-swatch:disabled {
	cursor: not-allowed;
	opacity: .45;
	background: linear-gradient(to top right, transparent calc(50% - 1px), #c9c9c9 50%, transparent calc(50% + 1px)), #fff;
	color: var(--sgbm-muted);
}
.sgbm-block .sgbm-swatch:focus-visible { outline: 2px solid var(--sgbm-primary); outline-offset: 1px; }
.sgbm-swatches.has-images .sgbm-swatch { width: 48px; height: 48px; min-width: 0; padding: 2px; border-radius: 6px; }
.sgbm-swatches.has-images .sgbm-swatch.is-active { background: #fff; border: 2px solid var(--sgbm-dark); }
.sgbm-swatch img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 4px; margin: 0; }
.sgbm-pop__select {
	width: 100%;
	min-width: 160px;
	height: 34px;
	margin: 0;
	padding: 0 8px;
	border: 1px solid #c9c9c9;
	border-radius: 4px;
	background-color: #fff;
	font-size: 13px;
}

/* button + message */
.sgbm-block .sgbm-add {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin: 16px 0 0;
	padding: 0 16px;
	border: 0;
	border-radius: var(--sgbm-radius);
	background: var(--sgbm-primary);
	color: var(--sgbm-on-primary);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: filter .15s;
}
.sgbm-block .sgbm-add:hover { filter: brightness(.95); background: var(--sgbm-primary); color: var(--sgbm-on-primary); }
.sgbm-block .sgbm-add:disabled { opacity: .55; cursor: not-allowed; }
.sgbm-block.is-loading .sgbm-add { position: relative; color: transparent; }
.sgbm-block.is-loading .sgbm-add::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border: 2px solid rgba(255, 255, 255, .5);
	border-top-color: #fff;
	border-radius: 50%;
	animation: sgbm-spin .7s linear infinite;
}
@keyframes sgbm-spin { to { transform: rotate(360deg); } }

.sgbm-msg { margin-top: 8px; font-size: 13px; }
.sgbm-msg:empty { display: none; }
.sgbm-msg.is-error { color: #d63638; }
.sgbm-msg.is-success { color: var(--sgbm-dark); }
.sgbm-msg__link { font-weight: 700; color: var(--sgbm-dark); text-decoration: underline; }

/* phones */
@media (max-width: 480px) {
	.sgbm-title { font-size: 18px; }
	.sgbm-tier { padding: 14px 12px; }
	.sgbm-tier__label,
	.sgbm-price { font-size: 15px; }
	.sgbm-item__pick { flex: 1 1 auto; }
	.sgbm-pop { max-width: calc(100vw - 80px); }
}

/* ---------------------------------------------------------------------------
 * Templates: classic (default) · cards · minimal · bold
 * ------------------------------------------------------------------------- */

/* Cards: the choices side by side, the option pickers of the chosen one below.
   Each tier's box is dissolved so its head, badge and pickers sit in one grid. */
.sgbm-tpl-cards .sgbm-tiers {
	display: grid;
	grid-template-columns: repeat(var(--sgbm-n, 3), minmax(0, 1fr));
	gap: 10px;
	padding-top: 10px;
}
.sgbm-tpl-cards .sgbm-tier {
	display: contents;
}
.sgbm-tpl-cards .sgbm-tier__head {
	position: relative;
	grid-row: 1;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	height: 100%;
	padding: 18px 8px 14px;
	border: 1px solid var(--sgbm-border);
	border-radius: calc(var(--sgbm-radius) + 6px);
	background: var(--sgbm-bg);
	text-align: center;
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.sgbm-tpl-cards .sgbm-tier__head:hover {
	border-color: color-mix(in srgb, var(--sgbm-primary) 60%, #fff);
}
.sgbm-tpl-cards .sgbm-tier.is-selected .sgbm-tier__head {
	border-color: var(--sgbm-primary);
	background: var(--sgbm-tint);
	box-shadow: 0 0 0 1px var(--sgbm-primary);
}
.sgbm-tpl-cards .sgbm-tier.is-disabled .sgbm-tier__head { opacity: .5; }
.sgbm-tpl-cards .sgbm-radio-ui {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 16px;
	height: 16px;
}
.sgbm-tpl-cards .sgbm-radio:checked + .sgbm-radio-ui::after { inset: 4px; }
.sgbm-tpl-cards .sgbm-tier__main { align-items: center; }
.sgbm-tpl-cards .sgbm-tier__line { flex-direction: column; justify-content: center; gap: 4px; }
.sgbm-tpl-cards .sgbm-tier__label { font-size: 15px; }
.sgbm-tpl-cards .sgbm-tier__sub { display: none; }
.sgbm-tpl-cards .sgbm-tier__prices { align-items: center; padding-left: 0; text-align: center; }
.sgbm-tpl-cards .sgbm-price { font-size: 18px; }
.sgbm-tpl-cards .sgbm-badge {
	position: relative;
	z-index: 1;
	top: auto;
	right: auto;
	grid-row: 1;
	align-self: start;
	justify-self: center;
	max-width: 92%;
	margin-top: -10px;
	pointer-events: none;
}
.sgbm-tpl-cards .sgbm-items {
	grid-row: 2;
	grid-column: 1 / -1;
	margin-top: 4px;
	padding: 12px;
	border: 1px solid var(--sgbm-border);
	border-radius: calc(var(--sgbm-radius) + 6px);
	background: var(--sgbm-tint);
}
.sgbm-tpl-cards .sgbm-tier:nth-child(1) > .sgbm-tier__head, .sgbm-tpl-cards .sgbm-tier:nth-child(1) > .sgbm-badge { grid-column: 1; }
.sgbm-tpl-cards .sgbm-tier:nth-child(2) > .sgbm-tier__head, .sgbm-tpl-cards .sgbm-tier:nth-child(2) > .sgbm-badge { grid-column: 2; }
.sgbm-tpl-cards .sgbm-tier:nth-child(3) > .sgbm-tier__head, .sgbm-tpl-cards .sgbm-tier:nth-child(3) > .sgbm-badge { grid-column: 3; }
.sgbm-tpl-cards .sgbm-tier:nth-child(4) > .sgbm-tier__head, .sgbm-tpl-cards .sgbm-tier:nth-child(4) > .sgbm-badge { grid-column: 4; }
.sgbm-tpl-cards .sgbm-tier:nth-child(5) > .sgbm-tier__head, .sgbm-tpl-cards .sgbm-tier:nth-child(5) > .sgbm-badge { grid-column: 5; }
.sgbm-tpl-cards .sgbm-tier:nth-child(6) > .sgbm-tier__head, .sgbm-tpl-cards .sgbm-tier:nth-child(6) > .sgbm-badge { grid-column: 6; }
.sgbm-tpl-cards .sgbm-copy { margin-left: 0; }

/* Minimal: rows with dividers, an accent bar on the chosen one. */
.sgbm-tpl-minimal .sgbm-tiers {
	gap: 0;
	border-top: 1px solid var(--sgbm-border);
}
.sgbm-tpl-minimal .sgbm-tier {
	padding: 14px 12px 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--sgbm-border);
	border-radius: 0;
	background: transparent;
}
.sgbm-tpl-minimal .sgbm-tier.has-badge { margin-top: 0; }
.sgbm-tpl-minimal .sgbm-tier::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	width: 3px;
	border-radius: 3px;
	background: transparent;
	transition: background-color .15s;
}
.sgbm-tpl-minimal .sgbm-tier:hover { border-color: var(--sgbm-border); background: transparent; }
.sgbm-tpl-minimal .sgbm-tier.is-selected { background: var(--sgbm-tint); }
.sgbm-tpl-minimal .sgbm-tier.is-selected::before { background: var(--sgbm-primary); }
.sgbm-tpl-minimal .sgbm-badge {
	position: static;
	display: inline-block;
	margin: 6px 0 0 30px;
}
.sgbm-tpl-minimal .sgbm-tier__label { font-size: 15px; font-weight: 600; }

/* Bold: rounded, the chosen tier filled with the primary color. */
.sgbm-tpl-bold .sgbm-tiers { gap: 12px; }
.sgbm-tpl-bold .sgbm-tier {
	border-width: 2px;
	border-radius: calc(var(--sgbm-radius) + 10px);
	padding: 16px 18px;
}
.sgbm-tpl-bold .sgbm-tier.is-selected {
	border-color: var(--sgbm-primary);
	background: var(--sgbm-primary);
	color: var(--sgbm-on-primary);
}
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-price,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-save,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-tier__sub,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-each,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-price-old,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-copy,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-item__no,
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-item__price { color: var(--sgbm-on-primary); }
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-price-old { opacity: .75; }
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-tag {
	border-color: var(--sgbm-on-primary);
	background: var(--sgbm-on-primary);
	color: var(--sgbm-primary);
}
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-radio-ui {
	border-color: var(--sgbm-on-primary);
	background: var(--sgbm-on-primary);
}
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-radio-ui::after { background: var(--sgbm-primary); }
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-item__btn { border-color: transparent; }
.sgbm-tpl-bold .sgbm-badge {
	top: -12px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--sgbm-dark);
	color: #fff;
	box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .35);
}
.sgbm-tpl-bold .sgbm-add { border-radius: calc(var(--sgbm-radius) + 10px); }

@media (max-width: 480px) {
	.sgbm-tpl-cards .sgbm-tiers { gap: 6px; }
	.sgbm-tpl-cards .sgbm-tier__head { padding: 16px 4px 10px; }
	.sgbm-tpl-cards .sgbm-tier__label { font-size: 13px; }
	.sgbm-tpl-cards .sgbm-price { font-size: 15px; }
	.sgbm-tpl-cards .sgbm-tag { font-size: 10px; }
	/* Four or more cards on a phone: a smaller badge so "Most popular" stays whole. */
	.sgbm-tpl-cards .sgbm-badge { max-width: 100%; padding: 2px 6px; font-size: 9px; letter-spacing: 0; }
}

/* ---------------------------------------------------------------------------
 * Style options: sgbm-button-*, sgbm-radio-*, sgbm-badge-*, sgbm-tag-*, sgbm-option-*
 * (the first choice of each is the default and adds no class).
 * ------------------------------------------------------------------------- */

/* Button: outline / pill. */
.sgbm-block.sgbm-button-outline .sgbm-add {
	border: 2px solid var(--sgbm-primary);
	background: transparent;
	color: var(--sgbm-primary);
}
.sgbm-block.sgbm-button-outline .sgbm-add:hover {
	background: var(--sgbm-primary);
	color: var(--sgbm-on-primary);
	filter: none;
}
.sgbm-block.sgbm-button-outline.is-loading .sgbm-add::after {
	border-color: color-mix(in srgb, var(--sgbm-primary) 35%, transparent);
	border-top-color: var(--sgbm-primary);
}
.sgbm-block.sgbm-button-pill .sgbm-add { border-radius: 999px; }

/* Choice marker: check mark / square. */
.sgbm-radio-check .sgbm-radio:checked + .sgbm-radio-ui::after {
	inset: auto;
	top: 4px;
	left: 6px;
	width: 6px;
	height: 10px;
	border: solid var(--sgbm-on-primary);
	border-width: 0 2px 2px 0;
	border-radius: 0;
	background: none;
	transform: rotate(45deg);
}
.sgbm-tpl-cards.sgbm-radio-check .sgbm-radio:checked + .sgbm-radio-ui::after { top: 2px; left: 5px; width: 5px; height: 9px; }
.sgbm-tpl-bold.sgbm-radio-check .sgbm-tier.is-selected .sgbm-radio-ui::after { border-color: var(--sgbm-primary); }
.sgbm-radio-square .sgbm-radio-ui { border-radius: 4px; }
.sgbm-radio-square .sgbm-radio:checked + .sgbm-radio-ui::after { border-radius: 1px; }

/* "Most popular" badge: pill / corner ribbon. */
.sgbm-badge-pill .sgbm-badge {
	border-radius: 999px;
	padding: 1px 10px;
	background: var(--sgbm-primary);
	color: var(--sgbm-on-primary);
}
.sgbm-badge-ribbon .sgbm-tier.has-badge { margin-top: 0; }
.sgbm-badge-ribbon .sgbm-badge {
	top: -1px;
	right: -1px;
	max-width: 50%;
	padding: 3px 12px;
	border-radius: 0 var(--sgbm-radius) 0 10px;
	background: var(--sgbm-primary);
	color: var(--sgbm-on-primary);
	font-size: 11px;
	letter-spacing: .02em;
	text-transform: uppercase;
}
.sgbm-badge-ribbon .sgbm-tier.has-badge .sgbm-tier__prices { padding-top: 14px; }
.sgbm-tpl-cards.sgbm-badge-ribbon .sgbm-badge {
	justify-self: stretch;
	max-width: none;
	margin: 0;
	border-radius: calc(var(--sgbm-radius) + 6px) calc(var(--sgbm-radius) + 6px) 0 0;
	text-align: center;
}
.sgbm-tpl-cards.sgbm-badge-ribbon .sgbm-tier.has-badge .sgbm-tier__head { padding-top: 30px; }
.sgbm-tpl-cards.sgbm-badge-ribbon .sgbm-tier.has-badge .sgbm-tier__prices { padding-top: 0; }
.sgbm-tpl-minimal.sgbm-badge-ribbon .sgbm-badge { position: absolute; }
.sgbm-tpl-bold.sgbm-badge-ribbon .sgbm-tier.is-selected .sgbm-badge {
	background: var(--sgbm-on-primary);
	color: var(--sgbm-primary);
}

/* Discount tag: filled / soft. */
.sgbm-tag-filled .sgbm-tag {
	border-color: var(--sgbm-dark);
	background: var(--sgbm-dark);
	color: #fff;
}
.sgbm-tag-soft .sgbm-tag {
	border-color: transparent;
	background: var(--sgbm-badge-bg);
	color: var(--sgbm-dark);
}

/* Option buttons: rounded / pill (image swatches round). */
.sgbm-option-rounded .sgbm-swatch { border-radius: 8px !important; }
.sgbm-option-rounded .sgbm-item__btn { border-radius: 8px; }
.sgbm-option-pill .sgbm-swatch { border-radius: 999px !important; }
.sgbm-option-pill .sgbm-swatches.has-images .sgbm-swatch,
.sgbm-option-pill .sgbm-swatch img { border-radius: 50% !important; }
.sgbm-option-pill .sgbm-item__btn { border-radius: 999px; }
.sgbm-option-pill .sgbm-item__thumb { border-radius: 50%; }
.sgbm-tpl-bold.sgbm-badge-ribbon .sgbm-badge { top: -2px; right: -2px; border-radius: 0 calc(var(--sgbm-radius) + 10px) 0 10px; box-shadow: none; }
.sgbm-tpl-minimal.sgbm-badge-ribbon .sgbm-badge { top: 0; right: 0; border-radius: 0 0 0 10px; margin: 0; }
/* Cards: the highlighted border marks the choice; no radio circle in the corner. */
.sgbm-tpl-cards .sgbm-radio-ui { display: none; }

/* Block above the product Add to cart button: no own button, the product button adds the bundle. */
.sgbm-block .sgbm-add[hidden] { display: none !important; }
.sgbm-block.sgbm-inline { margin: 0 0 16px; }

/* ---------------------------------------------------------------------------
 * 1.4: header styles, sub-label, highlight bar, quantity marker, summary,
 * total on the button, "Soft" template.
 * ------------------------------------------------------------------------- */
.sgbm-icon { display: inline-block; flex: 0 0 auto; vertical-align: -3px; }
.sgbm-title .sgbm-icon { margin-right: 8px; color: var(--sgbm-primary); }

.sgbm-head { margin: 0 0 14px; }
.sgbm-head .sgbm-title { margin: 0; }
.sgbm-head--divider { display: flex; align-items: center; gap: 14px; }
.sgbm-head--divider::before,
.sgbm-head--divider::after { content: ""; flex: 1 1 0; min-width: 20px; height: 1px; background: var(--sgbm-border); }
.sgbm-head--divider .sgbm-title {
	display: inline-flex;
	align-items: center;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-align: center;
}
.sgbm-head--icon { display: flex; align-items: center; gap: 12px; }
.sgbm-head__icon {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: calc(var(--sgbm-radius) + 6px);
	background: var(--sgbm-badge-bg);
	color: var(--sgbm-primary);
}
.sgbm-head__icon .sgbm-icon { width: 20px; height: 20px; }
.sgbm-head__text { display: flex; flex-direction: column; min-width: 0; }
.sgbm-head--icon .sgbm-title { font-size: 18px; }
.sgbm-head__sub { margin-top: 2px; font-size: 12px; color: var(--sgbm-muted); }

/* Highlight bar at the bottom of a tier ("+ FREE SHIPPING"). */
.sgbm-tier__note {
	margin: 12px -16px -16px;
	padding: 8px 16px;
	border-radius: 0 0 max(0px, calc(var(--sgbm-radius) - 1px)) max(0px, calc(var(--sgbm-radius) - 1px));
	background: var(--sgbm-badge-bg);
	color: var(--sgbm-dark);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}
.sgbm-tier.is-selected .sgbm-tier__note { background: var(--sgbm-primary); color: var(--sgbm-on-primary); }
.sgbm-tpl-minimal .sgbm-tier__note { margin: 12px -12px -14px -16px; border-radius: 0; }
.sgbm-tpl-bold .sgbm-tier__note { margin: 12px -18px -16px; border-radius: 0 0 calc(var(--sgbm-radius) + 8px) calc(var(--sgbm-radius) + 8px); }
.sgbm-tpl-bold .sgbm-tier.is-selected .sgbm-tier__note {
	background: color-mix(in srgb, var(--sgbm-on-primary) 20%, var(--sgbm-primary));
	color: var(--sgbm-on-primary);
}
.sgbm-tpl-cards .sgbm-tier__note {
	grid-row: 3;
	grid-column: 1 / -1;
	margin: 0;
	border-radius: calc(var(--sgbm-radius) + 6px);
	text-align: center;
}
.sgbm-tpl-cards .sgbm-tier:not(.is-selected) .sgbm-tier__note { display: none; }

/* Choice marker: quantity box. */
.sgbm-qty-no { display: none; }
.sgbm-radio-number .sgbm-tier__head { align-items: center; gap: 12px; }
.sgbm-radio-number .sgbm-radio-ui {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border: 0;
	border-radius: calc(var(--sgbm-radius) + 4px);
	background: var(--sgbm-badge-bg);
	color: var(--sgbm-dark);
}
.sgbm-radio-number .sgbm-qty-no { display: block; font-size: 15px; font-weight: 700; line-height: 1; }
.sgbm-radio-number .sgbm-radio:checked + .sgbm-radio-ui { background: var(--sgbm-primary); color: var(--sgbm-on-primary); }
.sgbm-radio-number .sgbm-radio:checked + .sgbm-radio-ui::after { display: none; }
.sgbm-tpl-bold.sgbm-radio-number .sgbm-tier.is-selected .sgbm-radio-ui { background: var(--sgbm-on-primary); color: var(--sgbm-primary); }
.sgbm-tpl-cards.sgbm-radio-number .sgbm-radio-ui { display: none; } /* cards mark the choice with the border */

/* Summary box. */
.sgbm-summary {
	margin-top: 16px;
	padding: 14px 16px;
	border: 1px solid color-mix(in srgb, var(--sgbm-primary) 12%, var(--sgbm-border));
	border-radius: calc(var(--sgbm-radius) + 4px);
	background: var(--sgbm-tint);
}
.sgbm-summary__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 3px 0; }
.sgbm-summary__row[hidden] { display: none; }
.sgbm-summary__row > span:last-child { white-space: nowrap; }
.sgbm-summary__row.is-discount { color: var(--sgbm-dark); font-weight: 600; }
.sgbm-summary__row.is-discount .sgbm-icon { width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; }
.sgbm-summary__row.is-total {
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px solid var(--sgbm-border);
	font-size: 16px;
	font-weight: 700;
}
.sgbm-summary__row.is-total [data-k="total"] { font-size: 20px; }

/* Total on the button. */
.sgbm-btn-total { margin-left: .4em; white-space: nowrap; }
.sgbm-btn-total:empty { display: none; }

/* Soft: airy rounded cards, a soft glow on the chosen one. */
.sgbm-tpl-soft .sgbm-tiers { gap: 12px; }
.sgbm-tpl-soft .sgbm-tier {
	padding: 16px 18px;
	border: 1.5px solid color-mix(in srgb, var(--sgbm-primary) 16%, var(--sgbm-border));
	border-radius: calc(var(--sgbm-radius) + 10px);
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.sgbm-tpl-soft .sgbm-tier:hover { border-color: color-mix(in srgb, var(--sgbm-primary) 45%, var(--sgbm-bg)); }
.sgbm-tpl-soft .sgbm-tier.is-selected {
	border-color: var(--sgbm-primary);
	background: color-mix(in srgb, var(--sgbm-primary) 4%, var(--sgbm-bg));
	box-shadow: 0 0 0 1px var(--sgbm-primary), 0 10px 24px -14px color-mix(in srgb, var(--sgbm-primary) 70%, transparent);
}
.sgbm-tpl-soft .sgbm-tier__label { font-size: 17px; font-weight: 600; }
.sgbm-tpl-soft .sgbm-price { font-size: 17px; color: var(--sgbm-text); }
.sgbm-tpl-soft:not(.sgbm-tag-filled):not(.sgbm-tag-soft) .sgbm-tag {
	padding: 2px 9px;
	border: 0;
	border-radius: 999px;
	background: var(--sgbm-badge-bg);
	color: var(--sgbm-dark);
}
.sgbm-tpl-soft:not(.sgbm-tag-filled):not(.sgbm-tag-soft) .sgbm-tier.is-selected .sgbm-tag { background: var(--sgbm-primary); color: var(--sgbm-on-primary); }
.sgbm-tpl-soft:not(.sgbm-badge-pill):not(.sgbm-badge-ribbon) .sgbm-badge {
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--sgbm-primary);
	color: var(--sgbm-on-primary);
}
.sgbm-tpl-soft .sgbm-tier__note { margin: 12px -18px -16px; border-radius: 0 0 calc(var(--sgbm-radius) + 8px) calc(var(--sgbm-radius) + 8px); }
.sgbm-tpl-soft .sgbm-summary { border-radius: calc(var(--sgbm-radius) + 10px); }
.sgbm-tpl-soft .sgbm-add {
	min-height: 52px;
	border-radius: calc(var(--sgbm-radius) + 8px);
	font-size: 16px;
	box-shadow: 0 12px 24px -14px color-mix(in srgb, var(--sgbm-primary) 80%, transparent);
}
.sgbm-tpl-soft.sgbm-badge-ribbon .sgbm-badge { border-radius: 0 calc(var(--sgbm-radius) + 9px) 0 10px; }

@media (max-width: 480px) {
	.sgbm-tier__note { margin: 12px -12px -14px; }
	.sgbm-tpl-soft .sgbm-tier { padding: 14px; }
	.sgbm-tpl-soft .sgbm-tier__note,
	.sgbm-tpl-bold .sgbm-tier__note { margin: 12px -14px -14px; }
	.sgbm-head--icon .sgbm-title { font-size: 16px; }
}

/* ---------------------------------------------------------------------------
 * 1.5: "Deal" template, slanted badge, chips, countdown.
 * ------------------------------------------------------------------------- */
.sgbm-countdown { font-variant-numeric: tabular-nums; color: var(--sgbm-primary); white-space: nowrap; }

/* Badge: slanted label over the top-right corner ("Most Popular", "Best Value"). */
.sgbm-badge-slant .sgbm-tier.has-badge { margin-top: 14px; }
.sgbm-badge-slant .sgbm-badge {
	top: -15px;
	right: 10px;
	max-width: 70%;
	padding: 3px 12px;
	border-radius: 3px;
	background: var(--sgbm-dark);
	color: var(--sgbm-on-primary);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .01em;
	transform: rotate(-4deg);
	box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .35);
}
.sgbm-tpl-cards.sgbm-badge-slant .sgbm-badge { font-size: 12px; margin-top: -14px; }
.sgbm-tpl-minimal.sgbm-badge-slant .sgbm-badge { margin-top: 8px; }
.sgbm-tpl-bold.sgbm-badge-slant .sgbm-tier.is-selected .sgbm-badge { background: var(--sgbm-on-primary); color: var(--sgbm-primary); }

/* Own chip ("For Daily Use"): small outlined pill. */
.sgbm-tag.is-chip { font-size: 11px; letter-spacing: .02em; padding: 2px 8px; border-radius: 6px; }

/* Deal: bold rows, chips, big colored prices, tinted chosen row. */
.sgbm-tpl-deal .sgbm-tiers { gap: 12px; }
.sgbm-tpl-deal .sgbm-tier {
	padding: 14px 16px;
	border: 1.5px solid color-mix(in srgb, var(--sgbm-primary) 30%, var(--sgbm-border));
	border-radius: calc(var(--sgbm-radius) + 4px);
	background: color-mix(in srgb, var(--sgbm-primary) 2%, var(--sgbm-bg));
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.sgbm-tpl-deal .sgbm-tier:hover { border-color: color-mix(in srgb, var(--sgbm-dark) 55%, var(--sgbm-bg)); }
.sgbm-tpl-deal .sgbm-tier.is-selected {
	border-color: var(--sgbm-dark);
	background: color-mix(in srgb, var(--sgbm-primary) 9%, var(--sgbm-bg));
	box-shadow: 0 0 0 .5px var(--sgbm-dark);
}
.sgbm-tpl-deal .sgbm-tier__head { align-items: center; gap: 14px; }
.sgbm-tpl-deal .sgbm-radio-ui { width: 18px; height: 18px; margin-top: 0; border-color: color-mix(in srgb, var(--sgbm-dark) 45%, #fff); }
.sgbm-tpl-deal .sgbm-radio:checked + .sgbm-radio-ui { border-color: var(--sgbm-dark); background: #fff; }
.sgbm-tpl-deal .sgbm-radio:checked + .sgbm-radio-ui::after { inset: 3px; background: var(--sgbm-dark); }
.sgbm-tpl-deal.sgbm-radio-check .sgbm-radio:checked + .sgbm-radio-ui { background: var(--sgbm-dark); }
.sgbm-tpl-deal .sgbm-tier__line { gap: 6px 8px; }
.sgbm-tpl-deal .sgbm-tier__label { font-size: 17px; font-weight: 800; letter-spacing: .01em; }
.sgbm-tpl-deal .sgbm-tier__sub { margin-top: 3px; font-size: 14px; color: var(--sgbm-text); opacity: .8; }
.sgbm-tpl-deal:not(.sgbm-tag-filled):not(.sgbm-tag-soft) .sgbm-tag {
	padding: 2px 8px;
	border: 1px solid var(--sgbm-dark);
	border-radius: 6px;
	background: var(--sgbm-bg);
	color: var(--sgbm-dark);
	font-size: 11px;
	letter-spacing: .02em;
}
.sgbm-tpl-deal .sgbm-price { font-size: 19px; font-weight: 800; color: var(--sgbm-dark); }
.sgbm-tpl-deal .sgbm-price-old { margin-top: 0; font-size: 15px; color: var(--sgbm-text); opacity: .7; }
.sgbm-tpl-deal .sgbm-save { color: var(--sgbm-dark); }
.sgbm-tpl-deal .sgbm-tier__note { margin: 12px -16px -14px; border-radius: 0 0 calc(var(--sgbm-radius) + 3px) calc(var(--sgbm-radius) + 3px); }
.sgbm-tpl-deal .sgbm-head--divider::before,
.sgbm-tpl-deal .sgbm-head--divider::after { height: 2px; background: var(--sgbm-dark); }
.sgbm-tpl-deal .sgbm-head--divider .sgbm-title { font-size: 14px; font-weight: 800; letter-spacing: .08em; color: var(--sgbm-text); }
.sgbm-tpl-deal .sgbm-add { min-height: 52px; border-radius: calc(var(--sgbm-radius) + 4px); font-size: 16px; font-weight: 700; }
.sgbm-tpl-deal .sgbm-summary { border-radius: calc(var(--sgbm-radius) + 4px); }

@media (max-width: 480px) {
	.sgbm-tpl-deal .sgbm-tier { padding: 12px; }
	.sgbm-tpl-deal .sgbm-tier__head { gap: 10px; }
	.sgbm-tpl-deal .sgbm-tier__label { font-size: 15px; }
	.sgbm-tpl-deal .sgbm-price { font-size: 17px; }
	.sgbm-tpl-deal .sgbm-price-old { font-size: 13px; }
	.sgbm-tpl-deal .sgbm-tier__note { margin: 12px -12px -12px; }
	.sgbm-badge-slant .sgbm-badge { font-size: 12px; padding: 2px 10px; }
}

/* Paid add-on switch ("Priority production  $3.99  [on]"). */
.sgbm-block .sgbm-addon {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	padding: 8px 12px;
	border-radius: calc(var(--sgbm-radius) + 4px);
	cursor: pointer;
	font-weight: inherit;
	transition: background-color .15s;
}
.sgbm-block .sgbm-addon:hover { background: var(--sgbm-tint); }
.sgbm-addon__img { flex: 0 0 56px; width: 56px; height: 40px; object-fit: contain; margin: 0; border-radius: 4px; }
.sgbm-addon__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.sgbm-addon__title { font-size: 17px; font-weight: 800; line-height: 1.25; }
.sgbm-addon__desc { margin-top: 2px; font-size: 12px; color: var(--sgbm-muted); }
.sgbm-addon__price { flex: 0 0 auto; font-size: 18px; font-weight: 800; color: var(--sgbm-dark); white-space: nowrap; }
.sgbm-addon__price .woocommerce-Price-amount { color: inherit; font-weight: inherit; }
.sgbm-addon__price small { margin-left: 2px; font-size: 12px; font-weight: 600; opacity: .75; }
.sgbm-addon__input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.sgbm-addon__switch {
	position: relative;
	flex: 0 0 44px;
	width: 44px;
	height: 24px;
	border-radius: 999px;
	background: #cfcfd4;
	transition: background-color .15s;
}
.sgbm-addon__switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
	transition: transform .15s;
}
.sgbm-addon__input:checked + .sgbm-addon__switch { background: var(--sgbm-dark); }
.sgbm-addon__input:checked + .sgbm-addon__switch::after { transform: translateX(20px); }
.sgbm-addon__input:focus-visible + .sgbm-addon__switch { outline: 2px solid var(--sgbm-primary); outline-offset: 2px; }

/* Check-mark lines. */
.sgbm-block .sgbm-bullets { list-style: none; margin: 0 0 16px; padding: 0 4px; }
.sgbm-block .sgbm-bullets li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 6px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
}
.sgbm-block .sgbm-bullets li::before { content: none; }
.sgbm-check { flex: 0 0 18px; margin-top: 2px; }
.sgbm-check circle { fill: var(--sgbm-dark); }
.sgbm-check path { fill: none; stroke: var(--sgbm-on-primary); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }

.sgbm-summary__row.is-addon { color: var(--sgbm-text); }

@media (max-width: 480px) {
	.sgbm-addon__title { font-size: 15px; }
	.sgbm-addon__price { font-size: 16px; }
	.sgbm-block .sgbm-bullets li { font-size: 14px; }
}
