/**
 * Shared typography tokens — loaded after theme CSS so contrast stays readable.
 */
body.np-body,
.np-page-body,
.ncp-page-body {
    color: var(--np-text-primary, var(--np-text, #0f172a));
}

h1, h2, h3, h4, h5, h6,
.np-section-title,
.np-heading-title {
    color: var(--np-text-primary, var(--np-text, #0f172a));
}

p,
.np-paragraph,
.np-sp-card p,
.np-static-page p {
    color: var(--np-text-secondary, var(--np-text, #475569));
}

small,
.np-meta,
.np-date,
.np-account-switch,
.np-sp-checklist li,
.np-sp-card .np-sp-muted {
    color: var(--np-text-muted, #64748b);
}

a:not(.np-btn):not(.np-topbar-btn):not(.ncp-btn-subscribe):not(.ncp-btn-register):not(.np-widget-title) {
    color: var(--np-secondary, #3b82f6);
}

.np-widget-title {
    color: var(--np-text-on-primary, #fff) !important;
    background: var(--np-primary, #0f172a);
}

.np-nav-dropdown-menu a.np-nav-dropdown-child,
.np-nav-dropdown-menu .np-nav-subgroup-list a {
    color: var(--np-text-secondary, #475569) !important;
}

.np-nav-dropdown-menu a.np-nav-dropdown-child:hover,
.np-nav-dropdown-menu .np-nav-subgroup-list a:hover {
    color: var(--np-secondary, #3b82f6) !important;
}

.np-nav-dropdown-all-text strong {
    color: var(--np-text-primary, #0f172a) !important;
}

.np-nav-dropdown-all-text small,
.np-nav-dropdown-section span,
.np-nav-subgroup-label {
    color: var(--np-text-muted, #64748b) !important;
}

.np-sp-link,
.np-account-switch a {
    color: var(--np-secondary, #3b82f6) !important;
}

.np-menu-empty {
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 12px;
    font-style: italic;
}

/* GTranslate — selected trigger: white on dark top bar; dropdown: black on white (all themes) */
.np-topbar .np-gtranslate-widget,
.ncp-topbar .np-gtranslate-widget {
    position: relative;
}

.np-topbar .np-gtranslate-widget .gt_switcher,
.ncp-topbar .np-gtranslate-widget .gt_switcher {
    position: relative;
}

.np-topbar .np-gtranslate-widget .gt_selected a,
.ncp-topbar .np-gtranslate-widget .gt_selected a,
.np-topbar .np-gtranslate-widget .gt_selected a span,
.ncp-topbar .np-gtranslate-widget .gt_selected a span,
.np-topbar .np-gtranslate-widget .gt_selected font,
.ncp-topbar .np-gtranslate-widget .gt_selected font {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.np-gtranslate-widget .gt_option,
.np-topbar .np-gtranslate-widget .gt_option,
.ncp-topbar .np-gtranslate-widget .gt_option {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 168px !important;
    max-height: 260px !important;
    padding: 6px !important;
    margin: 0 !important;
    overflow: auto !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.18) !important;
    z-index: 10060 !important;
}

.np-gtranslate-widget .gt_option a,
.np-topbar .np-gtranslate-widget .gt_option a,
.ncp-topbar .np-gtranslate-widget .gt_option a,
.np-gtranslate-widget .gt_option a span,
.np-topbar .np-gtranslate-widget .gt_option a span,
.ncp-topbar .np-gtranslate-widget .gt_option a span,
.np-gtranslate-widget .gt_option font,
.np-topbar .np-gtranslate-widget .gt_option font,
.ncp-topbar .np-gtranslate-widget .gt_option font {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    background: transparent !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
}

.np-gtranslate-widget .gt_option a:hover,
.np-topbar .np-gtranslate-widget .gt_option a:hover,
.ncp-topbar .np-gtranslate-widget .gt_option a:hover,
.np-gtranslate-widget .gt_option a:hover span,
.np-topbar .np-gtranslate-widget .gt_option a:hover span,
.ncp-topbar .np-gtranslate-widget .gt_option a:hover span,
.np-gtranslate-widget .gt_option a:hover font,
.np-topbar .np-gtranslate-widget .gt_option a:hover font,
.ncp-topbar .np-gtranslate-widget .gt_option a:hover font {
    background: color-mix(in srgb, var(--np-secondary, #3b82f6) 12%, #fff) !important;
    color: var(--np-secondary, #3b82f6) !important;
    -webkit-text-fill-color: var(--np-secondary, #3b82f6) !important;
}

.np-gtranslate-widget .gt_option img,
.np-topbar .np-gtranslate-widget .gt_option img,
.ncp-topbar .np-gtranslate-widget .gt_option img {
    margin-right: 8px !important;
    vertical-align: middle !important;
}

.se-editor-mode .np-topbar .np-gtranslate-widget,
.se-editor-mode .ncp-topbar .np-gtranslate-widget {
    z-index: 10040;
}

/* GTranslate — dropdown options always black on white (all themes, highest priority) */
.np-gtranslate-widget .gt_option,
.np-topbar .np-gtranslate-widget .gt_option,
.ncp-topbar .np-gtranslate-widget .gt_option {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #111111 !important;
}

.np-gtranslate-widget .gt_option a,
.np-gtranslate-widget .gt_option font,
.np-gtranslate-widget .gt_option span,
.np-gtranslate-widget .gt_option div,
.np-topbar .np-gtranslate-widget .gt_option a,
.np-topbar .np-gtranslate-widget .gt_option font,
.np-topbar .np-gtranslate-widget .gt_option span,
.ncp-topbar .np-gtranslate-widget .gt_option a,
.ncp-topbar .np-gtranslate-widget .gt_option font,
.ncp-topbar .np-gtranslate-widget .gt_option span,
.np-gtranslate-widget .gt_option a *,
.np-topbar .np-gtranslate-widget .gt_option a *,
.ncp-topbar .np-gtranslate-widget .gt_option a * {
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
}

.np-gtranslate-widget .gt_option a:hover,
.np-topbar .np-gtranslate-widget .gt_option a:hover,
.ncp-topbar .np-gtranslate-widget .gt_option a:hover,
.np-gtranslate-widget .gt_option a:hover font,
.np-gtranslate-widget .gt_option a:hover span,
.np-topbar .np-gtranslate-widget .gt_option a:hover font,
.np-topbar .np-gtranslate-widget .gt_option a:hover span,
.ncp-topbar .np-gtranslate-widget .gt_option a:hover font,
.ncp-topbar .np-gtranslate-widget .gt_option a:hover span {
    color: var(--np-secondary, #3b82f6) !important;
    -webkit-text-fill-color: var(--np-secondary, #3b82f6) !important;
}

.np-topbar .np-gtranslate-widget select,
.ncp-topbar .np-gtranslate-widget select,
.np-topbar .np-gtranslate-widget .goog-te-combo,
.ncp-topbar .np-gtranslate-widget .goog-te-combo {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
}

.np-topbar .np-gtranslate-widget select option,
.ncp-topbar .np-gtranslate-widget select option {
    color: #111111 !important;
    background: #ffffff !important;
}
