/* Talya Dagan — accessibility toolbar + cookie notice.
   Palette matches the site: navy #041C3B, gold #C2A36B, cream #FAF7F3.

   No CSS `filter` is used for the contrast modes. A filter on <html> or <body>
   makes descendant position:fixed / sticky elements resolve against that
   element instead of the viewport, which would detach the sticky header, the
   WhatsApp button and this toolbar itself. Explicit colour overrides avoid it. */

:root{
  --tda-ink:#041C3B; --tda-gold:#C2A36B; --tda-cream:#FAF7F3;
  --tda-shadow:0 14px 40px -12px rgba(4,28,59,.55);
}

/* ---------------- toolbar ---------------- */
.tda11y{ position:relative; z-index:2147483000; }

.tda11y__fab{
  position:fixed; inset-block-end:22px; left:22px; right:auto;
  width:52px !important; height:52px !important; border-radius:50% !important;
  background:var(--tda-ink) !important; color:var(--tda-cream) !important;
  border:2px solid var(--tda-gold) !important; cursor:pointer; padding:0 !important;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--tda-shadow); transition:transform .18s ease, background .18s ease;
}
.tda11y__fab:hover{ background:#0A2E56 !important; transform:translateY(-2px); }
.tda11y__fab:focus-visible{ outline:3px solid var(--tda-gold); outline-offset:3px; }

.tda11y__panel{
  position:fixed; inset-block-end:86px; left:22px; right:auto;
  width:min(320px, calc(100vw - 44px)); max-height:min(78vh, 620px); overflow-y:auto;
  background:var(--tda-cream); color:var(--tda-ink);
  border:1px solid rgba(4,28,59,.14); border-radius:16px;
  box-shadow:var(--tda-shadow); padding:16px 16px 14px;
  font-family:"Assistant","Heebo",system-ui,sans-serif; font-size:15px; line-height:1.5;
}
.tda11y__panel[hidden]{ display:none; }

.tda11y__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.tda11y__head h2{ font-size:18px; margin:0; font-weight:700; color:var(--tda-ink); }
.tda11y__close{
  background:none !important; border:0 !important; font-size:26px !important; line-height:1;
  cursor:pointer; color:var(--tda-ink) !important; padding:2px 6px !important;
  border-radius:8px !important; width:auto !important; height:auto !important;
}
.tda11y__close:focus-visible{ outline:3px solid var(--tda-gold); outline-offset:2px; }

.tda11y__group{ border-top:1px solid rgba(4,28,59,.10); padding-top:10px; margin-top:10px; }
.tda11y__group:first-of-type{ border-top:0; margin-top:0; padding-top:0; }
.tda11y__label{ display:block; font-size:12.5px; letter-spacing:.06em; color:#3F5069; margin-bottom:7px; }

.tda11y__row{ display:flex; gap:6px; }
.tda11y__btn,.tda11y__opt,.tda11y__reset{
  font-family:"Assistant","Heebo",system-ui,sans-serif !important; font-size:15px !important;
  cursor:pointer; border-radius:10px !important;
  border:1px solid rgba(4,28,59,.22) !important; background:#fff !important;
  color:var(--tda-ink) !important; letter-spacing:normal !important;
  transition:background .15s ease, border-color .15s ease;
}
.tda11y__btn{ flex:1 1 0 !important; width:auto !important; padding:9px 4px !important;
  margin:0 !important; font-weight:700 !important; }
.tda11y__btn--wide{ flex:1.4 1 0 !important; font-weight:500 !important; }
.tda11y__opt{ display:block !important; width:100% !important; text-align:start !important;
  padding:9px 11px !important; margin:0 0 6px !important; }
.tda11y__btn:hover,.tda11y__opt:hover{ background:#EFEAE2 !important; }
.tda11y__btn:focus-visible,.tda11y__opt:focus-visible,.tda11y__reset:focus-visible{
  outline:3px solid var(--tda-gold); outline-offset:2px;
}
.tda11y__opt[aria-pressed="true"]{
  background:var(--tda-ink) !important; color:var(--tda-cream) !important;
  border-color:var(--tda-ink) !important;
}
.tda11y__opt[aria-pressed="true"]::after{ content:" \2713"; color:var(--tda-gold); }

.tda11y__reset{ width:100% !important; display:block !important; padding:10px !important; margin:8px 0 0 !important; background:var(--tda-gold) !important; border-color:#A98A4F !important; font-weight:700; color:#25200F !important; }
.tda11y__reset:hover{ background:#B08F52 !important; }

.tda11y__note{ font-size:12.5px; color:#3F5069; margin:12px 0 0; line-height:1.65; }
.tda11y__note a{ color:var(--tda-ink); text-decoration:underline; }

/* ---------------- user adjustments ---------------- */
html.tda-font-1 body{ font-size:108% !important; }
html.tda-font-2 body{ font-size:118% !important; }
html.tda-font-3 body{ font-size:130% !important; }

html.tda-links a{
  text-decoration:underline !important; text-underline-offset:3px !important;
  font-weight:700 !important;
}

html.tda-readable body,
html.tda-readable body p,
html.tda-readable body li,
html.tda-readable body span,
html.tda-readable body a,
html.tda-readable body h1,
html.tda-readable body h2,
html.tda-readable body h3,
html.tda-readable body h4,
html.tda-readable body button,
html.tda-readable body input,
html.tda-readable body label,
html.tda-readable body td,
html.tda-readable body th{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif !important;
  letter-spacing:normal !important;
}

html.tda-spacing body p,
html.tda-spacing body li,
html.tda-spacing body dd,
html.tda-spacing body blockquote{
  line-height:2.05 !important; letter-spacing:.02em !important; word-spacing:.08em !important;
}

html.tda-no-motion *,
html.tda-no-motion *::before,
html.tda-no-motion *::after{
  animation:none !important; transition:none !important; scroll-behavior:auto !important;
}

html.tda-big-cursor,
html.tda-big-cursor *{
  cursor:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNOCA0IDggMzggMTYuNSAzMCAyMiA0MyAyOCA0MCAyMi41IDI3LjUgMzQgMjd6IiBmaWxsPSIjZmZmIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMi41Ii8+PC9zdmc+") 6 4, auto !important;
}

html.tda-focus a:focus,
html.tda-focus button:focus,
html.tda-focus input:focus,
html.tda-focus select:focus,
html.tda-focus textarea:focus,
html.tda-focus [tabindex]:focus{
  outline:4px solid #C2A36B !important; outline-offset:3px !important;
  box-shadow:0 0 0 3px #041C3B !important;
}

/* Dark high contrast — colours set explicitly rather than via filter */
html.tda-contrast-dark body,
html.tda-contrast-dark body div,
html.tda-contrast-dark body section,
html.tda-contrast-dark body article,
html.tda-contrast-dark body aside,
html.tda-contrast-dark body header,
html.tda-contrast-dark body footer,
html.tda-contrast-dark body main,
html.tda-contrast-dark body nav,
html.tda-contrast-dark body form,
html.tda-contrast-dark body ul,
html.tda-contrast-dark body ol,
html.tda-contrast-dark body li,
html.tda-contrast-dark body figure,
html.tda-contrast-dark body table,
html.tda-contrast-dark body td,
html.tda-contrast-dark body th{
  background:#000 !important; background-image:none !important; color:#fff !important;
}
html.tda-contrast-dark body p,
html.tda-contrast-dark body span,
html.tda-contrast-dark body h1,
html.tda-contrast-dark body h2,
html.tda-contrast-dark body h3,
html.tda-contrast-dark body h4,
html.tda-contrast-dark body h5,
html.tda-contrast-dark body h6,
html.tda-contrast-dark body label,
html.tda-contrast-dark body strong,
html.tda-contrast-dark body em,
html.tda-contrast-dark body small,
html.tda-contrast-dark body figcaption{ color:#fff !important; }
html.tda-contrast-dark body a{ color:#FFD966 !important; text-decoration:underline !important; }
html.tda-contrast-dark body button,
html.tda-contrast-dark body input,
html.tda-contrast-dark body select,
html.tda-contrast-dark body textarea{
  background:#000 !important; color:#fff !important; border:2px solid #fff !important;
}

/* Light high contrast */
html.tda-contrast-light body,
html.tda-contrast-light body div,
html.tda-contrast-light body section,
html.tda-contrast-light body article,
html.tda-contrast-light body aside,
html.tda-contrast-light body header,
html.tda-contrast-light body footer,
html.tda-contrast-light body main,
html.tda-contrast-light body nav,
html.tda-contrast-light body form,
html.tda-contrast-light body ul,
html.tda-contrast-light body ol,
html.tda-contrast-light body li,
html.tda-contrast-light body figure,
html.tda-contrast-light body table,
html.tda-contrast-light body td,
html.tda-contrast-light body th{
  background:#fff !important; background-image:none !important; color:#000 !important;
}
html.tda-contrast-light body p,
html.tda-contrast-light body span,
html.tda-contrast-light body h1,
html.tda-contrast-light body h2,
html.tda-contrast-light body h3,
html.tda-contrast-light body h4,
html.tda-contrast-light body h5,
html.tda-contrast-light body h6,
html.tda-contrast-light body label,
html.tda-contrast-light body strong,
html.tda-contrast-light body em,
html.tda-contrast-light body small,
html.tda-contrast-light body figcaption{ color:#000 !important; }
html.tda-contrast-light body a{ color:#00329B !important; text-decoration:underline !important; }
html.tda-contrast-light body button,
html.tda-contrast-light body input,
html.tda-contrast-light body select,
html.tda-contrast-light body textarea{
  background:#fff !important; color:#000 !important; border:2px solid #000 !important;
}

/* the toolbar must stay legible in every mode it can put the page into */
html.tda-contrast-dark .tda11y__panel,
html.tda-contrast-light .tda11y__panel,
html.tda-contrast-dark .tdcookie__inner,
html.tda-contrast-light .tdcookie__inner{
  background:#fff !important; color:#000 !important; border:2px solid #000 !important;
}
html.tda-contrast-dark .tda11y__panel h2,
html.tda-contrast-dark .tda11y__panel span,
html.tda-contrast-dark .tda11y__panel p,
html.tda-contrast-dark .tda11y__panel a,
html.tda-contrast-light .tda11y__panel h2,
html.tda-contrast-light .tda11y__panel span,
html.tda-contrast-light .tda11y__panel p,
html.tda-contrast-light .tda11y__panel a{ color:#000 !important; }
html.tda-contrast-dark .tdcookie__text,
html.tda-contrast-light .tdcookie__text,
html.tda-contrast-dark .tdcookie__text a,
html.tda-contrast-light .tdcookie__text a{ color:#000 !important; }
html.tda-contrast-dark .tda11y__opt[aria-pressed="true"],
html.tda-contrast-light .tda11y__opt[aria-pressed="true"]{ background:#000 !important; color:#fff !important; }

/* ---------------- cookie notice ---------------- */
.tdcookie{
  position:fixed; inset-inline:0; inset-block-end:0; z-index:2147482000;
  background:var(--tda-ink); color:var(--tda-cream);
  border-top:2px solid var(--tda-gold);
  font-family:"Assistant","Heebo",system-ui,sans-serif;
  box-shadow:0 -10px 30px -14px rgba(0,0,0,.6);
}
.tdcookie[hidden]{ display:none; }
.tdcookie__inner{
  max-width:1180px; margin:0 auto; padding:16px 20px;
  display:flex; gap:18px; align-items:center; flex-wrap:wrap;
}
.tdcookie__text{ flex:1 1 420px; margin:0; font-size:14.5px; line-height:1.7; }
.tdcookie__text a{ color:var(--tda-gold); text-decoration:underline; }
.tdcookie__actions{ display:flex; gap:9px; flex-wrap:wrap; }
.tdcookie__btn{
  font-family:"Assistant","Heebo",system-ui,sans-serif !important; font-size:14.5px !important;
  cursor:pointer; padding:10px 20px !important; border-radius:999px !important;
  border:1px solid var(--tda-cream) !important; background:transparent !important;
  color:var(--tda-cream) !important; letter-spacing:normal !important; font-weight:500 !important;
  transition:background .15s ease, color .15s ease;
}
.tdcookie__btn:hover{ background:rgba(250,247,243,.14) !important; }
.tdcookie__btn--primary{ background:var(--tda-gold) !important; border-color:var(--tda-gold) !important; color:#25200F !important; font-weight:700 !important; }
.tdcookie__btn--primary:hover{ background:#D2B57F !important; }
.tdcookie__btn:focus-visible{ outline:3px solid var(--tda-cream); outline-offset:3px; }

/* the cookie bar sits above the toolbar button until it is dismissed */
body.tdcookie-open .tda11y__fab{ inset-block-end:112px; }
body.tdcookie-open .tda11y__panel{ inset-block-end:176px; }

@media (max-width:640px){
  .tda11y__fab{ inset-block-end:16px; left:16px; right:auto; width:48px; height:48px; }
  .tda11y__panel{ inset-block-end:74px; left:16px; right:auto; }
  .tdcookie__inner{ padding:14px 16px; gap:12px; }
  .tdcookie__actions{ width:100%; }
  .tdcookie__btn{ flex:1; text-align:center; padding:11px 12px; }
  body.tdcookie-open .tda11y__fab{ inset-block-end:168px; }
  body.tdcookie-open .tda11y__panel{ inset-block-end:226px; }
}

@media (prefers-reduced-motion:reduce){
  .tda11y__fab{ transition:none; }
}
