:root {
  /* ===== שמנת ומנטה — קליל, חם ורגוע (בחירת המשתמש, יולי 2026) ===== */
  --ink:    #1f2a24;   /* טקסט ראשי — פחם עם נגיעה ירוקה */
  --ink-2:  #47554d;
  --muted:  #6d7a70;   /* טקסט משני — AA בגדלים קטנים */

  --paper:  #faf9f6;   /* רקע — שמנת חמה בהירה */
  --paper-2:#f1efe8;
  --surface:#ffffff;   /* כרטיסים — לבן נקי */

  --emerald:   #2e9e6b;  /* מנטה — צבע הפעולה של המותג */
  --emerald-dk:#238257;
  --emerald-lt:#e3f4ea;  /* מצב נבחר/פעיל — מנטה בהירה */
  --brass:     #a9c7b6;  /* עיטור מנטה-אפרפר עדין (לא לטקסט!) */
  --brass-lt:  #9ed3b8;  /* הדגשות על רקעים כהים */
  --brass-text:#1c7a4e;  /* ירוק כהה לטקסט קטן (AA) */
  --logo:      #1f2a24;  /* וורדמארק SHMUNIS — שחור (כמו הלוגו המקורי) */
  --logo-sub:  #6d7a70;  /* תת-לוגו (CPA) — אפור רך */

  /* אקסנט עיטורי (ירש את משתני הזהב — עכשיו מנטה) */
  --gold:      #7fc7a2;
  --gold-warm: #9ed3b8;
  --gold-soft: rgba(46,158,107,.28);
  --gold-grad: linear-gradient(90deg, rgba(46,158,107,0) 0%, #7fc7a2 25%, #a9dfc4 50%, #7fc7a2 75%, rgba(46,158,107,0) 100%);

  --line:   #eae7de;
  --line-2: #d9d5c9;

  --pos: #2f7a4f;
  --neg: #a23b2e;
  --warn:#946a18;

  --radius:    18px;
  --radius-md: 14px;
  --radius-sm: 10px;
  --shadow-xs: 0 1px 0 var(--line);
  --shadow-sm: 0 6px 24px -18px rgba(31,42,36,.35);
  --shadow:    0 14px 40px -24px rgba(31,42,36,.35);
  --shadow-lg: 0 24px 60px -32px rgba(31,42,36,.4);
  --ring: 0 0 0 3px rgba(46,158,107,.2);

  --serif: "Rubik", "Heebo", system-ui, sans-serif;   /* כותרות — כמו ב-BOOMERANG */
  --sans:  "Heebo", system-ui, "Segoe UI", Arial, sans-serif;
  --word:  "Jost", "Heebo", system-ui, sans-serif;    /* וורדמארק לטיני (לוגו SHMUNIS — נשאר כשם שהוא) */
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 90px; }
body {
  margin: 0;
  font-family: var(--sans);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3 { font-family: var(--serif); letter-spacing: -.01em; font-weight: 600; color: var(--ink); }

/* ============================ topbar / brand ============================ */
.topbar {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px clamp(16px,5vw,56px);
  background: rgba(250,249,246,.85);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--line);
}
.logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); }
.logo-mark { display: none; }   /* הלוגו הוא וורדמארק בלבד — בלי אייקון */
/* width:fit-content — שהוורדמארק "יחבק" את הרוחב שלו גם בפוטר (ולא ימתח לכל העמודה),
   כדי ש-CPA יתמרכז מתחת ל-SHMUNIS ולא יזוז הצידה. text-indent מאזן את רווח-האותיות הנגרר. */
.logo-words { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; gap: 5px; width: fit-content; }
.logo-name { font-family: var(--word); font-weight: 400; font-size: 1.3rem; color: var(--logo); letter-spacing: .26em; text-indent: .26em; text-transform: uppercase; }
.logo-sub { font-size: .6rem; font-weight: 400; color: var(--logo-sub); letter-spacing: .44em; text-indent: .44em; text-transform: uppercase; align-self: stretch; text-align: center; }
.topbar nav { display: flex; align-items: center; gap: clamp(10px,2vw,30px); flex-wrap: nowrap; }
.topbar nav a { color: var(--ink-2); text-decoration: none; font-weight: 500; font-size: .93rem; white-space: nowrap; transition: color .15s; }
.topbar nav a:hover { color: var(--emerald); }
.nav-cta { background: var(--emerald); color: #fff !important; border: none; padding: 10px 20px; border-radius: 999px; font-weight: 600; transition: background .18s, transform .14s; }
.nav-cta:hover { background: var(--emerald-dk); transform: translateY(-1px); }
.nav-toggle { display: none; background: transparent; border: 1.5px solid var(--line-2); border-radius: var(--radius-sm); width: 42px; height: 42px; cursor: pointer; color: var(--ink); align-items: center; justify-content: center; padding: 0; }
.nav-toggle svg { width: 22px; height: 22px; }

main { min-height: 70vh; }
.container { max-width: 1080px; margin: 0 auto; padding: 0 24px 80px; }

/* ============================ hero (editorial, centered) ============================ */
.hero { text-align: center; max-width: 880px; margin: 0 auto; padding: clamp(44px,7vw,84px) 8px 18px; }
.eyebrow { display: inline-block; background: var(--emerald-lt); color: var(--brass-text); font-weight: 700; font-size: .82rem; border-radius: 999px; padding: 6px 16px; margin-bottom: 22px; letter-spacing: .01em; }
.eyebrow::before, .eyebrow::after { display: none; }
.eyebrow .dot { display: none; }
.hero h1 { font-size: clamp(2.2rem,5.6vw,3.7rem); line-height: 1.18; margin: 0 0 20px; font-weight: 600; letter-spacing: -.015em; color: var(--ink); }
.hero h1 .hl { color: var(--emerald); font-weight: 600; font-style: normal; }
.hero .lead { font-size: clamp(1.08rem,2.1vw,1.32rem); color: var(--ink-2); margin: 0 auto; max-width: 620px; }
/* ============================ חיפוש חכם (דף הבית) ============================ */
.hero-search { position: relative; max-width: 560px; margin: 26px auto 4px; }
.hs-box { display: flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid var(--line-2); border-radius: 999px; padding: 4px 20px; box-shadow: var(--shadow-sm); transition: border-color .15s, box-shadow .15s; }
.hs-box:focus-within { border-color: var(--emerald); box-shadow: var(--ring); }
.hs-ic { width: 20px; height: 20px; flex: none; color: var(--emerald); }
.hs-box input { border: none; box-shadow: none; padding: 12px 0; font-size: 1rem; background: transparent; }
.hs-box input:focus { border: none; box-shadow: none; outline: none; }
.hs-box input::-webkit-search-cancel-button { -webkit-appearance: none; }
.hs-results { position: absolute; inset-inline: 8px; top: calc(100% + 8px); z-index: 40; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow); overflow: hidden; text-align: right; }
.hs-item { display: flex; flex-direction: column; gap: 1px; padding: 12px 18px; text-decoration: none; border-bottom: 1px solid var(--line); }
.hs-item:last-child { border-bottom: none; }
.hs-item b { color: var(--ink); font-size: .96rem; font-weight: 600; }
.hs-item span { color: var(--muted); font-size: .84rem; }
.hs-item:hover, .hs-item.first { background: var(--emerald-lt); }
.hs-item:hover b { color: var(--emerald-dk); }

.cta-row { margin-top: 30px; display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.microtrust { margin-top: 26px; display: flex; gap: 26px; flex-wrap: wrap; justify-content: center; color: var(--muted); font-weight: 600; font-size: .9rem; }
.microtrust .item { display: inline-flex; align-items: center; gap: 7px; }

/* figures strip (replaces floating card) */
.figs { display: flex; justify-content: center; flex-wrap: wrap; max-width: 760px; margin: 46px auto 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fig { flex: 1; min-width: 150px; padding: 22px 18px; text-align: center; }
.fig + .fig { border-inline-start: 1px solid var(--line); }
.fig b { display: block; font-family: var(--serif); font-size: clamp(1.4rem, 3.2vw, 1.9rem); font-weight: 600; color: var(--emerald-dk); line-height: 1.2; white-space: nowrap; }
.fig span { display: block; color: var(--muted); font-size: .84rem; font-weight: 600; margin-top: 2px; }

/* תגי מקצוע (הירו) — אמינות בלי מספרים */
.cred-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; max-width: 720px; margin: 40px auto 0; }
.cred { display: inline-flex; align-items: center; gap: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 9px 18px; font-weight: 600; font-size: .92rem; color: var(--ink-2); box-shadow: var(--shadow-sm); }
.cred svg { width: 17px; height: 17px; flex: none; color: var(--emerald); }
@media (max-width: 600px){ .cred { font-size: .86rem; padding: 8px 15px; } }
@media (max-width: 560px){ .fig + .fig { border-inline-start: none; border-top: 1px solid var(--line); } }

/* hero visual fallback (unused now, kept harmless) */
.hero-visual, .hv-card { display: none; }

/* ============================ trust strip ============================ */
.trustband { max-width: 880px; margin: 30px auto 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 22px; padding: 16px 8px; border-top: 1px solid var(--line); }
.trustband .tb { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .88rem; color: var(--ink-2); }
.trustband .sep { width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }

/* ============================ section heading ============================ */
.sec-head { text-align: center; max-width: 680px; margin: 76px auto 28px; }
.sec-head .kicker { display: inline-block; background: var(--emerald-lt); color: var(--brass-text); font-weight: 700; font-size: .8rem; border-radius: 999px; padding: 5px 14px; margin-bottom: 12px; letter-spacing: .01em; }
.sec-head .kicker::before { display: none; }
.sec-head h2 { font-size: clamp(1.7rem,4vw,2.4rem); margin: 0 0 10px; color: var(--ink); font-weight: 600; letter-spacing: -.01em; }
.sec-head p { color: var(--ink-2); margin: 0; font-size: 1.04rem; }

/* ============================ features (editorial) ============================ */
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
@media (max-width: 820px){ .grid-3 { grid-template-columns: 1fr; } }
.feature { background: var(--surface); border: none; border-radius: 0; padding: 30px 28px; transition: background .18s; }
.feature:hover { background: #f3faf6; transform: none; }
.feature .ficon { width: 46px; height: 46px; background: none; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; margin-bottom: 16px; font-family: var(--word); font-weight: 400; font-size: 1rem; letter-spacing: .05em; color: var(--ink-2); }
.feature h3 { margin: 0 0 6px; font-size: 1.14rem; color: var(--ink); font-weight: 600; }
.feature p { margin: 0; color: var(--ink-2); font-size: .96rem; }
.feature.tint-lavender, .feature.tint-mint, .feature.tint-coral,
.feature.tint-sand, .feature.tint-sky, .feature.tint-lime { background: var(--surface); }

/* steps (serif numerals) */
.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
@media (max-width: 820px){ .steps { grid-template-columns: 1fr; gap: 22px; } }
.step { background: transparent; border: none; border-top: 2px solid var(--emerald); border-radius: 0; padding: 18px 4px 0; }
.step .num { display: block; width: auto; height: auto; margin-bottom: 6px; background: none; color: var(--brass-text); font-family: var(--serif); font-weight: 700; font-size: 1.7rem; }
.step h3 { margin: 0 0 6px; font-size: 1.2rem; color: var(--ink); }
.step p { margin: 0; color: var(--ink-2); font-size: .96rem; }

/* ============================ card / forms ============================ */
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 34px clamp(20px,4vw,40px); margin: 24px 0; }
.card h2 { margin: 2px 0 18px; font-size: 1.4rem; display: flex; align-items: baseline; gap: 12px; color: var(--ink); font-weight: 600; }
.card h2.plain::before { display: none; }
.card h2::before { content: ""; align-self: stretch; width: 3px; min-height: 22px; border-radius: 2px; background: var(--gold); }
.card h3 { margin: 24px 0 10px; font-size: 1.1rem; color: var(--ink); font-family: var(--serif); }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
@media (max-width: 620px) { .grid { grid-template-columns: 1fr; } }
label { display: flex; flex-direction: column; font-weight: 600; font-size: .86rem; gap: 7px; color: var(--ink-2); }
label.inline { flex-direction: row; align-items: center; gap: 10px; }
input, select, textarea { font: inherit; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: var(--radius-sm); background: #fff; color: var(--ink); width: 100%; transition: border-color .15s, box-shadow .15s; }
textarea { resize: vertical; min-height: 68px; }
input::placeholder, textarea::placeholder { color: #b1ab9c; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--emerald); box-shadow: var(--ring); }
.hint { color: var(--muted); font-size: .88rem; margin: 10px 0 0; }
.consent { flex-direction: row; align-items: flex-start; gap: 10px; margin: 20px 0 0; font-weight: 500; color: var(--ink-2); font-size: .92rem; line-height: 1.55; }
.consent input { width: auto; flex: none; margin-top: 4px; accent-color: var(--emerald); }
.consent a { color: var(--emerald); font-weight: 700; text-decoration: underline; }
.row-between { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.spouse-block { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 6px 18px 16px; margin-top: 10px; }
.marital-row { display: flex; gap: 26px; flex-wrap: wrap; margin: 4px 0 6px; }
.marital-row label { flex-direction: row; align-items: center; gap: 9px; font-weight: 600; font-size: .96rem; color: var(--ink); cursor: pointer; }
.marital-row input { width: auto; accent-color: var(--ink); }

/* ============================ buttons (squared) ============================ */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; margin-top: 22px; padding: 13px 28px; border: 1.5px solid var(--emerald); border-radius: 999px; background: transparent; color: var(--emerald); font-family: var(--sans); font-weight: 600; cursor: pointer; text-decoration: none; font-size: 1rem; transition: background .18s, color .18s, transform .14s, box-shadow .18s; }
.btn:hover { transform: translateY(-2px); }
.btn.primary { background: var(--emerald); color: #fff; border-color: var(--emerald); box-shadow: 0 10px 24px -12px rgba(46,158,107,.55); }
.btn.primary:hover { background: var(--emerald-dk); border-color: var(--emerald-dk); }
.btn.big { padding: 16px 38px; font-size: 1.05rem; }
.btn.ghost { background: #fff; border-color: var(--line-2); color: var(--ink); }
.btn.ghost:hover { border-color: var(--emerald); color: var(--emerald); }
.btn.dark { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.btn.dark:hover { background: #101a14; }
.btn.sm { padding: 9px 18px; font-size: .9rem; margin-top: 0; }

/* ============================ questionnaire (ledger / checkbox) ============================ */
.q-section { margin-top: 26px; }
.q-section > .sec-title { display: flex; align-items: center; gap: 12px; font-family: var(--serif); font-weight: 600; color: var(--ink); margin: 26px 0 8px; font-size: 1.14rem; }
.q-section > .sec-title::before { content: ""; width: 26px; height: 2px; background: var(--gold); }
.q-section.liab > .sec-title { color: var(--neg); }
.q-section.liab > .sec-title::before { background: var(--neg); }
.qcard { display: flex; align-items: center; gap: 16px; cursor: pointer; border: none; border-bottom: 1px solid var(--line); border-radius: 0; padding: 16px 6px; margin: 0; background: transparent; transition: background .14s; }
.qcard:hover { background: #f3faf6; }
.qcard:active { transform: none; }
/* חשוב: input נשאר focusable (לא display:none) כדי שמשתמשי מקלדת/קורא-מסך
   יוכלו להגיע לכל 26 השורות עם Tab — רק מוסתר חזותית מאחורי ה-toggle. */
.qcard input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.qcard .toggle { flex: none; width: 24px; height: 24px; border-radius: 5px; border: 1.6px solid var(--line-2); background: #fff; position: relative; transition: background .16s, border-color .16s; }
/* טבעת פוקוס על השורה כולה כשה-input הנסתר מקבל פוקוס במקלדת (.qcard:focus-within מוגדר בהמשך הקובץ) */
.qcard .toggle::after { content: ""; position: absolute; inset-inline-start: 8px; top: 4px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); opacity: 0; transition: opacity .14s; }
.qcard .q-text { flex: 1; }
.qcard .q-label { font-weight: 700; font-size: 1.02rem; color: var(--ink); display: block; }
.qcard .q-hint { font-weight: 500; font-size: .86rem; color: var(--muted); display: block; margin-top: 2px; }
.qcard .q-on { display: none; font-weight: 700; color: var(--emerald); font-size: .78rem; letter-spacing: .04em; white-space: nowrap; text-transform: uppercase; }
.qcard.on, .qcard:has(input:checked) { background: var(--emerald-lt); }
.qcard.on .toggle,
.qcard input:checked ~ .toggle { background: var(--emerald); border-color: var(--emerald); }
.qcard.on .toggle::after,
.qcard input:checked ~ .toggle::after { opacity: 1; }
.qcard.on .q-on,
.qcard input:checked ~ .q-on { display: inline; }
.q-section.liab .qcard.on,
.q-section.liab .qcard:has(input:checked) { background: #f7ece9; }
.q-section.liab .qcard.on .toggle,
.q-section.liab .qcard input:checked ~ .toggle { background: var(--neg); border-color: var(--neg); }
.q-section.liab .qcard.on .q-on,
.q-section.liab .qcard input:checked ~ .q-on { color: var(--neg); }
.q-counter { position: sticky; bottom: 16px; margin-top: 24px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: var(--ink); border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px 22px; }
.q-counter .cnt { font-weight: 600; color: var(--paper); }
.q-counter .cnt b { color: var(--brass-lt); font-size: 1.5rem; font-family: var(--serif); }
.q-counter .btn { border-color: var(--paper); color: var(--paper); }
.q-counter .btn.primary { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.q-counter .btn.primary:hover { background: #fff; }

/* ============================ flow stepper ============================ */
.flow { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 28px auto 6px; flex-wrap: wrap; }
.flow .node { display: inline-flex; align-items: center; gap: 9px; }
.flow .bub { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: transparent; border: 1.5px solid var(--line-2); color: var(--muted); font-weight: 700; font-family: var(--serif); font-size: .95rem; }
.flow .lbl { color: var(--muted); font-weight: 600; font-size: .9rem; }
.flow .bar { width: 36px; height: 1px; background: var(--line-2); }
.flow .node.done .bub { background: var(--emerald); border-color: var(--emerald); color: #fff; }
.flow .node.active .bub { background: transparent; border-color: var(--emerald); color: var(--emerald); box-shadow: var(--ring); }
.flow .node.done .lbl, .flow .node.active .lbl { color: var(--ink); }

/* ============================ documents page ============================ */
.cat-group { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 20px 20px 10px; margin: 16px 0; background: var(--surface); }
.cat-head { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
.cat-badge { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: transparent; border: 1.5px solid var(--emerald); color: var(--emerald); font-weight: 700; font-family: var(--serif); }
.cat-group.liab .cat-badge { border-color: var(--neg); color: var(--neg); }
.cat-title { font-weight: 600; color: var(--ink); font-size: 1.05rem; font-family: var(--serif); }
.cat-note { margin: 8px 0 12px; }
.cat-note input { font-size: .9rem; padding: 10px 12px; }
.kind-tag { display: inline-block; font-size: .68rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; letter-spacing: .06em; text-transform: uppercase; }
.kind-tag.asset { background: var(--emerald-lt); color: var(--emerald); }
.kind-tag.liab { background: #f7ece9; color: var(--neg); }

.summary-chips { display: flex; flex-wrap: wrap; gap: 0; margin: 16px 0 4px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.summary-chips .chip { flex: 1; min-width: 130px; background: var(--surface); padding: 14px 16px; font-weight: 600; font-size: .9rem; color: var(--ink-2); border-inline-start: 1px solid var(--line); text-align: center; }
.summary-chips .chip:first-child { border-inline-start: none; }
.summary-chips .chip b { font-family: var(--serif); color: var(--emerald); font-size: 1.3rem; display: block; }

/* clickable upload rows (ledger) */
.docup-list { display: grid; gap: 0; margin: 8px 0; border-top: 1px solid var(--line); }
.docup { margin: 0; border-bottom: 1px solid var(--line); }
.docup-row { position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; background: transparent; border: none; border-radius: 0; padding: 15px 8px; cursor: pointer; font-weight: 600; transition: background .14s; }
/* קלט הקובץ מוסתר חזותית אך נשאר focusable — נגיש למקלדת (ראו .visually-hidden) */
.docup-row:has(input:focus-visible) { outline: 2px solid var(--emerald); outline-offset: -2px; border-radius: var(--radius-sm); }
.docup-row:hover { background: #f3faf6; }
.docup.done .docup-row { cursor: default; background: var(--emerald-lt); }
.docup.done .docup-row:hover { background: var(--emerald-lt); }
.docup.uploading .docup-row { cursor: progress; }
.docup-fill { position: absolute; inset-inline-start: 0; top: 0; bottom: 0; width: 0; background: rgba(31,77,63,.12); z-index: 0; transition: width .2s linear; }
.docup-ic, .docup-name, .docup-cta { position: relative; z-index: 1; }
.docup-ic { width: 26px; flex: none; display: inline-flex; align-items: center; justify-content: center; color: var(--gold); }
.docup-ic svg { display: block; }
.docup .ic-check { display: none; }
.docup.done .ic-check { display: block; }
.docup.done .ic-clip { display: none; }
.docup-name { flex: 1; font-weight: 600; color: var(--ink); }
.docup-cta { font-size: .78rem; color: var(--muted); font-weight: 700; white-space: nowrap; letter-spacing: .04em; text-transform: uppercase; }
.docup.done .docup-cta, .docup.uploading .docup-cta { color: var(--emerald); }
.base-docs { border-color: var(--emerald); }
.base-docs h2::before { background: var(--emerald); }

/* ============================ result / done ============================ */
.result-head { position: relative; text-align: center; border-radius: var(--radius); padding: 52px 30px; margin: 24px 0; overflow: hidden; box-shadow: var(--shadow); background: var(--emerald); color: var(--paper); }
.result-head h2 { color: #fff; margin: 10px 0; font-size: clamp(1.8rem,5vw,2.6rem); }
.result-head .big-emoji { font-size: 2.4rem; }
.result-sub { margin: 0; opacity: .9; font-size: 1.06rem; font-weight: 500; }
.access-code { font-family: var(--serif); font-size: 1.6rem; font-weight: 700; letter-spacing: .2em; background: var(--paper); color: var(--emerald); padding: 6px 20px; border-radius: var(--radius-sm); display: inline-block; border: 1px solid var(--line-2); }
.doc-checklist { list-style: none; padding: 0; margin: 14px 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.doc-checklist li { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); padding: 13px 8px; font-weight: 600; background: transparent; }
.doc-checklist li.ok { color: var(--emerald); }
.doc-checklist li.ok::before { content: "✓"; font-weight: 800; color: var(--emerald); }
.doc-checklist li.miss { color: var(--ink-2); }
.doc-checklist li.miss::before { content: "—"; color: var(--muted); font-weight: 800; }

/* ============================ tables / admin ============================ */
.data-table { width: 100%; border-collapse: collapse; margin-top: 14px; }
.data-table th, .data-table td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: right; font-size: .92rem; }
.data-table th { color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .76rem; }
.data-table tbody tr { transition: background .12s; }
.data-table tbody tr:hover { background: #f3faf6; }
.data-table a.rowlink { color: var(--emerald); font-weight: 700; text-decoration: none; }
.data-table a.rowlink:hover { text-decoration: underline; }
.stats { display: flex; gap: 1px; margin: 18px 0; flex-wrap: wrap; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.stat { flex: 1; min-width: 150px; background: var(--surface); padding: 24px; text-align: center; }
.stat:first-child { background: var(--ink); }
.stat:first-child .stat-num { color: var(--brass-lt); }
.stat:first-child span:last-child { color: #b8b2a4; }
.stat-num { display: block; font-size: 2.1rem; font-weight: 700; font-family: var(--serif); color: var(--ink); }
.stat span:last-child { color: var(--muted); font-size: .9rem; }
.badge { background: var(--emerald-lt); color: var(--emerald); padding: 4px 12px; border-radius: 999px; font-size: .78rem; font-weight: 700; white-space: nowrap; border: 1px solid #cfe0d3; }
.badge.muted { background: var(--paper-2); color: var(--muted); border-color: var(--line); }
.badge.warn { background: #f7eed8; color: var(--warn); border-color: #e6d6a8; }
.badge.done { background: var(--emerald); color: #fff; border-color: var(--emerald); }
.kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: 14px; margin: 16px 0; }
.kv div span { display: block; color: var(--muted); font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; }
.kv div { font-weight: 600; }
.back { color: var(--muted); text-decoration: none; font-weight: 600; display: inline-block; margin-bottom: 12px; }
.back:hover { color: var(--emerald); }
.muted { color: var(--muted); } .small { font-size: .84rem; }
.file-list { list-style: none; padding: 0; margin: 6px 0 18px; display: grid; gap: 0; border-top: 1px solid var(--line); }
.file-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: transparent; border-bottom: 1px solid var(--line); padding: 13px 8px; flex-wrap: wrap; }
.file-link { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); font-weight: 700; }
.file-link .fic { font-size: 1.3rem; color: var(--gold); }
.file-link:hover { color: var(--emerald); }
.src-tag { font-size: .72rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }

/* ============================ flash ============================ */
.flash { padding: 14px 18px; border-radius: var(--radius-sm); margin: 16px 0; font-weight: 600; border: 1px solid transparent; }
.flash.error { background: #f7ece9; color: var(--neg); border-color: #e6c6bf; }
.flash.warn  { background: #f7eed8; color: var(--warn); border-color: #e6d6a8; }
.flash.ok    { background: var(--emerald-lt); color: var(--emerald); border-color: #cfe0d3; }
.note-info { display: flex; gap: 12px; align-items: flex-start; background: var(--paper); border: 1px solid var(--line); color: var(--ink-2); border-radius: var(--radius-sm); padding: 15px 16px; margin: 14px 0; font-size: .92rem; }
.note-info.trust { background: var(--emerald-lt); border-color: #cfe0d3; color: var(--emerald); }
.note-info .ic { font-size: 1.2rem; line-height: 1.3; }

/* ============================ status tracker ============================ */
.status-track { display: grid; gap: 0; margin: 10px 0; }
.strack-step { display: flex; align-items: center; gap: 16px; padding: 9px 0; position: relative; }
.strack-step::before { content: ""; position: absolute; inset-inline-start: 17px; top: -10px; height: 20px; width: 1.5px; background: var(--line-2); }
.strack-step:first-child::before { display: none; }
.strack-dot { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; border: 1.5px solid var(--line-2); color: var(--muted); font-weight: 700; font-family: var(--serif); z-index: 1; }
.strack-lbl { font-weight: 700; color: var(--muted); }
.strack-step.done .strack-dot { background: var(--emerald); border-color: var(--emerald); color: #fff; }
.strack-step.done .strack-lbl { color: var(--ink); }
.strack-step.done::before { background: var(--emerald); }
.strack-step.active .strack-dot { background: transparent; border-color: var(--emerald); color: var(--emerald); box-shadow: var(--ring); }
.strack-step.active .strack-lbl { color: var(--ink); }

/* ============================ footer ============================ */
.footer { border-top: 1px solid var(--line); background: var(--surface); margin-top: 72px; }
.footer-inner { max-width: 1080px; margin: 0 auto; padding: 34px 24px; display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.footer p { color: var(--muted); font-size: .85rem; margin: 0; flex: 1; }
.foot-brand { display: flex; flex-direction: column; gap: 6px; }
.foot-brand .slogan { color: var(--ink-2); font-weight: 600; font-size: .9rem; font-family: var(--serif); }
.foot-links { display: flex; gap: 18px; flex-wrap: wrap; width: 100%; padding-top: 12px; border-top: 1px solid var(--line); }
.foot-links a { color: var(--ink-2); text-decoration: none; font-size: .85rem; font-weight: 600; }
.foot-links a:hover { color: var(--emerald); text-decoration: underline; }
.copyright { width: 100%; flex-basis: 100%; text-align: center; color: var(--muted); font-size: .8rem; padding-top: 4px; }

/* ============================ legal ============================ */
.legal { max-width: 760px; margin: 0 auto; }
.legal h1 { font-size: 2rem; }
.legal h2 { font-size: 1.35rem; margin: 28px 0 8px; color: var(--ink); }
.legal p, .legal li { color: var(--ink-2); }
.legal ul { padding-inline-start: 22px; }

/* ============================ reveal / a11y ============================ */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; } }
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* מוסתר חזותית אך נשאר בסדר ה-Tab ונגיש לקוראי מסך (בניגוד ל-display:none/hidden) */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link { position: absolute; inset-inline-start: 16px; top: -60px; z-index: 200; background: var(--emerald); color: #fff; padding: 10px 18px; border-radius: 0 0 var(--radius-sm) var(--radius-sm); font-weight: 700; text-decoration: none; transition: top .15s; }
.skip-link:focus { top: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .qcard:focus-within, .btn:focus-visible { outline: 2px solid var(--emerald); outline-offset: 2px; border-radius: 4px; }

/* ============================ mobile ============================ */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 620px) {
  .card { padding: 26px 18px; }
  .topbar { padding: 14px 16px; }
  .logo-sub { display: none; }
  .q-counter { flex-direction: column; align-items: stretch; text-align: center; }
  .q-counter .btn { width: 100%; }
  .summary-chips .chip { flex-basis: 50%; }
  .data-table th, .data-table td { padding: 10px 7px; font-size: .85rem; }
}
@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; }
  .topbar nav {
    position: absolute; top: 100%; inset-inline-start: 12px; inset-inline-end: 12px;
    flex-direction: column; align-items: stretch; gap: 4px;
    background: var(--surface); border: 1px solid var(--line); border-top: none;
    border-radius: 0 0 var(--radius) var(--radius); box-shadow: var(--shadow); padding: 8px 12px 14px; display: none;
  }
  .topbar.nav-open nav { display: flex; }
  .topbar nav a { display: block; padding: 13px 10px; border-radius: var(--radius-sm); font-size: 1rem; white-space: normal; }
  .topbar nav a:hover { background: var(--paper); color: var(--emerald); }
  .nav-cta { text-align: center; margin-top: 4px; border-radius: var(--radius-sm); }
}

/* מובייל — נוחות מגע ומניעת זום אוטומטי ב-iOS (פונט קלט < 16px מפעיל זום) */
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px; }
  .pay-cell input[type=number] { font-size: 16px; width: 74px; }
  .mark-col input { width: 24px; height: 24px; }
  .act { padding: 7px 11px; font-size: .8rem; }
  .admin-nav { gap: 3px; padding: 6px; }
  .admin-nav a { padding: 8px 12px; font-size: .86rem; }
  .admin-nav .nav-out { margin-inline-start: 0; }
  .hs-box input { font-size: 16px; }
  .month-nav { gap: 10px; }
  .month-nav .btn { padding: 8px 12px; font-size: .82rem; }
  .video-embed { margin: 14px 0; }
}

/* ============================ error page (404/500) ============================ */
.err-hero { text-align: center; padding: 56px 8px 30px; max-width: 640px; margin: 0 auto; }
.err-code { font-family: var(--serif); font-weight: 800; font-size: clamp(6rem,20vw,11rem); line-height: 1; color: var(--paper-2); -webkit-text-stroke: 2px var(--line-2); user-select: none; }
.err-hero h1 { font-size: clamp(1.7rem,4.5vw,2.5rem); margin: -0.55em 0 14px; position: relative; }
.err-msg { color: var(--ink-2); font-size: 1.06rem; max-width: 460px; margin: 0 auto; }
.err-links { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; gap: 10px 22px; justify-content: center; flex-wrap: wrap; }
.err-links a { color: var(--ink-2); font-weight: 600; font-size: .92rem; text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
.err-links a:hover { color: var(--ink); border-color: var(--ink); }

/* ============================ breadcrumbs ============================ */
.crumbs { margin: 22px 0 0; font-size: .82rem; color: var(--muted); font-weight: 500; }
.crumbs a { color: var(--ink-2); text-decoration: none; }
.crumbs a:hover { color: var(--ink); text-decoration: underline; }
.crumbs span { margin: 0 6px; color: var(--line-2); }

/* ============================ page head (sub pages) ============================ */
.page-head { text-align: center; max-width: 740px; margin: 14px auto 8px; padding: 30px 8px 8px; }
.page-head h1 { font-size: clamp(2rem,5vw,3.2rem); font-weight: 700; line-height: 1.12; margin: 14px 0 16px; }
.page-head .lead { font-size: clamp(1.02rem,2vw,1.2rem); color: var(--ink-2); margin: 0 auto; max-width: 580px; font-weight: 300; }

/* ============================ services ============================ */
.svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
@media (max-width: 820px){ .svc-grid { grid-template-columns: 1fr; } }
.svc-card { background: var(--surface); padding: 30px 28px; transition: background .18s; }
.svc-card:hover { background: #f3faf6; }
.svc-num { font-family: var(--word); font-weight: 400; font-size: .9rem; letter-spacing: .1em; color: var(--muted); }
.svc-card h3 { margin: 12px 0 8px; font-size: 1.3rem; font-weight: 600; color: var(--ink); }
.svc-card p { margin: 0 0 14px; color: var(--ink-2); font-size: .96rem; }
.svc-more { color: var(--ink); font-weight: 600; font-size: .9rem; text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
.svc-more:hover { border-color: var(--ink); }

.svc-list { display: grid; gap: 0; margin-top: 14px; }
.svc-row { display: grid; grid-template-columns: 260px 1fr; gap: 30px; padding: 34px 0; border-top: 1px solid var(--line); }
.svc-row:last-child { border-bottom: 1px solid var(--line); }
@media (max-width: 760px){ .svc-row { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; } }
.svc-row-head { display: flex; align-items: baseline; gap: 14px; }
.svc-row-head .svc-num { font-size: 1rem; }
.svc-row-head h2 { margin: 0; font-size: 1.5rem; font-weight: 700; }
.svc-lead { margin: 0 0 12px; color: var(--ink-2); font-size: 1.02rem; }
.svc-bullets { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.svc-bullets li { position: relative; padding-inline-start: 24px; color: var(--ink-2); }
.svc-bullets li::before { content: ""; position: absolute; inset-inline-start: 0; top: .62em; width: 10px; height: 1px; background: var(--gold); }

/* ============================ feature band (declaration highlight) ============================ */
.feature-band { position: relative; display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; align-items: center; background: var(--ink); color: var(--paper); border-radius: var(--radius); padding: 44px clamp(24px,4vw,48px); margin-top: 12px; box-shadow: var(--shadow); overflow: hidden; }
@media (max-width: 760px){ .feature-band { grid-template-columns: 1fr; gap: 20px; } }
.feature-band .kicker { color: var(--brass-lt); }
.feature-band h2 { color: #fff; font-weight: 700; margin: 8px 0 12px; font-size: clamp(1.6rem,3.5vw,2.2rem); }
.feature-band p { color: #cfc8bd; margin: 0 0 8px; }
.feature-band .btn.primary { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.feature-band .btn.primary:hover { background: #fff; }
.fb-figs { display: grid; gap: 14px; }
.fb-figs > div { border-inline-start: 2px solid var(--gold-warm); padding-inline-start: 16px; }
.fb-figs b { display: block; font-family: var(--serif); font-size: 2rem; font-weight: 700; color: #fff; line-height: 1; }
.fb-figs span { color: #b8b2a4; font-size: .86rem; }

/* ============================ articles ============================ */
.art-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
@media (max-width: 820px){ .art-grid { grid-template-columns: 1fr; } }
.art-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); overflow: hidden; transition: box-shadow .18s, transform .18s; }
.art-card:hover { box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.art-card a { display: block; padding: 24px; text-decoration: none; color: var(--ink); height: 100%; }
.art-tag { display: inline-block; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brass-text); margin-bottom: 12px; }
.art-card h2, .art-card h3 { margin: 0 0 10px; font-size: 1.18rem; font-weight: 600; line-height: 1.35; color: var(--ink); }
.art-card p { margin: 0 0 14px; color: var(--ink-2); font-size: .92rem; }
.art-meta { color: var(--muted); font-size: .82rem; font-weight: 600; }

/* ============================ FAQ ============================ */
.faq { max-width: 760px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-q { cursor: pointer; list-style: none; padding: 20px 4px; font-size: 1.08rem; font-weight: 500; color: var(--ink); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after { content: "+"; font-weight: 300; font-size: 1.5rem; color: var(--gold); transition: transform .2s; }
.faq-item[open] .faq-q::after { content: "−"; }
.faq-a { padding: 0 4px 22px; color: var(--ink-2); line-height: 1.7; }

/* ============================ CTA band ============================ */
.cta-band { text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 48px 30px; }
.cta-band h2 { font-size: clamp(1.7rem,4vw,2.4rem); font-weight: 700; margin: 0 0 10px; }
.cta-band p { color: var(--ink-2); margin: 0 auto 4px; max-width: 520px; }
.cta-band .cta-row { justify-content: center; }
.btn.ghost.light { border-color: var(--line-2); color: var(--ink); }

/* ============================ prose / about / legal ============================ */
.prose h2 { font-size: 1.4rem; font-weight: 600; margin: 26px 0 10px; }
.prose h2:first-child { margin-top: 4px; }
.prose p { color: var(--ink-2); line-height: 1.8; margin: 0 0 14px; }
.ticks { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 10px; }
.ticks li { position: relative; padding-inline-start: 26px; color: var(--ink-2); line-height: 1.7; }
.ticks li::before { content: "✓"; position: absolute; inset-inline-start: 0; color: var(--ink); font-weight: 700; }
.legal-date { color: var(--muted); font-size: .85rem; margin-top: 26px; }

/* ============================ article page ============================ */
.article { max-width: 760px; margin: 0 auto; }
.article-head { padding: 14px 0 22px; border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.article-head h1 { font-size: clamp(1.9rem,4.6vw,2.9rem); font-weight: 700; line-height: 1.2; margin: 8px 0 12px; }
.article-byline { color: var(--muted); font-size: .9rem; margin: 0; }
.article-body { font-size: 1.06rem; line-height: 1.85; color: var(--ink-2); }
.article-body h2 { font-size: 1.45rem; font-weight: 600; color: var(--ink); margin: 32px 0 12px; }
.article-body p { margin: 0 0 16px; }
.article-body ul { padding-inline-start: 22px; margin: 0 0 16px; }
.article-body li { margin-bottom: 8px; }
.article-body strong { color: var(--ink); font-weight: 600; }
.article-body figure { margin: 22px 0; }
.article-body figure img { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); background: var(--paper); }
.article-body figcaption { font-size: .84rem; color: var(--muted); margin-top: 8px; text-align: center; }
.article-body a { color: var(--brass-text); font-weight: 600; }
.video-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 18px 0; border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--line); background: #000; }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.article-note { font-size: .92rem; color: var(--muted); font-style: italic; border-inline-start: 2px solid var(--line-2); padding-inline-start: 16px; margin-top: 28px; }
.article-cta { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 28px; margin-top: 40px; text-align: center; }
.article-cta h3 { font-size: 1.3rem; font-weight: 600; margin: 0 0 6px; }
.article-cta p { color: var(--ink-2); margin: 0; }
.article-cta .cta-row { justify-content: center; }

/* ============================ contact ============================ */
.contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px; align-items: start; }
@media (max-width: 760px){ .contact-grid { grid-template-columns: 1fr; } }
.ci-intro { color: var(--ink-2); font-size: .96rem; margin: 4px 0 6px; }
.contact-rows { list-style: none; padding: 0; margin: 6px 0 0; display: grid; gap: 0; }
.contact-rows li { display: flex; align-items: center; gap: 15px; padding: 15px 2px; border-bottom: 1px solid var(--line); }
.contact-rows li:last-child { border-bottom: none; }
.ci-ic { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--emerald-lt); color: var(--emerald-dk); display: grid; place-items: center; }
.ci-ic svg { width: 20px; height: 20px; }
.ci-wa { background: #e4f6ec; color: #128c3e; }
.ci-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ci-label { color: var(--muted); font-size: .74rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 600; }
.ci-body a, .ci-val { color: var(--ink); font-weight: 600; font-size: 1.02rem; text-decoration: none; }
.ci-body a:hover { color: var(--emerald); }
/* מפות סניפים */
.branch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
@media (max-width: 760px){ .branch-grid { grid-template-columns: 1fr; } }
.branch-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.branch-map { position: relative; width: 100%; aspect-ratio: 16 / 10; background: var(--paper-2); }
.branch-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.branch-body { padding: 18px 20px 20px; }
.branch-body h3 { margin: 0 0 4px; font-size: 1.2rem; font-weight: 600; color: var(--ink); }
.branch-body p { margin: 0 0 12px; color: var(--ink-2); font-size: .96rem; }
.branch-link { color: var(--emerald); font-weight: 600; font-size: .92rem; text-decoration: none; }
.branch-link:hover { text-decoration: underline; }

.sent-ok { text-align: center; padding: 20px 0; }
.sent-ok .big-emoji { font-size: 2rem; color: var(--ink); }
.sent-ok h2 { font-weight: 700; }

/* ============================ footer (firm) ============================ */
.footer-grid { max-width: 1080px; margin: 0 auto; padding: 48px 24px 28px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 30px; }
@media (max-width: 760px){ .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; } }
@media (max-width: 460px){ .footer-grid { grid-template-columns: 1fr; } }
.foot-col h4 { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--brass-text); margin: 0 0 14px; font-weight: 700; }
.foot-col nav { display: grid; gap: 9px; }
.foot-col nav a { color: var(--ink-2); text-decoration: none; font-size: .92rem; }
.foot-col nav a:hover { color: var(--ink); text-decoration: underline; }
.foot-brand .logo-name { font-family: var(--word); font-size: 1.4rem; letter-spacing: .26em; text-transform: uppercase; }
.foot-brand .logo-sub { font-size: .58rem; letter-spacing: .44em; color: var(--logo-sub); text-align: center; }
.foot-brand .slogan { color: var(--ink-2); font-size: .92rem; margin: 14px 0 12px; max-width: 280px; }
.foot-contact { color: var(--ink-2); font-size: .9rem; line-height: 1.9; margin: 0; }
.foot-contact a { color: var(--ink); text-decoration: none; }
.foot-contact a:hover { text-decoration: underline; }
.footer-base { border-top: 1px solid var(--line); }
.footer-base { max-width: 1080px; margin: 0 auto; padding: 18px 24px 26px; }
.disclaimer { color: var(--muted); font-size: .78rem; line-height: 1.6; margin: 0 0 8px; }
.footer .copyright { text-align: start; color: var(--muted); font-size: .8rem; padding: 0; }

/* ============================ calculators ============================ */
.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 10px; }
@media (max-width: 760px){ .calc-grid { grid-template-columns: 1fr; } }
.calc-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px clamp(20px,3vw,30px); }
.calc-card h2 { font-size: 1.3rem; font-weight: 600; margin: 0 0 4px; }
.calc-sub { color: var(--ink-2); font-size: .92rem; margin: 0 0 18px; }
.calc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.calc-fields > label:only-child, .calc-fields .calc-radio { grid-column: 1 / -1; }
@media (max-width: 460px){ .calc-fields { grid-template-columns: 1fr; } }
.calc-radio { display: flex; gap: 18px; flex-wrap: wrap; }
.calc-radio label { font-weight: 500; color: var(--ink-2); }
.calc-radio input { width: auto; accent-color: var(--ink); }
.calc-out { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 8px; }
.calc-line { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: .95rem; }
.calc-line b { font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.calc-result { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; background: var(--ink); color: var(--paper); border-radius: var(--radius-sm); padding: 16px 18px; }
.calc-result span { font-weight: 300; }
.calc-result b { font-family: var(--serif); font-weight: 700; font-size: 1.7rem; color: #fff; font-variant-numeric: tabular-nums; }
.calc-result b.patur-ok { color: #8fe0a6; font-size: 1.3rem; font-family: var(--sans); font-weight: 600; }
.calc-result b.patur-over { color: #f0b49a; font-size: 1.3rem; font-family: var(--sans); font-weight: 600; }
.calc-detail { margin: 12px 0 0; color: var(--ink-2); font-size: .92rem; line-height: 1.6; }
.calc-disclaimer { max-width: 820px; margin: 22px auto 0; color: var(--muted); font-size: .85rem; line-height: 1.6; text-align: center; }
.calc-disclaimer a { color: var(--ink); }

/* ============================ boomerang promo (מותג חיצוני — במכוון שונה) ============================
   BOOMERANG הוא מוצר/מותג נפרד (מערכת החזרי מס לשכירים) עם זהות ויזואלית משלו
   (קרם+ליים+אוניקס, Rubik, כפתורי גלולה, פינות עגולות). כשמקדמים אותו באתר
   SHMUNIS, האזור הזה בכוונה *לא* מתלבש בעיצוב המונוכרום-סריפי של שאר האתר —
   אבל בגרסה הקלילה-הבהירה של BOOMERANG (כמו רוב הכרטיסים באתר שלהם עצמם),
   לא הכרטיס הכהה הנדיר שבהירו. קליל, לא "צועק", אבל מזוהה מיד כמותג אחר. */
.boo-promo {
  background: #f4f5f1;
  border: 1.5px solid #e3e4df;
  border-radius: 22px;
  color: #111210;
  padding: 32px clamp(24px,3vw,36px);
  display: flex;
  flex-direction: column;
  font-family: "Heebo", "Assistant", sans-serif;
  box-shadow: 0 16px 40px -28px rgba(17,18,16,.22);
}
/* חשוב: לא flex! בעמוד RTL, flex הופך את הסדר החזותי של מקטעי המילה הלטינית
   (b·o·o·merang מתערבבים ל-merangoob) ומוסיף gap בין האותיות. זרימת inline
   רגילה עם בידוד bidi מציגה את המילה נכון, והניצוץ ממוקם עם margin. */
.boo-wordmark { display: inline-block; direction: ltr; unicode-bidi: isolate; font-family: "Fredoka", sans-serif; font-weight: 600; font-size: 1.15rem; letter-spacing: .01em; margin-bottom: 14px; color: #111210; }
.boo-wordmark .c1, .boo-wordmark .c2 { color: #111210; }
.boo-spark { color: #d4fc3a; margin-inline-end: 6px; }
.boo-spark svg { width: 15px; height: 15px; vertical-align: -2px; }
.boo-kicker { display: inline-flex; align-self: flex-start; background: #d4fc3a; color: #111210; font-weight: 800; letter-spacing: .02em; font-size: .72rem; padding: 5px 14px; border-radius: 999px; margin-bottom: 14px; }
.boo-promo h3 { font-family: "Rubik", sans-serif; font-weight: 700; font-size: 1.5rem; margin: 0 0 10px; color: #111210; letter-spacing: -.01em; }
.boo-promo p { font-family: "Heebo", sans-serif; color: #4a4a45; margin: 0 0 20px; flex: 1; line-height: 1.6; }
.boo-btn { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; background: #111210; color: #d4fc3a; font-family: "Rubik", sans-serif; font-weight: 700; font-size: 1rem; padding: 13px 26px; border-radius: 999px; text-decoration: none; transition: transform .15s, background .15s; }
.boo-btn:hover { background: #2b2b27; transform: translateY(-2px); }
.boo-ext { display: block; margin-top: 12px; color: #8b8b84; font-size: .78rem; font-family: "Heebo", sans-serif; }

/* גרסה מצומצמת — רצועת הפניה (לא כרטיס מלא), לשימוש בתוך עמוד קיים */
.boo-strip { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: #f4f5f1; color: #111210; border: 1.5px solid #e3e4df; border-radius: 16px; padding: 16px 20px; font-family: "Heebo", "Assistant", sans-serif; }
.boo-strip .boo-wordmark { margin: 0; }
.boo-strip p { margin: 0; flex: 1; min-width: 200px; color: #4a4a45; font-size: .95rem; }
.boo-strip strong { color: #6d8a12; }
.boo-strip .boo-btn { padding: 10px 20px; font-size: .92rem; flex: none; }

/* קישור פוטר — נקודת ליים קטנה, רמז עדין למותג אחר בלי לשבור את עיצוב הפוטר */
.boo-foot-link { display: inline-flex; align-items: center; gap: 7px; }
.boo-dot { width: 7px; height: 7px; border-radius: 50%; background: #c2ee24; flex: none; }

/* ============================ digital tools (duo) ============================ */
.duo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 760px){ .duo-grid { grid-template-columns: 1fr; } }
.duo-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px clamp(24px,3vw,36px); display: flex; flex-direction: column; }
.duo-card .kicker { color: var(--brass-text); font-weight: 700; letter-spacing: .16em; font-size: .72rem; text-transform: uppercase; }
.duo-card h3 { font-family: var(--serif); font-weight: 700; font-size: 1.5rem; margin: 10px 0 10px; color: var(--ink); }
.duo-card p { color: var(--ink-2); margin: 0 0 20px; flex: 1; }
.duo-card .btn { margin-top: 0; align-self: flex-start; }
.duo-ext { display: block; margin-top: 10px; color: var(--muted); font-size: .78rem; }

/* ============================ testimonials ============================ */
.testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
@media (max-width: 820px){ .testi-grid { grid-template-columns: 1fr; } }
.testi-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 28px 26px; display: flex; flex-direction: column; }
.testi-card blockquote { margin: 0 0 18px; padding: 0; font-family: var(--serif); font-weight: 500; font-size: 1.1rem; line-height: 1.7; color: var(--ink); position: relative; }
.testi-card blockquote::before { content: "“"; font-family: var(--serif); font-size: 2.6rem; color: var(--gold); line-height: 0; position: absolute; inset-inline-start: -4px; top: 14px; opacity: .5; }
.testi-card figcaption { margin-top: auto; display: flex; flex-direction: column; gap: 1px; border-top: 1px solid var(--line); padding-top: 14px; }
.testi-name { font-weight: 600; color: var(--ink); }
.testi-role { color: var(--muted); font-size: .85rem; }

/* ============================ booking meta (admin) ============================ */
.booking-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }

/* ============================ tools row (home teaser) ============================ */
.tools-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 6px auto 18px; max-width: 720px; }
.tool-chip { background: var(--surface); border: 1px solid var(--line-2); border-radius: 999px; padding: 11px 22px; font-weight: 500; color: var(--ink); text-decoration: none; transition: background .15s, border-color .15s; }
.tool-chip:hover { background: var(--emerald); color: #fff; border-color: var(--emerald); }

/* ============================ useful info ============================ */
.info-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
@media (max-width: 760px){ .info-grid { grid-template-columns: 1fr; } }
.info-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 24px; }
.info-card h3 { font-size: 1.05rem; font-weight: 600; margin: 0 0 14px; color: var(--ink); }
.info-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.info-list li { display: flex; justify-content: space-between; align-items: baseline; padding: 9px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: .92rem; }
.info-list li:last-child { border-bottom: none; }
.info-list li b { font-weight: 600; color: var(--ink); }
.info-note { color: var(--muted); font-size: .82rem; margin: 10px 0 0; }
.info-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.info-links a { color: var(--ink); text-decoration: none; font-weight: 500; border-bottom: 1px solid var(--gold); padding-bottom: 2px; display: inline-block; }
.info-links a:hover { border-color: var(--ink); }

/* ============================ סרגל ניווט אזור המשרד ============================ */
.admin-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 18px; padding: 7px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.admin-nav a { padding: 7px 14px; border-radius: 999px; text-decoration: none; color: var(--ink-2); font-weight: 600; font-size: .9rem; white-space: nowrap; }
.admin-nav a:hover { background: var(--paper); color: var(--ink); }
.admin-nav a.on { background: var(--ink); color: #fff; }
.nav-badge { display: inline-block; background: var(--neg); color: #fff; border-radius: 999px; font-size: .7rem; padding: 1px 7px; font-weight: 800; vertical-align: 2px; }
.admin-nav .nav-out { margin-inline-start: auto; color: var(--muted); }

/* ============================ מעקב תשלומים (גריד חודשי) ============================ */
.month-nav { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 14px 0 4px; }
.month-title { font-family: var(--serif); font-weight: 700; font-size: 1.5rem; color: var(--ink); min-width: 110px; text-align: center; }
.pay-grid th { white-space: nowrap; }
.pay-grid td { vertical-align: middle; }
.kind-chip { display: inline-block; font-size: .68rem; font-weight: 700; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px; margin-inline-start: 6px; white-space: nowrap; }

/* מסך אחד: הגריד דחוס כך שכל העמודות נכנסות בלי גלילה הצידה */
/* overflow:visible חובה — overflow-x:auto הופך את העטיפה ל-scroll container ושובר את ה-sticky של הכותרות */
.pay-wrap { overflow: visible; }
.pay-grid { table-layout: auto; }
.pay-grid th, .pay-grid td { padding: 8px 5px; font-size: .84rem; }
.pay-client { min-width: 130px; max-width: 200px; }
.pay-client b { font-size: .86rem; }

/* כותרות קפואות — נדבקות מתחת לטופ-בר בזמן גלילה */
.pay-grid thead th {
  position: sticky; top: 75px; z-index: 5;   /* מעט פחות מגובה הטופ-בר (76px) — בלי רווח מציץ */
  background: var(--surface);
  box-shadow: 0 2px 0 var(--line);
}
/* שורת הסיכום קפואה בתחתית — סה"כ תמיד לנגד העיניים */
.pay-grid tfoot td { position: sticky; bottom: 0; z-index: 4; box-shadow: 0 -2px 0 var(--ink); }

.pay-cell { display: inline-flex; align-items: center; gap: 4px; }
.pay-cell input[type=number] { width: 64px; padding: 6px 4px; font-size: .84rem; text-align: center; }
.pay-cell input[type=number]::-webkit-outer-spin-button,
.pay-cell input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pay-paid { flex-direction: row; align-items: center; gap: 2px; font-size: .78rem; color: var(--muted); cursor: pointer; font-weight: 700; }
.pay-paid input { width: auto; accent-color: var(--pos); }
.pay-paid:has(input:checked) { color: var(--pos); }
.pay-total { font-family: var(--serif); font-weight: 700; white-space: nowrap; }
.pay-foot td { font-weight: 800; border-top: 2px solid var(--ink); background: var(--paper); }

/* עמודות סימון V (משכורות · הנה"ח · פנסיה · נבדק) — פנימי למשרד */
.mark-col { text-align: center; background: #f6f3ea; border-inline-start: 1px solid var(--line); }
.mark-col input { width: 19px; height: 19px; accent-color: var(--pos); cursor: pointer; }
.row-missing { background: #fdf3ee; }
.row-missing .pay-client b { color: var(--neg); }
.row-missing .mark-col input:not(:checked) { outline: 2px solid var(--neg); outline-offset: 1px; border-radius: 3px; }

/* עמודת פעולות וואטסאפ — צ'יפים קטנים לכל לקוח */
.col-actions { min-width: 130px; }
.pay-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.act { display: inline-flex; align-items: center; gap: 3px; font-size: .74rem; font-weight: 700; white-space: nowrap;
       padding: 4px 8px; border-radius: 999px; text-decoration: none; border: 1px solid var(--line-2); }
.act.pay { background: #eaf3ee; color: #1f6e43; border-color: #bcd9c8; }
.act.warn { background: #fbeee6; color: #9a4a2c; border-color: #eccbb8; }
.act.pay:hover, .act.warn:hover { filter: brightness(.96); }
.act.off { background: var(--paper-2); color: var(--muted); border-color: var(--line); opacity: .55; cursor: not-allowed; pointer-events: none; }

/* במסכים צרים אין ברירה — חוזרים לגלילה אופקית (וה-sticky האנכי נשאר בזכות העטיפה) */
@media (max-width: 1100px) {
  .pay-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pay-grid thead th { top: 0; }
}

/* ============================ לקוחות המשרד ============================ */
.cats-row { display: flex; gap: 8px 20px; flex-wrap: wrap; }
.cats-row label { flex-direction: row; align-items: center; gap: 7px; font-weight: 600; cursor: pointer; }
.cats-row input { width: auto; accent-color: var(--ink); }
.clients-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.client-row { border-bottom: 1px solid var(--line); }
.client-row > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 14px 6px; flex-wrap: wrap; }
.client-row > summary::-webkit-details-marker { display: none; }
.client-row > summary:hover { background: #f3faf6; }
.client-row.inactive > summary b { color: var(--muted); text-decoration: line-through; }
.client-edit { background: var(--paper); border-radius: var(--radius-sm); padding: 16px; margin: 4px 0 10px; }
.linklike { background: none; border: none; padding: 0; color: var(--muted); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; text-decoration: underline; }
.linklike:hover { color: var(--ink); }

/* ============================ חתימה דיגיטלית (ייפוי כוח) ============================ */
.sig-pad { width: 100%; height: 180px; border: 2px dashed var(--line-2); border-radius: var(--radius-sm); background: #fff; cursor: crosshair; touch-action: none; display: block; }
.sig-row { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; }
.poa-text { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px 18px; line-height: 1.8; font-size: .95rem; color: var(--ink-2); }

/* ============================ admin messages ============================ */
.msg-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.msg-item { padding: 16px 4px; border-bottom: 1px solid var(--line); }
.msg-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.msg-contact { color: var(--ink-2); font-size: .9rem; margin: 4px 0; }
.msg-contact a { color: var(--ink); font-weight: 600; text-decoration: none; }
.msg-body { margin: 6px 0 0; color: var(--ink-2); background: var(--paper); border-radius: var(--radius-sm); padding: 10px 14px; }
