/* Butterfly page.
   Used on: /butterfly/.
   Forum Homini website, editable IIS version v016 20261109 081746. Generated with Claude Opus 5.5. */
/* the Listen QR code's screen (23 Oct 2026): only the butterflies and the player */
.bt-solo[data-c-butterfly-page] {
  display: none;
}
html.bt-solo-on .bt-solo[data-c-butterfly-page] {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--s-5);
  background: #0e0705;
}

/* the whole photo, both butterflies, across the screen near the top; on a wide screen as tall as fits */

.bt-solo__img[data-c-butterfly-page] {
  display: block;
  inline-size: 100%;
  max-inline-size: 62rem;
  max-block-size: 58svh;
  margin-inline: auto;
  object-fit: contain;
}
.bt-solo__foot[data-c-butterfly-page] {
  display: grid;
  justify-items: center;
  gap: var(--s-4);
  padding: 0 var(--margin) calc(var(--s-7) + env(safe-area-inset-bottom));
  background: #0e0705;
  text-align: center;
}
.bt-solo__h[data-c-butterfly-page] {
  margin: 0;
  font-family: var(--face-display);
  font-size: var(--fs-xl);
  font-weight: 600;
  background:
    linear-gradient(
      180deg,
      #fff3cf,
      #f3d792 40%,
      #c9953f 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bt-solo__slot[data-c-butterfly-page] {
  inline-size: min(100%, 30rem);
}
.bt-solo__more[data-c-butterfly-page],
.bt-solo__more[data-c-butterfly-page]:visited {
  color: #f3d792;
  font-family: var(--face-text);
  font-size: var(--fs-s);
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* (6 Nov 2026) display was flex; always overridden by css/site.css, so its value is here now */
.bt__choose[data-c-butterfly-page] {
  display: grid;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s-3);
  margin: 0;
}
.bt__after[data-c-butterfly-page] {
  margin: 0;
  text-align: center;
}
.bt__wrap[data-c-butterfly-page] {
  display: grid;
  gap: var(--gap-item, 40px);
  max-inline-size: 44rem;
  margin-inline: auto;
}
.bt__fig[data-c-butterfly-page] {
  margin: 0;
}
.bt__fig[data-c-butterfly-page] img[data-c-butterfly-page] {
  display: block;
  inline-size: 100%;
  block-size: auto;
  border-radius: 18px;
  border: 1.5px solid rgb(185 140 255 / 0.7);
}
/* the player: a round gold button, the golden bars, her name */
.bt__player[data-c-butterfly-page][hidden] {
  display: none;
}
/* (a site-wide rule clears this padding: kept here with !important) */
.bt__player[data-c-butterfly-page].bt__player {
  display: grid;
  gap: 12px;
  padding: 16px 16px 12px !important;
  border: 1.5px solid rgb(185 140 255 / 0.7);
  border-radius: 18px;
  background:
    radial-gradient(
      ellipse at 10% 50%,
      rgb(185 140 255 / 0.22),
      transparent 60%),
    rgb(20 10 31 / 0.6);
  box-shadow: 0 0 30px -6px rgb(185 140 255 / 0.45);
  scroll-margin-block-start: calc(var(--header-h) + 24px);
}
.bt__row[data-c-butterfly-page] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.bt__play[data-c-butterfly-page] {
  flex: none;
  display: grid;
  place-items: center;
  inline-size: 48px;
  block-size: 48px;
  border: 0;
  border-radius: 50%;
  background:
    linear-gradient(
      180deg,
      #fff3cf,
      #f3d792 40%,
      #c9953f 85%);
  color: #1d1405;
  cursor: pointer;
}
.bt__play[data-c-butterfly-page] svg[data-c-butterfly-page] {
  fill: currentColor;
}
.bt__i-pause[data-c-butterfly-page],
[data-c-butterfly-page][data-bt][data-playing] .bt__i-play[data-c-butterfly-page] {
  display: none;
}
[data-c-butterfly-page][data-bt][data-playing] .bt__i-pause[data-c-butterfly-page] {
  display: inline;
}
.bt__play[data-c-butterfly-page]:focus-visible {
  outline: 2px solid #f3d792;
  outline-offset: 3px;
}
.bt__mid[data-c-butterfly-page] {
  flex: 1;
  display: grid;
  gap: 6px;
  min-inline-size: 0;
}
.bt__kicker[data-c-butterfly-page],
.bt__label[data-c-butterfly-page] {
  font-family: var(--face-text);
  font-size: var(--fs-s);
  font-weight: var(--wt-label, 600);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d9bfff;
}
/* the bars from the left to the right, tall, bright gold with a soft glow (as the Listen screen) */
.bt__bars[data-c-butterfly-page] {
  display: flex;
  align-items: center;
  gap: 3px;
  block-size: clamp(56px, 9vw, 84px);
  filter: drop-shadow(0 0 6px rgb(243 215 146 / 0.55));
}
.bt__bars[data-c-butterfly-page] span[data-c-butterfly-page] {
  --h: 0.2;
  flex: 1;
  block-size: 100%;
  border-radius: 3px;
  background:
    linear-gradient(
      180deg,
      #fff6dc,
      #f3d792 45%,
      #e2b65f);
  transform: scaleY(var(--h));
  transition: transform 70ms linear;
}
.bt__by[data-c-butterfly-page] {
  flex: none;
  font-family: var(--face-text);
  font-size: var(--fs-s);
  font-weight: var(--wt-label, 600);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #e6c27a;
}
/* "Read the story": the same gold button and paper sheet as the 4 Colour Rocks' "The story" (RockGarden) */
.bt__readrow[data-c-butterfly-page] {
  text-align: center;
  scroll-margin-block-start: calc(var(--header-h) + 24px);
}
/* (6 Nov 2026) min-block-size was 44px; always overridden by css/site.css, so its value is here now */
.bt__more[data-c-butterfly-page] {
  display: inline-flex;
  align-items: center;
  min-block-size: 36px;
  padding-inline: var(--s-6);
  border: 0;
  border-radius: var(--r-pill);
  background:
    linear-gradient(
      180deg,
      #fff3cf,
      #f3d792 40%,
      #c9953f 85%);
  color: #1d1405;
  font-family: var(--face-text);
  font-size: var(--fs-button, var(--fs-s));
  font-weight: var(--wt-label, 600);
  cursor: pointer;
}
.bt__more[data-c-butterfly-page]:hover {
  background:
    linear-gradient(
      180deg,
      #fff8e0,
      #f7e2a6 40%,
      #d9a74e 85%);
}
.bt__sheet[data-c-butterfly-page] {
  position: fixed;
  inset: 0;
  margin: auto;
  inline-size: min(94vw, 40rem);
  block-size: fit-content;
  max-block-size: 92svh;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #f0e5d6;
  overflow: auto;
}
.bt__sheet[data-c-butterfly-page]::backdrop {
  background: rgb(0 0 0 / 0.75);
}
.bt__close[data-c-butterfly-page] {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 8px;
  inline-size: 44px;
  block-size: 44px;
  border: 0;
  border-radius: 50%;
  background: rgb(0 0 0 / 0.7);
  color: #fff;
  font-size: var(--fs-l);
  line-height: 1;
  cursor: pointer;
}
.bt__more[data-c-butterfly-page]:focus-visible,
.bt__close[data-c-butterfly-page]:focus-visible {
  outline: 2px solid #f3d792;
  outline-offset: 3px;
}
/* the sheet, as the printed 4 Colour Rocks sheet: warm paper, the heading font in capitals, a serif text */
.bt__paper[data-c-butterfly-page] {
  display: grid;
  justify-items: center;
  gap: var(--s-3);
  padding: var(--s-6) var(--s-5) var(--s-5);
  background: #f0e5d6;
  color: #2b1c10;
  text-align: center;
}
/* the top bar's logo, big across the top: the mark and the name, dark on the graded gold */
.bt__brand[data-c-butterfly-page] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s-3);
  inline-size: 100%;
  padding: var(--s-3) var(--s-4);
  border-radius: var(--r-pill);
  background:
    linear-gradient(
      180deg,
      #fff3cf,
      #f3d792 40%,
      #c9953f 85%);
  color: #1d1405;
}
.bt__brand[data-c-butterfly-page] img[data-c-butterfly-page] {
  inline-size: auto;
  block-size: clamp(40px, 9vw, 64px);
}
.bt__brand[data-c-butterfly-page] .bt__name[data-c-butterfly-page] {
  inline-size: auto;
  block-size: clamp(18px, 2.4vw + 8px, 28px);
}
.bt__brand[data-c-butterfly-page] span[data-c-butterfly-page] {
  font-family: var(--face-display);
  font-size: clamp(1.6rem, 1rem + 3vw, 2.5rem);
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
.bt__paper[data-c-butterfly-page] .bt__title[data-c-butterfly-page] {
  margin: var(--s-2) 0 0;
  font-family: var(--face-display);
  font-size: clamp(1.9rem, 1.2rem + 3vw, 2.75rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  background: none;
  color: #2b1c10;
  -webkit-text-fill-color: #2b1c10;
}
/* owner (18 Oct 2026): "The on one line and butterflies below" */
.bt__t1[data-c-butterfly-page],
.bt__t2[data-c-butterfly-page] {
  display: block;
}
.bt__paper[data-c-butterfly-page] .bt__gold[data-c-butterfly-page] {
  color: #b8862f;
  -webkit-text-fill-color: #b8862f;
}
/* the spaced line between two thin rules */
.bt__sub[data-c-butterfly-page] {
  display: flex;
  align-items: center;
  gap: var(--s-3);
  inline-size: 100%;
  font-family: var(--face-display);
  font-size: var(--fs-s);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #2b1c10;
}
.bt__sub[data-c-butterfly-page]::before,
.bt__sub[data-c-butterfly-page]::after {
  content: "";
  flex: 1;
  block-size: 1px;
  background: #2b1c10;
}
/* owner (18 Oct 2026): "Lets make a landscape photo across the page of the butterflies before the explanation": the photo
     whole, across the sheet, the words under it */
.bt__grid[data-c-butterfly-page] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--s-4);
  inline-size: 100%;
  margin-block-start: var(--s-2);
  text-align: start;
}
/* owner (18 Oct 2026): "cut a bottom part of the butterfly photo to make it landscape": the top kept (the butterflies),
     the grass at the bottom cut, a wide landscape */
.bt__sheetpic[data-c-butterfly-page] {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: 50% 15%;
  border-radius: 4px;
}
.bt__text[data-c-butterfly-page] {
  display: grid;
  gap: var(--s-3);
}
/* (18 Oct 2026, owner: "Is it good enough to read at a dinner table in the forest?"): a little larger and sturdier than
     reading text elsewhere, for a phone held at the table in candlelight */
.bt__paper-line[data-c-butterfly-page] {
  font-family: var(--face-display);
  font-size: clamp(1.1875rem, 1.1rem + 0.4vw, 1.3125rem);
  font-weight: 600;
  line-height: 1.5;
  color: #24170c;
}
.bt__centre[data-c-butterfly-page] {
  text-align: center;
}
/* the beige band, as "ORIGINS → SURVIVAL → LIFE → HUMANITY" */
.bt__band[data-c-butterfly-page] {
  inline-size: 100%;
  margin-block-start: var(--s-2);
  padding: var(--s-2) var(--s-3);
  background: #e6d5b8;
  font-family: var(--face-display);
  font-size: var(--fs-m);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #2b1c10;
}
.bt__band[data-c-butterfly-page] span[data-c-butterfly-page] {
  color: #b8862f;
}
/* the big closing line, as "THE SUM OF US" */
.bt__closing[data-c-butterfly-page] {
  font-family: var(--face-display);
  font-size: clamp(1.5rem, 1rem + 2.4vw, 2.1rem);
  line-height: 1.1;
  text-transform: uppercase;
  color: #2b1c10;
}
.bt__paper-sign[data-c-butterfly-page] {
  font-family: var(--face-text);
  font-size: var(--fs-s);
  font-weight: var(--wt-label, 600);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8d6420;
}
.bt__d2d[data-c-butterfly-page] {
  display: block;
  inline-size: 100%;
  block-size: auto;
  margin-block-start: var(--s-2);
  border-radius: 4px;
}
.bt__foot[data-c-butterfly-page] {
  inline-size: 100%;
  margin-block-start: var(--s-2);
  padding-block-start: var(--s-3);
  border-block-start: 1px solid rgb(43 28 16 / 0.25);
  font-family: var(--face-text);
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #2b1c10;
}
.bt__foot[data-c-butterfly-page] span[data-c-butterfly-page] {
  padding-inline: 0.4em;
  color: #b8862f;
}
@media (max-width: 520px) {
  .bt__grid[data-c-butterfly-page] {
    grid-template-columns: 1fr;
  }
}
