/* NightPOS Light/Dark Theme - Brand color: #30025c */

/* Always show the sidebar menu — override the JS-managed `hidden` attribute */
#o_main_toctree[hidden],
#o_page_toc_in_nav[hidden],
#o_page_toc[hidden] {
    display: block !important;
}

:root {
    --np-body-bg: #ffffff;
    --np-body-text: #1e1e2e;
    --np-header-bg: #30025c;
    --np-header-text: #ffffff;
    --np-subheader-bg: #250048;
    --np-subheader-border: #3d0070;
    --np-sidebar-bg: #faf7ff;
    --np-sidebar-text: #30025c;
    --np-sidebar-active-bg: #30025c;
    --np-sidebar-active-text: #ffffff;
    --np-sidebar-hover-bg: #f0e8ff;
    --np-primary: #30025c;
    --np-primary-hover: #5a0eb3;
    --np-link-color: #6b21a8;
    --np-link-hover: #30025c;
    --np-border-color: #e2d4f0;
    --np-code-bg: #f5f0ff;
    --np-code-border: #e2d4f0;
    --np-toc-bg: #f5f0ff;
    --np-banner-start: #30025c;
    --np-banner-end: #6b21a8;
    --np-card-bg: #ffffff;
    --np-card-border: #e2d4f0;
    --np-text-muted: #6b6b8a;
    --np-footer-bg: #faf7ff;
    --np-footer-border: #e2d4f0;
    --np-gray-bg: #f5f0ff;
    --np-input-bg: #ffffff;
    --np-input-border: #e2d4f0;
    --np-input-text: #1e1e2e;
    --np-logo-docs-color: #d8b4fe;
    --np-alert-bg: #f5f0ff;
    --np-search-result-bg: #faf7ff;
}

[data-theme="dark"] {
    --np-body-bg: #0d0018;
    --np-body-text: #e8d5ff;
    --np-header-bg: #160028;
    --np-header-text: #e8d5ff;
    --np-subheader-bg: #12001f;
    --np-subheader-border: #3d1060;
    --np-sidebar-bg: #100020;
    --np-sidebar-text: #d8b4fe;
    --np-sidebar-active-bg: #3b0764;
    --np-sidebar-active-text: #f0e6ff;
    --np-sidebar-hover-bg: #1e0035;
    --np-primary: #a855f7;
    --np-primary-hover: #c084fc;
    --np-link-color: #c084fc;
    --np-link-hover: #e9d5ff;
    --np-border-color: #3d1060;
    --np-code-bg: #1e0035;
    --np-code-border: #3d1060;
    --np-toc-bg: #1a0030;
    --np-banner-start: #1e0035;
    --np-banner-end: #2d0052;
    --np-card-bg: #160028;
    --np-card-border: #3d1060;
    --np-text-muted: #b39dcc;
    --np-footer-bg: #100020;
    --np-footer-border: #3d1060;
    --np-gray-bg: #1e0035;
    --np-input-bg: #1a0030;
    --np-input-border: #3d1060;
    --np-input-text: #e8d5ff;
    --np-logo-docs-color: #c084fc;
    --np-alert-bg: #1e0035;
    --np-search-result-bg: #160028;
}

/* ========== BODY ========== */
body {
    background-color: var(--np-body-bg) !important;
    color: var(--np-body-text) !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* ========== HEADER ========== */
header .o_main_header {
    background-color: var(--np-header-bg) !important;
    border-bottom-color: var(--np-subheader-border) !important;
}

header .o_logo span {
    color: var(--np-logo-docs-color) !important;
}

header .o_main_header a,
header .o_main_header .o_logo {
    color: var(--np-header-text) !important;
}

header .o_subheader {
    background-color: var(--np-subheader-bg) !important;
    border-bottom-color: var(--np-subheader-border) !important;
}

header .o_subheader .o_version_switcher,
header .o_subheader .o_language_switcher,
header .o_subheader select,
header .o_subheader button,
header .o_subheader a {
    color: var(--np-header-text) !important;
}

header .o_searchbox input,
header .o_searchbox .search-input,
header form[role="search"] input {
    background-color: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.3) !important;
    color: var(--np-header-text) !important;
}

header .o_searchbox input::placeholder,
header form[role="search"] input::placeholder {
    color: rgba(255,255,255,0.6) !important;
}

/* Theme toggle button in header */
#np-theme-toggle {
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.3);
    color: #ffffff;
    border-radius: 6px;
    padding: 4px 10px;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    transition: background 0.2s ease;
    margin-left: 8px;
    flex-shrink: 0;
}
#np-theme-toggle:hover {
    background: rgba(255,255,255,0.25);
}

/* ========== SIDE NAV ========== */
.o_side_nav-inner {
    background-color: var(--np-sidebar-bg) !important;
    border-right-color: var(--np-border-color) !important;
}

.o_side_nav a,
.o_main_toc a {
    color: var(--np-sidebar-text) !important;
}

.o_side_nav a:hover,
.o_main_toc a:hover {
    color: var(--np-primary) !important;
    background-color: var(--np-sidebar-hover-bg) !important;
}

.o_side_nav .current > a,
.o_side_nav .current > .reference,
.o_main_toc .current > a {
    background-color: var(--np-sidebar-active-bg) !important;
    color: var(--np-sidebar-active-text) !important;
}

.o_page_toc {
    background-color: var(--np-sidebar-bg) !important;
    border-left-color: var(--np-border-color) !important;
}

.o_page_toc a {
    color: var(--np-sidebar-text) !important;
}

.o_page_toc .current > a {
    color: var(--np-primary) !important;
}

/* ========== MAIN CONTENT ========== */
main,
#o_content,
.doc-body {
    background-color: var(--np-body-bg) !important;
    color: var(--np-body-text) !important;
}

/* Links */
.doc-body a,
#o_content a,
main a:not(.btn):not(.o_logo):not(.nav-link) {
    color: var(--np-link-color) !important;
}

.doc-body a:hover,
#o_content a:hover,
main a:not(.btn):not(.o_logo):not(.nav-link):hover {
    color: var(--np-link-hover) !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: var(--np-body-text) !important;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: var(--np-body-text) !important;
}

/* ========== HOMEPAGE BANNER ========== */
.o_content_fw_banner {
    background: linear-gradient(99deg, var(--np-banner-start) 10%, var(--np-banner-end) 90%) !important;
}

/* ========== CODE BLOCKS ========== */
pre, code, tt {
    background-color: var(--np-code-bg) !important;
    border-color: var(--np-code-border) !important;
    color: var(--np-body-text) !important;
}

pre {
    border-left: 3px solid var(--np-primary) !important;
}

/* ========== TOC / ASIDE ========== */
.o_toc,
.toctree-wrapper,
.contents.topic {
    background-color: var(--np-toc-bg) !important;
    border-color: var(--np-border-color) !important;
}

/* ========== CARDS ========== */
.card {
    background-color: var(--np-card-bg) !important;
    border-color: var(--np-card-border) !important;
    color: var(--np-body-text) !important;
}

/* ========== ALERTS ========== */
.alert {
    background-color: var(--np-alert-bg) !important;
    border-color: var(--np-border-color) !important;
    color: var(--np-body-text) !important;
}

.alert-primary,
.alert.alert-go_to {
    border-left-color: var(--np-primary) !important;
    background-color: var(--np-alert-bg) !important;
}

/* ========== BUTTONS ========== */
.btn-primary {
    background-color: var(--np-primary) !important;
    border-color: var(--np-primary) !important;
    color: #ffffff !important;
}
.btn-primary:hover {
    background-color: var(--np-primary-hover) !important;
    border-color: var(--np-primary-hover) !important;
}

.btn-outline-secondary {
    color: var(--np-primary) !important;
    border-color: var(--np-primary) !important;
}
.btn-outline-secondary:hover {
    background-color: var(--np-primary) !important;
    color: #ffffff !important;
}

/* ========== TABLES ========== */
table {
    background-color: var(--np-body-bg) !important;
    color: var(--np-body-text) !important;
}

th {
    background-color: var(--np-gray-bg) !important;
    color: var(--np-body-text) !important;
    border-color: var(--np-border-color) !important;
}

td {
    border-color: var(--np-border-color) !important;
    color: var(--np-body-text) !important;
}

tr:nth-child(even) {
    background-color: var(--np-gray-bg) !important;
}

/* ========== SEARCH ========== */
#searchbox input[type="text"],
.search input[type="text"] {
    background-color: var(--np-input-bg) !important;
    border-color: var(--np-input-border) !important;
    color: var(--np-input-text) !important;
}

ul.search li {
    background-color: var(--np-search-result-bg) !important;
    border-color: var(--np-border-color) !important;
}

/* ========== FOOTER ========== */
footer {
    background-color: var(--np-footer-bg) !important;
    border-top-color: var(--np-footer-border) !important;
}

footer a,
footer p,
footer span {
    color: var(--np-sidebar-text) !important;
}

.o_get_help {
    background-color: var(--np-footer-bg) !important;
    border-top: 1px solid var(--np-footer-border) !important;
}

/* ========== MISC ========== */
hr {
    border-color: var(--np-border-color) !important;
}

.border-bottom, .border-end {
    border-color: var(--np-border-color) !important;
}

.text-dark {
    color: var(--np-body-text) !important;
}

.text-muted {
    color: var(--np-text-muted) !important;
}

/* Accordion / collapsible in dark mode */
[data-theme="dark"] .accordion-button,
[data-theme="dark"] .accordion {
    background-color: var(--np-gray-bg) !important;
    color: var(--np-body-text) !important;
}

/* Images with thumbnail in dark mode */
[data-theme="dark"] .img-thumbnail {
    background-color: var(--np-card-bg) !important;
    border-color: var(--np-border-color) !important;
}

/* Dark mode dropdown */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--np-card-bg) !important;
    border-color: var(--np-border-color) !important;
}

[data-theme="dark"] .dropdown-item {
    color: var(--np-body-text) !important;
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: var(--np-gray-bg) !important;
}

/* Version switcher dark mode */
[data-theme="dark"] select {
    background-color: var(--np-input-bg) !important;
    color: var(--np-input-text) !important;
    border-color: var(--np-input-border) !important;
}

/* Mobile overlay */
[data-theme="dark"] .o_mobile-overlay {
    background-color: rgba(0,0,0,0.7) !important;
}
