/**
 * 221Buddy Contact Page Styles — Stripe Design System
 *
 * Matches the visual language of other secondary pages (FAQ, Help Center).
 * Uses stripe-* tokens exclusively; no mkt-* classes.
 */

/* ── Layout ──────────────────────────────────────────── */

.contact-container {
    max-width: 960px;
    margin: 0 auto;
    padding: var(--stripe-space-8) var(--stripe-space-6);
}

@media (max-width: 768px) {
    .contact-container {
        padding: var(--stripe-space-6) var(--stripe-space-4);
    }
}

/* ── Page Header ─────────────────────────────────────── */

.contact-header {
    padding-bottom: var(--stripe-space-6);
    margin-bottom: var(--stripe-space-8);
    border-bottom: 1px solid var(--stripe-border-light);
}

.contact-page-title {
    font-size: var(--stripe-fs-3xl);
    font-weight: var(--stripe-fw-bold);
    line-height: var(--stripe-lh-tight);
    color: var(--stripe-text-primary);
    margin: 0 0 var(--stripe-space-3) 0;
}

@media (max-width: 768px) {
    .contact-page-title {
        font-size: var(--stripe-fs-2xl);
    }
}

.contact-page-subtitle {
    font-size: var(--stripe-fs-lg);
    color: var(--stripe-text-secondary);
    margin: 0;
}

/* ── Form fields ─────────────────────────────────────── */

.contact-field {
    margin-bottom: var(--stripe-space-5);
}

/* ── Submit button ───────────────────────────────────── */

.contact-submit-btn {
    width: 100%;
    justify-content: center;
    margin-top: var(--stripe-space-2);
}

/* ── Success state (mirrors help-test success layout) ── */

.contact-success {
    text-align: center;
    padding: var(--stripe-space-10) var(--stripe-space-4);
}

.contact-success-icon {
    font-size: 3rem;
    color: var(--stripe-success, #00D924);
    margin-bottom: var(--stripe-space-5);
}

/* ── Sidebar info items ──────────────────────────────── */

.contact-info {
    display: flex;
    flex-direction: column;
    gap: var(--stripe-space-6);
    padding-top: var(--stripe-space-2);
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: var(--stripe-space-3);
}

.contact-info-icon {
    color: var(--stripe-primary);
    font-size: var(--stripe-fs-lg);
    margin-top: 2px;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

.contact-info-title {
    font-size: var(--stripe-fs-base);
    font-weight: var(--stripe-fw-semibold);
    color: var(--stripe-text-primary);
    margin: 0 0 var(--stripe-space-1) 0;
}

.contact-info-text {
    font-size: var(--stripe-fs-sm);
    color: var(--stripe-text-secondary);
    margin: 0;
    line-height: var(--stripe-lh-relaxed);
}
