/* Contrast fixes for auth, verification, and ticketing components in the marketing shell. */
.verification-shell {
    color: var(--ink);
    background: var(--surface);
    border-color: var(--line);
}

.verification-icon {
    color: var(--primary);
    background: var(--primary-soft);
}

.auth-help { border-color: var(--line); }
.auth-help p,
.verification-shell p,
.verification-shell li { color: var(--ink-soft); }
.verification-shell h1,
.verification-shell h2,
.verification-shell h3 { color: var(--ink); }

.tk-shell { color: var(--ink); }
.tk-heading p,
.tk-fine,
.tk-shell small,
.tk-table th { color: var(--ink-soft); opacity: 1; }
.tk-panel,
.tk-card,
.tk-metric { color: var(--ink); background: var(--surface); border-color: var(--line); }
.tk-shell input:not([type="checkbox"]):not([type="radio"]),
.tk-shell select,
.tk-shell textarea { color: var(--ink); background: var(--surface); border-color: var(--line-strong); }
.tk-shell input::placeholder,
.tk-shell textarea::placeholder { color: var(--ink-soft); opacity: 1; }
.tk-secondary { color: var(--ink) !important; border-color: var(--line-strong) !important; }
.tk-secondary:hover { background: var(--surface-soft) !important; }
.tk-table th,
.tk-table td,
.tk-subnav,
.tk-details { border-color: var(--line); }

.legal-card {
    display: grid;
    gap: 2rem;
    padding: clamp(1.5rem, 5vw, 3rem);
    color: var(--ink);
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}
.legal-card h2 { margin: 0 0 1rem; font-size: 1.45rem; }
.legal-card li { margin-block: .6rem; color: var(--ink-soft); }
.legal-card a { color: var(--primary); font-weight: 700; }
.contact-details { margin: 0; }
.contact-details div { display: grid; grid-template-columns: minmax(110px, .35fr) 1fr; gap: 1rem; padding: .8rem 0; border-top: 1px solid var(--line); }
.contact-details dt { color: var(--ink-soft); font-weight: 700; }
.contact-details dd { margin: 0; overflow-wrap: anywhere; }

@media (max-width: 520px) {
    .contact-details div { grid-template-columns: 1fr; gap: .2rem; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
