@import "header.css";
@import "footer.css";
@import "hero.css";
@import "overmij.css";
@import "praktisch.css";
@import "contact.css";
@import "aanbod-desktop.css";
@import "overmij-desktop.css";
@import "faq-desktop.css";
@import "praktisch-desktop.css";

:root {
  /* Fonts */
  --font-heading: "Fraunces", "Times New Roman", serif;
  --font-body: "Karla", -apple-system, sans-serif;

  /* Font sizes */
  --text-h1: 2.5rem;
  --text-h2: 1.75rem;
  --text-h3: 1.3125rem;
  --text-lede: 1.125rem;
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-nav: 0.9375rem;

  /* Font weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-heavy: 600;

  /* Line heights */
  --leading-heading: 1.3;
  --leading-body: 1.6;
  --leading-small: 1.6;

  /* Colors — swap in your actual palette */
  --color-ink: #434c6b;
  --color-blue: #557cb8;
  --color-lightblue: #8999cc;
  --color-white: #f2f3ec;
  --color-yellow: #f5fcca;
  --color-green: #697e63;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--color-text);
  background: var(--color-white);
}

h1,
h2,
h3 {
  font-family: var(--font-heading);
  font-weight: var(--weight-medium);
  line-height: var(--leading-heading);
}

h1 {
  font-size: var(--text-h1);
}
h2 {
  font-size: var(--text-h2);
}
h3 {
  font-size: var(--text-h3);
}

/* header */
.header-name {
  font-family: var(--font-heading);
  font-weight: var(--weight-regular);
  font-size: 1.35rem; /* matches --text-h2 */
  color: white;
}

.header-tagline {
  font-family: var(--font-body);
  font-weight: var(--weight-medium);
  font-size: var(--text-nav);
  color: white;
  line-height: 1.2;
  opacity: 0.8;
}

@media (min-width: 60rem) {
  .header-name {
    margin-bottom: 0.25rem;
    font-size: 2rem;
  }

  .header-tagline {
    display: none;
    font-size: 1.125rem;
  }
}

/* Language Swapper */
.language-swapper {
  position: sticky;
  top: 6rem;
  background-color: var(--color-white);
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-left: 16px;
  font-size: var(text--nav);

  & a {
    text-decoration: none;
    color: var(--color-lightblue);
    font-weight: var(--weight-medium);
    border: solid 1px var(--color-lightblue);
    border-radius: 1rem;
    padding-left: 24px;
    padding-right: 24px;

    &.active {
      background-color: hsla(216, 41%, 53%, 0.15);
    }
  }

  & .language-selector {
    display: flex;
    gap: 0.75rem;
  }
}

@media (min-width: 60rem) {
  .language-swapper {
    display: none;
  }
}

.portret {
  margin-bottom: 1rem;
  border-radius: 0.5rem;
}

/* Accordions */
.accordion {
  overflow: hidden;
  background-color: var(--color-white);
  & h2 {
    color: var(--color-blue);
  }
  border-radius: 0;
}

.summary-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
}

.accordion summary {
  list-style: none;
  font-weight: var(--weight-heavy);
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-blue);
  margin: 16px 16px 16px 16px;
}

.accordion .panel {
  padding: 8px 16px 16px;
  background-color: var(--color-white);
  font-size: 1rem;
  color: var(--color-ink);
}

.accordion p {
  color: var(--color-ink);
}

.accordion h4 {
  color: var(--color-blue);
  font-size: var(--text-lede);
  font-weight: var(--weight-medium);
}

.accordion h3 {
  color: var(--color-blue);
  margin-bottom: 8px;
}

.accordion > summary::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-blue);
  opacity: 75%;
}
.accordion[open] > summary::after {
  content: "\2013";
}

.small-accordion > summary::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--color-blue);
  opacity: 75%;
}

.small-accordion[open] > summary::after {
  content: "\2013";
}

.small-panel {
  padding: 8px 8px 8px;
  color: var(--color-ink);
}

@media (min-width: 40rem) {
  .accordion summary {
    margin-left: 24px;
    margin-right: 40px;
  }

  .accordion .panel {
    margin-left: 24px;
    margin-right: 40px;
  }
}

@media (min-width: 60rem) {
  .accordion {
    display: none;
  }
}

/* Desktop */

.desktop {
  display: none;
}

@media (min-width: 60rem) {
  .desktop {
    display: block;
  }
}

/* Desktop language swapper */

.header-language-swapper {
  position: absolute;
  right: 3rem;
  top: 16px;
  display: none;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-left: 16px;
  font-size: 1.125rem;

  & a {
    text-decoration: none;
    color: var(--color-white);
    font-weight: var(--weight-medium);
    border: solid 1px var(--color-white);
    border-radius: 1rem;
    padding-left: 24px;
    padding-right: 24px;
    transition: ease 0.3s;

    &.active {
      background-color: hsla(218, 46%, 88%, 0.15);
    }
  }

  & a:hover {
    background-color: hsla(218, 46%, 88%, 0.25);
  }

  & .language-selector {
    display: flex;
    gap: 0.75rem;
  }
}

@media (min-width: 60rem) {
  .header-language-swapper {
    display: flex;
  }
}
