/* XINDUX global day/night appearance ------------------------------------- */
:root {
  --xindux-page: #ffffff;
  --xindux-surface: #ffffff;
  --xindux-surface-alt: #eef3f6;
  --xindux-card: #ffffff;
  --xindux-text: #111827;
  --xindux-heading: #354a61;
  --xindux-muted: #647487;
  --xindux-border: #dce5ed;
  --xindux-accent: #5aa4d6;
  --xindux-shadow: 0 12px 30px rgba(25, 47, 67, 0.1);
}

html[data-xindux-theme="night"] {
  color-scheme: dark;
  --xindux-page: #0b1220;
  --xindux-surface: #101a2a;
  --xindux-surface-alt: #132238;
  --xindux-card: #17263a;
  --xindux-text: #edf4fb;
  --xindux-heading: #f7fbff;
  --xindux-muted: #b6c5d5;
  --xindux-border: #2a3e56;
  --xindux-accent: #69b9ef;
  --xindux-shadow: 0 14px 34px rgba(0, 0, 0, 0.3);
  --bs-body-color: #edf4fb;
  --bs-body-color-rgb: 237, 244, 251;
  --bs-body-bg: #0b1220;
  --bs-body-bg-rgb: 11, 18, 32;
  --bs-border-color: #2a3e56;
}

html,
body,
#wrapper,
header,
main,
section,
article,
input,
textarea,
select,
button,
.solution-card,
.define-card,
.faq-card,
.product-card {
  transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

/* Compact header control used on every page except the homepage hero. */
.site-theme-toggle {
  position: relative;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #cbd8e4;
  border-radius: 50%;
  background: #f5f8fb;
  color: #405a75;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(45, 70, 94, 0.12);
}

.site-theme-toggle:hover {
  border-color: #5aa4d6;
  color: #2f7fb6;
}

.site-theme-toggle:focus-visible {
  outline: 3px solid rgba(90, 164, 214, 0.38);
  outline-offset: 3px;
}

.site-theme-toggle svg {
  position: absolute;
  width: 20px;
  height: 20px;
  transition: opacity 180ms ease, transform 220ms ease;
}

.site-theme-toggle__moon {
  opacity: 0;
  transform: rotate(-30deg) scale(0.7);
}

html[data-xindux-theme="night"] .site-theme-toggle__sun {
  opacity: 0;
  transform: rotate(35deg) scale(0.7);
}

html[data-xindux-theme="night"] .site-theme-toggle__moon {
  opacity: 1;
  transform: rotate(0) scale(1);
}

.site-theme-toggle--mobile {
  display: none;
}

/* The transparent artwork is identical in both appearance modes. */
.logo .xindux-logo-link {
  display: inline-flex;
  align-items: center;
}

.logo .xindux-logo {
  width: auto;
  height: 54px;
  object-fit: contain;
}

/* WCAG AA refinements for light surfaces. */
html[data-xindux-theme="day"] :is(.descc h2 span, .industry-alt .industry-tag) {
  color: #0e7490 !important;
}

html[data-xindux-theme="day"] .descc p {
  color: #596273 !important;
}

html[data-xindux-theme="day"] :is(.footer-customer-service, .footer-main) ul li a {
  color: #4b5563 !important;
}

/* Page shell and navigation */
html[data-xindux-theme="night"] body,
html[data-xindux-theme="night"] #wrapper,
html[data-xindux-theme="night"] main,
html[data-xindux-theme="night"] #content,
html[data-xindux-theme="night"] .site-content {
  background-color: var(--xindux-page) !important;
  color: var(--xindux-text);
}

html[data-xindux-theme="night"] header,
html[data-xindux-theme="night"] header > .container-fluid,
html[data-xindux-theme="night"] .header-top,
html[data-xindux-theme="night"] .header-menu,
html[data-xindux-theme="night"] .nav-menu {
  background-color: #0d1726 !important;
  color: var(--xindux-text);
}

html[data-xindux-theme="night"] .nav-menu {
  border-top-color: var(--xindux-border);
}

html[data-xindux-theme="night"] .nav-menu a,
html[data-xindux-theme="night"] .nav-menu li ul li a,
html[data-xindux-theme="night"] .header-number a,
html[data-xindux-theme="night"] .rk-profile-btn,
html[data-xindux-theme="night"] #breadcrumbs,
html[data-xindux-theme="night"] #breadcrumbs a {
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] .nav-menu li ul,
html[data-xindux-theme="night"] .rk-profile-menu {
  background: #17263a !important;
  border-color: var(--xindux-border) !important;
  box-shadow: var(--xindux-shadow) !important;
}

html[data-xindux-theme="night"] .nav-menu li ul a:hover,
html[data-xindux-theme="night"] .rk-profile-menu a:hover {
  background: #20344d;
}

html[data-xindux-theme="night"] #search .search-form,
html[data-xindux-theme="night"] #search .search-form input,
html[data-xindux-theme="night"] input,
html[data-xindux-theme="night"] textarea,
html[data-xindux-theme="night"] select,
html[data-xindux-theme="night"] .form-control {
  background-color: #142238 !important;
  border-color: #36506b !important;
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] input::placeholder,
html[data-xindux-theme="night"] textarea::placeholder,
html[data-xindux-theme="night"] #search .search-form input::placeholder {
  color: #9fb0c2 !important;
}

html[data-xindux-theme="night"] .search-submit2,
html[data-xindux-theme="night"] .search-icon,
html[data-xindux-theme="night"] .search-call > a img,
html[data-xindux-theme="night"] .menu-toggle,
html[data-xindux-theme="night"] .close-btn {
  color: var(--xindux-text) !important;
  filter: brightness(0) invert(1);
}

html[data-xindux-theme="night"] .site-theme-toggle {
  background: #1a2b42;
  border-color: #3a5570;
  color: #a9dcff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

/* Light content sections and reusable cards */
html[data-xindux-theme="night"] .who-we-are,
html[data-xindux-theme="night"] .about-us,
html[data-xindux-theme="night"] .accessories-section,
html[data-xindux-theme="night"] .casting-section,
html[data-xindux-theme="night"] .casting-solutions,
html[data-xindux-theme="night"] .solutions-section,
html[data-xindux-theme="night"] .certification-section,
html[data-xindux-theme="night"] .downloads-section,
html[data-xindux-theme="night"] .connect-global,
html[data-xindux-theme="night"] .contact-info-new,
html[data-xindux-theme="night"] .contact-form-map,
html[data-xindux-theme="night"] .main-content,
html[data-xindux-theme="night"] .mobile-form,
html[data-xindux-theme="night"] .newsletter,
html[data-xindux-theme="night"] .our-clients,
html[data-xindux-theme="night"] .product-page-main,
html[data-xindux-theme="night"] .product-category-list,
html[data-xindux-theme="night"] .product-list,
html[data-xindux-theme="night"] .product-information,
html[data-xindux-theme="night"] .product-variant-table,
html[data-xindux-theme="night"] .technical,
html[data-xindux-theme="night"] .tech-specs-wrap,
html[data-xindux-theme="night"] .faq-section,
html[data-xindux-theme="night"] .faq,
html[data-xindux-theme="night"] .product-faq-section,
html[data-xindux-theme="night"] .defines-section,
html[data-xindux-theme="night"] .catalogs-section,
html[data-xindux-theme="night"] .services-section,
html[data-xindux-theme="night"] .capabilities-section,
html[data-xindux-theme="night"] .process-section,
html[data-xindux-theme="night"] .highlights-section,
html[data-xindux-theme="night"] .accessories-section,
html[data-xindux-theme="night"] .collection-slider,
html[data-xindux-theme="night"] .gift-hampers,
html[data-xindux-theme="night"] .memorable,
html[data-xindux-theme="night"] .sec-3,
html[data-xindux-theme="night"] .talk-to-expert,
html[data-xindux-theme="night"] .testimonials,
html[data-xindux-theme="night"] .usp,
html[data-xindux-theme="night"] section.py-5[style*="background"] {
  background-color: var(--xindux-surface) !important;
  color: var(--xindux-text);
}

html[data-xindux-theme="night"] .industries-section,
html[data-xindux-theme="night"] .global-presence-section,
html[data-xindux-theme="night"] .industry-alt,
html[data-xindux-theme="night"] .sectors-section,
html[data-xindux-theme="night"] .brands-section,
html[data-xindux-theme="night"] .what-sets-section,
html[data-xindux-theme="night"] .vision-mission-section,
html[data-xindux-theme="night"] .numbers-section,
html[data-xindux-theme="night"] .about-our-story,
html[data-xindux-theme="night"] .ts-wrapper {
  background-color: var(--xindux-surface-alt) !important;
  color: var(--xindux-text);
}

html[data-xindux-theme="night"] .why-choose-section {
  background-color: #101d30 !important;
  background-blend-mode: multiply;
}

html[data-xindux-theme="night"] section:not(.hero):not(.cta-section):not(.oem-cta) :is(h1, h2, h3, h4, h5, h6),
html[data-xindux-theme="night"] :is(.who-heading, .solutions-title, .industries-title, .choose-title, .gp-title, .section-title, .solution-head, .why-head, .ts-heading, .ts-value) {
  color: var(--xindux-heading) !important;
}

html[data-xindux-theme="night"] section:not(.hero):not(.cta-section):not(.oem-cta) :is(p, li),
html[data-xindux-theme="night"] :is(.who-desc, .solution-text, .why-text, .gp-subtitle, .define-text, .ts-label) {
  color: var(--xindux-muted) !important;
}

html[data-xindux-theme="night"] :is(.key-item, .entry-content, .entry-summary, .product-description, .accordion-body) {
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] :is(
  .solution-card,
  .define-card,
  .faq-card,
  .faq-item,
  .faq-ans,
  .ts-card,
  .card,
  .product-card,
  .hmi-series-card,
  .hmi-product-card,
  .hmi-main-card,
  .product-item,
  .product-list article,
  .product-list-detail,
  .technical-detail-main,
  .accessory-item,
  .catalog-card,
  .service-card,
  .contact-card,
  .download-card,
  .modal-content,
  .accordion-item,
  .img-card
) {
  background: var(--xindux-card) !important;
  border-color: var(--xindux-border) !important;
  color: var(--xindux-text) !important;
  box-shadow: var(--xindux-shadow) !important;
}

html[data-xindux-theme="night"] :is(.icon-box, .ts-icon, .key-item .bi) {
  background: #20354d !important;
  color: var(--xindux-accent) !important;
}

/* Industry, environment and contact cards use light inline styles in their templates. */
html[data-xindux-theme="night"] .industry-alt .industry-item,
html[data-xindux-theme="night"] .contact-info-new .info-card,
html[data-xindux-theme="night"] .contact-form-map :is(.form-card, .map-card) {
  background: var(--xindux-card) !important;
  border: 1px solid var(--xindux-border) !important;
  color: var(--xindux-text) !important;
  box-shadow: var(--xindux-shadow) !important;
}

html[data-xindux-theme="night"] .industry-alt .industry-item h3,
html[data-xindux-theme="night"] .contact-info-new .info-card h4,
html[data-xindux-theme="night"] .contact-form-map .form-card h2 {
  color: var(--xindux-heading) !important;
}

html[data-xindux-theme="night"] .industry-alt .industry-item p,
html[data-xindux-theme="night"] .contact-info-new .info-card :is(p, span),
html[data-xindux-theme="night"] .contact-form-map .form-card :is(.form-intro, label, .wpcf7-list-item-label, .wpcf7-response-output),
html[data-xindux-theme="night"] .connect-global :is(.connect-text, .connect-text p, .connect-text li) {
  color: var(--xindux-muted) !important;
}

html[data-xindux-theme="night"] .contact-info-new .info-card strong {
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] .contact-info-new .info-card :is(.info-icon, p i),
html[data-xindux-theme="night"] .contact-form-map .form-card a {
  color: #8fd3ff !important;
}

html[data-xindux-theme="night"] .contact-info-new .info-card a {
  color: #8fd3ff !important;
  text-decoration-color: rgba(143, 211, 255, 0.62);
}

html[data-xindux-theme="night"] .contact-form-map .form-card .btn-submit {
  background: #69b9ef !important;
  border-color: #69b9ef !important;
  color: #07101d !important;
}

html[data-xindux-theme="night"] .contact-form-map .form-card .wpcf7-not-valid-tip {
  color: #ffb4b4 !important;
}

html[data-xindux-theme="night"] :is(.table-wrap table, table, .table) {
  --bs-table-bg: var(--xindux-card);
  --bs-table-color: var(--xindux-text);
  --bs-table-striped-bg: #1c2d43;
  --bs-table-hover-bg: #233950;
  color: var(--xindux-text) !important;
  border-color: var(--xindux-border) !important;
}

html[data-xindux-theme="night"] :is(.table-wrap th, .table-wrap td, table th, table td) {
  border-color: var(--xindux-border) !important;
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] :is(.accordion-button, .faq-btn) {
  background: var(--xindux-card) !important;
  color: var(--xindux-heading) !important;
}

/* Product archives and product-category landing pages. */
html[data-xindux-theme="night"] :is(.hmi-term-wrapper, .hmi-main-page) {
  background-color: var(--xindux-page) !important;
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] :is(
  .hmi-term-title,
  .hmi-group-heading,
  .hmi-main-heading__title,
  .hmi-series-card__title,
  .hmi-product-card__title,
  .hmi-main-card__name,
  .product-list-title h2,
  .entry-title,
  .entry-title a
) {
  color: var(--xindux-heading) !important;
}

html[data-xindux-theme="night"] :is(
  .hmi-series-intro,
  .hmi-main-heading__subtitle,
  .hmi-main-heading__eyebrow,
  .hmi-main-card__label
) {
  color: var(--xindux-muted) !important;
}

html[data-xindux-theme="night"] :is(
  .hmi-series-card,
  .hmi-product-card,
  .hmi-main-card
) {
  background: var(--xindux-card) !important;
  border-color: var(--xindux-border) !important;
  box-shadow: var(--xindux-shadow) !important;
}

html[data-xindux-theme="night"] :is(
  .hmi-series-card__image,
  .hmi-product-card__image,
  .hmi-main-card__image
) {
  background: #f5f7fa !important;
  border-radius: 10px;
}

html[data-xindux-theme="night"] .hmi-main-card__title {
  border-top-color: var(--xindux-border) !important;
}

/* Product details, specification boxes, downloads and related products. */
html[data-xindux-theme="night"] :is(.product-list-detail, .technical-detail-main, .accessory-item, .product-list article, .product-item) {
  background: var(--xindux-card) !important;
  border-color: var(--xindux-border) !important;
  color: var(--xindux-text) !important;
  box-shadow: var(--xindux-shadow) !important;
}

html[data-xindux-theme="night"] :is(
  .product-list-detail h5,
  .detail-product-item-list h5,
  .tech-info p strong,
  .accessory-item h4
) {
  color: var(--xindux-heading) !important;
}

html[data-xindux-theme="night"] :is(
  .product-list-detail p,
  .detail-product-item-list p,
  .tech-info p span,
  .product-details p,
  .entry-summary p
) {
  color: var(--xindux-muted) !important;
}

html[data-xindux-theme="night"] :is(.detail-tech, .entry-summary h3) {
  border-color: var(--xindux-border) !important;
}

html[data-xindux-theme="night"] :is(.download-btn a, a.download-btn) {
  color: #a9dcff !important;
  border-color: #5f89ad !important;
  background: transparent !important;
}

html[data-xindux-theme="night"] :is(.download-btn a, a.download-btn):hover {
  color: #07101d !important;
  border-color: var(--xindux-accent) !important;
  background: var(--xindux-accent) !important;
}

html[data-xindux-theme="night"] .budg {
  color: #a9dcff !important;
  background: rgba(105, 185, 239, 0.14) !important;
  border: 1px solid rgba(105, 185, 239, 0.32);
}

html[data-xindux-theme="night"] #breadcrumbs .breadcrumb_last strong {
  color: var(--xindux-text) !important;
}

/* Every FAQ implementation used across templates and product categories. */
html[data-xindux-theme="night"] :is(.faq-card, .faq-item, .faq-ans) {
  background: var(--xindux-card) !important;
  border-color: var(--xindux-border) !important;
  color: var(--xindux-text) !important;
  box-shadow: var(--xindux-shadow) !important;
}

html[data-xindux-theme="night"] :is(.faq-question, .faq-btn, .question h3) {
  background: transparent !important;
  color: var(--xindux-heading) !important;
}

html[data-xindux-theme="night"] :is(.faq-answer, .faq-answer p, .faq-answer li, .accordion-body, .accordion-body p, .accordion-body li, .answer, .answer p, .answer li) {
  background: transparent !important;
  color: var(--xindux-muted) !important;
}

html[data-xindux-theme="night"] .faq-icon {
  border-color: var(--xindux-accent) !important;
}

html[data-xindux-theme="night"] :is(.faq-question, .faq-btn, .question):hover {
  color: #fff !important;
  background: #20344d !important;
}

html[data-xindux-theme="night"] .accordion-button::after {
  filter: brightness(0) invert(1);
  opacity: 0.82;
}

/* Tags, labels and compact metadata must stay legible on dark surfaces. */
html[data-xindux-theme="night"] :is(.banner-tags span, .industry-tag, .tag-links a, .spec-label) {
  color: #d9efff !important;
}

html[data-xindux-theme="night"] .banner-tags span {
  background: rgba(105, 185, 239, 0.14) !important;
  border-color: rgba(105, 185, 239, 0.58) !important;
}

html[data-xindux-theme="night"] :is(.spec-value, .category-titles span, .category-titles p) {
  color: var(--xindux-heading) !important;
}

html[data-xindux-theme="night"] :is(
  .list-product-coteg a,
  .btn-group-product button,
  .btn-group-product li,
  #defaultDropdown,
  .show-filter a,
  .collection-slider h4,
  .cl-slider .entry-title,
  .contect-me a,
  .descc p strong
) {
  color: var(--xindux-text) !important;
}

html[data-xindux-theme="night"] :is(.btn-group-product ul, .all-filter input, .show-filter a, .show-filter button) {
  background: var(--xindux-card) !important;
  border-color: var(--xindux-border) !important;
}

html[data-xindux-theme="night"] .banner-button a.active {
  color: #07101d !important;
  background: #69b9ef !important;
}

html[data-xindux-theme="night"] .cta-btn {
  color: #fff !important;
  background: #2d6f9e !important;
}

html[data-xindux-theme="night"] #wrapper section.oem-cta-section p.cta-sub {
  color: #f4f8fc !important;
}

/* Keep deliberately photographic/dark areas intact. */
html[data-xindux-theme="night"] :is(.industry-card, .industry-content, .cta-section, .oem-cta, #footer) :is(h1, h2, h3, h4, h5, h6, p, li, a) {
  color: inherit;
}

html[data-xindux-theme="night"] #footer {
  background: #070d17 !important;
  border-top-color: var(--xindux-border) !important;
}

html[data-xindux-theme="night"] .footer-copyright {
  background: #050a12 !important;
  border-top-color: #1d2c3d !important;
}

@media (max-width: 899px) {
  .site-theme-toggle--desktop {
    display: none;
  }

  .site-theme-toggle--mobile {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    margin-right: 4px;
  }

  .logo .xindux-logo {
    height: 48px;
  }

  html[data-xindux-theme="night"] .nav-menu {
    background-color: #0d1726 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html,
  body,
  #wrapper,
  header,
  main,
  section,
  article,
  input,
  textarea,
  select,
  button {
    transition: none !important;
  }

  .site-theme-toggle svg {
    transition: none !important;
  }
}
