/* B"H */
/* /style/heichelos/revamped-partials/base.css */
/* Foundational laws and reusable components. */

.heichel-page-container *,
.heichel-page-container *::before,
.heichel-page-container *::after {
    box-sizing: border-box;
}

/* --- REUSABLE COMPONENTS --- */
button, .btn {
    all: unset;
    display: inline-flex;
    align-items: center; justify-content: center;
    cursor: pointer;
    background: var(--bg-surface);
    border: var(--border-ui);
    color: var(--color-ink);
    padding: 10px 20px;
    font-family: var(--font-ui);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    box-shadow: var(--shadow-ui);
    transition: all 0.1s;
}
button:hover, .btn:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--shadow-hover);
    background: var(--color-accent);
}
button:active, .btn:active {
    transform: translate(2px, 2px);
    box-shadow: none;
}
button.danger, .btn.danger { background: var(--color-danger); color: white; }
button.danger:hover, .btn.danger:hover { background: #c9302c; }

input[type="text"], textarea {
    width: 100%;
    padding: 1rem;
    font-size: 1rem;
    border: var(--border-ui);
    background: var(--bg-surface);
    color: var(--color-ink);
    outline: none;
    transition: all 0.2s;
    font-family: var(--font-ui);
}
input[type="text"]:focus, textarea:focus {
    border-color: var(--color-primary);
    box-shadow: var(--shadow-ui);
}