/* ============================================================================
   Regulamentações — o mesmo visual neobrutalista na página do app (/regulamentacoes,
   base.html) e na pública (/regulacao, base_public.html). Higor, 17/10/2026: "a página
   pública tem que ser no estilo dessa do TrenT Fly, mas sem alertas — só a disposição dos
   cards". As cores ficam em variáveis próprias (--rg-*): o site público não carrega o
   neo_app.css. O modo escuro (html.dark) só existe no app.
   ============================================================================ */
.rg-tema {
  --rg-tinta: #050505; --rg-borda: #050505; --rg-fundo: #ffffff; --rg-sombra: #050505;
  --rg-limon: #D1FF00; --rg-trent: #00AEF0;
  --rg-azul: #E0F4FD; --rg-menta: #EBFFF3; --rg-amarelo: #FFF9DB; --rg-roxo: #f3e8ff; --rg-cinza: #f4f4f5;
  --rg-texto: #3f3f46; --rg-suave: #52525b; --rg-apagado: #71717a; --rg-tracejado: #d4d4d8;
  --rg-bandeira: #fafafa; --rg-link: #0369a1; --rg-chip: #E0F4FD; --rg-chip-tinta: #050505;
  --rg-on-fundo: #050505; --rg-on-tinta: #ffffff; --rg-selo-fundo: #050505; --rg-selo-tinta: #ffffff;
  color: var(--rg-tinta);
}
html.dark .rg-tema {
  --rg-tinta: #fafafa; --rg-borda: #fafafa; --rg-fundo: #141414; --rg-sombra: #D1FF00;
  --rg-texto: #d4d4d8; --rg-suave: #a1a1aa; --rg-apagado: #a1a1aa; --rg-tracejado: #3f3f46;
  --rg-bandeira: #262626; --rg-link: #7dd3fc; --rg-chip: #1e3a4a; --rg-chip-tinta: #e0f4fd;
  --rg-on-fundo: #D1FF00; --rg-on-tinta: #050505; --rg-selo-fundo: #fafafa; --rg-selo-tinta: #050505;
}

/* utilitárias próprias: o site público usa um Tailwind compilado, que não tem estas */
.rg-tema [hidden] { display: none !important; }
.rg-encolhe { min-width: 0; }
.rg-cresce { flex: 1 1 0%; min-width: 0; }
.rg-fixo { flex-shrink: 0; }

/* ── lista ─────────────────────────────────────────────────────────────── */
.rg-wrap { margin: 0 auto; max-width: 72rem; padding: 1.5rem 1rem 3rem; }
@media (min-width: 640px) { .rg-wrap { padding: 2.25rem 1.5rem 4rem; } }
.rg-cabeca { align-items: flex-start; display: flex; gap: 1rem; margin-bottom: 1.5rem; }
.rg-icone { align-items: center; background: var(--rg-trent); border: 2px solid var(--rg-borda); border-radius: 14px;
            box-shadow: 4px 4px 0 var(--rg-sombra); display: inline-flex; flex-shrink: 0; height: 3.25rem; justify-content: center; width: 3.25rem; }
.rg-icone .material-symbols-outlined { color: #050505; font-size: 30px; }
.rg-titulo { font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.05; margin: 0; text-wrap: balance; }
.rg-sub { color: var(--rg-texto); font-size: 1rem; margin: .45rem 0 0; }
.rg-conta { background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 999px; display: inline-block;
            font-size: .72rem; font-weight: 800; letter-spacing: .05em; margin-top: .7rem; padding: .25rem .7rem; text-transform: uppercase; }
.rg-topo { display: grid; gap: 1rem; margin-bottom: 1.75rem; }
@media (min-width: 1024px) { .rg-topo { grid-template-columns: 1fr 2fr; } }
.rg-caixa { background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 16px; box-shadow: 6px 6px 0 var(--rg-sombra);
            min-width: 0; padding: 1.15rem 1.25rem; }
.rg-caixa h2 { align-items: center; display: flex; font-size: 1rem; font-weight: 900; gap: .5rem; margin: 0 0 .65rem; }
.rg-caixa h2 .material-symbols-outlined { font-size: 20px; }
.rg-n { font-size: 2.4rem; font-variant-numeric: tabular-nums; font-weight: 900; letter-spacing: -.03em; line-height: 1; }
.rg-link { align-items: center; color: var(--rg-tinta); display: inline-flex; font-size: .85rem; font-weight: 800; gap: .25rem;
           margin-top: .75rem; text-decoration: underline; text-underline-offset: 3px; }
.rg-mud { border-top: 2px dashed var(--rg-tracejado); display: flex; gap: .7rem; padding: .65rem 0; }
.rg-mud:first-of-type { border-top: 0; padding-top: 0; }
.rg-mud img { border: 1px solid rgba(0,0,0,.2); border-radius: 4px; flex-shrink: 0; height: 18px; margin-top: .15rem; object-fit: cover; width: 26px; }
.rg-mud a { color: var(--rg-tinta); display: block; font-size: .9rem; font-weight: 700; line-height: 1.35; text-decoration: none; }
.rg-mud a:hover { text-decoration: underline; }
.rg-mud small { color: var(--rg-apagado); display: block; font-size: .75rem; margin-top: .15rem; }
.rg-barra { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.25rem; }
@media (min-width: 768px) { .rg-barra { align-items: center; flex-direction: row; } }
.rg-busca { align-items: center; background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 14px; display: flex;
            flex: 1; gap: .6rem; padding: .7rem 1rem; transition: box-shadow .18s ease, transform .18s ease; }
.rg-busca:focus-within { box-shadow: 4px 4px 0 var(--rg-limon); transform: translate(-1px, -1px); }
.rg-busca input { background: transparent; border: 0; color: var(--rg-tinta); flex: 1; font-size: 1rem; font-weight: 600; min-width: 0; outline: none; }
.rg-abas { display: flex; flex-wrap: wrap; gap: .5rem; }
.rg-aba { align-items: center; background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 12px; color: var(--rg-tinta);
          cursor: pointer; display: inline-flex; font-size: .9rem; font-weight: 800; gap: .4rem; padding: .55rem .9rem; }
.rg-aba span { background: var(--rg-selo-fundo); border-radius: 999px; color: var(--rg-selo-tinta); font-size: .7rem;
               font-variant-numeric: tabular-nums; padding: .05rem .45rem; }
.rg-aba.on { background: var(--rg-on-fundo); color: var(--rg-on-tinta); }
.rg-aba.on span { background: var(--rg-limon); color: #050505; }
.rg-grade { display: grid; gap: 1rem; }
@media (min-width: 640px) { .rg-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rg-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.reg-card { background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 16px; box-shadow: 5px 5px 0 var(--rg-sombra);
            display: flex; flex-direction: column; min-width: 0; transition: transform .18s ease, box-shadow .18s ease; }
.reg-card:hover { box-shadow: 7px 7px 0 var(--rg-sombra); transform: translate(-2px, -2px); }
.reg-card-topo { align-items: center; color: var(--rg-tinta); display: flex; gap: .8rem; padding: 1rem 1rem .6rem; text-decoration: none; }
.reg-bandeira { align-items: center; background: var(--rg-bandeira); border: 2px solid var(--rg-borda); border-radius: 12px; display: inline-flex;
                flex-shrink: 0; height: 3rem; justify-content: center; overflow: hidden; width: 3rem; }
.reg-bandeira img { border-radius: 3px; height: 22px; object-fit: cover; width: 32px; }
.reg-bandeira span { font-size: 1.6rem; }
.reg-nome { display: block; font-size: 1.1rem; font-weight: 900; letter-spacing: -.01em; line-height: 1.2; overflow-wrap: anywhere; }
.reg-tipo { color: var(--rg-suave); display: block; font-size: .68rem; font-weight: 800; letter-spacing: .07em; margin-top: .15rem; text-transform: uppercase; }
.reg-seta { color: var(--rg-tinta); margin-left: auto; }
.reg-temas { display: flex; flex-wrap: wrap; gap: .35rem; padding: 0 1rem .8rem; }
.reg-temas span { background: var(--rg-chip); border: 1px solid var(--rg-borda); border-radius: 999px; color: var(--rg-chip-tinta);
                  font-size: .68rem; font-weight: 700; padding: .1rem .5rem; }
.reg-card-pe { align-items: center; border-top: 2px solid var(--rg-borda); display: flex; flex-wrap: wrap; gap: .5rem;
               justify-content: space-between; margin-top: auto; padding: .7rem 1rem; }
.reg-data { align-items: center; color: var(--rg-suave); display: inline-flex; font-size: .72rem; font-variant-numeric: tabular-nums;
            font-weight: 600; gap: .25rem; }
.reg-data .material-symbols-outlined { font-size: 15px; }
.reg-ver { align-items: center; color: var(--rg-tinta); display: inline-flex; font-size: .82rem; font-weight: 800; gap: .2rem; text-decoration: none; }
.reg-ver .material-symbols-outlined { font-size: 17px; }
.rg-vazio { border: 2px dashed var(--rg-apagado); border-radius: 16px; color: var(--rg-suave); font-weight: 700; padding: 2rem 1rem; text-align: center; }
.rg-aviso-legal { color: var(--rg-apagado); font-size: .75rem; margin-top: 2rem; text-align: center; }
.rg-faixa-tudo { background: var(--rg-amarelo); border: 2px solid var(--rg-borda); border-radius: 12px; color: #050505; font-size: .85rem;
                 font-weight: 700; margin-bottom: 1rem; padding: .6rem .9rem; }

/* ── ficha ─────────────────────────────────────────────────────────────── */
.rd-wrap { margin: 0 auto; max-width: 56rem; padding: 1.25rem 1rem 3rem; }
@media (min-width: 640px) { .rd-wrap { padding: 2rem 1.5rem 4rem; } }
.rd-voltar { align-items: center; color: var(--rg-tinta); display: inline-flex; font-size: .9rem; font-weight: 800; gap: .3rem; text-decoration: none; }
.rd-voltar:hover { text-decoration: underline; text-underline-offset: 3px; }
.rd-cabeca { align-items: center; background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 18px; box-shadow: 6px 6px 0 var(--rg-sombra);
             display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1rem; padding: 1.1rem 1.2rem; }
.rd-bandeira { align-items: center; background: var(--rg-bandeira); border: 2px solid var(--rg-borda); border-radius: 14px; display: inline-flex;
               flex-shrink: 0; height: 4.25rem; justify-content: center; overflow: hidden; width: 4.25rem; }
.rd-bandeira img { border-radius: 4px; height: 32px; object-fit: cover; width: 46px; }
.rd-bandeira span { font-size: 2.2rem; }
.rd-tipo { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rd-nome { font-size: clamp(1.8rem, 5vw, 2.5rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.05; margin: .1rem 0 0; overflow-wrap: anywhere; }
.rd-data { align-items: center; color: var(--rg-suave); display: inline-flex; font-size: .78rem; font-variant-numeric: tabular-nums;
           font-weight: 600; gap: .25rem; margin-top: .35rem; }
.rd-data .material-symbols-outlined { font-size: 16px; }
.rd-indice { margin-top: 1.4rem; }
.rd-indice p { font-size: .72rem; font-weight: 800; letter-spacing: .08em; margin: 0 0 .5rem; text-transform: uppercase; }
.rd-indice nav { display: flex; flex-wrap: wrap; gap: .45rem; }
.rd-chip { align-items: center; background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 999px; color: var(--rg-tinta);
           display: inline-flex; font-size: .82rem; font-weight: 700; gap: .3rem; padding: .3rem .75rem; text-decoration: none; }
.rd-chip:hover { background: var(--rg-limon); color: #050505; }
.rd-chip .material-symbols-outlined { font-size: 17px; }
.rd-sec { background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 16px; box-shadow: 5px 5px 0 var(--rg-sombra);
          margin-top: 1.4rem; overflow: hidden; scroll-margin-top: 6rem; }
.rd-sec-h { align-items: center; border-bottom: 2px solid var(--rg-borda); color: #050505; display: flex; font-size: 1.05rem; font-weight: 900;
            gap: .6rem; margin: 0; padding: .8rem 1.1rem; }
.rd-sec-h .material-symbols-outlined { align-items: center; background: #ffffff; border: 2px solid #050505; border-radius: 9px;
                                       display: inline-flex; font-size: 19px; height: 2rem; justify-content: center; width: 2rem; }
.rd-md { color: var(--rg-texto); font-size: .97rem; line-height: 1.65; max-width: 68ch; padding: 1rem 1.2rem 1.15rem; }
.rd-md p { margin: .45rem 0; }
.rd-md ul { list-style: disc; margin: .45rem 0; padding-left: 1.25rem; }
.rd-md li { margin: .3rem 0; }
.rd-md strong { color: var(--rg-tinta); font-weight: 800; }
.rd-md a { color: var(--rg-link); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; word-break: break-word; }
.rd-mud { border-top: 2px dashed var(--rg-tracejado); padding: .8rem 0; }
.rd-mud:first-of-type { border-top: 0; padding-top: .2rem; }
.rd-mud a { color: var(--rg-tinta); font-weight: 800; line-height: 1.35; text-decoration: none; }
.rd-mud a:hover { text-decoration: underline; }
.rd-mud p { color: var(--rg-texto); font-size: .9rem; margin: .25rem 0 0; }
.rd-mud small { color: var(--rg-apagado); font-size: .75rem; }
.rd-previa { filter: blur(3px); opacity: .55; pointer-events: none; user-select: none; }
.rd-linha { background: var(--rg-tracejado); border-radius: 6px; height: .7rem; margin: .65rem 0; }
.rd-aviso-legal { color: var(--rg-apagado); font-size: .75rem; margin-top: 2rem; text-align: center; }
/* convite da página pública para a pesquisa grátis de voo (lá o pedido conta como lead) */
.rd-convite { align-items: center; background: var(--rg-azul); border: 2px solid var(--rg-borda); border-radius: 16px; box-shadow: 5px 5px 0 var(--rg-sombra);
              display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; justify-content: space-between; margin-top: 1.4rem; padding: 1.1rem 1.25rem; }
.rd-convite div { flex: 1 1 16rem; min-width: 0; }
.rd-convite h2 { color: #050505; font-size: 1.05rem; font-weight: 900; margin: 0; }
.rd-convite p { color: #3f3f46; font-size: .875rem; margin: .2rem 0 0; }
.rd-convite a { background: var(--rg-trent); border: 2px solid #050505; border-radius: 12px; box-shadow: 3px 3px 0 #050505; color: #050505;
                display: inline-block; font-size: .9rem; font-weight: 800; padding: .7rem 1.1rem; text-decoration: none; }

/* ── ficha: últimas atualizações daquele país (logo depois do índice) ───── */
.rd-atual { background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 16px; box-shadow: 5px 5px 0 var(--rg-sombra);
            margin-top: 1.4rem; overflow: hidden; scroll-margin-top: 6rem; }
.rd-atual-h { align-items: center; background: var(--rg-limon); border-bottom: 2px solid var(--rg-borda); display: flex; flex-wrap: wrap;
              gap: .4rem .9rem; justify-content: space-between; padding: .8rem 1.1rem; }
.rd-atual-h h2 { align-items: center; color: #050505; display: flex; font-size: 1.05rem; font-weight: 900; gap: .5rem; margin: 0; }
.rd-atual-h h2 .material-symbols-outlined { font-size: 21px; }
.rd-conferido { align-items: center; color: #050505; display: inline-flex; font-size: .75rem; font-variant-numeric: tabular-nums; font-weight: 700; gap: .25rem; }
.rd-conferido .material-symbols-outlined { font-size: 16px; }
.rd-atual-item { border-top: 2px dashed var(--rg-tracejado); padding: .9rem 1.1rem; }
.rd-atual-item:first-of-type { border-top: 0; }
.rd-atual-item > a { color: var(--rg-tinta); display: block; font-size: 1rem; font-weight: 800; line-height: 1.35; margin-top: .45rem; text-decoration: none; }
.rd-atual-item > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rd-atual-item p { color: var(--rg-texto); font-size: .9rem; line-height: 1.55; margin: .3rem 0 0; max-width: 68ch; }
.rd-atual-meta { align-items: center; display: flex; flex-wrap: wrap; gap: .35rem; }
.rd-data-pill, .rd-impacto, .rd-tipo-pill, .rd-origem { border: 1px solid var(--rg-borda); border-radius: 999px; font-size: .68rem; font-weight: 800; padding: .12rem .55rem; }
.rd-data-pill { background: var(--rg-fundo); font-variant-numeric: tabular-nums; }
.rd-impacto-high { background: #fecaca; color: #7f1d1d; }
.rd-impacto-med { background: #fde68a; color: #78350f; }
.rd-impacto-low { background: var(--rg-cinza); color: #3f3f46; }
.rd-tipo-pill { background: var(--rg-chip); color: var(--rg-chip-tinta); }
.rd-origem { background: var(--rg-roxo); color: #3b0764; }
.rd-atual-vazio { color: var(--rg-texto); font-size: .92rem; line-height: 1.55; margin: 0; padding: 1rem 1.1rem; }
.rd-atual-todas { margin: 0 1.1rem 1rem; }
.rd-atual-bloq { align-items: center; color: var(--rg-tinta); display: flex; font-size: .92rem; gap: .7rem; line-height: 1.45; padding: 1rem 1.1rem; text-decoration: none; }
.rd-atual-bloq .material-symbols-outlined { background: var(--rg-tinta); border-radius: 10px; color: var(--rg-limon); flex-shrink: 0; font-size: 20px; padding: .35rem; }
.rd-atual-bloq:hover { text-decoration: underline; text-underline-offset: 3px; }

/* lista das atualizações do país: a linha inteira é o link */
.rd-lista { list-style: none; margin: 0; padding: 0; }
.rd-lista li:not([hidden]) ~ li:not([hidden]) { border-top: 2px dashed var(--rg-tracejado); }  /* só entre linhas visíveis: com a paginação, a 1ª linha de cada página não leva a borda */
.rd-lista-item { align-items: center; color: var(--rg-tinta); display: flex; gap: .85rem; padding: .85rem 1.1rem; text-decoration: none;
                 transition: background .15s ease; }
.rd-lista-item:hover { background: var(--rg-azul); }
html.dark .rd-lista-item:hover { background: #1e3a4a; }
.rd-lista-data { border: 2px solid var(--rg-borda); border-radius: 10px; flex-shrink: 0; font-size: .72rem; font-variant-numeric: tabular-nums;
                 font-weight: 800; padding: .3rem .45rem; text-align: center; width: 5.9rem; }
.rd-lista-corpo { display: flex; flex: 1 1 0%; flex-direction: column; gap: .3rem; min-width: 0; }
.rd-lista-titulo { font-size: .97rem; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
.rd-lista-meta { display: flex; flex-wrap: wrap; gap: .3rem; }
.rd-lista-seta { color: var(--rg-tinta); flex-shrink: 0; }
@media (max-width: 480px) { .rd-lista-data { width: auto; } .rd-lista-item { align-items: flex-start; } }

/* página de uma atualização (/alertas-regulacao/<id>) */
.rd-alerta-titulo { font-size: clamp(1.3rem, 3.6vw, 1.8rem); font-weight: 900; letter-spacing: -.02em; line-height: 1.2; margin: .2rem 0 0;
                    overflow-wrap: anywhere; text-wrap: balance; }
.rd-alerta-meta { margin-top: .6rem; }
.rd-acoes { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.rd-botao { align-items: center; background: var(--rg-trent); border: 2px solid #050505; border-radius: 12px; box-shadow: 3px 3px 0 #050505;
            color: #050505; display: inline-flex; font-size: .92rem; font-weight: 800; gap: .4rem; padding: .7rem 1.1rem; text-decoration: none;
            transition: transform .15s ease, box-shadow .15s ease; }
.rd-botao:hover { box-shadow: 5px 5px 0 #050505; transform: translate(-1px, -1px); }
.rd-botao .material-symbols-outlined { font-size: 19px; }
.rd-botao-2 { background: var(--rg-fundo); border-color: var(--rg-borda); box-shadow: 3px 3px 0 var(--rg-sombra); color: var(--rg-tinta); }

/* passar página das últimas atualizações (3 por vez), logo abaixo do card */
.rd-paginas { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin-top: 1rem; }
.rd-pag-btn { align-items: center; background: var(--rg-fundo); border: 2px solid var(--rg-borda); border-radius: 12px;
              box-shadow: 3px 3px 0 var(--rg-sombra); color: var(--rg-tinta); cursor: pointer; display: inline-flex; font-size: .88rem;
              font-weight: 800; gap: .15rem; padding: .5rem .85rem; transition: transform .15s ease, box-shadow .15s ease; }
.rd-pag-btn .material-symbols-outlined { font-size: 20px; }
.rd-pag-btn:hover:not(:disabled) { box-shadow: 4px 4px 0 var(--rg-sombra); transform: translate(-1px, -1px); }
.rd-pag-btn:disabled { box-shadow: none; cursor: not-allowed; opacity: .4; }
.rd-pag-info { font-size: .85rem; font-variant-numeric: tabular-nums; font-weight: 800; min-width: 7.5rem; text-align: center; }
