/* Svorka nettside — enkel, lys og rask. Designet itereres når innholdet
   er på plass; dette er et rent utgangspunkt i Svorka-paletten. */
:root {
    --navy: #1b2a4a; --orange: #f59e0b; --green: #16a34a;
    --txt: #1e293b; --dim: #64748b; --bg: #ffffff; --soft: #f8fafc;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, 'Segoe UI', Roboto, sans-serif;
    color: var(--txt); background: var(--bg); line-height: 1.6; }

.drift { padding: 10px 20px; font-size: 14px; text-align: center; }
.drift-info { background: #dbeafe; color: #1e3a8a; }
.drift-warning { background: #fef3c7; color: #92400e; }
.drift-critical { background: #fee2e2; color: #991b1b; }

.hdr { display: flex; align-items: center; gap: 28px; padding: 18px 32px;
    max-width: 1100px; margin: 0 auto; }
.logo { font-size: 24px; font-weight: 800; color: var(--navy); text-decoration: none; }
.logo span { color: var(--orange); }
.hdr nav { display: flex; gap: 18px; flex-wrap: wrap; }
.hdr nav a { color: var(--txt); text-decoration: none; font-size: 15px; font-weight: 600; }
.hdr nav a:hover { color: var(--orange); }
.minside { margin-left: auto; border: 2px solid var(--orange); color: var(--navy);
    text-decoration: none; font-weight: 700; font-size: 14px; padding: 7px 16px; border-radius: 8px; }

main { max-width: 1100px; margin: 0 auto; padding: 0 32px 60px; }

.hero { padding: 56px 0 28px; }
.hero h1 { font-size: 38px; color: var(--navy); margin: 0 0 8px; line-height: 1.2; }
.hero p { font-size: 18px; color: var(--dim); margin: 0; }

.cms-body { font-size: 16px; }
.cms-body img { max-width: 100%; border-radius: 10px; }

.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px; margin-top: 32px; }
.card { background: var(--soft); border: 1px solid #e2e8f0; border-radius: 14px;
    padding: 22px; display: flex; flex-direction: column; }
.card-cat { font-size: 11px; font-weight: 800; letter-spacing: .08em;
    text-transform: uppercase; color: var(--orange); }
.card h3 { margin: 6px 0 8px; color: var(--navy); font-size: 19px; }
.card p { margin: 0 0 14px; font-size: 14px; color: var(--dim); flex: 1; }
.price { font-size: 26px; font-weight: 800; color: var(--navy); margin-bottom: 14px; }
.price span { font-size: 14px; color: var(--dim); font-weight: 600; }
.btn { display: inline-block; background: var(--orange); color: #fff; text-decoration: none;
    font-weight: 700; font-size: 14px; padding: 10px 18px; border-radius: 8px; text-align: center; }
.btn:hover { filter: brightness(1.06); }

.cards-empty { margin-top: 40px; padding: 30px; background: var(--soft);
    border: 1px dashed #cbd5e1; border-radius: 12px; text-align: center; color: var(--dim); }

.page { padding-top: 36px; }
.page h1 { color: var(--navy); font-size: 32px; }

.ftr { border-top: 1px solid #e2e8f0; margin-top: 40px; padding: 26px 32px;
    text-align: center; color: var(--dim); font-size: 13px; }

@media (max-width: 700px) {
    .hdr { flex-wrap: wrap; gap: 12px; padding: 14px 18px; }
    .hdr nav { gap: 12px; font-size: 14px; }
    main { padding: 0 18px 40px; }
    .hero h1 { font-size: 28px; }
}
