
/* Teal → burnt-orange ribbon buttons (landing, auth, participant / evaluator portal) */
body.theme-rde-buttons {
    --rde-ribbon-gradient: linear-gradient(
        135deg,
        #214a43 0%,
        #1f4039 22%,
        #304f44 42%,
        #4f3f32 58%,
        #7e3f24 76%,
        #b8491e 94%,
        #9f3f22 100%
    );
}
body.theme-rde-buttons .btn-primary {
    border: none;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    background-color: #214a43;
    background-image: var(--rde-ribbon-gradient);
    box-shadow:
        0 0.12rem 0.35rem rgba(33, 74, 67, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);
    transition:
        transform 0.19s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.19s ease,
        filter 0.19s ease;
}
body.theme-rde-buttons .btn-primary:hover {
    color: #fff;
    background-color: #214a43;
    background-image: var(--rde-ribbon-gradient);
    transform: translateY(-3px);
    filter: brightness(1.14) saturate(1.08);
    box-shadow:
        0 0.45rem 1rem rgba(33, 74, 67, 0.42),
        0 0.2rem 0.45rem rgba(184, 73, 30, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
body.theme-rde-buttons .btn-primary:focus {
    color: #fff;
    background-color: #214a43;
    background-image: var(--rde-ribbon-gradient);
    filter: brightness(1.1);
}
body.theme-rde-buttons .btn-primary:focus:hover {
    filter: brightness(1.14) saturate(1.08);
}
body.theme-rde-buttons .btn-primary:active,
body.theme-rde-buttons .btn-primary.active {
    color: #fff;
    transform: translateY(-1px);
    filter: brightness(0.96);
    box-shadow:
        0 0.1rem 0.3rem rgba(33, 74, 67, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
body.theme-rde-buttons .btn-primary:focus-visible {
    outline: 0;
    box-shadow:
        0 0 0 0.22rem rgba(31, 106, 95, 0.5),
        0 0.35rem 0.75rem rgba(33, 74, 67, 0.35);
}
body.theme-rde-buttons .btn-primary:disabled,
body.theme-rde-buttons .btn-primary.disabled {
    opacity: 0.52;
    filter: none;
    transform: none;
    background-image: var(--rde-ribbon-gradient);
}
body.theme-rde-buttons .btn-outline-primary {
    color: #1a4a40;
    border-width: 2px;
    border-color: rgba(33, 74, 67, 0.48);
    background-color: rgba(255, 255, 255, 0.9);
    transition:
        transform 0.19s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.19s ease,
        border-color 0.19s ease,
        color 0.19s ease,
        background-color 0.19s ease,
        background-image 0.19s ease,
        filter 0.19s ease;
}
body.theme-rde-buttons .btn-outline-primary:hover {
    color: #fff;
    border-color: transparent;
    background-color: #214a43;
    background-image: var(--rde-ribbon-gradient);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    transform: translateY(-3px);
    filter: brightness(1.08) saturate(1.06);
    box-shadow:
        0 0.4rem 0.95rem rgba(33, 74, 67, 0.35),
        0 0.15rem 0.4rem rgba(158, 63, 34, 0.2);
}
body.theme-rde-buttons .btn-outline-primary:focus {
    color: #1a4a40;
    border-color: rgba(33, 74, 67, 0.65);
}
body.theme-rde-buttons .btn-outline-primary:focus:hover {
    color: #fff;
    border-color: transparent;
    background-color: #214a43;
    background-image: var(--rde-ribbon-gradient);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    transform: translateY(-3px);
    filter: brightness(1.08) saturate(1.06);
    box-shadow:
        0 0 0 0.15rem rgba(31, 106, 95, 0.35),
        0 0.4rem 0.95rem rgba(33, 74, 67, 0.38),
        0 0.15rem 0.4rem rgba(158, 63, 34, 0.22);
}
body.theme-rde-buttons .btn-outline-primary:focus-visible {
    outline: 0;
    box-shadow:
        0 0 0 0.22rem rgba(31, 106, 95, 0.42),
        0 0.2rem 0.5rem rgba(33, 74, 67, 0.15);
}
body.theme-rde-buttons .btn-outline-primary:focus-visible:hover {
    transform: translateY(-3px);
    box-shadow:
        0 0 0 0.22rem rgba(31, 106, 95, 0.45),
        0 0.45rem 1rem rgba(33, 74, 67, 0.38),
        0 0.15rem 0.4rem rgba(158, 63, 34, 0.22);
}
body.theme-rde-buttons .btn-outline-primary:active,
body.theme-rde-buttons .btn-outline-primary.active {
    color: #fff;
    border-color: transparent;
    background-image: var(--rde-ribbon-gradient);
    transform: translateY(-1px);
    filter: brightness(0.94);
    box-shadow: 0 0.12rem 0.35rem rgba(33, 74, 67, 0.25);
}
.site-dev-credit { font-size: 0.65rem; line-height: 1.35; letter-spacing: 0.02em; color: #adb5bd; opacity: 0.65; }
.site-dev-credit:hover { opacity: 0.85; }
