/* styles.css */

@font-face {
  font-family: "MyOTFFont";
  src: url("./super-mario-bros-nes.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* NOTE: Some browsers don’t allow CSS var() inside url() in @font-face.
   If your font doesn't load, replace the src line with:
   src: url("./YourFontFile.otf") format("opentype");
*/

html, body {
  height: 100%;
  margin: 0;
}

body {
  overflow: hidden;            /* no scrolling */
  background: #63a0fd;
}

/* Fixed banners */
.banner {
  position: fixed;
  left: 0;
  width: 100vw;
  display: flex;
  justify-content: center;     /* center image horizontally */
  pointer-events: none;        /* click-through; remove if you need clicks */
}

.banner--top { top: 0; }
.banner--bottom { bottom: 0; }

/* Bottom bar: tiles on left/right + center banner at natural size */
.bottom-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;

  display: flex;
  align-items: flex-end;
  width: 100%;

  /* Height will be set by JS to match the banner's rendered height */
  height: var(--bottom-h, 120px);

  pointer-events: none;
}

/* Center banner: DO NOT scale it */
.bottom-bar__center {
  flex: 0 0 auto;         /* do not grow/shrink */
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.bottom-banner {
  display: block;
  width: auto;
  height: auto;           /* natural height */
  max-width: none;        /* prevent “scale down to fit” */
  max-height: none;       /* prevent “scale down to fit” */
}

/* Tiled fills: take remaining space */
.bottom-bar__fill {
  flex: 1 1 0;            /* fill remaining width */
  min-width: 0;
  height: 100%;

  background-image: url("./BottomBannerRepeat.png");  /* <-- set your tile filename */
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: auto 100%;  /* match the footer height exactly */
}

.banner__img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Middle section fills remaining space between banners */
.middle {
  position: fixed;
  left: 0;
  right: 0;

  /* TEMPORARY SAFE DEFAULTS */
  top: 120px;
  bottom: 120px;

  /* JS will override these with real values */
  top: var(--top-h, 120px);
  bottom: var(--bottom-h, 120px);

  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 16px;
  box-sizing: border-box;
  margin: 0 0 0 26%;

  width: 60%;
}

/* Multi-column centered link list */
.links {
  font-family: "MyOTFFont", system-ui, sans-serif;
  text-align: left;
  font-size: 20px;
  display: inline;

  /* display: block; */
  width: fit-content;        /* shrink-wrap to the actual columns */
  block-size: fit-content;
  inline-size: fit-content;

  /* --- multi-column layout --- */
  column-width: 300px;       /* adjust if you want wider/narrower columns */
  column-gap: 40px;

  /* keep the whole column block centered */
  max-height: 100%;
  /* max-width: min(1100px, 92vw); */
  /* margin: 0 auto;              /* centers the multi-column block */ */
}

/* Links: reserve space on the left so the icon can appear without moving text */
.links a {
  position: relative;
  display: block;                 /* best for columns */
  float: left;
  padding: 6px 0 6px 1.4em;        /* left padding reserves icon space */
  text-decoration: none;
  color: #f4faf9;
  width: 300px;
}

/* No underline on hover */
.links a:hover {
  text-decoration: none;
}

/* Hover icon (hidden by default) */
.links a::before {
  content: "";
  position: absolute;
  left: 0;                        /* sits inside the reserved padding area */
  top: 50%;
  transform: translateY(-50%);

  width: 1em;                     /* 1em ≈ letter height */
  height: 1em;
  background-image: url("./mushroom.png"); /* <-- your PNG filename */
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  opacity: 0;
  transition: opacity 120ms ease-in-out;
  pointer-events: none;           /* icon won't interfere with hovering */
}

/* Show icon on hover (and keyboard focus) */
.links a:hover::before,
.links a:focus-visible::before {
  opacity: 1;
}

.blur {
  filter: blur(1px);
}
