/**
 * Lasersaz Digits login branding — polished storefront auth
 */

body.ls-digits-branded,
body.ls-digits-native-page,
html:has(.digits-form_page) body {
    font-family: Vazirmatn, Tahoma, sans-serif !important;
}

.digits-form_page,
body.ls-digits-native-page,
#dig-ucr-container.ls-digits-branded-modal,
.digits_ui.ls-digits-branded-modal {
    background: var(--ls-digits-bg, linear-gradient(135deg, #0f172a, #b91c1c)) !important;
    background-attachment: fixed !important;
    min-height: 100vh;
}

.digits-form_page {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: clamp(1.5rem, 4vw, 3rem) 1rem !important;
    box-sizing: border-box;
}

.digits-form_page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 60% 40% at 10% 20%, rgba(220, 38, 38, 0.25), transparent 60%),
        radial-gradient(ellipse 50% 35% at 90% 80%, rgba(255, 255, 255, 0.08), transparent 55%);
    z-index: 0;
}

/* Card shell — Digits defaults to padding: 40px 0 (no side padding) */
.digits-form_container.digits,
.digits-form_container {
    position: relative;
    z-index: 1;
    width: var(--ls-digits-card-width, 420px) !important;
    max-width: min(92vw, var(--ls-digits-card-width, 420px)) !important;
    min-height: var(--ls-digits-card-min-height, 0) !important;
    padding: var(--ls-digits-card-pad-y, 32px) var(--ls-digits-card-pad-x, 28px) !important;
    margin: 0 auto;
    border: 0 !important;
    border-top: 0 !important;
    outline: none !important;
    border-radius: var(--ls-digits-radius, 16px) !important;
    background-color: var(--ls-digits-form-bg, #fff) !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.28) !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.digits-form_wrapper,
.digits_modal_box.digits2_box {
    border: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Kill Digits hairline / top chrome */
.digits-form_container::before,
.digits-form_container::after,
.digits-form_wrapper::before,
.digits-form_wrapper::after,
.digits_modal_box::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
}

/* Top logo */
.ls-digits-logo-top {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 1.1rem;
    padding: 0;
}

.ls-digits-logo-top img {
    display: block;
    max-height: var(--ls-digits-logo-height, 48px);
    width: auto;
    max-width: 70%;
    object-fit: contain;
}

.digits-form_heading {
    margin-bottom: 0.5rem !important;
}

.digits-form_heading_text {
    display: block !important;
    font-size: clamp(1.4rem, 2.4vw, 1.75rem) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    line-height: 1.3 !important;
}

.digits-form_heading_text::after {
    content: none !important;
    display: none !important;
}

.ls-digits-subtitle {
    display: block;
    margin: 0 0 1.15rem;
    padding: 0;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.75;
    color: rgba(17, 17, 17, 0.62);
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.digits-dark-theme .ls-digits-subtitle {
    color: rgba(255, 255, 255, 0.72);
}

@media (prefers-color-scheme: dark) {
    .digits-auto-theme .ls-digits-subtitle {
        color: rgba(255, 255, 255, 0.72);
    }
}

.digits-form_tab-bar {
    gap: 1rem !important;
    margin-bottom: 0.25rem;
}

.digits-form_input_row input,
.digits-form_input_row select,
.digits-form_input_row textarea,
.digits .digits-form_input_row input {
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.digits-form_input_row input:focus,
.digits-form_input_row select:focus {
    border-color: var(--ls-digits-accent, #dc2626) !important;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18) !important;
    outline: none !important;
}

.digits-form_button,
.digits .digits-form_button,
button.digits-form_button {
    border-radius: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 24px rgba(220, 38, 38, 0.28) !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.digits-form_button:hover,
button.digits-form_button:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(220, 38, 38, 0.35) !important;
}

/* Digits puts logo in absolute footer — hide it; we show logo on top */
.digits_site_footer_box .digits_site_logo,
.digits_site_footer_box .digits_site_logo picture,
.digits_site_footer_box .digits_site_logo img {
    display: none !important;
}

.digits_site_footer_box {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    padding: 0.75rem 0 0 !important;
    margin-top: 0.35rem;
}

.digits_site_footer_box > div {
    padding-bottom: 0 !important;
}

.ls-digits-brand-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.85rem 0 0.15rem;
    text-align: center;
    position: relative;
    z-index: 2;
}

.ls-digits-brand-footer__text {
    display: block;
    font-size: 0.78rem;
    line-height: 1.6;
    color: rgba(17, 17, 17, 0.55);
}

.digits-dark-theme .ls-digits-brand-footer__text {
    color: rgba(255, 255, 255, 0.55);
}

.protected_by_digits {
    display: none !important;
}

/* Modal overlay polish */
#dig-ucr-container.ls-digits-branded-modal,
.digits_ui.ls-digits-branded-modal {
    background: var(--ls-digits-bg) !important;
}

@media (max-width: 560px) {
    .digits-form_container.digits,
    .digits-form_container {
        border-radius: 14px !important;
        padding: 1.35rem 1.1rem !important;
    }
}
