/* =================================================================
   ACCESSIBILITY WIDGET — ported from the proven ildevweb build (same
   class names, same structure, same behaviour), retinted to this
   site's navy/yellow/cream and set right-to-left for Hebrew.
   ================================================================= */

:root{
  --aw-access-scale: 1;
  --aw-access-text-scale: 1;
  --aw-access-letter-space: 0em;
  --aw-access-line-height: 1;
  --aw-access-contrast-filter: none;
  --aw-access-saturation-filter: none;
  --aw-access-panel-width: 392px;
  --aw-access-radius: 18px;
  --aw-access-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --aw-access-navy: #191D22;
  --aw-access-yellow: #D5222A;
  --aw-access-ink: #14213d;
  --aw-access-muted: #667184;
  --aw-access-border: rgba(25, 29, 34, .12);
  --aw-access-surface: #ffffff;
  --aw-access-soft: #f7f3ea;
}

body.aw-access-widget-large{
  --aw-access-scale: 1.12;
  --aw-access-panel-width: 440px;
}

body.aw-access-text-1{ --aw-access-text-scale: 1.08; }
body.aw-access-text-2{ --aw-access-text-scale: 1.16; }
body.aw-access-text-3{ --aw-access-text-scale: 1.26; }
body.aw-access-text-4{ --aw-access-text-scale: 1.38; }
body.aw-access-spacing-1{ --aw-access-letter-space: .035em; }
body.aw-access-spacing-2{ --aw-access-letter-space: .06em; }
body.aw-access-spacing-3{ --aw-access-letter-space: .085em; }
body.aw-access-spacing-4{ --aw-access-letter-space: .11em; }
body.aw-access-line-1{ --aw-access-line-height: 1.18; }
body.aw-access-line-2{ --aw-access-line-height: 1.35; }
body.aw-access-line-3{ --aw-access-line-height: 1.55; }
body.aw-access-line-4{ --aw-access-line-height: 1.75; }

body[class*="aw-access-contrast-"] .site-shell,
body[class*="aw-access-saturation-"] .site-shell,
body.aw-access-colorblind .site-shell,
body.aw-access-visual-profile .site-shell{
  filter: var(--aw-access-contrast-filter) var(--aw-access-saturation-filter);
}

body[class*="aw-access-text-"] :where(p,a,li,button,input,textarea,label,span,h1,h2,h3,h4,h5,h6):not(.aw-access-root *){
  font-size: calc(1em * var(--aw-access-text-scale)) !important;
}

body[class*="aw-access-spacing-"] :where(p,a,li,button,label,h1,h2,h3,h4,h5,h6):not(.aw-access-root *){
  letter-spacing: var(--aw-access-letter-space) !important;
}

body[class*="aw-access-line-"] :where(p,li,h1,h2,h3,h4,h5,h6):not(.aw-access-root *){
  line-height: var(--aw-access-line-height) !important;
}

body.aw-access-align-left :where(p,h1,h2,h3,h4,h5,h6,li):not(.aw-access-root *){ text-align: left !important; }
body.aw-access-align-center :where(p,h1,h2,h3,h4,h5,h6,li):not(.aw-access-root *){ text-align: center !important; }
body.aw-access-align-justify :where(p,li):not(.aw-access-root *){ text-align: justify !important; }
body.aw-access-align-right :where(p,h1,h2,h3,h4,h5,h6,li):not(.aw-access-root *){ text-align: right !important; }

body.aw-access-readable-font :where(*):not(.aw-access-root *):not([class*="fa-"]){
  font-family: Arial, "Segoe UI", system-ui, -apple-system, sans-serif !important;
}

body.aw-access-highlight-links :where(a):not(.aw-access-root *):not(.internal-primary):not(.internal-secondary):not(.nav-link){
  color: var(--aw-access-navy) !important;
  background: rgba(213, 34, 42, .18) !important;
  text-decoration: underline !important;
  text-decoration-thickness: .14em !important;
  text-underline-offset: .18em !important;
}

/* ── Contrast levels ──────────────────────────────────────────── */
body.aw-access-contrast-1{ --aw-access-contrast-filter: contrast(1.28); }
body.aw-access-contrast-2{
  --aw-access-contrast-filter: contrast(1.45);
  background: #000 !important;
  color: #fff !important;
}
body.aw-access-contrast-2 :where(.site-shell,main,section,article,header,footer):not(.aw-access-root *){
  background-color: #000 !important;
  color: #fff !important;
}
body.aw-access-contrast-2 :where(a,button):not(.aw-access-root *):not(.aw-access-root){ color: #D5222A !important; }
body.aw-access-contrast-2 :where(img,video):not(.aw-access-root *){ filter: none !important; opacity: 1 !important; }
body.aw-access-contrast-3{ --aw-access-contrast-filter: invert(1) hue-rotate(180deg) contrast(1.15); }
body.aw-access-contrast-3 :where(img,video,svg,iframe,canvas,picture):not(.aw-access-root *){
  filter: invert(1) hue-rotate(180deg);
}

/* ── Saturation levels ────────────────────────────────────────── */
body.aw-access-saturation-1{ --aw-access-saturation-filter: saturate(.48); }
body.aw-access-saturation-2{ --aw-access-saturation-filter: saturate(1.55); }
body.aw-access-saturation-3{ --aw-access-saturation-filter: grayscale(1); }

/* ── Quick presets ────────────────────────────────────────────── */
body.aw-access-colorblind{
  --aw-access-contrast-filter: contrast(1.12);
  --aw-access-saturation-filter: saturate(.72);
}
body.aw-access-visual-profile{
  --aw-access-text-scale: 1.18;
  --aw-access-contrast-filter: contrast(1.18);
}
body.aw-access-motor-profile :where(a,button,input,textarea,select):not(.aw-access-root *){
  min-height: 44px !important;
  outline-offset: 5px !important;
}
body.aw-access-adhd-profile::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9990;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,.60), rgba(0,0,0,0) 36%, rgba(0,0,0,0) 64%, rgba(0,0,0,.60));
  mix-blend-mode: multiply;
}

/* ── Stop motion / seizure-safe / cognitive / ADHD profiles ──────
   All four force every CSS animation and transition off. This site's
   own entrance system holds many elements at opacity:0 waiting for a
   JS-added class (.is-in, .mm-in, [data-*-reveal].is-revealed, etc) —
   simply killing the transition would leave that content permanently
   invisible, so every one of those resting states is also pinned back
   to fully visible here, by the same selectors the motion engine
   itself uses (see assets/css/native.css / internal.css). */
body.aw-access-stop-motion :where(*):not(.aw-access-root *),
body.aw-access-seizure-profile :where(*):not(.aw-access-root *),
body.aw-access-cognitive-profile :where(*):not(.aw-access-root *),
body.aw-access-adhd-profile :where(*):not(.aw-access-root *){
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

body.aw-access-stop-motion :where(
    [data-motion-section] *, [data-motion-content], [data-motion-image], [data-motion-extra],
    .hero-eyebrow, .hero-title-line > span, .hero-content > p, .hero-actions, .hero-trust-items span,
    .mm-beat, .is-preset,
    [data-handyman-beat], [data-handyman-hero-media], [data-handyman-reveal],
    [data-category-reveal], [data-category-hero], [data-category-card],
    [data-problem-hero-beat], [data-problem-hero-visual], [data-problem-page-reveal], [data-problem-category-card],
    .internal-product-card, .shelf-item, .review-card, .department-tile
  ):not(.aw-access-root *),
body.aw-access-seizure-profile :where(
    [data-motion-section] *, [data-motion-content], [data-motion-image], [data-motion-extra],
    .hero-eyebrow, .hero-title-line > span, .hero-content > p, .hero-actions, .hero-trust-items span,
    .mm-beat, .is-preset,
    [data-handyman-beat], [data-handyman-hero-media], [data-handyman-reveal],
    [data-category-reveal], [data-category-hero], [data-category-card],
    [data-problem-hero-beat], [data-problem-hero-visual], [data-problem-page-reveal], [data-problem-category-card],
    .internal-product-card, .shelf-item, .review-card, .department-tile
  ):not(.aw-access-root *),
body.aw-access-cognitive-profile :where(
    [data-motion-section] *, [data-motion-content], [data-motion-image], [data-motion-extra],
    .hero-eyebrow, .hero-title-line > span, .hero-content > p, .hero-actions, .hero-trust-items span,
    .mm-beat, .is-preset,
    [data-handyman-beat], [data-handyman-hero-media], [data-handyman-reveal],
    [data-category-reveal], [data-category-hero], [data-category-card],
    [data-problem-hero-beat], [data-problem-hero-visual], [data-problem-page-reveal], [data-problem-category-card],
    .internal-product-card, .shelf-item, .review-card, .department-tile
  ):not(.aw-access-root *),
body.aw-access-adhd-profile :where(
    [data-motion-section] *, [data-motion-content], [data-motion-image], [data-motion-extra],
    .hero-eyebrow, .hero-title-line > span, .hero-content > p, .hero-actions, .hero-trust-items span,
    .mm-beat, .is-preset,
    [data-handyman-beat], [data-handyman-hero-media], [data-handyman-reveal],
    [data-category-reveal], [data-category-hero], [data-category-card],
    [data-problem-hero-beat], [data-problem-hero-visual], [data-problem-page-reveal], [data-problem-category-card],
    .internal-product-card, .shelf-item, .review-card, .department-tile
  ):not(.aw-access-root *){
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

/* ── Hide images ──────────────────────────────────────────────── */
body.aw-access-hide-images :where(img,picture):not(.aw-access-root *):not([data-a11y-essential-image]){
  visibility: hidden !important;
}
body.aw-access-hide-images :where(.brand-mark,.footer-brand,.site-header) img{
  visibility: visible !important;
}

/* ── Cursor ───────────────────────────────────────────────────── */
@media (hover: hover) and (pointer: fine){
  body.aw-access-cursor-black,
  body.aw-access-cursor-black *{ cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='2.5' d='M8 4l34 28-16 3-8 13z'/%3E%3C/svg%3E") 8 4, auto !important; }
  body.aw-access-cursor-white,
  body.aw-access-cursor-white *{ cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath fill='%23fff' stroke='%23000' stroke-width='2.5' d='M8 4l34 28-16 3-8 13z'/%3E%3C/svg%3E") 8 4, auto !important; }
}

/* =================================================================
   WIDGET CHROME
   ================================================================= */

.aw-access-root{
  position: relative;
  z-index: 100000;
  direction: rtl;
  font-family: Arial, "Segoe UI", system-ui, -apple-system, sans-serif;
}

.aw-access-fab{
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 100001;
  display: grid;
  place-items: center;
  width: calc(56px * var(--aw-access-scale));
  height: calc(56px * var(--aw-access-scale));
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--aw-access-navy);
  color: #fff;
  box-shadow: 0 16px 36px rgba(3, 29, 71, .28);
  cursor: pointer;
  transform: translateZ(0);
  transition: transform .22s var(--aw-access-ease), box-shadow .22s var(--aw-access-ease), background .22s var(--aw-access-ease), color .22s var(--aw-access-ease);
  will-change: transform;
}

.aw-access-fab:hover{
  transform: translateY(-3px) scale(1.04);
  background: var(--aw-access-yellow);
  color: var(--aw-access-navy);
  box-shadow: 0 20px 44px rgba(3, 29, 71, .3);
}

.aw-access-fab-icon{
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.aw-access-position-right .aw-access-fab{ right: 22px; left: auto; }
body.aw-access-widget-hidden .aw-access-fab{ display: none; }

.aw-access-panel{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100002;
  width: min(calc(var(--aw-access-panel-width) * var(--aw-access-scale)), calc(100vw - 28px));
  height: 100vh;
  height: 100dvh;
  max-height: 100vh;
  max-height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;
  padding: 14px 0 14px 14px;
  transform: translateX(calc(-100% - 24px));
  transition: transform .3s var(--aw-access-ease);
  pointer-events: none;
  will-change: transform;
  scrollbar-width: thin;
  scrollbar-color: #c8d2df transparent;
}

.aw-access-panel::-webkit-scrollbar{ width: 8px; }
.aw-access-panel::-webkit-scrollbar-track{ background: transparent; }
.aw-access-panel::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: #c8d2df;
}

body.aw-access-position-right .aw-access-panel{
  left: auto;
  right: 0;
  padding: 14px 14px 14px 0;
  transform: translateX(calc(100% + 24px));
}

body.aw-access-panel-open .aw-access-panel{
  transform: translateX(0);
  pointer-events: auto;
}

.aw-access-panel-shell{
  min-height: 100%;
  overflow: visible;
  overscroll-behavior: contain;
  padding: calc(18px * var(--aw-access-scale));
  border: 1px solid var(--aw-access-border);
  border-radius: var(--aw-access-radius);
  background: linear-gradient(180deg, #ffffff 0%, #faf8f4 100%);
  color: var(--aw-access-ink);
  box-shadow: 0 28px 90px rgba(3, 29, 71, .22);
}

.aw-access-header,
.aw-access-field,
.aw-access-section-head,
.aw-access-toggle-row,
.aw-access-level,
.aw-access-structure-head{
  display: flex;
  align-items: center;
}

.aw-access-header{
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 16px;
}

.aw-access-title-wrap{ min-width: 0; }

.aw-access-kicker{
  display: block;
  margin-bottom: 5px;
  color: var(--aw-access-yellow);
  font-size: calc(11px * var(--aw-access-scale));
  font-weight: 900;
  letter-spacing: .1em;
}

.aw-access-title{
  margin: 0;
  color: var(--aw-access-navy);
  font-size: calc(21px * var(--aw-access-scale));
  font-weight: 900;
  line-height: 1.15;
}

.aw-access-close{
  display: grid;
  place-items: center;
  width: calc(40px * var(--aw-access-scale));
  height: calc(40px * var(--aw-access-scale));
  min-width: 40px;
  min-height: 40px;
  padding: 0;
  border: 1px solid var(--aw-access-border);
  border-radius: 999px;
  background: #fff;
  color: var(--aw-access-navy);
  cursor: pointer;
  transition: transform .2s var(--aw-access-ease), background .2s var(--aw-access-ease), border-color .2s var(--aw-access-ease);
}

.aw-access-close:hover{
  transform: scale(1.04);
  border-color: rgba(213, 34, 42, .5);
  background: rgba(213, 34, 42, .12);
}

.aw-access-close-mark{
  font-size: calc(22px * var(--aw-access-scale));
  line-height: 1;
}

.aw-access-section{
  display: grid;
  gap: 10px;
  padding: 16px 0;
  border-top: 1px solid var(--aw-access-border);
}

.aw-access-section-title{
  margin: 0;
  color: var(--aw-access-navy);
  font-size: calc(14px * var(--aw-access-scale));
  font-weight: 900;
  line-height: 1.2;
}

.aw-access-section-note{
  margin: 3px 0 0;
  color: var(--aw-access-muted);
  font-size: calc(12px * var(--aw-access-scale));
  line-height: 1.4;
}

.aw-access-field{
  justify-content: space-between;
  gap: 10px;
}

.aw-access-field-label,
.aw-access-select-label{
  color: var(--aw-access-ink);
  font-size: calc(13px * var(--aw-access-scale));
  font-weight: 700;
}

.aw-access-segment{
  display: flex;
  gap: 7px;
}

.aw-access-segment-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.aw-access-profile-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.aw-access-chip,
.aw-access-profile-card,
.aw-access-toggle-row,
.aw-access-level,
.aw-access-action,
.aw-access-reset{
  min-height: calc(42px * var(--aw-access-scale));
  border: 1px solid var(--aw-access-border);
  border-radius: 13px;
  background: var(--aw-access-surface);
  color: var(--aw-access-ink);
  font: inherit;
  font-size: calc(13px * var(--aw-access-scale));
  cursor: pointer;
  transition: transform .18s var(--aw-access-ease), border-color .18s var(--aw-access-ease), background .18s var(--aw-access-ease), color .18s var(--aw-access-ease), box-shadow .18s var(--aw-access-ease);
}

.aw-access-chip{
  flex: 1;
  padding: 8px 10px;
  white-space: nowrap;
}

.aw-access-profile-card{
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 10px;
  text-align: right;
}

.aw-access-profile-icon{
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: rgba(25, 29, 34, .07);
  color: var(--aw-access-navy);
  font-weight: 900;
}

.aw-access-profile-text{
  line-height: 1.2;
}

.aw-access-toggle-row,
.aw-access-level{
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 10px 12px;
  text-align: right;
}

.aw-access-level-label{
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: baseline;
  font-weight: 700;
}

.aw-access-level-value{
  color: var(--aw-access-muted);
  font-size: calc(12px * var(--aw-access-scale));
  font-weight: 700;
}

.aw-access-action{
  width: 100%;
  padding: 10px 12px;
  text-align: center;
  font-weight: 800;
}

.aw-access-chip:hover,
.aw-access-profile-card:hover,
.aw-access-toggle-row:hover,
.aw-access-level:hover,
.aw-access-action:hover{
  transform: translateY(-1px);
  border-color: rgba(213, 34, 42, .5);
  background: rgba(213, 34, 42, .06);
  box-shadow: 0 8px 18px rgba(3, 29, 71, .06);
}

.aw-access-chip.is-active,
.aw-access-profile-card.is-active,
.aw-access-toggle-row.is-active,
.aw-access-level.is-active,
.aw-access-action.is-active{
  border-color: rgba(213, 34, 42, .65);
  background: rgba(213, 34, 42, .14);
  color: var(--aw-access-navy);
}

.aw-access-switch{
  position: relative;
  flex: 0 0 auto;
  width: 38px;
  height: 22px;
  border-radius: 999px;
  background: #d6dde8;
  transition: background .2s var(--aw-access-ease);
}

.aw-access-switch::after{
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(3, 29, 71, .18);
  transition: transform .2s var(--aw-access-ease);
}

.aw-access-toggle-row.is-active .aw-access-switch{ background: var(--aw-access-navy); }
.aw-access-toggle-row.is-active .aw-access-switch::after{ transform: translateX(-16px); }

.aw-access-dots{
  display: inline-flex;
  gap: 4px;
}

.aw-access-dot-button{
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.aw-access-dot-button:hover{
  background: rgba(213, 34, 42, .12);
}

.aw-access-dot-button:focus-visible{
  outline: 3px solid rgba(213, 34, 42, .55);
  outline-offset: 2px;
}

.aw-access-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #ccd5e2;
  pointer-events: none;
}

.aw-access-dot.is-on{ background: var(--aw-access-navy); }

.aw-access-footer{
  display: grid;
  gap: 12px;
  padding: 16px 0 2px;
}

.aw-access-reset{
  width: 100%;
  min-height: calc(48px * var(--aw-access-scale));
  background: var(--aw-access-navy);
  color: #fff;
  font-weight: 900;
}

.aw-access-reset:hover{
  transform: translateY(-1px);
  background: var(--aw-access-navy);
  border-color: var(--aw-access-navy);
  box-shadow: 0 16px 28px rgba(3, 29, 71, .24);
}

.aw-access-footer-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.aw-access-footer-link{
  color: var(--aw-access-muted);
  font-size: 12px;
  text-decoration: none;
}

.aw-access-footer-link:hover{ color: var(--aw-access-navy); text-decoration: underline; }

.aw-access-fab:focus-visible,
.aw-access-close:focus-visible,
.aw-access-chip:focus-visible,
.aw-access-profile-card:focus-visible,
.aw-access-toggle-row:focus-visible,
.aw-access-level:focus-visible,
.aw-access-action:focus-visible,
.aw-access-reset:focus-visible,
.aw-access-footer-link:focus-visible,
.aw-access-structure-link:focus-visible{
  outline: 3px solid rgba(213, 34, 42, .55);
  outline-offset: 3px;
}

/* ── Reading guide ────────────────────────────────────────────── */
.aw-access-reading-guide{
  position: fixed;
  left: 0;
  right: 0;
  top: -100px;
  z-index: 99999;
  height: 4px;
  display: none;
  pointer-events: none;
  background: var(--aw-access-yellow);
  box-shadow: 0 0 0 9999px rgba(3, 29, 71, .06);
}

body.aw-access-reading-guide-on .aw-access-reading-guide{ display: block; }

/* ── Text magnifier ───────────────────────────────────────────── */
.aw-access-text-magnifier{
  position: fixed;
  right: 18px;
  bottom: 90px;
  z-index: 100003;
  display: none;
  max-width: min(480px, calc(100vw - 36px));
  padding: 14px 18px;
  border-radius: 16px;
  background: var(--aw-access-navy);
  color: #fff;
  font-size: 22px;
  line-height: 1.4;
  box-shadow: 0 20px 50px rgba(3, 29, 71, .28);
  pointer-events: none;
}

body.aw-access-position-right .aw-access-text-magnifier{ right: auto; left: 18px; }

/* ── Site structure popover ───────────────────────────────────── */
.aw-access-structure-popover{
  position: fixed;
  left: 18px;
  bottom: 90px;
  z-index: 100003;
  width: min(360px, calc(100vw - 36px));
  max-height: min(520px, calc(100dvh - 130px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  overscroll-behavior: contain;
  padding: 14px;
  border: 1px solid var(--aw-access-border);
  border-radius: 18px;
  background: #fff;
  color: var(--aw-access-ink);
  box-shadow: 0 24px 70px rgba(3, 29, 71, .22);
}

.aw-access-structure-popover[hidden]{
  display: none;
}

body.aw-access-position-right .aw-access-structure-popover{
  left: auto;
  right: 18px;
}

.aw-access-structure-head{
  justify-content: space-between;
  gap: 12px;
}

.aw-access-structure-title{
  color: var(--aw-access-navy);
  font-size: 14px;
  font-weight: 900;
}

.aw-access-structure-close{
  width: 32px;
  height: 32px;
  min-width: 32px;
  min-height: 32px;
}

.aw-access-structure-list{
  display: grid;
  gap: 6px;
  margin-top: 12px;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-left: 4px;
  scrollbar-width: thin;
  scrollbar-color: #c8d2df transparent;
}

.aw-access-structure-list::-webkit-scrollbar{ width: 7px; }
.aw-access-structure-list::-webkit-scrollbar-track{ background: transparent; }
.aw-access-structure-list::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: #c8d2df;
}

.aw-access-structure-link{
  display: block;
  padding: 9px 10px;
  border-radius: 11px;
  background: var(--aw-access-soft);
  color: var(--aw-access-ink);
  font-size: 13px;
  line-height: 1.3;
  text-decoration: none;
}

.aw-access-structure-link:hover{
  background: rgba(213, 34, 42, .16);
  color: var(--aw-access-navy);
}

.aw-access-structure-meta{
  color: var(--aw-access-muted);
  font-size: 11px;
  font-weight: 800;
}

.aw-access-structure-empty{
  margin: 0;
  color: var(--aw-access-muted);
  font-size: 13px;
}

/* ── Speech "read aloud" floating button ──────────────────────── */
#a11y-speech-btn{
  position: fixed;
  z-index: 100004;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border: 0;
  border-radius: 999px;
  background: var(--aw-access-navy);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(3, 29, 71, .26);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 160ms ease, transform 160ms ease;
  pointer-events: none;
}

#a11y-speech-btn.is-visible{ opacity: 1; transform: none; pointer-events: auto; }

/* =================================================================
   RESPONSIVE
   ================================================================= */

@media (max-width: 640px){
  :root{
    --aw-access-scale: 1;
    --aw-access-panel-width: 100vw;
    --aw-access-radius: 20px;
  }

  body.aw-access-widget-large{
    --aw-access-scale: 1.04;
    --aw-access-panel-width: 100vw;
  }

  .aw-access-fab{
    left: max(14px, env(safe-area-inset-left));
    bottom: max(14px, env(safe-area-inset-bottom));
    width: 52px;
    height: 52px;
    box-shadow: 0 14px 32px rgba(3, 29, 71, .28);
  }

  body.aw-access-position-right .aw-access-fab{
    right: max(14px, env(safe-area-inset-right));
    left: auto;
  }

  .aw-access-fab-icon{
    width: 28px;
    height: 28px;
  }

  .aw-access-panel{
    top: 0;
    left: 0;
    right: auto;
    width: 100vw;
    max-width: 100vw;
    padding: max(8px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    transform: translateX(-100%);
  }

  body.aw-access-position-right .aw-access-panel{
    left: auto;
    right: 0;
    padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) 8px;
    transform: translateX(100%);
  }

  body.aw-access-panel-open .aw-access-panel{
    transform: translateX(0);
  }

  .aw-access-panel-shell{
    min-height: calc(100dvh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
    padding: 16px;
    border-radius: 20px;
  }

  .aw-access-header{
    position: sticky;
    top: 0;
    z-index: 2;
    margin: -16px -16px 0;
    padding: 16px 16px 14px;
    border-radius: 20px 20px 0 0;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .aw-access-title{ font-size: 20px; }
  .aw-access-close{ width: 42px; height: 42px; }
  .aw-access-section{ gap: 9px; padding: 14px 0; }

  .aw-access-field{
    align-items: stretch;
    flex-direction: column;
  }

  .aw-access-segment,
  .aw-access-segment-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .aw-access-profile-grid{
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .aw-access-chip,
  .aw-access-profile-card,
  .aw-access-toggle-row,
  .aw-access-level,
  .aw-access-action,
  .aw-access-reset{
    min-height: 46px;
    font-size: 14px;
  }

  .aw-access-profile-card{
    grid-template-columns: 32px 1fr;
    padding: 10px 11px;
  }

  .aw-access-profile-icon{ width: 30px; height: 30px; }

  .aw-access-level{
    align-items: flex-start;
    flex-direction: column;
  }

  .aw-access-dots{
    width: 100%;
    justify-content: space-between;
    gap: 2px;
  }

  .aw-access-dot-button{ width: 34px; height: 34px; }
  .aw-access-switch{ width: 44px; height: 26px; }
  .aw-access-switch::after{ width: 20px; height: 20px; }
  .aw-access-toggle-row.is-active .aw-access-switch::after{ transform: translateX(-18px); }

  .aw-access-footer-links{ display: grid; gap: 8px; }

  .aw-access-text-magnifier{
    right: 12px;
    left: 12px;
    bottom: calc(74px + env(safe-area-inset-bottom));
    max-width: none;
    font-size: 18px;
    border-radius: 14px;
  }

  .aw-access-structure-popover{
    left: 10px;
    right: 10px;
    bottom: calc(74px + env(safe-area-inset-bottom));
    width: auto;
    max-height: min(58dvh, 520px);
    padding: 12px;
    border-radius: 16px;
  }

  .aw-access-structure-list{ max-height: calc(58dvh - 62px); }
}

@media (max-width: 380px){
  .aw-access-panel-shell{ padding: 14px; }
  .aw-access-header{ margin: -14px -14px 0; padding: 14px 14px 12px; }
  .aw-access-title{ font-size: 18px; }
  .aw-access-segment,
  .aw-access-segment-grid{ grid-template-columns: 1fr 1fr; }
  .aw-access-chip{ white-space: normal; }
  .aw-access-toggle-row{ gap: 9px; }
}

@media (prefers-reduced-motion: reduce){
  .aw-access-panel{ transition-duration: 80ms; }
  .aw-access-fab{ transition-duration: 80ms; }
}

/* =================================================================
   SKIP LINK (unrelated to the widget, but lives in the same file
   per the site's "everything accessibility-related in one place")
   ================================================================= */
.skip-link {
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 100010;
  padding: 12px 20px;
  border-radius: 10px;
  background: var(--aw-access-navy);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(3, 29, 71, .28);
  transform: translateY(-160%);
  transition: transform 200ms ease;
}

.skip-link:focus {
  transform: none;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--aw-access-navy);
  outline-offset: 2px;
}

/* =================================================================
   ACCESSIBILITY STATEMENT PAGE — plain reading content, no new
   design system: it inherits colours/type from .internal-hero-light
   and the site's own h2/p rhythm, just laid out for long-form text.
   ================================================================= */
.a11y-statement {
  padding: 56px 0 88px;
  background: var(--aw-access-soft);
}

.a11y-statement-inner {
  display: grid;
  gap: 34px;
  max-width: 760px;
}

.a11y-statement-block h2 {
  margin: 0 0 12px;
  color: var(--aw-access-navy);
  font-size: clamp(21px, 2.2vw, 26px);
  font-weight: 900;
}

.a11y-statement-block p {
  margin: 0 0 10px;
  color: #44506a;
  font-size: 16px;
  line-height: 1.7;
}

.a11y-statement-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.a11y-statement-list li {
  position: relative;
  padding-inline-start: 20px;
  color: #44506a;
  font-size: 15.5px;
  line-height: 1.6;
}

.a11y-statement-list li::before {
  position: absolute;
  inset-inline-start: 0;
  top: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aw-access-yellow);
  content: "";
}

.a11y-statement-updated {
  margin: 8px 0 0;
  color: #8992a6;
  font-size: 13.5px;
}

@media (max-width: 640px) {
  .a11y-statement { padding: 40px 0 64px; }
  .a11y-statement-inner { gap: 26px; }
}
