/* ==========================================================================
   Logicode Accessibility + Cookie Consent — adapted for Adam Signs (Laravel)
   Colors follow the site palette: ink #0a1118 · brand #00598b · accent #2899d5
   ========================================================================== */
:root{--lc-accent:#00598b;--lc-accent-2:#2899d5;--lc-ink:#0a1118;--lc-panel:#ffffff;--lc-soft:#f2f5f8;--lc-cb-bg:rgba(10,17,24,.96);--lc-cb-solid:#0a1118}
.lc-ico{width:1em;height:1em;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lc-ico.fill{fill:currentColor;stroke:none}

/* ---------------- Accessibility ---------------- */
html body #a11y-panel *{box-sizing:border-box!important;letter-spacing:normal!important;line-height:1.5!important;text-shadow:none!important;word-spacing:normal!important}
html body button#a11y-trigger.a11y-trigger-btn{position:fixed!important;bottom:20px!important;left:20px!important;width:56px!important;height:56px!important;background:var(--lc-accent)!important;color:#fff!important;border-radius:50%!important;display:flex!important;justify-content:center!important;align-items:center!important;font-size:30px!important;cursor:pointer!important;z-index:999998!important;box-shadow:0 8px 24px rgba(0,89,139,.35)!important;border:2px solid #fff!important;transition:transform .3s ease,background .3s ease!important;padding:0!important;margin:0!important}
html body button#a11y-trigger.a11y-trigger-btn:hover,html body button#a11y-trigger.a11y-trigger-btn[aria-expanded=true]{transform:scale(1.06)!important;background:var(--lc-accent-2)!important}
html body button#a11y-trigger.a11y-trigger-btn:focus-visible{outline:3px solid var(--lc-accent-2)!important;outline-offset:3px!important}
html body div#a11y-panel.a11y-panel{display:none;position:fixed!important;bottom:88px!important;left:20px!important;width:400px!important;max-width:calc(100vw - 40px)!important;max-height:78vh!important;overflow-y:auto!important;background:var(--lc-panel)!important;border-radius:4px!important;box-shadow:0 24px 60px rgba(10,17,24,.28)!important;z-index:999999!important;border:1px solid rgba(10,17,24,.1)!important;border-top:3px solid var(--lc-accent)!important;font-family:'IBM Plex Sans Hebrew',Arial,sans-serif!important;direction:rtl!important;padding:0!important;margin:0!important;color:#334155!important;transform-origin:left bottom}
html body div#a11y-panel.a11y-panel.open{display:block;animation:lcPanelIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes lcPanelIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
html body div#a11y-panel::-webkit-scrollbar{width:6px!important}
html body div#a11y-panel::-webkit-scrollbar-thumb{background:var(--lc-accent)!important;border-radius:4px!important}
html body #a11y-panel .a11y-header{background:var(--lc-ink)!important;padding:14px 18px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;position:sticky!important;top:0!important;z-index:10!important;margin:0!important}
html body #a11y-panel .a11y-header h2{margin:0!important;font-size:1.1rem!important;display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-weight:700!important;padding:0!important;border:none!important;background:transparent!important}
html body #a11y-panel .a11y-header h2 .lc-ico{color:var(--lc-accent-2)!important;font-size:1.4rem!important}
html body #a11y-panel button.a11y-close{background:transparent!important;border:1px solid rgba(255,255,255,.25)!important;color:#fff!important;font-size:1.1rem!important;cursor:pointer!important;padding:0!important;margin:0!important;box-shadow:none!important;width:36px!important;height:36px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important}
html body #a11y-panel button.a11y-close:hover{background:var(--lc-accent-2)!important;border-color:var(--lc-accent-2)!important}
html body #a11y-panel .a11y-body{padding:18px!important}
html body #a11y-panel .a11y-grid-3{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin-bottom:16px!important}
html body #a11y-panel .a11y-grid-2{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:16px!important}
html body #a11y-panel button.a11y-btn{all:unset!important;box-sizing:border-box!important;background:var(--lc-soft)!important;border:1px solid rgba(10,17,24,.1)!important;padding:14px 6px!important;border-radius:4px!important;cursor:pointer!important;font-family:inherit!important;font-size:.8rem!important;font-weight:600!important;color:#1e293b!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;transition:.2s!important;text-align:center!important;margin:0!important;width:100%!important;min-height:84px!important;line-height:1.2!important}
html body #a11y-panel button.a11y-btn .lc-ico{font-size:1.5rem!important;color:var(--lc-accent)!important}
html body #a11y-panel button.a11y-btn:hover{background:#e6eef5!important;border-color:var(--lc-accent)!important}
html body #a11y-panel button.a11y-btn:focus-visible{outline:3px solid var(--lc-accent-2)!important;outline-offset:2px!important}
html body #a11y-panel button.a11y-btn.active,html body #a11y-panel button.a11y-btn[aria-pressed=true]{background:var(--lc-accent)!important;border-color:var(--lc-accent)!important;color:#fff!important}
html body #a11y-panel button.a11y-btn.active .lc-ico,html body #a11y-panel button.a11y-btn[aria-pressed=true] .lc-ico{color:#fff!important}
html body #a11y-panel button.a11y-reset-btn{flex-direction:row!important;font-size:.95rem!important;color:#b3261e!important;border-color:rgba(179,38,30,.3)!important;background:rgba(179,38,30,.05)!important;margin-top:4px!important;padding:14px!important;min-height:50px!important}
html body #a11y-panel button.a11y-reset-btn .lc-ico{color:#b3261e!important;font-size:1.1rem!important}
html body #a11y-panel button.a11y-reset-btn:hover{background:rgba(179,38,30,.1)!important;border-color:#b3261e!important}
html body #a11y-panel .a11y-sliders-container{margin-bottom:18px!important}
html body #a11y-panel .a11y-slider-box{background:var(--lc-soft)!important;border:1px solid rgba(10,17,24,.08)!important;border-radius:4px!important;padding:12px 14px!important;margin-bottom:10px!important}
html body #a11y-panel .slider-header{display:flex!important;justify-content:space-between!important;margin-bottom:6px!important;color:#1e293b!important;font-size:.9rem!important;font-weight:600!important;align-items:center!important}
html body #a11y-panel .slider-header label{color:inherit!important;font:inherit!important}
html body #a11y-panel .slider-value{color:#fff!important;font-weight:700!important;background:var(--lc-accent)!important;padding:2px 8px!important;border-radius:3px!important;font-size:.82rem!important;direction:ltr!important}
html body #a11y-panel input[type=range]{direction:ltr!important;-webkit-appearance:none!important;appearance:none!important;width:100%!important;background:transparent!important;margin:8px 0 4px!important;padding:0!important;border:none!important;box-shadow:none!important;height:auto!important}
html body #a11y-panel input[type=range]:focus-visible{outline:3px solid var(--lc-accent-2)!important;outline-offset:4px!important}
html body #a11y-panel input[type=range]::-webkit-slider-runnable-track{width:100%!important;height:6px!important;cursor:pointer!important;background:rgba(10,17,24,.15)!important;border-radius:4px!important;border:none!important}
html body #a11y-panel input[type=range]::-webkit-slider-thumb{height:20px!important;width:20px!important;border-radius:50%!important;background:var(--lc-accent)!important;cursor:pointer!important;-webkit-appearance:none!important;margin-top:-7px!important;border:2px solid #fff!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important}
html body #a11y-panel input[type=range]::-moz-range-track{height:6px;background:rgba(10,17,24,.15);border-radius:4px}
html body #a11y-panel input[type=range]::-moz-range-thumb{height:18px;width:18px;border-radius:50%;background:var(--lc-accent);border:2px solid #fff}
html body #a11y-panel .a11y-links{text-align:center!important;margin-top:18px!important;font-size:.9rem!important}
html body #a11y-panel .a11y-links a{color:var(--lc-accent)!important;text-decoration:underline!important;font-weight:600!important}
html body #a11y-panel .a11y-credit{text-align:center!important;margin-top:14px!important;padding-top:14px!important;border-top:1px solid rgba(10,17,24,.08)!important;font-size:.75rem!important;color:#64748b!important;direction:ltr!important}
html body #a11y-panel .a11y-credit a{color:#334155!important;font-weight:600!important;text-decoration:none!important}
#a11y-reading-guide-line{display:none;position:fixed;top:50%;left:0;width:100%;height:6px;background:var(--lc-accent-2);z-index:999997;pointer-events:none;box-shadow:0 0 0 9999px rgba(0,0,0,.0),0 0 15px rgba(0,0,0,.45)}
#a11y-screen-filter{display:none;position:fixed;inset:0;pointer-events:none;z-index:999996}

/* Effects applied to the site */
body.a11y-active-zoom{zoom:var(--a11y-zoom-val,100%)!important}
body.a11y-active-w-spacing *:not(#a11y-panel *){word-spacing:var(--a11y-word-spacing,normal)!important}
body.a11y-active-l-spacing *:not(#a11y-panel *){letter-spacing:var(--a11y-letter-spacing,normal)!important}
body.a11y-high-contrast *:not(.a11y-panel):not(.a11y-panel *):not(.a11y-trigger-btn):not(.a11y-trigger-btn *):not(#cookie-banner-wrapper *){background-color:#000!important;background-image:none!important;color:#ffff00!important;border-color:#ffff00!important}
body.a11y-high-contrast img,body.a11y-high-contrast video{filter:grayscale(100%) contrast(150%)}
body.a11y-highlight-links a:not(#a11y-panel a){text-decoration:underline!important;text-underline-offset:4px;background-color:#ffff00!important;color:#000!important;font-weight:700!important;outline:2px solid #000}
body.a11y-highlight-headings h1,body.a11y-highlight-headings h2,body.a11y-highlight-headings h3,body.a11y-highlight-headings h4,body.a11y-highlight-headings h5,body.a11y-highlight-headings h6{outline:3px solid var(--lc-accent-2)!important;outline-offset:4px;border-radius:2px}
body.a11y-hide-images img:not(#a11y-panel img),body.a11y-hide-images video,body.a11y-hide-images picture,body.a11y-hide-images [style*="background-image"]{visibility:hidden!important}
body.a11y-readable-font,body.a11y-readable-font *:not(.lc-ico){font-family:Arial,Helvetica,sans-serif!important}
body.a11y-stop-animations *,body.a11y-stop-animations *::before,body.a11y-stop-animations *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.a11y-stop-animations .reveal{opacity:1!important;transform:none!important}
body.a11y-cursor-light,body.a11y-cursor-light *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24"><path fill="%23ffffff" stroke="%23000000" stroke-width="1.5" d="M5.5 3.21V20.8c0 .45.54.67.85.35l4.86-4.86 3.96 8.57c.18.39.63.56 1.02.38l2.25-1.04c.38-.18.55-.63.37-1.02l-3.92-8.49h5.53c.45 0 .67-.54.35-.85L6.35 2.85c-.23-.23-.6-.23-.85 0z"/></svg>'),auto!important}
body.a11y-cursor-dark,body.a11y-cursor-dark *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24"><path fill="%23000000" stroke="%23ffffff" stroke-width="1.5" d="M5.5 3.21V20.8c0 .45.54.67.85.35l4.86-4.86 3.96 8.57c.18.39.63.56 1.02.38l2.25-1.04c.38-.18.55-.63.37-1.02l-3.92-8.49h5.53c.45 0 .67-.54.35-.85L6.35 2.85c-.23-.23-.6-.23-.85 0z"/></svg>'),auto!important}

/* ---------------- Cookie consent ---------------- */
#cookie-banner-wrapper{font-family:'IBM Plex Sans Hebrew',Arial,sans-serif;direction:rtl}
.cookie-banner-modern{position:fixed;bottom:20px;right:20px;width:400px;max-width:calc(100vw - 40px);background:var(--lc-cb-bg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--lc-accent-2);border-radius:4px;padding:24px;box-shadow:0 20px 50px rgba(0,0,0,.45);z-index:999994;display:none;transform:translateY(20px);opacity:0;transition:transform .4s ease,opacity .4s ease;color:#fff}
.cookie-banner-modern.show{display:block}
.cookie-banner-modern.visible{transform:translateY(0);opacity:1}
.cookie-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cookie-header .lc-ico{font-size:1.5rem;color:var(--lc-accent-2)}
.cookie-header h2{font-size:1.15rem;font-weight:700;color:#fff;margin:0}
.cookie-banner-modern p{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.6;margin:0 0 18px}
.cookie-banner-modern p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cookie-buttons{display:flex;flex-direction:column;gap:10px}
.cookie-buttons-row{display:flex;gap:10px}
.cb-btn{flex:1;padding:13px 12px;border-radius:2px;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .25s,color .25s,border-color .25s;text-align:center;border:1px solid transparent;line-height:1.2}
.cb-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cb-btn-accept{background:var(--lc-accent-2);color:var(--lc-ink)}
.cb-btn-accept:hover{background:#fff;color:var(--lc-ink)}
.cb-btn-decline{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.cb-btn-decline:hover{background:rgba(255,255,255,.14)}
.cb-btn-customize{background:transparent;color:rgba(255,255,255,.75);text-decoration:underline;padding:6px;text-underline-offset:4px;font-weight:600}
.cb-btn-customize:hover{color:var(--lc-accent-2)}
.cookie-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:999999;display:none;justify-content:center;align-items:center;opacity:0;transition:opacity .3s}
.cookie-modal-overlay.show{display:flex;opacity:1}
.cookie-modal{background:var(--lc-cb-solid);border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--lc-accent-2);border-radius:4px;width:92%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.8);color:#fff}
.cookie-modal::-webkit-scrollbar{width:6px}
.cookie-modal::-webkit-scrollbar-thumb{background:var(--lc-accent-2);border-radius:4px}
.c-modal-header{padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--lc-cb-solid);z-index:2}
.c-modal-header h2{margin:0;color:#fff;font-size:1.25rem;font-weight:700}
.c-modal-close{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.c-modal-close:hover{background:var(--lc-accent-2);border-color:var(--lc-accent-2);color:var(--lc-ink)}
.c-modal-body{padding:22px 24px}
.c-modal-desc{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.6;margin:0 0 20px}
.cookie-option{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:18px;margin-bottom:12px}
.c-opt-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.c-opt-title{color:#fff;font-weight:700;font-size:1.02rem}
.c-opt-desc{color:rgba(255,255,255,.6);font-size:.85rem;line-height:1.55;margin:0}
.toggle-switch{position:relative;display:inline-block;width:50px;height:26px;flex:none}
.toggle-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.toggle-slider{position:absolute;inset:0;background:rgba(255,255,255,.1);transition:.3s;border-radius:34px;border:1px solid rgba(255,255,255,.2)}
.toggle-slider::before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:3px;background:#9aa3ad;transition:.3s;border-radius:50%}
.toggle-switch input:checked+.toggle-slider{background:rgba(40,153,213,.2);border-color:var(--lc-accent-2)}
.toggle-switch input:checked+.toggle-slider::before{transform:translateX(22px);background:var(--lc-accent-2)}
.toggle-switch input:focus-visible+.toggle-slider{outline:3px solid #fff;outline-offset:2px}
.toggle-switch input:disabled{cursor:not-allowed}
.toggle-switch input:disabled+.toggle-slider{opacity:.5}
.cb-id-box{margin-top:18px;padding:16px;border:1px dashed rgba(40,153,213,.6);border-radius:4px;background:rgba(40,153,213,.06)}
.cb-id-box .lbl{display:block;font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:6px}
.cb-id-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cb-id-row code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.05rem;letter-spacing:.05em;color:var(--lc-accent-2);direction:ltr}
.cb-id-row button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;padding:6px 12px;border-radius:2px;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600}
.cb-id-box p{margin:8px 0 0;font-size:.82rem;line-height:1.55;color:rgba(255,255,255,.6)}
.cb-id-box a{color:#fff;text-decoration:underline}
.c-modal-footer{padding:18px 24px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:10px}
.cb-revoke-btn{position:fixed;bottom:20px;right:20px;width:48px;height:48px;background:var(--lc-ink);color:var(--lc-accent-2);border:1px solid rgba(255,255,255,.18);border-radius:50%;display:none;justify-content:center;align-items:center;font-size:22px;cursor:pointer;z-index:999993;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .3s,background .3s,color .3s}
.cb-revoke-btn:hover{background:var(--lc-accent-2);color:var(--lc-ink);transform:scale(1.08)}
.cb-revoke-btn:focus-visible{outline:3px solid var(--lc-accent-2);outline-offset:3px}

/* keep floating widgets above the mobile action bar */
@media (max-width:899px){
  html body button#a11y-trigger.a11y-trigger-btn{bottom:84px!important;left:12px!important;width:50px!important;height:50px!important;font-size:26px!important}
  html body div#a11y-panel.a11y-panel{left:10px!important;right:10px!important;width:auto!important;max-width:none!important;bottom:144px!important;max-height:calc(100vh - 170px)!important}
  html body #a11y-panel .a11y-grid-3{grid-template-columns:repeat(2,1fr)!important}
  html body #a11y-panel button.a11y-btn{padding:12px 5px!important;font-size:.78rem!important;min-height:74px!important}
  .cookie-banner-modern{bottom:84px;right:12px;left:12px;width:auto;max-width:none;padding:20px}
  .cb-revoke-btn{bottom:84px;right:12px;width:44px;height:44px;font-size:20px}
  body.menu-open #a11y-trigger,body.menu-open .cb-revoke-btn,body.menu-open .cookie-banner-modern{opacity:0!important;pointer-events:none!important}
}
@media print{#a11y-trigger,#a11y-panel,#cookie-banner-wrapper{display:none!important}}
