/* Novera Header v0.1.0 — Fictioneer 5.35.x */
.novera-header-active #full-navigation {
  --nvh-border: color-mix(in srgb, currentColor 12%, transparent);
}

.novera-header-active #full-navigation .main-navigation__wrapper {
  width: min(calc(100% - 64px), var(--nvh-content-width, 1240px));
  max-width: var(--nvh-content-width, 1240px);
  min-height: var(--nvh-nav-height, 96px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 48px);
}

.novera-header-brand {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  min-width: 0;
}

.novera-header-brand__link {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  text-decoration: none;
}

.novera-header-brand__logo {
  width: var(--nvh-logo-width, 150px);
  height: auto;
  max-height: calc(var(--nvh-nav-height, 96px) - 24px);
  object-fit: contain;
  display: block;
}

.novera-header-brand__logo--dark { display: none; }
html[data-mode="dark"] .novera-header-brand__logo--light { display: none; }
html[data-mode="dark"] .novera-header-brand__logo--dark { display: block; }
html[data-mode="light"] .novera-header-brand__logo--light { display: block; }
html[data-mode="light"] .novera-header-brand__logo--dark { display: none; }

.novera-header-brand._text a {
  font-size: 1.35rem;
  font-weight: 800;
  color: currentColor;
}

.novera-header-active #full-navigation .main-navigation__left {
  min-width: 0;
  flex: 1 1 auto;
}

.novera-header-active #full-navigation .main-navigation__right {
  margin-left: auto;
  flex: 0 0 auto;
}

.novera-header-active #full-navigation .main-navigation__list {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2vw, 32px);
}

.novera-header-hide-menu #full-navigation .main-navigation__left { display: none !important; }

.novera-header-active #full-navigation .menu-item-icon > a,
.novera-header-active #full-navigation .menu-item-icon > button {
  border-radius: 10px;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.novera-header-active #full-navigation .menu-item-icon > a:hover,
.novera-header-active #full-navigation .menu-item-icon > button:hover {
  transform: translateY(-1px);
}

.novera-header-compact-icons #full-navigation .main-navigation__right .icon-menu {
  gap: 2px;
}
.novera-header-compact-icons #full-navigation .menu-item-icon > a,
.novera-header-compact-icons #full-navigation .menu-item-icon > button {
  padding-inline: 7px;
}

.novera-header-shadow #full-navigation .main-navigation__background {
  box-shadow: 0 8px 28px rgba(10, 25, 50, .08);
}
html[data-mode="dark"] body.novera-header-shadow #full-navigation .main-navigation__background {
  box-shadow: 0 10px 34px rgba(0, 0, 0, .25);
}

body.novera-header-force-sticky #full-navigation {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

/* Account submenu */
.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu {
  min-width: 205px;
  padding: 8px;
  border: 1px solid var(--nvh-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .15);
}

.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu > .menu-item {
  margin: 0;
}

.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu a,
.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu button {
  width: 100%;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  text-align: left;
  line-height: 1.25;
  transition: background-color .16s ease, color .16s ease;
}

.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu a:hover,
.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu button:hover {
  background: color-mix(in srgb, #2f7cff 12%, transparent);
  color: #2f7cff;
}

html[data-mode="dark"] body.novera-header-refine-account #full-navigation .icon-menu-account > .sub-menu {
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34);
}

@media (max-width: 768px) {
  .novera-header-active #full-navigation .main-navigation__wrapper {
    width: calc(100% - 28px);
    min-height: var(--nvh-nav-height-mobile, 72px);
    gap: 12px;
  }
  .novera-header-brand__logo {
    width: var(--nvh-logo-width-mobile, 132px);
    max-height: calc(var(--nvh-nav-height-mobile, 72px) - 18px);
  }
  .novera-header-active #full-navigation .main-navigation__left {
    display: none;
  }
  .novera-header-active #full-navigation .main-navigation__right {
    margin-left: auto;
  }
}

/* v0.2.0 — Central de notificações */
.nvh-notifications{position:relative}.nvh-notification-button{position:relative}.nvh-notification-badge{position:absolute;top:1px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#2f7cff;color:#fff;font-size:9px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--navigation-background,#fff)}
.nvh-notification-menu{display:none;position:absolute;z-index:1005;top:calc(100% + 10px);right:-8px;width:min(390px,calc(100vw - 24px));border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:14px;background:var(--navigation-submenu-background,var(--page-bg-color,#fff));box-shadow:0 18px 50px rgba(15,23,42,.18);overflow:hidden;color:var(--fg-700,currentColor)}
.nvh-notifications.is-open .nvh-notification-menu{display:block}.nvh-notification-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px 12px;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}.nvh-notification-head>div{display:flex;flex-direction:column;gap:2px}.nvh-notification-head span{font-size:8px;letter-spacing:.16em;font-weight:800;color:#2f7cff}.nvh-notification-head strong{font-size:16px}.nvh-mark-all{border:0;background:transparent;color:#2f7cff;font-size:11px;font-weight:700;cursor:pointer}.nvh-notification-list{max-height:430px;overflow:auto}.nvh-notification-item{display:grid;grid-template-columns:38px minmax(0,1fr) 8px;gap:10px;align-items:start;padding:13px 16px;color:inherit!important;text-decoration:none!important;border-bottom:1px solid color-mix(in srgb,currentColor 8%,transparent);transition:background .15s ease}.nvh-notification-item:hover{background:color-mix(in srgb,#2f7cff 7%,transparent)}.nvh-notification-item.is-unread{background:color-mix(in srgb,#2f7cff 5%,transparent)}.nvh-notification-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,#2f7cff 10%,transparent);font-size:18px}.nvh-notification-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.nvh-notification-copy strong{font-size:12px;line-height:1.25}.nvh-notification-copy span{font-size:11px;line-height:1.4;opacity:.76;white-space:normal}.nvh-notification-copy small{font-size:9px;opacity:.55}.nvh-unread-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:#2f7cff}.nvh-notification-footer{display:block;padding:12px 16px;text-align:center;color:#2f7cff!important;font-size:11px;font-weight:800;text-decoration:none!important}.nvh-notification-empty{padding:28px;text-align:center}.nvh-notification-empty>span{display:block;font-size:25px;margin-bottom:7px}.nvh-notification-empty strong{display:block}.nvh-notification-empty p{margin:4px 0 0;font-size:11px;opacity:.62}
html[data-mode="dark"] .nvh-notification-menu{box-shadow:0 20px 55px rgba(0,0,0,.38)}
.nvh-notifications-page{padding:clamp(30px,5vw,70px) 20px}.nvh-notifications-shell{width:min(920px,100%);margin:0 auto;padding:clamp(22px,4vw,40px);border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:18px;background:var(--page-bg-color,#fff);box-shadow:0 15px 50px rgba(15,23,42,.05)}.nvh-notifications-page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}.nvh-notifications-page-head span{font-size:9px;letter-spacing:.17em;font-weight:800;color:#2f7cff}.nvh-notifications-page-head h1{margin:.25rem 0;font-size:clamp(28px,4vw,42px)}.nvh-notifications-page-head p{margin:0;opacity:.65}.nvh-notifications-page-list{border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:14px;overflow:hidden}.nvh-notifications-page-list .nvh-notification-item:last-child{border-bottom:0}
@media(max-width:768px){.nvh-notification-menu{position:fixed;top:var(--nvh-nav-height-mobile,72px);right:10px;left:10px;width:auto}.nvh-notifications-page-head{align-items:flex-start;flex-direction:column}.nvh-notification-list{max-height:65vh}}

/* v0.2.1 — refinamento mobile e histórico de notificações */
.nvh-notification-item.is-read {
  background: transparent;
  opacity: .82;
}
.nvh-notification-item.is-read:hover {
  opacity: 1;
  background: color-mix(in srgb,#2f7cff 6%,transparent);
}
.nvh-notification-empty {
  min-height: 150px;
  display: grid;
  place-content: center;
  padding: 30px 24px;
}
.nvh-notification-empty > span {
  width: 38px;
  height: 38px;
  margin: 0 auto 9px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: color-mix(in srgb,#2f7cff 10%,transparent);
  color: #2f7cff;
  font-size: 18px;
  font-weight: 800;
}
.nvh-mobile-bell {
  position: relative;
}
.nvh-mobile-bell .nvh-notification-badge {
  top: -5px;
  right: -7px;
}
#mobile-menu-user-panel .nvh-mobile-notifications-link {
  position: relative;
  display: flex;
  align-items: center;
}
.nvh-mobile-notification-count {
  margin-left: auto;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #2f7cff;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 20px;
}
@media (max-width: 768px) {
  .nvh-notification-menu {
    position: fixed;
    z-index: 100000;
    top: calc(var(--nvh-nav-height-mobile,72px) + 8px);
    right: 12px;
    left: 12px;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - var(--nvh-nav-height-mobile,72px) - 24px);
    border-radius: 16px;
  }
  .nvh-notification-list {
    max-height: min(62dvh, 520px);
  }
  .nvh-notification-head {
    padding: 15px 16px 12px;
  }
  .nvh-notification-item {
    grid-template-columns: 40px minmax(0,1fr) 8px;
    padding: 14px 15px;
  }
  .nvh-notifications-page {
    padding: 24px 14px 48px;
  }
  .nvh-notifications-shell {
    padding: 20px 16px;
    border-radius: 16px;
  }
}


/* v0.2.2 — destino exato de respostas a comentários */
.fictioneer-comment.nvh-comment-highlight,
li.fictioneer-comment.nvh-comment-highlight {
  position: relative;
  border-radius: 12px;
  outline: 2px solid color-mix(in srgb, #2f7cff 72%, transparent);
  outline-offset: 4px;
  box-shadow: 0 0 0 8px color-mix(in srgb, #2f7cff 10%, transparent), 0 12px 34px color-mix(in srgb, #2f7cff 12%, transparent);
  transition: outline-color .35s ease, box-shadow .35s ease, background-color .35s ease;
}
html[data-mode="dark"] .fictioneer-comment.nvh-comment-highlight,
html[data-mode="dark"] li.fictioneer-comment.nvh-comment-highlight {
  box-shadow: 0 0 0 8px color-mix(in srgb, #2f7cff 14%, transparent), 0 14px 38px rgba(0,0,0,.28);
}

/* v0.3.0 — Central de notificações por categorias */
.nvh-notification-head {
  min-height: 58px;
}
.nvh-mark-all-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  color: inherit;
  background: transparent;
  opacity: .72;
  transition: background .15s ease, color .15s ease, opacity .15s ease;
}
.nvh-mark-all-icon:hover:not(:disabled) {
  background: color-mix(in srgb,#2f7cff 10%,transparent);
  color: #2f7cff;
  opacity: 1;
}
.nvh-mark-all-icon:disabled { opacity: .28; cursor: default; }
.nvh-notification-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-bottom: 1px solid color-mix(in srgb,currentColor 10%,transparent);
  background: color-mix(in srgb,currentColor 2%,transparent);
}
.nvh-notification-tab {
  position: relative;
  min-width: 0;
  height: 48px;
  padding: 0 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
  opacity: .68;
  transition: color .15s ease, opacity .15s ease, background .15s ease, border-color .15s ease;
}
.nvh-notification-tab:hover { opacity: 1; background: color-mix(in srgb,#2f7cff 5%,transparent); }
.nvh-notification-tab.is-active {
  opacity: 1;
  color: #2f7cff;
  border-bottom-color: #2f7cff;
}
.nvh-notification-tab-icon { display: inline-grid; place-items: center; font-size: 11px; }
.nvh-tab-count {
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 999px;
  background: #2f7cff;
  color: #fff;
  display: inline-grid;
  place-items: center;
  font-size: 8px;
  line-height: 17px;
}
.nvh-notification-panel { display: none; }
.nvh-notification-panel.is-active { display: block; }
.nvh-notification-panels { max-height: 430px; overflow: auto; }
.nvh-notification-panels .nvh-notification-item:last-child { border-bottom: 0; }
.nvh-notification-panel .nvh-notification-empty {
  min-height: 155px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 28px 20px;
}
.nvh-notification-panel .nvh-notification-empty > span {
  font-size: 27px;
  opacity: .35;
}
.nvh-notification-panel .nvh-notification-empty strong { margin-top: 4px; font-size: 13px; }
.nvh-notification-panel .nvh-notification-empty p { max-width: 280px; line-height: 1.45; }

.nvh-notifications-page-tabs .nvh-notification-tabs {
  margin: 0 0 18px;
  border: 1px solid color-mix(in srgb,currentColor 10%,transparent);
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in srgb,currentColor 2%,transparent);
}
.nvh-notifications-page-tabs .nvh-notification-tab { height: 52px; font-size: 11px; }
.nvh-notifications-page-tabs .nvh-notification-panels {
  max-height: none;
  overflow: visible;
  border: 1px solid color-mix(in srgb,currentColor 10%,transparent);
  border-radius: 14px;
  overflow: hidden;
}
.nvh-notifications-page-tabs .nvh-notification-panel .nvh-notification-empty { min-height: 220px; }

html[data-mode="dark"] .nvh-notification-tab.is-active { color: #75a8ff; border-bottom-color: #75a8ff; }
html[data-mode="dark"] .nvh-tab-count { background: #4f8cff; }

@media (max-width:768px) {
  .nvh-notification-tab { height: 45px; padding: 0 6px; gap: 5px; font-size: 9px; }
  .nvh-notification-tab-icon { font-size: 10px; }
  .nvh-tab-count { min-width: 16px; height: 16px; font-size: 7px; line-height: 16px; }
  .nvh-notification-panels { max-height: min(58dvh,480px); }
  .nvh-notifications-page-tabs .nvh-notification-tabs { grid-template-columns: 1fr; border-radius: 12px; }
  .nvh-notifications-page-tabs .nvh-notification-tab { justify-content: flex-start; padding: 0 14px; border-bottom: 1px solid color-mix(in srgb,currentColor 8%,transparent); border-left: 3px solid transparent; }
  .nvh-notifications-page-tabs .nvh-notification-tab.is-active { border-bottom-color: color-mix(in srgb,currentColor 8%,transparent); border-left-color: #2f7cff; }
}

/* v0.3.1 — refinamento final de proporção do cabeçalho (desktop)
   Mantém toda a lógica, notificações, dropdowns e mobile da v0.3.0. */
@media (min-width: 769px) {
  .novera-header-active #full-navigation .main-navigation__wrapper {
    width: min(calc(100% - 48px), var(--nvh-content-width, 1120px));
    max-width: var(--nvh-content-width, 1120px);
    min-height: var(--nvh-nav-height, 82px);
    gap: 24px;
  }

  .novera-header-active #full-navigation .main-navigation__left {
    flex: 0 1 auto;
    margin-right: auto;
  }

  .novera-header-active #full-navigation .main-navigation__list {
    gap: 18px;
  }

  .novera-header-brand__logo {
    width: var(--nvh-logo-width, 140px);
    max-height: calc(var(--nvh-nav-height, 82px) - 22px);
  }

  .novera-header-active #full-navigation .main-navigation__right {
    margin-left: auto;
  }

  .novera-header-active #full-navigation .main-navigation__right .icon-menu {
    gap: 4px;
  }

  .novera-header-active #full-navigation .main-navigation__right .menu-item-icon > a,
  .novera-header-active #full-navigation .main-navigation__right .menu-item-icon > button,
  .novera-header-active #full-navigation .nvh-notification-button {
    padding-inline: 6px;
  }
}


/* v0.3.2 — cabeçalho desktop mais baixo e translúcido, inspirado na referência. */
@media (min-width: 769px) {
  .novera-header-active #full-navigation .main-navigation__wrapper {
    min-height: var(--nvh-nav-height, 64px);
  }

  .novera-header-brand__logo {
    max-height: calc(var(--nvh-nav-height, 64px) - 18px);
  }

  .novera-header-active #full-navigation .main-navigation__background {
    background: color-mix(in srgb, var(--navigation-background, #ffffff) 88%, transparent) !important;
    -webkit-backdrop-filter: saturate(135%) blur(12px);
    backdrop-filter: saturate(135%) blur(12px);
    border-bottom: 1px solid color-mix(in srgb, currentColor 8%, transparent);
  }

  html[data-mode="dark"] body.novera-header-active #full-navigation .main-navigation__background {
    background: color-mix(in srgb, var(--navigation-background, #111018) 82%, transparent) !important;
    border-bottom-color: color-mix(in srgb, #ffffff 7%, transparent);
  }

  body.novera-header-shadow #full-navigation .main-navigation__background {
    box-shadow: 0 5px 18px rgba(10, 25, 50, .055);
  }

  html[data-mode="dark"] body.novera-header-shadow #full-navigation .main-navigation__background {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .18);
  }
}


/* v0.3.3 — refinamento final da transparência do cabeçalho desktop.
   Preserva altura, espaçamento, mobile, notificações e demais funcionalidades da v0.3.2. */
@media (min-width: 769px) {
  .novera-header-active #full-navigation .main-navigation__background {
    background: color-mix(in srgb, var(--navigation-background, #ffffff) 82%, transparent) !important;
    -webkit-backdrop-filter: saturate(125%) blur(11px);
    backdrop-filter: saturate(125%) blur(11px);
    border-bottom-color: color-mix(in srgb, currentColor 5%, transparent);
  }

  html[data-mode="dark"] body.novera-header-active #full-navigation .main-navigation__background {
    background: color-mix(in srgb, var(--navigation-background, #111018) 74%, transparent) !important;
    border-bottom-color: color-mix(in srgb, #ffffff 4%, transparent);
  }

  body.novera-header-shadow #full-navigation .main-navigation__background {
    box-shadow: 0 3px 14px rgba(10, 25, 50, .035);
  }

  html[data-mode="dark"] body.novera-header-shadow #full-navigation .main-navigation__background {
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
  }
}


/* ==========================================================================
   v0.3.4 — Novera mobile drawer redesign
   ========================================================================== */
@media (max-width: 768px) {
  body.novera-header-active .mobile-menu {
    --nvh-drawer-blue: #2f7cff;
    --nvh-drawer-line: rgba(148,163,184,.18);
  }

  body.novera-header-active .mobile-menu__top:empty,
  body.novera-header-active .mobile-menu__bottom:empty {
    display: none !important;
  }

  body.novera-header-active .mobile-menu__center {
    height: 100% !important;
  }

  body.novera-header-active #mobile-frame-main {
    padding: 22px 18px 28px !important;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  body.novera-header-active .nvh-mobile-section-label {
    color: var(--nvh-drawer-blue);
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  body.novera-header-active .nvh-mobile-navigation-label {
    margin: 6px 12px 12px;
  }

  body.novera-header-active #mobile-navigation {
    padding: 0 0 18px !important;
    margin: 0 0 18px !important;
    border-bottom: 1px solid var(--nvh-drawer-line);
  }

  body.novera-header-active #mobile-navigation .mobile-navigation__list {
    display: grid;
    gap: 2px;
  }

  body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a {
    min-height: 44px;
    padding: 0 12px !important;
    display: flex;
    align-items: center;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    color: inherit;
    opacity: .88;
    transition: background .15s ease, color .15s ease, opacity .15s ease;
  }

  body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a:hover,
  body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a:active {
    background: rgba(47,124,255,.09);
    color: #fff;
    opacity: 1;
  }

  body.novera-header-active #mobile-menu-user-panel {
    padding: 0 !important;
    display: grid;
    gap: 2px;
  }

  body.novera-header-active #mobile-menu-user-panel .nvh-mobile-account-head {
    min-height: 58px;
    margin: 0 4px 18px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid rgba(148,163,184,.16);
    border-radius: 12px;
    background: rgba(15,23,42,.12);
  }

  body.novera-header-active .nvh-mobile-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 38px;
  }

  body.novera-header-active .nvh-mobile-account-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  body.novera-header-active .nvh-mobile-account-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: inherit;
    font-size: 14px;
    line-height: 1.2;
  }

  body.novera-header-active .nvh-mobile-account-copy small {
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.2;
  }

  body.novera-header-active #mobile-menu-user-panel > .nvh-mobile-section-label {
    margin: 15px 12px 8px;
  }

  body.novera-header-active #mobile-menu-user-panel > a,
  body.novera-header-active #mobile-menu-user-panel > button {
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center;
    gap: 11px;
    border-radius: 10px;
    color: inherit;
    font-size: 14px;
    font-weight: 550;
    line-height: 1.2;
    opacity: .86;
    text-align: left;
    transition: background .15s ease, color .15s ease, opacity .15s ease;
  }

  body.novera-header-active #mobile-menu-user-panel > a:hover,
  body.novera-header-active #mobile-menu-user-panel > button:hover,
  body.novera-header-active #mobile-menu-user-panel > a:active,
  body.novera-header-active #mobile-menu-user-panel > button:active {
    background: rgba(47,124,255,.09);
    color: #fff;
    opacity: 1;
  }

  body.novera-header-active #mobile-menu-user-panel .mobile-menu__item-icon {
    width: 18px;
    min-width: 18px;
    margin: 0 !important;
    display: inline-grid;
    place-items: center;
    color: #9ba8bb;
    font-size: 13px;
  }

  body.novera-header-active #mobile-menu-user-panel > a:hover .mobile-menu__item-icon,
  body.novera-header-active #mobile-menu-user-panel > button:hover .mobile-menu__item-icon {
    color: #75a8ff;
  }

  body.novera-header-active .nvh-mobile-notification-count {
    margin-left: auto;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--nvh-drawer-blue);
    box-shadow: 0 0 0 2px rgba(47,124,255,.12);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    line-height: 20px;
  }

  body.novera-header-active .nvh-mobile-section-divider {
    height: 1px;
    margin: 16px 4px 10px;
    background: var(--nvh-drawer-line);
  }

  body.novera-header-active #mobile-menu-user-panel > a:last-child {
    color: #aeb8c8;
  }

  /* Contextual panels from Fictioneer stay compatible but visually quieter. */
  body.novera-header-active .mobile-menu__lists-panel {
    margin: 0 0 12px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--nvh-drawer-line);
  }

  body.novera-header-active .mobile-menu__lists-panel:empty {
    display: none !important;
  }
}


/* v0.3.5 — refinamento visual do drawer mobile */
@media (max-width: 768px) {
  body.novera-header-active #mobile-frame-main { padding-top: 18px !important; }
  body.novera-header-active .nvh-mobile-navigation-label { margin-bottom: 8px !important; }
  body.novera-header-active #mobile-navigation {
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
  }
  body.novera-header-active #mobile-navigation .mobile-navigation__list { gap: 0 !important; }
  body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a {
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
    font-weight: 550 !important;
  }
  body.novera-header-active #mobile-menu-user-panel .nvh-mobile-account-head {
    min-height: 52px !important;
    margin-bottom: 14px !important;
    padding: 7px 9px !important;
    border-radius: 11px !important;
  }
  body.novera-header-active .nvh-mobile-user-avatar {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }
  body.novera-header-active .nvh-mobile-account-copy strong {
    font-size: 13px !important;
    font-weight: 700 !important;
  }
  body.novera-header-active .nvh-mobile-account-copy small { font-size: 10px !important; }
  body.novera-header-active #mobile-menu-user-panel > .nvh-mobile-section-label {
    margin-top: 12px !important;
    margin-bottom: 6px !important;
  }
  body.novera-header-active #mobile-menu-user-panel > a,
  body.novera-header-active #mobile-menu-user-panel > button {
    min-height: 40px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    gap: 10px !important;
  }
  body.novera-header-active .nvh-mobile-section-divider {
    margin-top: 12px !important;
    margin-bottom: 8px !important;
  }
}


/* v0.3.6 — estado deslogado do drawer mobile */
@media (max-width: 768px) {
  body:not(.logged-in).novera-header-active #mobile-menu-user-panel {
    gap: 0 !important;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-section-label {
    margin-top: 12px !important;
    margin-bottom: 8px !important;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-explore-label {
    margin-top: 10px !important;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > a,
  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > button {
    min-height: 42px !important;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-section-divider {
    margin-top: 14px !important;
  }
}


/* v0.3.7 — login/cadastro no drawer deslogado usando o modal nativo do Fictioneer */
@media (max-width: 768px) {
  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-login {
    min-height: 44px !important;
    margin: 0 0 10px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    border: 1px solid rgba(47,124,255,.24) !important;
    border-radius: 10px !important;
    background: rgba(47,124,255,.07) !important;
    color: #dce8ff !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    text-align: left !important;
    cursor: pointer;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-login:hover,
  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-login:active {
    background: rgba(47,124,255,.13) !important;
    border-color: rgba(47,124,255,.36) !important;
    color: #fff !important;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-login .mobile-menu__item-icon {
    color: #74a7ff !important;
  }

  body:not(.logged-in).novera-header-active #mobile-menu-user-panel > .nvh-mobile-explore-label {
    margin-top: 10px !important;
    margin-bottom: 8px !important;
  }
}


/* v0.3.8 — compatibilidade com o modo claro nativo do Fictioneer */
@media (max-width: 768px) {
  :root[data-mode="light"] body.novera-header-active #mobile-menu-user-panel > .nvh-mobile-login {
    background: rgba(47,124,255,.065) !important;
    border-color: rgba(47,124,255,.28) !important;
    color: #263247 !important;
    box-shadow: none !important;
  }

  :root[data-mode="light"] body.novera-header-active #mobile-menu-user-panel > .nvh-mobile-login .mobile-menu__item-icon {
    color: #3b82f6 !important;
  }

  :root[data-mode="light"] body.novera-header-active #mobile-menu-user-panel > .nvh-mobile-login:hover,
  :root[data-mode="light"] body.novera-header-active #mobile-menu-user-panel > .nvh-mobile-login:active {
    background: rgba(47,124,255,.12) !important;
    border-color: rgba(47,124,255,.40) !important;
    color: #162238 !important;
  }

  :root[data-mode="light"] body.novera-header-active .nvh-mobile-section-label {
    color: #1f6ff2 !important;
  }

  :root[data-mode="light"] body.novera-header-active .nvh-mobile-section-divider,
  :root[data-mode="light"] body.novera-header-active #mobile-navigation {
    border-color: rgba(71,85,105,.14) !important;
  }
}


/* ==========================================================================
   v0.4.1 — desktop: aprimora o dropdown NATIVO do Fictioneer
   ========================================================================== */
@media (min-width: 769px) {
  body.novera-header-active .icon-menu-account > .sub-menu {
    width: 260px !important;
    padding: 10px !important;
    border: 1px solid rgba(135,150,175,.18) !important;
    border-radius: 12px !important;
    background: #232a36 !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.28) !important;
    overflow: hidden;
  }

  body.novera-header-active .icon-menu-account > .sub-menu > li {
    margin: 0 !important;
  }

  body.novera-header-active .nvh-desktop-user-head {
    pointer-events: none;
  }

  body.novera-header-active .nvh-desktop-user-head-inner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 10px;
  }

  body.novera-header-active .nvh-desktop-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 38px;
  }

  body.novera-header-active .nvh-desktop-user-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  body.novera-header-active .nvh-desktop-user-copy strong {
    color: #edf2fb;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.novera-header-active .nvh-desktop-user-copy small {
    color: #96a2b4;
    font-size: 10px;
    line-height: 1.2;
  }

  body.novera-header-active .nvh-desktop-section-label {
    padding: 8px 10px 5px !important;
  }

  body.novera-header-active .nvh-desktop-section-label > span {
    color: #3b82f6;
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
  }

  body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item,
  body.novera-header-active .icon-menu-account > .sub-menu > li > a,
  body.novera-header-active .icon-menu-account > .sub-menu > li > button {
    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center;
    border-radius: 8px;
    color: #c9d1df !important;
    background: transparent !important;
    font-size: 13px;
    line-height: 1.2;
    text-align: left;
    transition: background .15s ease, color .15s ease;
  }

  body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item:hover,
  body.novera-header-active .icon-menu-account > .sub-menu > li > a:hover,
  body.novera-header-active .icon-menu-account > .sub-menu > li > button:hover {
    background: rgba(59,130,246,.10) !important;
    color: #fff !important;
  }

  body.novera-header-active .nvh-desktop-divider {
    height: 1px;
    margin: 7px 4px !important;
    background: rgba(140,155,180,.14);
  }

  body.novera-header-active .nvh-desktop-logout-link {
    color: #aeb8c8 !important;
  }

  /* Navigation hover/active accent */
  body.novera-header-active .main-navigation a,
  body.novera-header-active .header-navigation a {
    transition: color .16s ease;
  }
  body.novera-header-active .main-navigation a:hover,
  body.novera-header-active .header-navigation a:hover {
    color: #4a8cff !important;
  }

  /* Light mode */
  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu {
    background: #ffffff !important;
    border-color: rgba(71,85,105,.14) !important;
    box-shadow: 0 16px 42px rgba(15,23,42,.14) !important;
  }

  :root[data-mode="light"] body.novera-header-active .nvh-desktop-user-copy strong {
    color: #273244;
  }

  :root[data-mode="light"] body.novera-header-active .nvh-desktop-user-copy small {
    color: #7e8998;
  }

  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item,
  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu > li > a,
  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu > li > button {
    color: #3f4a5d !important;
  }

  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item:hover,
  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu > li > a:hover,
  :root[data-mode="light"] body.novera-header-active .icon-menu-account > .sub-menu > li > button:hover {
    background: rgba(47,124,255,.07) !important;
    color: #1f2937 !important;
  }
}


/* v0.4.2 — lapidação final do menu desktop */
@media (min-width: 769px) {
  body.novera-header-active .icon-menu-account > .sub-menu {
    padding: 8px !important;
  }

  body.novera-header-active .nvh-desktop-user-head-inner {
    padding: 5px 7px 7px !important;
    gap: 9px !important;
  }

  body.novera-header-active .nvh-desktop-section-label {
    padding: 7px 9px 3px !important;
  }

  body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item,
  body.novera-header-active .icon-menu-account > .sub-menu > li > a,
  body.novera-header-active .icon-menu-account > .sub-menu > li > button {
    min-height: 34px !important;
    padding: 0 9px !important;
    gap: 9px;
  }

  body.novera-header-active .nvh-desktop-divider {
    margin: 5px 3px !important;
  }

  body.novera-header-active .nvh-desktop-user-copy small {
    color: #a7b2c3 !important;
  }

  /* Ícones discretos, sem alterar os links/ações nativos. */
  body.novera-header-active .nvh-desktop-account-link::before,
  body.novera-header-active .nvh-desktop-bookshelf-link::before,
  body.novera-header-active .nvh-desktop-appearance-link::before,
  body.novera-header-active .nvh-desktop-discord-link::before,
  body.novera-header-active .nvh-desktop-logout-link::before {
    display: inline-flex;
    width: 16px;
    flex: 0 0 16px;
    align-items: center;
    justify-content: center;
    color: #8f9caf;
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
  }

  body.novera-header-active .nvh-desktop-account-link::before { content: "\f007"; }
  body.novera-header-active .nvh-desktop-bookshelf-link::before { content: "\f03a"; }
  body.novera-header-active .nvh-desktop-appearance-link::before { content: "\f53f"; }
  body.novera-header-active .nvh-desktop-discord-link::before {
    content: "\f392";
    font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands";
    font-weight: 400;
  }
  body.novera-header-active .nvh-desktop-logout-link::before { content: "\f2f5"; }

  body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item:hover::before {
    color: #5b96ff;
  }

  :root[data-mode="light"] body.novera-header-active .nvh-desktop-user-copy small {
    color: #697586 !important;
  }
  :root[data-mode="light"] body.novera-header-active .nvh-desktop-account-link::before,
  :root[data-mode="light"] body.novera-header-active .nvh-desktop-bookshelf-link::before,
  :root[data-mode="light"] body.novera-header-active .nvh-desktop-appearance-link::before,
  :root[data-mode="light"] body.novera-header-active .nvh-desktop-discord-link::before,
  :root[data-mode="light"] body.novera-header-active .nvh-desktop-logout-link::before {
    color: #8491a5;
  }
}


/* v0.4.3 — alinhamento dos itens do menu desktop */
@media (min-width: 769px) {
  body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item,
  body.novera-header-active .icon-menu-account > .sub-menu > li > a,
  body.novera-header-active .icon-menu-account > .sub-menu > li > button {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  body.novera-header-active .nvh-desktop-account-link::before,
  body.novera-header-active .nvh-desktop-bookshelf-link::before,
  body.novera-header-active .nvh-desktop-appearance-link::before,
  body.novera-header-active .nvh-desktop-discord-link::before,
  body.novera-header-active .nvh-desktop-logout-link::before {
    margin-right: 0 !important;
  }

  body.novera-header-active .icon-menu-account > .sub-menu .nvh-desktop-item > span,
  body.novera-header-active .icon-menu-account > .sub-menu > li > a > span,
  body.novera-header-active .icon-menu-account > .sub-menu > li > button > span {
    margin-left: 0 !important;
    text-align: left !important;
  }
}


/* v0.4.4 — aproxima nome/subtítulo do avatar no cabeçalho da conta */
@media (min-width: 769px) {
  body.novera-header-active .nvh-desktop-user-head-inner {
    gap: 5px !important;
  }

  body.novera-header-active .nvh-desktop-user-copy {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  body.novera-header-active .nvh-desktop-user-copy strong,
  body.novera-header-active .nvh-desktop-user-copy small {
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
  }
}


/* v0.4.5 — corrige de forma definitiva o afastamento avatar/texto */
@media (min-width: 769px) {
  body.novera-header-active .nvh-desktop-user-head-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.novera-header-active .nvh-desktop-user-avatar {
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
  }

  body.novera-header-active .nvh-desktop-user-copy {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 2px !important;
  }

  body.novera-header-active .nvh-desktop-user-copy strong,
  body.novera-header-active .nvh-desktop-user-copy small {
    display: block !important;
    width: auto !important;
    max-width: 170px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
}


/* ==========================================================================
   v0.4.6 — header desktop limpo
   - mantém apenas Conta, Notificações e Pesquisa nos ícones do topo
   - não altera o menu do WordPress; apenas estiliza hover/item atual
   ========================================================================== */
@media (min-width: 769px) {

  /* Oculta apenas os atalhos visuais de configurações/ferramentas no header.
     As funções do Fictioneer continuam intactas em outros lugares. */
  body.novera-header-active .site-header .icon-menu-settings,
  body.novera-header-active .site-header .icon-menu-tools,
  body.novera-header-active .site-header [data-fictioneer-id-param="site-settings"],
  body.novera-header-active .site-header [data-fictioneer-id-param="tools"],
  body.novera-header-active .site-header [aria-label*="Configurações" i],
  body.novera-header-active .site-header [aria-label*="Settings" i],
  body.novera-header-active .site-header [aria-label*="Ferramentas" i],
  body.novera-header-active .site-header [aria-label*="Tools" i] {
    display: none !important;
  }

  /* Menu do WordPress: preserva conteúdo/URLs/ordem; só estiliza. */
  body.novera-header-active .main-navigation .menu > li > a,
  body.novera-header-active .header-navigation .menu > li > a,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li > a,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li > a {
    position: relative;
    transition: color .16s ease;
  }

  body.novera-header-active .main-navigation .menu > li > a:hover,
  body.novera-header-active .header-navigation .menu > li > a:hover,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li > a:hover,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li > a:hover {
    color: #4b8cff !important;
  }

  /* Usa somente as classes nativas do WordPress para indicar a página atual. */
  body.novera-header-active .main-navigation .menu > li.current-menu-item > a,
  body.novera-header-active .main-navigation .menu > li.current_page_item > a,
  body.novera-header-active .main-navigation .menu > li.current-menu-ancestor > a,
  body.novera-header-active .header-navigation .menu > li.current-menu-item > a,
  body.novera-header-active .header-navigation .menu > li.current_page_item > a,
  body.novera-header-active .header-navigation .menu > li.current-menu-ancestor > a,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li.current-menu-item > a,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li.current-menu-item > a {
    color: #4b8cff !important;
  }

  body.novera-header-active .main-navigation .menu > li.current-menu-item > a::after,
  body.novera-header-active .main-navigation .menu > li.current_page_item > a::after,
  body.novera-header-active .main-navigation .menu > li.current-menu-ancestor > a::after,
  body.novera-header-active .header-navigation .menu > li.current-menu-item > a::after,
  body.novera-header-active .header-navigation .menu > li.current_page_item > a::after,
  body.novera-header-active .header-navigation .menu > li.current-menu-ancestor > a::after,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li.current-menu-item > a::after,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li.current-menu-item > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    border-radius: 999px;
    background: #4b8cff;
  }
}


/* v0.4.7 — usa as classes EXATAS do Fictioneer para limpar o header desktop */
@media (min-width: 769px) {
  body.novera-header-active .icon-menu-light-mode,
  body.novera-header-active .icon-menu-site-settings {
    display: none !important;
  }
}


/* ==========================================================================
   v0.4.8 — redesign do modal nativo de login do Fictioneer
   ========================================================================== */

body.novera-header-active #login-modal .modal__wrapper {
  width: min(92vw, 390px) !important;
  padding: 20px !important;
  border: 1px solid rgba(120,145,180,.18) !important;
  border-radius: 16px !important;
  background:
    linear-gradient(180deg, rgba(47,124,255,.035), rgba(47,124,255,0) 42%),
    #242b37 !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.42) !important;
}

body.novera-header-active #login-modal .modal__header {
  margin: 0 34px 8px 0 !important;
  padding: 0 !important;
  color: #f4f7fb !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

body.novera-header-active #login-modal .modal__description {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #aeb8c8 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

body.novera-header-active #login-modal .modal__description p {
  margin: 0 !important;
}

body.novera-header-active #login-modal .close {
  top: 14px !important;
  right: 14px !important;
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #8f9bad !important;
  transition: background .16s ease, color .16s ease, transform .16s ease !important;
}

body.novera-header-active #login-modal .close:hover {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  transform: rotate(2deg);
}

body.novera-header-active #login-modal .login__options {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.novera-header-active #login-modal .login__options > *,
body.novera-header-active #login-modal .login__options a,
body.novera-header-active #login-modal .login__options button {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 46px !important;
}

body.novera-header-active #login-modal .login__options a,
body.novera-header-active #login-modal .login__options button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(139,157,183,.22) !important;
  border-radius: 10px !important;
  background: rgba(12,19,31,.18) !important;
  color: #d8dfeb !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    transform .16s ease !important;
}

body.novera-header-active #login-modal .login__options a:hover,
body.novera-header-active #login-modal .login__options button:hover {
  background: rgba(47,124,255,.10) !important;
  border-color: rgba(79,139,255,.38) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

body.novera-header-active #login-modal .login__options i,
body.novera-header-active #login-modal .login__options svg,
body.novera-header-active #login-modal .login__options .icon {
  color: #8ea1bd !important;
  fill: currentColor !important;
}

body.novera-header-active #login-modal .login__options a:hover i,
body.novera-header-active #login-modal .login__options button:hover i,
body.novera-header-active #login-modal .login__options a:hover svg,
body.novera-header-active #login-modal .login__options button:hover svg {
  color: #6fa5ff !important;
}

/* mobile */
@media (max-width: 620px) {
  body.novera-header-active #login-modal .modal__wrapper {
    width: calc(100vw - 28px) !important;
    max-width: 390px !important;
    padding: 18px !important;
    border-radius: 14px !important;
  }

  body.novera-header-active #login-modal .modal__header {
    font-size: 14px !important;
  }

  body.novera-header-active #login-modal .modal__description {
    font-size: 12.5px !important;
  }
}

/* light mode */
:root[data-mode="light"] body.novera-header-active #login-modal .modal__wrapper {
  background:
    linear-gradient(180deg, rgba(47,124,255,.035), rgba(47,124,255,0) 42%),
    #ffffff !important;
  border-color: rgba(71,85,105,.14) !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.18) !important;
}

:root[data-mode="light"] body.novera-header-active #login-modal .modal__header {
  color: #202a3a !important;
}

:root[data-mode="light"] body.novera-header-active #login-modal .modal__description {
  color: #667085 !important;
}

:root[data-mode="light"] body.novera-header-active #login-modal .close {
  color: #7c8798 !important;
}

:root[data-mode="light"] body.novera-header-active #login-modal .close:hover {
  background: rgba(15,23,42,.05) !important;
  color: #1f2937 !important;
}

:root[data-mode="light"] body.novera-header-active #login-modal .login__options a,
:root[data-mode="light"] body.novera-header-active #login-modal .login__options button {
  background: #f8fafc !important;
  border-color: rgba(71,85,105,.16) !important;
  color: #344054 !important;
}

:root[data-mode="light"] body.novera-header-active #login-modal .login__options a:hover,
:root[data-mode="light"] body.novera-header-active #login-modal .login__options button:hover {
  background: rgba(47,124,255,.07) !important;
  border-color: rgba(47,124,255,.30) !important;
  color: #1f2937 !important;
}


/* ==========================================================================
   v0.4.9 — hover limpo no menu principal desktop
   Mantém o menu dinâmico do WordPress; altera apenas o visual.
   ========================================================================== */
@media (min-width: 769px) {
  body.novera-header-active .main-navigation .menu > li > a,
  body.novera-header-active .header-navigation .menu > li > a,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li > a,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li > a {
    position: relative !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    transition: color .16s ease !important;
  }

  body.novera-header-active .main-navigation .menu > li > a:hover,
  body.novera-header-active .main-navigation .menu > li:hover > a,
  body.novera-header-active .header-navigation .menu > li > a:hover,
  body.novera-header-active .header-navigation .menu > li:hover > a,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li > a:hover,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li > a:hover {
    background: transparent !important;
    box-shadow: none !important;
    color: #4b8cff !important;
  }

  body.novera-header-active .main-navigation .menu > li > a::after,
  body.novera-header-active .header-navigation .menu > li > a::after,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li > a::after,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 12% !important;
    right: 12% !important;
    bottom: -7px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #4b8cff !important;
    opacity: 0 !important;
    transform: scaleX(.55) !important;
    transform-origin: center !important;
    transition: opacity .16s ease, transform .16s ease !important;
    pointer-events: none !important;
  }

  body.novera-header-active .main-navigation .menu > li > a:hover::after,
  body.novera-header-active .main-navigation .menu > li:hover > a::after,
  body.novera-header-active .header-navigation .menu > li > a:hover::after,
  body.novera-header-active .header-navigation .menu > li:hover > a::after,
  body.novera-header-active nav[aria-label*="Primary" i] .menu > li > a:hover::after,
  body.novera-header-active nav[aria-label*="Principal" i] .menu > li > a:hover::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }

  /* Página atual: mesmo tratamento, sem bloco cinza. */
  body.novera-header-active .main-navigation .menu > li.current-menu-item > a,
  body.novera-header-active .main-navigation .menu > li.current_page_item > a,
  body.novera-header-active .main-navigation .menu > li.current-menu-ancestor > a,
  body.novera-header-active .header-navigation .menu > li.current-menu-item > a,
  body.novera-header-active .header-navigation .menu > li.current_page_item > a,
  body.novera-header-active .header-navigation .menu > li.current-menu-ancestor > a {
    background: transparent !important;
    box-shadow: none !important;
    color: #4b8cff !important;
  }

  body.novera-header-active .main-navigation .menu > li.current-menu-item > a::after,
  body.novera-header-active .main-navigation .menu > li.current_page_item > a::after,
  body.novera-header-active .main-navigation .menu > li.current-menu-ancestor > a::after,
  body.novera-header-active .header-navigation .menu > li.current-menu-item > a::after,
  body.novera-header-active .header-navigation .menu > li.current_page_item > a::after,
  body.novera-header-active .header-navigation .menu > li.current-menu-ancestor > a::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }
}


/* ==========================================================================
   v0.5.0 — correção baseada no CSS real do Fictioneer
   O fundo cinza vem do LI .menu-item:hover, não do <a>.
   ========================================================================== */
@media (min-width: 769px) {

  /* Remove exatamente o background que o Fictioneer aplica ao LI no hover. */
  body.novera-header-active .main-navigation__list > .menu-item:hover,
  body.novera-header-active .main-navigation__list > .page_item:hover,
  body.novera-header-active .main-navigation .menu-item:hover,
  body.novera-header-active .main-navigation .page_item:hover {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  /* Também neutraliza fundo no item atual, se alguma configuração do tema aplicar. */
  body.novera-header-active .main-navigation__list > .current-menu-item,
  body.novera-header-active .main-navigation__list > .current_page_item,
  body.novera-header-active .main-navigation__list > .current-menu-ancestor {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  /* Mantém o link limpo. */
  body.novera-header-active .main-navigation__list > .menu-item > a,
  body.novera-header-active .main-navigation__list > .page_item > a {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  /* Hover: só texto azul. */
  body.novera-header-active .main-navigation__list > .menu-item:hover > a,
  body.novera-header-active .main-navigation__list > .page_item:hover > a {
    color: #4b8cff !important;
    background: transparent !important;
  }

  /* Linha fina no hover e no item atual. */
  body.novera-header-active .main-navigation__list > .menu-item > a::after,
  body.novera-header-active .main-navigation__list > .page_item > a::after {
    content: "" !important;
    position: absolute !important;
    left: 1rem !important;
    right: 1rem !important;
    bottom: 7px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #4b8cff !important;
    opacity: 0 !important;
    transform: scaleX(.55) !important;
    transform-origin: center !important;
    transition: opacity .16s ease, transform .16s ease !important;
    pointer-events: none !important;
  }

  body.novera-header-active .main-navigation__list > .menu-item:hover > a::after,
  body.novera-header-active .main-navigation__list > .page_item:hover > a::after,
  body.novera-header-active .main-navigation__list > .current-menu-item > a::after,
  body.novera-header-active .main-navigation__list > .current_page_item > a::after,
  body.novera-header-active .main-navigation__list > .current-menu-ancestor > a::after {
    opacity: 1 !important;
    transform: scaleX(1) !important;
  }

  body.novera-header-active .main-navigation__list > .current-menu-item > a,
  body.novera-header-active .main-navigation__list > .current_page_item > a,
  body.novera-header-active .main-navigation__list > .current-menu-ancestor > a {
    color: #4b8cff !important;
  }
}

/* ==========================================================================
   v0.5.2 — sticky mobile translúcido alinhado ao Fictioneer
   Atua na camada real de fundo do tema somente fora do topo da página.
   Preserva a lógica nativa de esconder ao descer e reaparecer ao subir.
   ========================================================================== */
@media (max-width: 768px) {
  body.novera-header-active:not(.scrolled-to-top) #full-navigation.main-navigation.is-sticky .main-navigation__background,
  body.novera-header-active:not(.scrolled-to-top) #full-navigation .main-navigation.is-sticky .main-navigation__background,
  body.novera-header-active:not(.scrolled-to-top) #full-navigation.is-sticky .main-navigation__background {
    background: color-mix(in srgb, var(--navigation-background, #111827) 76%, transparent) !important;
    opacity: .88 !important;
    -webkit-backdrop-filter: saturate(125%) blur(11px) !important;
    backdrop-filter: saturate(125%) blur(11px) !important;
    border-bottom: 1px solid color-mix(in srgb, currentColor 5%, transparent) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .10) !important;
  }

  html[data-mode="dark"] body.novera-header-active:not(.scrolled-to-top) #full-navigation.main-navigation.is-sticky .main-navigation__background,
  html[data-mode="dark"] body.novera-header-active:not(.scrolled-to-top) #full-navigation .main-navigation.is-sticky .main-navigation__background,
  html[data-mode="dark"] body.novera-header-active:not(.scrolled-to-top) #full-navigation.is-sticky .main-navigation__background {
    background: color-mix(in srgb, var(--navigation-background, #0d1420) 72%, transparent) !important;
    opacity: .86 !important;
    border-bottom-color: rgba(255, 255, 255, .045) !important;
  }
}

/* Novera VIP integration */
.nvh-vip-badge{display:inline-flex;align-items:center;gap:.28em;margin-left:.42rem;padding:.2rem .44rem;border:1px solid currentColor;border-radius:999px;font-size:.62rem;font-weight:800;line-height:1;letter-spacing:.05em;vertical-align:middle;white-space:nowrap}
.nvh-mobile-account-copy strong,.nvh-desktop-user-copy strong{display:flex;align-items:center;flex-wrap:wrap}


/* v0.5.4 — dado de descoberta aleatória VIP */
.novera-header-active .nvh-random-discovery { position: relative; }
.novera-header-active .nvh-random-discovery__button { position: relative; }
.novera-header-active .nvh-random-discovery__button .fa-dice { transition: transform .22s ease; }
.novera-header-active .nvh-random-discovery__button:hover .fa-dice { transform: rotate(-12deg) scale(1.08); }
.novera-header-active .nvh-random-discovery.is-rolling .fa-dice { animation: nvh-dice-roll .48s linear infinite; }
.novera-header-active .nvh-random-discovery__vip {
  position: absolute; right: 1px; bottom: 0; z-index: 2;
  min-width: 13px; height: 13px; padding: 0 2px; display: grid; place-items: center;
  border-radius: 999px; background: #d9a514; color: #17120a;
  font: 900 9px/1 sans-serif; box-shadow: 0 0 0 2px var(--navigation-background, var(--page-bg-color, #fff));
}
.novera-header-active .nvh-random-discovery--locked .nvh-random-discovery__button,
.novera-header-active .nvh-random-discovery--guest .nvh-random-discovery__button { opacity: .72; }
.novera-header-active .nvh-random-discovery--vip .nvh-random-discovery__button { color: #d9a514; }
@keyframes nvh-dice-roll { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .novera-header-active .nvh-random-discovery.is-rolling .fa-dice { animation: none; }
}

/* v0.5.5 — dado visível no topo mobile + CTA VIP desktop */
.nvh-mobile-random { display:none; }
.novera-header-active #full-navigation .nvh-vip-cta {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:34px!important;
  padding:0 9px!important;
  border:1px solid color-mix(in srgb,#d9a514 46%,transparent)!important;
  border-radius:10px!important;
  background:color-mix(in srgb,#d9a514 8%,transparent)!important;
  color:#e4b83f!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  letter-spacing:.03em!important;
}
.novera-header-active #full-navigation .nvh-vip-cta:hover {
  background:color-mix(in srgb,#d9a514 15%,transparent)!important;
  color:#f1ca5c!important;
}
.nvh-vip-cta__crown { font-size:.9rem; transform:translateY(-1px); }

@media (max-width: 768px) {
  .novera-header-active #full-navigation .main-navigation__wrapper { position:relative!important; }
  .novera-header-active #full-navigation .nvh-vip-cta { display:none!important; }
  .novera-header-active #full-navigation .nvh-mobile-random {
    display:flex!important;
    position:absolute!important;
    right:52px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:8!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .novera-header-active #full-navigation .nvh-mobile-random__button {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:var(--fg-500,#aeb7c5)!important;
    cursor:pointer!important;
  }
  .novera-header-active #full-navigation .nvh-mobile-random--vip .nvh-mobile-random__button { color:#d9a514!important; }
  .novera-header-active #full-navigation .nvh-mobile-random__button .fa-dice { font-size:18px!important; }
  .novera-header-active #full-navigation .nvh-mobile-random .nvh-random-discovery__vip {
    right:0!important;
    bottom:0!important;
  }
}

/* v0.5.6 — 3 rodadas grátis/dia; VIP ilimitado */
.novera-header-active #full-navigation .nvh-vip-cta{display:none!important}
.nvh-random-limit-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}
.nvh-random-limit-modal__backdrop{position:absolute;inset:0;background:rgba(4,10,20,.76);backdrop-filter:blur(5px)}
.nvh-random-limit-modal__card{position:relative;width:min(420px,100%);padding:26px 24px 22px;border:1px solid rgba(66,139,255,.35);border-radius:18px;background:#111d2c;box-shadow:0 24px 70px rgba(0,0,0,.45);color:#eaf2ff;text-align:center}
.nvh-random-limit-modal__close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:#93a5bd;font-size:26px;cursor:pointer}
.nvh-random-limit-modal__dice{font-size:34px;margin-bottom:8px}.nvh-random-limit-modal__card h3{margin:0 0 8px;font-size:1.18rem}.nvh-random-limit-modal__card p{margin:0 auto 18px;max-width:340px;color:#b9c6d8;line-height:1.55}
.nvh-random-limit-modal__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.nvh-random-limit-modal__actions a,.nvh-random-limit-modal__actions button{min-height:40px;padding:10px 15px;border-radius:10px;font-weight:800;text-decoration:none;cursor:pointer}.nvh-random-limit-modal__vip{background:#287cf4;color:white!important;border:1px solid #438df8}.nvh-random-limit-modal__actions button{background:#18283b;color:#dbe7f7;border:1px solid #2b4059}.nvh-random-limit-modal__card small{display:block;margin-top:14px;color:#7890aa}

/* v0.5.8 — moldura dourada e coroa no avatar VIP (desktop/mobile). */
body.novera-header-active .nvh-vip-avatar,
body.nvh-current-user-vip .nvh-native-vip-avatar {
  display: inline-flex; position: relative; align-items: center; justify-content: center;
  flex: 0 0 auto; border: 2px solid #eabf58; border-radius: 50%;
  padding: 1px; box-sizing: border-box; vertical-align: middle;
  box-shadow: 0 0 0 1px rgba(255,217,125,.18);
}
body.novera-header-active .nvh-vip-avatar > img,
body.nvh-current-user-vip .nvh-native-vip-avatar > img {
  display: block; border-radius: 50%; object-fit: cover; margin: 0 !important;
}
body.novera-header-active .nvh-vip-avatar .nvh-vip-avatar-crown,
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown {
  position: absolute; top: -9px; right: -7px; z-index: 2;
  color: #ffcf59; font-size: 15px; font-weight: 900; line-height: 1;
  text-shadow: 0 1px 2px #3a2700, 0 0 3px #151515;
  pointer-events: none;
}
body.novera-header-active .nvh-vip-avatar .nvh-mobile-user-avatar,
body.novera-header-active .nvh-vip-avatar .nvh-desktop-user-avatar { flex: none !important; }
body.nvh-current-user-vip .nvh-native-vip-avatar { width: 27px; height: 27px; }
body.nvh-current-user-vip .nvh-native-vip-avatar > img { width: 100%; height: 100%; }
@media (max-width: 768px) {
  body.nvh-current-user-vip .nvh-native-vip-avatar { width: 27px; height: 27px; }
}

/* v0.5.11: refinamento apenas do avatar compacto no header.
   O avatar maior do menu conserva integralmente o estilo v0.5.9. */
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown {
  top: -5px; right: -3px; font-size: 12px;
}

/* v0.5.12 — coroa SVG idêntica à do Novera Profile v0.9.40.
   Proporção adaptada, mesma silhueta, dourado e acabamento. */
body.novera-header-active .nvh-vip-avatar .nvh-vip-avatar-crown,
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown {
  position:absolute; top:-12px; left:50%; right:auto; transform:translateX(-50%) rotate(-2deg);
  display:block; width:21px; height:15px; font-size:0; line-height:0;
  color:#f6c84a; text-shadow:none; z-index:8; overflow:visible;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.72)) drop-shadow(0 0 3px rgba(246,200,74,.40));
  pointer-events:none;
}
body.novera-header-active .nvh-vip-avatar .nvh-vip-avatar-crown svg,
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown svg {
  display:block; width:100%; height:100%; overflow:visible;
  fill:#f6c84a; stroke:#fff4bd; stroke-opacity:.55; stroke-width:1.7; stroke-linejoin:round;
}
body.novera-header-active .nvh-vip-avatar .nvh-vip-avatar-crown svg path:last-child,
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown svg path:last-child {
  fill:none; stroke:#f6c84a; stroke-width:5; stroke-linecap:round;
}
/* Avatar do menu: mesma coroa, ampliada proporcionalmente. */
body.novera-header-active .nvh-vip-avatar .nvh-vip-avatar-crown {
  width:25px; height:18px; top:-15px;
}
/* Avatar compacto do ícone da navegação: não alterar seu diâmetro. */
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown {
  width:17px; height:12px; top:-9px; left:50%; right:auto; font-size:0;
}


/* v0.5.13 — indicador VIP consistente e sem recorte nos dois menus. */
body.novera-header-active .nvh-vip-avatar,
body.nvh-current-user-vip .nvh-native-vip-avatar {
  overflow: visible !important;
  border: 2px solid #eabf58 !important;
  border-radius: 50% !important;
  position: relative !important;
  box-sizing: border-box !important;
}
/* Reservar espaço dentro do submenu, cuja borda arredondada recorta conteúdo externo. */
body.novera-header-active .nvh-desktop-user-head-inner {
  padding-top: 15px !important;
}
body.novera-header-active .nvh-mobile-account-head {
  padding-top: 16px !important;
}
body.novera-header-active .nvh-vip-avatar .nvh-vip-avatar-crown {
  top: -10px !important;
  left: 50% !important;
  right: auto !important;
  width: 20px !important;
  height: 14px !important;
  transform: translateX(-50%) rotate(-2deg) !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* No acionador compacto, encaixar a coroa na borda superior do círculo. */
body.nvh-current-user-vip .nvh-native-vip-avatar {
  width: 27px !important;
  height: 27px !important;
  flex: 0 0 27px !important;
}
body.nvh-current-user-vip .nvh-native-vip-avatar .nvh-vip-avatar-crown {
  top: -5px !important;
  left: 50% !important;
  right: auto !important;
  width: 14px !important;
  height: 10px !important;
  transform: translateX(-50%) rotate(-2deg) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Novera mobile redesign v0.5.14 — isolated from desktop. */
.nvh-v514 { display:none; }
@media (max-width:768px) {
  body.novera-header-active #full-navigation .main-navigation__wrapper { width:100%!important; max-width:none!important; min-height:120px!important; height:120px!important; display:block!important; position:relative!important; margin:0!important; padding:0!important; }
  body.novera-header-active #full-navigation .main-navigation__wrapper > :not(.nvh-v514) { visibility:hidden!important; }
  body.novera-header-active #full-navigation .nvh-v514 { display:flex!important; flex-direction:column; position:absolute; inset:0; z-index:15; background:#10151f; color:#f1f5fb; font-family:inherit; }
  body.novera-header-active #full-navigation .nvh-v514-top { height:59px; flex:none; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin:0 13px; border-bottom:1px solid #293244; }
  body.novera-header-active #full-navigation .nvh-v514-actions { display:flex; gap:9px; align-items:center; }
  body.novera-header-active #full-navigation .nvh-v514-actions--right { justify-content:flex-end; }
  body.novera-header-active #full-navigation .nvh-v514-actions button { width:29px; height:37px; border:0; padding:0; background:transparent; color:#eef2fa; display:grid; place-items:center; font-size:17px; cursor:pointer; }
  body.novera-header-active #full-navigation .nvh-v514-actions--right button:first-child { color:#65b5ff; }
  body.novera-header-active #full-navigation .nvh-v514-brand { display:flex; align-items:center; justify-content:center; gap:5px; font-size:17px; font-weight:800; letter-spacing:-.6px; text-decoration:none; color:#f3f5fb!important; white-space:nowrap; }
  body.novera-header-active #full-navigation .nvh-v514-brand i { font-size:14px; color:#219cff; }
  body.novera-header-active #full-navigation .nvh-v514-tabs { flex:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; padding:0 10px; }
  body.novera-header-active #full-navigation .nvh-v514-tabs a { position:relative; display:flex; align-items:center; justify-content:center; text-decoration:none; font-size:13px; font-weight:650; color:#98a1b3!important; white-space:nowrap; }
  body.novera-header-active #full-navigation .nvh-v514-tabs a.is-active,body.novera-header-active #full-navigation .nvh-v514-tabs a[aria-current=page] { color:#67b6ff!important; }
  body.novera-header-active #full-navigation .nvh-v514-tabs a.is-active:after { content:""; position:absolute; bottom:10px; width:35px; height:3px; border-radius:3px; background:#259dff; }
  body.novera-header-active #full-navigation .main-navigation__background { background:#10151f!important; }
}

/* v0.5.15 — identity controlled by the plugin settings, native Fictioneer actions. */
@media (max-width:768px) {
 body.novera-header-active #full-navigation .nvh-v514-brand { min-width:0; max-width: min(42vw, var(--nvh-logo-width-mobile, 132px)); }
 body.novera-header-active #full-navigation .nvh-v514-logo { display:block; width:100%; max-width:var(--nvh-logo-width-mobile, 132px); height:auto; max-height:43px; object-fit:contain; }
 body.novera-header-active #full-navigation .nvh-v514-logo--dark { display:none; }
 body.dark-mode.novera-header-active #full-navigation .nvh-v514-logo--light,
 body._dark.novera-header-active #full-navigation .nvh-v514-logo--light { display:none; }
 body.dark-mode.novera-header-active #full-navigation .nvh-v514-logo--dark,
 body._dark.novera-header-active #full-navigation .nvh-v514-logo--dark { display:block; }
 body.novera-header-active #full-navigation .nvh-v514-avatar { width:29px; height:29px; border-radius:50%; object-fit:cover; display:block; }
 body.novera-header-active #full-navigation .nvh-v514-account .nvh-vip-avatar { display:inline-flex; align-items:center; justify-content:center; }
}
@media (max-width:768px) {
 html[data-mode="dark"] body.novera-header-active #full-navigation .nvh-v514-logo--light { display:none; }
 html[data-mode="dark"] body.novera-header-active #full-navigation .nvh-v514-logo--dark { display:block; }
 html[data-mode="light"] body.novera-header-active #full-navigation .nvh-v514-logo--light { display:block; }
 html[data-mode="light"] body.novera-header-active #full-navigation .nvh-v514-logo--dark { display:none; }
}

/* v0.5.16 — contador e animação originais no botão de dados do novo header. */
@media (max-width:768px) {
 body.novera-header-active #full-navigation .nvh-v514-actions--right .nvh-random-discovery { display:inline-flex; position:relative; align-items:center; justify-content:center; }
 body.novera-header-active #full-navigation .nvh-v514-actions--right .nvh-random-discovery__vip { right:-2px; bottom:0; box-shadow:0 0 0 2px #10151f; }
 body.novera-header-active #full-navigation .nvh-v514-actions--right .nvh-random-discovery--vip .nvh-random-discovery__button { color:#d9a514; }
 body.novera-header-active #full-navigation .nvh-v514-actions--right .nvh-random-discovery__button { color:#65b5ff; }
}

/* v0.5.21 — premium right-side Fictioneer drawer; WordPress menu remains native. */
@media (max-width:768px) {
 body.novera-header-active .mobile-menu.nvh-mobile-drawer:not(._advanced-mobile-menu) {
   left:auto!important;right:-100%!important;max-width:min(88vw,360px)!important;
   background:#141d2b!important;color:#e8effb!important;
   border-left:1px solid #31415a;box-shadow:-14px 0 42px rgba(0,0,0,.35)!important;
   transition:right .3s cubic-bezier(.2,.75,.2,1),opacity .3s!important;
 }
 body.mobile-menu-open.novera-header-active .mobile-menu.nvh-mobile-drawer:not(._advanced-mobile-menu) {right:0!important;left:auto!important;}
 body.novera-header-active #mobile-frame-main {padding:22px 17px 34px!important;}
 body.novera-header-active .nvh-mobile-navigation-label {margin:8px 12px 14px!important;}
 body.novera-header-active #mobile-navigation .mobile-navigation__list {gap:4px!important;}
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a {
   min-height:47px!important;padding:10px 13px!important;border-radius:11px!important;
   color:#c8d3e5!important;font-size:14px!important;font-weight:650!important;
   transition:background .18s,color .18s,transform .18s!important;
 }
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a:before {
   content:"\f02d";font-family:"Font Awesome 6 Free","Font Awesome 5 Free";font-weight:900;
   font-size:14px;color:#8ba7ce;margin-right:13px;width:18px;text-align:center;flex:none;
 }
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a:after {
   content:"\f105";font-family:"Font Awesome 6 Free","Font Awesome 5 Free";font-weight:900;
   font-size:11px;color:#69809f;margin-left:auto;padding-left:8px;
 }
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li.current-menu-item > a,
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li.current-menu-ancestor > a,
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li > a:hover {
   color:#eaf5ff!important;background:#1d3551!important;opacity:1!important;
 }
 body.novera-header-active #mobile-navigation .mobile-navigation__list > li.current-menu-item > a:before {color:#5bb1ff;}
 body.novera-header-active #mobile-menu-user-panel .nvh-mobile-account-head {
   border:1px solid #34455e!important;background:#1b2a3f!important;
   border-radius:14px!important;padding:12px!important;margin:0 3px 20px!important;
 }
 body.novera-header-active #mobile-menu-user-panel > a,
 body.novera-header-active #mobile-menu-user-panel > button {
   min-height:46px!important;border-radius:10px!important;color:#c8d3e5!important;
 }
 body.novera-header-active #mobile-menu-user-panel > a:hover,
 body.novera-header-active #mobile-menu-user-panel > button:hover {background:#20344e!important;color:#fff!important;}
 body.novera-header-active .nvh-mobile-section-label {color:#62acff!important;font-size:10px!important;letter-spacing:.15em!important;}
}
@media (prefers-reduced-motion:reduce){body.novera-header-active .mobile-menu.nvh-mobile-drawer{transition:none!important;}}

/* v0.5.22 — custom mobile panel; independent of Fictioneer native drawer positioning */
@media(max-width:768px){
 .nvh-right-overlay{position:fixed;inset:0;z-index:999970;background:rgba(0,0,0,.66);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
 .nvh-right-drawer{position:fixed!important;top:0!important;bottom:0!important;right:0!important;left:auto!important;width:min(88vw,370px)!important;max-width:370px;height:100dvh;z-index:999971;background:#0e1521;color:#e8f0fc;transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility .28s;box-shadow:-12px 0 40px #0008;display:flex;flex-direction:column;font-family:inherit}
 body.nvh-right-open{overflow:hidden!important}
 body.nvh-right-open .nvh-right-overlay{opacity:1;visibility:visible}
 body.nvh-right-open .nvh-right-drawer{transform:translateX(0);visibility:visible}
 .nvh-right-heading{height:58px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #29374c;font-size:15px;font-weight:700}
 .nvh-right-close{border:0!important;background:transparent!important;color:#9cacc5!important;font-size:27px!important;cursor:pointer;padding:4px 8px!important}
 .nvh-right-scroll{overflow-y:auto;overscroll-behavior:contain;padding:16px 15px 32px;flex:1}
 .nvh-right-profile{background:#1b293e;border:1px solid #33465f;border-radius:13px;padding:13px;margin-bottom:17px;display:flex;align-items:center;gap:12px}
 .nvh-right-profile img{width:43px!important;height:43px!important;border-radius:50%;object-fit:cover}
 .nvh-right-profile .nvh-mobile-account-copy{display:flex;flex-direction:column;gap:4px;font-size:13px}
 .nvh-right-profile small{font-size:11px;color:#e8bf54}
 .nvh-right-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:#63adff;margin:16px 5px 7px}
 .nvh-right-label:not(:first-child){padding-top:12px;border-top:1px solid #28364a}
 .nvh-right-item{display:flex!important;align-items:center;gap:13px;min-height:42px;padding:9px 11px!important;border-radius:9px;color:#cbd7e8!important;text-decoration:none!important;font-size:13px;font-weight:600;line-height:1.35}
 .nvh-right-item:hover,.nvh-right-item.is-current{background:#1d324e;color:#fff!important}
 .nvh-right-icon{width:20px;flex:none;text-align:center;color:#8faed1;font-size:16px}
 .nvh-right-item-label{flex:1;min-width:0}
 .nvh-right-chevron{color:#7089a8;font-size:19px}
}
@media(min-width:769px){.nvh-right-overlay,.nvh-right-drawer{display:none!important}}
@media(prefers-reduced-motion:reduce){.nvh-right-overlay,.nvh-right-drawer{transition:none!important}}

/* v0.5.23 — drawer anchored on the left (mobile only) */
@media(max-width:768px){
 #nvh-right-drawer.nvh-right-drawer{left:0!important;right:auto!important;transform:translateX(-105%)!important;box-shadow:12px 0 40px #0008!important}
 body.nvh-right-open #nvh-right-drawer.nvh-right-drawer{transform:translateX(0)!important}
}

/* v0.5.24 — cabeçalhos contextuais mobile, somente obras e capítulos. */
.nvh-v524-context{display:none}
@media(max-width:767px){
 body.novera-header-active #full-navigation .main-navigation__wrapper:has(> .nvh-v524-context)>:not(.nvh-v524-context){visibility:hidden!important}
 body.novera-header-active #full-navigation .nvh-v524-context{display:grid!important;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;position:absolute;inset:0;z-index:18;box-sizing:border-box;padding:0 14px;background:#10151f;color:#edf4ff;border-bottom:1px solid #293244;min-height:58px;font-family:inherit}
 body.novera-header-active #full-navigation .nvh-v524-left,body.novera-header-active #full-navigation .nvh-v524-right{display:flex;align-items:center}
 body.novera-header-active #full-navigation .nvh-v524-right{justify-content:flex-end}
 body.novera-header-active #full-navigation .nvh-v524-context a,body.novera-header-active #full-navigation .nvh-v524-context button{display:grid;place-items:center;width:38px;height:40px;background:transparent;border:0;padding:0;color:#e9f2ff;text-decoration:none;font-size:19px;cursor:pointer}
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-vip-avatar{display:inline-flex}
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v514-avatar{width:30px;height:30px;object-fit:cover;border-radius:50%}
 body.novera-header-active #full-navigation .nvh-v524-center{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;line-height:1.2}
 body.novera-header-active #full-navigation .nvh-v524-detail{font-size:17px;font-weight:750;white-space:nowrap}
 body.novera-header-active #full-navigation .nvh-v524-detail i{color:#4baaff;margin-right:5px;font-size:15px}
 body.novera-header-active #full-navigation .nvh-v524-center strong{font-size:14px;color:#f2f6fc}
 body.novera-header-active #full-navigation .nvh-v524-center small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#95aac5;font-size:11px}
 body.novera-header-active #full-navigation .nvh-v524-right [data-nvh-reader-settings]{color:#68b7ff}
}

/* v0.5.25: the generic mobile rule hid every child except .nvh-v514,
   including the contextual header. Override that rule explicitly. */
@media(max-width:767px){
 body.novera-header-active #full-navigation .main-navigation__wrapper:has(> .nvh-v524-context){height:58px!important;min-height:58px!important;position:relative!important}
 body.novera-header-active #full-navigation .main-navigation__wrapper > .nvh-v524-context{display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;position:absolute;inset:0;z-index:25}
 body.novera-header-active #full-navigation .main-navigation__wrapper > .nvh-v524-context *{visibility:visible!important}
}

/* v0.5.26 — refinamento visual dos headers contextuais */
@media(max-width:767px){
 body.novera-header-active #full-navigation .main-navigation__wrapper:has(> .nvh-v524-context){height:56px!important;min-height:56px!important}
 body.novera-header-active #full-navigation .nvh-v524-context{min-height:56px!important;height:56px!important;background:#10151f!important;border-bottom:1px solid #273447!important;grid-template-columns:52px minmax(0,1fr) 52px!important;padding:0 15px!important;font-family:Arial,Helvetica,sans-serif!important}
 body.novera-header-active #full-navigation .nvh-v524-center{gap:2px!important;line-height:1.22!important}
 body.novera-header-active #full-navigation .nvh-v524-detail{font-family:Arial,Helvetica,sans-serif!important;font-size:15px!important;font-weight:650!important;letter-spacing:.01em!important;color:#f2f6fc!important}
 body.novera-header-active #full-navigation .nvh-v524-center strong{font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:650!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1f5fc!important}
 body.novera-header-active #full-navigation .nvh-v524-center small{font-family:Arial,Helvetica,sans-serif!important;font-size:10px!important;letter-spacing:.02em;color:#8da6c6!important}
 body.novera-header-active #full-navigation .nvh-v524-context a,body.novera-header-active #full-navigation .nvh-v524-context button{width:38px!important;height:38px!important;font-size:18px!important;border-radius:50%!important}
 body.novera-header-active #full-navigation .nvh-v524-context a:focus-visible,body.novera-header-active #full-navigation .nvh-v524-context button:focus-visible{outline:2px solid #66b4ff!important;outline-offset:2px}
 body.novera-header-active #full-navigation .nvh-v524-context--story .nvh-v524-right button{background:#1b293e!important;border:1px solid #2e415c!important;width:36px!important;height:36px!important}
 body.novera-header-active #full-navigation .nvh-v524-context--story .nvh-v524-right .nvh-v514-avatar{width:30px!important;height:30px!important}
 body.novera-header-active #full-navigation .nvh-v524-context--chapter .nvh-v524-right button{color:#70b7ff!important}
}

/* v0.5.28 — ícones de contorno e avatar uniforme nos headers contextuais */
@media (max-width:767px) {
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v528-nav-icon {
  display:block!important;width:20px!important;height:20px!important;flex:none;stroke:currentColor!important;fill:none!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-left a {color:#e3edf9!important;}
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-right button {
  width:38px!important;height:38px!important;display:grid!important;place-items:center!important;
  border-radius:50%!important;background:transparent!important;border:0!important;color:#e9f2ff!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-right button:has(> .fa-user) {
  background:transparent!important;border:0!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-right .nvh-v514-avatar {
  width:29px!important;height:29px!important;border-radius:50%!important;object-fit:cover!important;display:block!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-right .nvh-vip-avatar {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
 }
}

/* v0.5.29 — harmonização visual mobile com as superfícies da Novera.
   Escopo restrito aos cabeçalhos e ao menu personalizado; não altera desktop,
   lógica de navegação, modal, VIP ou os cards da busca. */
@media (max-width:768px) {
 body.novera-header-active {
  --nvh-mobile-bg:#171f2b;
  --nvh-mobile-surface:#1d2b3b;
  --nvh-mobile-border:#304157;
  --nvh-mobile-accent:#3187f6;
  --nvh-mobile-text:#edf3fb;
  --nvh-mobile-muted:#a8b8cd;
 }
 body.novera-header-active #full-navigation .nvh-v514,
 body.novera-header-active #full-navigation .main-navigation__background {
  background:var(--nvh-mobile-bg)!important;
 }
 body.novera-header-active #full-navigation .nvh-v514-top {
  border-bottom-color:var(--nvh-mobile-border)!important;
 }
 body.novera-header-active #full-navigation .nvh-v514-actions button {
  color:var(--nvh-mobile-text)!important;
 }
 body.novera-header-active #full-navigation .nvh-v514-actions--right .nvh-random-discovery__button {
  color:#64aaff!important;
 }
 body.novera-header-active #full-navigation .nvh-v514-tabs a {
  color:var(--nvh-mobile-muted)!important;
 }
 body.novera-header-active #full-navigation .nvh-v514-tabs a.is-active,
 body.novera-header-active #full-navigation .nvh-v514-tabs a[aria-current=page] {
  color:#70b5ff!important;
 }
 body.novera-header-active #full-navigation .nvh-v514-tabs a.is-active:after,
 body.novera-header-active #full-navigation .nvh-v514-tabs a[aria-current=page]:after {
  background:var(--nvh-mobile-accent)!important;
 }
 body.novera-header-active .nvh-right-overlay {
  background:rgba(8,13,23,.67)!important;
 }
 body.novera-header-active #nvh-right-drawer.nvh-right-drawer {
  background:var(--nvh-mobile-bg)!important;
  color:var(--nvh-mobile-text)!important;
  border-right:1px solid var(--nvh-mobile-border)!important;
 }
 body.novera-header-active .nvh-right-heading {
  background:var(--nvh-mobile-bg)!important;
  border-bottom-color:var(--nvh-mobile-border)!important;
  color:var(--nvh-mobile-text)!important;
 }
 body.novera-header-active .nvh-right-close {color:var(--nvh-mobile-muted)!important;}
 body.novera-header-active .nvh-right-profile {
  background:var(--nvh-mobile-surface)!important;
  border-color:#354b66!important;
 }
 body.novera-header-active .nvh-right-label {
  color:#69aeff!important;
  border-top-color:var(--nvh-mobile-border)!important;
 }
 body.novera-header-active .nvh-right-item {
  color:#c9d6e7!important;
 }
 body.novera-header-active .nvh-right-icon {color:#93abc8!important;}
 body.novera-header-active .nvh-right-chevron {color:#7f97b4!important;}
 body.novera-header-active .nvh-right-item:hover,
 body.novera-header-active .nvh-right-item:focus-visible,
 body.novera-header-active .nvh-right-item.is-current {
  background:#233650!important;
  color:#f5f9ff!important;
 }
 body.novera-header-active .nvh-right-item.is-current .nvh-right-icon {color:#69aeff!important;}
 body.novera-header-active #full-navigation .nvh-v524-context {
  background:var(--nvh-mobile-bg)!important;
  border-bottom-color:var(--nvh-mobile-border)!important;
  color:var(--nvh-mobile-text)!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-left a {
  color:var(--nvh-mobile-text)!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-center strong,
 body.novera-header-active #full-navigation .nvh-v524-detail {
  color:var(--nvh-mobile-text)!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-center small {
  color:var(--nvh-mobile-muted)!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context .nvh-v524-right button {
  color:var(--nvh-mobile-text)!important;
 }
 body.novera-header-active #full-navigation .nvh-v524-context a:focus-visible,
 body.novera-header-active #full-navigation .nvh-v524-context button:focus-visible {
  outline-color:var(--nvh-mobile-accent)!important;
 }
}
