/* ==========================================================================
   Seção 03 · O que você encontra
   Bento com os formatos (e-books, aulas, manual, prompts) + números.
   ========================================================================== */

.bento {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--grid-gap);
}

.bento__item {
  --card-pad: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  overflow: hidden;
}

.bento__text {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 32rem;
}

.bento__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2) var(--space-4);
  width: 100%;
  margin-bottom: var(--space-2);
}

.bento__title {
  font-size: var(--text-2xl);
  font-weight: var(--weight-medium);
  line-height: 1.15;
  letter-spacing: var(--tracking-tight);
}

/* ------------------------------------------------- Leque de e-books (5 capas) */
.books-fan {
  position: relative;
  height: clamp(15rem, 34vw, 22rem);
  margin-top: auto;
}

.books-fan__inner {
  position: absolute;
  inset: 0;
}

.books-fan .book {
  position: absolute;
  bottom: -6%;
  left: calc(var(--i) * 16.75%);
  width: 33%;
  transform-origin: 50% 100%;
  rotate: calc((var(--i) - 2) * 4deg);
  translate: 0 calc(var(--lift, 0px) + var(--arc, 0px));
  transition:
    translate var(--dur-slower) var(--ease-spring),
    rotate var(--dur-slower) var(--ease-spring),
    box-shadow var(--dur-base) var(--ease-out);
}

/* Arco: as capas das pontas ficam mais baixas; a do meio, por cima */
.books-fan .book:nth-child(1),
.books-fan .book:nth-child(5) {
  --arc: 18px;
  z-index: 1;
}

.books-fan .book:nth-child(2),
.books-fan .book:nth-child(4) {
  --arc: 6px;
  z-index: 2;
}

.books-fan .book:nth-child(3) {
  z-index: 3;
}

/* Entrada em sequência quando o card aparece */
.js .bento__item--books .book {
  opacity: 0;
}

.bento__item--books.is-revealed .book {
  animation: reveal 900ms var(--ease-out) calc(var(--reveal-delay, 0ms) + 250ms + var(--i) * 90ms) both;
}

/* Hover: o leque abre e a capa apontada sobe */
.bento__item--books:hover .book {
  rotate: calc((var(--i) - 2) * 6deg);
}

.books-fan .book:hover {
  --lift: -22px;
  z-index: 4;
}

/* --------------------------------------------------------------- Playlist */
.playlist {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: auto;
}

.playlist__list {
  display: flex;
  flex-direction: column;
  list-style: none;
}

.playlist__item {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-2);
  border-bottom: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-xs);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  transition:
    background-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out);
}

.playlist__item:last-child {
  border-bottom: 0;
}

.playlist__item:hover,
.playlist__item.is-active {
  color: var(--color-text);
  background: var(--color-surface-tint);
}

.playlist__num {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  color: var(--color-text-tertiary);
}

.playlist__item:hover .playlist__num,
.playlist__item.is-active .playlist__num {
  color: var(--color-accent);
}

.playlist__time {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  font-variant-numeric: tabular-nums;
  color: var(--color-text-tertiary);
}

/* ------------------------------------------------------------ Manual de IA */
.manual-doc {
  position: relative;
  width: min(100%, 22rem);
  aspect-ratio: 5 / 3.4;
  margin: auto auto 0;
}

.manual-doc__page {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  border: var(--border-width) solid var(--color-border-solid);
  background: var(--gradient-surface);
  box-shadow: var(--shadow-inset-top), var(--shadow-md);
  transition:
    rotate var(--dur-slower) var(--ease-spring),
    translate var(--dur-slower) var(--ease-spring);
}

.manual-doc__page:nth-child(1) {
  rotate: -7deg;
  translate: -14px 12px;
  opacity: 0.45;
}

.manual-doc__page:nth-child(2) {
  rotate: -3.5deg;
  translate: -7px 6px;
  opacity: 0.7;
}

.bento__item--manual:hover .manual-doc__page:nth-child(1) {
  rotate: -11deg;
  translate: -26px 16px;
}

.bento__item--manual:hover .manual-doc__page:nth-child(2) {
  rotate: -5.5deg;
  translate: -13px 8px;
}

.manual-doc__lines {
  filter: blur(2px);
  opacity: 0.7;
}

.manual-doc__lock {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  font-size: 0.9rem;
  color: var(--color-accent);
  background: var(--color-accent-soft);
  box-shadow: inset 0 0 0 1px rgb(var(--rgb-mint) / 0.3);
}

/* --------------------------------------------------------------- Prompt */
.prompt {
  margin-top: auto;
  overflow: hidden;
  border-radius: var(--radius-md);
  border: var(--border-width) solid var(--color-border-solid);
  background: var(--ink-900);
  box-shadow: var(--shadow-inset-top);
}

.prompt__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4);
  border-bottom: var(--border-width) solid var(--color-border);
}

.prompt__bar .btn {
  font-size: var(--text-xs);
}

.prompt__bar .btn.is-copied {
  color: var(--color-accent);
  box-shadow: inset 0 0 0 1px rgb(var(--rgb-mint) / 0.45);
}

.prompt__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  font-size: var(--text-sm);
  line-height: 1.75;
  color: var(--color-text-secondary);
}

.prompt__body .tag {
  margin-right: var(--space-2);
  vertical-align: 1px;
}

.prompt mark {
  padding: 0.05em 0.25em;
  border-radius: 4px;
  color: var(--mint-200);
  background: rgb(var(--rgb-mint) / 0.1);
}

/* ------------------------------------------------------------------- Números */
.stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-10) var(--grid-gap);
  margin-top: var(--space-16);
  padding-top: var(--space-12);
  border-top: var(--border-width) solid var(--color-border);
}

.stats .stat {
  flex-direction: column-reverse;
  justify-content: flex-end;
}

.stats .stat__value {
  margin: 0;
}

/* ============================================================ Responsivo */
@media (min-width: 40em) {
  .bento__item {
    --card-pad: var(--space-8);
  }
}

@media (min-width: 48em) {
  .bento {
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
  }

  .bento__item--books,
  .bento__item--prompts {
    grid-column: span 12;
  }

  .bento__item--audio,
  .bento__item--manual {
    grid-column: span 6;
  }
}

@media (min-width: 64em) {
  .bento__item {
    min-height: 34rem;
  }

  .bento__item--books {
    grid-column: span 7;
  }

  .bento__item--audio {
    grid-column: span 5;
  }

  .bento__item--manual {
    grid-column: span 5;
  }

  .bento__item--prompts {
    grid-column: span 7;
  }

  .stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
