/**
 * UniAdvisor -- Página "Cursos" (/cursos/)
 * Transplantado do mockup cursos.html (2026-08-11), mesmo ajuste de
 * cor de destaque já usado em faculdades.css (assets/css/faculdades.css,
 * /universidades/): #5B4FE0 do mockup -> #2f6fed (azul já em produção).
 * Design system (.uaf-page/.uaf-hero/.uaf-wrap/.uaf-section/etc.)
 * duplicado de propósito, não referenciado de faculdades.css -- mesmo
 * padrão de isolamento por página já usado no resto do tema (ex.
 * hub-universidade.css vs. unidade-campus.css, cada um com seu próprio
 * .breadcrumb/.hero em vez de compartilhar uma folha "base").
 *
 * Nota (lição aprendida no CSS de /universidades/): o tema Kadence
 * define `button{color:#fff}` global -- todo <button> aqui embaixo
 * declara sua PRÓPRIA cor de texto de propósito, nunca depende da cor
 * herdada, senão o texto fica branco-no-branco em botão de fundo claro.
 */

.uaf-page{
    --uaf-accent:#2f6fed;
    --uaf-accent-dark:#1d4ed8;
    --uaf-ink:#1F2430;
    --uaf-ink-soft:#6B7280;
    --uaf-ink-faint:#9298A5;
    --uaf-paper:#F7F7FB;
    --uaf-card:#FFFFFF;
    --uaf-line:#E5E7EB;
    --uaf-radius:14px;
    --uaf-lavender:#EEECFB;

    font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    color:var(--uaf-ink);
    background:var(--uaf-paper);
    line-height:1.5;
}

.uaf-page *{ box-sizing:border-box; }
.uaf-page h1,
.uaf-page h2,
.uaf-page h3{ font-family:'Sora', 'Inter', sans-serif; margin:0; }
.uaf-page a{ color:inherit; text-decoration:none; }
.uaf-page img{ display:block; max-width:100%; }
.uaf-page button{ font-family:inherit; }

.uaf-wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }

/* Breadcrumb -- mesma convenção visual do resto do site (ver
   .hub-page .breadcrumb em hub-universidade.css, .uaf-page .breadcrumb
   em faculdades.css). */
.uaf-page .breadcrumb{ font-size:13.5px; color:var(--uaf-ink-soft); padding:14px 24px; }
.uaf-page .breadcrumb a{ color:inherit; text-decoration:underline; }
.uaf-page .breadcrumb a:hover{ color:var(--uaf-accent); }
.uaf-page .breadcrumb .sep{ margin:0 8px; opacity:.5; }
.uaf-page .breadcrumb .current{ color:var(--uaf-ink); font-weight:600; }

/* Hero (centralizado, campo de busca único -- sem cidade nesta página) */
.uaf-hero{ background:var(--uaf-accent); padding:52px 0; }
.uaf-hero-inner{ max-width:1120px; margin:0 auto; padding:0 24px; text-align:center; }
.uaf-hero h1{
    font-size:34px; font-weight:600; line-height:1.15; letter-spacing:-0.01em; color:#fff;
}
.uaf-hero-sub{ margin-top:12px; font-size:16px; color:rgba(255,255,255,.82); }

.uaf-searchbar--cursos{
    margin:28px auto 0; background:var(--uaf-card); border-radius:16px; padding:10px;
    display:flex; gap:8px; max-width:560px; position:relative;
}
.uaf-searchbar--cursos .uaf-field{ flex:1; position:relative; }
.uaf-searchbar--cursos input{
    width:100%; border:none; background:transparent; font-family:'Inter',sans-serif;
    font-size:14.5px; padding:12px 14px; color:var(--uaf-ink); outline:none;
}
.uaf-searchbar--cursos button{
    border:none; cursor:pointer; font-weight:600; font-size:14.5px;
    color:#fff; background:var(--uaf-ink); border-radius:10px; padding:0 22px; white-space:nowrap;
}
.uaf-searchbar--cursos button:hover{ background:#000; }

/* Autocomplete (busca de curso no hero) */
.uaf-ac-panel{
    display:none; position:absolute; top:calc(100% + 6px); left:10px; right:10px;
    background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:10px;
    overflow:hidden; z-index:30; text-align:left; max-height:260px; overflow-y:auto;
    box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.uaf-ac-panel.open{ display:block; }
.uaf-ac-item{ padding:11px 14px; font-size:14px; cursor:pointer; display:flex; justify-content:space-between; gap:10px; }
.uaf-ac-item .uaf-ac-item-n{ color:var(--uaf-ink-faint); font-size:12.5px; white-space:nowrap; }
.uaf-ac-item:hover{ background:var(--uaf-paper); }
.uaf-ac-empty{ padding:11px 14px; font-size:13px; color:var(--uaf-ink-faint); }

/* Seções */
.uaf-section{ padding:36px 0; }
#uaf-resultados{ scroll-margin-top:100px; }
.uaf-section-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:18px; flex-wrap:wrap; gap:6px; }
.uaf-section-head h2{ font-size:20px; font-weight:600; }
.uaf-count{ font-size:14px; color:var(--uaf-ink-faint); font-weight:400; }

/* Cursos em destaque: banner de foto/ícone + nome + contagem */
.uaf-curso-destaque-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:12px; }
.uaf-curso-card{
    background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:var(--uaf-radius);
    overflow:hidden; display:flex; flex-direction:column;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.uaf-curso-card:hover{ border-color:var(--uaf-accent); box-shadow:0 6px 18px rgba(47,111,237,.08); }
.uaf-curso-card-banner{
    height:76px; background:var(--uaf-lavender); display:flex; align-items:center; justify-content:center;
    overflow:hidden;
}
.uaf-curso-card-banner img{ width:100%; height:100%; object-fit:cover; }
.uaf-curso-card-banner svg{ width:28px; height:28px; color:var(--uaf-accent); }
.uaf-curso-card-body{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.uaf-curso-card-name{ font-weight:600; font-size:14.5px; color:var(--uaf-ink); }
.uaf-curso-card-n{ font-size:12.5px; color:var(--uaf-ink-faint); }
.uaf-curso-card-go{ font-size:13px; font-weight:600; color:var(--uaf-accent); margin-top:auto; }

/* Explore por área -- prévia sempre visível, sem accordion */
.uaf-area-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.uaf-area-card{
    background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:var(--uaf-radius); padding:20px;
}
.uaf-area-card-title{ font-weight:600; font-size:15.5px; color:var(--uaf-ink); }
.uaf-area-card-count{ font-size:12.5px; color:var(--uaf-ink-faint); margin-top:2px; margin-bottom:12px; }
.uaf-area-card-list{ display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.uaf-area-card-list a{ font-size:13.5px; color:var(--uaf-ink-soft); width:fit-content; }
.uaf-area-card-list a:hover{ color:var(--uaf-accent); text-decoration:underline; }
.uaf-area-card-go{ font-size:13px; font-weight:600; color:var(--uaf-accent); }

.uaf-empty{
    background:var(--uaf-card); border:1px solid var(--uaf-line);
    border-radius:var(--uaf-radius); padding:32px; text-align:center;
}
.uaf-empty h3{ font-size:16px; margin-bottom:6px; }
.uaf-empty p{ color:var(--uaf-ink-soft); font-size:14px; }

/* Barra de filtros ("Todos os cursos") -- só busca por nome + área,
   empilha no mobile (sem drawer -- lista mais simples que a de
   /universidades/, não precisa esconder atrás de um botão). */
.uaf-filters--cursos{ display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; align-items:center; }
.uaf-filters--cursos .uaf-field{ position:relative; flex:1; min-width:220px; }
.uaf-filters--cursos input[type="text"],
.uaf-filters--cursos select{
    width:100%; font-family:'Inter',sans-serif; font-size:13.5px; padding:10px 12px;
    border:1px solid var(--uaf-line); border-radius:10px; background:var(--uaf-card); color:var(--uaf-ink);
    cursor:pointer; height:38px;
}
.uaf-filters--cursos input[type="text"]{ cursor:text; }
.uaf-filters--cursos select{ flex:0 0 200px; width:200px; }
.uaf-filters-apply{
    border:none; cursor:pointer; font-weight:600; font-size:13.5px;
    color:#fff; background:var(--uaf-accent); border-radius:10px; padding:0 18px; height:38px;
}
.uaf-filters-apply:hover{ background:var(--uaf-accent-dark); }
.uaf-filters-clear{ font-size:13.5px; font-weight:600; color:var(--uaf-ink-soft); text-decoration:underline; }

/* Todos os cursos -- lista em linhas, não cards */
.uaf-curso-list{ display:flex; flex-direction:column; border:1px solid var(--uaf-line); border-radius:var(--uaf-radius); overflow:hidden; background:var(--uaf-card); }
.uaf-curso-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:15px 18px; border-bottom:1px solid var(--uaf-line);
}
.uaf-curso-row:last-child{ border-bottom:none; }
.uaf-curso-row:hover{ background:var(--uaf-paper); }
.uaf-curso-row-name{ font-weight:500; font-size:14.5px; color:var(--uaf-ink); }
.uaf-curso-row-meta{ display:flex; align-items:center; gap:16px; }
.uaf-curso-row-n{ font-size:13px; color:var(--uaf-ink-faint); }
.uaf-curso-row-arrow{ color:var(--uaf-ink-faint); font-size:16px; }

/* Paginação numerada (desktop) */
.uaf-pagination{ display:flex; justify-content:center; gap:6px; margin-top:26px; font-size:14px; color:var(--uaf-ink-soft); }
.uaf-pagination .page-numbers{
    min-width:30px; height:30px; padding:0 8px; display:flex; align-items:center; justify-content:center;
    border-radius:8px; cursor:pointer;
}
.uaf-pagination .page-numbers.current{ background:var(--uaf-accent); color:#fff; font-weight:600; }
.uaf-pagination .page-numbers.dots{ cursor:default; }

.uaf-load-more{
    display:none; width:100%; padding:13px; border-radius:10px; border:1px solid var(--uaf-line);
    background:var(--uaf-card); color:var(--uaf-ink); font-weight:600; font-size:14px; margin-top:18px; cursor:pointer;
}
.uaf-load-more:hover{ border-color:var(--uaf-accent); color:var(--uaf-accent); }
.uaf-load-more[hidden]{ display:none !important; }

@media (max-width: 860px){

    .uaf-hero h1{ font-size:26px; }

    .uaf-curso-destaque-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    .uaf-area-grid{ grid-template-columns:repeat(1, minmax(0,1fr)); }

    .uaf-filters--cursos{ flex-direction:column; align-items:stretch; }
    .uaf-filters--cursos select{ flex:1; width:auto; }
    .uaf-filters-apply{ width:100%; }

    .uaf-curso-row-n{ display:none; }

    .uaf-pagination{ display:none; }
    .uaf-load-more{ display:block; }
}
