/* Accessibility Statement Generator — scoped.
   Inputs, labels, buttons and messages come from the shared .ftb-tool block in
   core.css so every tool looks like one product.

   The form is long, so it is grouped into fieldsets with a visible legend each.
   That is not decoration: it is how a screen-reader user knows which part of the
   form they are in when they arrive at a field out of context. */

.ftb-as-form{margin:0}
.ftb-as-group{margin:0 0 var(--ftb-space-6);padding:var(--ftb-space-5);
	border:1px solid var(--ftb-border);border-radius:var(--ftb-radius);
	background:var(--ftb-surface)}
.ftb-as-group legend{padding:0 var(--ftb-space-3);font-size:var(--ftb-text-base);
	font-weight:var(--ftb-fw-semi);color:var(--ftb-text);
	letter-spacing:var(--ftb-ls-tight)}
.ftb-as-help{margin:0 0 var(--ftb-space-4);font-size:var(--ftb-text-sm);
	color:var(--ftb-text-muted);line-height:var(--ftb-lh-snug)}

.ftb-as-grid{display:grid;gap:var(--ftb-space-4);grid-template-columns:1fr}
@media (min-width:640px){
	.ftb-as-grid{grid-template-columns:1fr 1fr}
}
.ftb-tool-a11ystmt .ftb-as-grid .ftb-field{margin-bottom:0}
.ftb-as-wide{grid-column:1 / -1}

/* The required marker is aria-hidden and paired with a real required attribute,
   so it is a visual cue rather than the only signal. */
.ftb-as-req{color:var(--ftb-error);font-weight:var(--ftb-fw-bold)}

/* ---- repeatable limitation rows ---- */
.ftb-as-limrow{display:grid;gap:var(--ftb-space-3);grid-template-columns:1fr;
	margin-bottom:var(--ftb-space-4);padding:var(--ftb-space-4);
	background:var(--ftb-bg);border:1px solid var(--ftb-border);
	border-radius:var(--ftb-radius)}
@media (min-width:800px){
	.ftb-as-limrow{grid-template-columns:2fr 2fr 1fr auto;align-items:end}
}
.ftb-tool-a11ystmt .ftb-as-limrow .ftb-field{margin-bottom:0}
.ftb-as-removewrap{display:flex;align-items:flex-end}
.ftb-as-remove{width:100%;white-space:nowrap}

/* ---- the EAA language notice ----
   Its own treatment because it is the one obligation on this page that no
   competing generator surfaces at all. */
.ftb-as-langnotice{margin:0 0 var(--ftb-space-6);padding:var(--ftb-space-5);
	background:var(--ftb-primary-soft);border-left:4px solid var(--ftb-primary);
	border-radius:var(--ftb-radius-sm)}
.ftb-as-langnotice .ftb-as-h{margin-top:0}
.ftb-as-langnotice p{margin:0;font-size:var(--ftb-text-sm);
	line-height:var(--ftb-lh-snug)}

.ftb-as-h{margin:var(--ftb-space-8) 0 var(--ftb-space-3);
	font-size:var(--ftb-text-lg);font-weight:var(--ftb-fw-semi);
	letter-spacing:var(--ftb-ls-tight)}

/* ---- the generated statement ----
   Height reserved so the result appearing never shifts the page (§10 CLS).
   tabindex=0 makes the region reachable, so it needs a visible focus ring. */
.ftb-as-output{min-height:320px;max-height:640px;overflow-y:auto;
	padding:var(--ftb-space-6);margin-bottom:var(--ftb-space-5);
	background:var(--ftb-surface);border:1px solid var(--ftb-border);
	border-radius:var(--ftb-radius);line-height:var(--ftb-lh-base)}
.ftb-as-output:focus-visible{outline:2px solid var(--ftb-primary);outline-offset:2px}
.ftb-as-output h3{margin:0 0 var(--ftb-space-4);font-size:var(--ftb-text-xl);
	font-weight:var(--ftb-fw-bold);letter-spacing:var(--ftb-ls-tight)}
.ftb-as-output h4{margin:var(--ftb-space-6) 0 var(--ftb-space-2);
	font-size:var(--ftb-text-base);font-weight:var(--ftb-fw-semi)}
.ftb-as-output p{margin:0 0 var(--ftb-space-3);font-size:var(--ftb-text-sm)}
.ftb-as-output ul{margin:0 0 var(--ftb-space-3);padding-left:var(--ftb-space-6)}
.ftb-as-output li{margin-bottom:var(--ftb-space-2);font-size:var(--ftb-text-sm);
	line-height:var(--ftb-lh-snug)}
.ftb-as-output hr{margin:var(--ftb-space-6) 0;border:0;
	border-top:1px solid var(--ftb-border)}
.ftb-as-outdisclaimer{font-size:var(--ftb-text-xs) !important;
	color:var(--ftb-text-muted);font-style:italic;line-height:var(--ftb-lh-snug)}
.ftb-as-placeholder{color:var(--ftb-text-subtle);font-style:italic}

/* ---- the compliance disclaimer (roadmap §2) ---- */
.ftb-tool-disclaimer{margin:var(--ftb-space-6) 0 0;padding:var(--ftb-space-5);
	font-size:var(--ftb-text-sm);line-height:var(--ftb-lh-snug);
	color:var(--ftb-text);background:var(--ftb-warning-soft);
	border-left:4px solid var(--ftb-warning);border-radius:var(--ftb-radius-sm)}
.ftb-tool-disclaimer strong{color:var(--ftb-warning)}
