/* Bungee mini — ported from the old site's bungee-extras.css (+ fonts.css / fonts-basic.css).
 * Font @font-face URLs rewritten to bare filenames (resolved by MiniAssetsController).
 * The old page owned <html>/<body>; here everything is scoped under .mini-bungee so the
 * port art-directs its own slate without touching the shared chrome. */

/* ---- Display webfonts (chromatic layers + rotated + basic) ---- */
@font-face { font-family: "Bungeee Regular"; src: url("BungeeLayers-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Outline"; src: url("BungeeLayers-Outline.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Inline";  src: url("BungeeLayers-Inline.woff2")  format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Shade";   src: url("BungeeLayers-Shade.woff2")   format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Rotated Regular"; src: url("BungeeLayersRotated-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Rotated Outline"; src: url("BungeeLayersRotated-Outline.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Rotated Inline";  src: url("BungeeLayersRotated-Inline.woff2")  format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Rotated Shade";   src: url("BungeeLayersRotated-Shade.woff2")   format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Basic Regular"; src: url("Bungee-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Basic Outline"; src: url("Bungee-Outline.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Basic Inline";  src: url("Bungee-Inline.woff2")  format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Basic Shade";   src: url("Bungee-Shade.woff2")   format("woff2"); font-display: swap; }
@font-face { font-family: "Bungeee Basic Hairline"; src: url("Bungee-Hairline.woff2") format("woff2"); font-display: swap; }

@layer page {
  /* scoped reset — the old page used a global `*` reset; keep it inside the mini wrapper */
  .mini-bungee * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
    text-decoration: none;
  }
  .mini-bungee * + * { margin-top: 1rem; }

  .mini-bungee {
    background-color: #ede8e2;
    color: #000;
    font-family: OutputSans, "Lucida Grande", "Lucida Sans", Arial, sans-serif;
    font-weight: 400;
    line-height: 1;
  }

  .mini-bungee article,
  .mini-bungee section { position: relative; }
  .mini-bungee section { margin: 0; padding: 5% 4% 6%; }

  .mini-bungee a:link,
  .mini-bungee a:visited { color: #c00; text-decoration: underline; }
  .mini-bungee a:active,
  .mini-bungee a:hover { color: red; }

  .mini-bungee h1,
  .mini-bungee h2,
  .mini-bungee h3 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: "Bungeee Regular";
    text-transform: uppercase;
  }

  /* hero — chromatic "BUN-/GEE!" built from layered pseudo-elements */
  .mini-bungee #cover h1 {
    color: #771f15;
    font-family: "Bungeee Shade";
    font-size: 4em;
    letter-spacing: -0.085em;
    line-height: 0.8;
    margin-bottom: 0.15em;
    margin-top: 1rem;
    position: relative;
    width: 100%;
    z-index: 30;
  }
  .mini-bungee #cover h1 br { display: none; }

  .mini-bungee h2 {
    color: #771f15;
    font-family: "Bungeee Regular";
    font-size: 1.5em;
    line-height: 1.1em;
    margin-top: 1.5em;
    text-align: center;
    z-index: 30;
  }

  .mini-bungee h3 {
    color: #efe446;
    font-family: "Bungeee Shade";
    font-size: 3em;
    margin-bottom: 0.5em;
    position: relative;
  }
  .mini-bungee h3:before {
    color: #dc4227;
    content: attr(data-content);
    font-family: "Bungeee Regular";
    left: 0;
    position: absolute;
    top: 0;
  }
  .mini-bungee #get h3 { color: #99211f; visibility: hidden; }
  .mini-bungee #get h3:before { color: #99211f; visibility: visible; }

  .mini-bungee h5 { font-weight: 700; }
  .mini-bungee p { line-height: 1.4; max-width: 40rem; }

  .mini-bungee figure { max-width: 60em; width: 100%; }
  .mini-bungee figcaption {
    font-size: 0.675em;
    letter-spacing: 0.03em;
    margin-top: 0.5em;
    white-space: normal;
  }

  .mini-bungee .triptych { white-space: nowrap; }
  .mini-bungee .triptych img { height: auto; margin: 0; max-width: 32%; }
  .mini-bungee .triptych img + img { margin-left: 2%; }
  .mini-bungee img { max-width: 100%; }
  .mini-bungee strong { font-weight: 700; }
  .mini-bungee cite, .mini-bungee em { font-style: italic; }

  .mini-bungee #cover,
  .mini-bungee #get { padding-top: 2rem; position: relative; }

  .mini-bungee code {
    background-color: rgba(1, 1, 1, 0.2);
    font-family: monospace;
    font-size: 0.85em;
    letter-spacing: -0.025em;
    padding: 0 0.2em 0.2em;
  }

  /* tester (ported markup; interactive JS not wired — see index.html.erb note) */
  .mini-bungee #tester { background-color: #fff; overflow-x: hidden; }
  .mini-bungee #tester img { width: 50vw; }
  .mini-bungee #controls,
  .mini-bungee #preview { display: inline-block; }
  .mini-bungee #preview { overflow: visible; padding: 0; }
  .mini-bungee #controls { font-size: 0.875em; white-space: normal; }
  .mini-bungee #controls h5 + ul { margin-top: 0.25em; }
  .mini-bungee #controls li { display: inline-block; margin-right: 0.75em; margin-top: 0.5em; }
  .mini-bungee .expander { cursor: default; }
  .mini-bungee .expander h5:before { content: "\25B8 "; }
  .mini-bungee .expanded h5:before { content: "\25BE "; }
  .mini-bungee #text-control { margin-right: 1em; margin-top: 0; }
  .mini-bungee #text-control h5 { display: inline-block; }
  .mini-bungee #orientation-controls { display: inline-block; margin-top: 0.66em; }
  .mini-bungee #orientation-controls li { margin-top: 0; }
  .mini-bungee #background-controls fieldset { display: inline-block; margin: 0 1.5em 1.5em 0; }
  .mini-bungee .swatch {
    border: 1px solid rgba(0, 0, 0, 0.2);
    display: inline-block;
    height: 1em;
    vertical-align: middle;
    width: 1em;
  }
  .mini-bungee input[type=text] { border: 1px solid #ccc; padding: 0.2em; width: 8em; }

  .mini-bungee #color-formats img { box-shadow: 0 0 15px 3px #0e2027; }

  /* CTA buttons — chromatic layered text (inert links) */
  .mini-bungee #CTA { margin-top: 0; }
  .mini-bungee #CTA li { margin-bottom: 2rem; }
  .mini-bungee .button, .mini-bungee .button:before { margin-top: 0; }
  .mini-bungee .button:link,
  .mini-bungee .button:visited {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #771f15;
    font-family: "Bungeee Shade";
    font-size: 3em;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
  }
  .mini-bungee .button:before {
    color: #fff;
    content: attr(data-content);
    font-family: "Bungeee Regular";
    left: 0;
    position: absolute;
    top: 0;
  }
  .mini-bungee li:hover .button {
    color: #771f15 !important;
    font-family: "Bungeee Outline";
    left: -0.12em;
    top: 0.12em;
  }

  .mini-bungee .collapsing_specimen,
  .mini-bungee .specimen img { margin: 0; }

  /* color sections */
  .mini-bungee .red { background-color: #dc4227; }
  .mini-bungee .yellow { background-color: #efe446; }
  .mini-bungee .blue { background-color: #2b839d; }
  .mini-bungee .red, .mini-bungee .blue { color: #fff; }
  .mini-bungee .red a, .mini-bungee .blue a { color: #efe446; }
  .mini-bungee .red a:hover, .mini-bungee .blue a:hover { color: #f9f287; }

  /* in-use grid */
  .mini-bungee .use-grid {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 2em;
    max-width: 45em;
    text-align: left;
  }
  .mini-bungee #in-use h2 { color: #fff; font-size: 3rem; margin-top: 1.2rem; text-align: left; }
  .mini-bungee #in-use h2 + h4 {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
  }
  .mini-bungee #in-use .use-case { position: relative; }
  .mini-bungee #in-use .use-case .use-name {
    background: #000;
    bottom: 0;
    color: #fff;
    display: none;
    font-size: 0.65rem;
    left: 0;
    padding: 0.5em 1em;
    position: absolute;
    text-align: left;
  }
  .mini-bungee #in-use .use-case a:hover .use-name { display: block; }
  .mini-bungee #in-use .use-case a:hover img { opacity: 0.8; }

  @media (min-width: 30em) {
    .mini-bungee #cover h1 { font-size: 5em; }
    .mini-bungee h3 { font-size: 4em; }
    .mini-bungee .collapsing_specimen { max-width: 50%; white-space: nowrap; }
  }
  @media (min-width: 48em) {
    .mini-bungee h2 { font-size: 2em; }
  }
}
