/* ─── My Account Container ──────────────────────────────── */
.tvc-my-account {
    max-width: 480px;
    margin: 40px auto;
    padding: 0 15px;
}

.tvc-my-account.tvc-logged-in {
    text-align: center;
    padding: 40px 15px;
}

/* ─── Tabs ──────────────────────────────────────────────── */
.tvc-tabs {
    display: flex;
    border-bottom: 2px solid #e9ecef;
    margin-bottom: 30px;
}

.tvc-tab {
    flex: 1;
    padding: 12px 20px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 16px;
    font-weight: 600;
    color: #6c757d;
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
}

.tvc-tab:hover {
    color: #444;
}

.tvc-tab.active {
    color: var(--tvc-accent, #A8C5A0);
    border-bottom-color: var(--tvc-accent, #A8C5A0);
}

/* ─── Tab Panels ────────────────────────────────────────── */
.tvc-tab-panel {
    display: none;
}

.tvc-tab-panel.active {
    display: block;
}

/* ─── Form Elements ─────────────────────────────────────── */
.tvc-form-group {
    margin-bottom: 20px;
}

.tvc-form-group label {
    display: block;
    margin-bottom: 6px;
    font-weight: 500;
    color: #444;
    font-size: 14px;
}

.tvc-my-account .form-control {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-size: 15px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.tvc-my-account .form-control:focus {
    border-color: var(--tvc-accent, #A8C5A0);
    box-shadow: 0 0 0 3px rgba(var(--tvc-accent-rgb, 168, 197, 160), 0.15);
    outline: none;
}

/* ─── Two-Column Row (Email + Phone) ────────────────────── */
.tvc-form-row {
    display: flex;
    gap: 15px;
}

.tvc-form-half {
    flex: 1;
}

@media (max-width: 480px) {
    .tvc-form-row {
        flex-direction: column;
        gap: 0;
    }
}

/* ─── Submit Button ─────────────────────────────────────── */
.tvc-my-account .tvc-btn-submit {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;
}

.tvc-btn-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ─── Links ─────────────────────────────────────────────── */
.tvc-form-links {
    margin-top: 12px;
    text-align: right;
}

.tvc-form-links a {
    color: #6c757d;
    font-size: 14px;
    text-decoration: none;
}

.tvc-form-links a:hover {
    color: var(--tvc-accent, #A8C5A0);
    text-decoration: underline;
}

.tvc-switch-text {
    text-align: center;
    margin-top: 24px;
    color: #6c757d;
    font-size: 14px;
}

.tvc-switch-text a {
    color: var(--tvc-accent, #A8C5A0);
    font-weight: 600;
    text-decoration: none;
}

.tvc-switch-text a:hover {
    text-decoration: underline;
}

/* ─── Messages ──────────────────────────────────────────── */
.tvc-form-message {
    margin-top: 16px;
    padding: 0;
    border-radius: 6px;
    font-size: 14px;
    display: none;
}

.tvc-form-message.show {
    display: block;
    padding: 10px 14px;
}

.tvc-form-message.success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.tvc-form-message.error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* ─── Forgot Password Description ───────────────────────── */
.tvc-forgot-desc {
    color: #6c757d;
    font-size: 14px;
    margin-bottom: 20px;
}
