/* SONELIORA 10.14 · Firmamento Vivo — céu animado ao fundo e menu sempre à vista */
html.fv-on { background: #02030b; }
html.fv-on.son-ceu-on body { background-color: transparent !important; background-image: none !important; }
html.fv-on body::before { pointer-events: none; }

/* cabeçalho próprio da página fica grudado no topo */
.fv-gruda { position: sticky !important; top: 0 !important; z-index: 950 !important;
  background: linear-gradient(180deg, rgba(4, 8, 20, .92), rgba(4, 8, 20, .82)) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35); }
.fx-top { position: sticky !important; top: 0 !important; z-index: 950 !important; }

/* atalhos acrescentados a cabeçalhos que não levavam ao início nem ao Atlas */
.fv-atalhos { display: inline-flex; gap: 6px; align-items: center; margin-left: auto; padding-left: 8px; flex-wrap: nowrap; }
.fv-chip { display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 12px; border-radius: 999px; white-space: nowrap;
  border: 1px solid rgba(214, 176, 106, .45); background: rgba(10, 14, 28, .6); color: #f2dca4 !important; text-decoration: none !important;
  font: 600 12px/1 'Figtree', system-ui, sans-serif; letter-spacing: .02em; }
.fv-chip:hover, .fv-chip:focus-visible { background: rgba(214, 176, 106, .18); border-color: #f2dca4; }

/* barra do Firmamento para páginas sem cabeçalho */
.fv-barra { position: fixed; top: 0; left: 0; right: 0; z-index: 960; height: 60px; display: flex; align-items: center; gap: 16px;
  padding: 0 max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left)); box-sizing: border-box;
  background: linear-gradient(180deg, rgba(4, 7, 18, .94), rgba(4, 7, 18, .84)); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2);
  border-bottom: 1px solid rgba(214, 176, 106, .28); box-shadow: 0 10px 30px rgba(0, 0, 0, .35); font-family: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif; }
.fv-barra::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, #d6b06a 30%, #f2dca4 50%, #d6b06a 70%, transparent); opacity: .55; }
.fv-espaco { height: 60px; }
.fv-marca { display: flex; align-items: center; gap: 10px; text-decoration: none !important; flex: none; }
.fv-marca img { width: 30px; height: 30px; border-radius: 50%; }
.fv-marca-t { display: flex; flex-direction: column; line-height: 1; }
.fv-marca-t b { font: 600 17px/1 'Cinzel', Georgia, serif; letter-spacing: .14em; background: linear-gradient(180deg, #fff1c8, #d6b06a 60%, #a7803f); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fv-marca-t small { font: 500 8.5px/1.3 'Cinzel', Georgia, serif; letter-spacing: .3em; color: #b5ad9c; margin-top: 4px; }
.fv-links { display: flex; align-items: center; gap: 4px; margin-left: auto; overflow-x: auto; scrollbar-width: none; }
.fv-links::-webkit-scrollbar { display: none; }
.fv-links a { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 13px; border-radius: 999px; white-space: nowrap;
  color: #e9dfc8 !important; text-decoration: none !important; font: 600 12.5px/1 'Figtree', system-ui, sans-serif; letter-spacing: .04em; border: 1px solid transparent; }
.fv-links a:hover, .fv-links a:focus-visible { border-color: rgba(214, 176, 106, .45); background: rgba(214, 176, 106, .1); color: #fff3d2 !important; }
.fv-links a[aria-current="page"] { border-color: rgba(214, 176, 106, .6); background: rgba(214, 176, 106, .16); }
.fv-ic { color: #e8c681; font-size: 14px; }
.fv-tc { display: none; }
.fv-barra a:focus-visible, .fv-chip:focus-visible, .fv-topo:focus-visible { outline: 2px solid #f2dca4; outline-offset: 2px; }
@media (max-width: 760px) {
  .fv-barra { height: 54px; gap: 8px; } .fv-espaco { height: 54px; }
  .fv-marca-t small { display: none; } .fv-marca-t b { font-size: 14px; }
  .fv-links a { padding: 0 9px; height: 36px; } .fv-links a .fv-t { display: none; } .fv-links a[data-k="inicio"] .fv-t { display: inline; } .fv-links a .fv-tc { display: inline; }
  .fv-atalhos { padding-left: 4px; gap: 4px; } .fv-chip { height: 32px; width: 32px; padding: 0; justify-content: center; font-size: 14px; } .fv-chip-t { display: none; }
}
/* âncoras não ficam escondidas atrás do menu */
html.fv-com-barra { scroll-padding-top: 72px; }

/* voltar ao topo */
.fv-topo { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(96px + env(safe-area-inset-bottom)); z-index: 940; width: 44px; height: 44px; border-radius: 50%;
  border: 1px solid rgba(214, 176, 106, .55); background: rgba(6, 12, 26, .82); color: #f2dca4; font: 600 18px/1 system-ui, sans-serif; cursor: pointer;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 8px 26px rgba(0, 0, 0, .45); }
.fv-topo[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .fv-links a, .fv-chip { transition: none; } }
@media print { .fv-barra, .fv-espaco, .fv-topo, .fv-atalhos, .son-ceu { display: none !important; } }

/* cabeçalho do Estúdio (página inicial): os links rolam para o lado em vez de passar por cima dos botões */
header#top.top .nav { min-width: 0; flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; mask-image: linear-gradient(90deg, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); }
header#top.top .nav::-webkit-scrollbar { display: none; }
header#top.top .nav > a { white-space: nowrap; flex: none; }
header#top.top .top-actions { flex: none; }
header#top.top > .brand { flex: none; margin-right: 18px; white-space: nowrap; }
header#top.top { gap: 12px; }
/* vitrines acrescentadas no topo de páginas com coluna lateral ocupam a largura toda */
:where(main, .container, [class*="layout"]) > .son28-module { grid-column: 1 / -1; }
/* exposições com coluna lateral (A Terra Firmada e afins): vitrine, leitura e painel do autor em linha inteira; a coluna do museu e a página lado a lado */
.museum-layout > :is(.son28-module, .ec-reader-tools, .son21-panel) { grid-column: 1 / -1 !important; }
.museum-layout > .museum-global-side { grid-column: 1 !important; }
.museum-layout > .museum-page { grid-column: 2 !important; min-width: 0; }

/* visão ampla: em monitores grandes as páginas aproveitam a largura, com margens confortáveis */
:root { --fv-gutter: clamp(14px, 3vw, 56px); --fv-amplo: min(1640px, calc(100vw - 2 * var(--fv-gutter))); }
@media (min-width: 1500px) {
  .f65-shell, body.fx-skin .wrapper, body.fx-skin .shell, body.fx-skin .container:not(.museum-layout), .uv-wrap, .lx-main, .s1070 .s-wrap, .fx-foot-grid, .fx-foot-bar { max-width: var(--fv-amplo) !important; }
  .lx-estudo .lx-reader { max-width: min(1060px, var(--fv-amplo)) !important; }
}
/* nada vaza para os lados no celular */
@media (max-width: 640px) { html.fv-on, html.fv-on body { overflow-x: clip; } }

/* cabeçalho do Atlas protegido de regras genéricas (button/select/input) de algumas páginas */
.fx-top .fx-ic { flex: none !important; padding: 0 !important; min-width: 0 !important; margin: 0 !important; box-sizing: border-box !important; }
@media (min-width: 761px) { .fx-top .fx-ic { width: 40px !important; height: 40px !important; } }
.fx-top .fx-ic svg { width: 18px !important; height: 18px !important; max-width: none !important; }
.fx-top .fx-lang { width: auto !important; min-width: 0 !important; height: 34px !important; padding: 0 10px !important; margin: 0 !important; border-radius: 99px !important;
  background: transparent !important; color: var(--fx-muted, #b5ad9c) !important; font: 600 11px var(--fx-sans, sans-serif) !important; border: 1px solid var(--fx-line, rgba(214,176,106,.26)) !important; }

/* celular: nos cabeçalhos das páginas, os links ficam numa linha que rola para o lado (sem empilhar palavra por palavra) */
@media (max-width: 760px) {
  :is(.fv-gruda, :has(> .fv-atalhos)) { flex-wrap: wrap !important; row-gap: 6px !important; }
  :is(.fv-gruda, :has(> .fv-atalhos)) > nav { order: 3; flex: 1 1 100% !important; width: 100% !important; display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; gap: 14px; white-space: nowrap; padding-bottom: 2px; justify-content: flex-start !important; margin: 0 !important; }
  :is(.fv-gruda, :has(> .fv-atalhos)) > nav::-webkit-scrollbar { display: none; }
  :is(.fv-gruda, :has(> .fv-atalhos)) > nav a { white-space: nowrap; flex: none; }
}

/* Museu 3D (Atlas do Firmamento): a vitrine promocional não cobre o cenário 3D, os títulos e os pontos de interesse */
.app #viewport > .son28-module { display: none !important; }

/* Dossiê Gateway: o conteúdo estava colado na borda esquerda, sem moldura; agora segue o enquadramento das demais páginas */
header.site-nav ~ main.dossier { max-width: min(1120px, calc(100vw - 32px)); margin: 28px auto 60px; padding: clamp(20px, 4vw, 52px);
  border: 1px solid rgba(214, 176, 106, .3); border-radius: 24px; background: linear-gradient(160deg, rgba(14, 22, 42, .86), rgba(6, 10, 22, .9));
  box-shadow: 0 20px 60px rgba(0, 0, 0, .38); box-sizing: border-box; }
header.site-nav ~ main.dossier > nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 26px; }
header.site-nav ~ main.dossier > nav a { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(214, 176, 106, .4); background: rgba(10, 14, 28, .6); color: #f2dca4; text-decoration: none; font-size: 13px; }
header.site-nav ~ main.dossier > nav a:hover, header.site-nav ~ main.dossier > nav a:focus-visible { background: rgba(214, 176, 106, .16); }
header.site-nav ~ main.dossier > article { margin: 0 0 22px; padding: 22px 24px; border-radius: 18px; border: 1px solid rgba(214, 176, 106, .18); background: rgba(8, 12, 26, .55); }
header.site-nav ~ main.dossier > article .origin { display: inline-block; margin-bottom: 4px; font-size: 12px; letter-spacing: .08em; color: #9ce5ff; }
header.site-nav ~ main.dossier h1 { line-height: 1.08; }
