/* ============================================================================
   Visual improvement pass on top of the exact port (public/live/live.css).
   Each block names the issue it fixes. Loaded after live.css.
   ============================================================================ */

/* --- Bidi: Hebrew punctuation, numbers and Latin words were ordered by the LTR
       document ("!עכשיו בישראל", "?...Vistage", ".sentence"). Each text run now
       takes its base direction from its own first letter. ------------------- */
#live-root :is(h1, h2, h3, h4, h5, h6, p, li, label, legend, figcaption, blockquote, dt, dd, td, th,
  .elementor-heading-title, .elementor-button-text, .elementor-icon-box-title, .elementor-icon-box-description,
  .elementor-counter-title, .elementor-testimonial__text, .elementor-testimonial__name, .elementor-testimonial__title,
  .jet-listing-dynamic-field__content, .elementor-field-label, .elementor-icon-list-text, .elementor-text-editor,
  .e-n-tab-title-text, .elementor-field-option label, .event-ribbon) {
  unicode-bidi: plaintext;
}
#live-root :is(input, textarea, select) {
  unicode-bidi: plaintext;
}
#live-root .elementor-nav-menu .elementor-item {
  unicode-bidi: plaintext;
}
/* Prose is Hebrew even when a paragraph opens with a Latin brand name: RTL base,
   isolated. Numbers-only runs (times, dates) keep the plaintext rule above. */
#live-root :is(.elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(p, li, h2, h3, h4),
#live-root :is(.elementor-testimonial__text, .elementor-icon-box-description, .elementor-icon-box-title, .elementor-heading-title, .e-n-tab-title-text) {
  direction: rtl;
  unicode-bidi: isolate;
}

/* --- Entrance animations: only what is on screen at load animates (runtime/
       animations.ts); shorter, eased, with a light rise. The sticky header and
       absolutely-placed decorations keep a plain fade (a transform there would
       move them). ----------------------------------------------------------- */
@keyframes liveFadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
#live-root .animated {
  animation-duration: 0.75s;
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}
#live-root .animated.fadeIn {
  animation-name: liveFadeUp;
}
#live-root :is(.elementor-sticky, .elementor-absolute, .elementor-fixed, .e-con).animated.fadeIn,
#live-root .elementor-sticky .animated.fadeIn,
#live-root .elementor-widget-image.animated.fadeIn {
  animation-name: fadeIn;
}
@media (prefers-reduced-motion: reduce) {
  #live-root .animated { animation: none !important; }
  #live-root .elementor-invisible { visibility: visible !important; }
}

/* --- Logo tickers: one compositor-only animation instead of Swiper's zero-delay
       timer loop (runtime/marquee.ts sets the shift, duration and slide widths). */
.live-marquee {
  overflow: hidden;
}
.live-marquee .swiper-wrapper {
  transition: none;
  animation: liveMarquee var(--live-marquee-duration, 60s) linear infinite;
}
.live-marquee:hover .swiper-wrapper {
  animation-play-state: paused;
}
.live-marquee .swiper-slide {
  flex: 0 0 auto;
  max-width: none;
  transition: none;
  will-change: auto;
}
@keyframes liveMarquee {
  to { transform: translateX(var(--live-marquee-shift, -100%)); }
}
@media (prefers-reduced-motion: reduce) {
  .live-marquee .swiper-wrapper { animation: none; }
}

/* --- Homepage stats: icons above the numbers, separators only between the
       three items (live drew one on the outer edge and none between 2 and 3),
       and the row stays horizontal on phones. ------------------------------ */
.elementor-8 .elementor-element-0591dd4 {
  --padding-top: 26px;
  --padding-bottom: 26px;
  align-items: stretch;
}
.elementor-8 .elementor-element-0591dd4 > .elementor-widget-counter > .elementor-widget-container {
  border: 0 !important;
  background-image: none !important;
  padding: 66px 8px 4px !important;
  height: 100%;
  position: relative;
}
/* The icons are white PNGs on live; they are used as masks here so they take the
   same navy as the numbers. */
.elementor-8 .elementor-element-0591dd4 > .elementor-widget-counter > .elementor-widget-container::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 50%;
  width: 60px;
  height: 52px;
  transform: translateX(-50%);
  background-color: var(--e-global-color-ce25619);
  -webkit-mask: var(--live-stat-icon) center / contain no-repeat;
  mask: var(--live-stat-icon) center / contain no-repeat;
}
.elementor-8 .elementor-element-e39b75a > .elementor-widget-container { --live-stat-icon: url("/media/international-2.png"); }
.elementor-8 .elementor-element-416fbf4 > .elementor-widget-container { --live-stat-icon: url("/media/quality-1.png"); }
.elementor-8 .elementor-element-fa2cf6b > .elementor-widget-container { --live-stat-icon: url("/media/business-people-1.png"); }
.elementor-8 .elementor-element-0591dd4 > .elementor-widget-counter + .elementor-widget-counter > .elementor-widget-container {
  border-left: 1px solid rgba(0, 63, 94, 0.22) !important;
}
.elementor-8 .elementor-element-0591dd4 .elementor-counter-title {
  line-height: 1.2 !important;
  padding-top: 4px;
}
.elementor-8 .elementor-element-0591dd4 .elementor-counter-number-wrapper {
  line-height: 1.05;
}
@media (max-width: 767px) {
  .elementor-8 .elementor-element-0591dd4 {
    --padding-top: 14px;
    --padding-bottom: 14px;
    --padding-left: 0px;
    --padding-right: 0px;
    --border-radius: 22px 22px 22px 22px;
  }
  .elementor-8 .elementor-element-0591dd4 > .elementor-widget-counter {
    width: 33.333% !important;
    max-width: 33.333% !important;
  }
  .elementor-8 .elementor-element-0591dd4 > .elementor-widget-counter > .elementor-widget-container {
    padding: 44px 4px 2px !important;
  }
  .elementor-8 .elementor-element-0591dd4 > .elementor-widget-counter > .elementor-widget-container::before {
    top: 4px;
    width: 40px;
    height: 34px;
  }
  .elementor-8 .elementor-element-0591dd4 .elementor-counter-number-wrapper {
    font-size: 30px !important;
  }
  .elementor-8 .elementor-element-0591dd4 .elementor-counter-title {
    font-size: 13px !important;
  }
}

/* --- Event cards: the "event ended" ribbon overlapped the title on desktop.
       It now lives on the image corner at every width (see tools/fixes.py). -- */
.elementor-911 .elementor-element.elementor-element-54c1d21 {
  position: static;
}
.elementor-911 .elementor-element.elementor-element-8e2ed5c {
  overflow: hidden;
}

/* --- Footer: the three text columns are Hebrew, so they read right-to-left —
       headings, icon list (icons on the right) and nav links share one edge. -- */
.elementor-489 :is(.elementor-element-c9d7e89, .elementor-element-3857f21, .elementor-element-9392d78) {
  direction: rtl;
}
.elementor-489 .elementor-element-fd9a25b > .elementor-widget-container {
  margin: 0 0 10px 0 !important;
}
.elementor-489 .elementor-element-fd9a25b .elementor-icon-list-icon {
  padding-inline-end: 10px;
}
.elementor-489 .elementor-element-fd9a25b .elementor-icon-list-text,
.elementor-489 .elementor-element-1b8306d .elementor-nav-menu--main .elementor-item {
  text-align: right;
}
.elementor-489 .elementor-element-1b8306d .elementor-nav-menu--main .elementor-item {
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .elementor-489 :is(.elementor-element-c9d7e89, .elementor-element-3857f21, .elementor-element-9392d78) {
    text-align: right;
  }
}

/* --- Footer newsletter: the column had no inner padding, so the email field and
       button ran the full column width and touched the navigation links. ----- */
@media (min-width: 768px) {
  /* The column is RTL (above) and Elementor applies its padding variables to the
     logical sides, so --padding-right is the physical left, next to the nav links. */
  .elementor-489 .elementor-element.elementor-element-9392d78 {
    --padding-right: 44px;
  }
}

/* --- Chairs carousel (home): one carousel, Anita first (tools/chairs_carousel.py).
       Slides fill the content width with even 30px gaps, card shadows are not
       clipped, arrows sit in the side gutters on wide screens and under the
       cards where there is no room. ----------------------------------------- */
.elementor-8 .elementor-element.elementor-element-0f3b688 {
  --width: 100%;
}
/* the widget shipped with margin:-26px -15px -16px -26px and JetEngine adds its own
   -10px item margins; all of that goes so the cards sit exactly on the content edges */
.elementor-8 .elementor-element.elementor-element-b620bae > .elementor-widget-container,
.elementor-8 .elementor-element-b620bae .jet-listing-grid,
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider > .jet-listing-grid__items {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider {
  margin: 0 !important;
  padding: 0;
  width: 100% !important;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider {
  position: relative;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .slick-list {
  margin: -24px -15px;
  padding: 24px 0 !important;
  overflow: hidden;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .slick-track {
  display: flex;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .slick-slide {
  height: auto;
  display: flex;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .slick-slide > div,
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .jet-listing-grid__item {
  display: flex;
  width: 100%;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .jet-listing-grid__item {
  padding: 0 15px;
  box-sizing: border-box;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .jet-listing-grid__item > .jet-engine-listing-overlay-wrap,
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .jet-listing-grid__item > .elementor,
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .jet-listing-grid__item > .jet-engine-listing-overlay-wrap > .elementor {
  display: flex;
  width: 100%;
}
/* the two card templates (Anita's 1301, the chairs' 373) fill their slide edge to edge and
   stretch to the same height; the chairs template's own 19px top / 21px side margins go */
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .elementor-1301 > .elementor-element-169eee3,
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider .elementor-373 > .elementor-element-c4dc7be {
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --width: 100%;
  flex: 1 1 auto;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow {
  top: 40%;
  margin-top: -25px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow.prev-arrow {
  left: -72px;
  right: auto;
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow.next-arrow {
  right: -72px;
  left: auto;
  transform: scaleX(-1);
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow.prev-arrow:hover {
  transform: translateX(-2px);
}
.elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow.next-arrow:hover {
  transform: scaleX(-1) translateX(-2px);
}
@media (max-width: 1300px) {
  /* no gutter for the arrows: put them under the cards, centred */
  /* slick appends the arrows inside .jet-listing-grid__items (the .slick-slider), so the room
     for them has to be on that element */
  .elementor-8 .elementor-element-b620bae .jet-listing-grid__slider > .jet-listing-grid__items {
    padding-bottom: 74px !important;
  }
  .elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow {
    top: auto;
    bottom: 0;
    margin-top: 0;
  }
  .elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow.prev-arrow {
    left: calc(50% - 62px);
  }
  .elementor-8 .elementor-element-b620bae .jet-listing-grid__slider-icon.slick-arrow.next-arrow {
    right: calc(50% - 62px);
  }
}

/* --- Forms (every form on the site): the fields were an LTR layout with Hebrew text —
       first-name field on the left, placeholders left-aligned with the asterisk at the
       wrong end, placeholder colour identical to typed text, an invisible dropdown
       chevron (#ECECEC on #ECECEC, pinned where the text starts), no focus or error
       state. Now: right-to-left layout and text, grey placeholders, dropdowns greyed until
       a value is chosen with a navy chevron on the left, a visible focus ring, a red ring
       once a field is left invalid, the consent box on the right of its text. ----- */
#live-root .elementor-form {
  direction: rtl;
}
#live-root .elementor-form .elementor-field-group .elementor-field {
  direction: rtl;
  text-align: right;
}
#live-root .elementor-form .elementor-field::placeholder {
  color: #6f7478;
  opacity: 1;
}
#live-root .elementor-form .elementor-field-group .elementor-select-wrapper select {
  padding-left: 46px;
  padding-right: 22px;
  cursor: pointer;
}
#live-root .elementor-form select.is-placeholder {
  color: #6f7478;
}
#live-root .elementor-form select option {
  color: #1f2124;
}
/* Elementor renders the chevron as .select-caret-down-wrapper; the older ::before glyph is off */
#live-root .elementor-field-group .elementor-select-wrapper::before {
  content: none;
}
/* rev 2026-09-06-forms-log */
#live-root .elementor-select-wrapper .select-caret-down-wrapper {
  /* Elementor's caret is a zero-width absolutely positioned box whose glyph paints outside
     it; give it a real box, on the physical left, vertically centred */
  inset: auto;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  line-height: 1;
  color: #003f5e;
  pointer-events: none;
}
#live-root .elementor-select-wrapper .select-caret-down-wrapper i {
  font-size: 16px;
  line-height: 1;
}
#live-root .elementor-select-wrapper .select-caret-down-wrapper svg {
  width: 14px;
  height: 14px;
  fill: #003f5e;
}
#live-root .elementor-form .elementor-field:focus-visible {
  outline: 2px solid #003f5e;
  outline-offset: 2px;
}
#live-root .elementor-form .elementor-field:user-invalid {
  box-shadow: 0 0 0 2px #c0392b;
}
#live-root .elementor-form .elementor-field-type-acceptance input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0 0 0 10px;
  vertical-align: -3px;
  accent-color: #003f5e;
  cursor: pointer;
}
#live-root .elementor-form .elementor-field-type-acceptance label {
  cursor: pointer;
  line-height: 1.5;
}
/* the submit button stays on the right, where it was, and its arrow icon stays on the left
   of the label like every other button on the site */
#live-root .elementor-form .elementor-button .elementor-button-content-wrapper {
  direction: ltr;
}
#live-root .elementor-button-align-end .e-form__buttons,
#live-root .elementor-button-align-end .elementor-field-type-submit {
  justify-content: flex-start;
}
@media (max-width: 767px) {
  #live-root .elementor-form .elementor-field-type-submit .elementor-button {
    width: 100%;
    justify-content: center;
  }
}

/* --- "החלטות טובות יותר" (home): the text column ran up to 10px from the photos. ---- */
@media (min-width: 768px) {
  .elementor-8 .elementor-element.elementor-element-5698026 {
    --padding-right: 48px;
  }
}

/* --- Testimonials carousel ("מה המנכ"לים שלנו אומרים?"): the 23px chevrons sat on the card
       edges (the right one over the card). Now round yellow buttons: in the side gutters on
       wide screens, and on the dots row under the card below 1300px. ----------------- */
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #f4c300;
  color: #003f5e;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  opacity: 1;
}
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button svg {
  fill: #003f5e;
}
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-prev {
  left: -32px;
}
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-next {
  right: -32px;
}
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-prev:hover {
  transform: translateY(-50%) translateX(-2px);
}
.elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-next:hover {
  transform: translateY(-50%) translateX(2px);
}
@media (max-width: 1300px) {
  .elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button {
    width: 44px;
    height: 44px;
    font-size: 18px;
    top: auto;
    bottom: 38px; /* centred on the pagination dots row */
    transform: none;
  }
  .elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-prev {
    left: 8px;
  }
  .elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-next {
    right: 8px;
  }
  .elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-prev:hover,
  .elementor-1366 .elementor-element.elementor-element-abc2686 .elementor-swiper-button-next:hover {
    transform: none;
  }
}

/* --- Buttons: the "pop" hover was a 0.3s scale-to-1.2 bounce; now a smooth lift. */
#live-root .elementor-animation-pop {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#live-root .elementor-animation-pop:hover,
#live-root .elementor-animation-pop:focus,
#live-root .elementor-animation-pop:active {
  animation: none;
  transform: translateY(-1px) scale(1.03);
}

/* --- Event card button: on the left like the original, but no longer glued to
       the image — it takes the paragraph's 46px inset; even padding around
       icon + text. ------------------------------------------------------------ */
.elementor-911 .elementor-element.elementor-element-cd1e682 > .elementor-widget-container {
  margin: 5px 23px 27px 46px;
}
.elementor-911 .elementor-element.elementor-element-cd1e682 .elementor-button {
  padding: 15px 30px 15px 28px;
  line-height: 1;
}
.elementor-911 .elementor-element.elementor-element-cd1e682 .elementor-button-content-wrapper {
  align-items: center;
  gap: 14px;
}
.elementor-911 .elementor-element.elementor-element-cd1e682 .elementor-button-text {
  padding-top: 1px;
}

/* --- Past events: no "register" call to action, and the whole registration
       block (its "הרשמה" divider + form, container #register) is gone rather
       than leaving an empty heading above the sponsors. ---------------------- */
.live-event-past .live-register-cta,
.live-event-past .elementor-element-ed0991d {
  display: none !important;
}

/* --- Hero video fades in once it is actually playing (runtime removes
       .elementor-loading); the poster stays underneath meanwhile. ------------ */
.elementor .elementor-background-video-container {
  transition: opacity 1.2s ease-out;
}

/* --- Mobile menu: a short fade instead of popping in. ---------------------- */
#elementor-popup-modal-765 .dialog-widget-content.animated {
  animation-duration: 0.35s;
}

/* --- Consent checkboxes: give the box a little space from its label. ------- */
#live-root .elementor-field-type-acceptance .elementor-field-subgroup label {
  padding-inline-start: 6px;
}

/* --- Privacy policy page (new): comfortable reading measure and rhythm. ------ */
.live-policy .e-con-inner {
  max-width: 860px;
}
.live-policy__lead p,
.live-policy__body p,
.live-policy__body li {
  font-size: 20px;
  line-height: 1.6;
  color: var(--e-global-color-1ad93b4);
}
.live-policy__body h3 {
  font-size: 26px;
  font-weight: 600;
  color: var(--e-global-color-ce25619);
  margin: 34px 0 10px;
  direction: rtl;
}
.live-policy__body ul {
  padding-inline-start: 22px;
  margin: 8px 0 16px;
}
.live-policy__body p {
  margin-bottom: 14px;
}
.elementor-489 .live-footer-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- Hero scroll cue: the Lottie container is pulled 170px up into the hero and has no
       height until the animation loads, so the logo strip (and its white edge fade) started
       inside the hero for a moment and everything below jumped once Lottie arrived. -------- */
.elementor-8 .elementor-element-e53ca28 > .elementor-widget-container {
  min-height: 141px;
}
@media (max-width: 767px) {
  .elementor-8 .elementor-element-e53ca28 > .elementor-widget-container {
    min-height: 27px;
  }
}
