/* join-lp — scoped reset + residual styles.
 * Everything below is confined to .elementor.elementor .jl-page (the class on each top-level container),
 * so nothing here can leak into the rest of t-l.co.il.
 *
 * Part 1 (this file) neutralises Hello Elementor / Elementor defaults that the source
 * page — a Tailwind build with its own preflight — does not have. Part 2 is appended
 * by build_elementor.py: the per-element rules for facts Elementor has no control for
 * (object-fit, aspect-ratio, 0.5px hairlines, CSS grid, space-y).
 * Regenerate with: python3 build_elementor.py  — do not hand-edit page-custom.css.
 */

/* --- Tailwind preflight parity ------------------------------------------- */
.elementor.elementor .jl-page img { display: block; vertical-align: middle; max-width: 100%; height: auto; }
.elementor.elementor .jl-page p, .elementor.elementor .jl-page h1, .elementor.elementor .jl-page h2, .elementor.elementor .jl-page h3, .elementor.elementor .jl-page h4 { margin: 0; }
.elementor.elementor .jl-page .elementor-heading-title { margin: 0; padding: 0; }
.elementor.elementor .jl-page ul, .elementor.elementor .jl-page ol { margin: 0; padding: 0; list-style: none; }
.elementor.elementor .jl-page ::selection { background: rgb(226 217 200 / 0.3); }

/* Elementor puts a bottom margin on non-last widgets; the source spaces everything
   with explicit spacer divs instead, so any implicit gap would double-count. */
.elementor.elementor .jl-page .elementor-widget:not(:last-child) { margin-bottom: 0; }
.elementor.elementor .jl-page .elementor-element { --widgets-spacing: 0px 0px; }

/* --- spacer --------------------------------------------------------------- */
.elementor.elementor .jl-page .jl-sp .elementor-spacer-inner { height: var(--spacer-size); }

/* NOTE: do not add a `font-family: inherit` rule for .elementor-heading-title here.
 * After the specificity bump these rules sit at (0,5,0) and would outrank Elementor's
 * own per-widget typography, dropping every heading back to the theme's Heebo. Each
 * text widget already carries an explicit font-family from the converter. */

/* --- buttons -------------------------------------------------------------- */
/* Tailwind preflight gives <button> line-height:inherit (1.5); Elementor ships 1. */
.elementor.elementor .jl-page .jl-btn .elementor-button {
  line-height: 1.5;
  transition: opacity .2s;
  display: block;
  width: 100%;
}
.elementor.elementor .jl-page .jl-btn .elementor-button:hover { opacity: .85; }
.elementor.elementor .jl-page .jl-btn .elementor-button-content-wrapper { justify-content: center; }

/* --- inline SVG icon widgets --------------------------------------------- */
.elementor.elementor .jl-page .jl-svg svg { width: 1rem; height: 1rem; display: block; }
.elementor.elementor .jl-page .jl-hrw .elementor-widget-container { display: flex; }

/* --- FAQ (nested-accordion renders <details>/<summary>, same as the source) -- */
.elementor.elementor .jl-page .jl-faq .e-n-accordion { display: block; }
.elementor.elementor .jl-page .jl-faq details {
  padding: 24px 0;
  border-bottom: 0.5px solid #E2D9C8;
  cursor: pointer;
  border-radius: 0;
  background: transparent;
}
.elementor.elementor .jl-page .jl-faq summary {
  font-family: 'Rubik'; font-size: 18px; font-weight: 500; color: #0F172A;
  display: flex; justify-content: space-between; align-items: center;
  padding: 0; background: transparent; border: 0; list-style: none;
}
.elementor.elementor .jl-page .jl-faq summary::-webkit-details-marker { display: none; }
.elementor.elementor .jl-page .jl-faq .e-n-accordion-item-title-text {
  font-weight: 500; font-size: inherit; line-height: 1.5;
}
/* Open state: Elementor draws a bordered, rounded panel around the answer. The source
   has none -- the answer is a plain block with 16px of top padding. */
.elementor.elementor .jl-page .jl-faq .e-con {
  padding: 0; border: 0; background: transparent; border-radius: 0;
}

/* line-height must be unitless 1.5, matching the source. Elementor leaves the summary
   inheriting the theme's 28.8px, which made each of the seven rows 1.8px taller. */
.elementor.elementor .jl-page .jl-faq summary { line-height: 1.5; }

/* The source chevron is a 16px stroked Heroicon that flips when the item opens.
   Elementor's own icon element is replaced rather than restyled, because its markup
   (two swapped <span>s) cannot be made to match. */
.elementor.elementor .jl-page .jl-faq .e-n-accordion-item-title-icon { display: none; }
.elementor.elementor .jl-page .jl-faq summary::after {
  content: ''; flex: none; width: 16px; height: 16px;
  transition: transform .2s;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2364748B' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") no-repeat center / 16px 16px;
}
.elementor.elementor .jl-page .jl-faq details[open] summary::after { transform: rotate(180deg); }

@media (max-width: 767px) {
  .elementor.elementor .jl-page .jl-faq summary { font-size: 17px; }
}

/* --- generated rules follow ---------------------------------------------- */

/* Placeholder <img> for the two dead user-uploads:// references on the source page.
   They render as one line of alt text; match the source's inherited type so the
   surrounding layout keeps the same height until real photos arrive. */
.elementor.elementor .jl-page .jl-imgph { font-family: 'Rubik'; font-size: 16px; line-height: 1.5; color: #0F172A; }
.elementor.elementor .jl-page .jl-mw0{max-width:720px;margin-inline:auto;width:100%}
@media(max-width:767px){.elementor.elementor .jl-page .jl-mw0{max-width:640px}}
.elementor.elementor .jl-page .jl-i0{font-weight:500;color:#0F172A;font-size:28px;display:block;margin-top:8px;line-height:1.2}
@media(max-width:767px){.elementor.elementor .jl-page .jl-i0{font-size:22px}}
.elementor.elementor .jl-page .jl-img4 img{border-radius:9999px}
.elementor.elementor .jl-page .jl-c5{width:auto}
.elementor.elementor .jl-page .jl-mw1{max-width:460px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-img7 img{object-fit:cover;aspect-ratio:3 / 2;border-radius:12px}
.elementor.elementor .jl-page .jl-mw2{max-width:560px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-c9{width:auto}
.elementor.elementor .jl-page .jl-c10{width:auto}
.elementor.elementor .jl-page .jl-c11{width:auto}
.elementor.elementor .jl-page .jl-c12{width:auto}
.elementor.elementor .jl-page .jl-mw3{max-width:520px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-mw4{max-width:500px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-mw5{max-width:560px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-i1{font-weight:500}
.elementor.elementor .jl-page .jl-img17 img{object-fit:cover;border-radius:12px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}
.elementor.elementor .jl-page .jl-c18{width:auto}
.elementor.elementor .jl-page .jl-c19{width:auto}
.elementor.elementor .jl-page .jl-c20{width:auto}
.elementor.elementor .jl-page .jl-c21{width:auto}
.elementor.elementor .jl-page .jl-mw6{max-width:640px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-c23{width:auto}
.elementor.elementor .jl-page .jl-c24{width:auto}
.elementor.elementor .jl-page .jl-c25{width:auto}
.elementor.elementor .jl-page .jl-c26{width:auto}
.elementor.elementor .jl-page .jl-mw7{max-width:380px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-c28{flex:1 1 0%;width:auto}
.elementor.elementor .jl-page .jl-ul29 li + li{margin-top:8px}
.elementor.elementor .jl-page .jl-ul29 ul{margin:0;padding:0;list-style:none}
.elementor.elementor .jl-page .jl-c31{flex:1 1 0%;width:auto}
.elementor.elementor .jl-page .jl-ul32 li + li{margin-top:8px}
.elementor.elementor .jl-page .jl-ul32 ul{margin:0;padding:0;list-style:none}
.elementor.elementor .jl-page .jl-c34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.elementor.elementor .jl-page .jl-img35 img{object-fit:cover;aspect-ratio:1 / 1;border-radius:12px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}
.elementor.elementor .jl-page .jl-img36 img{object-fit:cover;aspect-ratio:1 / 1;border-radius:12px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}
.elementor.elementor .jl-page .jl-hr37{display:none}
@media(min-width:768px){.elementor.elementor .jl-page .jl-hr37{display:block}}
.elementor.elementor .jl-page .jl-hr37{width:0.5px;height:60px;background:#E2D9C8}
.elementor.elementor .jl-page .jl-hr40{height:0.5px;background:#E2D9C8;width:100%;display:none}
.elementor.elementor .jl-page .jl-hr41{display:none}
@media(min-width:768px){.elementor.elementor .jl-page .jl-hr41{display:block}}
.elementor.elementor .jl-page .jl-hr41{width:0.5px;height:60px;background:#E2D9C8}
.elementor.elementor .jl-page .jl-hr44{height:0.5px;background:#E2D9C8;width:100%;display:none}
.elementor.elementor .jl-page .jl-c45{width:auto}
.elementor.elementor .jl-page .jl-hr46{height:0.5px;background:#E2D9C8;width:40px;margin-left:auto}
.elementor.elementor .jl-page .jl-c47{width:auto}
.elementor.elementor .jl-page .jl-hr48{height:0.5px;background:#E2D9C8;width:40px;margin-left:auto}
.elementor.elementor .jl-page .jl-c49{width:auto}
.elementor.elementor .jl-page .jl-hr50{height:0.5px;background:#E2D9C8;width:40px;margin-left:auto}
.elementor.elementor .jl-page .jl-c51{width:auto}
.elementor.elementor .jl-page .jl-hr52{height:0.5px;background:#E2D9C8;width:40px;margin-left:auto}
.elementor.elementor .jl-page .jl-c53{width:auto}
.elementor.elementor .jl-page .jl-hr54{height:0.5px;background:#E2D9C8;width:40px;margin-left:auto}
.elementor.elementor .jl-page .jl-img55 img{object-fit:cover;border-radius:12px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}
.elementor.elementor .jl-page .jl-c56{flex:1 1 0%;width:auto}
.elementor.elementor .jl-page .jl-ul57 li + li{margin-top:16px}
.elementor.elementor .jl-page .jl-ul57 ul{margin:0;padding:0;list-style:none}
.elementor.elementor .jl-page .jl-c59{flex:1 1 0%;width:auto}
.elementor.elementor .jl-page .jl-ul60 li + li{margin-top:16px}
.elementor.elementor .jl-page .jl-ul60 ul{margin:0;padding:0;list-style:none}
.elementor.elementor .jl-page .jl-img62 img{object-fit:cover;aspect-ratio:3 / 2;border-radius:12px}
.elementor.elementor .jl-page .jl-mw8{max-width:480px;margin-inline:auto;width:100%}
.elementor.elementor .jl-page .jl-img64 img{border-radius:9999px}
.elementor.elementor .jl-page .jl-c65{width:auto}
.elementor.elementor .jl-page .jl-img66 img{object-fit:cover;border-radius:9999px;box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}
.elementor.elementor .jl-pform .elementor-field{padding:14px 16px;height:auto}
.elementor.elementor .jl-pform .elementor-button{width:100%;max-width:400px;margin-inline:auto;line-height:1.5;transition:opacity .2s}
.elementor.elementor .jl-pform .elementor-button:hover{opacity:.85}
.elementor.elementor .jl-pform .elementor-field-type-submit{margin-top:16px}
