/* Ajustes visuais manuais do projeto.
   Revise antes de publicar e mantenha este arquivo junto do site. */

/* 2026-07-01T23:14:49-03:00 | index.html */
body main section.hero h1.glitch {
  color: #e8f1ff;
}

/* 2026-07-01T23:14:58-03:00 | index.html */
body header.nav.header a.logo span.logo-mark {
  color: #ff0000;
}

/* 2026-07-01T23:15:23-03:00 | index.html */
div.footer-grid.footer-grid--enhanced div.footer-brand-block div.brand span.brand__mark {
  color: #ff0000;
}

/* 2026-07-06T00:41:46-03:00 | index.html */
body main section.hero div.hero-tag {
  position: relative;
  left: 0px;
  top: 0px;
}

/* Padrao global do cabecalho conforme a pagina inicial. */
body header.nav.header.site-header a.logo {
  font-family: var(--font-display), Arial, Helvetica, sans-serif;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0;
  text-transform: none;
}

body header.nav.header.site-header a.logo span.logo-mark {
  color: #ff0000;
  text-shadow: 0 0 16px rgba(255, 0, 0, 0.75);
}

body header.nav.header.site-header a.logo span.logo-text {
  color: var(--text);
  font-family: inherit;
  font-weight: 900;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}

body header.nav.header.site-header a.logo span.logo-text span.accent {
  color: var(--neon-blue);
  font-family: var(--font-mono), Consolas, monospace;
  font-size: 0.72em;
  font-weight: 400;
  letter-spacing: 0;
  text-shadow: var(--glow-blue);
  text-transform: none;
}

/* Ajustes mobile de publicacao: menu longo e player de video */
video,
audio,
.img-glow-wrapper,
.img-glow-wrapper * {
  pointer-events: auto !important;
  touch-action: manipulation;
  -webkit-user-select: auto;
  user-select: auto;
}

.img-glow-wrapper video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  background: #02040d;
}

@media (max-width: 768px) {
  header.site-header {
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  header.site-header .nav-menu {
    align-content: flex-start;
    max-height: calc(100dvh - 88px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
  }

  header.site-header .nav-dropdown[open] {
    flex-basis: 100%;
    width: 100%;
  }

  header.site-header .nav-dropdown-panel {
    position: static !important;
    width: 100% !important;
    max-height: min(58dvh, 430px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  header.site-header .nav-dropdown-panel a {
    min-height: 42px;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 420px) {
  header.site-header .nav-menu {
    justify-content: flex-start;
    gap: 8px;
  }

  header.site-header .nav-menu > a,
  header.site-header .nav-dropdown summary,
  header.site-header .btn-nav {
    font-size: 11px;
  }
}

@media (max-height: 560px) and (max-width: 900px) {
  header.site-header .nav-dropdown-panel {
    max-height: 48dvh;
  }
}

/* Player mobile: botão de gesto real para navegadores que bloqueiam controles nativos */
.mobile-video-shell {
  position: relative;
}

.mobile-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 8;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 180px;
  min-height: 52px;
  padding: 12px 20px;
  border: 1px solid rgba(0, 234, 255, 0.72);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0, 180, 255, 0.94), rgba(138, 91, 255, 0.92));
  color: #ffffff;
  font-family: var(--font-mono, Consolas, monospace);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.42);
  box-shadow: 0 0 20px rgba(0, 234, 255, 0.44), 0 0 46px rgba(138, 91, 255, 0.28);
  transform: translate(-50%, -50%);
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
}

.mobile-video-play span {
  font-size: 1.1rem;
}

.mobile-video-shell.is-playing .mobile-video-play,
.mobile-video-shell.has-started .mobile-video-play {
  opacity: 0;
  visibility: hidden;
  pointer-events: none !important;
}

.mobile-video-status {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 9;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 205, 79, 0.42);
  border-radius: 10px;
  background: rgba(2, 4, 13, 0.9);
  color: #f8e7a1;
  font-size: 0.82rem;
  line-height: 1.35;
  pointer-events: none;
}

@media (max-width: 900px), (hover: none) {
  .mobile-video-play {
    display: inline-flex;
  }

  .mobile-video-shell video {
    min-height: 190px;
  }
}

@media (max-width: 420px) {
  .mobile-video-play {
    min-width: 158px;
    min-height: 48px;
    font-size: 0.78rem;
  }
}

/* Player customizado: controles abaixo da moldura do video */
.mobile-video-shell {
  position: relative;
  overflow: hidden;
}

.mobile-video-shell video {
  cursor: pointer;
}

.video-command-bar {
  position: static;
  z-index: 1;
  width: min(100%, 1180px);
  display: grid;
  gap: clamp(9px, 1.5vw, 13px);
  align-items: center;
  margin: clamp(12px, 2vw, 18px) auto clamp(22px, 3vw, 34px);
  padding: clamp(10px, 1.6vw, 14px);
  border: 1px solid rgba(70, 210, 255, 0.34);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(4, 13, 24, 0.94), rgba(7, 25, 38, 0.84)),
    rgba(2, 7, 15, 0.90);
  box-shadow:
    0 18px 45px rgba(0, 0, 0, 0.34),
    0 0 28px rgba(0, 229, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.10);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.video-seek-command,
.video-command-row {
  display: grid;
  gap: clamp(8px, 1.4vw, 12px);
  align-items: center;
}

.video-seek-command {
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.62rem 0.8rem;
  border: 1px solid rgba(144, 239, 255, 0.22);
  border-radius: 999px;
  background: rgba(2, 10, 20, 0.64);
}

.video-command-row {
  grid-template-columns: auto auto minmax(190px, 1fr);
}

.video-time {
  min-width: 3.3rem;
  color: rgba(236, 251, 255, 0.88);
  font: 800 0.76rem/1 "Inter", system-ui, sans-serif;
  text-align: center;
  text-transform: uppercase;
}

.video-command {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.72rem 1rem;
  border: 1px solid rgba(144, 239, 255, 0.42);
  border-radius: 999px;
  color: #e9fbff;
  background:
    linear-gradient(135deg, rgba(0, 216, 255, 0.24), rgba(244, 206, 86, 0.16)),
    rgba(5, 20, 34, 0.88);
  box-shadow:
    0 0 18px rgba(0, 216, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  font: 800 0.82rem/1.1 "Inter", system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}

.video-command:hover,
.video-command:focus-visible {
  border-color: rgba(244, 206, 86, 0.72);
  color: #ffffff;
  box-shadow:
    0 0 24px rgba(0, 216, 255, 0.24),
    0 0 20px rgba(244, 206, 86, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  outline: none;
}

.video-command-icon {
  min-width: 2.15rem;
  min-height: 2.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #04111d;
  background: linear-gradient(135deg, #2bdcff, #f4ce56);
  box-shadow: 0 0 18px rgba(43, 220, 255, 0.28);
  font-size: 0.78rem;
  font-weight: 900;
}

.video-volume-command {
  min-height: 44px;
  display: grid;
  grid-template-columns: auto minmax(90px, 1fr);
  gap: 0.72rem;
  align-items: center;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(144, 239, 255, 0.24);
  border-radius: 999px;
  color: rgba(236, 251, 255, 0.90);
  background: rgba(2, 10, 20, 0.72);
  font: 700 0.78rem/1 "Inter", system-ui, sans-serif;
  text-transform: uppercase;
}

.video-range {
  --range-progress: 0%;
  width: 100%;
  min-width: 0;
  height: 10px;
  border: 1px solid rgba(144, 239, 255, 0.18);
  border-radius: 999px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background:
    linear-gradient(90deg, #2bdcff var(--range-progress), rgba(24, 58, 78, 0.72) var(--range-progress)),
    rgba(2, 10, 20, 0.72);
  cursor: pointer;
  touch-action: pan-x;
}

.video-range::-webkit-slider-thumb {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2bdcff, #f4ce56);
  box-shadow: 0 0 16px rgba(43, 220, 255, 0.42);
  -webkit-appearance: none;
  appearance: none;
}

.video-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2bdcff, #f4ce56);
  box-shadow: 0 0 16px rgba(43, 220, 255, 0.42);
}

.mobile-video-status {
  position: static;
  right: auto;
  bottom: auto;
  left: auto;
  z-index: auto;
  width: min(100%, 1180px);
  margin: -16px auto clamp(18px, 3vw, 28px);
  padding: 0.75rem 1rem;
  border: 1px solid rgba(244, 206, 86, 0.46);
  border-radius: 14px;
  color: #f3fbff;
  background: rgba(4, 13, 24, 0.88);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.32);
}

@media (max-width: 720px) {
  .video-command-bar {
    border-radius: 16px;
  }

  .video-command-row {
    grid-template-columns: 1fr 1fr;
  }

  .video-volume-command {
    grid-column: 1 / -1;
  }
}

@media (max-width: 430px) {
  .video-command-bar {
    gap: 8px;
    margin-bottom: 24px;
    padding: 8px;
  }

  .video-seek-command {
    grid-template-columns: minmax(2.7rem, auto) minmax(0, 1fr) minmax(2.7rem, auto);
    padding: 0.52rem 0.62rem;
  }

  .video-time {
    min-width: 2.7rem;
    font-size: 0.68rem;
  }

  .video-command {
    min-height: 42px;
    padding: 0.6rem 0.66rem;
    font-size: 0.72rem;
  }

  .video-command-label {
    max-width: 92px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .video-command-icon {
    min-width: 1.95rem;
    min-height: 1.95rem;
  }

  .video-volume-command {
    min-height: 42px;
    font-size: 0.72rem;
  }

  .mobile-video-status {
    margin-top: -14px;
    font-size: 0.74rem;
  }
}

/* Ajuste fino mobile: controles do video em pilha limpa */
@media (max-width: 640px) {
  .video-command-bar {
    position: relative !important;
    inset: auto !important;
    width: min(100%, calc(100vw - 28px));
    max-width: 520px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    clear: both;
    margin: 14px auto 28px !important;
    padding: 10px !important;
    overflow: visible;
  }

  .video-seek-command {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(2.9rem, auto) minmax(0, 1fr) minmax(2.9rem, auto);
    gap: 8px;
    align-items: center;
    order: 1;
    padding: 0.58rem 0.64rem;
  }

  .video-command-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 9px;
    order: 2;
  }

  .video-command {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0.58rem 0.58rem;
  }

  .video-command-label {
    min-width: 0;
    max-width: none;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .video-command-icon {
    flex: 0 0 auto;
  }

  .video-volume-command {
    width: 100%;
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    order: 3;
    padding: 0.62rem 0.72rem;
  }

  .video-range {
    min-width: 0;
  }

  .mobile-video-status {
    width: min(100%, calc(100vw - 28px));
    max-width: 520px;
    margin: -14px auto 24px;
  }
}

@media (max-width: 380px) {
  .video-command-bar {
    width: min(100%, calc(100vw - 20px));
    gap: 8px;
    padding: 8px !important;
  }

  .video-seek-command {
    grid-template-columns: 1fr;
    border-radius: 18px;
    text-align: center;
  }

  .video-time {
    min-width: 0;
  }

  .video-command-row {
    grid-template-columns: 1fr;
  }

  .video-command {
    justify-content: flex-start;
  }

  .video-volume-command {
    border-radius: 18px;
  }
}

/* Ajuste mobile: respiro abaixo do cabecalho fixo */
@media (max-width: 768px) {
  body > main {
    margin-top: clamp(44px, 8vw, 68px);
  }

  body > main > section:first-child,
  body > main.wrap > section:first-child {
    scroll-margin-top: 210px;
  }
}

@media (max-width: 420px) {
  body > main {
    margin-top: clamp(66px, 18vw, 84px);
  }

  body > main > section:first-child,
  body > main.wrap > section:first-child {
    scroll-margin-top: 240px;
  }
}



/* Ampliação editorial e navegação organizada - 2026-07-12 */
.site-educational-note {
  width: min(1120px, calc(100% - 32px));
  margin: 28px auto;
  padding: 18px 20px;
  border: 1px solid rgba(250, 204, 21, 0.48);
  border-left: 4px solid #facc15;
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.94);
  color: #dbeafe;
  line-height: 1.65;
}

.site-educational-note strong {
  color: #facc15;
}

header.site-header .nav-dropdown-panel--guides {
  right: 0;
  left: auto;
  width: min(780px, calc(100vw - 48px));
  max-height: min(72vh, 650px);
  overflow-y: auto;
  transform: translateY(6px);
}

header.site-header .nav-dropdown[open] .nav-dropdown-panel--guides {
  transform: translateY(0);
}

header.site-header .nav-guides-featured {
  margin-bottom: 4px;
  border-color: rgba(250, 204, 21, 0.55);
  color: #facc15;
  text-align: center;
}

.nav-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.nav-guide-group {
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(0, 234, 255, 0.18);
  border-radius: 6px;
  background: rgba(2, 6, 23, 0.7);
}

.nav-guide-group > strong {
  display: block;
  padding: 8px 10px;
  color: #22d3ee;
  font: 700 11px/1.35 var(--font-mono, monospace);
  text-transform: uppercase;
}

.content-summary-section {
  text-align: center;
}

.content-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 760px;
  margin: 28px auto;
}

.content-summary-grid .content-summary-item {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(2, 6, 23, 0.72);
}

.content-summary-grid strong,
.content-summary-grid span {
  display: block;
}

.content-summary-grid strong {
  color: var(--neon-cyan);
  font: 800 1.8rem/1 var(--font-display, sans-serif);
}

.content-summary-grid span {
  margin-top: 8px;
  color: var(--muted);
}

.threat-link {
  display: inline-flex;
  margin-top: 12px;
  color: var(--neon-cyan);
  font: 700 0.78rem/1.3 var(--font-mono, monospace);
  text-transform: uppercase;
}

@media (max-width: 900px) {
  header.site-header .nav-dropdown-panel--guides,
  header.site-header .nav-dropdown[open] .nav-dropdown-panel--guides {
    left: auto;
    width: 100% !important;
    max-height: min(62dvh, 520px);
    transform: none;
  }

  .nav-guide-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .content-summary-grid {
    grid-template-columns: 1fr;
  }

  .site-educational-note {
    width: calc(100% - 24px);
    padding: 16px;
  }
}


/* Nota editorial fora do main: bloco proprio imediatamente antes do rodape. */
body > .site-educational-note {
  display: block;
  clear: both;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

a.link-dourado,
a.link-dourado:visited {
  color: #f8d66d;
  text-shadow: 0 0 10px rgba(248, 214, 109, 0.35);
}

a.link-dourado:hover,
a.link-dourado:focus-visible {
  color: #fff3b0;
  text-shadow: 0 0 14px rgba(255, 214, 95, 0.55);
}

/* Trava de interacao: estilos externos compativeis com a politica CSP. */
html[data-av-interaction-protection="active"] body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

html[data-av-interaction-protection="active"] input,
html[data-av-interaction-protection="active"] textarea,
html[data-av-interaction-protection="active"] select,
html[data-av-interaction-protection="active"] video,
html[data-av-interaction-protection="active"] audio,
html[data-av-interaction-protection="active"] .img-glow-wrapper,
html[data-av-interaction-protection="active"] .img-glow-wrapper *,
html[data-av-interaction-protection="active"] [contenteditable="true"],
html[data-av-interaction-protection="active"] [data-av-allow-copy],
html[data-av-interaction-protection="active"] .av-allow-copy {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}
