body {
    min-height: 100vh;
}
.bg-green {
    background-color: #0f5e38;
}
.logo {
    height: 50px;
}
.navbar {
    background-color: #0f5e38;
}
a {
    color: #0f5e38;
    text-decoration: none;
}
a:hover {
    color: #024826;
    text-decoration: none;
}
.btn-primary {
    background-color: #0f5e38;
    border-color: #0f5e38;
}
.btn-primary:hover {
    background-color: #024826;
    border-color: #0f5e38;
}
.btn-outline-primary {
    color: #0f5e38;
    border-color: #0f5e38;
}
.btn-outline-primary:hover {
    background-color: #024826;
    border-color: #0f5e38;
}
.btn-outline-warning {
    border: 1px solid rgb(255 245 0);
    color: rgb(255 245 0);
}
.btn-outline-warning:hover {
    border: 1px solid rgb(255 245 0);
    background-color: rgb(255 245 0);
}
.text-body-warning {
    color: rgb(255 245 0);
}
.form-check-input {
    border: 1px solid #0f5e38;
}
.form-check-input:checked {
    background-color: #0f5e38;
    border-color: #0f5e38;
}
.text-body-white {
    color: #fff;
}
.card {
    border-radius: 1rem;
}

.rating-btn {
    min-width: 105px;
}

.font-monospace {
    letter-spacing: .04em;
}

.feedback-step {
    display: none;
}

.feedback-step.active {
    display: block;
    animation: stepIn 0.25s ease;
}

.question-number {
    font-size: 0.9rem;
    color: #6c757d;
}

.star-rating {
    display: block;
    min-height: 70px;
}

.stars {
    display: flex;
    justify-content: center;
    align-items: center;
}

.star-btn {
    border: 0;
    background: transparent;
    color: #ffc107;
    cursor: pointer;
    font-size: 2rem;
    line-height: 1;
    padding: 0.15rem;
    transition: transform 0.15s ease, color 0.15s ease;
}

.star-btn:hover {
    color: #ffc107;
    transform: scale(1.12);
}

.star-btn i {
    display: block;
}

.star-btn.is-popping {
    animation: starPop 0.22s ease-out;
}

.rating-label {
    color: #6c757d;
    font-size: 0.9rem;
    margin-top: .25rem;
    min-width: 0;
}

.wizard-actions {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}

/* .perfect-option {
    border-radius: 0.5rem;
    padding: 0.35rem 0.5rem;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.perfect-option:has(input:checked) {
    background-color: #fff3cd;
    transform: translateY(-1px);
} */

@keyframes starPop {
    0% {
        transform: scale(0.8);
    }

    60% {
        transform: scale(1.25);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes stepIn {
    from {
        opacity: 0;
        transform: translateX(15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.active>.page-link, .page-link.active {
    background-color: #0f5e38;
    border-color: #0f5e38;
}
.active>.page-link:hover, .page-link.active:hover {
    background-color: #024826;
    color: rgb(255 245 0);
}
.page-link {
    color: #0f5e38;
}
.page-link:hover {
    color: #024826;
}
.footer__top, .footer__bottom {
    background-color: #d8f3dc;
}
.footer__top .bi {
    font-size: 48px;
}
.footer__middle {
    background-color: #ecf6f0;
}