html { 
  scroll-behavior: smooth;
  box-sizing: border-box; 
}
*, *:before, *:after { box-sizing: inherit; }


:root {
  /* COLORS */
  --background-color: #FFFFFF;
  --text-color: #000000; 
  --brand-color: #D3224E; /* red, for top menu rollover, collection links, brand logo */
  --brand-alt-color: #639BF6; /* blue, for links (including "read more" buttons), footer background, header and box borders */
  --external-link-color: #E70A79; /* pinky, for external link and pdf download buttons */
  --collection-color: #FF2400; /* for collection links */

  /* DIMENSIONS */
  --header-height: 100px;
  --main-margin: 32px;
  --small-col-width: 40%;
  --large-col-width: 50%;
}


body {
  margin: var(--header-height) 0 0 0;
  background-color: var(--background-color);
  color: var(--text-color);
  font-family: 'lunchtype21regular', sans-serif;
  font-size: 1.4vw;
  line-height: 1.3;
}

main {
  display: block;
}

/* HIDE COLLECTION LINKS UNTIL IT IS READY */
.collection {
  display: none !important;
}

a.anchor {
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}

.pascal-cursor {
  cursor: url("../img/curseur.png") 16 107, auto;
}

.ninja {
  display: none !important;
}

/*********************************************/
/*            DETAILS+SUMMARY                */
/*********************************************/

details {
  position: relative;
  border-top: 1px solid var(--brand-alt-color);
}

details:last-child {
  border-bottom: 1px solid var(--brand-alt-color);
}


details[open] {
  padding-bottom: var(--main-margin);
}

details[open] summary {
  color: var(--brand-alt-color);
}

summary {
  position: relative;
  font-size: 1.2em;
  font-family: 'lunchtype21medium', sans-serif;
  cursor: pointer;
  padding: var(--main-margin) 0;
}

summary::marker {
  content: "";
  color: white;
  font-size: 0.00001em;
}
summary::before {
  content: ' ';
  position: absolute;
  top: calc(50% - 0.5em);
  right: calc(var(--main-margin) + 0.5em - 1px);
  width: 2px;
  height: 1em;
  background-color: black;
}
summary::after {
  content: ' ';
  position: absolute;
  top: calc(50% - 1px);
  right: var(--main-margin);
  width: 1em;
  height: 2px;
  background-color: black;
}

details[open] summary::before {
  display: none;
}
summary:hover {
  color: var(--brand-alt-color);
}

details[open] summary::after,
summary:hover::before,
summary:hover::after {
  background-color: var(--brand-alt-color);
}

details {
  /*inline-size: 50ch;*/
  
  @media (prefers-reduced-motion: no-preference) {
    interpolate-size: allow-keywords;
  }
  
  &::details-content {
    block-size: 0;
    overflow-y: clip; 
    transition: content-visibility 0.3s allow-discrete,
                block-size 0.3s;
  }
  
  &[open]::details-content {
    block-size: auto;
  }
}
