/* Native site-wide components; no Page IDs, copied layouts or color overrides. */
#site-footer {
  background-color: var(--e-global-color-primary);
  padding-block-end: calc(32px + env(safe-area-inset-bottom, 0px));
}
#site-footer .elementor-widget-heading,
#site-footer .elementor-widget-button,
#site-footer .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-text {
  text-align: start;
}
/* Clip changes width from zero to a whole word. Keep it on its own stable line. */
#site-footer .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-prefix-text {
  display: block;
}
#site-footer .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-text-lists {
  display: block;
  min-block-size: 1em;
  max-inline-size: 100%;
  margin-inline-start: 0;
  margin-inline-end: auto;
}
.elementor .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-text-lists b {
  left: auto;
  right: auto;
  inset-inline-start: 0;
  text-align: start;
}
.elementor .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-text.clip .ekit-fancy-text-lists::after {
  left: auto;
  right: auto;
  inset-inline-end: 0;
}
html[dir="rtl"] #site-footer .elementor-button-icon .icon-arrow-right {
  display: inline-block;
  transform: scaleX(-1);
}
#site-header :is(.elementskit-menu-hamburger, .elementskit-menu-close) {
  min-inline-size: 44px;
  min-block-size: 44px;
}
#site-header .elementskit-btn {
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Retain the native logo / CTA / menu row, letting its text take available space. */
@media (max-width: 767px) {
  #site-header .e-con:has(> .elementor-widget-ks_site_logo) {
    width: auto;
    flex: 0 0 auto;
  }
  #site-header .e-con:has(> .elementor-widget-ekit-nav-menu) {
    width: auto;
    flex: 1 1 auto;
    min-inline-size: 0;
  }
  #site-header .elementor-widget-ekit-nav-menu {
    width: auto;
    flex: 0 0 auto;
  }
  #site-header .elementor-widget-elementskit-button {
    width: auto;
    flex: 0 1 auto;
    min-inline-size: 0;
  }
  #site-header .elementskit-btn {
    max-inline-size: 100%;
    white-space: normal;
  }
}
/* Keep the native scroll control above the compact footer's copyright/links. */
:root body .back-to-top {
  left: auto;
  right: auto;
  inset-inline-start: auto;
  inset-inline-end: 20px;
  inset-block-end: calc(var(--bsrm-top-bottom, 144px) + env(safe-area-inset-bottom, 0px));
}
:is(.back-to-top, #site-header a, #site-header button, #site-footer a):focus-visible {
  outline: 2px solid var(--bsr-brand-link, #8DC4FF);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-text-lists,
  .elementor-widget-elementskit-fancy-animated-text .ekit-fancy-text-lists b {
    animation: none !important;
    transition: none !important;
  }
}
/* Native breadcrumb widgets inherit the single brand palette on every Page. */
.ekit-wid-con .ekit-breadcrumb > li { color:var(--e-global-color-text) !important; }
.ekit-wid-con .ekit-breadcrumb a { color:var(--bsr-brand-link) !important; }

/* One native footer list: navigation first, then policies, in two logical rows. */
#site-footer .bsrm-footer-navigation .elementor-icon-list-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75em 1em;
  margin-inline: 0;
}
#site-footer .bsrm-footer-navigation .elementor-icon-list-item {
  margin-inline: 0;
  min-inline-size: 0;
  justify-content: start;
}
#site-footer .bsrm-footer-navigation .elementor-icon-list-item a {
  min-inline-size: 0;
  white-space: normal;
  text-align: start;
  overflow-wrap: anywhere;
}

