/* ============================================
   Swappo buttons — dark grey theme site-wide
   Use: btn btn-primary | btn btn-secondary | btn btn-danger
   Sizes: btn-sm (compact toolbars / cards)
   ============================================ */

body .btn {
    font-family: var(--sw-font-sans);
    font-weight: 600;
    border-radius: 6px;
    --bs-btn-focus-shadow-rgb: var(--sw-btn-focus-rgb);
}

/* --- Primary: main actions (Save, Upload, Add, Submit) --- */
body.auth-page .btn-primary,
body .btn-primary {
    --bs-btn-bg: var(--sw-btn-primary-bg);
    --bs-btn-border-color: var(--sw-btn-border-hover);
    --bs-btn-color: var(--sw-btn-text);
    --bs-btn-hover-bg: var(--sw-btn-primary-hover);
    --bs-btn-hover-border-color: #888888;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-bg: var(--sw-btn-primary-active);
    --bs-btn-active-border-color: #888888;
    --bs-btn-active-color: #ffffff;
    --bs-btn-disabled-bg: #2e2e2e;
    --bs-btn-disabled-border-color: #444444;
    --bs-btn-disabled-color: #777777;
}

/* --- Secondary: default for ALL other buttons --- */
body .btn-secondary,
body .btn-success,
body .btn-warning,
body .btn-info,
body .btn-outline-primary,
body .btn-outline-secondary,
body .btn-outline-warning,
body .btn-outline-light {
    --bs-btn-bg: var(--sw-btn-bg);
    --bs-btn-border-color: var(--sw-btn-border);
    --bs-btn-color: var(--sw-btn-text);
    --bs-btn-hover-bg: var(--sw-btn-bg-hover);
    --bs-btn-hover-border-color: var(--sw-btn-border-hover);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-bg: var(--sw-btn-bg-active);
    --bs-btn-active-border-color: var(--sw-btn-border-hover);
    --bs-btn-active-color: #ffffff;
}

/* Selected filter / toggle-on */
body .btn-secondary.active,
body .btn-check:checked + .btn-secondary {
    --bs-btn-bg: var(--sw-btn-primary-bg);
    --bs-btn-border-color: var(--sw-btn-border-hover);
    --bs-btn-color: #ffffff;
}

/* --- Danger: delete / remove only --- */
body .btn-danger,
body .btn-outline-danger {
    --bs-btn-bg: #7f1d1d;
    --bs-btn-border-color: #b71c1c;
    --bs-btn-color: #ffcdd2;
    --bs-btn-hover-bg: #b71c1c;
    --bs-btn-hover-border-color: #ef5350;
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #c62828;
    --bs-btn-active-border-color: #ef5350;
    --bs-btn-active-color: #fff;
    --bs-btn-focus-shadow-rgb: 239, 83, 80;
}

body .btn-outline-danger {
    --bs-btn-bg: transparent;
    --bs-btn-hover-bg: #7f1d1d;
}

body .btn-link {
    --bs-btn-color: var(--sw-btn-text-muted);
    --bs-btn-hover-color: #ffffff;
}

body .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.btn-disabled,
.gc-visibility-readonly {
    opacity: 0.55;
    pointer-events: none;
    cursor: not-allowed;
}

/* Quiz / mini-game choice tiles: same grey palette */
html body.mini-game-page #answer-buttons button,
html body.mini-game-page #answer-buttons .mini-game-tile-choice {
    background: var(--sw-btn-bg);
    border: 1px solid var(--sw-btn-border);
    border-radius: 8px;
    color: var(--sw-btn-text) !important;
    font-weight: 600;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

html body.mini-game-page #answer-buttons button:hover,
html body.mini-game-page #answer-buttons .mini-game-tile-choice:hover {
    background: var(--sw-btn-bg-hover);
    border-color: var(--sw-btn-border-hover);
    color: #ffffff !important;
}

html body.mini-game-page .mini-game-keyboard-active {
    background: var(--sw-btn-bg-active) !important;
    border-color: var(--sw-btn-border-hover) !important;
    transform: scale(0.97);
}
