/* ===========================================================
   KLÉA Accessibility Widget
   Branding: PRIMARY #0A192F (navy) · HOVER #122c4f · ACCENT #C5A059 (gold)
   =========================================================== */

/* ---------- Trigger ----------
   Anchored to the LEFT edge in both languages (physical left, not logical,
   so RTL does not flip it). Flat edge against the screen, rounded inward. */
.aw-trigger{
  position:fixed;z-index:9999;background:#0A192F;color:#fff;border:none;
  box-shadow:0 4px 18px rgba(10,25,47,.35);transition:background .25s,opacity .25s;
  display:flex;align-items:center;justify-content:center;
  left:12px;right:auto;bottom:12px;width:44px;height:44px;border-radius:50%;
}
.aw-trigger:hover{background:#122c4f}
.aw-trigger.hidden{opacity:0;pointer-events:none}
.aw-trigger:focus-visible{outline:3px solid #C5A059;outline-offset:2px}
@media(min-width:640px){
  .aw-trigger{
    bottom:auto;left:0;right:auto;top:50%;transform:translateY(-50%);
    width:auto;height:auto;flex-direction:column;gap:5px;
    padding:12px 8px 12px 6px;
    border-radius:0 12px 12px 0; /* flat side hugs the left edge */
  }
  .aw-trigger__label{
    display:block;font-size:11px;font-weight:500;line-height:1;
    writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);
  }
}
.aw-trigger__label{display:none}
@media(min-width:640px){.aw-trigger__label{display:block}}

/* ---------- Overlay + Panel ---------- */
.aw-overlay{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.2);backdrop-filter:blur(1px)}
.aw-panel{
  position:fixed;z-index:9999;background:#fff;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid #e5e5e0;box-shadow:0 24px 60px -12px rgba(10,25,47,.4);
  inset-inline:0;bottom:0;border-radius:16px 16px 0 0;max-height:80vh;
  font-family:"Assistant",system-ui,sans-serif;
}
@media(min-width:640px){
  .aw-panel{
    inset-inline:auto;bottom:auto;left:16px;right:auto;top:50%;transform:translateY(-50%);
    width:320px;max-height:85vh;border-radius:16px;
  }
}

/* The site hides the native cursor (custom gold ring at z-index 9990), but the
   widget sits above that ring (z-index 9999) - so restore the native cursor
   for everything inside the widget. */
.aw-trigger,.aw-close,.aw-reset,.aw-btn,.aw-align button,.aw-statement{cursor:pointer !important}
.aw-panel,.aw-panel *{cursor:auto}
.aw-panel button,.aw-panel a{cursor:pointer !important}
.aw-overlay{cursor:auto !important}

/* Pages without the custom-cursor elements (e.g. the accessibility statement)
   must keep the native cursor visible. */
body:not(:has(.cursor)){cursor:auto !important}
body:not(:has(.cursor)) a,body:not(:has(.cursor)) button{cursor:pointer !important}
.aw-head{background:#0A192F;color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.aw-head__title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.aw-close{background:none;border:none;color:rgba(255,255,255,.6);cursor:pointer;padding:2px;line-height:0}
.aw-close:hover{color:#fff}
.aw-body{overflow-y:auto;padding:12px;flex:1;display:flex;flex-direction:column;gap:6px}
.aw-group{font-size:11px;font-weight:700;color:#9a9a92;text-transform:uppercase;letter-spacing:.08em;padding:8px 4px 2px}
.aw-body .aw-group:first-child{padding-top:4px}

/* option buttons */
.aw-btn{
  display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:10px;
  font-size:14px;font-weight:500;font-family:inherit;text-align:start;cursor:pointer;
  background:#fff;color:#3d3d38;border:1px solid #e5e5e0;transition:background .15s,color .15s,border-color .15s;
}
.aw-btn:hover{background:#faf9f6}
.aw-btn.on{background:#C5A059;color:#0A192F;border-color:#C5A059;box-shadow:0 1px 4px rgba(197,160,89,.4);font-weight:600}
.aw-btn__icon{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700}
.aw-btn__label{flex:1}
.aw-btn__chip{background:rgba(10,25,47,.14);font-size:10px;padding:2px 6px;border-radius:5px;font-weight:700}

/* text-align row */
.aw-align{display:flex;gap:6px}
.aw-align button{
  flex:1;padding:7px 2px;border-radius:10px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;
  background:#fff;color:#5a5a54;border:1px solid #e5e5e0;transition:background .15s,color .15s;
}
.aw-align button:hover{background:#faf9f6}
.aw-align button.on{background:#C5A059;color:#0A192F;border-color:#C5A059;font-weight:600}

/* footer */
.aw-foot{padding:10px 14px;border-top:1px solid #f0efe9;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.aw-reset{background:none;border:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:#8a6722}
.aw-reset:hover{color:#0A192F;text-decoration:underline}
.aw-statement{font-size:12px;color:#9a9a92;text-decoration:none;margin-inline-start:auto}
.aw-statement:hover{color:#8a6722;text-decoration:underline}

/* =====================================================
   Global effect classes (toggled on <html>)
   ===================================================== */
.a11y-high-contrast{filter:contrast(1.5)}
.a11y-high-contrast *{border-color:#000 !important}

.a11y-invert{filter:invert(1) hue-rotate(180deg)}
/* counter-invert so media keeps natural colors */
.a11y-invert img,.a11y-invert video,.a11y-invert iframe{filter:invert(1) hue-rotate(180deg)}

.a11y-grayscale{filter:grayscale(1)}

.a11y-underline-links a{text-decoration:underline !important;text-underline-offset:3px}

.a11y-readable-font,.a11y-readable-font *{font-family:Arial,Helvetica,sans-serif !important;letter-spacing:0 !important}

.a11y-highlight-focus *:focus{outline:3px solid #FF6600 !important;outline-offset:2px !important}

.a11y-big-cursor,.a11y-big-cursor *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cpath d='M5 2l20 14-9 2-5 10-3-12z' fill='%23000' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") 5 2,auto !important;
}
/* the site's custom cursor ring must not fight the big cursor */
.a11y-big-cursor .cursor,.a11y-big-cursor .cursor-dot{display:none !important}

.a11y-stop-animations *,.a11y-stop-animations *::before,.a11y-stop-animations *::after{
  animation:none !important;transition:none !important;
}
/* reveal-on-scroll content must stay visible when animations are off */
.a11y-stop-animations .reveal{opacity:1 !important;transform:none !important}
.a11y-stop-animations .img-reveal img,.a11y-stop-animations .img-reveal video{clip-path:none !important;transform:none !important}

.a11y-hide-images img{opacity:.05}
.a11y-hide-images video{opacity:.05}

/* line height / letter spacing steps (rem-safe, forced) */
.a11y-lh-1 p,.a11y-lh-1 li,.a11y-lh-1 span,.a11y-lh-1 a,.a11y-lh-1 blockquote{line-height:1.8 !important}
.a11y-lh-2 p,.a11y-lh-2 li,.a11y-lh-2 span,.a11y-lh-2 a,.a11y-lh-2 blockquote{line-height:2.2 !important}
.a11y-ls-1 body *{letter-spacing:.05em !important}
.a11y-ls-2 body *{letter-spacing:.12em !important}

.a11y-text-align p,.a11y-text-align li,.a11y-text-align blockquote,.a11y-text-align h1,.a11y-text-align h2,.a11y-text-align h3{
  text-align:var(--a11y-text-align) !important;
}

/* ---------- Accessibility statement page ---------- */
.stmt{max-width:720px;margin:0 auto;padding:6.5rem 1.5rem 4rem;font-family:"Assistant",system-ui,sans-serif;color:#0A192F}
.stmt h1{font-size:1.9rem;margin-bottom:.4rem}
.stmt .stmt__date{color:#8a8a82;font-size:.85rem;margin-bottom:2rem}
.stmt h2{font-size:1.15rem;margin:1.8rem 0 .5rem;color:#0A192F}
.stmt p,.stmt li{line-height:1.8;font-size:1rem;color:#3d3d38}
.stmt ul{padding-inline-start:1.3rem;display:flex;flex-direction:column;gap:.3rem}
.stmt a{color:#8a6722;text-decoration:underline;text-underline-offset:3px}
.stmt .stmt__back{display:inline-block;margin-top:2.5rem;text-decoration:none;border:1px solid #0A192F;padding:.6rem 1.4rem;font-weight:600;color:#0A192F}
.stmt .stmt__back:hover{background:#0A192F;color:#F5F0E8}
