:root {
  --brand-page-bg: #08131c !important;
  --brand-surface: #0d1c2a !important;
  --brand-surface-alt: #122638 !important;
  --brand-surface-soft: #173147 !important;
  --brand-text: #eaf2fb !important;
  --brand-text-muted: #b6c7da !important;
  --brand-accent: #2872fa !important;
  --brand-accent-dark: #1559ed !important;
  --brand-accent-text: #ffffff !important;
  --brand-border: #23435f !important;
  --brand-shadow: rgba(0, 0, 0, 0.30) !important;
  --brand-gradient: linear-gradient(135deg, #2872fa, #1559ed) !important;
  --brand-link: #2872fa !important;
  --e-global-color-primary: #2872fa !important;
  --e-global-color-secondary: #0d1c2a !important;
  --e-global-color-text: #eaf2fb !important;
  --e-global-color-accent: #2872fa !important;
}

body {
  background-color: var(--brand-page-bg) !important;
  color: var(--brand-text) !important;
}

/* Shopify-mirror pages dark theme — overrides Shopify color-scheme tokens.
   Token-only override (no bg-color/color decls on color-scheme-*) so layout untouched. */
body[class*="page-width"],
body[class*="card-hover-effect"],
body[class*="page-width"] [class*="color-scheme-"],
body[class*="card-hover-effect"] [class*="color-scheme-"] {
  --color-background: #08131c !important;
  --color-background-rgb: 8 19 28 !important;
  --color-background-secondary: #0d1c2a !important;
  --color-background-secondary-rgb: 13 28 42 !important;
  --color-foreground: #eaf2fb !important;
  --color-foreground-rgb: 234 242 251 !important;
  --color-foreground-heading: #ffffff !important;
  --color-foreground-heading-rgb: 255 255 255 !important;
  --color-foreground-secondary-rgb: 182 199 218 !important;
  --color-primary: #2872fa !important;
  --color-primary-rgb: 40 114 250 !important;
  --color-primary-hover: #1559ed !important;
  --color-primary-hover-rgb: 40 114 250 !important;
  --color-link: #2872fa !important;
  --color-link-rgb: 40 114 250 !important;
  --color-card-background: #0d1c2a !important;
  --color-card-background-rgb: 13 28 42 !important;
  --color-border: rgb(40 114 250 / 0.3) !important;
  --color-border-rgb: 40 114 250 !important;
  --color-primary-button-background: #2872fa !important;
  --color-primary-button-border: #1559ed !important;
  --color-primary-button-text: #ffffff !important;
  --color-primary-button-hover-background: #1559ed !important;
  --color-primary-button-hover-text: #ffffff !important;
  --color-secondary-button-text: #eaf2fb !important;
  --color-secondary-button-border: #2872fa !important;
  --color-input-background: #0d1c2a !important;
  --color-input-text: #eaf2fb !important;
  --color-input-text-rgb: 234 242 251 !important;
  --color-input-border: rgb(40 114 250 / 0.4) !important;
  --color-shadow: rgb(0 0 0 / 0.5) !important;
  --color-shadow-rgb: 0 0 0 !important;
}
body[class*="page-width"],
body[class*="card-hover-effect"] {
  background-color: #08131c !important;
  color: #eaf2fb !important;
}

/* Shopify-mirror logo upsize */
body[class*="page-width"] .header-logo__image,
body[class*="card-hover-effect"] .header-logo__image {
  --header-logo-image-width: 96px !important;
  --header-logo-image-width-mobile: 72px !important;
  --header-logo-image-height: 96px !important;
  --header-logo-image-height-mobile: 72px !important;
  width: 96px !important;
  height: auto !important;
  max-height: 96px !important;
}
body[class*="page-width"] .header-logo__image-container,
body[class*="card-hover-effect"] .header-logo__image-container {
  width: auto !important;
  height: auto !important;
}
@media (max-width: 768px) {
  body[class*="page-width"] .header-logo__image,
  body[class*="card-hover-effect"] .header-logo__image {
    width: 72px !important;
    max-height: 72px !important;
  }
}

/* brand-showcase slider — main page hero */
.brand-showcase {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 24px auto;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  background: #0d1c2a;
}
.brand-showcase__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 7;
  overflow: hidden;
}
.brand-showcase__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}
.brand-showcase__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}
.brand-showcase__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.brand-showcase__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,0.55) 100%);
  pointer-events: none;
}
.brand-showcase__nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  aspect-ratio: 1 / 1 !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 2px solid rgba(255,255,255,0.9) !important;
  background: rgba(15,22,32,0.65) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 5 !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.55) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-sizing: border-box !important;
  transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
.brand-showcase__nav svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  pointer-events: none;
}
.brand-showcase__nav svg path {
  stroke: currentColor !important;
  fill: none !important;
}
.brand-showcase__nav:hover {
  background: var(--brand-accent) !important;
  color: var(--brand-accent-text) !important;
  border-color: var(--brand-accent) !important;
  transform: translateY(-50%) scale(1.08) !important;
}
.brand-showcase__nav--prev { left: 18px; }
.brand-showcase__nav--next { right: 18px; }
.brand-showcase__dots {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 5;
  padding: 8px 14px;
  background: rgba(0,0,0,0.45);
  border-radius: 999px;
}
.brand-showcase__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.85);
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s ease, transform 0.2s ease;
}
.brand-showcase__dot.is-active {
  background: #fff;
  transform: scale(1.25);
}
@media (max-width: 768px) {
  .brand-showcase { margin: 16px 12px; border-radius: 10px; }
  .brand-showcase__stage { aspect-ratio: 16 / 9; }
  .brand-showcase__nav { width: 36px; height: 36px; }
  .brand-showcase__nav--prev { left: 8px; }
  .brand-showcase__nav--next { right: 8px; }
}

.header,
.site-header,
.main-header-bar,
.footer,
.site-footer,
.specialPromo,
.accord__header,
.accord__content,
.contentBlock__item,
.contentBlock__item_large,
.glossary__item,
.hero__content,
.elementor-widget-container {
  background: var(--brand-surface) !important;
  border-color: var(--brand-border) !important;
  box-shadow: 0 16px 32px var(--brand-shadow) !important;
}

.hero,
.header__wrapper,
.footer__container,
.elementor-section {
  background: var(--brand-gradient) !important;
}

.btn,
.btn_special,
.btn_mini,
.elementor-button,
.ast-button,
.ast-custom-button-link {
  background: var(--brand-accent) !important;
  border-color: var(--brand-accent-dark) !important;
  color: var(--brand-accent-text) !important;
}

.btn:hover,
.btn_special:hover,
.btn_mini:hover,
.elementor-button:hover,
.ast-button:hover,
.ast-custom-button-link:hover {
  background: var(--brand-accent-dark) !important;
}

.btn_outline {
  background: transparent !important;
  border-color: var(--brand-accent) !important;
  color: var(--brand-accent) !important;
}

.btn_outline:hover {
  background: var(--brand-accent) !important;
  color: var(--brand-accent-text) !important;
}

.menu__link,
.menu-link,
.footer__nav-link,
.footer__social-link,
.hyperLink,
.link {
  color: var(--brand-link) !important;
}

/* header menu links — always white */
.site-header .menu-link,
.site-header .main-header-menu .menu-item > a,
.ast-builder-menu .menu-link,
.ast-builder-menu-1 .menu-link,
.main-header-menu > .menu-item > .menu-link,
.main-header-bar-navigation .menu-link,
.header__menu a,
.header-menu a,
.header-menu__menu-item a,
.header__inline-menu a {
  color: #ffffff !important;
  cursor: pointer !important;
}

/* pointer cursor on all interactive elements */
a,
button,
.btn,
.btn_special,
.btn_mini,
.btn_outline,
.elementor-button,
.ast-button,
.ast-custom-button-link,
.menu-item,
.menu-link,
[role="button"],
[onclick],
input[type="submit"],
input[type="button"],
.brand-showcase__nav,
.brand-showcase__dot {
  cursor: pointer !important;
}
.site-header .menu-link:hover,
.site-header .menu-link:focus,
.main-header-menu .menu-item > a:hover,
.ast-builder-menu .menu-link:hover,
.header__menu a:hover,
.header-menu a:hover {
  color: var(--brand-accent) !important;
}

.contentBlock__name,
.glossary__term,
.hero__title,
.title {
  color: var(--brand-text) !important;
}

.contentBlock__descr,
.glossary__definition,
.hero__descr,
.descr,
.footer__copyright {
  color: var(--brand-text-muted) !important;
}

.mirror-language-switcher {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--brand-border);
  border-radius: 8px;
  background: rgba(12, 15, 18, 0.65);
  box-shadow: 0 4px 12px var(--brand-shadow);
  backdrop-filter: blur(8px);
  vertical-align: middle;
}

.mirror-language-switcher__link {
  min-width: 44px;
  padding: 6px 12px;
  border-radius: 6px;
  border: 1px solid transparent;
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  cursor: pointer !important;
  line-height: 1.2;
  transition: background 0.18s ease, color 0.18s ease;
}

.mirror-language-switcher__link.is-active {
  background: var(--brand-accent);
  border-color: var(--brand-accent-dark);
  color: var(--brand-accent-text) !important;
}

.mirror-language-switcher__link:not(.is-active) {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
}
.mirror-language-switcher__link:not(.is-active):hover {
  background: rgba(255, 255, 255, 0.18);
}

/* keep switcher inline inside menu li */
.mirror-switcher-li {
  display: flex !important;
  align-items: center;
  margin-left: 12px;
}
.mirror-switcher-li .mirror-language-switcher {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  z-index: auto !important;
}

/* WP/Astra mobile: hamburger icon + switcher inline on one row */
@media (max-width: 921px) {
  .ast-mobile-header-wrap .ast-button-wrap {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .mirror-language-switcher--astra-mobile {
    position: static !important;
    margin: 0 !important;
    padding: 2px !important;
    gap: 2px !important;
    background: rgba(12, 15, 18, 0.85) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 6px !important;
    flex: none !important;
    order: 0 !important;
  }
  .mirror-language-switcher--astra-mobile .mirror-language-switcher__link {
    min-width: 28px !important;
    padding: 4px 7px !important;
    font-size: 10px !important;
    border-radius: 4px !important;
    line-height: 1.1 !important;
  }
  .menu-toggle.main-header-menu-toggle,
  .ast-mobile-menu-trigger-minimal {
    order: 1 !important;
    margin: 0 !important;
  }
}

/* Astra mobile drawer — dark bg + white menu text */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
.ast-mobile-header-wrap .ast-mobile-header-content,
.ast-mobile-popup-content,
#ast-hf-mobile-menu,
.ast-builder-menu-mobile .main-navigation,
.ast-builder-menu-mobile .main-header-menu,
.ast-builder-menu-mobile .main-header-menu .menu-link,
.ast-builder-menu-mobile .main-header-menu .sub-menu {
  background-color: var(--brand-surface) !important;
  background: var(--brand-surface) !important;
  color: #ffffff !important;
}

.ast-builder-menu-mobile .main-header-menu .menu-item,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .ast-menu-toggle,
#ast-hf-mobile-menu .menu-link,
#ast-hf-mobile-menu .menu-item > a {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link,
.ast-builder-menu-mobile .main-navigation .menu-item:hover > .ast-menu-toggle,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-item > .ast-menu-toggle,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .menu-link,
.ast-builder-menu-mobile .main-navigation .menu-item.current-menu-ancestor > .ast-menu-toggle {
  color: var(--brand-accent) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

/* close (X) icon white */
.ast-mobile-popup-drawer .menu-toggle-close,
.ast-mobile-popup-drawer.active .menu-toggle-close {
  color: #ffffff !important;
}

/* Shopify right-column / --mobile switcher: always compact, anchored inside viewport */
.header__column--right .mirror-language-switcher,
.mirror-language-switcher--mobile {
  padding: 2px !important;
  gap: 2px !important;
  background: rgba(12, 15, 18, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 6px !important;
  flex: none !important;
  flex-shrink: 0 !important;
  margin-right: 0 !important;
  margin-left: 6px !important;
}
.header__column--right .mirror-language-switcher__link,
.mirror-language-switcher--mobile .mirror-language-switcher__link {
  min-width: 28px !important;
  padding: 4px 6px !important;
  font-size: 10px !important;
  border-radius: 4px !important;
  letter-spacing: 0.04em !important;
  line-height: 1.1 !important;
}
/* prevent Shopify header from clipping switcher */
.header,
.header__columns,
.header-component,
header-component,
.header__column--right {
  overflow: visible !important;
}
.header__columns {
  column-gap: 8px !important;
}
@media (max-width: 480px) {
  .header__column--right .mirror-language-switcher__link,
  .mirror-language-switcher--mobile .mirror-language-switcher__link {
    min-width: 24px !important;
    padding: 3px 5px !important;
    font-size: 9px !important;
  }
}

/* CTA buttons */
a.cta-btn,
a.cta-btn:link,
a.cta-btn:visited {
  background: var(--brand-gradient) !important;
  color: var(--brand-accent-text, #ffffff) !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.25) !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
  white-space: nowrap !important;
  outline: none !important;
}
a.cta-btn:hover,
a.cta-btn:focus {
  box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
  transform: translateY(-2px) scale(1.03) !important;
  color: var(--brand-accent-text, #ffffff) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
a.cta-btn:active {
  transform: translateY(0px) scale(1) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}
@media (max-width: 768px) {
  .cta-before-h1 {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 12px !important;
    width: 100% !important;
    gap: 14px !important;
    margin-bottom: 1.2rem !important;
  }
  a.cta-btn {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 17px !important;
    padding: 16px 20px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
  }
}
