/* Contact us. Builds on public.css tokens; logical properties keep it correct in RTL. */
.ct-intro { padding-block: 8px 4px; max-width: 640px; }
.ct-intro h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.2; margin: 0 0 8px; }
.ct-lead { margin: 0; color: var(--of-muted); font-size: 1.05rem; }
.ct-language { font: inherit; color: var(--of-text); background: var(--of-surface); border: 1px solid var(--of-border);
  border-radius: 999px; min-height: 44px; padding: 0 14px; }
.ct-form { display: grid; gap: 18px; max-width: 640px; margin-block-start: 20px; }
.ct-field { display: grid; gap: 6px; }
.ct-field label { font-weight: 700; }
.ct-field input, .ct-field textarea {
  font: inherit; color: var(--of-text); background: var(--of-bg); border: 1px solid var(--of-border);
  border-radius: 14px; padding: 12px 14px; min-height: 48px; width: 100%; box-sizing: border-box; }
.ct-field textarea { resize: vertical; min-height: 140px; line-height: 1.5; }
.ct-field input::placeholder, .ct-field textarea::placeholder { color: var(--of-muted); }
.ct-field [aria-invalid="true"] { border-color: #B3261E; }
:root[data-theme="dark"] .ct-field [aria-invalid="true"] { border-color: #FF9C94; }
.ct-hint { margin: 0; font-size: .9rem; color: var(--of-muted); }
.ct-count { text-align: end; }
.ct-error { margin: 0; font-size: .9rem; color: #B3261E; }
:root[data-theme="dark"] .ct-error { color: #FF9C94; }
.ct-consent { display: flex; gap: 10px; align-items: flex-start; line-height: 1.5; }
.ct-consent input { inline-size: 20px; block-size: 20px; margin-block-start: 2px; flex: none; accent-color: var(--of-primary); }
.ct-status { margin: 0; min-height: 1.5em; color: var(--of-primary); font-weight: 700; }
.ct-status.ct-status-error { color: #B3261E; }
:root[data-theme="dark"] .ct-status.ct-status-error { color: #FF9C94; }
.ct-submit { min-height: 48px; font-weight: 700; background: var(--of-primary); border-color: var(--of-primary); color: var(--of-on-primary, #fff); }
.ct-submit:disabled { opacity: .55; cursor: not-allowed; }
input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--of-lime); outline-offset: 2px; }
