/**
 * ADJA submission form — structural styles only.
 *
 * Visual appearance is intentionally minimal so the active WordPress theme
 * controls typography, colors, inputs, and buttons.
 *
 * Customization hooks (examples):
 *   .adja-form-wrap { --adja-gap: 1.5rem; }
 *   .adja-form-wrap .adja-submit { background: #c0392b; }
 *   .adja-form-wrap .adja-wine-block { border: 1px solid #ccc; }
 *
 * Main classes:
 *   .adja-form-wrap, .adja-submission-form
 *   .adja-form-section, .adja-form-section--winery, --billing, --wines, --consent
 *   .adja-field, .adja-field--{type}, .adja-field--half, .adja-field--full
 *   .adja-input, .adja-input-wrap, .adja-input-suffix
 *   .adja-radio-group, .adja-checkbox-group, .adja-radio-option, .adja-checkbox-option
 *   .adja-wine-blocks, .adja-wine-block, .adja-wine-block__header, .adja-wine-block__title
 *   .adja-add-wine, .adja-remove-wine, .adja-submit
 *   .adja-form-message, .adja-form-message--success, --error, --closed
 *   .adja-required, .adja-form-actions
 */

.adja-form-wrap .adja-form-config {
	display: none !important;
}

.adja-form-wrap {
	--adja-gap: 1rem;
	--adja-section-spacing: 2rem;
	--adja-field-spacing: var(--adja-gap);
	--adja-max-width: none;
	--adja-wine-block-padding: 0;
	--adja-wine-block-border: none;
	--adja-submit-width: 100%;
	--adja-required-opacity: 0.75;

	max-width: var(--adja-max-width);
}

.adja-form-message {
	margin: 0 0 var(--adja-section-spacing);
}

.adja-form-section {
	margin-bottom: var(--adja-section-spacing);
}

.adja-section-title {
	margin: 0 0 var(--adja-gap);
}

.adja-field {
	margin-bottom: var(--adja-field-spacing);
}

.adja-field label {
	display: block;
	margin-bottom: 0.35em;
}

.adja-required {
	opacity: var(--adja-required-opacity);
}

.adja-input,
.adja-form-wrap select,
.adja-form-wrap textarea {
	width: 100%;
	box-sizing: border-box;
}

.adja-form-section--winery,
.adja-form-section--billing {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--adja-gap);
}

.adja-form-section--winery > .adja-field--full,
.adja-form-section--billing > .adja-field--full,
.adja-form-section--winery > .adja-field:not(.adja-field--half),
.adja-form-section--billing > .adja-field:not(.adja-field--half) {
	grid-column: 1 / -1;
}

.adja-form-section--winery > .adja-field--half,
.adja-form-section--billing > .adja-field--half {
	margin-bottom: 0;
}

.adja-input-wrap {
	display: flex;
	align-items: stretch;
}

.adja-input-wrap .adja-input {
	flex: 1;
	min-width: 0;
}

.adja-input-suffix {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	padding-inline: 0.5em;
}

.adja-radio-group,
.adja-checkbox-group {
	display: grid;
	gap: 0.5em;
}

.adja-radio-option,
.adja-checkbox-option {
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
	cursor: pointer;
}

.adja-radio-option input,
.adja-checkbox-option input {
	margin-top: 0.2em;
	flex-shrink: 0;
}

.adja-wine-block {
	margin-bottom: var(--adja-section-spacing);
	padding: var(--adja-wine-block-padding);
	border: var(--adja-wine-block-border);
}

.adja-wine-block__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--adja-gap);
	margin-bottom: var(--adja-gap);
}

.adja-wine-block__title {
	margin: 0;
}

.adja-add-wine:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.adja-submit {
	width: var(--adja-submit-width);
}

.adja-submit:disabled {
	cursor: wait;
	opacity: 0.7;
}

.adja-form-actions {
	margin-top: var(--adja-section-spacing);
}

.adja-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.adja-form-wrap .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}

@media (max-width: 640px) {
	.adja-form-section--winery,
	.adja-form-section--billing {
		grid-template-columns: 1fr;
	}

	.adja-form-section--winery > .adja-field--half,
	.adja-form-section--billing > .adja-field--half {
		grid-column: 1 / -1;
	}

	.adja-wine-block__header {
		flex-direction: column;
		align-items: flex-start;
	}
}

.adja-form-section--billing[hidden],
.adja-form-section--billing:not(.adja-form-section--billing-is-visible) {
	display: none !important;
}

.adja-field-error {
	display: block;
	margin-top: 0.35em;
	font-size: 0.9em;
}

.adja-field-error[hidden] {
	display: none;
}
