/* --------------------- Kleuren --------------------- */
:root {
    --satin: #FFFDF8;
    --Light: #FFFCF1;
    --halo: #FDF9E5;
    --dune: #DFD3C4;
    --stone: #BCB3AA;
    --accent: #733117;
    --zwart: #393838;
    --bg: #FFFDF8;
    --bg2: #EFE9E2;
    --bg3: #592C20;

    --margin-sections: 0px auto;
    --padding-sections: 80px 0px 80px 0px;
}

/* --------------------- Fonts --------------------- */



body {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;

    background-color: var(--bg);
    color: var(--zwart);

  /* gradient van --satin naar --halo */
  background-image: linear-gradient(
    to bottom,      /* richting: van boven naar onder */
    var(--satin),   /* beginkleur */
    var(--halo)     /* eindkleur */
  );

  /* optioneel: volledige dekking, geen herhaling */
  background-repeat: no-repeat;
}


h1 {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  
  font-size: 5em;
  line-height: 1.2em;
   margin-bottom: 15px;
}

h2 {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  
  font-size: 2em;
  margin-bottom: 15px;
}


h3 {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  
  font-size: 2em;
  margin-bottom: 15px;
}


p {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  
  font-size: 1em;
}

a {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  
  font-size: 1em;
}

ul {
    list-style-type: none;
    padding-inline-start: 0px;
    margin-block-start: 0px;
}

li {
    font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  
  font-size: 1em;
}

.bold {
  font-weight: 500;
}

.soon{
    opacity: 0.3;
}


.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* --------------------- Marges --------------------- */
.section .container{
  width: 80vw;
  margin: 0 auto;
}

.section.margin{
  margin: 200px 0;
}

.spacer {
      height: 100vh;
    }

/* --------------------- Components --------------------- */
/* - tekst-foto - */
.text-foto .container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}

.text-foto .foto img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

.text-foto .tekst{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 50px;
}

/* --------------------- Algemeen --------------------- */

/* btn  */
.btn {
  position: relative;        /* nodig voor het ::after */
  display: inline-flex;
  padding: 5px 0;
  margin-top: 30px;
  text-decoration: none !important;
  text-transform: uppercase;
  color: var(--zwart);
  font-weight: 500;
  font-size: 0.9em;
  width: fit-content;
}

/* pseudo-element als onderlijning */
.btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background: var(--zwart);
  transform-origin: left center;
  transform: scaleX(0.97);
  transition: transform 0.3s ease;
}


.btn-icon {
  width: 30px;
  height: 20px;
  margin-left: 10px;
}

.btn-icon .shaft,
.btn-icon .head {
  transform-box: fill-box;          /* zorg dat origin werkt */
  transition: transform 0.3s ease;  /* overgang altijd klaarzetten */
}

/* shaft: origine = beginpunt (2,12) */
.btn-icon .shaft {
  transform-origin: 2px 12px;
}

/* head: hier kun je gewoon default origin laten (center) */

/* 2) Hover-state: alleen de transform veranderen, geen extra transition hier */
.btn:hover .shaft {
  transform: scaleX(1.5);
}

.btn:hover .head {
  transform: translateX(10px);
}

/* animatie op het lijntje onder de knop */
.btn:hover::after {
  transform: scaleX(1.01);
}


/* --------------------- Navigatie --------------------- */
.navbar {
    position: fixed;
    top: 30px;
}

.navbar .btn {
    margin-top: 0px;
}

.navbar .logo {
    width: 280px;
}

.navbar .container {
    position: relative;
    max-width: unset;
    width: 90vw;
    margin-left: 5vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.link {
    color: white;
    text-decoration: none;
    margin: 0px 10px;
}



/* --------------------- Laad scherm --------------------- */


/* --------------------- Fontchange scherm --------------------- */

/* --------------------- Mediaquerries --------------------- */


/* Tablet */
@media screen and (max-width: 1023px) {
     h1 {
        font-size: 4em;
    }
    
    h2 {
        font-size: 1.8em;
        margin-bottom: 30px;
    }
    
    h3 {
        font-size: 2em;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    h1 {
        font-size: 2.5em;
    }
    
    h2 {
        font-size: 1.6em;
    }
    
    h3 {
        font-size: 1.3em;
    }

    .hide-mobile {
        display: none;
    }

    .section.margin {
        margin: 150px 0;
    }
}