/* LUMIERE 15.8 — refined accessibility controls */
.lm-a11y__toggle {
  border: 1px solid rgba(255,255,255,.26) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.24), 0 0 0 5px rgba(255,255,255,.72) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.lm-a11y__toggle:hover { transform: translateY(-3px); box-shadow: 0 18px 48px rgba(0,0,0,.3), 0 0 0 5px rgba(255,255,255,.85) !important; }
.lm-a11y__panel {
  width: min(430px, calc(100vw - 28px)) !important;
  padding: 22px !important;
  border: 1px solid rgba(23,20,17,.12) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 28px 90px rgba(20,16,13,.28) !important;
  backdrop-filter: blur(22px) !important;
}
.lm-a11y__head { padding-bottom: 18px !important; margin-bottom: 16px !important; }
.lm-a11y__head strong { font-family: "Heebo", Arial, sans-serif !important; font-size: 20px !important; font-weight: 500 !important; }
.lm-a11y__head small { font-size: 12px !important; }
.lm-a11y__head button { display:grid; place-items:center; width:36px; height:36px; padding:0; border:1px solid #ddd5cc !important; border-radius:50%; font-size:22px !important; }
.lm-a11y__grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 9px !important; }
.lm-a11y__grid button {
  position: relative;
  min-height: 92px !important;
  border-radius: 12px !important;
  background: #faf8f5 !important;
  border-color: #dfd7cf !important;
}
.lm-a11y__grid button::after {
  content:"";
  position:absolute;
  top:8px;
  left:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:transparent;
}
.lm-a11y__grid button.is-active { background:#171411 !important; color:#fff !important; }
.lm-a11y__grid button.is-active::after { background:#caa273; box-shadow:0 0 0 3px rgba(202,162,115,.18); }
.lm-a11y__grid button b { font-size: 22px !important; font-weight: 500 !important; }
.lm-a11y__grid button span { font-size: 12px !important; }
.lm-a11y__reset { margin-top: 14px !important; min-height: 46px; border:1px solid #d9d1c8 !important; border-radius:999px !important; background:#fff !important; text-align:center !important; }
.lm-a11y__reset:hover { background:#171411 !important; color:#fff !important; }
.lm-a11y__note { margin:13px 4px 0; color:#746b63; font-size:10px; line-height:1.55; text-align:center; }

html.lm-light-surface body,
html.lm-light-surface .lm-site-main,
html.lm-light-surface section,
html.lm-light-surface article,
html.lm-light-surface header,
html.lm-light-surface footer,
html.lm-light-surface div:not(.lm-a11y__panel):not(.lm-reading-guide) { background-color:#fff !important; color:#111 !important; background-image:none !important; }
html.lm-light-surface img { background:#fff !important; }
html.lm-text-spacing body *:not(svg):not(path) { letter-spacing:.08em !important; word-spacing:.12em !important; line-height:1.8 !important; }
html.lm-hide-images img,
html.lm-hide-images [style*="background-image"] { visibility:hidden !important; }
html.lm-focus-visible a:focus,
html.lm-focus-visible button:focus,
html.lm-focus-visible input:focus,
html.lm-focus-visible select:focus,
html.lm-focus-visible textarea:focus,
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #d0913e !important;
  outline-offset:4px !important;
}

@media(max-width:650px) {
  .lm-a11y__panel { width:calc(100vw - 20px) !important; max-height:calc(100vh - 24px) !important; padding:17px !important; border-radius:16px !important; }
  .lm-a11y__grid { gap:7px !important; }
  .lm-a11y__grid button { min-height:78px !important; padding:9px 5px !important; }
  .lm-a11y__grid button b { font-size:19px !important; }
  .lm-a11y__grid button span { font-size:10px !important; }
}
