/*
 * Site-wide font override: force Rubik everywhere while preserving
 * custom icon fonts used by the mirrored Elementor pages.
 */

* {
  font-family: "Rubik", "Noto Sans Hebrew", Arial, sans-serif !important;
}

/* Restore custom icon fonts that the universal selector would clobber */
[class*="tlvelecicons"] {
  font-family: "tlvelecicons" !important;
}

[class*="eicon"] {
  font-family: "eicons" !important;
}

[class*="icomoon"] {
  font-family: "icomoon" !important;
}

/*
 * Sticky header fix: Elementor Pro's JS sticky duplicates every header
 * section (a hidden "__spacer" copy plus a fixed clone). When the JS
 * state breaks, the invisible spacers show up as white gaps between
 * the header sections. Replace the JS sticky with pure CSS sticky:
 * hide the spacers, reset the clones to normal flow, and stick the
 * whole header container to the top on scroll.
 */
.elementor-location-header > .elementor-sticky__spacer {
  display: none !important;
}

.elementor-location-header > .elementor-sticky {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

header.elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* The mirrored plugin CSS sets body/html overflow-x:hidden !important,
   which disables position:sticky. Beat it with higher specificity and
   overflow:clip, which clips horizontally without creating a
   non-scrolling container. */
html body {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* The menu script sometimes injects a second .sub-arrow icon into the
   same item, showing two carets. Keep only the first one. */
.sub-arrow ~ .sub-arrow {
  display: none !important;
}
