:root {
    --dark-bg-color: #282828;
    --dark-accent-color: #cd0001;
    --dark-card-bg: #1e1e1e;
    --dark-border-color: rgba(255, 255, 255, 0.08);
    --dark-text-color: #b3b3b3;
    --dark-text-color-accent: #ffffff;
}

/* 1. Global Body Overrides */
body {
    background-color: var(--dark-bg-color) !important;
    color: var(--dark-text-color) !important;
    overflow-x: hidden;
}

.box-list .text-secondary {
    color: var(--dark-text-color) !important;
}

.text-gray {
    color: #cdcdcd;
}

.page-title {
    color: var(--dark-text-color-accent);
}

/* 2. Global Header & Navigation Navbar */
header nav.navbar {
    background-color: var(--dark-bg-color) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--dark-border-color) !important;
}

/* 3. Logo Text Fill (Inline SVG paths) */
#svg1 #path2 {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

/* 4. Global Navbar Links */
.menu .navbar-nav .menu-item a {
    color: var(--dark-text-color);
}

.menu .menu-item-has-children:hover>a,
.menu .current-menu-item>a,
.menu .navbar-nav .menu-item:has(.current-menu-item)>a {
    color: var(--dark-accent-color);
}

/* 5. Header Contacts Group */
.information,
.information span,
.information i {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* 6. Social Icons & Search Buttons */
.icon-social a,
.search-button i {
    color: var(--dark-text-color) !important;
}

.icon-social a:hover,
.search-button i:hover {
    color: var(--dark-accent-color) !important;
}

/* 7. Dropdown caret markers */
.menu .menu-item:has(.sub-menu):after {
    border-top-color: var(--dark-text-color) !important;
}

.menu .navbar-nav .menu-item:has(.current-menu-item)::after,
.menu .current-menu-item:has(.sub-menu):after {
    border-top-color: var(--dark-accent-color) !important;
}

/* 8. Inner Page Sections & Layout Containers (.bg-white, .bg-gray) */
.bg-white {
    background-color: var(--dark-bg-color) !important;
}

.bg-gray {
    background-color: var(--dark-bg-color);
}

/* Alternating content boxes on solutions/approach pages */
.page .box .box-info .box-title .label {
    background-color: var(--dark-bg-color) !important;
    color: var(--dark-text-color) !important;
}

.page .box-list .box-list-item .dot.small {
    box-shadow: inset 0 0 0 1px #808080, inset 0 0 0 3px var(--dark-bg-color) !important;
}

.approach .training-and-workshops-list-item .icon {
    filter: invert(1);
}

.approach #assess .box-info.left,
.approach #maintain .box-info.right {
    position: relative;
}

.approach #assess .box-info.left::before {
    content: "";
    position: absolute;
    top: 0;
    left: -15px;
    display: block;
    width: 30px;
    height: 30px;
    background-color: var(--dark-accent-color);
}

.approach #maintain .box-info.right::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: -15px;
    display: block;
    width: 30px;
    height: 30px;
    background-color: var(--dark-accent-color);
}

/* 8.1. Page Banner section overrides (Ricerca e Sviluppo, etc.) */
.solution .logo {
    background: #fff;
    border-radius: 35px;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.solution .card-section.banner,
.card-section.banner {
    background-color: var(--dark-card-bg) !important;
}

.solution .card {
    background-color: var(--dark-bg-color);
    color: var(--dark-text-color);
}

.solution .card-section.banner p {
    color: var(--dark-text-color);
}

.solution .card-section.banner span,
.solution .card-section.banner div,
.solution .card-section.banner .content,
.solution-packages-section .intro-title,
.solution .section-title {
    color: var(--dark-text-color-accent);
}

.card-section.banner p,
.card-section.banner span,
.card-section.banner div,
.card-section.banner .content {
    color: var(--dark-text-color);
}


.solution .card-section.banner h1,
.solution .card-section.banner h2,
.solution .card-section.banner h3,
.solution .card-section.banner h4,
.solution .card-section.banner h5,
.solution .card-section.banner h6,
.card-section.banner h1,
.card-section.banner h2,
.card-section.banner h3,
.card-section.banner h4,
.card-section.banner h5,
.card-section.banner h6 {
    color: var(--dark-text-color-accent);
}

.approach .content .training-and-workshops {
    background-color: var(--dark-card-bg);
}

.solution .bg-gray {
    background-color: var(--dark-card-bg);
}

/* 9. Aside navigation inside subpages */
.page .aside-menu,
.solution .aside-menu,
.aside-menu {
    background-color: var(--dark-bg-color) !important;
    border-right: 1px solid var(--dark-border-color) !important;
}

.page .aside-menu .sticky .menu .menu-item {
    color: rgba(255, 255, 255, 0.8) !important;
}

.page .aside-menu .sticky .menu .active>.menu-item {
    color: var(--dark-accent-color) !important;
    font-weight: 700;
}

/* Mobile Sidebar Menu Toggle */
.toggle-left-menu {
    background-color: var(--dark-bg-color) !important;
    border: 1px solid var(--dark-border-color) !important;
}

.toggle-left-menu span {
    background-color: var(--dark-text-color) !important;
}

/* 10. Solution Packages Section */
.solution-packages-section {
    background: var(--dark-bg-color) !important;
}

.solution-packages-section .section-title,
.solution-packages-section .logo-container,
.solution .section-title {
    color: var(--dark-text-color-accent);
}

.solution-packages-section .logo-sub {
    color: rgba(255, 255, 255, 0.6) !important;
}

.solution-packages-section .solution-tag {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

.solution-packages-section .solution-tag.highlight {
    background-color: var(--dark-bg-color) !important;
    color: var(--dark-accent-color) !important;
    border-color: var(--dark-accent-color) !important;
}

.solution-packages-section .solution-tag:not(.highlight):hover {
    border-color: var(--dark-accent-color) !important;
    color: var(--dark-accent-color) !important;
}

.solution-packages-section .solution-description {
    color: rgba(255, 255, 255, 0.7) !important;
}

.solution-packages-section .solution-content-display {
    border-top: 1px solid var(--dark-border-color) !important;
}

/* 11. Company Page Columns Titles */
.company .section-columns-2.even .last .title,
.company .section-columns-2.odd .first .title {
    background-color: var(--dark-bg-color);
    color: var(--dark-text-color-accent);
}

.company h2,
.company .paragraph-p-50,
.company .card-text {
    color: var(--dark-text-color);
}

.company .card {
    background-color: var(--dark-bg-color);
}

/* 12. Article & Case Studies Cards */
.article-card {
    background: var(--dark-card-bg) !important;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3) !important;
    color: var(--dark-text-color) !important;
}

.article-card h2,
.article-card h3,
.article-card p {
    color: var(--dark-text-color) !important;
}

/* 13. Ninja Forms Elements (Inputs, Selects, Dropdowns, Textareas) */
.ninja-forms-field,
.nf-form-content input[type=text],
.nf-form-content input[type=email],
.nf-form-content input[type=tel],
.nf-form-content select,
.nf-form-content textarea {
    background-color: var(--dark-card-bg) !important;
    color: var(--dark-text-color) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.nf-form-content input::placeholder,
.nf-form-content textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

.nf-form-content label {
    color: var(--dark-text-color) !important;
}

.nf-form-content .select-container .list-select-wrap .nf-field-element>div {
    background-color: var(--dark-card-bg) !important;
}

.article .card.border-0 {
    background-color: transparent;
    color: var(--dark-text-color);
}

.article .logo-single-sc {
    background-color: transparent;
    padding: 15px 25px;
}

/* 14. Privacy Policy Info Box */
.privacy-policy-box {
    border: 3px solid var(--dark-accent-color) !important;
    background-color: var(--dark-card-bg) !important;
}

/* 15 Book a consultation modal */
#consultationModal .modal-content.rounded-0.h-100 {
    background-color: var(--dark-bg-color);
    color: var(--dark-text-color);
}

/*****************************************************************
 * HOMEPAGE DARK MODE OVERRIDES (Scoped via body.home)
 *****************************************************************/

/* 1. Corpo della pagina */
body.home {
    background-color: var(--home-bg-color) !important;
    color: var(--dark-text-color) !important;
    overflow-x: hidden;
}

/* 2. Header & Barra di navigazione */
body.home header nav.navbar {
    background-color: var(--home-bg-color) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #ffffff14;
}

/* 3. Colore del logo inline (il testo #path2 diventa bianco) */
body.home #svg1 #path2 {
    fill: #ffffff;
    stroke: #ffffff;
}

/* 5. Contatti Header */
body.home .information,
body.home .information span,
body.home .information i {
    color: #ffffffdb !important;
}

/* 6. Icone Social & Cerca */
body.home .icon-social a {
    color: var(--dark-text-color) !important;
}

body.home .icon-social a:hover {
    color: var(--home-accent-color) !important;
}

body.home .search-button i {
    color: var(--dark-text-color) !important;
}

/* 7. Dropdown frecce */
body.home .menu .menu-item:has(.sub-menu):after {
    border-top-color: var(--dark-text-color) !important;
}

body.home .menu .navbar-nav .menu-item:has(.current-menu-item)::after,
body.home .menu .current-menu-item:has(.sub-menu):after {
    border-top-color: var(--home-accent-color) !important;
}

/* 8. Hero Section (Carousel & Icons) */
body.home .home-hero-subtitle {
    color: #b3b3b3;
}

.home-hero-title {
    color: var(--dark-text-color-accent);
}

body.home .icon-label {
    color: var(--dark-text-color) !important;
    transition: color 0.3s ease;
}

body.home .hero-icon-item a:hover .icon-label {
    color: var(--home-accent-color) !important;
}

body.home .home .icon-container {
    border-color: #ffffff1f !important;
    background-color: #ffffff05;
}

/* 9. Card Sezioni Contenuti (Card 1, 2, 3) */
body.home .home .card-1-section-3 p,
body.home .home .card-2-section-3 p,
body.home .home .card-3-section-3 p {
    color: #b3b3b3 !important;
}

body.home .home .background-image-home-card-1 {
    opacity: 60%;
}

body.home .home .bold-title {
    color: var(--dark-text-color) !important;
}

body.home .card-2-section-3 .home-link {
    color: var(--dark-text-color) !important;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
    text-decoration: none;
    transition: all 0.3s ease;
}

body.home .card-2-section-3 .home-link:hover {
    color: var(--home-accent-color) !important;
    border-bottom-color: var(--home-accent-color);
}

body.home .card-2-section-3 ul li {
    color: #b3b3b3 !important;
}

body.home .home .card-3-section-3 span.fw-bold {
    color: var(--dark-text-color) !important;
}

/* 10. Pulsanti Outline (da Dark a Light) */
body.home .home .btn-outline-dark {
    color: var(--dark-text-color) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    background-color: transparent !important;
    transition: all 0.3s ease !important;
}

body.home .home .btn-outline-dark:hover {
    color: var(--home-bg-color) !important;
    background-color: var(--dark-text-color) !important;
    border-color: var(--dark-text-color) !important;
}