/* ==========================================================================
   Oxton Sleep Research — camada premium do tema (carregada depois de theme.css)
   Paleta: azul-noturno #101D3A · ciano #36B8D8 · Azul Oxton #1A3AF0 · azul-claro #EAF4FA · branco
   Assinatura: hipnograma (estágios do sono) em ciano sobre o azul-noturno.
   Plano: sem sombras, transições, transformações ou animações; hover só muda cor.
   ========================================================================== */

:root {
  --osr-night: #101D3A;
  --osr-night-2: #0B1530;
  --osr-night-3: #16264A;
  --osr-cyan: #36B8D8;
  --osr-cyan-ink: #1C7894;
  --osr-oxton: #1A3AF0;
  --osr-sky: #EAF4FA;
  --osr-line-dark: rgba(255, 255, 255, .14);
  --osr-text-dark: rgba(255, 255, 255, .72);
}

/* ---------------------------------------------------------------- Cabeçalho */
.ox-mainnav { background: var(--osr-night); border-bottom: 1px solid var(--osr-line-dark); }
.ox-mainnav__list > li.is-active > a { border-bottom-color: var(--osr-cyan); }
.ox-btn--primary { background: var(--osr-night); border-color: var(--osr-night); }
.ox-btn--primary:hover { background: var(--osr-oxton); border-color: var(--osr-oxton); }
.ox-btn--amber { background: var(--osr-cyan); border-color: var(--osr-cyan); color: var(--osr-night) !important; }
.ox-btn--amber:hover { background: #fff; border-color: #fff; color: var(--osr-night) !important; }

/* ---------------------------------------------------------------- Capa da página inicial */
.ox-jhero--osr { position: relative; overflow: hidden; background-color: var(--osr-night); background-image: none; isolation: isolate; }
.ox-jhero--osr .ox-orbits { position: absolute; z-index: -1; right: -120px; top: -180px; width: 980px; height: 980px; max-width: none; fill: none; stroke: rgba(255, 255, 255, .07); stroke-width: 1; pointer-events: none; }
.ox-jhero--osr .ox-orbits__moon { fill: var(--osr-cyan); stroke: none; }
.ox-jhero--osr .ox-orbits__star { fill: rgba(255, 255, 255, .55); stroke: none; }
.ox-jhero--osr .ox-jhero__inner { grid-template-columns: minmax(0, 1fr) 146px; gap: 64px; min-height: 0; padding-top: 30px; padding-bottom: 4px; align-items: center; }
.ox-jhero--osr .ox-kicker--light { color: var(--osr-cyan); }
.ox-jhero--osr .ox-kicker--light::before { background: var(--osr-cyan); }
.ox-jhero--osr .ox-jhero__title { font-size: 28px; letter-spacing: -0.02em; margin-bottom: 4px; }
.ox-jhero__claim { font-size: 16px; line-height: 1.5; font-weight: 400; color: var(--osr-text-dark); margin: 0 0 18px; max-width: 620px; }
.ox-jhero--osr .ox-jhero__lead { font-size: 15px; color: var(--osr-text-dark); max-width: 640px; margin-bottom: 24px; }
.ox-jhero--osr .ox-hero__search { border-radius: 10px; padding: 5px 5px 5px 16px; max-width: 640px; }
.ox-jhero--osr .ox-hero__search .ox-btn { height: 38px; padding: 0 20px; }
.ox-jhero--osr .ox-jhero__ctas { margin-top: 14px; }
.ox-jhero--osr .ox-btn--white { color: var(--osr-night) !important; }
.ox-jhero--osr .ox-btn--white:hover { background: var(--osr-cyan); border-color: var(--osr-cyan); color: var(--osr-night) !important; }
.ox-jhero--osr .ox-btn--ghost { border-color: rgba(255, 255, 255, .35); }
.ox-jhero--osr .ox-btn--ghost:hover { border-color: var(--osr-cyan); background: transparent; color: var(--osr-cyan) !important; }
.ox-jhero--osr .ox-jhero__more:hover { color: var(--osr-cyan) !important; text-decoration: none; }
.ox-jhero--osr .ox-jhero__ids { border-top-color: var(--osr-line-dark); margin-top: 30px; }
.ox-jhero--osr .ox-jhero__ids > div { border-left-color: var(--osr-line-dark); }
.ox-jhero--osr .ox-jhero__ids dt { color: rgba(255, 255, 255, .55); }

.ox-jhero--osr .ox-jhero__aside { gap: 8px; }
.ox-jhero--osr .ox-jhero__issue-k { margin: 0; color: var(--osr-cyan); }
.ox-jhero--osr .ox-jhero__cover .ox-cover { border: 1px solid var(--osr-line-dark); }
.ox-jhero--osr .ox-jhero__cover:hover .ox-cover { border-color: var(--osr-cyan); }
.ox-jhero--osr .ox-jhero__issue { color: var(--osr-text-dark) !important; font-size: 13.5px; }

/* Hipnograma: faixa larga entre o texto e os indicadores */
.ox-night { position: relative; height: 48px; margin: 8px 0 0; }
.ox-night__labels { display: none; }
.ox-night__svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ox-night__grid line { stroke: rgba(255, 255, 255, .06); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ox-night__line { fill: none; stroke: var(--osr-cyan); stroke-width: 1.6; stroke-linejoin: round; opacity: .85; }
.ox-night__labels { position: absolute; left: max(var(--ox-gutter), calc((100% - var(--ox-wrap)) / 2)); top: 0; bottom: 0; width: 40px; pointer-events: none; }
.ox-night__labels span { position: absolute; left: 0; margin-top: -6px; font-size: 8.5px; line-height: 12px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .4); background: var(--osr-night); padding-right: 6px; }

/* Indicadores (dentro da capa) */
.ox-jstats { background: var(--osr-night-2); border-top: 1px solid var(--osr-line-dark); }
.ox-jstats__inner { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ox-jstat { display: flex; flex-direction: column; gap: 0; padding: 12px 24px; border-left: 1px solid var(--osr-line-dark); }
.ox-jstat:first-child { border-left: 0; padding-left: 0; }
.ox-jstat__v { font-size: 22px; line-height: 1.15; font-weight: 500; color: #fff; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ox-jstat__l { font-size: 12.5px; color: rgba(255, 255, 255, .6); }

/* ---------------------------------------------------------------- Capa gerada (revista e edições) */
.ox-cover--osr { position: relative; container-type: inline-size; background: var(--ox-cover, var(--osr-night)); border-color: transparent; color: #fff; }
.ox-cover--osr .ox-cover__inner { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 9cqi 9cqi 8cqi; background-image: radial-gradient(circle at 84% 47%, rgba(54, 184, 216, .3) 0 8cqi, transparent 8.5cqi); }
.ox-cover--osr .ox-cover__top { display: flex; align-items: center; gap: 4cqi; font-size: 5.2cqi; line-height: 1.25; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding-bottom: 5cqi; border-bottom: 1px solid rgba(255, 255, 255, .22); }
.ox-cover--osr .ox-cover__mk { display: inline-flex; color: #fff; flex: 0 0 auto; }
.ox-cover--osr .ox-cover__mk svg { width: 11cqi; height: auto; }
.ox-cover--osr .ox-cover__mk img { width: 9cqi !important; height: 9cqi !important; filter: brightness(0) invert(1); }
.ox-cover--osr .ox-cover__acr { margin-top: auto; font-size: 25cqi; line-height: .95; font-weight: 600; letter-spacing: -0.04em; }
.ox-cover--osr .ox-cover__tag { margin-top: 3cqi; font-size: 5cqi; letter-spacing: .06em; text-transform: uppercase; color: var(--osr-cyan); }
.ox-cover--osr .ox-cover__night { display: block; width: 100%; height: 18cqi; margin: 7cqi 0 6cqi; overflow: visible; }
.ox-cover--osr .ox-cover__night path { fill: none; stroke: var(--osr-cyan); stroke-width: 1.3; stroke-linejoin: round; }
.ox-cover--osr .ox-cover__num { font-size: 5.6cqi; color: rgba(255, 255, 255, .8); padding-top: 4cqi; border-top: 1px solid rgba(255, 255, 255, .22); }

/* ---------------------------------------------------------------- Blocos da página inicial */
.ox-journal__body { padding-top: 40px; }
.ox-jhome .ox-block { margin-bottom: 44px; }
.ox-block__title { font-size: 22px; letter-spacing: -0.015em; }
.ox-block__head { border-bottom-color: var(--ox-line); }
.ox-kicker { color: var(--osr-cyan-ink); }
.ox-kicker::before { background: var(--osr-cyan); }

/* Áreas de pesquisa */
.ox-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 18px; background: var(--ox-line); border: 1px solid var(--ox-line); border-radius: 12px; overflow: hidden; }
.ox-area { display: flex; flex-direction: column; gap: 6px; padding: 20px 18px 22px; background: #fff; color: var(--ox-text) !important; text-decoration: none !important; min-height: 168px; }
.ox-area:hover { background: var(--osr-sky); }
.ox-area:hover .ox-area__t { color: var(--osr-oxton); }
.ox-area__icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 10px; background: var(--osr-night); color: var(--osr-cyan); margin-bottom: 8px; }
.ox-area__t { font-size: 15px; font-weight: 600; line-height: 1.3; }
.ox-area__d { font-size: 13px; line-height: 1.5; color: var(--ox-muted); }

/* Selo de acesso aberto nas listas */
.ox-art__oa, .ox-art__peer { color: var(--osr-cyan-ink); }

/* Seções e padrões editoriais */
.ox-sec { border-top: 3px solid var(--osr-night); border-radius: 10px; }
.ox-standards { border-radius: 12px; }
.ox-standard__icon { background: var(--osr-sky); color: var(--osr-night); }
.ox-kpi__icon, .ox-pillar__icon { background: var(--osr-sky); color: var(--osr-night); }

/* Barra lateral */
.ox-side-card { border-radius: 12px; }
.ox-side-card h3 { color: var(--osr-night); }
.ox-rank__n { color: var(--osr-cyan-ink); font-weight: 500; }

/* Faixa "Publish with us" */
.ox-publish { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 48px; align-items: center; margin: 12px 0 64px; padding: 44px 48px; border-radius: 16px; background: var(--osr-night); color: #fff; position: relative; overflow: hidden; isolation: isolate; }
.ox-publish::after { content: ""; position: absolute; z-index: -1; right: -140px; bottom: -220px; width: 460px; height: 460px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .08); box-sizing: border-box; outline: 1px solid rgba(255, 255, 255, .05); outline-offset: 60px; }
.ox-publish .ox-kicker--light { color: var(--osr-cyan); }
.ox-publish .ox-kicker--light::before { background: var(--osr-cyan); }
.ox-publish__title { font-size: 22px; line-height: 1.35; color: #fff; margin: 4px 0 22px; max-width: 520px; }
.ox-publish__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ox-publish .ox-btn--white { color: var(--osr-night) !important; }
.ox-publish .ox-btn--white:hover { background: var(--osr-cyan); border-color: var(--osr-cyan); }
.ox-publish .ox-btn--ghost { border-color: rgba(255, 255, 255, .35); display: inline-flex; align-items: center; gap: 7px; }
.ox-publish .ox-btn--ghost:hover { border-color: var(--osr-cyan); color: var(--osr-cyan) !important; background: transparent; }
.ox-publish__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.ox-publish__steps li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 8px; padding: 16px 0; border-top: 1px solid var(--osr-line-dark); font-size: 14.5px; color: var(--osr-text-dark); }
.ox-publish__steps li:first-child { border-top: 0; padding-top: 0; }
.ox-publish__steps li:last-child { padding-bottom: 0; }
.ox-publish__steps strong { color: #fff; font-weight: 600; }
.ox-publish__n { grid-row: span 2; font-size: 13px; font-weight: 500; color: var(--osr-cyan); letter-spacing: .06em; padding-top: 2px; }

/* ---------------------------------------------------------------- Rodapé */
.ox-footer--osr { background: var(--osr-night); border-top: 0; color: var(--osr-text-dark); }
.ox-fnight { position: relative; height: 54px; background: var(--osr-night-2); }
.ox-fnight__svg { display: block; width: 100%; height: 100%; }
.ox-fnight__grid line { stroke: rgba(255, 255, 255, .05); stroke-width: 1; vector-effect: non-scaling-stroke; }
.ox-fnight__line { fill: none; stroke: var(--osr-cyan); stroke-width: 1.3; opacity: .7; }
.ox-fnight__labels { display: none; }
.ox-footer--osr .ox-brand { color: #fff !important; }
.ox-footer--osr .ox-brand__name { color: #fff; }
.ox-footer--osr .ox-footer__brand p { color: var(--osr-text-dark); }
.ox-footer--osr .ox-footer__issn { color: rgba(255, 255, 255, .55) !important; }
.ox-footer--osr .ox-footer__mail { color: var(--osr-cyan); }
.ox-footer--osr .ox-footer__col h3 { color: #fff; }
.ox-footer--osr .ox-footer__col a { color: var(--osr-text-dark); }
.ox-footer--osr .ox-footer__col a:hover { color: var(--osr-cyan); text-decoration: none; }
.ox-footer--osr .ox-footer__bottom { border-top-color: var(--osr-line-dark); }
.ox-footer--osr .ox-footer__bottom-inner { color: rgba(255, 255, 255, .55); }

/* ---------------------------------------------------------------- Responsivo */
@media (max-width: 1240px) {
  .ox-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .ox-jhero--osr .ox-jhero__inner { grid-template-columns: minmax(0, 1fr) 150px; gap: 40px; }
  .ox-jstat { padding: 12px 14px; }
  .ox-jstat__v { font-size: 20px; }
  .ox-publish { grid-template-columns: 1fr; gap: 28px; padding: 36px 32px; }
}
@media (max-width: 900px) {
  .ox-jhero--osr .ox-jhero__inner { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 26px; }
  .ox-jhero--osr .ox-jhero__aside { display: none; }
  .ox-jhero--osr .ox-orbits { width: 700px; height: 700px; right: -300px; top: -260px; }
  .ox-night { height: 40px; }
}
@media (max-width: 600px) {
  .ox-jhero--osr .ox-jhero__title { font-size: 24px; }
  .ox-jhero__claim { font-size: 15px; margin-bottom: 14px; }
  .ox-jhero--osr .ox-jhero__ctas { gap: 8px; }
  .ox-jhero--osr .ox-jhero__more { display: none; }
  .ox-night { height: 30px; }
  .ox-jstats__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ox-jstat { padding: 10px 10px; }
  .ox-jstat:nth-child(4) { border-left: 0; padding-left: 0; }
  .ox-jstat:nth-child(n+4) { border-top: 1px solid var(--osr-line-dark); }
  .ox-jstat__v { font-size: 18px; }
  .ox-jstat__l { font-size: 11px; line-height: 1.35; }
  .ox-areas { grid-template-columns: 1fr; }
  .ox-area { min-height: 0; }
  .ox-publish { padding: 28px 20px; border-radius: 12px; }
  .ox-publish__title { font-size: 19px; }
}

/* ORCID não verificado: link de texto discreto (o ícone verde é só para iDs autenticados) */
.ox-orcid--text { font-size: 11px; font-weight: 500; letter-spacing: .03em; color: var(--ox-muted) !important; border: 1px solid var(--ox-line); border-radius: 4px; padding: 0 4px; line-height: 16px; }
.ox-orcid--text:hover { color: var(--osr-oxton) !important; border-color: var(--osr-oxton); text-decoration: none; }

/* ROR nas afiliações e contribuições dos autores (CRediT) */
.ox-ror { display: inline-flex; vertical-align: -2px; margin-left: 4px; }
.oxj-ror-icon { display: inline-block; }
.ox-credit { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; color: var(--ox-text-2); }
.ox-credit__who { font-weight: 500; color: var(--ox-text); }

/* Marca nativa da OSR (PNG colorido; a versão light vai nos fundos escuros: rodapé e capas). */
.ox-mark--osr { display: block; flex: 0 0 auto; object-fit: contain; }
.ox-cover--osr .ox-cover__mk img.ox-mark--osr { filter: none; width: 13cqi !important; height: 13cqi !important; }
