/* ==========================================================
   KIRKIES AUTH LIGHT LAUNCH V1
   Login + Athlete Registration
   ========================================================== */

:root {
    --ka-bg: #f7f8fc;
    --ka-surface: #ffffff;
    --ka-surface-soft: #f8fafc;
    --ka-text: #111827;
    --ka-text-2: #344054;
    --ka-muted: #667085;
    --ka-border: #d9dee8;
    --ka-purple: #7145c7;
    --ka-purple-dark: #58329f;
    --ka-purple-soft: #f3eefc;
    --ka-danger: #a43d46;
}

/* ==========================================================
   PAGE BACKGROUND
   ========================================================== */

html,
body {
    background: var(--ka-bg) !important;
    color: var(--ka-text) !important;
}

body {
    min-height: 100vh !important;
    background:
        radial-gradient(circle at 7% 7%, rgba(113,69,199,.07), transparent 24%),
        radial-gradient(circle at 92% 88%, rgba(113,69,199,.055), transparent 27%),
        linear-gradient(135deg, #ffffff 0%, #fafaff 52%, #f4f2fa 100%)
        !important;
}

/* subtle enterprise geometry */
body::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    pointer-events: none !important;
    opacity: .55 !important;
    background-image:
        repeating-linear-gradient(
            135deg,
            transparent 0,
            transparent 94px,
            rgba(92,64,145,.035) 95px,
            rgba(92,64,145,.035) 96px
        ) !important;
}

/* ==========================================================
   LOGIN
   ========================================================== */

.kp-login-light-root {
    position: relative !important;
    z-index: 2 !important;
    min-height: 100vh !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 24px 16px !important;
}

.kp-login-light-card {
    width: min(100%, 470px) !important;
    margin: 0 auto !important;
    padding: 28px 32px 30px !important;
    border: 1px solid #ddd8e9 !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.97) !important;
    background-image: none !important;
    color: var(--ka-text) !important;
    box-shadow:
        0 25px 65px rgba(45,34,68,.10),
        0 2px 8px rgba(15,23,42,.035)
        !important;
}

.kp-launch-brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    text-align: center !important;
}

.kp-launch-logo {
    display: block !important;
    width: auto !important;
    max-width: 230px !important;
    max-height: 90px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    background: transparent !important;
}

.kp-launch-platform {
    margin-top: 2px !important;
    color: #344054 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.kp-login-light-card label {
    color: #273244 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
}

.kp-login-light-card input[type="email"],
.kp-login-light-card input[type="text"],
.kp-login-light-card input[type="password"] {
    min-height: 52px !important;
    border: 1px solid var(--ka-border) !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: #172033 !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.kp-login-light-card input:focus {
    border-color: #8b68d2 !important;
    box-shadow: 0 0 0 4px rgba(113,69,199,.08) !important;
    outline: none !important;
}

.kp-auth-field {
    position: relative !important;
}

.kp-auth-field input {
    padding-left: 48px !important;
}

.kp-password-field input {
    padding-right: 48px !important;
}

.kp-auth-leading-icon {
    position: absolute !important;
    z-index: 4 !important;
    top: 50% !important;
    left: 14px !important;
    width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateY(-50%) !important;
    color: #7553b7 !important;
    pointer-events: none !important;
}

.kp-auth-trailing-icon {
    position: absolute !important;
    z-index: 5 !important;
    top: 50% !important;
    right: 12px !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateY(-50%) !important;
    border: 0 !important;
    background: transparent !important;
    color: #8794a6 !important;
    box-shadow: none !important;
}

.kp-login-light-card button[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
    border: 1px solid #6740b6 !important;
    border-radius: 10px !important;
    background: linear-gradient(100deg, #8257dd, #6737c2) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    box-shadow: 0 8px 20px rgba(103,55,194,.18) !important;
}

.kp-login-light-card a {
    color: #6942b9 !important;
    font-weight: 750 !important;
}

.kp-login-light-card p,
.kp-login-light-card small,
.kp-login-light-card span {
    color: #58677a !important;
}

/* ==========================================================
   REGISTRATION
   ========================================================== */

.kr-light-root {
    position: relative !important;
    z-index: 2 !important;
    color: var(--ka-text) !important;
}

.kr-public-brand-logo {
    width: auto !important;
    max-width: 185px !important;
    height: auto !important;
    max-height: 68px !important;
    object-fit: contain !important;
}

.kr-light-card {
    overflow: hidden !important;
    border: 1px solid #dce1e9 !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ka-text) !important;
    box-shadow: 0 24px 65px rgba(42,35,60,.09) !important;
}

.kr-light-hero {
    position: relative !important;
    overflow: hidden !important;
    padding: 40px 46px !important;
    border-bottom: 1px solid #e2e6eb !important;
    background:
        radial-gradient(circle at 88% 38%, rgba(113,69,199,.10), transparent 24%),
        linear-gradient(110deg, #ffffff, #faf9fd 58%, #f0ebf9)
        !important;
    color: var(--ka-text) !important;
}

.kr-light-hero h1,
.kr-light-hero h2,
.kr-light-hero h3 {
    position: relative !important;
    z-index: 2 !important;
    color: #111827 !important;
    text-shadow: none !important;
}

.kr-light-hero h1,
.kr-light-hero h2 {
    max-width: 760px !important;
    font-size: clamp(34px, 3.8vw, 52px) !important;
    line-height: 1.04 !important;
    font-weight: 900 !important;
    letter-spacing: -.045em !important;
}

.kr-light-hero p {
    position: relative !important;
    z-index: 2 !important;
    max-width: 720px !important;
    color: #5b697a !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.kr-light-steps {
    padding: 17px 28px !important;
    border-bottom: 1px solid #e1e6ec !important;
    background: #f7f9fb !important;
}

.kr-light-step {
    min-height: 46px !important;
    border: 1px solid #d8e0e8 !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #556579 !important;
    box-shadow: none !important;
}

.kr-light-step.is-active,
.kr-light-step[aria-current="step"] {
    border-color: #7852c8 !important;
    background: #7852c8 !important;
    color: #ffffff !important;
}

.kr-light-form,
.kr-light-card form {
    background: #ffffff !important;
    background-image: none !important;
    color: var(--ka-text) !important;
}

.kr-light-form {
    padding: 34px 40px 38px !important;
}

.kr-light-card form h1,
.kr-light-card form h2,
.kr-light-card form h3 {
    color: #111827 !important;
}

.kr-light-card form label {
    color: #344054 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
}

.kr-light-card form input,
.kr-light-card form select,
.kr-light-card form textarea {
    border: 1px solid #d6dde6 !important;
    background: #ffffff !important;
    color: #172033 !important;
    box-shadow: none !important;
}

.kr-light-card form input:not([type="checkbox"]):not([type="radio"]),
.kr-light-card form select {
    min-height: 50px !important;
    border-radius: 9px !important;
    padding: 0 14px !important;
}

.kr-light-card form textarea {
    border-radius: 9px !important;
    padding: 13px 14px !important;
}

.kr-light-card form input:focus,
.kr-light-card form select:focus,
.kr-light-card form textarea:focus {
    border-color: #8060c8 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(124,58,237,.075) !important;
}

.kr-light-card form button[type="submit"],
.kr-light-primary {
    min-height: 46px !important;
    padding: 0 24px !important;
    border: 1px solid #6841b8 !important;
    border-radius: 9px !important;
    background: #6841b8 !important;
    color: #ffffff !important;
    font-weight: 850 !important;
    box-shadow: 0 7px 17px rgba(104,65,184,.18) !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 760px) {
    .kp-login-light-card {
        padding: 24px 20px 26px !important;
    }

    .kp-launch-logo {
        max-width: 190px !important;
    }

    .kr-light-hero {
        padding: 28px 22px !important;
    }

    .kr-light-form {
        padding: 26px 20px 30px !important;
    }

    .kr-light-steps {
        padding: 12px !important;
        overflow-x: auto !important;
    }
}

/* ==========================================================
   KIRKIES LOGIN TOP SPACING FINAL V2
   ========================================================== */

/* Card itself */
.kp-login-light-card {
    padding-top: 14px !important;
    padding-bottom: 26px !important;
}

/* Logo/brand block */
.kp-login-light-card .kp-launch-brand {
    margin-top: 0 !important;
    margin-bottom: 17px !important;
    padding-top: 0 !important;
}

/* Logo */
.kp-login-light-card .kp-launch-logo {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-width: 220px !important;
    max-height: 82px !important;
}

/* Coach Platform */
.kp-login-light-card .kp-launch-platform {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Remove accidental blank elements before brand */
.kp-login-light-card > :first-child {
    margin-top: 0 !important;
}

/* Keep form close to branding */
.kp-login-light-card form {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Slightly reduce outside vertical breathing room */
.kp-login-light-root {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

/* Mobile */
@media (max-width: 640px) {
    .kp-login-light-card {
        padding-top: 12px !important;
        padding-bottom: 22px !important;
    }

    .kp-login-light-card .kp-launch-brand {
        margin-bottom: 15px !important;
    }
}

/* ==========================================================
   END LOGIN TOP SPACING FINAL V2
   ========================================================== */
