/* ==========================================================================
   Tela de seleção de personagem da Ficha Iluminada: só o arranjo. Os cards
   (.card-heroi), a fita e os botões vêm de componentes.css. Tudo aqui fica
   sob .tela-selecao, a classe da .folha da abertura do jogo.
   ========================================================================== */

.folha.tela-selecao {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100dvh;
    padding: 0 1.4rem;
}

/* ---------- Cabeçalho: título no centro; o selo de música no canto ---------- */

.tela-selecao .cabecalho {
    display: grid;
    place-items: center;
    min-height: 6.5rem;
}
/* No DOM o selo vem depois do botão de começar (ordem de tabulação e contrato
   do qa_ded); aqui ele sobe para a altura dos selos da exploração */
.tela-selecao > .selos {
    position: absolute;
    top: 0;
    right: 8.4rem;
    height: 6.5rem;
    align-items: center;
}

/* ---------- Escolha do herói ---------- */

.tela-selecao .selecao {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: 2rem;
    padding: 1rem 0 2.5rem;
}
.tela-selecao .subtitulo {
    margin: 0;
    font: italic 1.4rem/1.3 var(--fonte-texto);
    color: var(--sepia);
    text-align: center;
}
.tela-selecao .painel-herois { padding: 6.8rem 3rem 2.6rem; }
.tela-selecao .selecao-acao {
    display: grid;
    justify-items: center;
    gap: 0.5rem;
}
.tela-selecao .selecao-dica {
    margin: 0;
    min-height: 1.4em;
    font: italic 1.05rem/1.4 var(--fonte-texto);
    color: var(--apagado);
}

/* ---------- Créditos dos ícones, no pé da folha ---------- */

.tela-selecao .creditos {
    margin: 0;
    padding: 0 0 1.2rem;
    font: italic max(0.85rem, 11.5px)/1.4 var(--fonte-texto);
    color: var(--apagado);
    text-align: center;
    text-wrap: balance;
}
.tela-selecao .creditos a { color: var(--sepia); white-space: nowrap; }
.tela-selecao .creditos a:hover { color: var(--rubro); }

/* ---------- Telas estreitas ou em retrato: celular e tablet (Fase 5) ---------- */

/* Os cards empilhados e mais baixos, e o "Começar a aventura" preso ao pé da tela
   enquanto os cards passam: escolhido o herói, o botão já está à vista. */
@media (max-width: 68.6875em), (orientation: portrait) {
    .folha.tela-selecao { padding: 0 0.35rem; }
    .tela-selecao .cabecalho { min-height: 0; padding: 0.9rem 0 0; }
    .tela-selecao .selecao { gap: 1.4rem; padding: 0.6rem 0 0; }
    .tela-selecao .subtitulo { font-size: 1.2rem; }
    .tela-selecao > .selos { position: static; height: auto; justify-content: center; padding: 1.6rem 0 1.4rem; }
    .tela-selecao .painel-herois { padding: 5.4rem 0.9rem 1.4rem; }
    .tela-selecao .herois { grid-template-columns: minmax(0, 21.5rem); row-gap: 4.2rem; }
    .tela-selecao .card-heroi { padding: 3.9rem 1.1rem 1rem; gap: 0.45rem; }
    .tela-selecao .card-heroi-retrato { top: -3rem; width: 6.2rem; }
    .tela-selecao .card-heroi-retrato svg { width: 3.1rem; height: 3.1rem; }
    .tela-selecao .card-heroi-nome { font-size: 2.1rem; }
    .tela-selecao .card-heroi-descricao { min-height: 0; }
    .tela-selecao .card-heroi .selo-cera { top: -1.2rem; right: -1.3rem; }
    /* o card ocupa a largura toda, e o contorno do foco cairia na moldura da folha:
       anel triplo, como nos selos (o card escolhido mantém os anéis de dentro) */
    .tela-selecao .card-heroi:has(input:focus-visible) {
        outline: 0.15rem solid transparent; /* o anel de alto contraste (forced-colors) */
        box-shadow: 0 0 0 0.15rem var(--rubro), 0 0 0 0.32rem var(--ouro), 0 0 0 0.44rem var(--tinta);
    }
    .tela-selecao .card-heroi:has(input:checked):has(input:focus-visible),
    .tela-selecao .card-heroi.selected:has(input:focus-visible) {
        box-shadow: inset 0 0 0 0.14rem var(--rubro), inset 0 0 0 0.3rem rgba(201, 161, 79, 0.75),
            0 0 0 0.15rem var(--rubro), 0 0 0 0.32rem var(--ouro), 0 0 0 0.44rem var(--tinta);
    }
    .tela-selecao .selecao-acao {
        position: sticky;
        bottom: 0;
        z-index: var(--z-ornamento);
        justify-self: stretch;
        gap: 0.3rem;
        padding: 0.8rem 0 calc(0.4rem + env(safe-area-inset-bottom, 0px));
        border-top: 0.1rem solid var(--sepia);
        background: url(../ui/texturas/pergaminho.webp) 0 0 / 512px repeat, var(--pergaminho);
        box-shadow: 0 -0.25rem 0 var(--pergaminho), 0 -0.32rem 0 rgba(107, 74, 46, 0.45);
    }
    .tela-selecao .selecao-dica { min-height: 1.4em; font-size: 1rem; }
    /* o foco do teclado não fica escondido atrás do botão preso ao pé da tela */
    html:has(> body > .tela-selecao:not(.hidden)) { scroll-padding-bottom: 7rem; }
    /* os créditos longe do filete interno da moldura, e os links com toque de 44 px num
       ::after (com padding, o anel de foco envolvia a caixa toda e cortava a linha de cima) */
    .tela-selecao .creditos { padding: 0 1.2rem 2.1rem; }
    .tela-selecao .creditos a { position: relative; }
    .tela-selecao .creditos a::after { content: ""; position: absolute; inset: -0.9rem 0; }
}

/* Tablet deitado: os três cards lado a lado, como no desktop, e o botão no lugar */
@media (min-width: 56.25em) and (max-width: 68.6875em), (min-width: 56.25em) and (orientation: portrait) {
    .tela-selecao .herois { grid-template-columns: repeat(3, minmax(0, 21.5rem)); column-gap: 1.6rem; }
    .tela-selecao .selecao-acao { position: static; padding: 0.4rem 0 0; border-top: 0; background: none; box-shadow: none; }
    html:has(> body > .tela-selecao:not(.hidden)) { scroll-padding-bottom: 0; }
}
