/*
 * Sirius Cainita 1.8.1-rc.9.1 — viewport móvel / edge-to-edge.
 *
 * Corrige estruturalmente a exposição do fundo branco do elemento raiz em
 * Chrome Android moderno. Não usa overlay fixed para esconder a barra.
 */

:root {
  --sirius-viewport-floor: var(--sirius-ink-1000, #0a0909);
  --sirius-safe-top: env(safe-area-inset-top, 0px);
  --sirius-safe-right: env(safe-area-inset-right, 0px);
  --sirius-safe-bottom: env(safe-area-inset-bottom, 0px);
  --sirius-safe-left: env(safe-area-inset-left, 0px);
  color-scheme: dark;
}

/*
 * O elemento raiz é o que o navegador pode expor durante overscroll e na
 * área reservada aos gestos. Ele nunca deve permanecer no branco padrão.
 */
html {
  min-width: 100%;
  min-height: 100%;
  min-height: 100svh;
  margin: 0;
  background-color: var(--sirius-viewport-floor) !important;
  color-scheme: dark;
  overscroll-behavior-x: none;
}

body,
body.sirius-cainita-theme,
body.sirius-private-surface,
body.odc-native-social {
  min-height: 100%;
  min-height: 100svh;
  margin-bottom: 0;
  background-color: var(--sirius-viewport-floor) !important;
  overscroll-behavior-x: none;
}

/* Shell clássico e shell de blocos precisam alcançar a viewport dinâmica. */
#page.sirius-site,
.sirius-site,
body > .wp-site-blocks,
.wp-site-blocks {
  min-height: 100vh;
  min-height: 100svh;
}

@supports (height: 100dvh) {
  html,
  body,
  body.sirius-cainita-theme,
  #page.sirius-site,
  .sirius-site,
  body > .wp-site-blocks,
  .wp-site-blocks {
    min-height: 100dvh;
  }

  body.sirius-private-surface .sirius-site-main {
    min-height: max(0px, calc(100dvh - 180px));
  }
}

/* Fallback para navegadores que entendem svh mas ainda não dvh. */
@supports (height: 100svh) and (not (height: 100dvh)) {
  body.sirius-private-surface .sirius-site-main {
    min-height: max(0px, calc(100svh - 180px));
  }
}

/*
 * Páginas autenticadas usam o próprio fundo do body; o wrapper não introduz
 * uma superfície branca. A declaração é propositalmente específica para
 * neutralizar .site/#page legados sem alterar componentes internos.
 */
body.sirius-private-surface #page.sirius-site,
body.sirius-private-surface > .wp-site-blocks,
body.odc-native-social #page.sirius-site,
body.odc-native-social > .wp-site-blocks {
  background-color: transparent !important;
}

/*
 * Background fixed em mobile pode repintar durante a retração das barras do
 * navegador. Em telas pequenas o gradiente continua igual, mas acompanha o
 * documento em vez de usar uma camada fixa separada.
 */
@media (max-width: 1180px), (hover: none) and (pointer: coarse) {
  body.sirius-private-surface {
    background-attachment: scroll !important;
  }

  html,
  body {
    overscroll-behavior-y: none;
  }

  .sirius-site-main,
  .wp-site-blocks {
    scroll-padding-bottom: calc(1rem + var(--sirius-safe-bottom));
  }
}

/*
 * O rodapé é fluxo normal, portanto pode receber espaço seguro sem o layout
 * thrashing associado a padding dinâmico em barras fixed.
 */
.sirius-footer {
  padding-bottom: var(--sirius-safe-bottom);
  background-color: var(--sirius-viewport-floor);
}

/* Menus fixed preservam o fundo até a borda, mas não usam padding dinâmico. */
.sirius-mobile-navigation {
  background-color: var(--sirius-viewport-floor);
  scroll-padding-bottom: calc(1rem + var(--sirius-safe-bottom));
}

/* Componentes claros declarados continuam podendo usar controles claros. */
:where(.sirius-surface--light, .sirius-reading-surface, .sirius-native-section--paper) {
  color-scheme: light;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/*
 * RC10 — contenção horizontal estrutural.
 * A navegação móvel não depende mais de um painel transladado para fora da
 * tela. Mesmo assim, a raiz e os wrappers principais nunca podem ampliar a
 * largura rolável do documento por causa de pseudo-elementos ou legados.
 */
html,
body,
#page.sirius-site,
.sirius-site,
body > .wp-site-blocks,
.wp-site-blocks {
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow: clip) {
  html,
  body,
  #page.sirius-site,
  .sirius-site,
  body > .wp-site-blocks,
  .wp-site-blocks {
    overflow-x: hidden;
  }
}

@media (max-width: 1180px) {
  .sirius-header,
  .sirius-header__frame,
  .sirius-header__main-row,
  .sirius-site-main {
    max-width: 100%;
  }
}
