body {
  margin: 0;
  font-family: system-ui, sans-serif;
  background-color: #fff8ea;
  color: #333;
}
main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* ===== CARD ===== (samlet til én definisjon) */
.card {
  background: #fff;
  border-radius: 15px;
  padding: 2rem;
  margin: 2rem auto;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  max-width: 1200px;
  font-size: 22px;
}
.card .email-link{
  text-decoration: none;
  color: #a83f58;
  font-weight: 600;
}
.card .email-link:hover,
.card .email-link:focus-visible{
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}

/* ===== HEADINGS ===== */
h1 {
  margin: 0;
  font-family:'Gill Sans','Gill Sans MT',Calibri,'Trebuchet MS',sans-serif;
  font-weight: 600;
  font-size: 32px;
  text-align: center;
  color: #a83f58;
}
h2, h3, h4 {
  color: #a83f58;
  margin-top: 0.5rem;
  font-family:'Gill Sans','Gill Sans MT',Calibri,'Trebuchet MS',sans-serif;
}
h2 { text-align: center; font-weight: 500; }
h3 { text-align: left;  font-weight: 400; }
h4 { font-weight: 400; }

/* ===== HEADER + NAV ===== */
header {
  background-color: #fff8ea;
  padding: 1.5rem;
  border-radius: 15px;
  margin-top: 20px;
}
.containernav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.logo button {
  background: transparent; /* var 'none' (ugyldig) */
  border: none;
  padding: 0;
  cursor: pointer;
}
.logo img { height: 40px; padding: 0 20px 0 5px; }

.list{
  padding-top: 15px;
  padding-left: 2px;
  margin-left: 2px;
  margin-bottom: 15px;
  line-height: 39px;
}

nav.topnav {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  background: #d7edff;
  border-radius: 15px;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #ccc;
  margin: 0 auto;
}
nav.topnav a {
  color: #000;
  text-decoration: none;
  padding: 0.5rem 1rem;
  border-radius: 10px;
  font-size: 22px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
nav.topnav a:hover {
  background-color: rgb(209, 219, 255);
  border-radius: 15px;
  transform: scale(1.05);
}

/* Burger-toggle */
.nav-toggle { display: none; }
.nav-toggle-label {
  display: none;
  cursor: pointer;
  padding: 0.5rem;
  position: absolute;
  right: 1rem;
}
.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
  display: block;
  background: #333;
  height: 3px;
  width: 25px;
  border-radius: 2px;
  position: relative;
}
.nav-toggle-label span::before,
.nav-toggle-label span::after { content:''; position: absolute; }
.nav-toggle-label span::before { top: -8px; }
.nav-toggle-label span::after  { top:  8px; }

@media (max-width: 700px) {
  .nav-toggle-label { display: block; }
  nav.topnav {
    display: none;
    flex-direction: column;
    width: 100%;
    background: #fff;
    margin-top: 1rem;
    border-radius: 10px;
    padding: 1rem;
  }
  .nav-toggle:checked + header .topnav { display: flex; }
  .containernav { flex-direction: column; align-items: flex-start; }
}

/* ===== FOOTER (én versjon) ===== */
footer {
  background-color: #a83f58;
  color: white;
  text-align: center;
  padding: 1rem;
  border-radius: 0 0 10px 10px;
  margin-top: 2rem;
  font-size: 22px;
}
.sosial-ikon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  background-color: #d7edff;
  border-radius: 50%;
  color: #a83f58;
  font-size: 1.5rem;
  text-decoration: none;
  margin-top: 1rem;
  margin-right: 10px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.sosial-ikon:hover { background-color: rgb(190, 210, 255); transform: scale(1.1); }

/* ===== BILDEKARUSELL (ingen JS) ===== */
.snap-carousel{
  position: relative;
  max-width: 520px;
  height: auto;
  margin: 1rem auto;
}
.snap-carousel .sc-slides{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
.snap-carousel .sc-slides::-webkit-scrollbar{ height: 0; }
.snap-carousel .sc-slides{ scrollbar-width: none; }

.snap-carousel .sc-slide{
  position: relative;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  /* Har du sticky header? Fjern kommentaren under og sett høyden:
     scroll-margin-top: 80px; */
}
.snap-carousel .sc-slide > img{
  width: 100%;
  height: 800px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

/* Piler */
.snap-carousel .sc-arrow{
  position: absolute; top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px; line-height: 44px; text-align: center;
  border-radius: 999px;
  background: rgba(0,0,0,.4); color: #fff; text-decoration: none;
  font-size: 24px; font-weight: 700; user-select: none;
}
.snap-carousel .sc-arrow:hover,
.snap-carousel .sc-arrow:focus-visible{
  background: rgba(0,0,0,.55);
  outline: none;
}
.snap-carousel .sc-arrow.prev{ left: 10px; }
.snap-carousel .sc-arrow.next{ right: 10px; }

/* Prikker */
.snap-carousel .sc-dots{
  display: flex; justify-content: center; gap: .5rem;
  margin-top: .75rem;
}
.snap-carousel .sc-dots a{
  width: 10px; height: 10px; border-radius: 50%;
  background: #ddd; display: inline-block; text-decoration: none;
  outline-offset: 4px;
}
.snap-carousel .sc-dots a:hover,
.snap-carousel .sc-dots a:focus-visible{ background:#bbb; }

.snap-carousel{
  position: relative;
  max-width: 520px;
  height: auto;
  margin: 1rem auto;
}
.snap-carousel .sc-slide > img{
  width: 100%;
  height: 800px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

/* Til dette (fluid): */
.snap-carousel{
  position: relative;
  max-width: 70%;
  margin: 1rem auto;
}
.snap-carousel .sc-slide > img{
  width: 100%;
  height: auto;        /* ← viktig for mobil */
  display: block;
  object-fit: cover;   /* kan stå, skader ikke */
}

@media (max-width: 600px){
  main { padding: 0 1rem; }

  .card {
    padding: 1.25rem;
    font-size: 18px;
    margin: 1rem auto;
  }

  h1 { font-size: 26px; }
  nav.topnav a { font-size: 18px; padding: 0.5rem 0.75rem; }

  .snap-carousel .sc-arrow{
    width: 36px; height: 36px; line-height: 36px; font-size: 20px;
  }
}

* { box-sizing: border-box; }


.plakater img {
  width: 100%;
  max-width: 1200px;
  border-radius: 15px;
  margin-bottom: 1rem;
}