/* Swedehorse – mobil först, systemtypsnitt, lätt och snabbt */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji','Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; line-height:1.6; color:#0f172a; background:#ffffff; }
img { max-width:100%; height:auto; display:block; }

/* Layout helpers */
.container { width: min(1100px, 92vw); margin: 0 auto; }
.prose p, .prose li { max-width: 65ch; }
.skip { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip:focus { position:static; width:auto; height:auto; padding:.5rem; background:#fffa; }

/* Header */
.site-header { position:sticky; top:0; background:#0f172a; color:#fff; z-index:50; border-bottom:1px solid #0b1325; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:.75rem 0; gap:1rem; }
.logo img { display:block; }

.menu-toggle, .sub-toggle { background:#111827; color:#fff; border:1px solid #1f2937; padding:.5rem .75rem; border-radius:.5rem; cursor:pointer; }
.nav ul { list-style:none; margin:0; padding:0; display:none; }
.nav ul li { position:relative; }
.nav a { color:#fff; text-decoration:none; padding:.65rem 1rem; display:block; border-radius:.5rem; }
.nav a:hover, .nav .active > a { background:#1f2937; }
.has-sub .sub { display:none; position:static; padding-left:1rem; }
@media (min-width: 900px) {
  .menu-toggle { display:none; }
  .nav ul { display:flex; align-items:center; gap:.25rem; }
  .has-sub:hover .sub { display:block; position:absolute; background:#0f172a; top:100%; left:0; min-width:220px; border:1px solid #1f2937; padding:.25rem; border-radius:.5rem; }
  .has-sub .sub li a { white-space:nowrap; }
}

/* Hero */
.hero { background: radial-gradient(1200px 600px at 10% -20%, #e2e8f0, transparent 60%), linear-gradient(180deg, #f8fafc, #ffffff); padding: 3.5rem 0 2.25rem; border-bottom:1px solid #e5e7eb; }
.hero h1 { font-size: clamp(2rem, 5vw, 3rem); margin:0 0 .5rem; }
.lead { font-size: clamp(1rem, 2.4vw, 1.25rem); color:#334155; max-width: 60ch; }

.search { margin-top:1rem; display:flex; gap:.5rem; }
.search input[type=search] { flex:1; padding:.7rem .9rem; border:1px solid #cbd5e1; border-radius:.6rem; }
.search button { padding:.7rem 1rem; border:1px solid #1f2937; background:#111827; color:#fff; border-radius:.6rem; cursor:pointer; }
.search button:hover{ background:#0b1325; }

/* Cards */
.grid { display:grid; gap:1rem; margin:2rem 0; }
.grid-3 { grid-template-columns: 1fr; }
@media (min-width: 800px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } }
.card { border:1px solid #e5e7eb; border-radius:1rem; padding:1rem; background:#fff; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.card h2 { margin-top:0; }

.link-list, .posts-compact { margin:.5rem 0; padding-left:1.25rem; }
.more a { text-decoration:none; }

/* CTA */
.cta { border:1px dashed #94a3b8; border-radius:1rem; padding:1.25rem; background:#f8fafc; margin: 2rem 0; }
.button { display:inline-block; background:#0f172a; color:#fff; padding:.7rem 1rem; border-radius:.6rem; text-decoration:none; }
.button:hover{ background:#111827; }

/* Post list */
.post-list { list-style:none; padding:0; }
.post-list li { border-bottom:1px solid #e5e7eb; padding:1rem 0; }
.post-list h2 { margin:.2rem 0 .5rem; }
.meta { color:#64748b; font-size:.95rem; }

/* Breadcrumbs */
.breadcrumbs { font-size:.95rem; color:#475569; margin-bottom:1rem; }
.breadcrumbs a { color:inherit; text-decoration:underline; }

/* Forms */
.contact-form { display:grid; gap:.75rem; max-width: 520px; }
.contact-form label { display:grid; gap:.35rem; }
.contact-form input, .contact-form textarea { border:1px solid #cbd5e1; border-radius:.6rem; padding:.6rem .8rem; font:inherit; }
.contact-form button { background:#0f172a; color:#fff; border:1px solid #0b1325; border-radius:.6rem; padding:.6rem 1rem; cursor:pointer; }
.contact-form button:hover { background:#111827; }

/* Footer */
.site-footer { border-top:1px solid #e5e7eb; background:#f8fafc; margin-top:3rem; }
.site-footer .container { display:flex; flex-direction:column; gap:.5rem; padding:1rem 0; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
.site-footer a { color:#0f172a; text-decoration:none; }
.site-footer a:hover { text-decoration:underline; }

/* Cookie banner */
.cookie[hidden] { display:none; }
.cookie { position: fixed; inset:auto 1rem 1rem 1rem; background:#0f172a; color:#fff; padding:1rem; border-radius:.8rem; display:flex; gap:.75rem; align-items:center; justify-content:space-between; box-shadow:0 10px 30px rgba(0,0,0,.15); }
.cookie a { color:#fff; text-decoration:underline; }
.cookie button { background:#22c55e; border:none; color:#052e16; font-weight:600; padding:.5rem .8rem; border-radius:.5rem; cursor:pointer; }

/* Typography */
h1,h2,h3 { line-height:1.25; }
code { background:#f1f5f9; padding:.1rem .3rem; border-radius:.35rem; }
