/* ss-forms — layout only. Themes skin .ss-form__* (colours, borders, type). */
.ss-form { display: block; max-width: 100%; }
.ss-form__fields { display: flex; flex-direction: column; gap: 1rem; }
.ss-form__field { display: flex; flex-direction: column; gap: 0.35rem; }
.ss-form__label { font-weight: 600; }
.ss-form__required { color: #b32d2e; }
.ss-form__input,
.ss-form__select,
.ss-form__textarea { width: 100%; max-width: 100%; box-sizing: border-box; font: inherit; }
.ss-form__textarea { min-height: 7em; resize: vertical; }
.ss-form__consent .ss-form__checkbox-label { display: flex; align-items: flex-start; gap: 0.5rem; font-weight: normal; }
.ss-form__consent-text { margin: 0; font-size: 0.9em; opacity: 0.85; }
.ss-form__error { margin: 0; font-size: 0.9em; color: #b32d2e; }
.ss-form__field.has-error .ss-form__input,
.ss-form__field.has-error .ss-form__select,
.ss-form__field.has-error .ss-form__textarea { outline: 2px solid #b32d2e; outline-offset: 1px; }
.ss-form__status { margin: 0 0 1rem; }
.ss-form__status.is-error { color: #b32d2e; }
.ss-form__status-heading { display: block; margin-bottom: 0.25rem; }
.ss-form__status-body { margin: 0; }
.ss-form__actions { display: flex; }
.ss-form__submit { font: inherit; cursor: pointer; }
.ss-form__submit:disabled { opacity: 0.6; cursor: progress; }
/* Honeypot: off-canvas, never display:none (some bots skip hidden inputs). */
.ss-form__hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ss-form [hidden] { display: none !important; }
