/* =========================================================================
   BUTTONS.CSS
   Alle knop-varianten: primary, ghost, danger, tafel, icon-btn.
   ========================================================================= */

.btn-primary {
    background: var(--dark);
    color: var(--paper);
    border: 1.5px solid var(--dark);
    padding: 16px 32px;
    font-weight: 600;
    border-radius: var(--radius-pill);
    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.82rem;
    transition: background 0.25s, border-color 0.25s, color 0.25s, box-shadow 0.25s;
    display: inline-block;
    font-family: inherit;
}
.btn-primary:hover:not(:disabled) { background: var(--accent); border-color: var(--accent); }

.btn-primary--block {
    width: 100%;
    padding: 18px 32px;
    font-size: 0.85rem;
    letter-spacing: 2.2px;
    box-shadow: 4px 4px 0 var(--accent);
}
.btn-primary--block:hover:not(:disabled) { box-shadow: 4px 6px 0 var(--dark); }
.btn-primary--block:disabled { opacity: 0.7; cursor: wait; }

.btn-loading-dots {
    display: inline-block;
    width: 1.4em;
    text-align: left;
}

.btn-ghost {
    background: transparent;
    color: var(--dark);
    border: 1.5px solid var(--dark);
    padding: 16px 32px;
    font-weight: 600;
    border-radius: var(--radius-pill);
    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.82rem;
    transition: background 0.25s, color 0.25s;
    display: inline-block;
    font-family: inherit;
}
.btn-ghost:hover { background: var(--dark); color: var(--paper); }

.btn-ghost--sm {
    padding: 12px 22px;
    font-size: 0.78rem;
    letter-spacing: 1.8px;
    white-space: nowrap;
}

.btn-danger-outline--sm {
    padding: 12px 22px;
    font-size: 0.78rem;
    letter-spacing: 1.8px;
    white-space: nowrap;
}

.btn-danger {
    background: var(--warn);
    color: var(--paper);
    border: 1.5px solid var(--warn);
    padding: 16px 32px;
    font-weight: 600;
    border-radius: var(--radius-pill);
    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.82rem;
    transition: background 0.25s, border-color 0.25s, color 0.25s;
    display: inline-block;
    font-family: inherit;
}
.btn-danger:hover:not(:disabled) { background: var(--warn-deep); border-color: var(--warn-deep); }

.btn-danger-outline {
    background: transparent;
    color: var(--warn);
    border: 1.5px solid var(--warn);
    padding: 16px 32px;
    font-weight: 600;
    border-radius: var(--radius-pill);
    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.82rem;
    transition: background 0.25s, color 0.25s;
    display: inline-block;
    font-family: inherit;
}
.btn-danger-outline:hover { background: var(--warn); color: var(--paper); }

.btn-tafel {
    margin-top: 16px;
    display: block;
    text-align: center;
    padding: 8px;
    border: 1.5px solid var(--dark);
    color: var(--dark);
    text-decoration: none;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    border-radius: var(--radius-sm);
    transition: background 0.25s, color 0.25s;
}
.btn-tafel:hover { background: var(--dark); color: var(--paper); }
.btn-tafel.disabled {
    opacity: 0.35;
    pointer-events: none;
    background: rgba(47, 79, 79, 0.04);
    color: var(--dark);
    border-color: rgba(47, 79, 79, 0.3);
}

.icon-btn {
    width: 38px;
    height: 38px;
    background: transparent;
    border: 1.5px solid rgba(47, 79, 79, 0.3);
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dark);
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
    padding: 0;
    font-family: inherit;
    flex-shrink: 0;
}
.icon-btn:hover {
    border-color: var(--dark);
    background: var(--dark);
    color: var(--paper);
}
.icon-btn--sm { width: 34px; height: 34px; }
.icon-btn--dim { opacity: 0.55; }
.icon-btn--danger:hover {
    border-color: var(--warn);
    background: var(--warn);
    color: var(--paper);
}

/* --- Compacte actie-knoppen (wijzigen / annuleren) op kaarten --- */
.ev-actie-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 9px;
    font-family: 'Clash Display', sans-serif;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: var(--radius-sm);
    border: 1px solid;
    line-height: 1;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.ev-actie-btn--edit {
    color: var(--dark);
    border-color: rgba(47, 79, 79, 0.28);
    background: rgba(47, 79, 79, 0.04);
}
.ev-actie-btn--edit:hover {
    background: var(--dark);
    color: var(--paper);
    border-color: var(--dark);
}
.ev-actie-btn--cancel {
    color: var(--warn);
    border-color: rgba(139, 58, 42, 0.25);
    background: rgba(139, 58, 42, 0.03);
}
.ev-actie-btn--cancel:hover {
    background: var(--warn);
    color: var(--paper);
    border-color: var(--warn);
}
