:root {
  --font-sans: 'Inter', sans-serif;
  --font-serif: 'Merriweather', serif;
  --color-pi-tema:       #fce7f3;
  --color-pi-aktivitet:  #dcfce7;
  --color-pi-laerer:     #ffedd5;
  --color-pi-ressurs:    #dbeafe;
  --color-pi-vurdering:  #fef9c3;
  --color-pi-samling:    #f3e8ff;
}

/* ── Base ──────────────────────────────── */
body {
  font-family: var(--font-sans);
  scroll-behavior: smooth;
}

h1, h2, h3, h4 {
  font-family: var(--font-serif);
}

/* ── Animations ─────────────────────────── */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}

@keyframes wave {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

/* ── Scroll fade-in ─────────────────────── */
.fade-in-section {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

.fade-in-section.is-visible {
  opacity: 1;
  transform: none;
}

/* ── Post-it cards ──────────────────────── */
.post-it {
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
              box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 2px 4px 8px rgb(0 0 0 / 0.10);
}

.post-it:hover {
  transform: scale(1.05) rotate(-2deg);
  box-shadow: 4px 8px 16px rgb(0 0 0 / 0.15);
  z-index: 10;
}

.pi-tema      { background-color: var(--color-pi-tema);      color: #831843; border-left: 4px solid #db2777; }
.pi-aktivitet { background-color: var(--color-pi-aktivitet); color: #14532d; border-left: 4px solid #16a34a; }
.pi-laerer    { background-color: var(--color-pi-laerer);    color: #7c2d12; border-left: 4px solid #ea580c; }
.pi-ressurs   { background-color: var(--color-pi-ressurs);   color: #1e3a8a; border-left: 4px solid #2563eb; }
.pi-vurdering { background-color: var(--color-pi-vurdering); color: #713f12; border-left: 4px solid #ca8a04; }
.pi-samling   { background-color: var(--color-pi-samling);   color: #581c87; border-left: 4px solid #9333ea; }

/* ── Wave header ────────────────────────── */
.ocean {
  height: 80px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: 20;
  pointer-events: none;
}

.wave {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 88.7'%3E%3Cpath d='M800 56.9c-155.5 0-204.9-50-405.5-49.9-200 0-250 49.9-394.5 49.9v31.8h800v-.2-31.6z' fill='%23f8fafc'/%3E%3C/svg%3E");
  position: absolute;
  width: 200%;
  height: 100%;
  transform: translate3d(0, 0, 0);
  animation: wave 25s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
}

.wave:nth-of-type(2) {
  top: 10px;
  opacity: 0.3;
  animation-duration: 35s;
  animation-delay: -0.125s;
}

/* ── Quote transition ────────────────────── */
#quote-text-container {
  transition: opacity 0.5s ease, transform 0.5s ease;
}
