/* Estilo base común */
.btn {
    font-family: inherit;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Tamaños */
.btn-sm {
    padding: 5px 10px;
    font-size: 14px;
}

.btn-lg {
    padding: 12px 24px;
    font-size: 18px;
    margin-bottom: 15px;
}

.btn-xl {
    width: 527px;
    height: 60px;
    padding: 0px 10px;
    font-weight: 800;
    font-size: 18px;
    text-align: center;
}


/* Colores por tipo */
.btn-primary {
    background-color: #007bff;
    color: white;
}

.btn-primary:hover {
    background-color: #0069d9;
}

.btn-secondary {
    background-color: #6c757d;
    color: white;
}

.btn-secondary:hover {
    background-color: #5a6268;
}

.btn-danger {
    background-color: #dc3545;
    color: white;
}

.btn-danger:hover {
    background-color: #c82333;
}

.btn-success {
    background-color: #28a745;
    color: white;
    border: none;
}

.btn-success:hover {
    background-color: #218838;
}

.btn-yellow {
    background-color: #ffc107;
    color: black;
    border: none;
}

.btn-yellow:hover {
    background-color: #e0a800;
}

.btn-dark {
    background-color: #444444;
    color: white;
    border: 1px solid #444444;
}

.btn-dark:hover {
    background-color: #333333;
}

.btn-gray {
    background-color:#6B7280;
    color: white;
    border: 1px solid #6B7280;
}

.btn-gray:hover {
    background-color: #595f6b;
}

.btn-circle {
    align-items: center;
    border-radius: 50%;
    padding: 8px 10px;
}

.btn-plus {
    font-size: 100%;
    padding: 7px 14px;
}