/* ==========================================================================
   Accessibility widget + cookie consent – styled with the Hetz Hazafon palette.
   Colours come from CSS variables set per widget (admin: Site settings › Widgets).
   ========================================================================== */
.hz-widget, .hz-widget *, .hz-widget *::before, .hz-widget *::after { box-sizing: border-box; }
.hz-widget { font-family: var(--font, 'Assistant', Arial, sans-serif); font-size: 16px; line-height: 1.5; letter-spacing: normal; word-spacing: normal; text-shadow: none; }
.hz-widget .icon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.hz-widget :where(button) { font: inherit; }
.hz-widget :focus-visible { outline: 3px solid #FFC940; outline-offset: 2px; }

/* ---------------------------- accessibility widget ---------------------------- */
.hz-a11y { --hz-accent: #1E63A8; --hz-bg: #12283C; }
.hz-a11y__trigger {
  position: fixed; bottom: 20px; inset-inline-end: 20px; z-index: 999998;
  width: 58px; height: 58px; border-radius: 50%; padding: 0; margin: 0; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; font-size: 30px;
  background: var(--hz-bg); color: #fff; border: 2px solid var(--hz-accent);
  box-shadow: 0 6px 20px rgba(9, 25, 41, .35); transition: transform .2s, background .2s;
}
.hz-a11y[data-side="start"] .hz-a11y__trigger { inset-inline-end: auto; inset-inline-start: 20px; }
.hz-a11y__trigger:hover { transform: scale(1.07); background: var(--hz-accent); }

.hz-a11y__panel {
  position: fixed; bottom: 90px; inset-inline-end: 20px; z-index: 999999;
  width: 400px; max-width: calc(100vw - 24px); max-height: min(78vh, 720px); overflow-y: auto; overscroll-behavior: contain;
  background: #fff; color: #2B3B4A; border: 1px solid var(--hz-accent); border-radius: 16px;
  box-shadow: 0 16px 48px rgba(9, 25, 41, .28);
}
.hz-a11y[data-side="start"] .hz-a11y__panel { inset-inline-end: auto; inset-inline-start: 20px; }
.hz-a11y__panel[hidden] { display: none; }
.hz-a11y__header { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; background: var(--hz-bg); color: #fff; }
.hz-a11y__header h2 { margin: 0; font-size: 19px; font-weight: 800; display: flex; align-items: center; gap: 10px; color: #fff; }
.hz-a11y__header h2 .icon { color: #8FC4EE; font-size: 24px; }
.hz-a11y__close { background: transparent; border: 0; color: #fff; padding: 6px; cursor: pointer; border-radius: 8px; font-size: 22px; display: inline-flex; }
.hz-a11y__close:hover { background: rgba(255, 255, 255, .14); }
.hz-a11y__body { padding: 18px; }
.hz-a11y__grid { display: grid; gap: 10px; margin-bottom: 16px; }
.hz-a11y__grid--3 { grid-template-columns: repeat(3, 1fr); }
.hz-a11y__grid--2 { grid-template-columns: repeat(2, 1fr); }

.hz-a11y__btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center;
  min-height: 84px; padding: 12px 6px; cursor: pointer; width: 100%;
  background: #F4F8FB; color: #2B3B4A; border: 1px solid #C9DAE9; border-radius: 12px;
  font-size: 13.5px; font-weight: 700; line-height: 1.25; transition: background .15s, border-color .15s, color .15s;
}
.hz-a11y__btn .icon { font-size: 26px; color: var(--hz-accent); }
.hz-a11y__btn:hover { background: #EAF2F9; border-color: var(--hz-accent); }
.hz-a11y__btn[aria-pressed="true"] { background: var(--hz-accent); border-color: var(--hz-accent); color: #fff; }
.hz-a11y__btn[aria-pressed="true"] .icon { color: #fff; }
.hz-a11y__btn.is-cursor-light .icon { fill: #fff; stroke: #12283C; }
.hz-a11y__btn.hz-a11y__reset { flex-direction: row; min-height: 50px; font-size: 16px; color: #B3261E; border-color: #F0C4C0; background: #FDF3F2; margin-top: 4px; }
.hz-a11y__btn.hz-a11y__reset .icon { color: #B3261E; font-size: 20px; }
.hz-a11y__btn.hz-a11y__reset:hover { background: #FBE7E5; border-color: #B3261E; }

.hz-a11y__sliders { margin-bottom: 6px; }
.hz-a11y__slider { background: #F4F8FB; border: 1px solid #D8E4EE; border-radius: 12px; padding: 12px 14px; margin-bottom: 10px; }
.hz-a11y__slider-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 15px; font-weight: 700; color: #12283C; }
.hz-a11y__slider-head output { background: var(--hz-accent); color: #fff; font-size: 13px; font-weight: 800; padding: 2px 9px; border-radius: 8px; }
.hz-a11y__slider input[type=range] { width: 100%; margin: 4px 0 0; height: 24px; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.hz-a11y__slider input[type=range]::-webkit-slider-runnable-track { height: 6px; background: #C9DAE9; border-radius: 4px; }
.hz-a11y__slider input[type=range]::-moz-range-track { height: 6px; background: #C9DAE9; border-radius: 4px; }
.hz-a11y__slider input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; margin-top: -8px; border-radius: 50%; background: var(--hz-accent); border: 3px solid #fff; box-shadow: 0 1px 5px rgba(9, 25, 41, .35); }
.hz-a11y__slider input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--hz-accent); border: 3px solid #fff; box-shadow: 0 1px 5px rgba(9, 25, 41, .35); }

.hz-a11y__statement { text-align: center; margin: 18px 0 0; font-size: 14.5px; font-weight: 700; }
.hz-a11y__statement a { color: var(--hz-accent); text-underline-offset: 3px; }
.hz-a11y__powered { text-align: center; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid #E3ECF3; font-size: 12.5px; color: #5B7083; }
.hz-a11y__powered a { color: #12283C; font-weight: 700; text-decoration: none; }
.hz-a11y__powered a:hover { text-decoration: underline; }

#hz-a11y-filter { display: none; position: fixed; inset: 0; pointer-events: none; z-index: 999990; }
#hz-a11y-guide { display: none; position: fixed; left: 0; top: 50%; width: 100%; height: 6px; background: var(--hz-accent); box-shadow: 0 0 0 2px #fff, 0 0 14px rgba(0, 0, 0, .5); pointer-events: none; z-index: 999997; }

@media (max-width: 640px) {
  .hz-a11y__panel { inset-inline: 10px !important; width: auto; bottom: 82px; }
  .hz-a11y__grid--3 { grid-template-columns: repeat(2, 1fr); }
  .hz-a11y__btn { min-height: 76px; font-size: 13px; }
}

/* ---------------- effects applied to the site (html.hz-*) ---------------- */
html.hz-grayscale #hz-a11y-filter { display: block; -webkit-backdrop-filter: grayscale(100%); backdrop-filter: grayscale(100%); }
html.hz-invert #hz-a11y-filter { display: block; -webkit-backdrop-filter: invert(100%) hue-rotate(180deg); backdrop-filter: invert(100%) hue-rotate(180deg); }

html.hz-a11y-zoom .site-header, html.hz-a11y-zoom main, html.hz-a11y-zoom .site-footer { zoom: var(--hz-zoom, 100%); }
html.hz-a11y-wspace :is(.site-header, main, .site-footer) * { word-spacing: var(--hz-wspace, normal) !important; }
html.hz-a11y-lspace :is(.site-header, main, .site-footer) * { letter-spacing: var(--hz-lspace, normal) !important; }

html.hz-high-contrast :is(.site-header, main, .site-footer, .mobile-menu) , html.hz-high-contrast :is(.site-header, main, .site-footer, .mobile-menu) * { background: #000 !important; color: #FFEB3B !important; border-color: #FFEB3B !important; box-shadow: none !important; text-shadow: none !important; background-image: none !important; }
html.hz-high-contrast :is(main, .site-footer) a { color: #7DF9FF !important; }
html.hz-high-contrast :is(.site-header, main, .site-footer) img { filter: grayscale(100%) contrast(140%); }
html.hz-high-contrast .btn { border: 2px solid #FFEB3B !important; }
html.hz-highlight-links :is(.site-header, main, .site-footer) a { text-decoration: underline !important; text-underline-offset: 4px; background: #FFEB3B !important; color: #000 !important; font-weight: 800 !important; padding: 0 4px !important; border-radius: 3px; }
html.hz-highlight-headings :is(main, .site-footer) :is(h1, h2, h3, h4, h5, h6) { outline: 3px solid #1E63A8 !important; outline-offset: 3px; background: #FFF8CC !important; color: #000 !important; border-radius: 4px; }
html.hz-hide-images :is(.site-header, main, .site-footer) :is(img, picture, video, iframe, .media) { visibility: hidden !important; }
html.hz-hide-images :is(main, .site-footer) [style*="background-image"] { background-image: none !important; }
html.hz-readable-font :is(.site-header, main, .site-footer, .mobile-menu), html.hz-readable-font :is(.site-header, main, .site-footer, .mobile-menu) * { font-family: Arial, Helvetica, sans-serif !important; }
html.hz-stop-animations *, html.hz-stop-animations *::before, html.hz-stop-animations *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.hz-stop-animations .marquee__track { transform: none !important; }
html.hz-cursor-light, html.hz-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>') 4 2, auto !important; }
html.hz-cursor-dark, html.hz-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>') 4 2, auto !important; }

/* ------------------------------ cookie consent ------------------------------ */
.hz-cookie { --hz-accent: #1E63A8; --hz-bg: #12283C; color: #fff; }
.hz-cookie__banner {
  position: fixed; bottom: 20px; inset-inline-start: 20px; z-index: 999994;
  width: 400px; max-width: calc(100vw - 40px); padding: 24px;
  background: color-mix(in srgb, var(--hz-bg) 96%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; box-shadow: 0 14px 44px rgba(5, 15, 26, .55);
  opacity: 0; transform: translateY(18px); transition: opacity .35s, transform .35s;
}
.hz-cookie[data-side="end"] .hz-cookie__banner { inset-inline-start: auto; inset-inline-end: 20px; }
.hz-cookie__banner[hidden] { display: none; }
.hz-cookie__banner.is-shown { opacity: 1; transform: none; }
.hz-cookie__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.hz-cookie__head .icon { font-size: 28px; color: #8FC4EE; }
.hz-cookie__head h2 { margin: 0; font-size: 19px; font-weight: 800; color: #fff; }
.hz-cookie__banner p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: #D5E3EF; }
.hz-cookie__banner p a { color: #fff; font-weight: 700; text-underline-offset: 3px; }
.hz-cookie__row { display: flex; gap: 10px; }
.hz-cookie__btn { flex: 1; padding: 12px 14px; border-radius: 10px; border: 1.5px solid transparent; cursor: pointer; font-weight: 800; font-size: 15.5px; text-align: center; transition: filter .2s, background .2s; }
.hz-cookie__btn--accept { background: var(--hz-accent); color: #fff; border-color: var(--hz-accent); }
.hz-cookie__btn--accept:hover { filter: brightness(1.15); }
.hz-cookie__btn--decline { background: rgba(255, 255, 255, .06); color: #fff; border-color: rgba(255, 255, 255, .28); }
.hz-cookie__btn--decline:hover { background: rgba(255, 255, 255, .14); }
.hz-cookie__btn--link { display: block; width: 100%; background: transparent; color: #D5E3EF; text-decoration: underline; text-underline-offset: 4px; padding: 8px; margin-top: 6px; font-weight: 700; }
.hz-cookie__btn--link:hover { color: #fff; }

.hz-cookie__fab {
  position: fixed; bottom: 20px; inset-inline-start: 20px; z-index: 999993; width: 50px; height: 50px; padding: 0;
  display: none; align-items: center; justify-content: center; font-size: 24px; cursor: pointer;
  background: var(--hz-bg); color: #8FC4EE; border: 2px solid var(--hz-accent); border-radius: 50%; box-shadow: 0 5px 16px rgba(9, 25, 41, .4); transition: transform .2s, background .2s;
}
.hz-cookie[data-side="end"] .hz-cookie__fab { inset-inline-start: auto; inset-inline-end: 20px; }
.hz-cookie__fab.is-visible { display: inline-flex; }
.hz-cookie__fab:hover { background: var(--hz-accent); color: #fff; transform: scale(1.08); }

.hz-cookie__overlay { position: fixed; inset: 0; z-index: 999999; display: none; align-items: center; justify-content: center; padding: 16px; background: rgba(4, 12, 20, .72); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.hz-cookie__overlay.is-open { display: flex; }
.hz-cookie__modal { width: 100%; max-width: 540px; max-height: min(92vh, 780px); overflow-y: auto; background: var(--hz-bg); border: 1px solid rgba(255, 255, 255, .16); border-radius: 20px; box-shadow: 0 24px 70px rgba(0, 0, 0, .6); color: #fff; }
.hz-cookie__mhead { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; background: var(--hz-bg); border-bottom: 1px solid rgba(255, 255, 255, .1); }
.hz-cookie__mhead h2 { margin: 0; font-size: 20px; font-weight: 800; color: #fff; }
.hz-cookie__x { background: transparent; border: 0; color: #D5E3EF; font-size: 24px; cursor: pointer; padding: 6px; border-radius: 8px; display: inline-flex; }
.hz-cookie__x:hover { color: #fff; background: rgba(255, 255, 255, .12); }
.hz-cookie__mbody { padding: 22px 24px 8px; }
.hz-cookie__desc { margin: 0 0 20px; font-size: 15px; line-height: 1.65; color: #D5E3EF; }
.hz-cookie__opt { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; padding: 16px 18px; margin-bottom: 12px; }
.hz-cookie__opt-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 6px; }
.hz-cookie__opt-title { font-weight: 800; font-size: 16.5px; color: #fff; }
.hz-cookie__opt p { margin: 0; font-size: 13.5px; line-height: 1.55; color: #B9CCDB; }

.hz-switch { position: relative; display: inline-block; width: 50px; height: 28px; flex: none; }
.hz-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.hz-switch__track { position: absolute; inset: 0; background: rgba(255, 255, 255, .14); border: 1.5px solid rgba(255, 255, 255, .3); border-radius: 30px; transition: background .25s, border-color .25s; }
.hz-switch__track::before { content: ""; position: absolute; top: 3px; inset-inline-start: 3px; width: 19px; height: 19px; border-radius: 50%; background: #C4D3E0; transition: transform .25s, background .25s; }
.hz-switch input:checked + .hz-switch__track { background: var(--hz-accent); border-color: #8FC4EE; }
.hz-switch input:checked + .hz-switch__track::before { background: #fff; transform: translateX(22px); }
[dir="rtl"] .hz-switch input:checked + .hz-switch__track::before { transform: translateX(-22px); }
.hz-switch input:disabled { cursor: not-allowed; }
.hz-switch input:disabled + .hz-switch__track { opacity: .6; }
.hz-switch input:focus-visible + .hz-switch__track { outline: 3px solid #FFC940; outline-offset: 2px; }

.hz-cookie__id { margin: 18px 0 8px; padding: 14px 16px; background: rgba(143, 196, 238, .1); border: 1px dashed rgba(143, 196, 238, .5); border-radius: 12px; }
.hz-cookie__id-label { font-size: 13px; font-weight: 700; color: #B9CCDB; }
.hz-cookie__id-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; flex-wrap: wrap; }
.hz-cookie__id code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 16px; letter-spacing: .04em; color: #fff; direction: ltr; unicode-bidi: isolate; }
.hz-cookie__copy { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .28); border-radius: 8px; padding: 5px 12px; font-size: 13px; font-weight: 700; cursor: pointer; }
.hz-cookie__copy:hover { background: rgba(255, 255, 255, .2); }
.hz-cookie__id small { display: block; margin-top: 8px; font-size: 12.5px; line-height: 1.5; color: #B9CCDB; }
.hz-cookie__mfoot { padding: 14px 24px 22px; }
.hz-cookie__mfoot .hz-cookie__btn { width: 100%; }
.hz-cookie__links { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; margin-top: 14px; font-size: 13.5px; }
.hz-cookie__links a { color: #D5E3EF; text-underline-offset: 3px; }
.hz-cookie__links a:hover { color: #fff; }

@media (max-width: 640px) {
  .hz-cookie__banner { inset-inline: 12px !important; bottom: 12px; width: auto; max-width: none; padding: 20px; }
  .hz-cookie__fab { bottom: 16px; width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .hz-widget * { transition: none !important; }
}

/* ------------------- privacy-page consent tools (block) ------------------- */
.consent-tools { border: 1px solid var(--c-border); border-radius: 18px; padding: clamp(20px, 3vw, 30px); background: var(--c-tint); }
.consent-tools h2 { margin: 0 0 8px; font-size: 22px; color: var(--c-navy); }
.consent-tools p { margin: 0 0 16px; color: var(--c-body); }
.consent-tools__id { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 18px; padding: 12px 16px; background: #fff; border: 1px solid var(--c-border); border-radius: 12px; }
.consent-tools__id strong { color: var(--c-navy); }
.consent-tools__id code { direction: ltr; unicode-bidi: isolate; font-size: 16px; letter-spacing: .04em; color: var(--c-primary-dark); font-weight: 700; }
.consent-tools__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.consent-tools__status { margin-top: 16px; padding: 12px 16px; border-radius: 12px; font-weight: 600; }
.consent-tools__status[hidden] { display: none; }
.consent-tools__status.is-ok { background: #E9F6EF; color: #14603A; border: 1px solid #BFE3CD; }
.consent-tools__status.is-err { background: #FDF0EF; color: #8C1D18; border: 1px solid #F0C4C0; }
.btn--danger { background: #B3261E; color: #fff; border-color: #B3261E; }
.btn--danger:hover { background: #8C1D18; border-color: #8C1D18; }
.btn[disabled] { opacity: .65; cursor: progress; }
