/* ──────────────────────────────────────────────────────────────
   Dine Local — Buttons
   Primary, secondary (ghost), text link styles.
   ────────────────────────────────────────────────────────────── */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1);
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    line-height: 1;
    text-decoration: none;
    text-align: center;
    padding: 16px 32px;
    min-height: 48px;
    border: 2px solid transparent;
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: background-color var(--transition-base),
                border-color var(--transition-base),
                color var(--transition-base);
    white-space: nowrap;
}

.btn:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}

/* ── Primary button ────────────────────────────────────────── */
/* Uses primary-dark background for WCAG AA white-text contrast */
.btn--primary {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

.btn--primary:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    text-decoration: none;
}

/* ── Secondary button (ghost/outline) ─────────────────────── */
.btn--secondary {
    background-color: transparent;
    color: var(--color-primary-dark);
    border-color: var(--color-primary);
}

.btn--secondary:hover {
    background-color: var(--color-primary-tint);
    text-decoration: none;
}

/* ── Button sizes ──────────────────────────────────────────── */
.btn--lg {
    font-size: var(--text-lg);
    padding: 20px 40px;
    min-height: 56px;
}

.btn--sm {
    font-size: var(--text-sm);
    padding: 10px 20px;
    min-height: 40px;
}

/* ── Full-width button ─────────────────────────────────────── */
.btn--block {
    display: flex;
    width: 100%;
}

/* ── Text link (inline) ────────────────────────────────────── */
.text-link {
    color: var(--color-primary-dark);
    font-weight: var(--weight-semibold);
    text-decoration: none;
}

.text-link:hover {
    text-decoration: underline;
}

.text-link:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
    border-radius: 2px;
}
