/* Codex UX/UI pass for ciberseguranca.org */
.nav-links a {
  color: color-mix(in srgb, var(--ink) 78%, var(--ink-dim));
}

.nav-links a:hover,
.nav-links a:focus-visible,
.quick-search:focus-within {
  color: var(--accent-bright);
}

.nav-links .nav-verificador {
  border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--rule));
  border-radius: 999px;
  padding: 7px 10px;
  color: var(--accent-bright);
  background: color-mix(in srgb, var(--accent) 10%, transparent);
}

.brand-lockup {
  min-width: 0;
  overflow: hidden;
}

.brand-lockup .prompt-logo {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.quick-search {
  background: color-mix(in srgb, var(--bg-2) 72%, black);
}

.quick-search input {
  color: var(--ink);
}

.quick-search input::placeholder {
  color: color-mix(in srgb, var(--ink-dim) 72%, var(--ink));
}

.home-checker {
  display: grid;
  grid-template-columns: minmax(220px, .44fr) minmax(340px, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0 0 18px;
  border: 1px solid color-mix(in srgb, var(--rule) 74%, var(--accent));
  border-radius: 18px;
  padding: 14px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--bg-2) 94%, black), color-mix(in srgb, #13233f 18%, var(--bg))),
    color-mix(in srgb, var(--bg) 86%, black);
  box-shadow: 0 18px 58px rgba(0, 0, 0, .22);
}

.home-checker-copy h2 {
  margin: 6px 0 0;
  color: var(--ink);
  font: 800 clamp(21px, 2.1vw, 30px)/1.05 var(--sans);
  letter-spacing: -.04em;
}

.home-checker-form,
.wc-box {
  display: flex;
  gap: 10px;
  min-width: 0;
}

.home-checker-form > br,
.wc-box > br {
  display: none;
}

.ciber-checker-input {
  min-width: 0;
  width: 100%;
  border: 1px solid color-mix(in srgb, var(--blue) 44%, var(--rule));
  border-radius: 12px;
  padding: 14px 16px;
  background: color-mix(in srgb, #0a101e 86%, black);
  color: #fff;
  font: 600 15px/1.2 var(--sans);
  outline: none;
}

.ciber-checker-input::placeholder {
  color: color-mix(in srgb, #cfe0ff 56%, transparent);
}

.ciber-checker-input:focus {
  border-color: #7fb0ff;
  box-shadow: 0 0 0 3px rgba(127, 176, 255, .2);
}

.ciber-checker-button,
.ciber-checker-timeout button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 12px;
  padding: 14px 20px;
  background: linear-gradient(135deg, #4f8cff, #2563eb);
  color: #fff;
  font: 800 14px/1 var(--sans);
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(37, 99, 235, .32);
}

.ciber-checker-button:hover,
.ciber-checker-timeout button:hover {
  filter: brightness(1.08);
}

.home-checker .ciber-checker-button {
  border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--rule));
  background: color-mix(in srgb, var(--accent) 14%, transparent);
  color: var(--accent-bright);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--accent) 18%, transparent);
}

.home-checker .ciber-checker-button:hover {
  background: color-mix(in srgb, var(--accent) 22%, transparent);
  filter: none;
}

.ciber-checker-result {
  grid-column: 1 / -1;
  margin-top: 2px;
  scroll-margin-top: 96px;
}

.ciber-checker-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  border: 1px solid color-mix(in srgb, var(--blue) 36%, var(--rule));
  border-bottom: 0;
  border-radius: 14px 14px 0 0;
  padding: 11px 14px;
  background: color-mix(in srgb, #0b1220 88%, black);
  color: #cdd9f0;
  font: 700 13px/1.3 var(--sans);
}

.ciber-checker-bar b,
.ciber-checker-bar a {
  color: #8dbbff;
}

.ciber-checker-bar a {
  text-decoration: none;
}

.ciber-checker-frame {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--blue) 36%, var(--rule));
  border-radius: 0 0 14px 14px;
  background: #0a0f1a;
}

.ciber-checker-frame iframe {
  display: block;
  width: 100%;
  height: clamp(420px, 68vh, 760px);
  border: 0;
  background: #0a0f1a;
}

.ciber-checker-loading,
.ciber-checker-timeout {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  text-align: center;
  color: #cfe0ff;
  background: linear-gradient(160deg, #0a0f1a 0%, #101d35 100%);
}

.ciber-checker-result.is-loading .ciber-checker-loading,
.ciber-checker-result.is-timeout .ciber-checker-timeout {
  display: flex;
}

.ciber-checker-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid rgba(127, 176, 255, .2);
  border-top-color: #4f8cff;
  border-radius: 50%;
  animation: wcspin .9s linear infinite;
}

@keyframes wcspin {
  to {
    transform: rotate(360deg);
  }
}

@media (min-width: 1021px) {
  .ciber-variant-5 .signal-front {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
    gap: 16px;
  }

  .ciber-variant-5 .signal-lead,
  .ciber-variant-5 .signal-rail-card,
  .signal-underlead-card,
  .signal-story {
    border-radius: 18px;
  }

  .ciber-variant-5 .signal-lead-image img {
    height: clamp(178px, 14.5vw, 226px);
  }

  .ciber-variant-5 .signal-lead-copy {
    padding: 18px 20px;
  }

  .ciber-variant-5 .signal-lead h2 {
    max-width: 18ch;
    font-size: clamp(30px, 2.7vw, 38px);
    line-height: 1.04;
  }

  .ciber-variant-5 .signal-lead p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .signal-underlead-card img {
    height: clamp(88px, 6.4vw, 112px);
  }

  .signal-underlead-card div {
    padding: 12px 14px 15px;
  }

  .signal-underlead-card h3 {
    font-size: clamp(17px, 1.24vw, 19px);
  }

  .ciber-variant-5 .signal-rail {
    gap: 10px;
  }

  .ciber-variant-5 .signal-rail-card {
    height: 134px;
  }

  .ciber-variant-5 .signal-rail-card a {
    display: grid;
    grid-template-columns: 138px minmax(0, 1fr);
    grid-template-rows: none;
  }

  .ciber-variant-5 .signal-rail-card img {
    height: 100%;
    aspect-ratio: 1 / 1;
  }

  .ciber-variant-5 .signal-rail-card div {
    display: flex;
    justify-content: center;
    padding: 12px 14px;
  }

  .ciber-variant-5 .signal-rail-card h3 {
    font-size: 16px;
    line-height: 1.18;
    -webkit-line-clamp: 3;
  }
}

@media (max-width: 1320px) {
  .portal-nav {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .quick-search {
    display: none;
  }
}

@media (max-width: 1020px) {
  .home-checker {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .home-checker {
    margin-bottom: 14px;
    border-radius: 16px;
    padding: 13px;
  }

  .home-checker-form,
  .wc-box {
    flex-direction: column;
  }

  .ciber-checker-button {
    width: 100%;
  }

  .ciber-variant-5 .signal-lead-image img {
    aspect-ratio: 16 / 7.8;
  }

  .ciber-variant-5 .signal-lead h2 {
    font-size: clamp(26px, 6.8vw, 32px);
  }

  .ciber-variant-5 .signal-lead p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .signal-underlead-card img,
  .ciber-variant-5 .signal-rail-card img {
    aspect-ratio: 16 / 7.8;
  }

  .ciber-checker-frame iframe {
    height: clamp(360px, 72vh, 620px);
  }
}

@media (max-width: 520px) {
  .brand-lockup .prompt-logo {
    max-width: calc(100vw - 78px);
    font-size: 13px;
    letter-spacing: 0;
  }

  .brand-lockup .prompt-muted {
    display: inline;
  }
}

body.page-id-941 .page-stage {
  display: block;
}

body.page-id-941 .institutional-page {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

body.page-id-941 .page-header-clean {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}

body.page-id-941 .page-shell h1 {
  max-width: none;
  margin-inline: auto;
  font-family: var(--sans);
  font-size: clamp(38px, 4.8vw, 64px);
}

body.page-id-941 .entry-content {
  max-width: none;
}

.wc-wrap {
  max-width: 980px;
  margin: 0 auto;
  color: var(--ink);
  font-family: var(--sans);
}

.wc-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--blue) 34%, var(--rule));
  border-radius: 20px;
  padding: clamp(24px, 4vw, 42px);
  text-align: center;
  background:
    radial-gradient(520px 220px at 50% -12%, rgba(79, 140, 255, .28), transparent 70%),
    linear-gradient(135deg, #0b1220 0%, #13233f 58%, #1b3a6b 100%);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .32);
}

.wc-lockup {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 auto 16px;
  border: 1px solid rgba(127, 176, 255, .36);
  border-radius: 999px;
  padding: 7px 14px;
  background: rgba(10, 16, 30, .48);
  color: #d9e7ff;
  font: 800 12px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wc-lock-mark {
  color: #8dbbff;
}

.wc-hero h2 {
  margin: 0 auto 10px;
  border: 0;
  padding: 0;
  max-width: 820px;
  color: #fff;
  font: 800 clamp(28px, 4vw, 46px)/1.03 var(--sans);
  letter-spacing: -.045em;
}

.wc-hero p.sub,
.wc-section .lead {
  max-width: 700px;
  margin: 0 auto 24px;
  color: #c7d6f1;
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 1.58;
}

.wc-box {
  max-width: 720px;
  margin: 0 auto;
}

.wc-hint {
  margin: 16px 0 0;
  color: #a9bce1;
  font: 600 13px/1.4 var(--sans);
}

.wc-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 12px auto 0;
}

.wc-chip {
  border: 1px solid rgba(127, 176, 255, .34);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(10, 16, 30, .58);
  color: #d9e7ff;
  font: 700 13px/1 var(--sans);
  cursor: pointer;
}

.wc-result {
  margin-top: 24px;
  text-align: left;
}

.ciber-checker-page .ciber-checker-frame iframe {
  height: clamp(500px, 76vh, 840px);
}

.wc-section {
  margin: clamp(34px, 5vw, 56px) 0 0;
}

.wc-section h2 {
  margin: 0 0 8px;
  border: 0;
  padding: 0;
  color: var(--ink);
  text-align: center;
  font: 800 clamp(26px, 3vw, 34px)/1.08 var(--sans);
  letter-spacing: -.04em;
}

.wc-grid,
.wc-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.wc-card,
.wc-step {
  border: 1px solid color-mix(in srgb, var(--rule) 78%, var(--accent));
  border-radius: 16px;
  padding: 18px;
  background: color-mix(in srgb, var(--bg-2) 82%, black);
}

.wc-card .ic,
.wc-step .n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 32px;
  border-radius: 999px;
  margin-bottom: 12px;
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  color: var(--accent-bright);
  font: 800 12px/1 var(--mono);
}

.wc-card h3,
.wc-step h3 {
  margin: 0 0 6px;
  color: var(--ink);
  font: 800 18px/1.18 var(--sans);
}

.wc-card p,
.wc-step p {
  margin: 0;
  color: var(--ink-soft);
  font: 400 15px/1.5 var(--sans);
}

@media (max-width: 900px) {
  .wc-grid,
  .wc-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  body.page-id-941 .institutional-page {
    width: min(100% - 20px, 640px);
    padding: 18px 16px;
  }

  body.page-id-941 .page-header-clean {
    text-align: left;
  }

  .wc-hero {
    padding: 22px 16px;
  }

  .wc-grid,
  .wc-steps {
    grid-template-columns: 1fr;
  }

  .wc-chips {
    justify-content: flex-start;
  }

  .ciber-checker-page .ciber-checker-frame iframe {
    height: clamp(380px, 72vh, 620px);
  }
}
