/* ==========================================================================
   Therapists page — page-scoped styles
   --------------------------------------------------------------------------
   The page is built from the site's existing interior-page components:
   .article-hero / .learn-article / .learn-card-grid / .return-loop-list /
   .learn-cta / .faq-item. Nothing here re-implements those.

   Only two things on this page have no equivalent elsewhere on the site:
   the clinical severity callouts, and the guide download form. Both follow
   the site's language — flat surfaces, square corners, hairline borders,
   mono uppercase labels in terracotta.
   ========================================================================== */

/* ── Clinical callouts ──────────────────────────────────────────────────── */

.alert {
    margin: var(--space-6) 0;
    padding: 24px;
    border: 1px solid var(--color-border);
    border-left: 2px solid var(--color-text-secondary);
    background: transparent;
}

.alert-label {
    display: block;
    margin: 0 0 12px;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
}

/* Reset the article's paragraph rhythm inside a callout. */
.alert p {
    margin-bottom: 0;
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--color-text-secondary);
}

.alert ul {
    margin: 0;
    padding-left: 1.1rem;
    list-style: none;
}

.alert li {
    position: relative;
    margin-bottom: var(--space-2);
    padding-left: 0.9rem;
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--color-text-secondary);
}

.alert li:last-child {
    margin-bottom: 0;
}

.alert li::before {
    content: '—';
    position: absolute;
    left: 0;
    color: var(--color-border);
}

.alert li strong {
    color: var(--color-text);
    font-weight: var(--font-weight-semibold);
}

/* Framework caveats and preconditions */
.alert-info {
    border-left-color: var(--color-accent-warm);
}

.alert-info .alert-label {
    color: var(--color-accent-warm);
}

/* Contraindications — defer or modify */
.alert-warning {
    border-left-color: #B45309;
}

.alert-warning .alert-label {
    color: #B45309;
}

/* Active risk — use with caution */
.alert-danger {
    border-left-color: #9F1239;
}

.alert-danger .alert-label {
    color: #9F1239;
}

/* ── Guide download form (sits inside the dark .learn-cta block) ────────── */

.guide-form {
    display: grid;
    gap: var(--space-5);
    margin-top: var(--space-6);
}

.guide-form input[type="email"] {
    width: 100%;
    padding: 0.9rem 1rem;
    background: transparent;
    border: 1px solid rgba(250, 248, 244, 0.25);
    border-radius: 0;
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-bg);
    transition: border-color var(--transition-fast);
}

.guide-form input[type="email"]::placeholder {
    color: rgba(250, 248, 244, 0.45);
}

.guide-form input[type="email"]:focus {
    outline: none;
    border-color: rgba(250, 248, 244, 0.6);
}

.guide-form-hint {
    display: block;
    margin-top: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--font-size-xs);
    line-height: 1.6;
    color: rgba(250, 248, 244, 0.5);
}

.guide-form-consent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--space-3);
    align-items: start;
    padding-top: var(--space-5);
    border-top: 1px solid rgba(250, 248, 244, 0.15);
}

.guide-form-consent input[type="checkbox"] {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0.2rem 0 0;
    accent-color: var(--color-accent-warm);
    cursor: pointer;
}

.guide-form-consent label {
    font-family: var(--font-body);
    font-size: 0.87rem;
    line-height: 1.65;
    color: rgba(250, 248, 244, 0.62);
    cursor: pointer;
}

.guide-form-consent label strong {
    color: var(--color-bg);
    font-weight: var(--font-weight-semibold);
}

.guide-form button[type="submit"] {
    justify-self: start;
    padding: 0.9rem 1.25rem;
    border: 1px solid var(--color-accent-warm);
    border-radius: 0;
    background: var(--color-accent-warm);
    color: #FFFFFF;
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast);
}

.guide-form button[type="submit"]:hover:not(:disabled) {
    background: var(--color-accent-warm-hover);
    border-color: var(--color-accent-warm-hover);
}

.guide-form button[type="submit"]:disabled {
    background: transparent;
    border-color: rgba(250, 248, 244, 0.25);
    color: rgba(250, 248, 244, 0.45);
    cursor: not-allowed;
}

.guide-form button[type="submit"]:focus-visible {
    outline: 2px solid var(--color-bg);
    outline-offset: 3px;
}

/* Post-submit feedback */
.form-message {
    padding: var(--space-4);
    border: 1px solid rgba(250, 248, 244, 0.25);
    border-left-width: 2px;
    font-family: var(--font-body);
    font-size: 0.87rem;
    line-height: 1.65;
    color: rgba(250, 248, 244, 0.75);
}

.form-message strong {
    color: var(--color-bg);
    font-weight: var(--font-weight-semibold);
}

.form-message a {
    color: var(--color-bg);
    text-decoration: underline;
}

.form-message-success {
    border-left-color: var(--color-accent-warm);
}

.form-message-error {
    border-left-color: #F87171;
}

/* ── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .alert {
        padding: 20px;
    }

    .guide-form button[type="submit"] {
        justify-self: stretch;
        text-align: center;
    }
}
