/* Masonry.no firmasider og murerkatalog (2026-09-24) */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #050508; color: #e8e6e3; font-family: 'Inter', sans-serif; min-height: 100vh; }
.site-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(5,5,8,0.95); border-bottom: 1px solid rgba(212,175,55,0.2); padding: 0.75rem 2rem; display: flex; align-items: center; justify-content: space-between; backdrop-filter: blur(8px); }
.site-nav .logo { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; color: #d4af37; text-decoration: none; letter-spacing: 0.25em; }
.nav-links { display: flex; gap: 1.5rem; list-style: none; }
.nav-links a { color: #a09b8c; text-decoration: none; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; }
.nav-links a:hover { color: #d4af37; }
.page-wrap { max-width: 940px; margin: 0 auto; padding: 6.5rem 2rem 4rem; }
.crumbs { font-size: .72rem; color: #4a4740; margin-bottom: 1.5rem; }
.crumbs a { color: #6b6760; text-decoration: none; }
.page-hero { text-align: center; margin-bottom: 2.5rem; }
.page-hero h1 { font-family: 'Cinzel', serif; font-size: clamp(1.4rem, 4vw, 2.1rem); font-weight: 700; color: #d4af37; letter-spacing: 0.04em; line-height: 1.3; margin-bottom: .6rem; }
.page-hero p { font-size: 0.95rem; color: #8a8578; line-height: 1.7; max-width: 660px; margin: 0 auto; }
.gold-line { width: 60px; height: 2px; background: linear-gradient(90deg, transparent, #d4af37, transparent); margin: 1.2rem auto; }
.badge-row { display: flex; gap: 0.6rem; justify-content: center; flex-wrap: wrap; margin-top: 1rem; }
.badge { background: rgba(212,175,55,0.08); border: 1px solid rgba(212,175,55,0.25); border-radius: 999px; padding: 0.3rem 0.9rem; font-size: 0.75rem; color: #c9a035; font-weight: 600; }
.badge.rod { background: rgba(220,38,38,.1); border-color: rgba(220,38,38,.35); color: #fca5a5; }
.grid2 { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
.kort { background: rgba(255,255,255,0.03); border: 1px solid rgba(212,175,55,0.15); border-radius: 14px; padding: 1.4rem 1.5rem; }
.kort h2 { font-family: 'Cinzel', serif; font-size: .95rem; color: #d4af37; letter-spacing: .08em; margin-bottom: 1rem; }
.fakta { width: 100%; border-collapse: collapse; font-size: .84rem; }
.fakta th { text-align: left; color: #6b6760; font-weight: 600; padding: .45rem .6rem .45rem 0; width: 42%; vertical-align: top; }
.fakta td { color: #d6d3cc; padding: .45rem 0; }
.fakta tr + tr th, .fakta tr + tr td { border-top: 1px solid rgba(212,175,55,.08); }
.fakta a, .kort a { color: #d4af37; }
.kort p { font-size: .84rem; color: #8a8578; line-height: 1.7; margin-bottom: .7rem; }
.kort ul { margin-left: 1.1rem; } .kort li { font-size: .82rem; color: #8a8578; line-height: 1.7; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.form-group { display: flex; flex-direction: column; gap: 0.35rem; }
.form-group.full { grid-column: 1 / -1; }
.form-group label { font-size: 0.72rem; color: #a09b8c; letter-spacing: 0.07em; font-weight: 600; text-transform: uppercase; }
.form-group input, .form-group select, .form-group textarea { background: rgba(255,255,255,0.05); border: 1px solid rgba(212,175,55,0.2); border-radius: 6px; padding: 0.6rem 0.85rem; color: #e8e6e3; font-family: 'Inter', sans-serif; font-size: 0.85rem; width: 100%; }
.form-group textarea { resize: vertical; min-height: 90px; }
.valg { display: flex; gap: .5rem; margin-bottom: 1rem; }
.valg label { flex: 1; text-align: center; border: 1px solid rgba(212,175,55,.25); border-radius: 8px; padding: .55rem; font-size: .8rem; color: #a09b8c; cursor: pointer; }
.valg input { display: none; }
.valg input:checked + span { color: #0a0a0c; }
.valg label:has(input:checked) { background: linear-gradient(135deg, #d4af37, #b8962e); color: #0a0a0c; font-weight: 700; }
.btn-gold { background: linear-gradient(135deg, #d4af37, #b8962e); border: none; padding: 0.85rem 2.2rem; color: #0a0a0c; font-weight: 700; font-size: 0.95rem; border-radius: 6px; cursor: pointer; }
.form-msg { display: none; margin-top: 1rem; padding: 0.85rem 1rem; border-radius: 8px; font-size: 0.85rem; }
.form-msg.ok { background: rgba(22,163,74,0.1); border: 1px solid rgba(22,163,74,0.3); color: #86efac; }
.form-msg.err { background: rgba(220,38,38,0.1); border: 1px solid rgba(220,38,38,0.3); color: #fca5a5; }
.liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .7rem; margin-bottom: 2.5rem; }
.liste a { display: block; text-decoration: none; background: rgba(255,255,255,.03); border: 1px solid rgba(212,175,55,.13); border-radius: 10px; padding: .75rem .9rem; }
.liste a:hover { border-color: rgba(212,175,55,.45); }
.liste strong { display: block; color: #d6d3cc; font-size: .85rem; margin-bottom: .15rem; }
.liste span { color: #6b6760; font-size: .74rem; }
.section-title { font-family: 'Cinzel', serif; font-size: 1rem; color: #a09b8c; letter-spacing: 0.15em; text-transform: uppercase; text-align: center; margin-bottom: 1.3rem; }
.kilde { font-size: .72rem; color: #4a4740; text-align: center; margin-bottom: 2rem; }
.kilde a { color: #6b6760; }
footer { padding: 1.5rem; text-align: center; font-size: 0.75rem; color: #3a3833; letter-spacing: 0.1em; border-top: 1px solid rgba(212,175,55,0.08); }
footer a { color: #5a5548; text-decoration: none; }
@media (max-width: 760px) { .grid2 { grid-template-columns: 1fr; } .form-grid { grid-template-columns: 1fr; } .site-nav { padding: .75rem 1rem; } .page-wrap { padding: 5.5rem 1rem 3rem; } }
@media (max-width: 420px) { .nav-links { display: none; } }

/* Katalogsider /murere og /murere/{kommune} */
.kommuner { columns: 4 190px; column-gap: 1.5rem; margin-bottom: 2rem; }
.kommuner a { display: block; break-inside: avoid; color: #a09b8c; text-decoration: none; font-size: .84rem; padding: .22rem 0; }
.kommuner a:hover { color: #d4af37; }
.kommuner small { color: #4a4740; }
.fylke { font-family: 'Cinzel', serif; color: #d4af37; font-size: .9rem; letter-spacing: .08em; margin: 1.6rem 0 .6rem; break-after: avoid; }
.tall { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin: 1rem 0 2rem; }
.tall div { text-align: center; background: rgba(255,255,255,.03); border: 1px solid rgba(212,175,55,.15); border-radius: 12px; padding: .9rem 1.4rem; min-width: 140px; }
.tall b { display: block; font-family: 'Cinzel', serif; color: #d4af37; font-size: 1.6rem; }
.tall span { color: #6b6760; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.badge.partner { background: rgba(22,163,74,.12); border-color: rgba(22,163,74,.4); color: #86efac; }
