.btn {
    padding: 0.8rem 1.4rem;
    border-radius: 999px;
    font-weight: 600;
    text-transform: none;
    transition: var(--transition);
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    border: none;
    text-align: center;
}

/* Back button (small circular visible control) */
.btn-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 10px;
    background: var(--primary-color);
    color: var(--white);
    font-size: 1.05rem;
    box-shadow: 0 6px 14px rgba(0,0,0,0.12);
    border: 1px solid rgba(0,0,0,0.06);
}
.btn-back:hover { transform: translateY(-2px); opacity: 0.98; }

.btn-primary {
    background-color: var(--primary-color);
    color: var(--white);
    box-shadow: 0 6px 18px rgba(46,204,113,0.12);
    border-radius: 50px;
    padding: 12px 24px;
    font-weight: 600;
}
.btn-primary:hover { transform: translateY(-3px); opacity: 0.98; }

.btn-outline {
    background-color: transparent;
    color: var(--secondary-color);
    border: 1px solid var(--border-color);
    border-radius: 50px;
}

.btn-add-to-cart {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--primary-color);
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Small square buttons used in cart quantity controls */
.btn-small {
    min-width: 34px;
    height: 34px;
    padding: 0 8px;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: #fff;
    color: var(--text-main);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
}
.btn-small:hover { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.06); }

/* Link-style button used for secondary actions inside tables */
.btn-link {
    background: transparent;
    border: none;
    color: var(--primary-color);
    cursor: pointer;
    padding: 6px;
    font-weight: 600;
}
.btn-link:hover { text-decoration: underline; opacity: 0.9; }

/* Remove button (trash) styling */
.btn-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: transparent;
    color: #c0392b;
    border: 1px solid transparent;
    transition: var(--transition);
}
.btn-remove:hover {
    background: rgba(192,57,43,0.08);
    border-color: rgba(192,57,43,0.12);
}

/* Quantity display inside controls */
.qty-controls .qty-value {
    font-weight: 700;
    padding: 0 6px;
}

/* Make table buttons visually consistent */
.table .btn-small, .table .btn-remove, .table .btn-link { vertical-align: middle; }