/* @link https://utopia.fyi/grid/calculator?c=318,18,1.125,1184,16,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,2xl,12 */
:root {
  --grid-max-width: 72rem;
  --grid-gutter: var(--space-s-l, clamp(1.125rem, 0.8037rem + 1.6166vw, 2rem));
  --grid-columns: 12;
}

body {
  background-color: var(--canvas);
  min-width: 320px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header[role="banner"] {
  background-color: var(--canvas);
  position: fixed;
  border-bottom: 1px solid var(--light-border-color);
  left: 0;
  top: 0;
  right: 0;
  height: 4.6875rem;
  z-index: 999999;

  > .content {
    display: flex;
    justify-content: space-between;
    gap: 0 1rem;
    align-items: end;
    max-width: var(--grid-max-width);
    margin-inline: auto;
    margin-block: 0;
    padding-inline: var(--grid-gutter);
    padding-block: 0.75rem;
  }

  #jc-logo {
    width: 16.25rem;
    height: 3rem;

    svg {
      height: 100%;
      width: 100%;
    }

  }
  h5 {
    margin: 0;
  }
}

main {
  max-width: var(--grid-max-width);
  /* match header.layout height */
  margin-block: 4.667rem 1rem;
  margin-inline: auto;
  padding-inline: var(--grid-gutter);
  min-height: 61.8vh;
  container: main / inline-size;
  flex: 1 0 auto;
  width: 100%;
}

header:has(> .action),
header:has(> .actions),
header.page {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--grid-gutter);
  margin-block: 1lh 0.5lh;

  h1,h2,h3,h4,h5,h6 {
    margin-block: 0;
  }

  h1 { font-size: var(--font-size-xl); }

  .actions {
    display: flex;
    gap: 1rem;
  }
 
}

body > footer {
  background: var(--link-text);
  color: var(--color-1);
  container: footer / inline-size;
  flex-shrink: 0;

  > .content {
    container: nav-footer / inline-size;
    display: flex;
    flex-flow: row wrap;
    gap: var(--grid-gutter);
    max-width: var(--grid-max-width);
    margin: 0 auto;
    padding: var(--grid-gutter);
  }

  .register,
  .public-pages,
  .blurb {
    flex-basis: calc(33.33% - var(--grid-gutter));
  }

  @container nav-footer (width < 56.25rem) {
    .register,
    .public-pages,
    .blurb {
      flex-basis: 75%;
    }
  }

  ul, dl {
    margin: 0;
    padding: 0;
    list-style-type: none;

    li, dt, dd {
      margin-bottom: 1rem;
    }
  }
  a {
    color: var(--color-1);
    text-decoration: none;
    &:hover {
      text-decoration: underline;
    }
  }

  .blurb {
    p {
      margin: 0 0 1rem 0;
      color: var(--color-1);
    }
  }

  .csbq-logo {
    margin: 0;
    display: block;
    width: 120%;
    color: var(--color-1);
    svg {
      text-align: left;
      width: 100%;
      * {
        fill: var(--color-1);
      }
    }
  }

  pre {
    width: 100%;
    text-align: start;
    font-size: var(--font-size-xxs);
    color: var(--color-5);
    padding-block-end: 1rem;
  }

  .copyright {
    text-align: center;
    color: var(--color-1);
    margin: 0;
    padding: 0 1rem 0.5lh;
    font-size: var(--font-size-xs);
  }
  @container footer (width < 48rem) {
    .debug { display: none; }
  }
}

/* @container main (width < 53rem) {
  main {
    position: fixed;
    aside {
      .handles .panel-open {
        display: block;
        position: absolute;
        top: 0.5vh;
        left: -24px;
      }
      background-color: var(--canvas);
      padding-inline-start: var(--grid-gutter);
      padding-block: var(--grid-gutter);
      position: absolute;
      width: 75%;
      left: 25%;
    }
  }
} */

/* .fab-four {
  --threshold: 50rem;
  --gap: var(--grid-gutter);
  --items: 3;
  --gap-spacing: calc(var(--gap) * (var(--items) - 1));
  display: flex;
  flex-flow: row wrap;
  gap: var(--gap);
}

.fab-four > * {
  min-width: calc((100% - var(--gap-spacing)) / var(--items));
  max-width: 100%;
  width: calc((var(--threshold) - 100%) * 100000);
} */
