/**
 * State compliance UI.
 *
 * Tone is deliberate: this is a trust signal, not a warning label. A trade buyer
 * reading "we check the rules for your state" should conclude the supplier is
 * competent, not that the product is dangerous. So: calm neutrals by default,
 * colour reserved for the actual answer.
 *
 * No CSS framework, no custom properties from the parent theme — this file must
 * work if the module is lifted into another build (decision D4, portability).
 */

.ccu-state-check {
	margin: 1.5rem 0;
	padding: 1.25rem 1.4rem;
	border: 1px solid #e2e5e9;
	border-radius: 10px;
	background: #fafbfc;
	font-size: 0.95rem;
	line-height: 1.55;
}

.ccu-state-check.is-compact {
	margin: 1rem 0;
	padding: 0.9rem 1rem;
	font-size: 0.9rem;
}

.ccu-state-check__title {
	margin: 0 0 0.5rem;
	font-size: 1.05rem;
	font-weight: 650;
	letter-spacing: -0.01em;
}

.ccu-state-check.is-compact .ccu-state-check__title {
	font-size: 0.95rem;
}

.ccu-state-check__intro {
	margin: 0 0 0.85rem;
	color: #4a5158;
}

.ccu-state-check__select {
	width: 100%;
	max-width: 22rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid #c9cfd6;
	border-radius: 7px;
	background: #fff;
	font: inherit;
}

.ccu-state-check__select:focus-visible {
	outline: 2px solid #1a5276;
	outline-offset: 1px;
}

/* The answer. Left border rather than a filled block — reads as information,
   not as an error state, which matters when the answer is "yes". */
.ccu-state-check__result:empty {
	display: none;
}

.ccu-state-check__result {
	margin-top: 0.85rem;
	padding: 0.7rem 0.9rem;
	border-left: 4px solid #c9cfd6;
	border-radius: 0 6px 6px 0;
	background: #fff;
}

.ccu-state-check__result.is-ok {
	border-left-color: #008a20;
	background: #f2fbf4;
}

.ccu-state-check__result.is-check {
	border-left-color: #b8860b;
	background: #fdfaf1;
}

.ccu-state-check__result.is-no {
	border-left-color: #d63638;
	background: #fdf3f3;
}

.ccu-state-check__result.is-loading {
	color: #6b7280;
	font-style: italic;
}

.ccu-state-check__foot {
	margin: 0.9rem 0 0;
}

.ccu-state-check__legal {
	margin: 0.7rem 0 0;
	color: #6b7280;
	font-size: 0.82em;
}

/* Support buttons. Always present when a state is uncertain — the owner's rule is
   that the customer is never dead-ended. */
.ccu-btn {
	display: inline-block;
	margin: 0 0.4rem 0.4rem 0;
	padding: 0.5rem 0.95rem;
	border-radius: 7px;
	background: #1a5276;
	color: #fff;
	font-weight: 600;
	font-size: 0.9em;
	text-decoration: none;
}

.ccu-btn:hover,
.ccu-btn:focus {
	background: #144463;
	color: #fff;
}

.ccu-btn--telegram {
	background: #229ed9;
}

.ccu-btn--telegram:hover,
.ccu-btn--telegram:focus {
	background: #1b84b8;
}

.ccu-btn--signal {
	background: #3a76f0;
}

.ccu-btn--signal:hover,
.ccu-btn--signal:focus {
	background: #2f60c7;
}

/* Support links appended to a blocking checkout notice. */
.ccu-state-support a {
	font-weight: 600;
	text-decoration: underline;
}

/* Checkout declarations. Boxed so they read as a deliberate step rather than
   fine print — these are the evidence that the sale sits inside the trade exemption. */
.ccu-compliance-confirm {
	margin: 1rem 0;
	padding: 0.9rem 1.1rem;
	border: 1px solid #e2e5e9;
	border-radius: 9px;
	background: #fafbfc;
}

.ccu-compliance-confirm .form-row {
	margin-bottom: 0.55rem;
}

.ccu-compliance-confirm label {
	font-size: 0.92rem;
	line-height: 1.45;
}

@media (prefers-color-scheme: dark) {
	.ccu-state-check,
	.ccu-compliance-confirm {
		border-color: #2c3238;
		background: #16191c;
	}

	.ccu-state-check__intro {
		color: #a9b1b9;
	}

	.ccu-state-check__select,
	.ccu-state-check__result {
		border-color: #3a4249;
		background: #1d2126;
		color: #e6e9ec;
	}

	.ccu-state-check__result.is-ok { background: #11251a; }
	.ccu-state-check__result.is-check { background: #251f11; }
	.ccu-state-check__result.is-no { background: #2a1517; }
}
