/* ============================================================
   SINTERKLAASDECORATIE.NL — Main layout & utilities
   ============================================================ */

/* --- Reset & base --- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-display);
  font-size: 15px;
  line-height: 1.65;
  color: var(--text);
  background: var(--paper);
  font-weight: 400;
}

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

a {
  color: var(--ink);
  text-decoration: none;
  transition: color var(--duration-fast);
}
a:hover { color: var(--gold); }


/* --- Skip link (a11y) --- */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  padding: var(--space-d05) var(--space-d1);
  background: var(--ink);
  color: var(--white);
  font-family: var(--font-display);
  z-index: 9999;
}
.skip-link:focus {
  left: var(--space-d1);
  top: var(--space-d1);
}


/* --- Container --- */
.px-container {
  max-width: var(--row-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.px-container--narrow {
  max-width: var(--row-width-narrow);
}


/* --- Section spacing --- */
.px-section {
  padding: var(--space-d3) 0;
}

.px-section--cream {
  background: var(--cream);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.px-section--white {
  background: var(--white);
  border-top: 1px solid var(--line);
}

.px-section--paper {
  background: var(--paper);
}

.px-section--dark {
  background: var(--ink);
  color: var(--cream);
}


/* --- Typography utilities --- */
.text-center { text-align: center; }
.text-muted  { color: var(--text-muted); }

.text-script {
  font-family: var(--font-script);
  font-weight: var(--weight-regular);
}

.text-display {
  font-family: var(--font-display);
}


/* --- Animations (scroll reveal) --- */
.px-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.px-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
