/* =========================
   BASE CSS
   ========================= */
:root {
  /* Colors */
  --color-primary: #f2994a;
  --color-accent: #6B7280;

  --color-button-black: #000000;
  --color-button-white: #fff;

  --color-bg: #fff;
  --color-bg-2: #f7f7f7;
  --color-bg-black: #000000;

  --color-text: #202223;
  --color-text-light: #F7FAF7;
  --color-text-muted: #4B5563;

  --color-border: #E8ECE8;
  --color-border-black: #202223;

  /* Fonts */
  --font-main: 'Inter', sans-serif;

    /* Layout */
  --header-height: 90px;
  --container: 1200px;

    /* Radius */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-header: 30px;

    /* Shadow */
  --shadow-sm: 0 2px 8px rgba(0,0,0,.06);
  --shadow-md: 0 8px 24px rgba(0,0,0,.08);

    /* Spacing */
  --space-sm: .5rem;
  --space-md: 1rem;
  --space-lg: 2rem;
}

/* general */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-main);
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-bg);
}

/* Typography */
h1 {
  font-size: 3.5rem;
  line-height: 1.1;
  font-weight: 700;
}

h2 {
  font-size: 2rem;
  line-height: 1.2;
}

p {
  font-size: 1rem;
  line-height: 1.6;
}

/* links */
a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

ul {
  list-style: none;
}

/* button styles */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0.9rem 1.2rem;
  border-radius: var(--radius-md);

  font: var(--font-main);
  cursor: pointer;

  transition: 0.2s ease;
}

.btn-black {
  background: var(--color-button-black);
  color: var(--color-text-light);
  border: none;

  transition: all 0.2s ease;
}

.btn-black:hover {
  background: #1a1a1a;
  transform: translateY(-2px);
}

.btn-white {
  background: var(--color-button-white);
  color: var(--color-text);
  border: none;

  transition: all 0.2s ease;
}

.btn-white:hover {
  background: #f4f1e3;
  transform: translateY(-2px);
}

.btn-secondary {
  background: transparent;
  color: var(--color-text-light);
  border: 1px solid var(--color-border);
  box-sizing: border-box;

  transition: all 0.2s ease;
}

.btn-secondary:hover {
  background: var(--color-button-white);
  color: var(--color-text);
  border: 1px solid var(--color-button-white);

  transform: translateY(-2px);
}

/* =========================
   Global container
========================= */

.container {
  width: min(1200px, calc(100% - 4rem));
  margin-inline: auto;
}

/* sektion spacing */
.section {
  padding: 6rem 0;
}

/* =========================
   Social icons
========================= */

.social-link:hover img {
  opacity: 1;
  transform: translateY(-1px);
}

/* =========================
   break
========================= */

.break {
  display: inline;
}

@media (max-width: 500px) {
  .break {
    display: block;
  }
}

/* =========================
   Cookies
   ========================= */
.cookie-banner {
  position: fixed;
  bottom: 20px;
  left: 20px;
  right: 20px;

  background: white;
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-md);

  padding: 1rem;
  border-radius: var(--radius-md);

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;

  z-index: 9999;
}

.cookie-actions {
  display: flex;
  gap: 0.5rem;
}

.cookie-banner button {
  padding: 0.5rem 1rem;
  border-radius: 999px;
  border: none;
  cursor: pointer;
}

#accept-cookies {
  background: var(--color-button-black);
  color: var(--color-text-light);
}

#decline-cookies {
  background: #eee;
  color: var(--color-text);
}

.cookie-link {
  display: inline-block;
  padding: 8px 12px;
  text-decoration: none;

  color: var(--color-text);
  border: 1px solid #ddd;
  border-radius: 6px;

  font-size: 14px;
}

.cookie-link:hover {
  background: var(--color-bg-header-secondary);
}


/* =========================
   Loading-screen
   ========================= */
.js-tilmeld.loading {
  opacity: 0.8;
  pointer-events: none;
}