/* Páginas internas do site novo da RBB: aberturas, trilhas, formulários, calendário, notícias. Mesmos tokens de styles.css. */
.hero-interno { padding: clamp(40px, 6vw, 80px) 0 clamp(28px, 4vw, 48px); }
.hero-interno h1 { font-size: clamp(30px, 3.8vw, 50px); line-height: 1.08; letter-spacing: -.03em; font-weight: 800; color: hsl(var(--primary)); max-width: 26ch; }
.hero-interno .hero-lead { max-width: 66ch; }
.hero-interno .hero-lead + .hero-lead { margin-top: 14px; }
.hero-interno .acoes-centro { margin-top: 28px; }
.hero-interno .dial { margin-top: clamp(28px, 4vw, 48px); opacity: .85; }
.dial.pequeno svg { max-height: 56px; }
.bloco { max-width: 78ch; }
.bloco h2 { font-size: clamp(24px, 2.6vw, 32px); color: hsl(var(--primary)); margin: 40px 0 14px; }
.bloco h2:first-child { margin-top: 0; }
.bloco h3 { font-size: 18px; color: hsl(var(--primary)); margin: 26px 0 8px; }
.bloco p, .bloco li { color: hsl(var(--muted-fg)); font-size: 16px; }
.bloco p + p { margin-top: 12px; }
.bloco ul { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.bloco strong { color: hsl(var(--fg)); }
.bloco a { color: hsl(var(--primary)); font-weight: 600; }
.duas-colunas { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: start; }
.duas-colunas h2 { font-size: clamp(22px, 2.4vw, 30px); color: hsl(var(--primary)); margin-bottom: 14px; }
.duas-colunas h3 { font-size: 18px; color: hsl(var(--primary)); margin: 24px 0 8px; }
.duas-colunas p { color: hsl(var(--muted-fg)); font-size: 16px; }
.duas-colunas p + p { margin-top: 12px; }
.lista-hairline { list-style: none; margin: 0; padding: 0; }
.lista-hairline li { display: grid; grid-template-columns: 200px 1fr; gap: 16px; padding: 20px 0; border-top: 1px solid hsl(var(--border)); }
.lista-hairline li:last-child { border-bottom: 1px solid hsl(var(--border)); }
.lista-hairline h3 { font-size: 16px; color: hsl(var(--primary)); margin: 0; }
.lista-hairline p { color: hsl(var(--muted-fg)); font-size: 15px; }
.texto-centro { max-width: 70ch; color: hsl(var(--muted-fg)); font-size: 16px; margin-top: 24px; }
.texto-centro.forte { color: hsl(var(--fg)); font-weight: 600; }
.texto-centro em { font-style: italic; }

/* trilha numerada: linha do tempo vertical */
.trilha { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.trilha li { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding: 0 0 30px; }
.trilha li::before { content: ""; position: absolute; left: 23px; top: 44px; bottom: 0; width: 1px; background: hsl(var(--border)); }
.trilha li:last-child::before { display: none; }
.trilha .num { width: 48px; height: 48px; border-radius: 50%; background: hsl(var(--primary)); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 15px; position: relative; z-index: 1; box-shadow: 0 0 0 6px hsl(var(--bg)); }
.secao-suave .trilha .num { box-shadow: 0 0 0 6px var(--sec-bg); }
.trilha.dourada .num { background: hsl(var(--secondary)); color: hsl(218 25% 15%); }
.trilha h3 { font-size: 18px; color: hsl(var(--primary)); margin: 10px 0 6px; }
.trilha p { color: hsl(var(--muted-fg)); font-size: 15px; }

/* cards de classe (a régua do mercado) e cards de fator */
.classes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.classe { border: 1px solid hsl(var(--border)); border-radius: var(--radius); padding: 22px; background: hsl(var(--card)); display: grid; gap: 6px; align-content: start; }
.classe h3 { font-size: 16px; color: hsl(var(--primary)); }
.classe .valor { font-size: 20px; font-weight: 800; letter-spacing: -.02em; color: hsl(var(--fg)); margin-top: 6px; }
.classe p { color: hsl(var(--muted-fg)); font-size: 14px; }
.classe.larga { grid-column: span 2; }
.fatores { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.fator { border: 1px solid hsl(var(--border)); border-radius: var(--radius); padding: 22px; background: hsl(var(--card)); }
.fator h3 { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; color: hsl(var(--primary)); }
.fator h3 svg { width: 18px; height: 18px; flex: none; margin-top: 3px; }
.fator p { color: hsl(var(--muted-fg)); font-size: 15px; margin-top: 8px; }
.fator a { color: hsl(var(--primary)); font-weight: 600; text-decoration: none; }
.fator.larga { grid-column: span 2; }
.fator.dourado h3 { color: hsl(var(--secondary-hover)); }

/* formulários */
.form-card { max-width: 780px; margin: 0 auto; border: 1px solid hsl(var(--border)); border-radius: var(--radius); background: hsl(var(--card)); padding: clamp(22px, 3vw, 36px); box-shadow: 0 20px 50px -30px hsl(218 85% 25% / .35); }
.form-card h2 { font-size: 22px; color: hsl(var(--primary)); margin-bottom: 6px; }
.form-card .apoio { color: hsl(var(--muted-fg)); font-size: 15px; margin-bottom: 22px; }
.form { display: grid; gap: 18px; }
.linha-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.campo { display: grid; gap: 6px; }
.campo label, .campo .rotulo { font-size: 14px; font-weight: 600; }
.campo .descricao { font-size: 13px; color: hsl(var(--muted-fg)); }
.campo input[type="text"], .campo input[type="email"], .campo input[type="tel"], .campo select, .campo textarea { width: 100%; border: 1px solid hsl(var(--border)); border-radius: 10px; padding: 12px 14px; font: inherit; font-size: 15px; background: hsl(var(--bg)); color: inherit; transition: border-color .25s var(--ease), box-shadow .25s var(--ease); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 0; border-color: hsl(var(--primary)); box-shadow: 0 0 0 3px hsl(var(--primary) / .15); }
.campo textarea { min-height: 130px; resize: vertical; }
.campo select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, hsl(var(--muted-fg)) 50%), linear-gradient(135deg, hsl(var(--muted-fg)) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 40px; }
.campo.com-erro input, .campo.com-erro select, .campo.com-erro textarea { border-color: hsl(0 84% 60%); }
.erro { color: hsl(0 84% 55%); font-size: 13px; margin: 0; }
.erro[hidden] { display: none; }
.opcoes { display: grid; gap: 8px; }
.opcoes.em-linha { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.caixa-opcao { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid hsl(var(--border)); border-radius: 10px; background: hsl(var(--bg)); cursor: pointer; font: inherit; font-size: 15px; font-weight: 500; color: inherit; transition: background-color .2s var(--ease), border-color .2s var(--ease), transform .15s var(--ease); text-align: left; }
.caixa-opcao:hover { background: hsl(var(--muted)); }
.caixa-opcao:active { transform: scale(.98); }
.caixa-opcao input { accent-color: hsl(var(--primary)); width: 16px; height: 16px; margin: 0; }
.caixa-opcao:has(input:checked), .caixa-opcao.marcada { border-color: hsl(var(--primary)); background: hsl(var(--primary) / .08); }
.caixa-ciencia { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid hsl(var(--secondary) / .45); background: hsl(var(--secondary) / .08); border-radius: 10px; font-size: 14px; color: hsl(var(--fg)); cursor: pointer; }
.caixa-ciencia input { margin: 3px 0 0; accent-color: hsl(var(--primary)); flex: none; }
.aviso-dentro { border: 1px solid hsl(var(--primary) / .25); background: hsl(var(--primary) / .06); border-radius: 10px; padding: 16px 18px; display: grid; gap: 6px; }
.aviso-dentro.dourado { border-color: hsl(var(--secondary) / .45); background: hsl(var(--secondary) / .08); }
.aviso-dentro h3 { font-size: 16px; color: hsl(var(--fg)); }
.aviso-dentro p { font-size: 14px; color: hsl(var(--muted-fg)); }
.aviso-dentro p.forte { color: hsl(var(--fg)); font-weight: 600; }
.aviso-dentro .preco { color: hsl(var(--primary)); font-weight: 700; font-size: 15px; }
.aviso-dentro a { color: hsl(var(--primary)); font-weight: 600; }
.aviso-dentro.credenciais-card { max-width: 780px; margin: 0 auto 20px; padding: 22px 24px; gap: 10px; }
.aviso-dentro.credenciais-card p { font-size: 15px; }
.grade-dias { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.grade-horas { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.caixa-opcao.dia { flex-direction: column; gap: 2px; align-items: center; padding: 10px 6px; }
.caixa-opcao.hora { justify-content: center; padding: 10px 6px; }
.dia-semana { font-size: 12px; color: hsl(var(--muted-fg)); }
.dia-data { font-size: 14px; font-weight: 600; }
.nota-calendario { font-size: 13px; color: hsl(var(--muted-fg)); margin-top: 10px; }
.chips { display: grid; grid-template-columns: repeat(9, 1fr); gap: 8px; }
.caixa-opcao.chip { justify-content: center; padding: 10px 4px; font-size: 14px; }
.uf-escolhidas { font-size: 13px; color: hsl(var(--muted-fg)); min-height: 18px; }
.form .btn { justify-self: stretch; }
.form .btn:disabled { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.aviso { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 80; max-width: min(520px, calc(100vw - 32px)); padding: 14px 18px; border-radius: 12px; background: hsl(var(--fg)); color: hsl(var(--bg)); font-size: 14px; box-shadow: 0 20px 50px rgba(0, 0, 0, .3); animation: subir .35s var(--ease); }
.aviso.sucesso { background: hsl(var(--primary)); color: #fff; }
.aviso.erro { background: hsl(0 84% 45%); color: #fff; }
.aviso[hidden] { display: none; }

/* notícias e alerta */
.abas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.aba { padding: 10px 16px; border-radius: 999px; border: 1px solid hsl(var(--border)); background: hsl(var(--card)); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; color: hsl(var(--muted-fg)); display: inline-flex; gap: 8px; align-items: center; transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.aba .n { background: hsl(var(--muted)); border-radius: 999px; padding: 1px 8px; font-size: 12px; color: hsl(var(--fg)); }
.aba[aria-selected="true"] { background: hsl(var(--primary)); color: #fff; border-color: hsl(var(--primary)); }
.aba[aria-selected="true"] .n { background: rgba(255, 255, 255, .2); color: #fff; }
.publicacao { padding: 22px 0; border-top: 1px solid hsl(var(--border)); display: grid; gap: 6px; }
.publicacao:last-child { border-bottom: 1px solid hsl(var(--border)); }
.publicacao .quando { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: hsl(var(--muted-fg)); font-weight: 600; }
.publicacao h3 { font-size: 17px; color: hsl(var(--primary)); }
.publicacao p { color: hsl(var(--muted-fg)); font-size: 15px; }
.publicacao a { color: hsl(var(--primary)); font-weight: 600; text-decoration: none; font-size: 14px; display: inline-flex; gap: 6px; align-items: center; }
.publicacao a::after { content: "\2192"; transition: transform .3s var(--ease); }
.publicacao a:hover::after { transform: translateX(4px); }
.vazio { color: hsl(var(--muted-fg)); padding: 24px 0; }
.pagina-404 { padding: clamp(64px, 12vw, 140px) 0; }
.pagina-404 h1 { font-size: clamp(34px, 5vw, 64px); color: hsl(var(--primary)); }
.pagina-404 p { margin: 14px 0 28px; color: hsl(var(--muted-fg)); font-size: 18px; }

@media (max-width: 1023px) { .classes { grid-template-columns: 1fr 1fr; } .classe.larga { grid-column: span 2; } }
@media (max-width: 759px) {
  .duas-colunas, .linha-2, .fatores, .classes { grid-template-columns: 1fr; }
  .classe.larga, .fator.larga { grid-column: auto; }
  .lista-hairline li { grid-template-columns: 1fr; gap: 6px; }
  .grade-dias { grid-template-columns: repeat(2, 1fr); }
  .grade-horas { grid-template-columns: repeat(3, 1fr); }
  .chips { grid-template-columns: repeat(6, 1fr); }
  .trilha li { grid-template-columns: 40px 1fr; gap: 14px; }
  .trilha .num { width: 40px; height: 40px; font-size: 14px; }
  .trilha li::before { left: 19px; }
  .aviso { bottom: 88px; }
}
