/* ============================================
   Component styles (loaded site-wide)
   ============================================ */

/* ── Form Builder (.adn-form) ─────────────── */
.adn-form {
	max-width: 640px;
}
.adn-form__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.adn-form__field {
	flex: 1 1 100%;
	display: flex;
	flex-direction: column;
	gap: .35rem;
}
.adn-form__field--half {
	flex: 1 1 calc(50% - .5rem);
	min-width: 220px;
}
.adn-form__label {
	font-weight: 600;
	font-size: .9rem;
}
.adn-form__req {
	color: var(--color-danger);
	margin-left: .15rem;
}
.adn-form__input {
	padding: .6rem .75rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-tag);
	font: inherit;
	width: 100%;
	box-sizing: border-box;
}
.adn-form__input:focus {
	outline: 2px solid #2d5a1b;
	outline-offset: 1px;
}
.adn-form__radios {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}
.adn-form__radio,
.adn-form__checkbox {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .92rem;
	cursor: pointer;
}
.adn-form__help {
	color: var(--color-black);
	font-size: .8rem;
}
.adn-form__submit {
	margin-top: 1.1rem;
	padding: .65rem 1.6rem;
	border: 0;
	border-radius: var(--radius-tag);
	background: var(--color-primary, #2d5a44);
	color: var(--color-white);
	font-weight: 700;
	cursor: pointer;
	width: 100%;
	font-size: 1rem;
	transition: background 0.15s, opacity 0.15s;
}
.adn-form__submit:hover:not(:disabled) {
	background: var(--color-info-dark, #1e3a2f);
}
.adn-form__submit:disabled {
	opacity: .6;
	cursor: wait;
}

/* ── Override plugin shortcode form button to match theme green ── */
.ch-form-submit,
.ch-form-submit:active {
	background: var(--color-primary, #2d5a44) !important;
}
.ch-form-submit:hover {
	background: var(--color-info-dark, #1e3a2f) !important;
}
.ch-form-submit:focus-visible {
	outline: 2px solid var(--color-primary, #2d5a44);
	outline-offset: 2px;
}

.adn-form__msg {
	margin-top: 1rem;
	padding: .7rem 1rem;
	border-radius: var(--radius-tag);
	font-size: .92rem;
}
.adn-form__msg--success {
	background: var(--color-success-bg);
	color: var(--color-success-text);
	border-left: 4px solid var(--color-success);
}
.adn-form__msg--error {
	background: var(--color-error-bg);
	color: var(--color-error-text);
	border-left: 4px solid var(--color-danger);
}

/* Honeypot: visually removed but still in the DOM for bots. */
.adn-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
