/* site.css — shared: fonts, colour tokens, the drawing-sheet backgrounds, legal pages, accessibility menu, cookie bar.
   v3i (20/10/2026, Yaakov 16:14: «תנסה לעשות את כל האתר יותר מודרני על רקעים של בים כתבי כמויות וכאלו כמו בAIN»):
   a dark drawing-sheet theme. Navy sheet, amber for actions and prices (the site's colours), cyan for model lines.
   No external requests: IBM Plex Sans Hebrew (SIL OFL 1.1, /media/fonts/OFL.txt) is served from this site. */

@font-face{font-family:'Plex';font-style:normal;font-weight:400;font-display:swap;src:url('/media/fonts/plex-hebrew-400.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:'Plex';font-style:normal;font-weight:700;font-display:swap;src:url('/media/fonts/plex-hebrew-700.woff2') format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:'Plex';font-style:normal;font-weight:400;font-display:swap;src:url('/media/fonts/plex-latin-400.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2190-2193}
@font-face{font-family:'Plex';font-style:normal;font-weight:700;font-display:swap;src:url('/media/fonts/plex-latin-700.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+2013-2014,U+2018-201E,U+2022,U+2026,U+2032-2033,U+2190-2193}

:root{
  --sheet:#0b1b2d;--sheet-2:#0f2337;--sheet-3:#14304b;--edge:#24425f;--edge-soft:rgba(98,198,242,.16);
  --ink:#e4edf6;--muted:#a6b8ca;--head:#ffffff;
  --amber:#f0b429;--amber-deep:#d99b1c;--amber-ink:#14202c;
  --cyan:#62c6f2;--cyan-deep:#2f9fd6;
  --navy:#123a5c;--navy-deep:#0c2a44;--bg:var(--sheet);--card:var(--sheet-2);--line:var(--edge);
  --font:'Plex','IBM Plex Sans Hebrew','Heebo','Segoe UI','Noto Sans Hebrew','Arial Hebrew',Arial,system-ui,sans-serif;
  --grid:linear-gradient(rgba(98,198,242,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(98,198,242,.065) 1px,transparent 1px),
         linear-gradient(rgba(98,198,242,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(98,198,242,.03) 1px,transparent 1px);
  --grid-size:120px 120px,120px 120px,24px 24px,24px 24px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--sheet)}
body{font-family:var(--font);color:var(--ink);background-color:var(--sheet)}
::selection{background:rgba(240,180,41,.35);color:#fff}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.skip-link{position:absolute;top:-48px;right:8px;background:var(--amber);color:var(--amber-ink);font-weight:700;padding:8px 16px;border-radius:0 0 8px 8px;z-index:100;transition:top .2s}
.skip-link:focus{top:0}

/* ---------- The drawing sheet: a blueprint grid on every page ---------- */
.sheet-grid{background-color:var(--sheet);background-image:var(--grid);background-size:var(--grid-size)}

/* ---------- Legal pages ---------- */
body:has(.legal){margin:0;color:var(--ink);background-color:var(--sheet);background-image:var(--grid);background-size:var(--grid-size);line-height:1.8}
.legal{max-width:800px;margin:0 auto;padding:48px 20px 72px}
.legal h1{color:var(--head);font-size:clamp(1.7rem,4vw,2.2rem);line-height:1.3;margin:0 0 8px}
.legal h2{color:var(--head);font-size:1.2rem;margin:32px 0 8px;padding-top:10px;border-top:1px solid var(--edge)}
.legal h3{color:var(--head);font-size:1.02rem;margin:18px 0 6px}
.legal p{margin:0 0 12px}
.legal ul{margin:0 0 12px;padding-right:22px}
.legal li{margin-bottom:6px}
.legal a{color:var(--cyan)}
.legal a:hover{color:#fff}
.legal .back{display:inline-block;margin-bottom:28px;text-decoration:none;font-weight:700;color:var(--amber)}
.legal .meta{color:var(--muted);font-size:.9rem}
.legal code{background:var(--sheet-3);border:1px solid var(--edge);border-radius:4px;padding:0 4px;color:#fff}
.legal table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:.93rem;background:var(--sheet-2)}
.legal th,.legal td{border:1px solid var(--edge);padding:8px 10px;text-align:right;vertical-align:top}
.legal th{background:var(--sheet-3);color:#fff}
/* engagement-terms.html sets a light callout in its own <style>: the dark one wins by specificity */
html body .legal .callout{background:var(--sheet-2);border:1px solid var(--edge);border-right:4px solid var(--amber);color:var(--ink)}
@media(max-width:600px){.legal table{display:block;overflow-x:auto}}

/* ---------- Consent row in contact form ---------- */
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;line-height:1.5}
.consent input{width:auto;margin-top:4px;flex:none;accent-color:var(--amber)}
.consent a{color:#fff;text-decoration:underline}
.consent a:hover{color:var(--amber)}

/* ---------- Footer legal links ---------- */
.f-links{display:flex;gap:16px;flex-wrap:wrap}

/* ---------- Accessibility menu ---------- */
.a11y-btn{position:fixed;bottom:18px;left:18px;z-index:9000;width:52px;height:52px;border-radius:50%;border:2px solid var(--cyan);background:var(--sheet-2);color:#fff;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:0}
.a11y-btn svg{width:28px;height:28px;fill:#fff}
.a11y-btn:hover,.a11y-btn:focus-visible{background:var(--sheet-3)}
.a11y-panel{position:fixed;bottom:80px;left:18px;z-index:9001;width:min(300px,calc(100vw - 36px));background:var(--sheet-2);color:var(--ink);border:1px solid var(--edge);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.5);padding:16px;font-family:var(--font);direction:rtl}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{font-size:1.05rem;margin:0 0 12px;color:#fff}
.a11y-panel .row{display:grid;gap:8px}
.a11y-panel button{width:100%;text-align:right;padding:10px 12px;border:1px solid var(--edge);background:var(--sheet);color:var(--ink);border-radius:8px;cursor:pointer;font:inherit;font-size:.95rem}
.a11y-panel button:hover{border-color:var(--cyan)}
.a11y-panel button[aria-pressed="true"]{background:var(--amber);color:var(--amber-ink);border-color:var(--amber)}
.a11y-panel .reset{margin-top:10px;background:transparent;color:var(--amber);font-weight:700}
.a11y-panel .close{position:absolute;top:8px;left:8px;width:32px;height:32px;padding:0;border-radius:50%;font-size:1.1rem;line-height:1;background:transparent;border:none;color:var(--ink)}
.a11y-panel .note{font-size:.8rem;color:var(--muted);margin:10px 0 0}
.a11y-panel .note a{color:var(--cyan)}

/* ---------- Accessibility modes (applied on <html>) ---------- */
html.a11y-text-1{font-size:112%}
html.a11y-text-2{font-size:125%}
html.a11y-text-3{font-size:140%}
html.a11y-contrast,html.a11y-contrast body{background:#000 !important;color:#fff !important}
html.a11y-contrast *:not(.a11y-btn):not(.a11y-btn *):not(.a11y-panel):not(.a11y-panel *){background-color:#000 !important;color:#fff !important;border-color:#fff !important;box-shadow:none !important;background-image:none !important}
html.a11y-contrast a{color:#ffd700 !important;text-decoration:underline !important}
html.a11y-contrast .btn,html.a11y-contrast button:not(.a11y-panel button){background:#ffd700 !important;color:#000 !important;border:2px solid #fff !important}
html.a11y-contrast input,html.a11y-contrast textarea{background:#111 !important;color:#fff !important;border:2px solid #fff !important}
html.a11y-contrast img{filter:contrast(1.15)}
html.a11y-contrast svg.bim,html.a11y-contrast .boq-card{display:none !important}
html.a11y-links a{text-decoration:underline !important;text-underline-offset:3px;text-decoration-thickness:2px}
html.a11y-font,html.a11y-font body,html.a11y-font *{font-family:Arial,Helvetica,'Segoe UI',sans-serif !important;letter-spacing:.02em}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

/* ---- cookie consent banner -------------------------------------------------
   Non-modal region pinned to the bottom. Never traps focus, never covers the
   whole viewport, and respects every accessibility mode of the a11y menu. */
.ck-bar{position:fixed;inset-inline:0;bottom:0;z-index:9998;background:rgba(9,22,37,.97);color:#fff;
  border-top:2px solid var(--amber);box-shadow:0 -6px 24px rgba(0,0,0,.45)}
.ck-in{max-width:60rem;margin:0 auto;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;
  gap:.75rem 1.25rem;align-items:center;justify-content:space-between}
.ck-tx{margin:0;flex:1 1 22rem;font-size:.95rem;line-height:1.6}
.ck-tx a{color:#ffd97a;text-decoration:underline}
.ck-tx a:hover,.ck-tx a:focus-visible{color:#fff}
.ck-btns{display:flex;gap:.6rem;flex:0 0 auto}
.ck-bar button{font:inherit;font-weight:700;cursor:pointer;border-radius:8px;
  padding:.6rem 1.4rem;min-height:44px;border:2px solid transparent}
.ck-ok{background:var(--amber);color:var(--amber-ink)}
.ck-ok:hover{background:#ffc94d}
.ck-no{background:#fff;color:#0f2740;border-color:#fff}   /* as prominent as accept: a refusal is as easy as consent */
.ck-no:hover{background:#e3ebf3}
.ck-bar button:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* footer button that reopens the choice — styled to match the legal links */
.ck-link{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px}
.ck-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* note tied to the message field via aria-describedby (r-362) */
.field-note{margin:6px 0 0;font-size:.86rem;line-height:1.5;opacity:.85}

/* footer created by site.js on pages that have none (privacy, terms, accessibility) */
.ck-foot{text-align:center;padding:20px 16px 28px;font-size:.92rem;color:var(--muted)}

/* 20/10/2026: on phones a low bar (it covered about half of a 390×844 screen): the short text and two equal buttons */
@media (max-width:34rem){
  .ck-in{padding:.55rem .85rem .65rem;gap:.45rem}
  .ck-tx{flex:1 1 100%;font-size:.84rem;line-height:1.45}
  .ck-more{display:none}
  .ck-btns{flex:1 1 100%;justify-content:stretch}
  .ck-btns button{flex:1;padding:.4rem .8rem;min-height:44px}
}

/* high-contrast mode from the accessibility menu */
.a11y-contrast .ck-bar{background:#000;color:#fff;border-top-color:#ff0}
.a11y-contrast .ck-ok{background:#ff0;color:#000}
.a11y-contrast .ck-no{background:#000;color:#fff;border-color:#fff}
.a11y-contrast .ck-tx a{color:#ff0}
/* emphasised links mode */
.a11y-links .ck-tx a{outline:2px solid #ffd97a;outline-offset:2px}
