/* QA bug list 10.11.2026 (Yair, external visual QA): fixes layered after every other stylesheet */
/* row 7: multiplication drills as a compact LTR grid */
.post-body ul.drill{list-style:none;padding:0;margin:.6em 0 1.4em;display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5em,1fr));gap:.5em;direction:ltr;text-align:center}
.post-body ul.drill li{margin:0;padding:.45em .3em;border:1px solid rgba(14,30,74,.18);border-radius:10px;background:#F3ECDF;color:#0E1E4A;font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.post-body ul.drill li::before{content:none;display:none}
/* row 5: text-heavy infographics keep a readable size on phones, scrolled sideways */
.post-body .wide-img{margin:1.2em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;outline-offset:3px}
.post-body .wide-img img{display:block;margin:0;max-width:none;width:100%;height:auto}
@media (max-width:820px){.post-body .wide-img img{width:760px}.post-body .wide-img::after{content:"\2194  גללו לצדדים";display:block;font-size:.85em;color:#0E1E4A;opacity:.75;text-align:center;padding:.35em 0}}
/* rows 3, 8: inline formulas stay left to right */
.post-body bdi[dir=ltr]{unicode-bidi:isolate;direction:ltr;white-space:nowrap}
/* Yair 13:29: the adults card link split in two (אנגלית עסקית / אנגלית למבוגרים), same look as the single link it replaced */
.more.more-split{display:block}
.more.more-split a{color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px}
.more.more-split svg{vertical-align:-3px;margin-inline-start:4px}
/* Y2 (Yair 10.11.2026 13:43, WhatsApp): the "how we start" steps pass the red number circle from step to step in a loop,
   about 2.5 s each, palette red; with reduced motion nothing moves and step 1 stays red as before */
@property --qa-b{syntax:"<color>";inherits:false;initial-value:#F3ECDF}
@property --qa-c{syntax:"<color>";inherits:false;initial-value:#0E1E4A}
@property --qa-d{syntax:"<color>";inherits:false;initial-value:#0E1E4A}
@media (prefers-reduced-motion:no-preference){
  .steps li:nth-child(n):nth-last-child(n) .num{--qa-b0:var(--white,#F3ECDF);--qa-c0:var(--ink,#0E1E4A);--qa-d0:var(--ink,#0E1E4A)}
  .on-teal .steps li:nth-child(n):nth-last-child(n) .num{--qa-b0:var(--ink,#0E1E4A);--qa-c0:var(--white,#F3ECDF);--qa-d0:var(--white,#F3ECDF)}
  .steps li:nth-child(1):nth-last-child(4) .num,.steps li:nth-child(2):nth-last-child(3) .num,.steps li:nth-child(3):nth-last-child(2) .num,.steps li:nth-child(4):nth-last-child(1) .num,
  .steps li:nth-child(1):nth-last-child(3) .num,.steps li:nth-child(2):nth-last-child(2) .num,.steps li:nth-child(3):nth-last-child(1) .num{
    --qa-b:var(--qa-b0);--qa-c:var(--qa-c0);--qa-d:var(--qa-d0);
    background:var(--qa-b)!important;color:var(--qa-c)!important;border-color:var(--qa-d)!important}
  .steps li:nth-child(1):nth-last-child(4) .num{animation:qaStep4 10s linear infinite}
  .steps li:nth-child(2):nth-last-child(3) .num{animation:qaStep4 10s linear -7.5s infinite}
  .steps li:nth-child(3):nth-last-child(2) .num{animation:qaStep4 10s linear -5s infinite}
  .steps li:nth-child(4):nth-last-child(1) .num{animation:qaStep4 10s linear -2.5s infinite}
  .steps li:nth-child(1):nth-last-child(3) .num{animation:qaStep3 7.5s linear infinite}
  .steps li:nth-child(2):nth-last-child(2) .num{animation:qaStep3 7.5s linear -5s infinite}
  .steps li:nth-child(3):nth-last-child(1) .num{animation:qaStep3 7.5s linear -2.5s infinite}
}
@keyframes qaStep4{0%,24.9%{--qa-b:#D63A40;--qa-c:#F3ECDF;--qa-d:#D63A40}25%,100%{--qa-b:var(--qa-b0);--qa-c:var(--qa-c0);--qa-d:var(--qa-d0)}}
@keyframes qaStep3{0%,33.2%{--qa-b:#D63A40;--qa-c:#F3ECDF;--qa-d:#D63A40}33.3%,100%{--qa-b:var(--qa-b0);--qa-c:var(--qa-c0);--qa-d:var(--qa-d0)}}
/* QA 1110 template rows (batch 2) */
/* row 14: a grid of exactly three cards shows three columns at tablet widths, not two plus a lonely third */
@media (min-width:700px) and (max-width:1060px){
  .grid3:has(> :nth-child(3):last-child),.posts:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .grid3:has(> :nth-child(3):last-child) > *,.posts:has(> :nth-child(3):last-child) > *{grid-column:auto!important;max-width:none!important;justify-self:stretch!important}
}
/* row 19: the dashed column divider of the steps list belongs to the two-column layout only */
@media (max-width:760px){.steps li,.steps li+li{border-inline-start:0!important;padding-inline-start:0!important}}
/* row 16: the current page in the breadcrumbs stays on one line and ends with an ellipsis when long */
.crumbs li[aria-current]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:760px){.crumbs ol{flex-wrap:wrap}.crumbs li[aria-current]{flex-basis:100%}.crumbs li[aria-current]::before{content:none!important;display:none!important}}
/* row 15: card excerpts end on whole lines */
.post-card .pc-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
/* row 79 (orphan words): balanced headings, pretty paragraphs */
h1,h2,h3,.post-card h3,.card h3{text-wrap:balance}
p,li,figcaption,.lead,.sub{text-wrap:pretty}
/* Yair 10.11.2026 20:52 items 3 and 5: the asterisk beside a required field and the "* שדה חובה" line (palette red and muted) */
.lform .req{color:#D63A40;font-weight:700;margin-inline-start:.2em}
.lform .req[hidden]{display:none}
.lform .req-note{margin:0 0 .4em;font-size:13.5px;color:var(--muted)}
.lform .req-note .req{margin:0}
/* Yair 10.11.2026 21:14 item 8: the home figures are three (150+ is off the home page) */
@media (min-width:1024px){.proof__in.proof__in--3{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1023px){.proof__in.proof__in--3 .stub:nth-child(3){grid-column:1/-1}}
/* Yair 10.11.2026 21:14 item 11 (recommendation card height, /מורים-פרטיים): the card keeps one height for all reviews (no jump), and a short review sits in the middle of it instead of leaving an empty band under it */
.grev__slide blockquote{flex:1 1 auto;display:flex;align-items:center}
/* QA 1110 batch 3 */
/* row 41: a two-column grid holding exactly three cards shows them in one row of three on desktop */
@media (min-width:700px){.grid2:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid2:has(> :nth-child(3):last-child) > *{grid-column:auto!important;max-width:none!important;justify-self:stretch!important}}
/* row 42: an email address never breaks in the middle */
a[href^="mailto:"]{white-space:nowrap}
/* row 13: tap targets of at least 44px on phones (breadcrumbs, footer links, carousel dots) */
@media (max-width:760px){.crumbs li > a,footer li > a{display:inline-flex;align-items:center;min-height:44px}}
/* row 98: the small dot before each heading of the .sign cards and its indent come off */
.card.sign:before,.sign:before{content:none!important;display:none!important}
.card.sign,.sign{padding-inline-start:clamp(20px,2.2vw,28px)!important}
/* row 35: the English header tagline is hidden on narrow phones (the logo's link keeps it in its aria-label) */
@media (max-width:480px){html[lang|="en"] .hdr .brand small{display:none!important}}
/* row 29: step texts use the full width of their column on desktop */
@media (min-width:1024px){.steps li p,.steps li h3,.steps3 p{max-width:none!important}}
/* row 83: a link inside a post heading does not show a link underline */
.post-body :is(h2,h3,h4) a{text-decoration:none;color:inherit}
/* row 76: less empty navy under the footer's legal links on phones (room for the floating button only) */
@media (max-width:760px){footer.sf,.sf{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}}
/* row 66: the floating WhatsApp button no longer covers the matcher's footer line on phones */
@media (max-width:820px){.matcher__foot{padding-inline-end:64px}}
/* rows 37, 99: a Hebrew prefix and the short English word after it break together */
.post-body .nw{white-space:nowrap}
/* row 113: on phones the article pager shows first, previous, current, next and last only, on one line */
@media (max-width:480px){.pager > a:not(.pg-next):not(.pg-prev):not(:first-child):not(:has(+ .cur)):not(.cur + a):not(:has(+ .pg-next)):not(:has(+ .pg-next + *)){display:none!important}.pager{flex-wrap:nowrap}}
/* row 117: the arrow of a text link follows its last word instead of sitting alone at the line end */
@media (max-width:760px){.go-link{display:inline-block}.go-link > span[aria-hidden="true"]{white-space:nowrap}}
/* row 120: on phones the chips of the organisations' form sit in two equal columns instead of a jagged staircase */
@media (max-width:480px){.lform[data-subject^="פנייה של מוסד"] fieldset.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lform[data-subject^="פנייה של מוסד"] fieldset.chips .chip{margin:0;min-width:0}.lform[data-subject^="פנייה של מוסד"] fieldset.chips .chip span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;text-align:center}}
/* row 31: on phones the short heroes of the legal pages and /articles stack: full-width H1, picture under it */
@media (max-width:767px){.phero.plain.has-snap > .wrap{grid-template-columns:minmax(0,1fr)!important}.phero.plain.has-snap .p-snap{max-width:260px;margin-inline:auto}}
/* row 30: the text card of the legal pages sits centred under the hero instead of pushed to one side */
@media (min-width:1024px){.phero.plain ~ .sec > .wrap > .prose:first-child:not(.post-body){margin-inline:auto}}
/* Yair 10.11.2026 19:37 (site-design mmwaz3j29soo7t8z): the "+30" caption of the home stats band sits on two even lines, broken after "וארגונים"; tablets get the band as 2 x 2 so no caption breaks into a third line; phones wrap naturally, balanced */
.stub .cap2{display:block;text-wrap:balance}
@media (min-width:720px){.stub .cap2>span{display:block;white-space:nowrap}}
@media (min-width:720px) and (max-width:1023px){.proof__in{grid-template-columns:1fr 1fr}}
