/* Canonical theme file -- edit this to re-brand the whole blueprint
   (admin + public forms both load it). Token values below are copied
   verbatim from doc/brand.css; "Werkstatt" direction: zero corner radius,
   no shadows, dark-only, one signal colour used sparingly. See
   doc/discovery_forms_architecture.md for content and this file for
   everything visual. */
:root{
  --background:#0f0d0b;
  --foreground:#ebe7df;
  --surface:#181513;
  --surface-raised:#23201d;
  --signal:#ff9d35;
  --muted:#221f1c;
  --muted-foreground:#9d9790;
  --destructive:#de3c37;
  --border:#36322f;
  --rule:#312d2a;
  --font-display:"Archivo","Cairo",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"JetBrains Mono","Cairo",ui-monospace,monospace;
}
*{box-sizing:border-box; border-radius:0 !important;}
html,body{margin:0; padding:0; background:var(--background); color:var(--foreground); font-family:var(--font-display);}
body{-webkit-font-smoothing:antialiased;}
.shell{max-width:680px; margin:0 auto; padding:0 1.25rem;}
header.top{border-bottom:1px solid var(--rule); padding:1.5rem 0; display:flex; align-items:center; justify-content:space-between;}
.wordmark{display:flex; align-items:baseline; gap:.45em; direction:ltr;}
.wordmark .amjd{font-weight:700; letter-spacing:-0.045em; text-transform:uppercase; font-size:1.2rem;}
.wordmark .rule{width:1.1em; height:.14em; background:var(--signal); transform:translateY(-.3em); flex-shrink:0;}
.wordmark .aldia{font-weight:700; letter-spacing:-0.045em; text-transform:uppercase; font-size:1.2rem; color:var(--muted-foreground);}
.tag-mono{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; color:var(--muted-foreground); text-transform:uppercase;}

.hero{padding:2.2rem 0 1.8rem;}
.hero .eyebrow{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.16em; color:var(--signal); text-transform:uppercase; margin-bottom:.8rem;}
.hero h1{font-size:1.7rem; line-height:1.28; font-weight:800; letter-spacing:-0.02em; margin:0 0 .8rem;}
.hero p{color:var(--muted-foreground); font-size:.94rem; line-height:1.6; margin:0;}

.field{border-top:1px solid var(--rule); padding:1.4rem 0;}
.field:last-of-type{border-bottom:1px solid var(--rule);}
.field .qnum{font-family:var(--font-mono); font-size:.7rem; color:var(--signal); letter-spacing:.1em; display:block; margin-bottom:.45rem;}
.field label.qtext{display:block; font-size:1rem; font-weight:600; line-height:1.5; margin-bottom:.25rem;}
.field .hint{font-size:.8rem; color:var(--muted-foreground); margin-bottom:.85rem; line-height:1.55;}
.optional-tag{font-family:var(--font-mono); font-size:.63rem; color:var(--muted-foreground); letter-spacing:.08em; text-transform:uppercase; margin-inline-start:.5rem;}

input[type=text], input[type=tel], input[type=number], textarea, select{
  width:100%; background:var(--surface); border:1px solid var(--border); color:var(--foreground);
  font-family:var(--font-display); font-size:.93rem; padding:.75rem .85rem; outline:none;
}
input::placeholder, textarea::placeholder{color:var(--muted-foreground); opacity:.7;}
input:focus, textarea:focus, select:focus{border-color:var(--signal);}
textarea{min-height:5rem; resize:vertical; line-height:1.55;}

.choices{display:flex; flex-direction:column; gap:.5rem;}
.choice{display:flex; align-items:flex-start; gap:.6rem; border:1px solid var(--border); background:var(--surface); padding:.7rem .85rem; cursor:pointer;}
.choice:has(input:checked){border-color:var(--signal); background:var(--surface-raised);}
.choice input{margin-top:.2rem; accent-color:var(--signal); flex-shrink:0;}
.choice span{font-size:.9rem; line-height:1.5;}

.conditional{border-inline-start:2px solid var(--signal); padding-inline-start:.9rem; margin-top:.9rem;}

button.submit{
  width:100%; background:var(--signal); color:var(--background); border:none;
  font-family:var(--font-display); font-weight:700; font-size:.98rem; letter-spacing:-0.01em;
  padding:.95rem 1.1rem; cursor:pointer; text-transform:uppercase;
}
button.submit:disabled{opacity:.5; cursor:default;}
button.ghost{
  width:100%; background:transparent; color:var(--muted-foreground); border:1px solid var(--border);
  font-family:var(--font-mono); font-size:.75rem; letter-spacing:.08em; padding:.7rem 1rem; cursor:pointer; text-transform:uppercase;
}

.status{display:none; padding:1.3rem 1rem; border:1px solid var(--signal); background:var(--surface-raised); margin-top:1.3rem;}
.status.show{display:block;}
.status h3{margin:0 0 .35rem; font-size:1rem;}
.status p{margin:0; color:var(--muted-foreground); font-size:.86rem; line-height:1.6;}
.status.error{border-color:var(--destructive);}

footer{border-top:1px solid var(--rule); padding:1.4rem 0 2.3rem;}
footer p{font-family:var(--font-mono); font-size:.68rem; color:var(--muted-foreground); text-align:center; letter-spacing:.05em;}

.consent{display:flex; align-items:flex-start; gap:.6rem; font-size:.82rem; color:var(--muted-foreground); line-height:1.6;}
.consent a{color:var(--signal);}
.consent input{margin-top:.2rem; accent-color:var(--signal);}

@media (min-width:640px){ .hero h1{font-size:2.1rem;} }
