/* Seções novas ou refeitas: chefes, Jackers com filtro, cartas de safra. */

/* ---------- Jackers ---------- */
.raridades { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.raridades button {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; cursor: pointer;
  font: inherit; font-family: var(--titulo); font-size: 1rem; color: var(--cor-rar); background: #1a0f0799;
  border: 2px solid var(--cor-rar); border-radius: 999px; transition: background .15s, color .15s, transform .15s;
}
.raridades button small { font-family: var(--pixel); font-size: 1.15rem; line-height: 1; opacity: .85; }
.raridades button:hover { transform: translateY(-2px); }
.raridades button[aria-pressed='true'] { color: #1a0f07; background: var(--cor-rar); }
.raridades button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.raridades .r-todas { --cor-rar: #fbf1d6; }
.vitrine .jacker { transition: opacity .25s, filter .25s, transform .25s; }
.vitrine .jacker.fora { opacity: .16; filter: grayscale(1); transform: scale(.94); pointer-events: none; }
.jk-notas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 30px 0 0; padding: 0; list-style: none; }
.jk-notas li { padding: 16px 18px; border: 2px solid #ffffff1f; border-radius: 10px; background: #00000033; }
.jk-notas b { display: block; font-family: var(--titulo); font-weight: 400; font-size: 1.15rem; color: var(--milho); margin-bottom: 4px; }
.jk-notas span { font-size: .92rem; color: var(--creme-escuro); }

/* ---------- Chefes ---------- */
.secao-chefes { background: radial-gradient(70% 55% at 50% 0%, #5a1c14 0%, transparent 62%), linear-gradient(180deg, #2a140c, #2a1a0e); }
.jornada { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; margin: 40px 0 10px; padding: 0; list-style: none; counter-reset: entrega; }
.jornada li {
  position: relative; counter-increment: entrega; height: 46px; display: grid; place-items: center;
  font-family: var(--pixel); font-size: 1.5rem; line-height: 1; color: #cbb489; background: #3a2414; border: 2px solid #1a0f07; border-radius: 6px;
}
.jornada li::before { content: counter(entrega); }
.jornada li.chefe { color: #fff; background: #a3271c; border-color: #4d0f0a; box-shadow: 0 0 0 2px #ff6b4a55, 0 0 22px #ff3b1f66; }
.jornada li.festival { color: #2a1a0e; background: linear-gradient(180deg, #ffe08a, #ffb52e); border-color: #7a4a0c; box-shadow: 0 0 22px #ffcb5088; }
.jornada li.ano::after {
  content: attr(data-ano); position: absolute; left: 0; top: -24px; white-space: nowrap;
  font-family: var(--corpo, inherit); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: #cbb489;
}
.jornada-legenda { display: flex; flex-wrap: wrap; gap: 18px; font-size: .84rem; color: var(--creme-escuro); }
.jornada-legenda i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 3px; vertical-align: -1px; }
.jornada-legenda .l-chefe { background: #a3271c; }
.jornada-legenda .l-festival { background: #ffcb50; }

.chefes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 38px 0 0; padding: 0; list-style: none; }
.chefe-carta {
  position: relative; display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; padding: 18px;
  background: linear-gradient(180deg, #3d1a12, #2a140c); border: 3px solid #1a0f07; border-radius: 12px;
  box-shadow: inset 0 2px 0 #7a2c1f, 0 8px 0 #1a0f0799; transition: transform .2s;
}
.chefe-carta:hover { transform: translateY(-6px) rotate(-.6deg); }
.chefe-carta img { width: 96px; height: 96px; image-rendering: pixelated; filter: drop-shadow(0 6px 0 #00000055); }
.chefe-carta h3 { font-size: 1.3rem; color: #ffd9c2; }
.chefe-carta p { margin-top: 6px; font-size: .92rem; line-height: 1.5; color: #e9cdb9; }
.chefe-carta.festival-carta { background: linear-gradient(180deg, #6b4a12, #3a2a0e); box-shadow: inset 0 2px 0 #ffcb50, 0 8px 0 #1a0f0799; }
.chefe-carta.festival-carta h3 { color: #ffe08a; }
.chefe-carta.festival-carta .festas { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.chefe-carta.festival-carta .festas span { padding: 3px 9px; font-size: .78rem; color: #2a1a0e; background: #ffe08a; border-radius: 999px; }
.festival-icone { display: grid; place-items: center; width: 96px; height: 96px; font-size: 3.4rem; }
.chefes-dica { margin-top: 26px; font-size: .95rem; color: var(--creme-escuro); }
.chefes-dica b { color: var(--milho); }

/* ---------- Cartas de safra ---------- */
.safras { gap: 0; }
.carta-safra {
  --naipe: #327347; position: relative; flex: none; width: 138px; aspect-ratio: 5 / 7; margin-inline: -12px; padding: 0;
  background: var(--papel); border: 3px solid #1a0f07; border-radius: 12px; overflow: hidden;
  box-shadow: 0 10px 22px #0008, inset 0 0 0 5px var(--papel), inset 0 0 0 7px var(--naipe);
}
.carta-safra .s-canto { position: absolute; z-index: 2; display: grid; justify-items: center; line-height: .9; font-family: var(--titulo); font-size: 1.9rem; color: var(--naipe); }
.carta-safra .s-canto img { width: 20px; height: 20px; margin-top: 3px; }
.carta-safra .s-canto.c1 { left: 13px; top: 12px; }
.carta-safra .s-canto.c2 { right: 13px; bottom: 34px; transform: rotate(180deg); }
.carta-safra .s-arte { position: absolute; inset: 30px 16px 40px; display: grid; place-items: center; }
.carta-safra .s-arte img { max-width: 100%; max-height: 100%; image-rendering: pixelated; filter: drop-shadow(0 4px 0 #2a1a0e33); }
.carta-safra .s-nome {
  position: absolute; left: 7px; right: 7px; bottom: 7px; padding: 4px 2px 3px; text-align: center;
  font-family: var(--titulo); font-size: .84rem; line-height: 1; color: #fff; background: var(--naipe); border-radius: 0 0 6px 6px;
}
.carta-safra[data-naipe='frutos'] { --naipe: #873348; }
.carta-safra[data-naipe='bichos'] { --naipe: #91601d; }
.carta-safra[data-naipe='natureza'] { --naipe: #285d89; }
/* O saco de safras: a arte do verso como ela é, em pé, ao lado da mão. Sem caixa de
   carta por cima: a arte já tem a própria moldura. */
.saco { flex: none; align-self: center; margin: 0 0 0 34px; text-align: center; }
.saco img {
  display: block; height: 193px; width: auto; image-rendering: pixelated;
  filter: drop-shadow(5px 5px 0 #4a1610) drop-shadow(0 16px 14px #0009);
}
.saco figcaption { margin-top: 14px; font-family: var(--titulo); font-size: .92rem; color: var(--creme-escuro); }

.naipes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 44px 0 0; padding: 0; list-style: none; }
.naipe {
  --naipe: #327347; padding: 16px; border-radius: 12px; border: 3px solid #1a0f07; background: var(--papel); color: #2a1a0e;
  box-shadow: inset 0 0 0 4px var(--papel), inset 0 0 0 6px var(--naipe), 0 6px 0 #1a0f0799;
}
.naipe[data-naipe='frutos'] { --naipe: #873348; }
.naipe[data-naipe='bichos'] { --naipe: #91601d; }
.naipe[data-naipe='natureza'] { --naipe: #285d89; }
.naipe h4 { display: flex; align-items: center; gap: 8px; margin: 0; font-family: var(--titulo); font-weight: 400; font-size: 1.25rem; color: var(--naipe); }
.naipe h4 img { width: 24px; height: 24px; }
.naipe p { margin-top: 4px; font-size: .86rem; }
.naipe-safras { display: flex; gap: 6px; margin-top: 12px; }
.naipe-safras img { width: 40px; height: 48px; object-fit: contain; image-rendering: pixelated; }

.combos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 18px 0 0; padding: 0; list-style: none; }
.combos li { display: flex; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 10px; border: 2px solid #ffffff1f; background: #00000033; }
.combos strong { flex: none; min-width: 92px; padding: 6px 8px; text-align: center; font-family: var(--pixel); font-size: 1.6rem; line-height: 1; border-radius: 6px; background: #1a0f07; }
.combos .c-mult strong { color: #ffb4a8; }
.combos .c-soma strong { color: #b9dcff; }
.combos span { font-size: .9rem; color: var(--creme-escuro); }

@media (max-width: 900px) {
  .chefes, .jk-notas, .combos { grid-template-columns: 1fr; }
  .naipes { grid-template-columns: repeat(2, 1fr); }
  .jornada { grid-template-columns: repeat(6, 1fr); row-gap: 34px; }
  .carta-safra { width: 96px; margin-inline: -18px; }
  .carta-safra .s-canto { font-size: 1.4rem; }
  .carta-safra .s-nome { font-size: .72rem; }
}

.raridades button span { padding: 0; border: 0; background: none; color: inherit; }

/* ---------- Rejogabilidade ---------- */
.secao-rejogo { background: radial-gradient(70% 55% at 50% 0%, #1f4a3a 0%, transparent 62%), linear-gradient(180deg, #2a1a0e, #23170c); }
.rejogo { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; margin: 40px 0 0; padding: 0; list-style: none; }
.rejogo > li {
  position: relative; grid-column: span 3; padding: 26px; overflow: hidden;
  border: 3px solid #1a0f07; border-radius: 14px; background: linear-gradient(180deg, #3a2414, #2a1a0e);
  box-shadow: inset 0 2px 0 #6b4024, 0 8px 0 #1a0f0799;
}
.rejogo > li.largo { grid-column: span 6; display: grid; grid-template-columns: 1fr 1.1fr; gap: 30px; align-items: center; }
.rejogo h3 { font-size: 1.7rem; color: var(--milho); }
.rejogo p { margin-top: 10px; font-size: 1rem; line-height: 1.6; color: var(--creme-escuro); }
.rejogo p b { color: var(--creme); }

/* Conta que não para de crescer. */
.conta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; font-family: var(--pixel); line-height: 1; }
.conta b { min-width: 2.2ch; padding: 10px 18px 6px; text-align: center; font-weight: 400; font-size: clamp(2.6rem, 5vw, 4.6rem); color: #fff; border: 4px solid #1a0f07; border-radius: 12px; box-shadow: 0 6px 0 #1a0f07; }
.conta .c-soma { background: #2f6fe0; }
.conta .c-mult { background: #d83a2e; }
.conta .c-total { background: #1a0f07; color: #ffe08a; }
.conta i { font-style: normal; font-size: 2.6rem; color: var(--creme); }
.conta small { flex-basis: 100%; text-align: center; font-family: var(--corpo); font-size: .84rem; color: #cbb489; }

/* Terreno que cresce. */
.terreno-grade { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; width: min(260px, 100%); margin: 20px auto 0; padding: 8px; background: #1a0f07; border-radius: 10px; }
.terreno-grade i { aspect-ratio: 1; border-radius: 2px; background: #5a3a1c; }
.terreno-grade i[data-anel='0'] { background: #8fc23d; }
.terreno-grade i[data-anel='1'] { background: #6fa032; }
.terreno-grade i[data-anel='2'] { background: #568428; }
.terreno-grade i[data-anel='3'] { background: #44701f; }
.semente-chip { display: inline-block; margin-top: 16px; padding: 8px 14px 5px; font-family: var(--pixel); font-size: 1.7rem; line-height: 1; letter-spacing: .06em; color: var(--milho); background: #1a0f07; border: 2px solid var(--milho-escuro); border-radius: 8px; }

.rejogo-lista { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.rejogo-lista li { display: flex; gap: 10px; align-items: baseline; font-size: .94rem; color: var(--creme-escuro); }
.rejogo-lista li b { flex: none; color: var(--creme); font-family: var(--titulo); font-weight: 400; }
.niveis-linha { display: flex; gap: 5px; margin-top: 16px; }
.niveis-linha span { display: grid; place-items: center; width: 30px; height: 34px; font-family: var(--titulo); color: #1a0f07; background: var(--milho); border-radius: 5px; box-shadow: 0 3px 0 var(--milho-escuro); }
.niveis-linha span:nth-child(n+5) { background: #ff8a2a; box-shadow: 0 3px 0 #a84a0c; }
.niveis-linha span:nth-child(8) { color: #fff; background: #d83a2e; box-shadow: 0 3px 0 #7a1810; }
.niveis-linha .infinito { width: auto; padding: 0 10px; color: var(--milho); background: #1a0f07; box-shadow: 0 3px 0 #000; }

.conq-numero { font-family: var(--pixel); font-size: 5.4rem; line-height: .8; color: var(--milho); text-shadow: 0 5px 0 #1a0f07; }
.conq-categorias { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.conq-categorias span { padding: 3px 10px; font-size: .78rem; color: var(--creme); border: 1px solid #ffffff33; border-radius: 999px; }
.selos { display: flex; gap: 10px; margin-top: 18px; }
.selos span { flex: 1; padding: 8px 4px 6px; text-align: center; font-family: var(--titulo); font-size: .9rem; color: #1a0f07; border: 3px solid #1a0f07; border-radius: 10px; box-shadow: inset 0 2px 0 #ffffff66; }
.selos .s-bronze { background: #c98a4b; }
.selos .s-prata { background: #cfd6de; }
.selos .s-ouro { background: #ffc93a; }
.selos .s-arco { background: linear-gradient(90deg, #ff7ad9, #ffc93a, #6fcf5a, #5fc8ff); }

/* ---------- Vídeo ---------- */
.trailer-moldura { margin-top: 40px; padding: 10px; border-radius: 16px; border: 3px solid #1a0f07; background: linear-gradient(180deg, var(--madeira-clara), var(--madeira-media)); box-shadow: inset 0 3px 0 #c58a52, 0 10px 0 #1a0f0799, 0 30px 60px #0008; }
.trailer { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 8px; border: 3px solid #1a0f07; background: #1a0f07; }

@media (max-width: 900px) {
  .rejogo > li, .rejogo > li.largo { grid-column: span 6; }
  .rejogo > li.largo { grid-template-columns: 1fr; }
  .selos { flex-wrap: wrap; }
  .selos span { flex-basis: 40%; }
}

.niveis-linha span.infinito { width: auto; padding: 0 12px; font-size: 1.3rem; color: var(--milho); background: #1a0f07; box-shadow: 0 3px 0 #000; }

/* "E tem mais": quatro blocos em 2 × 2, centralizados e maiores. */
.recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; max-width: 1060px; margin-inline: auto; }
.recurso { padding: 30px; }
.recurso-arte { height: 220px; gap: 18px; }
.recurso h3 { font-size: 1.65rem; margin-top: 22px; }
.recurso p { font-size: 1.08rem; line-height: 1.6; }
.recurso .clima-icones img { width: 88px; height: 88px; }
.recurso .pacotes img, .recurso .lendas img { width: 124px; height: auto; }
.recurso .jack-rostos img { width: auto; height: 196px; }
@media (max-width: 760px) {
  .recursos { grid-template-columns: 1fr; }
  .recurso { padding: 22px; }
  .recurso-arte { height: 170px; }
  .recurso .pacotes img, .recurso .lendas img { width: 92px; }
  .recurso .clima-icones img { width: 62px; height: 62px; }
  .saco { margin-left: 16px; }
  .saco img { height: 134px; }
}
