/* AviationCalc calculator form. Colours come from the theme's custom properties, with fallbacks. */
.avc-calc {
	--avc-navy: var(--navy, #0b2545);
	--avc-sky: var(--sky, #1e9bd7);
	--avc-pale: var(--pale, #eaf4fb);
	--avc-line: var(--line, #d5dfea);
	--avc-text: var(--text, #22324a);
	--avc-muted: var(--muted, #55657d);
	--avc-danger: #b3261e;
	margin: 0 0 2rem;
}
.avc-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}
.avc-panel {
	background: #fff;
	border: 1px solid var(--avc-line);
	border-radius: 14px;
	padding: 1.25rem 1.25rem 1.4rem;
	box-shadow: 0 6px 20px rgba(11, 37, 69, 0.06);
	min-width: 0;
}
.avc-results {
	background: var(--avc-pale);
	border-color: #c9e2f3;
	min-height: 15rem;
}
.avc-results:focus { outline: none; }
.avc-panel-title {
	margin: 0 0 1rem;
	font-size: 0.8rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--avc-muted);
	font-weight: 700;
}
.avc-fields { display: grid; gap: 0.95rem; }
.avc-field label,
.avc-duration legend {
	display: block;
	font-weight: 600;
	color: var(--avc-navy);
	margin-bottom: 0.3rem;
	font-size: 0.97rem;
	padding: 0;
}
.avc-duration { border: 0; margin: 0; padding: 0; min-width: 0; }
.avc-optional { font-weight: 400; color: var(--avc-muted); font-size: 0.88em; }
.avc-control { display: flex; align-items: stretch; gap: 0.4rem; }
.avc-control input,
.avc-control select {
	font: inherit;
	color: var(--avc-text);
	background: #fff;
	border: 1px solid #a9b8ca;
	border-radius: 9px;
	padding: 0.6rem 0.7rem;
	min-height: 2.9rem;
	min-width: 0;
	box-sizing: border-box;
}
.avc-control input { flex: 1 1 6rem; width: 100%; font-variant-numeric: tabular-nums; }
.avc-control select { flex: 0 1 auto; max-width: 100%; }
.avc-field-select .avc-control select { flex: 1 1 auto; width: 100%; }
.avc-control .avc-unit { flex: 0 0 auto; max-width: 46%; }
.avc-control input:focus-visible,
.avc-control select:focus-visible,
.avc-btn:focus-visible,
.avc-steps summary:focus-visible {
	outline: 3px solid var(--avc-sky);
	outline-offset: 2px;
}
.avc-control [aria-invalid="true"] { border-color: var(--avc-danger); box-shadow: inset 0 0 0 1px var(--avc-danger); }
.avc-suffix {
	display: inline-flex;
	align-items: center;
	padding: 0 0.35rem;
	color: var(--avc-muted);
	white-space: nowrap;
	font-size: 0.95rem;
}
.avc-help { margin: 0.3rem 0 0; font-size: 0.86rem; color: var(--avc-muted); line-height: 1.4; }
.avc-error { margin: 0.3rem 0 0; font-size: 0.9rem; color: var(--avc-danger); font-weight: 600; line-height: 1.4; }
.avc-error[hidden], .avc-result-list[hidden], .avc-steps[hidden], .avc-notes[hidden], .avc-placeholder[hidden] { display: none; }
.avc-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.2rem; align-items: center; }
.avc-btn {
	font: inherit;
	font-weight: 700;
	border-radius: 9px;
	padding: 0.65rem 1.25rem;
	min-height: 2.9rem;
	cursor: pointer;
	border: 2px solid transparent;
}
.avc-btn-primary { background: var(--avc-navy); color: #fff; border-color: var(--avc-navy); }
.avc-btn-primary:hover { background: #13315c; border-color: #13315c; }
.avc-btn-secondary { background: #fff; color: var(--avc-navy); border-color: var(--avc-navy); }
.avc-btn-secondary:hover { background: var(--avc-pale); }
.avc-btn-link { background: none; color: #0b5c8a; padding-left: 0.3rem; padding-right: 0.3rem; text-decoration: underline; font-weight: 600; }
.avc-placeholder { color: var(--avc-muted); margin: 0 0 1rem; }
.avc-result-list { margin: 0 0 1rem; }
.avc-result { padding: 0.65rem 0; border-top: 1px solid #c9e2f3; }
.avc-result:first-child { border-top: 0; padding-top: 0; }
.avc-result dt { font-size: 0.88rem; color: var(--avc-muted); font-weight: 600; margin: 0 0 0.1rem; }
.avc-result dd { margin: 0; }
.avc-value { display: block; font-size: 1.2rem; font-weight: 700; color: var(--avc-navy); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.avc-result-main .avc-value { font-size: 1.85rem; line-height: 1.2; }
.avc-sub { display: block; font-size: 0.9rem; color: var(--avc-muted); overflow-wrap: anywhere; }
.avc-steps { margin: 0 0 1rem; background: #fff; border: 1px solid #c9e2f3; border-radius: 10px; padding: 0.6rem 0.9rem; }
.avc-steps summary { cursor: pointer; font-weight: 700; color: var(--avc-navy); }
.avc-steps ol { margin: 0.6rem 0 0.2rem; padding-left: 1.3rem; font-size: 0.93rem; line-height: 1.55; overflow-wrap: anywhere; }
.avc-steps li { margin-bottom: 0.3rem; }
.avc-notes { margin: 0 0 1rem; padding-left: 1.1rem; font-size: 0.9rem; color: var(--avc-text); line-height: 1.5; }
.avc-disclaimer { margin: 0; font-size: 0.82rem; color: var(--avc-muted); line-height: 1.45; border-top: 1px solid #c9e2f3; padding-top: 0.8rem; }
.avc-noscript, .avc-missing { padding: 0.9rem 1rem; background: #fff7e0; border: 1px solid #e6c766; border-radius: 10px; }
@media (max-width: 781px) {
	.avc-form { grid-template-columns: minmax(0, 1fr); }
	.avc-results { min-height: 0; }
	.avc-btn-primary, .avc-btn-secondary { flex: 1 1 8rem; }
}
