/**
 * UniAdvisor -- Página individual de estado (/estado/{slug}/)
 * Reconstruído (2026-08-11) pra usar o MESMO sistema visual da página
 * individual de cidade (assets/css/cidade.css) -- confirmado com o
 * usuário. Folha PRÓPRIA (mesmo padrão de isolamento por página do
 * resto do tema) -- duplica os mesmos blocos de cidade.css de propósito,
 * não referencia aquele arquivo.
 *
 * Breadcrumb DENTRO do hero (translúcido) -- mesma escolha visual já
 * usada em /cidade/{slug}/ e /cidades/.
 *
 * 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-estado.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; }
.uaf-count{ font-size:14px; color:var(--uaf-ink-faint); font-weight:400; }

/* Filtros (cidade/curso/modalidade[/nota MEC/ordenar], porte média e
   grande) -- MESMO padrão visual de .uaf-filters em /universidades/ e
   /cidade/{slug}/, duplicado aqui de propósito (isolamento por página).
   Um campo a mais que a versão de cidade: <select name="cidade">. */
.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 {Estado} -- grade quadrada 4 colunas, MESMO
   componente .uaf-card usado em /universidades/ e /cidade/{slug}/,
   duplicado aqui. Card chamado com o MESMO estilo=cidade (ver
   template-parts/card-universidade.php -- não distingue cidade vs.
   estado). */
.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) */
.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 já usado em
   /cursos/ e /cidade/{slug}/, duplicado aqui; contagem no rodapé do
   card já vem escopada ao ESTADO (ver
   uniadvisor_estado_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 (mesmo mecanismo de /cidade/{slug}/, ver
   assets/css/cidade.css). 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-estindcursos-grid > a:nth-child(n+9){ display:none; }
#uaf-estindcursos-toggle:checked ~ .uaf-estindcursos-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-estindcursos-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 {Estado} (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); }

/* Cidades de {Estado} -- diferente de /cidade/{slug}/ (onde chips são um
   FALLBACK sem geocodificação), aqui é o escopo PRINCIPAL: lista TODAS
   as cidades reais do estado, sem limite, ordenadas por volume. Mesmo
   componente visual .uaf-cidind-chip. */
.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; }

/* 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%; }
}
