/* What the theme's .eq-* CSS does not cover. The theme owns the form's look; this file adds the icon base rule and the pieces the signed-off build did not have. */

/* The build's .icon rule. :where() keeps it at the lowest specificity, so the theme's sized icons (.eq-time__ico .icon, .eq-note .icon) win. */
:where(.eq-card) .icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Honeypot: off screen, not display:none, so a bot that reads the markup still sees a field to fill. */
.eq-hp { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Server and send errors above the steps. Same blue as the field errors. */
.eq-alert { margin-bottom: 20px; padding: 12px 16px; border-radius: 10px; border-left: 3px solid var(--eq-blue); background: var(--eq-sel); font-size: 14px; line-height: 1.5; color: var(--eq-ink); }
.eq-alert[hidden] { display: none; }
.eq-alert p + p { margin-top: 6px; }

/* Consent (health data about a third party): a real checkbox, never pre-ticked. */
.eq-consent { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-size: 13px; line-height: 1.5; color: var(--eq-ink); }
.eq-consent input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--eq-blue); cursor: pointer; }
.eq-consent a { font-weight: 600; color: var(--eq-blue); text-decoration: underline; }
.eq-consent:has(input:focus-visible) { outline: 3px solid var(--eq-gold); outline-offset: 3px; border-radius: 6px; }

/* The message form's privacy note carries a link. */
.eq-note a { color: inherit; font-weight: 600; text-decoration: underline; }

/* The thank-you panel's restart link is an anchor so it works without JS. */
a.eq-again { display: inline-block; }

/* A callback window that has already started (or starts within the hour) today. */
.eq-time:has(input:disabled) { opacity: 0.45; cursor: not-allowed; }
.eq-time input:disabled { cursor: not-allowed; }
