/* ===== Ragad compliance bundle — iOS-style widgets =====
   Back-to-top, accessibility widget, consent
   IS 5568 (WCAG 2.0 AA) + Israel PPL Amendment 13 + GDPR notice */
:root{
  --a11y-brand:#e29a45; --a11y-brand-dark:#cf7f2c; --base-font-size:16px;
  --ios-green:#34c759; --ios-bg:rgba(250,247,242,.82); --ios-card:#fffdf9;
  --ios-ink:#2c2420; --ios-ink2:#8a7a6c; --ios-line:rgba(120,90,50,.14);
  --ios-radius:22px; --sab:env(safe-area-inset-bottom,0px);
  --ios-font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI','Tajawal','Rubik',system-ui,sans-serif;
}
html{font-size:var(--base-font-size)}

/* ---------- Back to top (iOS glass circle) ---------- */
#toTop{position:fixed;bottom:calc(88px + var(--sab));inset-inline-end:18px;z-index:54;width:46px;height:46px;border-radius:50%;
  border:none;cursor:pointer;background:var(--ios-bg);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  color:var(--a11y-brand-dark);box-shadow:0 8px 24px -8px rgba(80,50,20,.4),0 0 0 .5px rgba(120,90,50,.14);
  display:grid;place-items:center;font-size:1.35rem;opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;
  transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .3s;font-family:var(--ios-font)}
#toTop.show{opacity:1;transform:none;pointer-events:auto}
#toTop:active{transform:scale(.9)}
#toTop:focus-visible{outline:3px solid var(--a11y-brand-dark);outline-offset:3px}

/* ---------- Accessibility trigger (iOS) ---------- */
#a11y-trigger{position:fixed;bottom:calc(18px + var(--sab));inset-inline-start:18px;z-index:56;width:52px;height:52px;border-radius:50%;
  border:none;cursor:pointer;background:var(--a11y-brand);color:#fff;display:grid;place-items:center;
  box-shadow:0 10px 28px -8px rgba(207,127,44,.75),0 0 0 .5px rgba(0,0,0,.05);
  transition:transform .3s cubic-bezier(.32,.72,0,1);animation:a11yPulse 3s infinite}
#a11y-trigger:active{transform:scale(.9)}
#a11y-trigger:focus-visible{outline:3px solid var(--a11y-brand-dark);outline-offset:3px}
@keyframes a11yPulse{0%{box-shadow:0 10px 28px -8px rgba(207,127,44,.75),0 0 0 0 rgba(226,154,69,.45)}70%{box-shadow:0 10px 28px -8px rgba(207,127,44,.75),0 0 0 14px rgba(226,154,69,0)}100%{box-shadow:0 10px 28px -8px rgba(207,127,44,.75),0 0 0 0 rgba(226,154,69,0)}}

/* overlay behind bottom sheet (mobile) */
#a11y-overlay{display:none;position:fixed;inset:0;z-index:56;background:rgba(30,20,10,.32);opacity:0;pointer-events:none;transition:opacity .3s}
#a11y-overlay.show{opacity:1;pointer-events:auto}
@media(max-width:600px){#a11y-overlay{display:block}}

/* ---------- Panel: floating card (desktop) ---------- */
#a11y-panel{position:fixed;bottom:calc(80px + var(--sab));inset-inline-start:18px;z-index:57;width:330px;max-width:calc(100vw - 36px);
  max-height:76vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--ios-bg);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);
  border:.5px solid rgba(255,255,255,.5);border-radius:var(--ios-radius);
  box-shadow:0 30px 70px -20px rgba(40,25,10,.5),0 0 0 .5px var(--ios-line);
  opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;transition:transform .34s cubic-bezier(.32,.72,0,1),opacity .28s;
  font-family:var(--ios-font);color:var(--ios-ink)}
#a11y-panel.open{opacity:1;transform:none;pointer-events:auto}
.a11y-grab{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;position:sticky;top:0;
  background:linear-gradient(180deg,rgba(250,247,242,.9),rgba(250,247,242,.4));backdrop-filter:blur(10px)}
.a11y-head h2{font-size:1.16rem;margin:0;color:var(--ios-ink);font-family:var(--ios-font);font-weight:700;letter-spacing:-.01em}
#a11y-close{width:30px;height:30px;border-radius:50%;border:none;background:rgba(120,90,50,.12);color:var(--ios-ink2);cursor:pointer;
  font-size:1.05rem;display:grid;place-items:center;transition:.15s}
#a11y-close:hover{background:rgba(120,90,50,.2)}
#a11y-close:active{transform:scale(.9)}
.a11y-body{padding:6px 14px 14px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;
  background:var(--ios-card);border-radius:14px;margin-bottom:8px;box-shadow:0 1px 0 rgba(0,0,0,.02),0 0 0 .5px var(--ios-line)}
.a11y-row .lbl{font-weight:600;font-size:.98rem;color:var(--ios-ink);letter-spacing:-.01em}

/* iOS switch */
.a11y-toggle{position:relative;width:51px;height:31px;flex:0 0 51px;border-radius:999px;border:none;cursor:pointer;
  background:rgba(120,100,80,.26);font-size:0;padding:0;transition:background .3s cubic-bezier(.32,.72,0,1);-webkit-tap-highlight-color:transparent}
.a11y-toggle::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:27px;height:27px;border-radius:50%;
  background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.1);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.a11y-toggle[aria-pressed="true"]{background:var(--ios-green)}
.a11y-toggle[aria-pressed="true"]::after{transform:translateX(20px)}
[dir="rtl"] .a11y-toggle::after{inset-inline-start:auto;inset-inline-end:2px}
[dir="rtl"] .a11y-toggle[aria-pressed="true"]::after{transform:translateX(-20px)}

/* iOS stepper for font size */
.a11y-font{display:flex;align-items:center;background:rgba(120,100,80,.12);border-radius:10px;overflow:hidden}
.a11y-font button{width:42px;height:34px;border:none;background:transparent;cursor:pointer;font-weight:700;color:var(--a11y-brand-dark);font-size:1.05rem;transition:.12s}
.a11y-font button:active{background:rgba(120,100,80,.18)}
.a11y-font button:disabled{opacity:.35;cursor:not-allowed}
.a11y-font .pct{min-width:48px;text-align:center;font-weight:600;color:var(--ios-ink);font-size:.9rem;border-inline:.5px solid var(--ios-line)}
.a11y-reset{width:100%;margin-top:6px;padding:13px;border-radius:14px;border:none;background:var(--ios-card);color:#ff3b30;
  font-weight:600;cursor:pointer;font-family:var(--ios-font);font-size:1rem;box-shadow:0 0 0 .5px var(--ios-line);transition:.15s}
.a11y-reset:active{background:#fdecea;transform:scale(.99)}
.a11y-foot{padding:10px 16px calc(16px + var(--sab));text-align:center}
.a11y-foot a{color:var(--a11y-brand-dark);font-weight:600;text-decoration:none;font-size:.95rem}
.a11y-foot a:hover{text-decoration:underline}
.a11y-foot .hide{display:block;margin:12px auto 0;background:none;border:none;color:var(--ios-ink2);cursor:pointer;font-size:.85rem;font-family:var(--ios-font)}
.a11y-row *:focus-visible,.a11y-foot *:focus-visible,#a11y-close:focus-visible,.a11y-toggle:focus-visible{outline:3px solid var(--a11y-brand-dark);outline-offset:2px}
.a11y-sr{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 */
.skip-link{position:absolute;inset-inline-start:-999px;top:0;z-index:100;background:var(--a11y-brand-dark);color:#fff;padding:10px 18px;border-radius:0 0 12px 0;font-weight:700;font-family:var(--ios-font)}
.skip-link:focus{inset-inline-start:0}

/* ---------- Panel: iOS bottom sheet on mobile ---------- */
@media(max-width:600px){
  #a11y-panel{inset-inline:0;bottom:0;width:100%;max-width:100%;max-height:82vh;
    border-radius:20px 20px 0 0;transform:translateY(100%);border:none;
    box-shadow:0 -12px 40px -10px rgba(40,25,10,.4);padding-bottom:var(--sab)}
  #a11y-panel.open{transform:none}
  .a11y-grab{display:block;width:38px;height:5px;border-radius:3px;background:rgba(120,90,50,.28);margin:9px auto 2px}
  .a11y-head{border-radius:20px 20px 0 0}
  #a11y-trigger{width:50px;height:50px}
}

/* ---------- A11y feature classes ---------- */
body.a11y-contrast{background:#000!important;color:#ff0!important}
body.a11y-contrast *{background-color:transparent!important;color:#ff0!important;border-color:#ff0!important}
body.a11y-contrast a{color:#0ff!important}
body.a11y-contrast img,body.a11y-contrast video{filter:none}
html.a11y-gray{filter:grayscale(100%)}
body.a11y-links a{text-decoration:underline!important}
body.a11y-font,body.a11y-font *{font-family:Arial,Helvetica,sans-serif!important}
body.a11y-spacing,body.a11y-spacing *{letter-spacing:.12em!important}
body.a11y-lh p,body.a11y-lh li,body.a11y-lh span{line-height:2!important}
body.a11y-highlight *:hover,body.a11y-highlight *:focus{outline:3px solid var(--a11y-brand)!important;outline-offset:2px!important}

/* ---------- Consent: iOS bottom sheet ---------- */
#consent{position:fixed;inset-inline:0;bottom:0;z-index:58;margin:0 auto;max-width:540px;
  background:var(--ios-bg);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);
  border:.5px solid rgba(255,255,255,.5);border-radius:22px 22px 0 0;
  box-shadow:0 -14px 44px -12px rgba(40,25,10,.42);padding:18px 22px calc(20px + var(--sab));
  transform:translateY(110%);transition:transform .4s cubic-bezier(.32,.72,0,1);font-family:var(--ios-font)}
#consent.show{transform:none}
#consent::before{content:"";display:block;width:38px;height:5px;border-radius:3px;background:rgba(120,90,50,.28);margin:0 auto 14px}
#consent p{margin:0 0 14px;color:var(--ios-ink2);font-size:.94rem;line-height:1.6;text-align:center}
#consent a{color:var(--a11y-brand-dark);font-weight:600;text-decoration:none}
#consent a:hover{text-decoration:underline}
#consent .row{display:flex;justify-content:center}
#consent button{border:none;cursor:pointer;border-radius:14px;padding:14px 28px;font-weight:600;font-family:var(--ios-font);font-size:1.02rem;
  background:var(--a11y-brand);color:#fff;min-width:180px;box-shadow:0 8px 20px -8px rgba(207,127,44,.7);transition:transform .15s}
#consent button:active{transform:scale(.97)}
#consent button:focus-visible{outline:3px solid var(--a11y-brand-dark);outline-offset:2px}
@media(min-width:560px){#consent{inset-inline:auto;inset-inline-end:20px;bottom:20px;border-radius:22px;padding-bottom:20px}#consent::before{display:none}}

@media(prefers-reduced-motion:reduce){#a11y-trigger{animation:none}*{transition-duration:.001ms!important}}
