/* ==========================================================================
   buttons.css - Estilos para Botones Genéricos y Grupos (v3 - Verifica Outline)
   ========================================================================== */

/* Estilo Base Botones */
.button-primary,
.button-secondary,
.button-outline {
    display: inline-flex; /* Usar flex para alinear icono y texto */
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1.3rem;
    border: 1px solid transparent;
    border-radius: var(--button-border-radius);
    cursor: pointer;
    font-size: 0.9rem; /* Ligeramente más pequeño */
    font-weight: 600;
    transition: all 0.2s ease;
    vertical-align: middle;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
}

/* Botón Primario (Verde) */
.button-primary { background-color: var(--primary-color); color: white; border-color: var(--primary-color); }
.button-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); }
.button-primary:active { transform: scale(0.98); }

/* Botón Secundario (Gris) */
.button-secondary { background-color: #6c757d; color: white; border-color: #6c757d; }
.button-secondary:hover { background-color: #5a6268; border-color: #5a6268; }
.button-secondary:active { transform: scale(0.98); }

/* Botón Outline (Borde verde, fondo transparente) */
.button-outline {
    border-color: var(--primary-color);
    background-color: transparent;
    color: var(--primary-color);
}
.button-outline:hover {
    background-color: var(--primary-light); /* Fondo verde claro al pasar */
    color: var(--primary-dark);
    border-color: var(--primary-color); /* Mantener borde verde o oscurecer */
}
/* Variante Reset/Muted para Outline (Gris) */
.button-outline.reset {
    border-color: var(--text-muted);
    color: var(--text-muted);
}
.button-outline.reset:hover {
    background-color: #e9ecef;
    color: #343a40;
    border-color: #ced4da;
}

/* Iconos dentro de botones */
.button-primary i,
.button-secondary i,
.button-outline i {
    margin-right: 0.6em; /* Más espacio para icono */
    font-size: 0.95em;
    /* vertical-align: middle; No necesario con flex */
}

/* Contenedor Acciones PDF (debajo tabla seleccionados) */
#selected-athletes-actions {
    margin-top: 1.5rem;
    text-align: right;
}

/* Contenedor Acciones Footer Tabla (debajo tabla licencias) */
.table-actions-footer {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
    display: flex;
    gap: 0.8rem;
    flex-wrap: wrap;
    justify-content: flex-start; /* Alinear a la izquierda por defecto */
}


/* --- Responsive Botones --- */
@media (max-width: 768px) {
    .button-primary, .button-secondary, .button-outline {
        padding: 0.8rem 1rem; /* Más padding vertical móvil */
        font-size: 0.9rem;
    }
    /* Centrar/Apilar botones de footer de tabla */
    .table-actions-footer {
        justify-content: center; /* Centrar en móvil */
    }
    .table-actions-footer .button-primary,
    .table-actions-footer .button-outline {
       flex-grow: 1; /* Ocupar espacio disponible */
       min-width: 130px; /* Ancho mínimo */
       margin-bottom: 0.5rem;
    }
    /* Botón PDF móvil */
     #selected-athletes-actions { text-align: center; }
     #selected-athletes-actions .button-secondary { width: 90%; padding: 0.7rem 1rem; }
}