/* APPLE HIG - Buttons: redondeados, sombra suave */

.btn {
    border-radius: var(--apple-radius-md) !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.5625rem 1rem;
    border: none;
    cursor: pointer;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    text-decoration: none;
    letter-spacing: -0.01em;
}

/* Primary - teal salvia con glass */
.btn-primary {
    background-color: var(--apple-blue) !important;
    border: 1px solid rgba(0, 137, 123, 0.4) !important;
    color: white !important;
    box-shadow: 0 2px 10px rgba(0, 137, 123, 0.32) !important;
    backdrop-filter: saturate(160%) blur(8px);
    -webkit-backdrop-filter: saturate(160%) blur(8px);
}
.btn-primary:hover:not(:disabled) {
    background-color: var(--apple-blue-hover) !important;
    box-shadow: 0 4px 16px rgba(0, 137, 123, 0.42) !important;
    transform: translateY(-1px);
}
.btn-primary:active:not(:disabled) {
    background-color: var(--apple-blue-active) !important;
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(0, 137, 123, 0.2) !important;
}
.btn-primary:focus {
    box-shadow: 0 0 0 3px rgba(0, 137, 123, 0.3) !important;
    outline: none !important;
}

/* Secondary - gris claro con texto azul */
.btn-secondary {
    background-color: var(--apple-fill-2) !important;
    border: none !important;
    color: var(--apple-blue) !important;
    box-shadow: none !important;
}
.btn-secondary:hover:not(:disabled) {
    background-color: var(--apple-fill-3) !important;
    color: var(--apple-blue-hover) !important;
    transform: translateY(-1px);
}
.btn-secondary:active:not(:disabled) { transform: translateY(0); }

/* Outline Primary */
.btn-outline-primary {
    background-color: var(--apple-blue-light) !important;
    border: 1px solid var(--apple-blue) !important;
    color: var(--apple-blue) !important;
    border-radius: var(--apple-radius-md) !important;
    box-shadow: none !important;
}
.btn-outline-primary:hover:not(:disabled) {
    background-color: var(--apple-blue) !important;
    color: white !important;
}

/* Outline Secondary */
.btn-outline-secondary {
    background-color: var(--apple-fill-1) !important;
    border: 1px solid var(--apple-fill-3) !important;
    color: var(--apple-label-2) !important;
    border-radius: var(--apple-radius-md) !important;
}
.btn-outline-secondary:hover:not(:disabled) { background-color: var(--apple-fill-2) !important; }

/* Success */
.btn-success {
    background-color: var(--apple-green) !important;
    border: none !important;
    color: white !important;
    box-shadow: 0 2px 8px rgba(52,199,89,0.28) !important;
}
.btn-success:hover:not(:disabled) { background-color: #28a745 !important; transform: translateY(-1px); }
.btn-success:active:not(:disabled) { transform: translateY(0); }

/* Warning */
.btn-warning {
    background-color: var(--apple-orange) !important;
    border: none !important;
    color: white !important;
    box-shadow: 0 2px 8px rgba(255,149,0,0.25) !important;
}
.btn-warning:hover:not(:disabled) { background-color: #e08600 !important; transform: translateY(-1px); }

/* Danger */
.btn-danger {
    background-color: var(--apple-red) !important;
    border: none !important;
    color: white !important;
    box-shadow: 0 2px 8px rgba(255,59,48,0.25) !important;
}
.btn-danger:hover:not(:disabled) { background-color: #d93025 !important; transform: translateY(-1px); }

/* Info */
.btn-info {
    background-color: var(--apple-teal) !important;
    border: none !important;
    color: white !important;
    box-shadow: 0 2px 8px rgba(90,200,250,0.25) !important;
}
.btn-info:hover:not(:disabled) { background-color: #3ab8f0 !important; transform: translateY(-1px); }

/* Sizes */
.btn-sm { padding: 0.375rem 0.75rem; font-size: 0.8125rem; border-radius: var(--apple-radius-sm) !important; }
.btn-lg { padding: 0.75rem 1.5rem; font-size: 1rem; border-radius: var(--apple-radius-lg) !important; }

/* Focus global */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus {
    box-shadow: 0 0 0 3px rgba(0,137,123,0.3) !important;
    outline: none !important;
}

/* Pagination */
.pagination { gap: 4px; }
.page-link {
    border-radius: var(--apple-radius-sm) !important;
    border: 1px solid var(--apple-separator) !important;
    color: var(--apple-blue) !important;
    background-color: var(--apple-bg-2) !important;
    font-size: 0.8125rem;
    padding: 0.375rem 0.625rem;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.page-link:hover { background-color: var(--apple-fill-1) !important; box-shadow: var(--apple-shadow-sm); }
.page-item.active .page-link {
    background-color: var(--apple-blue) !important;
    border-color: var(--apple-blue) !important;
    color: white !important;
    box-shadow: 0 2px 8px rgba(0,137,123,0.28);
}
.page-item.disabled .page-link { color: var(--apple-label-4) !important; background-color: var(--apple-fill-1) !important; }
