/*
 * Tehran Club opt-in design foundation.
 *
 * Only markup beneath .tc-design-root is affected. Page-level styles retain
 * layout ownership while these primitives keep identity consistent.
 */
.tc-design-root {
    --tc-brand: #19b296;
    --tc-brand-dark: #079b89;
    --tc-accent: #ffc107;
    --tc-ink: #212529;
    --tc-muted: #6f7785;
    --tc-line: #dfe4ea;
    --tc-surface: #ffffff;
    --tc-surface-soft: #f7faf9;
    --tc-success-soft: #edf9f6;
    --tc-success-ink: #087364;
    --tc-danger-soft: #fff0f0;
    --tc-danger-ink: #a21b1b;
    --tc-radius: 4px;
    color: var(--tc-ink);
    font-family: "IRANSansWeb", Tahoma, sans-serif;
}

.tc-design-root *,
.tc-design-root *::before,
.tc-design-root *::after {
    box-sizing: border-box;
}

.tc-design-root .tc-ui-card {
    background: var(--tc-surface);
    border: 1px solid var(--tc-line);
    border-radius: var(--tc-radius);
    box-shadow: none;
}

.tc-design-root .tc-ui-choice {
    color: var(--tc-ink) !important;
    background: var(--tc-surface) !important;
    border: 0 !important;
    border-top: 1px solid transparent !important;
    border-bottom: 1px solid var(--tc-line) !important;
    transition: background-color .18s ease, border-color .18s ease;
}

.tc-design-root .tc-ui-choice:hover,
.tc-design-root .tc-ui-choice:focus-visible,
.tc-design-root .tc-ui-choice:focus-within,
.tc-design-root .tc-ui-choice.is-active {
    border-top-color: var(--tc-brand) !important;
    background: linear-gradient(90deg, rgba(25, 178, 150, .04), rgba(25, 178, 150, .11)) !important;
}

.tc-design-root .tc-ui-button,
.tc-design-root .tc-ui-form .gform_button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 20px;
    color: #fff !important;
    background: var(--tc-brand) !important;
    border: 1px solid var(--tc-brand) !important;
    border-radius: var(--tc-radius);
    font-family: "IRANSansWeb-Bold", "IRANSansWeb", Tahoma, sans-serif;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    transition: filter .18s ease, transform .18s ease;
}

.tc-design-root .tc-ui-button:hover,
.tc-design-root .tc-ui-button:focus,
.tc-design-root .tc-ui-form .gform_button:hover,
.tc-design-root .tc-ui-form .gform_button:focus {
    color: #fff !important;
    background: var(--tc-brand-dark) !important;
    border-color: var(--tc-brand-dark) !important;
    filter: brightness(.96);
    transform: translateY(-1px);
}

.tc-design-root .tc-ui-badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 4px 10px;
    color: var(--tc-success-ink);
    background: var(--tc-success-soft);
    border: 1px solid rgba(25, 178, 150, .28);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.tc-design-root .tc-ui-badge--danger {
    color: var(--tc-danger-ink);
    background: var(--tc-danger-soft);
    border-color: rgba(180, 35, 52, .24);
}

.tc-design-root .tc-ui-form input[type="text"],
.tc-design-root .tc-ui-form input[type="tel"],
.tc-design-root .tc-ui-form input[type="email"],
.tc-design-root .tc-ui-form input[type="number"],
.tc-design-root .tc-ui-form select,
.tc-design-root .tc-ui-form textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--tc-ink);
    background: var(--tc-surface);
    border: 1px solid #d8dee5;
    border-radius: var(--tc-radius);
    font: inherit;
}

.tc-design-root .tc-ui-form input:focus,
.tc-design-root .tc-ui-form select:focus,
.tc-design-root .tc-ui-form textarea:focus {
    border-color: var(--tc-brand);
    outline: 2px solid rgba(25, 178, 150, .18);
    outline-offset: 0;
}

@media (prefers-reduced-motion: reduce) {
    .tc-design-root .tc-ui-choice,
    .tc-design-root .tc-ui-button,
    .tc-design-root .tc-ui-form .gform_button {
        transition: none;
    }
}
