/* ===== Base / reset ===== */
*,*::before,*::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6,p { margin: 0; padding: 0; }
ul { margin: 0; padding: 0; list-style: none; }
a { text-decoration: none; color: inherit; }
img, svg { display: block; }
button { font: inherit; cursor: pointer; }

html { direction: rtl; }
body {
  direction: rtl;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;   /* clip (not hidden) → doesn't break position:sticky descendants */
}

.site-main { width: 100%; max-width: 100%; overflow-x: clip; }

/* ===== Splide slider sections (teudot / testimonials / piskei / video) =====
   Flow layout that lines up with the scaled sections' content box
   (1302px of the 1920 canvas → same proportional side margins). */
.lzk-splsec { padding: 48px 0; }
.lzk-flow { width: calc(100vw * 1302 / 1920); max-width: 1302px; margin: 0 auto; }
.lzk-h2 { text-align: center; font-weight: 400; font-size: clamp(26px, 2.19vw, 42px); line-height: 1.15; margin: 0 auto 34px; }
.splide__slide { height: auto; }
/* reuse the theme chevron images; drop Splide's default arrow chrome */
.splide__arrow { background: transparent; opacity: 1; width: 54px; height: 54px; }
.splide__arrow:hover:not(:disabled) { background: transparent; }
.splide__arrow:disabled { opacity: .3; }
.splide__arrow svg { display: none; }
.splide__arrow img { width: 100%; height: 100%; display: block; }
/* Arrows sit OUTSIDE the content column, in the page margin — they never cover a card AND
   the cards keep the full 1302-column width. An inset gutter would tax the card width. */
.lzk-splsec .splide { position: relative; }
.lzk-splsec .splide__arrow { width: clamp(34px, 3.2vw, 62px); height: clamp(34px, 3.2vw, 62px); }
/* just outside the RIGHT edge of the column = offset from its left edge by 100% + gap */
.lzk-splsec .splide__arrow--prev { left: calc(100% + clamp(8px, 1.2vw, 24px)); right: auto; }
.lzk-splsec .splide__arrow--next { right: calc(100% + clamp(8px, 1.2vw, 24px)); left: auto; }
@media (max-width: 1024px) {
  .lzk-splsec { padding: 36px 0; }
  .lzk-flow { width: auto; padding: 0; }
  .lzk-h2 { font-size: 36px; margin-bottom: 24px; }
  /* no page margin left to put the arrows in → reserve a gutter inside the slider */
  .lzk-splsec .splide { padding: 0; }
  .lzk-splsec .splide__arrow--prev { right: 0; left: auto; }
  .lzk-splsec .splide__arrow--next { left: 0; right: auto; }
    .vid .splide__slide {height: 446px;}

}

/* Scaled-stage helper: build at 1920 exact px, scale to viewport width.
   Each section owns its own stage. NO page-level transform (avoids nested scale §CCC).
   --h = the section's Figma height in px (unitless). RTL: anchor to right edge. */
.scaled {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* --vw = real content width (JS-set, excludes scrollbar). Falls back to 100vw. */
  height: calc(var(--vw, 100vw) * var(--h) / 1920);
}
.scaled > .stage {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--canvas-w);
  height: calc(var(--h) * 1px);
  transform-origin: top right;
  transform: scale(calc(var(--vw, 100vw) / var(--canvas-w)));
}

/* Visually-hidden (a11y) */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ===== Floating WhatsApp CTA (client-provided composed image) ===== */
.wa-float {
  position: fixed; bottom: 92px; right: 22px; z-index: 95; width: 230px;
  transition: transform .2s ease;
}
.wa-float .photo {
    display: inline-block;
    position: relative;
}
.wa-float .photo .status {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #32D851;
    position: absolute;
    top: 6px;
    left: 6px;
}
.wa-float .photo .icon {
    position: absolute;
    right: 3px;
    bottom: -8px;
}
.wa-float .wa {
    position: relative;
}
.wa-float .wa .text {
    position: absolute;
    right: 26px;
    bottom: -15px;
}
.wa-float .wa .text .txt {
    font-size: 15px;
    position: absolute;
    top: 14px;
    right: 25px;
}
.wa-float .phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 12px;
    border-radius: 7px;
    background: #B58D41;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin-top: 14px;
}

@media (max-width: 840px) { .wa-float { display: none; } }
