/* Avaliku esilehe (public/index.php) stiilid.
   Kasutatakse koos /account/css/iteetilised.min.css ja dashboard.css failidega,
   kõik reeglid on piiratud .landing klassiga, et kontolehti mitte mõjutada. */

.landing {
    color: #4a4c58;
    background-color: #fff;
    border-top: 0;
}

/* Nupud: dashboard.css sinine (#007DFF) annab valge tekstiga liiga väikese kontrasti,
   siin kasutame tumedamat tooni (kontrast valgega ~5.8:1) */
.landing .btn-primary {
    background-color: #0062cc;
    border-color: #0062cc;
    color: #fff;
}

.landing .btn-primary:hover {
    background-color: #0052ab;
    border-color: #0052ab;
}

.landing .btn-outline-primary {
    color: #0062cc;
    border-color: #0062cc;
    font-family: 'DM Sans', system-ui;
    font-weight: 600;
}

.landing .btn-outline-primary:hover {
    background-color: #0062cc;
    color: #fff;
}

/* Nähtav fookus klaviatuuriga liikumisel */
.landing a:focus-visible,
.landing .btn:focus-visible {
    outline: 3px solid #1b2433;
    outline-offset: 2px;
    box-shadow: none;
}

/* Tumedal taustal on tume raam nähtamatu */
.landing .landing-hero a:focus-visible {
    outline-color: #f6c23e;
}

.landing main:focus {
    outline: none;
}

/* "Liigu põhisisu juurde" link */
.landing-skip:focus {
    position: absolute;
    top: .5rem;
    left: .5rem;
    z-index: 1000;
    padding: .5rem 1rem;
    background: #fff;
    color: #0062cc;
    border-radius: .35rem;
}

/* Päis */
.landing-header {
    position: relative;
    z-index: 10;
}

.landing-header .container {
    gap: .5rem;
}

.landing-brand {
    font-family: 'DM Sans', system-ui;
    font-size: 1.25rem;
    font-weight: 800;
    color: #1b2433;
    text-decoration: none;
}

.landing-brand:hover {
    color: #0062cc;
    text-decoration: none;
}

.landing-brand .fa-comments {
    color: #0062cc;
}

/* Põhiplokk */
.landing-hero {
    background: linear-gradient(135deg, #1b2433 0%, #232323 100%);
    color: #c9d3e6;
    padding: 5rem 0;
}

.landing-hero-title {
    font-family: 'DM Sans', system-ui;
    font-size: 2.5rem;
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    margin-bottom: 1.25rem;
}

.landing-hero-text {
    font-size: 1.15rem;
    max-width: 40rem;
    margin-bottom: 2rem;
}

.landing-cta {
    font-size: 1.15rem;
    padding: .75rem 1.75rem;
    border-radius: .5rem;
}

.landing-hero-link {
    display: inline-block;
    margin: .75rem 0 0 1.25rem;
    color: #fff;
    text-decoration: underline;
}

.landing-hero-link:hover {
    color: #c9d3e6;
}

/* Sektsioonid */
.landing-section {
    padding: 4rem 0;
}

.landing-section-alt {
    background-color: #f8f9fc;
}

.landing-section-title {
    font-family: 'DM Sans', system-ui;
    font-size: 1.75rem;
    font-weight: 700;
    color: #1b2433;
    margin-bottom: 1rem;
}

.landing-section-lead {
    font-size: 1.05rem;
    max-width: 42rem;
    margin-bottom: 2rem;
}

.landing-card {
    border: 1px solid #e3e6f0;
    border-radius: .5rem;
    box-shadow: 0 .15rem 1.75rem 0 rgba(58, 59, 69, .08);
}

.landing-card-title {
    font-family: 'DM Sans', system-ui;
    font-size: 1.15rem;
    font-weight: 700;
    color: #1b2433;
    margin-bottom: .5rem;
}

.landing-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background-color: #e6f0fb;
    color: #0062cc;
    font-size: 1.25rem;
}

.landing-icon-sm {
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 0;
    font-size: 1rem;
}

.landing-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background-color: #0062cc;
    color: #fff;
    font-family: 'DM Sans', system-ui;
    font-weight: 700;
    font-size: 1.1rem;
}

.landing-final {
    border-top: 1px solid #e3e6f0;
}

.landing .sticky-footer .copyright {
    color: #5a5c69;
}

/* Mobiil */
@media (max-width: 575.98px) {
    .landing-header .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .landing-brand {
        font-size: 1.1rem;
    }

    .landing-header .btn {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .landing-hero {
        padding: 3rem 0;
    }

    .landing-hero-title {
        font-size: 1.85rem;
    }

    .landing-hero-text {
        font-size: 1.05rem;
    }

    .landing-cta {
        display: block;
        width: 100%;
    }

    .landing-hero-link {
        display: block;
        margin: 1rem 0 0;
        text-align: center;
    }

    .landing-section {
        padding: 3rem 0;
    }

    .landing-section-title {
        font-size: 1.5rem;
    }
}
