/* Mechanical Key Gen — layout: container, topbar, main, footer + responsive */

/* ─── Layout ──────────────────────────────────────────────── */

.container {
    width: 100%;
    max-width: var(--max-container);
    margin: 0 auto;
    padding: 0 var(--space-lg);
}

.topbar {
    border-bottom: 2px solid var(--color-outline);
    background: var(--color-bg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-md) var(--space-lg);
}

.topbar__title {
    font-family: var(--font-sans);
    font-weight: 900;
    font-size: 22px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    padding: var(--space-xl) var(--space-lg);
}

.footer {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding: var(--space-lg);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-md);
    font-family: var(--font-sans);
    font-size: 10px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #6b6b6b;
}

.footer a {
    color: inherit;
    text-decoration: none;
}

.footer a:hover {
    color: var(--color-primary);
}

/* ─── Responsive layout ───────────────────────────────────── */

@media (min-width: 768px) {
    .container { max-width: 720px; padding: 0 var(--space-xl); }
}

@media (min-width: 1024px) {
    .container { max-width: 800px; }
}

/* sticky topbar for mobile */
.topbar { position: sticky; top: 0; z-index: 10; }
