/* ==========================================================================
   Login Modal — bottom-sheet
   ========================================================================== */

#tsc-login-modal { z-index: 100002; }

/* View toggle tabs */
.tsc-login-tabs {
    display: flex;
    background: #f5f5f7;
    border-radius: 999px;
    padding: 4px;
    margin: 0 0 20px;
    gap: 4px;
}
.tsc-login-tab {
    flex: 1;
    background: transparent !important;
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    color: #8a8b91 !important;
    cursor: pointer;
    transition: all 0.2s;
}
.tsc-login-tab.is-active {
    background: #fff !important;
    color: #161823 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.tsc-login-social {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.tsc-login-social > * + * {
    margin-top: 8px;
}
/* Centre any social-login button rendered inside the modal (Nextend, etc.). */
.tsc-login-social > * {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* On mobile the cart's fixed bottombar overlaps the bottom of the modal —
   add enough padding-bottom so the submit button and links clear it. */
@media (max-width: 767px) {
    #tsc-login-modal .tsc-modal__body {
        padding-bottom: calc(80px + env(safe-area-inset-bottom)) !important;
    }
}

.tsc-login-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b0b1b7;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 16px 0;
}
.tsc-login-divider::before,
.tsc-login-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #ececef;
}

.tsc-login-field {
    margin-bottom: 12px;
}
.tsc-login-field__label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #161823;
    margin-bottom: 6px;
}
.tsc-login-field__input {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #ececef;
    border-radius: 8px;
    font-size: 14px;
    color: #161823;
    background: #f5f5f7;
    font-family: inherit;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.15s, background 0.15s;
}
.tsc-login-field__input:focus {
    outline: none;
    border-color: #161823;
    background: #fff;
}
.tsc-login-field__hint {
    font-size: 12px;
    color: #8a8b91;
    margin-top: 4px;
}
.tsc-login-field__error {
    font-size: 12px;
    color: #161823;
    margin-top: 4px;
    display: none;
}
.tsc-login-field.has-error .tsc-login-field__input {
    border-color: #161823;
}
.tsc-login-field.has-error .tsc-login-field__error {
    display: block;
}

.tsc-login-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #161823;
    margin: 8px 0 16px;
    cursor: pointer;
}
.tsc-login-remember input {
    width: 16px;
    height: 16px;
    accent-color: #161823;
    margin: 0;
}

.tsc-login-error {
    background: #f0f0f0;
    color: #161823;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 12px;
    display: none;
}
.tsc-login-error.is-visible {
    display: block;
}

.tsc-login-success {
    background: #f0f0f0;
    color: #161823;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 12px;
    display: none;
}
.tsc-login-success.is-visible {
    display: block;
}

.tsc-login-submit {
    width: 100%;
    padding: 14px;
    background: var(--global-palette-btn-bg, #161823) !important;
    color: var(--global-palette-btn, #fff) !important;
    border: 0;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s;
}
.tsc-login-submit:disabled {
    background: #f5f5f7 !important;
    color: #b0b1b7 !important;
    cursor: not-allowed;
}

.tsc-login-switch {
    text-align: center;
    margin-top: 16px;
    font-size: 13px;
    color: #8a8b91;
}
.tsc-login-switch button {
    background: none;
    border: 0;
    padding: 0;
    color: #161823;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    font-size: 13px;
}
.tsc-login-form {
    padding-left: 20%;
    padding-right: 20%;
}
