/* som-form.css — submit states for the contact forms and the newsletter block
   (see assets/js/som-telegram.js).
   Palette matches som-contact.css: ink #1A1A1A, muted #9A8F7E, accent #C19A4E. */

/* Honeypot. Injected by som-telegram.js, so it must be invisible to people but still a
   real, fillable field for a bot: display:none would let some bots skip it. */
.som-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.som-busy {
  opacity: 0.55;
  cursor: wait;
  pointer-events: none;
}

.som-err {
  display: none;
  margin: 18px 0 0;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #A4402F;
}

/* Newsletter block (assets/js/index.js, assets/js/taksidia.js). The column wrapper exists
   so the consent notice sits under the field instead of wrapping onto a new grid line. */
.som-nl-col {
  min-width: 0;
}

/* Body face, not the mono eyebrow one above it: this is a full sentence, and IBM Plex Mono
   at 11px turns it into something people skip rather than read. */
.som-nl-note {
  margin: 14px 0 0;
  font-family: 'Instrument Sans', sans-serif;
  font-size: 12.5px;
  line-height: 1.65;
  color: #9A8F7E;
  max-width: 46ch;
}

.som-nl-note a {
  color: #1A1A1A;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid #D1C9BD;
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}

.som-nl-note a:hover,
.som-nl-note a:focus-visible {
  color: #C19A4E;
  border-bottom-color: #C19A4E;
}

/* Privacy policy body (generated by tools/privacy_page.py). The page shells define no `a`
   rules at all, so without this the mailto/tel links look like plain text. */
.som-legal a {
  color: #1A1A1A;
  text-decoration: none;
  border-bottom: 1px solid #C19A4E;
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}

.som-legal a:hover,
.som-legal a:focus-visible {
  color: #C19A4E;
}

.som-legal li {
  margin-bottom: 8px;
}

/* Newsletter confirmation landing page (tools/newsletter_pages.py, served by
   dist/api/confirm.php). The page carries one block per outcome and the PHP keeps only the
   matching one. If someone opens the page directly — no PHP, every block present — this
   shows just the first, which is the neutral "this page opens from an email link" one.
   Without the rule they would read six contradictory messages at once. */
[data-nl-state] ~ [data-nl-state] {
  display: none;
}

/* Second line inside an h1 (tools/h1_local.py). The heading keeps the studio's own voice —
   "Το σώμα ως υλικό" — and gains, underneath it and in the same heading, the words someone
   actually types into Google. One h1, two registers: the visitor reads the first line, the
   crawler reads both. Quieter and much smaller, or it competes with the line above it. */
.som-h1-sub {
  display: block;
  margin-top: 14px;
  font-family: 'Instrument Sans', sans-serif;
  font-size: clamp(15px, 1.5vw, 19px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: #696059;
}
