/**
 * UniAdvisor -- Página individual de cidade (/cidade/{slug}/)
 * Transplantado do mockup cidade.html (2026-08-11), mesmo ajuste de cor
 * de destaque já usado nas outras páginas desta reconstrução (#5B4FE0 do
 * mockup -> #2f6fed, azul já em produção). Folha PRÓPRIA (mesmo padrão
 * de isolamento por página do resto do tema) -- não referencia
 * faculdades.css/cursos.css/cidades.css, mesmo repetindo blocos
 * parecidos (ex. card de curso, paginação).
 *
 * Breadcrumb DENTRO do hero (translúcido) -- mesma escolha visual já
 * aprovada pra /cidades/ (hub), aplicada aqui porque é assim que o
 * mockup cidade.html desenha esta página específica (diferente de
 * /universidades/ e /cursos/, onde o breadcrumb fica acima, em cinza).
 *
 * 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, nunca depende da herdada.
 */

.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;
    --uaf-green:#16a34a;
    --uaf-green-soft:#e8f7ee;
    --uaf-gold:#E7A93C;

    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:960px; margin:0 auto; padding:0 24px; }

/* Hero -- breadcrumb translúcido DENTRO da faixa colorida, ver
   comentário no topo do arquivo. */
.uaf-hero--cidades{ background:var(--uaf-accent); padding:40px 0; }
.uaf-hero--cidades .uaf-hero-inner{ max-width:960px; margin:0 auto; padding:0 24px; }

.uaf-hero--cidades .breadcrumb{ font-size:12.5px; color:rgba(255,255,255,.7); padding:0 0 14px; }
.uaf-hero--cidades .breadcrumb a{ color:rgba(255,255,255,.85); }
.uaf-hero--cidades .breadcrumb a:hover{ color:#fff; }
.uaf-hero--cidades .breadcrumb .sep{ margin:0 6px; }
.uaf-hero--cidades .breadcrumb .current{ color:rgba(255,255,255,.7); }

.uaf-hero--cidades h1{ font-size:28px; font-weight:600; margin-bottom:10px; color:#fff; }
.uaf-hero--cidades .uaf-hero-sub{ color:rgba(255,255,255,.85); font-size:14.5px; max-width:640px; margin:0; }

/* Faixa de estatísticas (universidades/cursos/modalidades) -- só os
   números que existem de verdade, ver taxonomy-cidade.php. */
.uaf-cidind-stats{
    display:flex; gap:0; margin:22px 0 0; background:var(--uaf-card); border:1px solid var(--uaf-line);
    border-radius:var(--uaf-radius); overflow:hidden; max-width:520px;
}
.uaf-cidind-stat{ flex:1; padding:14px 18px; border-right:1px solid var(--uaf-line); }
.uaf-cidind-stat:last-child{ border-right:none; }
.uaf-cidind-stat-num{ font-size:22px; font-weight:600; color:var(--uaf-ink); font-family:'Sora','Inter',sans-serif; }
.uaf-cidind-stat-label{ font-size:12px; color:var(--uaf-ink-faint); }

/* Seções */
.uaf-section{ padding:30px 0; }
.uaf-section--compact{ padding:16px 0; }
#uaf-resultados{ scroll-margin-top:100px; }
.uaf-section-head{ margin-bottom:14px; }
.uaf-section-head h2{ font-size:19px; font-weight:600; }

/* Filtros (curso/modalidade[/nota MEC/ordenar], porte média e grande) --
   MESMO padrão visual de .uaf-filters em /universidades/ (faculdades.css),
   duplicado aqui de propósito (isolamento por página) -- pedido do
   usuário depois de ver a primeira versão (2026-08-11): "o filtro tem
   que ser o mesmo padrão das outras páginas, ao invés de apenas select". */
.uaf-filters{ display:flex; gap:10px; margin-bottom:18px; flex-wrap:wrap; align-items:center; }
.uaf-filters .uaf-field{ position:relative; }
.uaf-filters select{
    font-family:'Inter',sans-serif; font-size:13.5px; padding:9px 12px; height:38px;
    border:1px solid var(--uaf-line); border-radius:10px; background:var(--uaf-card); color:var(--uaf-ink);
    cursor:pointer;
}
.uaf-filters .uaf-sort{ margin-left:auto; }
.uaf-filters-actions{ display:flex; align-items:center; gap:14px; }
.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; }

/* Universidades em {Cidade} -- grade quadrada 4 colunas, MESMO
   componente .uaf-card usado em /universidades/ (faculdades.css),
   duplicado aqui -- pedido do usuário: "aqui pode ser quadrado, assim
   como nas outras páginas. Mostra 4 em cada bloco." Único acréscimo pro
   estilo "cidade" (ver template-parts/card-universidade.php): a linha
   de meta "Cidade - UF · N cursos · Modalidade" e a badge dupla
   (MEC + avaliação real). */
.uaf-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }

.uaf-card{
    background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:var(--uaf-radius);
    padding:18px; text-align:center; display:flex; flex-direction:column; align-items:center;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.uaf-card:hover{ border-color:var(--uaf-accent); box-shadow:0 6px 18px rgba(47,111,237,.08); }

.uaf-card-mark{
    width:44px; height:44px; border-radius:10px; margin:0 0 10px;
    display:flex; align-items:center; justify-content:center;
    font-weight:600; font-size:15px; color:#fff;
}
.uaf-card-mark--logo{ background:#fff; border:1px solid var(--uaf-line); padding:6px; }
.uaf-card-mark--logo img{ width:100%; height:100%; object-fit:contain; }

.uaf-card-name{ font-weight:600; font-size:14px; color:var(--uaf-ink); }
.uaf-card-city{ font-size:12.5px; color:var(--uaf-ink-faint); margin-top:2px; }

.uaf-cidind-badges{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center; margin-top:10px; }
.uaf-badge{ font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:100px; white-space:nowrap; }
.uaf-badge--mec{ background:var(--uaf-paper); color:var(--uaf-ink-soft); border:1px solid var(--uaf-line); }
.uaf-badge--nota{ background:var(--uaf-green-soft); color:var(--uaf-green); }

.uaf-card-cta{
    margin-top:12px; font-size:12.5px; font-weight:600; color:var(--uaf-accent);
    display:flex; align-items:center; gap:4px;
}
.uaf-card-cta svg{ width:14px; height:14px; }

/* Paginação numerada (desktop) -- mesma marcação de .uaf-pagination
   (cursos.css), duplicada aqui. */
.uaf-pagination{ display:flex; justify-content:center; gap:6px; margin-top:22px; 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:16px; cursor:pointer;
}
.uaf-load-more:hover{ border-color:var(--uaf-accent); color:var(--uaf-accent); }
.uaf-load-more[hidden]{ display:none !important; }

/* Cursos oferecidos -- mesmo cartão de .uaf-curso-card (cursos.css),
   duplicado aqui; contagem no rodapé do card já vem escopada à cidade
   (ver uniadvisor_cidade_ind_renderizar_curso_card()). */
.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); }

/* "Ver todos os N cursos" -- SEM JS: checkbox nativo escondido +
   seletor geral irmão. Todo card já está no HTML renderizado desde o
   carregamento (crawler enxerga tudo); a partir do 9º card, só fica
   visualmente oculto até o clique, funciona igual sem JavaScript. */
.uaf-toggle-input{ position:absolute; opacity:0; pointer-events:none; height:0; width:0; }
.uaf-cidind-cursos-grid > a:nth-child(n+9){ display:none; }
#uaf-cidind-cursos-toggle:checked ~ .uaf-cidind-cursos-grid > a{ display:flex; }
.uaf-ver-todos-btn{
    display:inline-block; margin-top:14px; font-size:13.5px; font-weight:600; color:var(--uaf-accent); cursor:pointer;
}
.uaf-ver-todos-btn:hover{ text-decoration:underline; }
#uaf-cidind-cursos-toggle:checked ~ .uaf-ver-todos-btn{ display:none; }

/* Modalidades de ensino (frase única) */
.uaf-cidind-modalidades-line{ font-size:14px; color:var(--uaf-ink-soft); }
.uaf-cidind-modalidades-line strong{ color:var(--uaf-ink); font-weight:600; }

/* Ensino superior em {Cidade} (texto dinâmico) */
.uaf-cidind-content-block{
    background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:var(--uaf-radius);
    padding:20px; font-size:14px; color:var(--uaf-ink-soft); line-height:1.7;
}
.uaf-cidind-content-block p + p{ margin-top:10px; }

/* Avaliações de faculdades */
.uaf-cidind-avaliacoes-empty{
    background:var(--uaf-paper); border:1px dashed var(--uaf-line); border-radius:var(--uaf-radius);
    padding:16px 18px; font-size:13.5px; color:var(--uaf-ink-faint);
}
.uaf-cidind-review-count{ font-size:13px; color:var(--uaf-ink-faint); margin-bottom:12px; }
.uaf-cidind-review-list{ display:flex; flex-direction:column; gap:10px; }
.uaf-cidind-review-card{
    background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:var(--uaf-radius); padding:14px 16px;
}
.uaf-cidind-review-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; gap:10px; }
.uaf-cidind-review-uni{ font-weight:600; font-size:13.5px; }
.uaf-cidind-review-stars{ color:var(--uaf-gold); font-size:12.5px; white-space:nowrap; }
.uaf-cidind-review-quote{ font-size:13.5px; color:var(--uaf-ink-soft); font-style:italic; line-height:1.6; }
.uaf-cidind-review-read{ display:inline-block; margin-top:8px; font-size:12.5px; font-weight:600; color:var(--uaf-accent); }

/* Outras cidades do estado (fallback sem geocodificação, ver
   taxonomy-cidade.php) */
.uaf-cidind-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.uaf-cidind-chip{
    font-size:13px; border:1px solid var(--uaf-line); border-radius:8px; padding:6px 12px;
    background:var(--uaf-card); display:flex; gap:6px; align-items:baseline;
}
.uaf-cidind-chip:hover{ border-color:var(--uaf-accent); }
.uaf-cidind-chip .n{ color:var(--uaf-ink-faint); font-size:12px; }
.uaf-cidind-chip--all{ color:var(--uaf-accent); font-weight:600; border-color:transparent; background:transparent; padding:6px 4px; }

/* FAQ -- <details>/<summary> nativo, mesma marcação visual do resto do
   site. */
.uaf-cidind-faq{ background:var(--uaf-card); border:1px solid var(--uaf-line); border-radius:var(--uaf-radius); padding:6px 20px; }
.uaf-faq-item{ border-bottom:1px solid var(--uaf-line); padding:14px 0; }
.uaf-faq-item:last-child{ border-bottom:none; }
.uaf-faq-item summary{ font-weight:500; font-size:14.5px; cursor:pointer; list-style:none; }
.uaf-faq-item summary::-webkit-details-marker{ display:none; }
.uaf-faq-item summary::before{ content:"+ "; color:var(--uaf-ink-faint); }
.uaf-faq-item[open] summary::before{ content:"\2212 "; }
.uaf-faq-item p{ color:var(--uaf-ink-soft); font-size:13.5px; margin-top:8px; line-height:1.6; }

.uaf-empty{
    grid-column:1 / -1; 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; }

@media (max-width: 860px){

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

    .uaf-filters{ flex-direction:column; align-items:stretch; }
    .uaf-filters select{ width:100%; }
    .uaf-filters .uaf-sort{ margin-left:0; }
    .uaf-filters-actions{ margin-top:4px; }
    .uaf-filters-apply{ flex:1; width:100%; }

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

@media (max-width: 700px){

    .uaf-hero--cidades h1{ font-size:22px; }
    .uaf-cidind-stats{ max-width:100%; }
}
