/* Eyal Media site kit — shared by every page: consent banner, accessibility toolbar, skip link, language toggle.
   Uses the page's own CSS variables when present (--bg, --card, --text, --text-dim, --line, --accent, --accent-2). */

.em-skip{
  position:fixed; top:8px; inset-inline-start:8px; z-index:10000;
  background:#fff; color:#000; padding:12px 18px; border-radius:10px; font-weight:800;
  transform:translateY(-200%);
}
.em-skip:focus{ transform:none; }

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--accent-2,#ffb63c); outline-offset:3px; border-radius:6px;
}

.em-lang{
  background:transparent; color:var(--text-dim,#a3a4b0); border:1.5px solid var(--line,rgba(255,255,255,.12));
  border-radius:100px; padding:6px 14px; font:inherit; font-size:13px; font-weight:800; cursor:pointer;
}
.em-lang:hover{ color:var(--text,#f4f4f6); border-color:rgba(255,255,255,.35); }

/* ---------- cookie consent ---------- */
.em-consent{
  position:fixed; z-index:9000; inset-inline:16px; bottom:16px; margin-inline:auto; max-width:620px;
  background:var(--card,#16171f); color:var(--text,#f4f4f6);
  border:1px solid var(--line,rgba(255,255,255,.12)); border-radius:20px; padding:22px;
  box-shadow:0 20px 60px rgba(0,0,0,.55); font-family:inherit;
}
.em-consent h2{ font-size:18px; font-weight:900; margin:0 0 8px; letter-spacing:0; }
.em-consent p{ font-size:14px; line-height:1.6; color:var(--text-dim,#a3a4b0); margin:0 0 16px; }
.em-consent p a{ color:var(--text,#f4f4f6); text-decoration:underline; }
.em-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.em-actions .em-btn{ flex:1 1 150px; }
.em-btn{
  font:inherit; font-weight:800; font-size:14px; padding:12px 16px; border-radius:100px; cursor:pointer;
  border:1.5px solid transparent; min-height:44px;
}
.em-btn-accept{ background:linear-gradient(90deg,var(--accent,#ff5a3c),var(--accent-2,#ffb63c)); color:#111; }
.em-btn-reject{ background:var(--text,#f4f4f6); color:#111; }
.em-btn-ghost{ background:transparent; color:var(--text,#f4f4f6); border-color:rgba(255,255,255,.35); }
.em-btn:hover{ filter:brightness(1.08); }

.em-modal-back{
  position:fixed; inset:0; z-index:9500; background:rgba(0,0,0,.7);
  display:flex; align-items:center; justify-content:center; padding:16px;
}
.em-modal{
  background:var(--card,#16171f); color:var(--text,#f4f4f6); width:100%; max-width:560px; max-height:90vh; overflow:auto;
  border:1px solid var(--line,rgba(255,255,255,.12)); border-radius:22px; padding:26px; font-family:inherit;
}
.em-modal h2{ font-size:20px; font-weight:900; margin:0 0 6px; letter-spacing:0; }
.em-modal > p{ font-size:14px; color:var(--text-dim,#a3a4b0); margin:0 0 18px; line-height:1.6; }
.em-cat{ border-top:1px solid var(--line,rgba(255,255,255,.12)); padding:16px 0; display:flex; gap:16px; align-items:flex-start; justify-content:space-between; }
.em-cat h3{ font-size:16px; font-weight:800; margin:0 0 4px; }
.em-cat p{ font-size:13px; color:var(--text-dim,#a3a4b0); line-height:1.6; margin:0; }
.em-switch{ position:relative; flex:none; width:52px; height:30px; }
.em-switch input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; z-index:1; }
.em-switch input:disabled{ cursor:not-allowed; }
.em-switch span{ position:absolute; inset:0; border-radius:100px; background:#3a3b46; transition:background .15s; pointer-events:none; }
.em-switch span::after{ content:''; position:absolute; top:3px; inset-inline-start:3px; width:24px; height:24px; border-radius:50%; background:#fff; transition:transform .15s; }
.em-switch input:checked + span{ background:#22c55e; }
html[dir=rtl] .em-switch input:checked + span::after{ transform:translateX(-22px); }
html[dir=ltr] .em-switch input:checked + span::after{ transform:translateX(22px); }
.em-switch input:disabled + span{ opacity:.6; }
.em-switch input:focus-visible + span{ outline:3px solid var(--accent-2,#ffb63c); outline-offset:3px; }
.em-modal .em-actions{ margin-top:18px; }

/* ---------- accessibility toolbar ---------- */
.em-a11y-btn{
  position:fixed; z-index:8000; left:16px; bottom:16px; width:52px; height:52px; border-radius:50%;
  background:#1d4ed8; color:#fff; border:3px solid #fff; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.45);
}
.em-a11y-btn svg{ width:28px; height:28px; fill:currentColor; }
.em-a11y-panel{
  position:fixed; z-index:8001; left:16px; bottom:80px; width:min(340px, calc(100vw - 32px)); max-height:calc(100vh - 100px); overflow:auto;
  background:#fff; color:#111; border-radius:18px; padding:18px; box-shadow:0 20px 60px rgba(0,0,0,.5); font-family:inherit;
}
.em-a11y-panel h2{ font-size:18px; font-weight:900; margin:0 0 12px; color:#111; letter-spacing:0; }
.em-a11y-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.em-a11y-grid button, .em-a11y-reset{
  font:inherit; font-size:13.5px; font-weight:700; padding:12px 8px; min-height:48px; border-radius:12px; cursor:pointer;
  background:#f1f5f9; color:#111; border:2px solid #cbd5e1; text-align:center;
}
.em-a11y-grid button[aria-pressed=true]{ background:#1d4ed8; color:#fff; border-color:#1d4ed8; }
.em-a11y-reset{ width:100%; margin-top:10px; background:#fff; }
.em-a11y-links{ display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; font-size:13px; }
.em-a11y-links a{ color:#1d4ed8; text-decoration:underline; }
.em-a11y-panel :focus-visible{ outline:3px solid #1d4ed8; }

/* ---------- accessibility modes (toggled on <html>) ---------- */
html.em-text-1 body{ zoom:1.1; }
html.em-text-2 body{ zoom:1.25; }
html.em-text-3 body{ zoom:1.5; }
html.em-links a{ text-decoration:underline !important; text-underline-offset:3px; }
html.em-links a:not(.em-skip){ outline:1px dashed currentColor; outline-offset:2px; }
html.em-font body, html.em-font body *{ font-family:Arial, Helvetica, sans-serif !important; }
html.em-spacing body{ line-height:1.9 !important; letter-spacing:.04em; word-spacing:.12em; }
html.em-motion *, html.em-motion *::before, html.em-motion *::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
html.em-gray{ filter:grayscale(1); }
html.em-contrast{
  --bg:#000; --bg-soft:#000; --card:#000; --text:#fff; --text-dim:#fff; --line:#fff; --accent:#ffe600; --accent-2:#ffe600; --accent-soft:#000;
}
html.em-contrast body, html.em-contrast section, html.em-contrast header, html.em-contrast footer, html.em-contrast main{ background:#000 !important; color:#fff !important; }
html.em-contrast *{ background-image:none !important; text-shadow:none !important; box-shadow:none !important; border-color:#fff !important; }
html.em-contrast a{ color:#ffe600 !important; text-decoration:underline; }
html.em-contrast .btn, html.em-contrast .em-btn{ background:#ffe600 !important; color:#000 !important; border:2px solid #fff !important; }
html.em-contrast .hero-bg, html.em-contrast .phone-visual::before{ display:none; }
html.em-light{
  --bg:#fff; --bg-soft:#fff; --card:#fff; --text:#000; --text-dim:#222; --line:#000; --accent:#0033cc; --accent-2:#0033cc; --accent-soft:#fff;
}
html.em-light body, html.em-light section, html.em-light header, html.em-light footer, html.em-light main{ background:#fff !important; color:#000 !important; }
html.em-light *{ background-image:none !important; text-shadow:none !important; border-color:#000 !important; }
html.em-light a{ color:#0033cc !important; text-decoration:underline; }
html.em-light .btn, html.em-light .em-btn{ background:#0033cc !important; color:#fff !important; }
html.em-light .hero-bg, html.em-light .phone-visual::before{ display:none; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
@media (max-width:520px){
  .em-consent{ inset-inline:8px; bottom:8px; padding:18px; }
  .em-a11y-btn{ left:10px; bottom:10px; width:46px; height:46px; }
  .em-a11y-panel{ left:10px; bottom:66px; }
}

/* keep the toolbar itself readable in every contrast mode */
html .em-a11y-panel, html .em-a11y-panel *{ color:#111 !important; }
html .em-a11y-panel .em-a11y-links a{ color:#1d4ed8 !important; }
html .em-a11y-panel{ background:#fff !important; }
html .em-a11y-panel .em-a11y-grid button, html .em-a11y-panel .em-a11y-reset{ background:#f1f5f9 !important; border-color:#94a3b8 !important; }
html .em-a11y-panel .em-a11y-grid button[aria-pressed=true]{ background:#1d4ed8 !important; color:#fff !important; border-color:#1d4ed8 !important; }
