﻿/* ==========================
   CraftElevators — Buttons
   ========================== */

/* --- Base Button --- */
.btn,
.rts-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: var(--font-weight-semibold);
    border-radius: var(--border-radius-md);
    border: none;
    padding: 12px 28px;
    transition: background 0.2s, color 0.2s, border 0.2s, box-shadow 0.2s;
    line-height: 1.3;
    cursor: pointer;
    box-shadow: none;
    outline: none;
    gap: 10px;
}

    .btn:focus,
    .rts-btn:focus {
        outline: 2px solid var(--color-accent);
        outline-offset: 2px;
        box-shadow: none;
    }

    /* --- Primary Button --- */
    .btn-primary,
    .rts-btn.btn-primary {
        background: var(--color-primary);
        color: var(--color-white);
        border: none;
    }

        .btn-primary:hover,
        .btn-primary:active,
        .btn-primary:focus,
        .rts-btn.btn-primary:hover,
        .rts-btn.btn-primary:active,
        .rts-btn.btn-primary:focus {
            background: var(--color-accent);
            color: var(--color-white);
        }

    /* --- Secondary Button --- */
    .btn-secondary,
    .rts-btn.btn-secondary {
        background: var(--color-accent);
        color: var(--color-white);
        border: none;
    }

        .btn-secondary:hover,
        .btn-secondary:active,
        .btn-secondary:focus,
        .rts-btn.btn-secondary:hover,
        .rts-btn.btn-secondary:active,
        .rts-btn.btn-secondary:focus {
            background: var(--color-primary);
            color: var(--color-white);
        }

    /* --- Outline Primary Button --- */
    .btn-outline-primary,
    .rts-btn.btn-outline-primary {
        background: transparent;
        color: var(--color-primary);
        border: 2px solid var(--color-primary);
    }

        .btn-outline-primary:hover,
        .btn-outline-primary:active,
        .btn-outline-primary:focus,
        .rts-btn.btn-outline-primary:hover,
        .rts-btn.btn-outline-primary:active,
        .rts-btn.btn-outline-primary:focus {
            background: var(--color-primary);
            color: var(--color-white);
            border: 2px solid var(--color-primary);
        }

    /* --- Outline Secondary Button --- */
    .btn-outline-secondary,
    .rts-btn.btn-outline-secondary {
        background: transparent;
        color: var(--color-accent);
        border: 2px solid var(--color-accent);
    }

        .btn-outline-secondary:hover,
        .btn-outline-secondary:active,
        .btn-outline-secondary:focus,
        .rts-btn.btn-outline-secondary:hover,
        .rts-btn.btn-outline-secondary:active,
        .rts-btn.btn-outline-secondary:focus {
            background: var(--color-accent);
            color: var(--color-white);
            border: 2px solid var(--color-accent);
        }

    /* --- White Button --- */
    .btn-white,
    .rts-btn.btn-white {
        background: var(--color-white);
        color: var(--color-primary);
        border: 2px solid var(--color-primary);
    }

        .btn-white:hover,
        .btn-white:focus,
        .rts-btn.btn-white:hover,
        .rts-btn.btn-white:focus {
            background: var(--color-primary);
            color: var(--color-white);
        }

    /* --- Disabled State --- */
    .btn:disabled,
    .btn.disabled,
    .rts-btn:disabled,
    .rts-btn.disabled {
        background: var(--color-gray) !important;
        color: var(--color-white) !important;
        border: none !important;
        opacity: 0.55 !important;
        cursor: not-allowed !important;
        pointer-events: none;
    }

    /* --- Icon in Button --- */
    .btn i,
    .rts-btn i {
        margin-right: 6px;
        font-size: 1.15em;
        line-height: 1;
    }

    /* --- Small & Large Buttons --- */
    .btn-sm,
    .rts-btn.btn-sm {
        padding: 7px 18px;
        font-size: 0.91rem;
        border-radius: var(--border-radius-sm);
    }

    .btn-lg,
    .rts-btn.btn-lg {
        padding: 15px 34px;
        font-size: 1.13rem;
        border-radius: var(--border-radius-lg);
    }

    /* --- Block Button (Full Width) --- */
    .btn-block,
    .rts-btn.btn-block,
    .rts-btn.w-100,
    .btn.w-100 {
        width: 100% !important;
        display: flex !important;
    }

/* --- Responsive Adjustments --- */
@media (max-width: 575.98px) {
    .btn,
    .rts-btn {
        font-size: 0.98rem;
        padding: 12px 18px;
    }

        .btn-lg,
        .rts-btn.btn-lg {
            font-size: 1rem;
            padding: 13px 22px;
        }
}
