/* =============================================================
   buttons.css — Button component overrides
   Scope: MudBlazor MudButton + Bootstrap .btn variants
   Variables: --upf-primary, --upf-radius-sm, --upf-shadow-xs,
              --upf-space-2, --upf-space-4
   ============================================================= */

/* --- Shape override: light pill (replaces rounded-pill on UPF buttons) ---
   border-radius matches .planning-view-btn: calc(--upf-radius-sm - 2px) = 6px */
.upf-btn-shape {
    border-radius: calc(var(--upf-radius-sm) - 2px) !important;
}

/* --- Primary action button --- */
.btn-upf-primary {
    background-color: var(--upf-primary);
    color: var(--upf-color-surface);
    border-radius: var(--upf-radius-sm);
    padding: var(--upf-space-2) var(--upf-space-4);
    box-shadow: var(--upf-shadow-xs);
    border: none;
    font-weight: 600;
    transition: opacity .15s ease, box-shadow .15s ease;
}

.btn-upf-primary:hover {
    opacity: .88;
    box-shadow: var(--upf-shadow-sm);
}

/* --- Ghost / outline button --- */
.btn-upf-ghost {
    background-color: transparent;
    color: var(--upf-primary);
    border: 1px solid var(--upf-color-border-strong);
    border-radius: var(--upf-radius-sm);
    padding: var(--upf-space-2) var(--upf-space-4);
    font-weight: 500;
    transition: background-color .15s ease, border-color .15s ease;
}

.btn-upf-ghost:hover {
    background-color: var(--upf-primary-soft);
    border-color: var(--upf-primary);
}

/* --- Soft / tonal button --- */
.btn-upf-soft {
    background-color: var(--upf-primary-soft);
    color: var(--upf-primary);
    border: none;
    border-radius: var(--upf-radius-sm);
    padding: var(--upf-space-2) var(--upf-space-4);
    font-weight: 500;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.btn-upf-soft:hover {
    background-color: var(--upf-primary);
    color: var(--upf-color-surface);
    box-shadow: var(--upf-shadow-xs);
}

/* --- Danger button --- */
.btn-upf-danger {
    background-color: var(--upf-danger-soft);
    color: var(--mud-palette-error);
    border: none;
    border-radius: var(--upf-radius-sm);
    padding: var(--upf-space-2) var(--upf-space-4);
    font-weight: 500;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.btn-upf-danger:hover {
    background-color: var(--mud-palette-error);
    color: var(--upf-color-surface);
    box-shadow: var(--upf-shadow-xs);
}

/* --- Icon button (square, no label) --- */
.btn-upf-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--upf-radius-sm);
    border: 1px solid var(--upf-color-border);
    background-color: var(--upf-color-surface);
    color: var(--upf-text-secondary);
    transition: background-color .15s ease, color .15s ease;
}

.btn-upf-icon:hover {
    background-color: var(--upf-primary-soft);
    color: var(--upf-primary);
    border-color: var(--upf-primary);
}
