.vz-bundles {
	--vz-green: #00e6a0;
	--vz-bg: #080d0c;
	--vz-card: #0e1513;
	--vz-line: #26352f;
	margin: 22px 0 20px;
	padding: 0;
	color: #f4fbf8;
	font-family: inherit;
}
.vz-bundles__eyebrow {
	margin-bottom: 7px;
	color: var(--vz-green);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.vz-bundles__heading {
	margin-bottom: 13px;
	font-size: clamp(17px, 2vw, 21px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.2;
}
.vz-bundles__options { display: grid; gap: 9px; }
.vz-bundle {
	position: relative;
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 14px 13px;
	border: 1px solid var(--vz-line);
	border-radius: 13px;
	background: var(--vz-card);
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.vz-bundle:hover { border-color: rgba(0,230,160,.65); transform: translateY(-1px); }
.vz-bundle:has(input:checked) {
	border-color: var(--vz-green);
	background: linear-gradient(110deg, rgba(0,230,160,.12), rgba(0,230,160,.025));
	box-shadow: 0 0 0 1px rgba(0,230,160,.12), 0 0 22px rgba(0,230,160,.055);
}
.vz-bundle input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.vz-bundle__radio {
	display: block;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border: 1px solid #60716a;
	border-radius: 50%;
}
.vz-bundle input:checked + .vz-bundle__radio {
	border: 5px solid var(--vz-green);
	background: #07110d;
}
.vz-bundle input:focus-visible + .vz-bundle__radio { outline: 2px solid white; outline-offset: 3px; }
.vz-bundle__content { display: flex; flex: 1 1 auto; flex-direction: column; gap: 4px; min-width: 0; }
.vz-bundle__name { color: #f5fbf8; font-size: 14px; font-weight: 800; }
.vz-bundle__tag { color: var(--vz-green); font-size: 11px; line-height: 1.3; }
.vz-bundle__prices { display: flex; flex: 0 0 auto; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; }
.vz-bundle__prices strong { color: var(--vz-green); font-size: 17px; font-weight: 900; white-space: nowrap; }
.vz-bundle__prices small { color: #9baaa3; font-size: 10px; white-space: nowrap; }
.vz-bundle--featured { padding-top: 19px; }
.vz-bundle__badge {
	position: absolute;
	top: -8px;
	right: 11px;
	padding: 4px 7px;
	border-radius: 5px;
	background: var(--vz-green);
	color: #00170f;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .07em;
}
.vz-bundles__note { margin: 10px 1px 0; color: #899890; font-size: 11px; line-height: 1.45; }
@media (max-width: 480px) {
	.vz-bundle { gap: 8px; padding: 12px 9px; border-radius: 11px; }
	.vz-bundle__radio { flex-basis: 16px; width: 16px; height: 16px; }
	.vz-bundle__name { font-size: 13px; }
	.vz-bundle__tag { font-size: 10px; }
	.vz-bundle__prices strong { font-size: 15px; }
	.vz-bundle__prices small { font-size: 9px; }
	.vz-bundle__badge { right: 8px; }
}

/* v1.0.3: selector is a full-width sibling BELOW form.cart */
.vz-bundles { width: 100%; max-width: 100%; box-sizing: border-box; clear: both; }
.vz-bundles *, .vz-bundles *::before, .vz-bundles *::after { box-sizing: border-box; }
.vz-bundles__options { display: grid; grid-template-columns: minmax(0,1fr); }
.vz-bundle { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; width: 100%; min-width: 0; }
.vz-bundle__content { display: flex; min-width: 0; overflow-wrap: anywhere; }
.vz-bundle__prices { min-width: 0; max-width: 100%; }
.vz-bundle__prices strong { font-size: clamp(14px, 3.5vw, 18px); }
.vz-bundle__name, .vz-bundle__tag { white-space: normal; }
@media (max-width: 600px) {
  .vz-bundles { margin: 20px 0; }
  .vz-bundle { grid-template-columns: 18px minmax(0,1fr); gap: 7px 10px; padding: 14px 12px; }
  .vz-bundle__radio { grid-column: 1; grid-row: 1 / span 2; }
  .vz-bundle__content { grid-column: 2; grid-row: 1; }
  .vz-bundle__prices { grid-column: 2; grid-row: 2; align-items: flex-start; text-align: left; gap: 2px; }
  .vz-bundle__prices strong { font-size: 18px; }
  .vz-bundle__prices small { font-size: 11px; }
  .vz-bundle__badge { top: -9px; right: 10px; }
}
