.oo-wrap {
	--oo-accent: #0f6e56;
	margin: 14px 0 16px;
	color: #1c2430;
	font-size: 15px;
	line-height: 1.45;
}

.oo-item + .oo-item {
	margin-top: 10px;
}

.oo-style-card .oo-item,
.oo-style-alert .oo-item {
	padding: 12px 14px;
	border-radius: 12px;
}

.oo-style-card .oo-item {
	background: #f7f8f6;
	border: 1px solid #e3e6e1;
}

.oo-style-alert .oo-item {
	background: #f3faf7;
	border: 1px solid #d5ebe3;
	border-left: 4px solid var(--oo-accent);
}

.oo-item.is-invalid.oo-style-card,
.oo-style-card .oo-item.is-invalid,
.oo-style-alert .oo-item.is-invalid,
.oo-style-plain .oo-item.is-invalid {
	border-color: #b42318;
}

.oo-item.is-hidden {
	display: none !important;
}

.oo-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	margin: 0;
}

.oo-check {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0.15rem 0 0;
	flex: 0 0 auto;
	accent-color: var(--oo-accent);
}

.oo-check:focus-visible {
	outline: 2px solid var(--oo-accent);
	outline-offset: 2px;
}

.oo-text {
	flex: 1;
}

.oo-text a {
	color: var(--oo-accent);
	text-underline-offset: 2px;
}

.oo-item[data-required="1"] .oo-text::after {
	content: " *";
	color: #b42318;
}

.oo-error {
	margin: 8px 0 0 1.7rem;
	color: #9f1239;
	font-size: 13px;
}

.oo-error[hidden] {
	display: none !important;
}

.oo-hint {
	margin: 10px 0 0;
	font-size: 13px;
	color: #3f4c44;
}

.oo-hint.is-pending {
	color: #9f1239;
}

.oo-hint.is-ready {
	color: #067647;
}

.oo-locked,
.oo-locked:hover,
.oo-locked:focus {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	filter: grayscale(0.35);
}

.oo-summary {
	margin: 24px 0;
}

.oo-summary ul {
	margin: 8px 0 0 18px;
}

.oo-shake {
	animation: oo-shake 0.35s linear;
}

@keyframes oo-shake {
	20% { transform: translateX(-3px); }
	40% { transform: translateX(3px); }
	60% { transform: translateX(-2px); }
	80% { transform: translateX(2px); }
}

@media (prefers-reduced-motion: reduce) {
	.oo-shake {
		animation: none;
	}
}
