/* ==========================================================================
   PUBLIC.SHELL.2 | Ponte visual da Politeia Viva para o Shell Público V2
   Mantém a semântica local e remove a concorrência visual com a marca global.
   ========================================================================== */

body.tv2-public-body,
body.tv2-public-page,
body.tv2-temporal-public{
  min-width:320px;
  margin:0;
  background:#f6faff;
}

/* O shell compartilhado é a única navegação global pública. */
body.tv2-public-body .tv2-public-nav,
body.tv2-public-page .tv2-public-nav,
body.tv2-public-page .tv2-hv-public-nav,
body.tv2-temporal-public .tv2-hv-public-nav{
  display:none!important;
}

/* Converte a antiga cor estrutural violeta para a gramática BLUE -> CYAN -> GREEN. */
body.tv2-public-body .tv2-page{
  --tv2-blue:#2157d9;
  --tv2-blue-rgb:33,87,217;
  --tv2-violet:#2157d9;
  --tv2-violet-rgb:33,87,217;
  --tv2-cyan:#0ea5c6;
  --tv2-cyan-rgb:14,165,198;
  --tv2-green:#18a868;
  --tv2-green-rgb:24,168,104;
  --tv2-magenta:#0ea5c6;
  --tv2-magenta-rgb:14,165,198;
}

body.tv2-hv-public{
  --hv-violet:33,87,217;
  --hv-blue:33,87,217;
  --hv-cyan:14,165,198;
  --hv-green:24,168,104;
  --hv-magenta:14,165,198;
  background:
    radial-gradient(circle at 10% 0,rgba(33,87,217,.07),transparent 30%),
    radial-gradient(circle at 95% 20%,rgba(14,165,198,.07),transparent 26%),
    #f7fbfe;
}

body.tv2-temporal-public{
  background:
    radial-gradient(circle at 10% 10%,rgba(33,87,217,.065),transparent 26%),
    radial-gradient(circle at 90% 40%,rgba(14,165,198,.065),transparent 30%),
    #f8fbfd;
}

body.tv2-temporal-public .tv2-temporal-public-hero>div:first-child>span,
body.tv2-temporal-public .tv2-regional-public-hero>div:first-child>span,
body.tv2-temporal-public .tv2-temporal-public-panel>header span,
body.tv2-temporal-public .tv2-regional-public-cards .material-icons{
  color:#2157d9;
}

body.tv2-temporal-public .tv2-temporal-public-core{
  border-color:rgba(33,87,217,.15);
}

body.tv2-temporal-public .tv2-temporal-public-core strong{
  color:#2157d9;
}

body.tv2-temporal-public .tv2-regional-public-city-grid p .material-icons{
  color:#0ea5c6;
}

body.tv2-temporal-public .tv2-regional-public-city-grid a,
body.tv2-temporal-public .tv2-hv-public-footer a{
  color:#2157d9;
}

/* Espaçamento da experiência local abaixo do shell global. */
body.tv2-public-body .tv2-public-main,
body.tv2-public-body .tv2-agenda-container,
body.tv2-public-body .tv2-transition-container{
  margin-top:18px;
}

body.tv2-hv-public .tv2-hv-public-shell,
body.tv2-temporal-public .tv2-temporal-public-shell{
  padding-top:18px;
}

/* O progresso de leitura permanece, mas não disputa o contexto com o header. */
body.tv2-public-context .tv2-reading-progress{
  top:0;
  z-index:1500;
}

/* O contexto agora é responsabilidade do shell, não de uma bússola flutuante. */
body.tv2-public-context .tv2-civic-compass{
  display:none!important;
}

@media(max-width:620px){
  body.tv2-public-body .tv2-public-main,
  body.tv2-public-body .tv2-agenda-container,
  body.tv2-public-body .tv2-transition-container{
    margin-top:12px;
  }

  body.tv2-hv-public .tv2-hv-public-shell,
  body.tv2-temporal-public .tv2-temporal-public-shell{
    padding-top:12px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.tv2-public-body *,
  body.tv2-public-page *{
    scroll-behavior:auto!important;
  }
}

@media(forced-colors:active){
  body.tv2-public-body .tv2-page,
  body.tv2-public-page,
  body.tv2-temporal-public{
    background:Canvas;
    color:CanvasText;
  }
}
