/**
 * Site-wide button design system
 * Matches hero button redesign
 * Add .site-btn to any btn for consistent styling
 */

.site-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    border-radius: 2.5rem;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.25s ease,
                background 0.25s ease,
                color 0.2s ease,
                border-color 0.2s ease;
    border: 2px solid transparent;
}

.site-btn:hover {
    transform: translateY(-2px);
}

.site-btn:active {
    transform: translateY(0);
}

/* Primary — maroon gradient */
.site-btn.btn-primary,
.site-btn.btn-primary:hover {
    background: linear-gradient(145deg, #7a0a0a 0%, #a01818 50%, #c41e1e 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 4px 16px rgba(139, 0, 0, 0.3);
}

.site-btn.btn-primary:hover {
    box-shadow: 0 6px 24px rgba(139, 0, 0, 0.4);
}

/* Danger / Accent — red gradient */
.site-btn.btn-danger,
.site-btn.btn-danger:hover {
    background: linear-gradient(145deg, #b91c1c 0%, #dc2626 50%, #ef4444 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 16px rgba(220, 38, 38, 0.35);
}

.site-btn.btn-danger:hover {
    box-shadow: 0 6px 22px rgba(220, 38, 38, 0.45);
}

/* Success */
.site-btn.btn-success,
.site-btn.btn-success:hover {
    background: linear-gradient(145deg, #15803d 0%, #22c55e 50%, #4ade80 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 16px rgba(34, 197, 94, 0.3);
}

.site-btn.btn-success:hover {
    box-shadow: 0 6px 22px rgba(34, 197, 94, 0.4);
}

/* Outline primary */
.site-btn.btn-outline-primary {
    background: rgba(255, 255, 255, 0.7);
    color: #1a1a1a;
    border-color: rgba(0, 0, 0, 0.1);
}

.site-btn.btn-outline-primary:hover {
    background: linear-gradient(145deg, #7a0a0a 0%, #c41e1e 100%);
    color: #fff;
    border-color: transparent;
}

/* Outline danger */
.site-btn.btn-outline-danger {
    background: transparent;
    color: #dc2626;
    border-color: #dc2626;
}

.site-btn.btn-outline-danger:hover {
    background: linear-gradient(145deg, #b91c1c 0%, #ef4444 100%);
    color: #fff;
    border-color: transparent;
}

/* Outline dark */
.site-btn.btn-outline-dark {
    background: transparent;
    color: #212529;
    border-color: #212529;
}

.site-btn.btn-outline-dark:hover {
    background: #212529;
    color: #fff;
}

/* Outline secondary */
.site-btn.btn-outline-secondary {
    background: rgba(255, 255, 255, 0.5);
    color: #495057;
    border-color: rgba(0, 0, 0, 0.12);
}

.site-btn.btn-outline-secondary:hover {
    background: #343a40;
    color: #fff;
    border-color: #343a40;
}

/* Outline light (mobile nav, dark backgrounds) */
.site-btn.btn-outline-light {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

.site-btn.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.7);
}

/* Light (on dark backgrounds) */
.site-btn.btn-light {
    background: rgba(255, 255, 255, 0.95);
    color: #1a1a1a;
    border-color: rgba(0, 0, 0, 0.06);
}

.site-btn.btn-light:hover {
    background: #fff;
    color: #1a1a1a;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

/* Facility buttons */
.site-btn.facility-btn { padding: 0.5rem 1.25rem; }

/* Size variants */
.site-btn.btn-sm { padding: 0.4rem 1rem; font-size: 0.8125rem; border-radius: 2rem; }
.site-btn.btn-lg { padding: 0.75rem 1.75rem; font-size: 1rem; }

/* Dark theme */
[data-bs-theme="dark"] .site-btn.btn-outline-primary {
    background: rgba(255, 255, 255, 0.08);
    color: #e8e8e8;
    border-color: rgba(255, 255, 255, 0.15);
}

[data-bs-theme="dark"] .site-btn.btn-outline-primary:hover {
    background: #f5f5f5;
    color: #1a1a1a;
}

[data-bs-theme="dark"] .site-btn.btn-outline-secondary {
    background: rgba(255, 255, 255, 0.06);
    color: #adb5bd;
    border-color: rgba(255, 255, 255, 0.12);
}

[data-bs-theme="dark"] .site-btn.btn-outline-secondary:hover {
    background: #f8f9fa;
    color: #212529;
}
