/* Public form. Inherits the theme's fonts and colours where it can. */
.adap {
	--adap-accent: #c62828;
	--adap-ok: #2e7d32;
	--adap-warn: #b45309;
	--adap-border: rgba(127, 127, 127, 0.35);
	--adap-soft: rgba(127, 127, 127, 0.08);
	max-width: 820px;
	margin: 0 auto;
}
.adap *, .adap *::before, .adap *::after { box-sizing: border-box; }

.adap fieldset {
	border: 1px solid var(--adap-border);
	border-radius: 8px;
	padding: 18px 20px 8px;
	margin: 0 0 22px;
	min-width: 0;
}
.adap legend { font-weight: 700; font-size: 1.1em; padding: 0 6px; }

.adap label { display: block; font-weight: 600; margin-bottom: 4px; }
.adap .adap-req { color: var(--adap-accent); }

.adap input[type="text"], .adap input[type="email"], .adap input[type="tel"],
.adap input[type="number"], .adap input[type="date"], .adap input[type="time"],
.adap select, .adap textarea {
	width: 100%;
	max-width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--adap-border);
	border-radius: 6px;
	font: inherit;
	color: inherit;
	background: transparent;
}
.adap select option { color: #111; }
.adap textarea { resize: vertical; }
.adap input:focus, .adap select:focus, .adap textarea:focus {
	outline: 2px solid var(--adap-accent);
	outline-offset: 1px;
}

.adap-field { margin-bottom: 14px; }
.adap-row { display: flex; flex-wrap: wrap; gap: 0 16px; }
.adap-row > .adap-field { flex: 1 1 200px; min-width: 0; }
.adap-row > .adap-grow { flex: 3 1 260px; }
.adap-row > .adap-shrink { flex: 0 0 auto; display: flex; align-items: flex-end; }
.adap-narrow { max-width: 260px; }

.adap-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; margin: 0 0 12px; }
.adap-check input { margin-top: 4px; flex: 0 0 auto; }

.adap-help { font-size: 0.9em; opacity: 0.8; margin: 4px 0 8px; }
.adap-hint { font-size: 0.92em; margin: 2px 0 12px; min-height: 1em; }
.adap-hint-ok { color: var(--adap-ok); }
.adap-hint-warn { color: var(--adap-warn); }

.adap-error { color: var(--adap-accent); font-size: 0.9em; margin: 4px 0 0; }
.adap-errors {
	border-left: 4px solid var(--adap-accent);
	background: rgba(198, 40, 40, 0.08);
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: 4px;
}

.adap-rinfo {
	margin-top: 14px;
	padding: 14px 16px;
	background: var(--adap-soft);
	border-radius: 6px;
}
.adap-rinfo dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; }
.adap-rinfo dt { font-weight: 600; }
.adap-rinfo dd { margin: 0; }
.adap-rinfo ul { margin: 0; padding-left: 18px; }
.adap-public-info { margin-top: 12px; }
.adap-briefing { margin: 12px 0 0; font-weight: 600; }
.adap-press { margin-top: 12px; }
.adap-press ul { margin: 4px 0 0; padding-left: 18px; }

.adap-utc-notice {
	border-left: 4px solid #1565c0;
	background: rgba(21, 101, 192, 0.08);
	padding: 10px 14px;
	margin-bottom: 16px;
	border-radius: 4px;
	font-size: 0.95em;
}
.adap-uk-equiv { font-size: 0.92em; opacity: 0.8; margin: 0 0 4px; min-height: 1em; }
.adap-public-info p:last-child { margin-bottom: 0; }

.adap-map {
	height: 380px;
	border-radius: 6px;
	border: 1px solid var(--adap-border);
	margin-bottom: 14px;
	z-index: 0;
}

.adap-optional label::after { content: "Only needed for the Specific category"; display: block; font-size: 0.85em; font-weight: 400; opacity: 0.7; }
/* Keep side-by-side boxes level when one label has a note underneath it. */
.adap-row-bottom { align-items: flex-end; }

.adap-submit, .adap-btn-secondary {
	font: inherit;
	font-weight: 600;
	border-radius: 6px;
	cursor: pointer;
	padding: 12px 22px;
	border: 1px solid var(--adap-accent);
}
.adap-submit { background: var(--adap-accent); color: #fff; }
.adap-submit:disabled { opacity: 0.6; cursor: wait; }
.adap-btn-secondary { background: transparent; color: inherit; padding: 9px 14px; margin-bottom: 14px; white-space: nowrap; }

.adap-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.adap-done { padding: 24px; border: 1px solid var(--adap-border); border-radius: 8px; }
.adap-big-ref { font-size: 1.4em; letter-spacing: 0.04em; }
.adap-warning { border-left: 4px solid var(--adap-warn); padding: 8px 12px; background: rgba(180, 83, 9, 0.08); }

.adap-question {
	border-left: 4px solid #1565c0;
	background: rgba(21, 101, 192, 0.08);
	padding: 12px 16px;
	margin: 16px 0 20px;
	border-radius: 4px;
}
.adap-question p { margin: 0; }
.adap-question .adap-question-head { font-weight: 700; margin-bottom: 6px; }

.adap-version { margin: 8px 0 0; font-size: 0.75em; opacity: 0.55; text-align: right; }

.adap-again { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--adap-border); }
.adap-btn-link { display: inline-block; text-decoration: none; }
.adap-btn-link:hover, .adap-btn-link:focus { color: #fff; opacity: 0.9; }

.adap-prefilled {
	border-left: 4px solid var(--adap-ok);
	background: rgba(46, 125, 50, 0.08);
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: 4px;
}

.adap-scope {
	border-left: 4px solid #1565c0;
	background: rgba(21, 101, 192, 0.08);
	padding: 10px 14px;
	margin-bottom: 14px;
	border-radius: 4px;
	font-size: 0.95em;
}
.adap-scope p { margin: 0 0 8px; }
.adap-scope p:last-child { margin-bottom: 0; }

@media (max-width: 600px) {
	.adap fieldset { padding: 14px 12px 4px; }
	.adap-rinfo dl { grid-template-columns: 1fr; gap: 2px; }
	.adap-rinfo dd { margin-bottom: 8px; }
	.adap-map { height: 300px; }
	.adap-narrow { max-width: none; }
}
