/* -- Buttons -- */

.btn,
.jo-btn {
    display: inline-block;
    padding: .85rem 1.8rem;

    font-family: var(--font-body);
    font-size: .95rem;
    font-weight: var(--font-weight-medium);
    letter-spacing: .04em;

    color: #fff;
    background: var(--color-primary);

    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .2s ease;
}

.btn:hover,
.jo-btn:hover {
    background: var(--color-secondary);
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* -- Outline Button -- */

.btn--outline,
.jo-btn--outline {
    background: transparent;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
}

.btn--outline:hover,
.jo-btn--outline:hover {
    background: var(--color-primary);
    color: #fff;
}

/* -- Text Button -- */

.btn--text,
.jo-btn--text {
    padding: 0;

    background: none;
    border: 0;

    color: var(--color-primary);

    font-weight: var(--font-weight-medium);
    letter-spacing: .02em;
}

.btn--text:hover,
.jo-btn--text:hover {
    color: var(--color-link-hover);
    text-decoration: underline;
    transform: none;
}

/* -- uutiskirje -- */

.service-link.ml-onclick-form {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    cursor: pointer;
    text-align: left;
}

/* -- Focus -- */

a:focus-visible,
.btn:focus-visible,
.jo-btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 3px;
}

/* -- CTA Groups -- */

.cta-buttons,
.cta-final__buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: clamp(.8rem,1.5vw,1.2rem);

    margin-top: clamp(1.6rem,2.5vw,2.2rem);
    margin-bottom: clamp(2rem,3vw,3rem);
}

.cta-buttons--compact {
    gap: .75rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}
/* Service link */

.service-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;

    margin-top: auto;

    font-family: var(--font-body);
    font-size: .95rem;
    font-weight: 600;

    color: var(--terracotta);
    text-decoration: none;

    transition:
        color var(--transition-base),
        gap var(--transition-base);
}

.service-link::after {
    content: "→";
    transition: transform var(--transition-base);
}

.service-link:hover {
    color: var(--color-primary);
    gap: .7rem;
}

.service-link:hover::after {
    transform: translateX(3px);
}
/* -- Mobile -- */

@media (max-width:600px){

.cta-buttons{
    flex-direction:column;
}

.cta-buttons .btn,
.cta-buttons .jo-btn,
.cta-buttons .btn--outline{
    width:100%;
    max-width:280px;
    text-align:center;
}

}