/* =============================================================
   AASEN BIL 2.0 — kontakt.css
   Ansatte/team-kort + kontaktinfo + kart.
   Lastes av kontakt.html.
   ============================================================= */

/* ---------- Ansatte / team ---------- */
.team-group { margin-bottom: 46px; }
.team-group__title { font-family: var(--font-head); font-weight: 800; font-size: 1.3rem; display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.team-group__title::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.person { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; transition: transform .2s var(--ease), box-shadow .2s var(--ease); }
.person:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
.person__photo { aspect-ratio: 1/1; background: var(--surface); }
.person__photo img { width: 100%; height: 100%; object-fit: cover; }
.person__avatar { width: 100%; aspect-ratio: 1/1; display: grid; place-items: center; background: linear-gradient(135deg, var(--ink-700), var(--ink-900)); color: #fff; font-family: var(--font-head); font-weight: 800; font-size: 2.6rem; letter-spacing: .04em; }
.person__body { padding: 18px 18px 20px; }
.person__name { font-family: var(--font-head); font-weight: 700; font-size: 1.08rem; }
.person__role { color: var(--ink-500); font-size: .9rem; margin-top: 2px; }
.person__contact { margin-top: 14px; display: flex; flex-direction: column; gap: 7px; }
.person__contact a { display: inline-flex; align-items: center; gap: 9px; font-size: .9rem; font-weight: 500; color: var(--ink-700); min-height: 30px; word-break: break-word; }
.person__contact a:hover { color: var(--red-700); }
.person__contact svg { width: 16px; height: 16px; color: var(--red-600); flex: none; }
@media (max-width: 1000px) { .team-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .team-grid { grid-template-columns: 1fr; } }

/* ---------- Kontaktinfo + kart ---------- */
.contact-split { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: stretch; }
.contact-info { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px; box-shadow: var(--sh-1); }
.contact-info h2 { font-size: 1.3rem; margin-bottom: 18px; }
.contact-info ul { display: flex; flex-direction: column; gap: 15px; }
.contact-info li { display: flex; gap: 13px; }
.contact-info li svg { width: 19px; height: 19px; color: var(--red-600); flex: none; margin-top: 2px; }
.contact-info b { display: block; font-family: var(--font-head); font-size: .82rem; letter-spacing: .03em; text-transform: uppercase; color: var(--ink-500); margin-bottom: 2px; }
/* Kart — samkjørt med .map-wrap/.map-embed i veibeskrivelse.css (identiske verdier) */
.map-wrap { border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line); box-shadow: var(--sh-1); min-height: 360px; }
.map-embed { border: 0; width: 100%; height: 100%; min-height: 360px; display: block; }
@media (max-width: 820px) { .contact-split { grid-template-columns: 1fr; } }
