* {
  padding: 0px;
  margin: 0px;
}

body {
  font-family: sans-serif;
}

.fa {
  padding: 8px;
  font-size: 30px;
  width: 15px;
  text-align: center;
  text-decoration: none;
  margin: 2px 2px;
  border-radius: 0%;
}

.fa-instagram {
  background: black;
  color: white;
}

.fa-instagram:hover {
  color: orange;
}

h1
{
    display:inline;
}

.head-wrap {

  width: 100%;
  height: 120px;
}

.logo {
 min-height: 50px;
 border: solid;
 border-width: thick;
 width: fit-content;
 padding-right: 10px;
 padding-left: 10px;
 padding-top: 10px;
 font-family: sans-serif;
 margin: 10px;
 margin-top: 22px;
 float: left;
}

.menu {
  display: none;
  height: fit-content;
  border: solid;
  border-width: thick;
  width: fit-content;
  float: right;
  padding: 10px;
  margin: 30px 20px 30px 20px;
}

.menu a {
  color: black;
  font-family: sans-serif;
  font-size: 23px;
  padding: 6px;
  font-weight: 900;
  text-decoration: none;

}

#over {
  padding-top: 40px;
}

#contact {
  width: 90%;
}
#contact a {
  background-color: black;
  color: white;
  padding: 5px;
}

#contact a:hover {
  text-decoration: none;
}

.menu a:hover {
  color: orange;
}

.mobile-menu {
  display: block;
  height: fit-content;
  border: solid;
  border-width: thick;
  width: fit-content;
  float: right;
  padding: 5px;
  margin: 10px;
}

.mobile-menu a {
  color: black;
  font-family: sans-serif;
  font-size: 16px;
  padding: 6px;
  font-weight: 900;
  text-decoration: none;
}

.mobile-menu a:hover {
  color: orange;
}

.footer {
  width: 100%;
  float: left;
  text-align: center;
  font-family: sans-serif;

}

.main-wrap {
  margin: 0 auto;
width: 350px;
}
.main-wrap2 {
  margin: 0 auto;
  width: 350px;
}




.titel {
  min-height: fit-content;
  border: solid;
  border-width: thick;
  width: fit-content;
  padding: 5px;
  font-family: sans-serif;
  position: absolute;
  background-color: white;
}

.blok {

}

.inner-blok {
  margin: 10px;
  max-width: 100%;
  border-style: solid;
  border-width: thick;
  float: left;
}

.blok img {
  max-width: 100%;
  display: block;
}

p {
  padding: 10px;
}

#half {
  max-width: 100%;
  float: left;
}
#half2 {
  max-width: 100%;
  float: left;
}
}

#credits {
  padding-top: 30px;
}

#speellijst {
  text-align: center;
}

#speellijst a {
  color: white;
  background-color: black;
  font-family: sans-serif;
  font-size: 18px;
  padding: 6px;
  font-weight: 900;
  align-items: center;
  margin: 10px;
  text-decoration: none;
  float: left;
}

#speellijst a:hover {
  color: orange;
}

#agenda {
  padding: 10px;
  padding-top: 55px;
  width: 90%;
}

.schema {
  border-collapse: collapse;
  text-align: left;
  width: 100%;
}
.schema td {
  border-bottom: solid;
  border-width: thin;
  padding: 10px 3px 10px 3px;
}
.schema a {
  color: white;
  background-color: black;
  font-family: sans-serif;
  font-weight: 900;
  padding: 3px;
  text-decoration: none;
  float: left;
}

#contact {
  padding-top: 35px;
}

.schema a:hover {
  color: orange;
}

.footer-credits {
  color: grey;
  font-size: 16px;
}

.footer-credits a {
  color: grey;
}

.footer-credits a:hover {
  text-decoration: none;
}

.verlopen {
  color: grey;
  text-decoration: line-through;
}
.verlopen a {
  background-color: grey;
  text-decoration: line-through;
}

@media only screen and (min-width: 768px) {

  .menu{
    display: block;
  }
  .mobile-menu {
    display: none;
  }

  .logo {
    margin-top: 20px;
    margin: 20px
  }

  .main-wrap {
    margin: 0 auto;
    width: 768px;
  }
  .main-wrap2 {
    margin: 0 auto;
    width: 600px;
  }



  #half {
    max-width: 50%;
    float: left;
  }


#half2 {
  max-width: 100%;
  float: left;
}
}


@media only screen and (min-width: 1000px) {
  .main-wrap {
    margin: 0 auto;
    width: 1000px;
  }
  .main-wrap2 {
    margin: 0 auto;
    width: 700px;
  }


  #half {
    max-width: 50%;
    float: left;
  }

#half2 {
  max-width: 100%;
  float: left;
}
}

/* Toegevoegd 03-10-2026: de agenda past op een telefoon (de knop viel rechts buiten beeld).
   Alleen voor smalle schermen; op de computer verandert er niets. */
@media only screen and (max-width: 767px) {
  #agenda {
    box-sizing: border-box;
    width: calc(100% - 20px);
  }
  .schema { font-size: 13px; }
  .schema td { padding: 8px 2px; }
  .schema a {
    float: none;
    display: inline-block;
    white-space: nowrap;
  }
}

/* Toegevoegd 03-10-2026: geen wit randje rechts naast de foto's (Chrome, Edge, Firefox).
   De foto vult zijn kader nu precies, en wat er nog doorschemert is zwart, net als de rand. */
a[data-lightbox] {
  display: block;
  background: #000;
}
a[data-lightbox] img {
  width: 100%;
}

/* Toegevoegd 03-10-2026: binnen de bestaande vormtaal */
/* logo is een link; de huidige pagina staat zwart, zoals de mailknoppen */
.logo-link { color: inherit; text-decoration: none; }
.menu a.hier { background-color: black; color: white; }
.menu a.hier:hover { color: orange; }
/* telefoon: de huidige pagina als zwarte balk over de hele breedte van het menu */
.mobile-menu br { display: none; }
.mobile-menu a { display: block; padding: 0 6px; }
.mobile-menu a.hier { background-color: black; color: white; margin: 0 -5px; padding: 0 11px; }
.mobile-menu a.hier:hover { color: orange; }
/* iets meer lucht tussen de regels in de tekstkaders */
.inner-blok p { line-height: 1.45; }

/* ---- uit master2.css (homepage) ---- */
.mail-link a {
  background-color: black;
  color: white;
  padding-left: 5px;
  padding-right: 5px;
}


.mail-link a:hover
{
  color: orange;
}

/* Toegevoegd 03-10-2026: de video schaalt mee op smalle schermen
   (anders zoomt een telefoon de hele pagina uit). Op de computer blijft hij 670×350. */
iframe {
  display: block;
  max-width: 100%;
  height: auto;
  aspect-ratio: 670 / 350;
}

/* Toegevoegd 03-10-2026: speellijst op de homepage, kleiner dan de rest */
.speellijst {
  font-size: 13px;
  line-height: 1.6;
}



/* credits: elke rol op een eigen regel, de naam vet erachter */
.credits-lijst { line-height: 1.6; }
/* video met label, eigen foto en knop; YouTube laadt pas na een klik */
#half2 { max-width: 100%; float: left; }
#half2 .titel { z-index: 2; }
.video-poster { display: block; position: relative; background: #000; }
.video-poster img { width: 100%; opacity: .8; }
.video-poster span { position: absolute; right: 12px; bottom: 12px; background: black; color: white; font-weight: 900; font-size: 18px; padding: 6px 10px; white-space: nowrap; }
.video-poster:hover span { color: orange; }
/* na de klik: de video vult precies het vak van de foto, de foto blijft eronder voor de maat */
.video-poster.speelt { cursor: default; }
.video-poster.speelt img { visibility: hidden; }
.video-poster.speelt span { display: none; }
.video-poster.speelt iframe { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; aspect-ratio: auto; border: 0; }

/* ---- Toegevoegd 03-10-2026: één pagina met tabbladen ---- */
html { overflow-y: scroll; }                 /* schuifbalk altijd op zijn plek: niets springt opzij */
body { display: flex; flex-direction: column; min-height: 100vh; }
.head-wrap { flex: 0 0 auto; }
.main-wrap { flex: 1 0 auto; display: flow-root; }
.footer { float: none; padding-bottom: 20px; }   /* altijd onderaan het scherm */
html[data-tab] .tab { display: none; }
html[data-tab="pineas"] #tab-pineas,
html[data-tab="over"] #tab-over,
html[data-tab="agenda"] #tab-agenda,
html[data-tab="contact"] #tab-contact { display: block; }
.tab { display: flow-root; }

/* ---- Toegevoegd 03-10-2026: Pineas in vaste rijen, zodat de blokken niet door elkaar vallen ---- */
.rij { display: flow-root; clear: both; }
/* foto's in twee kolommen; links de staande foto + één liggende, rechts drie liggende (bijna even hoog) */
.galerij > .blok, .galerij > #half { float: none; max-width: none; break-inside: avoid; display: flow-root; }
.galerij .inner-blok { float: none; }
@media only screen and (min-width: 768px) {
  .galerij { column-count: 2; column-gap: 0; }
}

/* ---- 07-10-2026: Pineas weer zoals vroeger: de grote foto, met het tekstblok eronder ---- */
.hoofd .inner-blok { float: none; }
/* flow-root: anders vallen de marges van het kader samen met het blok, en staat het label 0 i.p.v. 10 px boven het kader en zit er 10 i.p.v. 20 px tussen de kaders */
.hoofd > .blok { display: flow-root; }

/* ---- 07-10-2026: ontwerpfoutjes rechtgezet (nagemeten op 360, 830 en 1300 px) ---- */
/* 1. Smalle telefoons (≤ 364 px): logo iets kleiner, zodat het menu ernaast past en niet achter de eerste foto valt */
@media only screen and (max-width: 364px) {
  .logo h1 { font-size: 26px; }
}
@media only screen and (max-width: 339px) {
  .logo h1 { font-size: 23px; }
}
/* 1b. Schermen smaller dan 360 px: de inhoud (vast 350 px) was breder dan het scherm, je kon opzij schuiven */
@media only screen and (max-width: 359px) {
  .main-wrap { width: calc(100% - 10px); }
}
/* 3. Agenda en Contact even breed als de andere kaders (stond op 90%) */
#agenda, #contact { box-sizing: border-box; width: calc(100% - 20px); }
@media only screen and (min-width: 768px) {
  /* 7. menu op dezelfde middellijn als het logo (logo 20–90 px, menu was 30–86) */
  .menu { margin-top: 27px; }
  /* 2 en 4. Credits + Reacties links, Speellijst rechts; elk kader zo breed als zijn kolom */
  .lijsten > .kolom { float: left; width: 50%; }
  .lijsten > .kolom > #half { float: none; max-width: none; }
  .lijsten > #half { width: 50%; max-width: none; }
  .lijsten .blok { display: flow-root; }          /* marges niet laten samenvallen: label blijft 10 px boven het kader */
  .lijsten .inner-blok { float: none; }
  /* 5. Beide fotokolommen eindigen gelijk: de staande foto krijgt precies de hoogte van
     de drie liggende rechts min de liggende links (3×0,667 − 0,667 = 1,334) plus één kader (30 px). Hooguit ±8 px uitgesneden. */
  .galerij > .blok:nth-child(2) { break-after: column; }
  .galerij > .blok:first-child a { position: relative; height: 0; padding-bottom: calc(133.375% + 30px); }
  .galerij > .blok:first-child img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
}
/* 6. Tablet: Over TGBAGAGE direct onder de foto (tekst rechts), geen gat van 344 px */
@media only screen and (min-width: 768px) and (max-width: 999px) {
  #tab-over > .blok:nth-child(2) { float: right; }
}

/* ---- Agenda: kader TIP (een evenement van anderen dat aansluit bij Pineas) ---- */
#tab-agenda > .blok { display: flow-root; }   /* label 10 px boven zijn eigen kader, 20 px tussen de kaders */
#tip { box-sizing: border-box; width: calc(100% - 20px); padding: 10px; padding-top: 55px; }
#tip a { color: white; background-color: black; font-family: sans-serif; font-weight: 900; padding: 3px 6px; text-decoration: none; display: inline-block; }
#tip a:hover { color: orange; }
