/* Ermelle — form + consent + result-page styles.
   Reuses the design tokens from styles.css (:root custom properties). */

/* The HTML `hidden` attribute must always win — some design classes
   (e.g. .cta-success { display: inline-block }) would otherwise override it. */
[hidden] { display: none !important; }

/* ===== Step-1 form on the dark Founders CTA ===== */
.cta-fields { display: flex; flex-direction: column; gap: 12px; max-width: 460px; margin: 0 auto 20px; text-align: left; }
.cta-input {
  background: transparent;
  border: 1px solid var(--color-border-dark);
  color: var(--color-cream);
  padding: 15px 18px;
  font-size: 14px;
  width: 100%;
}
.cta-input::placeholder { color: var(--color-text-muted-2); }

.consent-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--color-cream-muted);
  cursor: pointer;
}
.consent-row input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; accent-color: var(--color-gold-light); }
.consent-row a { color: var(--color-gold-light); text-decoration: underline; }
.consent-req { color: var(--color-gold-pale); }

/* Honeypot — visually hidden, off-screen, not for real users */
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.form-error { color: #E5A0A0; font-size: 12.5px; margin-top: 12px; }
.form-note { color: var(--color-text-muted); font-size: 12px; margin-top: 12px; }

/* ===== Step-2 application page (paper background) ===== */
.apply-page { background: var(--color-bg-paper); min-height: 100vh; }
.apply-wrap { max-width: 720px; margin-inline: auto; padding: 48px var(--gutter) 80px; }
.apply-wrap .eyebrow { color: var(--color-gold); }
.apply-wrap h1 { font-size: 34px; line-height: 1.1; margin-bottom: 12px; }
.apply-lede { font-size: 15px; line-height: 1.7; color: var(--color-text-body); margin-bottom: 32px; max-width: 560px; }

.apply-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 640px) { .apply-grid.two { grid-template-columns: 1fr 1fr; } }

.field { display: flex; flex-direction: column; gap: 6px; text-align: left; }
.field label, .fieldset-label { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-text-muted-2); font-weight: 500; }
.field input, .field select, .field textarea {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border-2);
  color: var(--color-text-dark);
  padding: 12px 14px;
  font-size: 14px;
  font-family: var(--font-sans);
  width: 100%;
}
.field textarea { resize: vertical; min-height: 90px; }
.field .hint { font-size: 11.5px; color: var(--color-text-muted); text-transform: none; letter-spacing: 0; }

fieldset.species { border: 1px solid var(--color-border-2); padding: 16px 18px; margin: 0; background: var(--color-bg-card); }
fieldset.species legend { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-text-muted-2); font-weight: 500; padding: 0 6px; }
.species-grid { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 8px; }
@media (min-width: 560px) { .species-grid { grid-template-columns: 1fr 1fr; } }
.species-grid.blocked { margin-top: 14px; }
.chk { display: flex; gap: 8px; align-items: baseline; font-size: 13.5px; color: var(--color-text-body); cursor: pointer; }
.chk input { accent-color: var(--color-gold); }
.chk--blocked { color: #9A3B36; }
.blocked-note { font-size: 12px; color: #9A3B36; margin-top: 6px; }

.apply-actions { margin-top: 28px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.apply-page .btn-primary-gold { background: var(--color-gold); color: #fff; }
.apply-page .btn-primary-gold:hover { background: var(--color-gold-light); }

/* ===== Result pages (confirmed / unsubscribed) ===== */
.result-page { background: var(--color-bg-dark); color: var(--color-cream); min-height: 100vh; display: flex; align-items: center; }
.result-card { max-width: 560px; margin-inline: auto; padding: 60px var(--gutter); text-align: center; }
.result-card h1 { font-size: 34px; color: var(--color-cream); margin-bottom: 16px; }
.result-card p { font-size: 15px; line-height: 1.7; color: var(--color-cream-muted); margin-bottom: 12px; }
.result-card .eyebrow { color: var(--color-gold-light); }
.result-card a.link-gold { display: inline-block; margin-top: 20px; }

/* ===== Privacy page (paper, long-form) ===== */
.legal-page { background: var(--color-bg-paper); }
.legal-wrap { max-width: 760px; margin-inline: auto; padding: 56px var(--gutter) 96px; }
.legal-wrap h1 { font-size: 36px; margin-bottom: 8px; }
.legal-wrap h2 { font-size: 22px; margin: 36px 0 10px; }
.legal-wrap p, .legal-wrap li { font-size: 14.5px; line-height: 1.75; color: var(--color-text-body); }
.legal-wrap ul { padding-left: 20px; }
.legal-wrap .todo { background: #FBF3DE; border-left: 3px solid var(--color-gold); padding: 12px 16px; font-size: 13px; color: var(--color-text-muted-2); margin: 12px 0; }
.legal-wrap a { color: var(--color-gold); text-decoration: underline; }
