/* L3DN shell – minimal base styles on top of tokens.css */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--l3dn-font-sans); color: var(--l3dn-ink); background: var(--l3dn-bg); line-height: 1.5; }
img { max-width: 100%; height: auto; }
a { color: var(--l3dn-ink); }
.container { max-width: var(--l3dn-container); margin: 0 auto; padding: 0 var(--l3dn-gutter); }

.site-header { border-bottom: 1px solid var(--l3dn-line); background: var(--l3dn-bg); }
.site-header .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; flex-wrap: wrap; }
.site-logo { font-weight: 800; font-size: 22px; letter-spacing: -.02em; text-decoration: none; }
.site-logo span { background: var(--l3dn-accent); padding: 0 4px; }
.site-nav ul { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; flex-wrap: wrap; }
.site-nav a { text-decoration: none; font-weight: 600; }
.header-cart { font-family: var(--l3dn-font-mono); font-size: 13px; text-decoration: none; }

.site-main { padding: 32px 0 64px; }
.site-footer { background: var(--l3dn-ink); color: #fff; padding: 32px 0; font-size: 14px; }
.site-footer a { color: #fff; }

.button, button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit {
	background: var(--l3dn-ink); color: #fff; border: 0; border-radius: var(--l3dn-radius); padding: 12px 20px; font-weight: 700; cursor: pointer;
}
.woocommerce button.button.alt, .woocommerce a.button.alt { background: var(--l3dn-accent); color: var(--l3dn-accent-ink); }
.woocommerce span.onsale { background: var(--l3dn-error); }

/* Projekter */
.l3dn-projects { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.l3dn-project-card { border: 1px solid var(--l3dn-line); border-radius: var(--l3dn-radius-lg); overflow: hidden; background: var(--l3dn-bg); }
.l3dn-project-card a { text-decoration: none; }
.l3dn-project-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.l3dn-project-card__body { padding: 16px; }
.l3dn-meta { font-family: var(--l3dn-font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--l3dn-muted); }
.l3dn-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin: 24px 0; }
.l3dn-badge { display: inline-block; background: var(--l3dn-accent); color: var(--l3dn-accent-ink); font-weight: 700; padding: 2px 8px; border-radius: var(--l3dn-radius-sm); }
