/* Ajustes de layout por cima do CSS do legado (carregado por ultimo no _Layout).
   1) Seletor de ano em botoes soltos que quebram de linha: cabe qualquer quantidade de anos.
   2) Celular: nada passa da largura da tela. */

/* ---------- seletor de ano ---------- */
span#select-year.button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border: 0;
    border-radius: 0;
    margin: 8px 0 4px 0;
}

span#select-year.button-group .button-group__option {
    width: auto;
    min-width: 62px;
    padding: 6px 12px;
    border: 1px solid #c5cfbb;
    border-radius: 16px;
    background: #fff;
    color: #555;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .15s, border-color .15s, color .15s;
}

span#select-year.button-group .button-group__option:hover {
    background: #f1f8e8;
    border-color: #8bc63e;
}

span#select-year.button-group .button-group__option--selected,
span#select-year.button-group .button-group__option--selected:hover {
    background: #8bc63e;
    border-color: #8bc63e;
    color: #fff;
    font-weight: bold;
}

span#select-year.button-group .button-group__option:focus-visible {
    outline: 2px solid #5d8f1f;
    outline-offset: 2px;
}

/* ---------- celular: tela de resultado ---------- */
@media (max-width: 640px) {
    #result-page.container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #result-page h1 {
        font-size: 26px;
        margin-top: 10px;
    }

    /* controles da tabela empilhados e do tamanho do dedo */
    #tabela-resultado_wrapper .dataTables_length,
    #tabela-resultado_wrapper .dataTables_filter {
        float: none;
        width: 100%;
        text-align: left;
        margin: 6px 0;
    }

    #tabela-resultado_wrapper .dataTables_filter label {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        margin: 0;
    }

    #tabela-resultado_wrapper .dataTables_filter input {
        flex: 1;
        min-width: 0;
        height: 40px;
        margin: 0;
        font-size: 16px; /* 16px evita o zoom automatico do iPhone ao focar */
    }

    #tabela-resultado_wrapper .dataTables_length select {
        height: 36px;
        font-size: 16px;
    }

    /* cada linha vira um cartao: nada fica escondido a direita */
    #tabela-resultado_wrapper {
        overflow: visible;
    }

    table#tabela-resultado,
    table#tabela-resultado tbody,
    table#tabela-resultado tr,
    table#tabela-resultado td {
        display: block;
        width: auto !important;
        border: 0;
    }

    table#tabela-resultado thead {
        display: none;
    }

    table#tabela-resultado tr.rows-item {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "uni    chance"
            "curso  curso"
            "ano    tipo"
            "nota   corte"
            "det    det";
        column-gap: 12px;
        row-gap: 4px;
        margin: 0 0 10px 0;
        padding: 12px 14px;
        background: #fff;
        border: 1px solid #dfe6d6;
        border-radius: 10px;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
    }

    table#tabela-resultado tr.rows-item td {
        padding: 0;
        background: none;
        line-height: 1.35;
    }

    table#tabela-resultado tr.rows-item td:nth-child(1) { grid-area: uni; font-weight: bold; font-size: 17px; color: #444; }
    table#tabela-resultado tr.rows-item td:nth-child(2) { grid-area: curso; font-size: 15px; }
    table#tabela-resultado tr.rows-item td:nth-child(3) { grid-area: ano; font-size: 14px; color: #777; }
    table#tabela-resultado tr.rows-item td:nth-child(4) { grid-area: chance; text-align: right; }
    table#tabela-resultado tr.rows-item td:nth-child(5) { grid-area: tipo; text-align: right; font-size: 13px; color: #777; }
    table#tabela-resultado tr.rows-item td:nth-child(6) { grid-area: nota; font-size: 18px; font-weight: bold; color: #444; margin-top: 6px; }
    table#tabela-resultado tr.rows-item td:nth-child(7) { grid-area: corte; font-size: 18px; font-weight: bold; color: #444; margin-top: 6px; text-align: right; }
    table#tabela-resultado tr.rows-item td:nth-child(8) { grid-area: det; margin-top: 8px; }

    table#tabela-resultado tr.rows-item td:nth-child(3)::before { content: "SiSU "; }
    table#tabela-resultado tr.rows-item td:nth-child(6)::before,
    table#tabela-resultado tr.rows-item td:nth-child(7)::before {
        display: block;
        font-size: 11px;
        font-weight: normal;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: #8a8a8a;
    }
    table#tabela-resultado tr.rows-item td:nth-child(6)::before { content: "Minha nota"; }
    table#tabela-resultado tr.rows-item td:nth-child(7)::before { content: "Nota de corte"; }

    /* no toque nao existe dica flutuante: o turno e o grau aparecem por escrito */
    table#tabela-resultado tr.rows-item td:nth-child(5) i.fa {
        margin-left: 8px !important;
    }
    table#tabela-resultado tr.rows-item td:nth-child(5) i.fa[title]::after {
        content: " " attr(title);
        font-family: "Ubuntu", Arial, sans-serif;
    }

    table#tabela-resultado tr.rows-item td .label {
        display: inline-block;
        font-size: 12px;
        padding: 5px 9px;
    }

    table#tabela-resultado tr.rows-item td a.show-detail {
        display: block;
        text-align: center;
        padding: 10px 0;
        font-size: 15px;
        border-radius: 6px;
    }

    #tabela-resultado_wrapper .dataTables_info {
        font-size: 13px;
        padding-top: 4px;
    }

    #tabela-resultado_wrapper .dataTables_paginate {
        float: none;
        text-align: center;
        padding-top: 10px;
    }

    #tabela-resultado_wrapper .dataTables_paginate .paginate_button {
        padding: 8px 12px;
        min-width: 40px;
    }
}

/* ---------- celular: todas as telas ---------- */
@media (max-width: 640px) {
    /* menos margem lateral: sobra mais tela para o conteudo */
    section.container.page {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* campo com letra menor que 16px faz o iPhone dar zoom ao focar */
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="tel"],
    input[type="number"],
    input[type="search"],
    select,
    textarea,
    .bootstrap-select > .btn {
        font-size: 16px;
    }

    /* botao do menu do tamanho do dedo */
    .navbar-custom .navbar-toggle {
        padding: 11px 14px;
        margin-top: 3px;
        margin-bottom: 3px;
    }

    .navbar-custom .navbar-collapse .nav > li > a {
        padding-top: 14px;
        padding-bottom: 14px;
    }
}
