/* ABHSM dark mode
   Scoped section by section so the site keeps its visual hierarchy. */

html[data-theme="dark"] {
  color-scheme: dark;
}

body.dark-mode {
  --dm-page: #0b111b;
  --dm-surface: #101927;
  --dm-surface-2: #152033;
  --dm-surface-3: #1b2940;
  --dm-border: rgba(148, 163, 184, .20);
  --dm-border-strong: rgba(148, 163, 184, .32);
  --dm-text: #d7dfec;
  --dm-muted: #9aa8bb;
  --dm-soft: #c4cfdd;
  --dm-heading: #f4f8ff;
  --dm-blue: #4da3ff;
  --dm-blue-strong: #2387ea;
  --dm-aqua: #38d4d8;
  --dm-green: #4ade80;
  --dm-amber: #f8c35b;
  --dm-danger: #fb7185;
  --dm-shadow: 0 18px 48px rgba(0, 0, 0, .34);
  background: var(--dm-page);
  color: var(--dm-text);
}

body.dark-mode :where(h1, h2, h3, h4, h5, h6) {
  color: var(--dm-heading);
}

body.dark-mode :where(p, li, label, small) {
  color: var(--dm-text);
}

body.dark-mode :where(a) {
  color: var(--dm-blue);
}

body.dark-mode :where(a:hover) {
  color: #8fc7ff;
}

body.dark-mode :where(img, video) {
  opacity: .94;
}

body.dark-mode :where(.sec-title h1, .sec-title h2, .sec-title h3) {
  color: var(--dm-heading) !important;
}

/* Toggle */
.dark-toggle,
#dark-toggle {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-left: 10px;
  color: #123a6f;
  background: #dfeeff;
  border: 1px solid #b7d7f5;
  border-radius: 999px;
  cursor: pointer;
  vertical-align: middle;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.dark-toggle:hover,
#dark-toggle:hover {
  color: #fff;
  background: #123a6f;
  border-color: #123a6f;
  transform: translateY(-1px);
}

body.dark-mode .dark-toggle,
body.dark-mode #dark-toggle {
  color: #fff7bf;
  background: rgba(77, 163, 255, .14);
  border-color: rgba(77, 163, 255, .34);
}

/* Header and navigation */
body.dark-mode .header-top {
  background: #08111f !important;
  border-bottom: 1px solid var(--dm-border);
}

body.dark-mode .main-header .outer-container,
body.dark-mode .main-header .sticky-header {
  background: rgba(12, 21, 34, .96) !important;
  border-bottom: 1px solid var(--dm-border);
  box-shadow: 0 12px 35px rgba(0, 0, 0, .28);
}

body.dark-mode .main-header .info-box li,
body.dark-mode .main-header .info-box li a,
body.dark-mode .header-top .social-links a {
  color: var(--dm-soft) !important;
}

body.dark-mode .main-header .info-box li i,
body.dark-mode .header-top .social-links a:hover {
  color: var(--dm-aqua) !important;
}

body.dark-mode .main-menu .navigation > li > a {
  color: #e7eef9 !important;
}

body.dark-mode .main-menu .navigation > li.current > a,
body.dark-mode .main-menu .navigation > li:hover > a {
  color: var(--dm-aqua) !important;
}

body.dark-mode .main-menu .navigation li ul,
body.dark-mode .main-menu .navigation li .mega-menu {
  background: #0f1928 !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: var(--dm-shadow) !important;
}

body.dark-mode .main-menu .navigation li ul li {
  border-color: var(--dm-border) !important;
}

body.dark-mode .main-menu .navigation li ul li a {
  color: var(--dm-soft) !important;
  border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .main-menu .navigation li ul li a:hover {
  color: #fff !important;
  background: rgba(77, 163, 255, .12) !important;
}

body.dark-mode .main-header .search-box-btn {
  color: var(--dm-heading) !important;
  background: var(--dm-surface-2) !important;
  border: 1px solid var(--dm-border) !important;
}

body.dark-mode .main-header .search-panel .form-container,
body.dark-mode .main-header .search-box-outer .dropdown-menu {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}

/* Mobile menu */
body.dark-mode .mobile-menu .menu-box {
  background: #0d1726 !important;
}

body.dark-mode .mobile-menu .menu-box,
body.dark-mode .mobile-menu .navigation li,
body.dark-mode .mobile-menu .navigation li > a {
  border-color: var(--dm-border) !important;
}

body.dark-mode .mobile-menu .navigation li > a,
body.dark-mode .mobile-menu .contact-info li,
body.dark-mode .mobile-menu .contact-info li a {
  color: var(--dm-soft) !important;
}

body.dark-mode .mobile-menu .contact-info h4,
body.dark-mode .mobile-menu .nav-logo {
  color: var(--dm-heading) !important;
}

/* Hero */
body.dark-mode .abhsm-hero-water {
  background: #07111d;
}

body.dark-mode .abhsm-hero-media::after,
body.dark-mode .abhsm-hero-media-overlay {
  background: linear-gradient(90deg, rgba(7, 17, 29, .72), rgba(7, 17, 29, .18)) !important;
}

body.dark-mode .abhsm-hero-panel {
  background: linear-gradient(145deg, rgba(11, 28, 48, .94), rgba(12, 53, 74, .82)) !important;
  border-color: rgba(255, 255, 255, .12) !important;
  box-shadow: var(--dm-shadow);
}

body.dark-mode .abhsm-hero-kicker,
body.dark-mode .abhsm-hero-text {
  color: rgba(232, 241, 255, .82) !important;
}

body.dark-mode .abhsm-hero-title {
  color: #fff !important;
}

body.dark-mode .abhsm-hero-nav,
body.dark-mode .abhsm-hero-dots button {
  background: rgba(10, 20, 33, .72) !important;
  border-color: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
}

/* Page titles and standard content */
body.dark-mode .page-title {
  background-color: #0e1929 !important;
  background-blend-mode: multiply;
  border-bottom: 1px solid var(--dm-border);
}

body.dark-mode .page-title::before {
  background: rgba(7, 17, 29, .74) !important;
}

body.dark-mode .page-title h1 {
  color: #fff !important;
}

body.dark-mode .page-title .sub_title li,
body.dark-mode .page-title .sub_title li a,
body.dark-mode .page-breadcrumb li,
body.dark-mode .page-breadcrumb li a {
  color: var(--dm-muted) !important;
}

body.dark-mode .page-title .sub_title .linkhead {
  color: var(--dm-aqua) !important;
}

body.dark-mode :where(.sidebar-page-container, .shop-page-section, .blog-grid, .contact-section, .service-details, .project-details) {
  background: var(--dm-page) !important;
}

/* Home quick access */
body.dark-mode .qr-section {
  background:
    radial-gradient(circle at 10% 0%, rgba(56, 212, 216, .14), transparent 35%),
    linear-gradient(180deg, #0d1c2f 0%, #0b111b 100%) !important;
}

body.dark-mode .qr-controls,
body.dark-mode .qr-track-outer {
  background: rgba(16, 25, 39, .72) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

body.dark-mode .qr-tab {
  color: var(--dm-muted) !important;
  background: transparent !important;
}

body.dark-mode .qr-tab:hover,
body.dark-mode .qr-tab--on {
  color: #fff !important;
  background: rgba(77, 163, 255, .18) !important;
}

body.dark-mode .qr-arrow {
  color: #fff !important;
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .qr-card {
  background: var(--dm-surface) !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .26) !important;
}

body.dark-mode .qr-card__fig::after {
  background: linear-gradient(180deg, transparent, rgba(5, 12, 22, .88)) !important;
}

body.dark-mode .qr-card__hl {
  color: #fff !important;
}

body.dark-mode .qr-card__foot {
  background: var(--dm-surface) !important;
  border-top: 1px solid var(--dm-border) !important;
}

body.dark-mode .qr-card__cat {
  color: var(--dm-aqua) !important;
}

body.dark-mode .qr-card__cta,
body.dark-mode .qr-viewall__link {
  color: var(--dm-blue) !important;
}

body.dark-mode .qr-dot {
  background: rgba(148, 163, 184, .38) !important;
}

body.dark-mode .qr-dot--on {
  background: var(--dm-aqua) !important;
}

/* E-services / feature blocks */
body.dark-mode .feature-section {
  background: linear-gradient(180deg, #0b111b, #0f1928) !important;
}

body.dark-mode .feature-block-one,
body.dark-mode .feature-block .inner-box,
body.dark-mode .service-block-two .inner-box {
  background: var(--dm-surface) !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .22) !important;
}

body.dark-mode .feature-block-one:hover,
body.dark-mode .feature-block .inner-box:hover,
body.dark-mode .service-block-two .inner-box:hover {
  background: var(--dm-surface-2) !important;
  border-color: rgba(77, 163, 255, .36) !important;
}

body.dark-mode .feature-block-one .icon-box,
body.dark-mode .service-block-two .icon-box {
  background: rgba(56, 212, 216, .12) !important;
  border-color: rgba(56, 212, 216, .24) !important;
}

body.dark-mode .feature-block-one .icon-box i,
body.dark-mode .service-block-two .icon-box i {
  color: var(--dm-aqua) !important;
}

body.dark-mode .feature-block-one h3 a,
body.dark-mode .service-block-two h3 a {
  color: var(--dm-heading) !important;
}

/* Chiffres cles */
body.dark-mode .chiffres-cles-section {
  background:
    radial-gradient(circle at 18% 10%, rgba(56, 212, 216, .12), transparent 32%),
    linear-gradient(180deg, #0b111b 0%, #0f1928 100%) !important;
  border-top: 1px solid rgba(148, 163, 184, .10);
  border-bottom: 1px solid rgba(148, 163, 184, .10);
}

body.dark-mode .chiffres-cles-section .sec-title h1 {
  color: var(--dm-heading) !important;
}

body.dark-mode .chiffres-cles-grid {
  align-items: stretch;
}

body.dark-mode .chiffres-cles-item {
  position: relative;
  min-height: 150px;
  padding: 26px 18px 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025)),
    var(--dm-surface);
  border: 1px solid var(--dm-border);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .20);
  overflow: hidden;
}

body.dark-mode .chiffres-cles-item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--dm-aqua), var(--dm-blue));
  opacity: .9;
}

body.dark-mode .chiffres-cles-item::after {
  content: "";
  position: absolute;
  right: -44px;
  top: -44px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: rgba(77, 163, 255, .09);
  pointer-events: none;
}

body.dark-mode .chiffres-cles-value {
  color: #7dd3fc !important;
  text-shadow: 0 10px 28px rgba(14, 165, 233, .18);
}

body.dark-mode .chiffres-cles-value sup {
  color: #bae6fd !important;
}

body.dark-mode .chiffres-cles-label {
  color: var(--dm-soft) !important;
}

/* ABHSM tabs/cards */
body.dark-mode .abhsm-tabs {
  background: var(--dm-page) !important;
}

body.dark-mode .abhsm-tabs__bar,
body.dark-mode .abhsm-panels {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

body.dark-mode .abhsm-tab {
  color: var(--dm-muted) !important;
}

body.dark-mode .abhsm-tab:hover {
  color: var(--dm-heading) !important;
  background: rgba(77, 163, 255, .12) !important;
}

body.dark-mode .abhsm-tab.is-active {
  color: #fff !important;
  background: linear-gradient(135deg, #1b519d, #0891b2) !important;
}

body.dark-mode .abhsm-card {
  background: var(--dm-surface-2) !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22) !important;
}

body.dark-mode .abhsm-card.card-blue { border-top: 3px solid var(--dm-blue) !important; }
body.dark-mode .abhsm-card.card-mint { border-top: 3px solid var(--dm-green) !important; }
body.dark-mode .abhsm-card.card-yellow { border-top: 3px solid var(--dm-amber) !important; }

body.dark-mode .abhsm-card__meta,
body.dark-mode .abhsm-card__text {
  color: var(--dm-muted) !important;
}

body.dark-mode .abhsm-card__title {
  color: var(--dm-heading) !important;
}

/* Barrage dashboard v2/v3 */
body.dark-mode .abhsm-barrages-section,
body.dark-mode .dv3-section {
  background:
    radial-gradient(circle at 85% 12%, rgba(77, 163, 255, .12), transparent 28%),
    var(--dm-page) !important;
}

body.dark-mode .abhsm-panel,
body.dark-mode .abhsm-panel--chart,
body.dark-mode .abhsm-panel--info,
body.dark-mode .dv3-card,
body.dark-mode .dv3-kpi {
  background: var(--dm-surface) !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .24) !important;
}

body.dark-mode .abhsm-ticker,
body.dark-mode .dv3-ticker,
body.dark-mode .dv3-card-p,
body.dark-mode .dv3-details summary {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .abhsm-ticker__badge,
body.dark-mode .dv3-badge {
  color: #fff !important;
  background: linear-gradient(135deg, #1b519d, #0891b2) !important;
}

body.dark-mode .abhsm-chart-title h3,
body.dark-mode .abhsm-chart-title h3 span,
body.dark-mode .dv3-title,
body.dark-mode .dv3-card-title,
body.dark-mode .dv3-sinf-hdr__title,
body.dark-mode .dv3-kpi__value,
body.dark-mode .dv3-dam-name,
body.dark-mode .dv3-bento-val {
  color: var(--dm-heading) !important;
}

body.dark-mode .dv3-sub,
body.dark-mode .dv3-card-sub,
body.dark-mode .dv3-kpi__label,
body.dark-mode .dv3-dam-sub,
body.dark-mode .dv3-tile__lbl,
body.dark-mode .dv3-qlink__txt,
body.dark-mode .dv3-bento-sub,
body.dark-mode .dv3-bento-tag,
body.dark-mode .abhsm-legend__item {
  color: var(--dm-muted) !important;
}

body.dark-mode .abhsm-pill,
body.dark-mode .dv3-seg,
body.dark-mode .dv3-seg-btn {
  background: var(--dm-surface-3) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-soft) !important;
}

body.dark-mode .abhsm-evo__tab.is-active,
body.dark-mode .dv3-seg-btn.on {
  color: #fff !important;
  background: var(--dm-blue-strong) !important;
  border-color: rgba(77, 163, 255, .52) !important;
}

body.dark-mode .dv3-dam-bar,
body.dark-mode .dv3-dam-row__bar {
  background: rgba(148, 163, 184, .16) !important;
}

body.dark-mode .abhsm-table,
body.dark-mode .dv3-tbl {
  background: var(--dm-surface) !important;
  color: var(--dm-text) !important;
}

body.dark-mode .abhsm-table th,
body.dark-mode .dv3-tbl th {
  background: var(--dm-surface-2) !important;
  color: var(--dm-heading) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .abhsm-table td,
body.dark-mode .dv3-tbl td {
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .dv3-tile,
body.dark-mode .dv3-qlink {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .dv3-tile:hover,
body.dark-mode .dv3-qlink:hover {
  background: var(--dm-surface-3) !important;
  border-color: rgba(77, 163, 255, .38) !important;
}

body.dark-mode .dv3-tile__ico,
body.dark-mode .dv3-qlink__ico {
  background: rgba(77, 163, 255, .12) !important;
}

body.dark-mode .dv3-tile__ico svg,
body.dark-mode .dv3-qlink__ico svg {
  stroke: var(--dm-blue) !important;
}

body.dark-mode .dv3-bento--navy,
body.dark-mode .dv3-bento--blue {
  background: linear-gradient(135deg, #16457e, #0b6478) !important;
}

body.dark-mode .dv3-bento--mint,
body.dark-mode .dv3-bento--amber,
body.dark-mode .dv3-bento--ice {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .dv3-bento--mint .dv3-bento-val { color: #9af2b7 !important; }
body.dark-mode .dv3-bento--amber .dv3-bento-val { color: #ffd27a !important; }
body.dark-mode .dv3-bento--ice .dv3-bento-val { color: #99d8ff !important; }

/* Zone d'action */
body.dark-mode .abhsm-zone {
  background:
    radial-gradient(circle at 8% 12%, rgba(56, 212, 216, .13), transparent 30%),
    radial-gradient(circle at 92% 20%, rgba(77, 163, 255, .12), transparent 28%),
    linear-gradient(180deg, #0f1928 0%, #0b111b 100%) !important;
}

body.dark-mode .abhsm-zone .sec-title h1 {
  color: var(--dm-heading) !important;
}

body.dark-mode .abhsm-zone__left {
  padding: 26px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .025)),
    var(--dm-surface);
  border: 1px solid var(--dm-border);
  border-radius: 18px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .22);
}

body.dark-mode .abhsm-zone__kicker {
  color: var(--dm-muted) !important;
}

body.dark-mode .abhsm-zone__kicker::before {
  background: linear-gradient(90deg, var(--dm-aqua), var(--dm-blue)) !important;
}

body.dark-mode .abhsm-zone__title {
  color: var(--dm-heading) !important;
}

body.dark-mode .abhsm-zone__lead,
body.dark-mode .abhsm-zone__list li {
  color: var(--dm-soft) !important;
}

body.dark-mode .abhsm-zone__check {
  color: #a7f3d0 !important;
  background: rgba(74, 222, 128, .12) !important;
  border: 1px solid rgba(74, 222, 128, .26);
}

body.dark-mode .abhsm-zone__map,
body.dark-mode .abhsm-zone__map--full {
  background: transparent !important;
}

body.dark-mode .abhsm-map-hotspots {
  padding: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)),
    var(--dm-surface);
  border: 1px solid var(--dm-border);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}

body.dark-mode .abhsm-map-hotspots .abhsm-map-thumb {
  border-radius: 16px;
  opacity: .92;
  filter: saturate(.9) brightness(.88) contrast(1.06);
}

body.dark-mode .abhsm-map-pin__dot::after {
  border-color: rgba(56, 212, 216, .78) !important;
  box-shadow: 0 0 18px rgba(56, 212, 216, .34);
}

body.dark-mode .abhsm-map-tip {
  color: var(--dm-soft) !important;
  background: rgba(16, 25, 39, .98) !important;
  border-color: var(--dm-border-strong) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, .38) !important;
}

body.dark-mode .abhsm-map-tip::after {
  background: rgba(16, 25, 39, .98) !important;
  border-color: var(--dm-border-strong) !important;
}

body.dark-mode .abhsm-map-tip strong {
  color: #7dd3fc !important;
}

body.dark-mode .abhsm-map-tip span {
  color: var(--dm-soft) !important;
}

body.dark-mode .abhsm-zone__stats {
  background: linear-gradient(145deg, #16457e, #0b6478) !important;
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 22px 48px rgba(0, 0, 0, .28) !important;
}

body.dark-mode .abhsm-zone__stat + .abhsm-zone__stat {
  border-top-color: rgba(255, 255, 255, .18) !important;
}

body.dark-mode .abhsm-zone__big {
  color: #fff !important;
}

body.dark-mode .abhsm-zone__small {
  color: rgba(232, 241, 255, .76) !important;
}

body.dark-mode .home-wave[style*="#ffffff"],
body.dark-mode .home-wave[style*="#f7f8fc"] {
  background: var(--dm-page) !important;
}

body.dark-mode .home-wave[style*="#ffffff"] path,
body.dark-mode .home-wave[style*="#f7f8fc"] path {
  fill: #0f1928 !important;
}

/* News, lists, detail pages */
body.dark-mode .news-block-one .inner-box,
body.dark-mode .news-block .inner-box,
body.dark-mode .team-block .inner-box,
body.dark-mode .project-block .inner-box,
body.dark-mode .work-block .inner-box,
body.dark-mode .lower-content,
body.dark-mode .content-box,
body.dark-mode .blog-details-content,
body.dark-mode .default-sidebar .sidebar-widget,
body.dark-mode .shop-sidebar .sidebar-widget,
body.dark-mode .shop-sidebar .sidebar-categories {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
}

body.dark-mode .news-block-one .inner-box .lower-content .inner h2 a,
body.dark-mode .categories-list li a,
body.dark-mode .sidebar-widget h4 {
  color: var(--dm-heading) !important;
}

body.dark-mode .news-block-one .inner-box .lower-content .inner .text,
body.dark-mode .news-block-one .inner-box .lower-content .inner .info-box li {
  color: var(--dm-muted) !important;
}

body.dark-mode .categories-list li {
  border-bottom-color: var(--dm-border) !important;
}

body.dark-mode .categories-list li a:hover,
body.dark-mode .categories-list li a[style*="color"] {
  color: var(--dm-blue) !important;
}

/* Forms and tables */
body.dark-mode :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], input[type="date"], select, textarea) {
  color: var(--dm-heading) !important;
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode :where(input, textarea)::placeholder {
  color: var(--dm-muted) !important;
}

body.dark-mode :where(input, select, textarea):focus {
  border-color: rgba(77, 163, 255, .6) !important;
  box-shadow: 0 0 0 3px rgba(77, 163, 255, .12) !important;
}

body.dark-mode :where(table, .table) {
  color: var(--dm-text) !important;
  background: var(--dm-surface) !important;
}

body.dark-mode :where(table, .table) :where(th) {
  color: var(--dm-heading) !important;
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode :where(table, .table) :where(td) {
  color: var(--dm-text) !important;
  border-color: var(--dm-border) !important;
}

/* Buttons */
body.dark-mode .theme-btn,
body.dark-mode .btn-style-one,
body.dark-mode .btn-style-two {
  color: #fff !important;
  background: linear-gradient(135deg, #1b519d, #0891b2) !important;
  border-color: transparent !important;
}

body.dark-mode .theme-btn:hover,
body.dark-mode .btn-style-one:hover,
body.dark-mode .btn-style-two:hover {
  color: #fff !important;
  filter: brightness(1.08);
}

/* Home alert and portal band */
body.dark-mode .home-key-alert {
  color: var(--dm-heading);
  background: linear-gradient(135deg, rgba(16, 25, 39, .98), rgba(21, 32, 51, .96)) !important;
  border-color: var(--dm-border) !important;
  box-shadow: var(--dm-shadow);
}

body.dark-mode .home-key-alert__text,
body.dark-mode .home-key-alert__item,
body.dark-mode .home-key-alert__item strong {
  color: var(--dm-heading) !important;
}

body.dark-mode .home-key-alert__item {
  background: rgba(255, 255, 255, .05) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .home-key-alert__item small,
body.dark-mode .home-key-alert__close {
  color: var(--dm-muted) !important;
}

body.dark-mode .portails-band {
  background: #08111f !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .portails-band__label,
body.dark-mode .portail-link__text {
  color: var(--dm-soft) !important;
}

body.dark-mode .portail-link {
  background: rgba(255, 255, 255, .05) !important;
  border-color: var(--dm-border) !important;
}

/* Footer */
body.dark-mode .main-footer {
  background: #07101d !important;
}

body.dark-mode .main-footer .footer-top,
body.dark-mode .main-footer .footer-bottom {
  border-color: var(--dm-border) !important;
}

body.dark-mode .main-footer h4,
body.dark-mode .main-footer h5,
body.dark-mode .main-footer a {
  color: var(--dm-heading) !important;
}

body.dark-mode .main-footer p,
body.dark-mode .main-footer li,
body.dark-mode .footer-bottom p {
  color: var(--dm-muted) !important;
}

/* Floating tools */
body.dark-mode .fab-popover,
body.dark-mode .portal-chatbot__panel,
body.dark-mode .a11y-panel,
body.dark-mode #survey-modal {
  color: var(--dm-text) !important;
  background: var(--dm-surface) !important;
  border: 1px solid var(--dm-border) !important;
  box-shadow: var(--dm-shadow) !important;
}

body.dark-mode .fab-popover::after {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .fab-action,
body.dark-mode .portal-chatbot__message--bot,
body.dark-mode .portal-chatbot__chips button,
body.dark-mode .a11y-card,
body.dark-mode .a11y-pill {
  color: var(--dm-soft) !important;
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
}

body.dark-mode .fab-action:hover,
body.dark-mode .portal-chatbot__chips button:hover,
body.dark-mode .a11y-card:hover {
  background: var(--dm-surface-3) !important;
}

body.dark-mode .fab-action-title,
body.dark-mode .portal-chatbot__header h2,
body.dark-mode .a11y-card-title,
body.dark-mode .a11y-section {
  color: var(--dm-heading) !important;
}

body.dark-mode .fab-action-desc,
body.dark-mode .portal-chatbot__header p {
  color: var(--dm-muted) !important;
}

body.dark-mode .portal-chatbot__header,
body.dark-mode .a11y-header {
  background: linear-gradient(135deg, #16457e, #0891b2) !important;
}

body.dark-mode .portal-chatbot__message--user,
body.dark-mode .portal-chatbot__form button,
body.dark-mode .a11y-reset {
  color: #fff !important;
  background: linear-gradient(135deg, #1b519d, #0891b2) !important;
}

body.dark-mode .portal-chatbot__form {
  border-color: var(--dm-border) !important;
}

body.dark-mode .survey-trigger-icon {
  color: #fff !important;
}

/* Lightbox and preloader */
body.dark-mode .abhsm-lightbox {
  background: rgba(3, 8, 15, .92) !important;
}

body.dark-mode .abhsm-lightbox__content,
body.dark-mode .abhsm-lightbox__zoom button,
body.dark-mode .abhsm-lightbox__close {
  background: var(--dm-surface) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-heading) !important;
}

body.dark-mode .preloader {
  background: var(--dm-page) !important;
}
