/* Thriveo Magazine Forum: forms. Colors and fonts come from --thriveo-* variables with the theme variables as fallback. */
.tmf-form { margin-block: 1.5rem; }
.tmf-form__title { margin-block-end: 1rem; }
.tmf-form__body { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem 1.25rem; }
.tmf-form__body > * { grid-column: 1 / -1; }
.tmf-form__body > .tmf-field--third { grid-column: span 2; }
.tmf-form__body > .tmf-field--half { grid-column: span 3; }
.tmf-form__body > .tmf-field--wide { grid-column: span 4; }
.tmf-form__body > .tmf-form__action { grid-column: span 2; align-self: center; justify-self: end; margin: 0; }
@media (max-width: 899.98px) {
    .tmf-form__body > .tmf-field--third { grid-column: span 3; }
    .tmf-form__body > .tmf-field--wide,
    .tmf-form__body > .tmf-form__action { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 639.98px) {
    .tmf-form__body > .tmf-field--third,
    .tmf-form__body > .tmf-field--half { grid-column: 1 / -1; }
}
.tmf-field { margin: 0; display: grid; gap: 0.35rem; }
.tmf-field label { font-weight: 700; }
.tmf-required { font-weight: 400; color: var(--thriveo-color-muted, var(--wp--preset--color--muted, #5f5f5f)); font-size: var(--wp--preset--font-size--small, 0.875rem); }
.tmf-field input[type="text"],
.tmf-field input[type="email"],
.tmf-field input[type="tel"],
.tmf-field input[type="password"],
.tmf-field select,
.tmf-field textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.75rem 0.9rem;
    font: inherit;
    color: var(--thriveo-color-ink, var(--wp--preset--color--ink, #111111));
    background: var(--thriveo-color-paper, var(--wp--preset--color--paper, #ffffff));
    border: 2px solid var(--thriveo-color-line, var(--wp--preset--color--line, #d9d9d9));
    border-radius: 4px;
}
.tmf-field input:focus,
.tmf-field select:focus,
.tmf-field textarea:focus { border-color: var(--thriveo-color-ink, var(--wp--preset--color--ink, #111111)); }
.tmf-field--privacy .tmf-consent {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
    font-size: var(--wp--preset--font-size--small, 0.875rem);
    font-weight: 400;
    line-height: 1.5;
    color: var(--thriveo-color-muted, var(--wp--preset--color--muted, #5f5f5f));
    background: var(--thriveo-color-cream, var(--wp--preset--color--cream, #f6f2ea));
    border-radius: 4px;
    cursor: pointer;
}
.tmf-consent input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin: 0.05rem 0 0; accent-color: var(--thriveo-color-primary, var(--wp--preset--color--primary, #E30B21)); }
.tmf-consent a { font-weight: 700; color: var(--thriveo-color-ink, var(--wp--preset--color--ink, #111111)); text-decoration: underline; text-underline-offset: 2px; }
.tmf-consent a:hover { color: var(--thriveo-color-primary, var(--wp--preset--color--primary, #E30B21)); }

.tmf-button {
    display: inline-block;
    padding: 0.85rem 1.8rem;
    font: inherit;
    font-weight: 700;
    color: var(--thriveo-color-paper, var(--wp--preset--color--paper, #ffffff));
    background: var(--thriveo-color-primary, var(--wp--preset--color--primary, #E30B21));
    border: 0;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s ease;
}
.tmf-button:hover { background: var(--thriveo-color-ink, var(--wp--preset--color--ink, #111111)); }
.tmf-form__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tmf-form__outcome { padding: 0.9rem 1rem; border-radius: 4px; font-weight: 700; }
.tmf-form__outcome--ok { background: var(--thriveo-color-cream, var(--wp--preset--color--cream, #f6f2ea)); border-left: 4px solid var(--thriveo-color-primary, var(--wp--preset--color--primary, #E30B21)); }
.tmf-form__outcome--error { background: var(--thriveo-color-ink, var(--wp--preset--color--ink, #111111)); color: var(--thriveo-color-paper, var(--wp--preset--color--paper, #ffffff)); border-left: 4px solid var(--thriveo-color-accent, var(--wp--preset--color--accent, #FFDE59)); }
