/* ==========================================================================
   Layout fixes for the mirrored site (shmili.co.il clone).
   The original theme positions several header/hero widgets with
   `position:absolute` and fixed-pixel `top`/`left` values tuned for one
   canvas width per Elementor breakpoint. Because the surrounding text is
   fluid, those fixed offsets drift and overlap at widths the designer
   didn't hand-tune. This file un-freezes the affected widgets so they lay
   out correctly at every width. Loaded after all other stylesheets.
   ========================================================================== */

/* --- Header: logo + two nav lists were pinned with fixed left:Npx inside
   a flex row that already had `justify-content:space-between`. Putting
   them back into normal flex flow lets the row distribute them correctly
   at every width instead of just the one width they were tuned for. --- */
.elementor-element-95d35cd {
  flex-wrap: wrap;
  row-gap: 6px;
}
.elementor-element-95d35cd > .elementor-element-6096e8f,
.elementor-element-95d35cd > .elementor-element-d2c2919 {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: none !important;
}
.elementor-element-95d35cd > .elementor-element-7b973d2 { order: 1; }
.elementor-element-95d35cd > .elementor-element-d2c2919 { order: 2; }
.elementor-element-95d35cd > .elementor-element-6096e8f { order: 3; }
.elementor-element-95d35cd > .elementor-element-792d62c { order: 4; flex-shrink: 0; }

/* Same header pattern on the secondary pages (מדיניות-הפרטיות,
   הצהרת-נגישות use a different container id for the identical header). */
.elementor-element-563c28df {
  flex-wrap: wrap;
  row-gap: 6px;
}
.elementor-element-563c28df > .elementor-element-54a6f3f4,
.elementor-element-563c28df > .elementor-element-70fe3527 {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: none !important;
}
.elementor-element-563c28df > .elementor-element-30b286d0 { order: 1; }
.elementor-element-563c28df > .elementor-element-70fe3527 { order: 2; }
.elementor-element-563c28df > .elementor-element-54a6f3f4 { order: 3; }
.elementor-element-563c28df > .elementor-element-2e44e981 { order: 4; flex-shrink: 0; }

/* Same header pattern again on הצהרת-נגישות, yet another container id. */
.elementor-element-25f76d8 {
  flex-wrap: wrap;
  row-gap: 6px;
}
.elementor-element-25f76d8 > .elementor-element-41d0b707,
.elementor-element-25f76d8 > .elementor-element-6ad7647 {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: none !important;
}
.elementor-element-25f76d8 > .elementor-element-4c8ef04f { order: 1; }
.elementor-element-25f76d8 > .elementor-element-6ad7647 { order: 2; }
.elementor-element-25f76d8 > .elementor-element-41d0b707 { order: 3; }
.elementor-element-25f76d8 > .elementor-element-2048145 { order: 4; flex-shrink: 0; }

/* Stray leftover duplicate of the nav list (orphaned widget copy sitting
   inside the hero column, coincidentally positioned over the header). It
   duplicates text already shown by the real nav above, so hide it. */
.elementor-element-b2c1e71 { display: none !important; }

/* Elementor Pro's "sticky" header (a full duplicate of logo+nav+button,
   meant to fade in only after scrolling past the hero) relies on its own
   JS to stay hidden at rest. That JS isn't initializing in this static
   mirror, so the duplicate renders permanently on top of the real header,
   doubling every nav item and button. It's a scroll-reveal convenience,
   not unique content, so it's simplest and safest to hide it outright. */
.elementor-element-ab2602d { display: none !important; }

/* Another orphaned duplicate: a third "שנדבר?" CTA (heading widget styled
   as a button) sitting inside the hero column but absolutely positioned
   to coincide with the header, duplicating the real header CTA. */
.elementor-element-6371a0c { display: none !important; }

/* Elementor's off-canvas (hamburger drawer) menu is meant to stay hidden
   until a toggle button opens it. Like the sticky header above, its
   at-rest hidden state depends on JS that isn't initializing in this
   static mirror, so the drawer's nav list renders inline on top of the
   page instead of staying off-screen. The same links are already in the
   visible header nav, so hiding the drawer outright is safe. */
.e-off-canvas { display: none !important; }

/* --- Hero column: heading / paragraph / caption / CTA link were each
   absolutely pinned by a fixed `top:Npx`, tuned for one canvas width per
   breakpoint band. Converting them to normal flow removes the pinning
   entirely, so they simply stack in reading order and can never overlap,
   at any width. --- */
.elementor-element-124bd1a > .elementor-element-3172b3b,
.elementor-element-124bd1a > .elementor-element-0fb1183,
.elementor-element-124bd1a > .elementor-element-ae1d98e,
.elementor-element-124bd1a > .elementor-element-c8acf5a {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  max-width: 92% !important;
}
/* 124bd1a is a full page-height column (spans well past the visible hero
   band for reasons unrelated to this text block), so switching its 4
   children to normal flow makes them start stacking from the container's
   very top (y:0) instead of where the design intends. Push the heading
   down by roughly the same offset the original absolute rule used
   (`top:8vw` at the fluid/base breakpoint), then let the rest cascade
   below it normally. */
.elementor-element-124bd1a > .elementor-element-3172b3b { margin: clamp(60px, 8vw, 140px) 0 clamp(10px, 1.6vw, 24px) !important; }
.elementor-element-124bd1a > .elementor-element-0fb1183 { margin: 0 0 clamp(8px, 1.2vw, 16px) !important; }
.elementor-element-124bd1a > .elementor-element-ae1d98e { margin: 0 0 clamp(30px, 3vw, 56px) !important; }
.elementor-element-124bd1a > .elementor-element-c8acf5a { margin: 0 !important; }

/* The "לסגור איתך?" stamp badge: kept absolutely positioned (it's meant to
   visually complete the paragraph's last line as a rotated CTA stamp), but
   its coordinates are now set at runtime by layout-fixes.js instead of a
   frozen per-breakpoint px value, so it tracks the real text position. */
.elementor-element-124bd1a > .elementor-element-6281106 {
  position: absolute !important;
  /* top/left are NOT !important here: layout-fixes.js sets them inline
     at runtime, and an inline style can't override a stylesheet
     !important rule, so these are just fallback defaults. */
  top: 0;
  left: 0;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
}

/* --- "How it works" cards (אפיון/תכנון/יצירה/השקה): the card box width
   is capped by the boxed container's max-width (1140px), but the title
   and description font-size use plain `vw` units with no cap, so past
   ~1150px viewport the text keeps growing while the card doesn't —
   the description spills below the card on wide screens. Capping each
   with clamp() keeps the same fluid scaling everywhere the card itself
   is still growing, and just stops both together once it isn't. --- */
.elementor-element-134a8c1 .elementor-heading-title,
.elementor-element-ad073ef .elementor-heading-title,
.elementor-element-6d44c52 .elementor-heading-title,
.elementor-element-4487e1c .elementor-heading-title {
  font-size: clamp(19px, 2.5vw, 29px) !important;
}
.elementor-element-b825dfa .elementor-heading-title,
.elementor-element-2645679 .elementor-heading-title,
.elementor-element-50997bc .elementor-heading-title,
.elementor-element-9716ae9 .elementor-heading-title {
  font-size: clamp(13px, 1.3vw, 15px) !important;
}

/* --- Hero text (heading/paragraph/caption/badge): same unbounded-`vw`
   problem as the cards above, one band wider. The theme already fixes
   sane px sizes for width<=1024 (band max-width:1024); only the base
   rule governing width>1024 is uncapped, so that's the only range these
   need to touch. Also sized down overall per request — the uncapped
   heading was hitting 150px+ on wide monitors. --- */
@media (min-width: 1025px) {
  .elementor-element-124bd1a > .elementor-element-3172b3b .elementor-heading-title {
    font-size: clamp(32px, 6.5vw, 60px) !important;
  }
  .elementor-element-124bd1a > .elementor-element-0fb1183 .elementor-heading-title {
    font-size: clamp(16px, 2.5vw, 24px) !important;
  }
  .elementor-element-124bd1a > .elementor-element-ae1d98e .elementor-heading-title {
    font-size: clamp(13px, 1.7vw, 17px) !important;
  }
  .elementor-element-124bd1a > .elementor-element-6281106 .elementor-button {
    font-size: clamp(16px, 2.5vw, 22px) !important;
  }
}
/* The CTA link ("< פרויקטים") has no band override at all below 1025px
   (the theme only fixes it at max-width:767), so the uncapped base rule
   governs the whole 768-1024 range too — cap needs to start there. */
@media (min-width: 768px) {
  .elementor-element-124bd1a > .elementor-element-c8acf5a .elementor-heading-title {
    font-size: clamp(14px, 2vw, 18px) !important;
  }
}

/* --- Testimonial quotes: line-height:1.1em is too tight for Hebrew text
   with bold (<strong>) spans — consecutive wrapped lines sit close enough
   to visually overlap (measured ~50% box intersection at 768px). Applies
   at every width (the theme never overrides line-height, only font-size
   at max-width:767), so this isn't width-scoped either. --- */
.elementor-element-6eb3d0e p,
.elementor-element-5935ff5 p,
.elementor-element-350eedf p,
.elementor-element-f5853be p {
  line-height: 1.45em !important;
}

