/* Shared slide-out side menu (js/side-menu.js) for published pages other than index. Theme via af-theme.css variables. */
.afsm-toggle{position:fixed;left:16px;bottom:16px;z-index:1090;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  background:var(--theme-card-bg,#fff);color:var(--theme-text-primary,#111);
  border:1px solid var(--theme-primary,#2563eb);box-shadow:var(--theme-shadow,0 4px 16px rgba(0,0,0,.2));
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#afsm .afsm-toggle:hover{background:var(--theme-primary,#2563eb);color:#fff}
.afsm-toggle:focus-visible,.afsm-drawer a:focus-visible,.afsm-drawer button:focus-visible{outline:2px solid var(--theme-primary,#2563eb);outline-offset:2px}
.afsm-bars,.afsm-bars::before,.afsm-bars::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s,background .2s}
.afsm-bars::before,.afsm-bars::after{content:"";position:absolute;left:0}
.afsm-bars::before{top:-6px}.afsm-bars::after{top:6px}
.afsm-open .afsm-bars{background:transparent}
.afsm-open .afsm-bars::before{transform:translateY(6px) rotate(45deg)}
.afsm-open .afsm-bars::after{transform:translateY(-6px) rotate(-45deg)}
.afsm-drawer{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;position:fixed;top:0;left:0;bottom:0;z-index:1080;width:min(86vw,280px);overflow-y:auto;
  padding:16px 12px 84px;display:flex;flex-direction:column;gap:4px;box-sizing:border-box;
  background:var(--theme-card-bg,#fff);color:var(--theme-text-primary,#111);
  border-right:1px solid var(--theme-border-color,rgba(0,0,0,.12));box-shadow:0 0 40px rgba(0,0,0,.3);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  transform:translateX(-105%);visibility:hidden;transition:transform .3s,visibility 0s linear .3s}
.afsm-open .afsm-drawer{transform:translateX(0);visibility:visible;transition:transform .3s}
html[data-theme="light"] .afsm-drawer,html[data-theme="light"] .afsm-toggle{background:#fff}
.afsm-head{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 10px;font-weight:700;font-size:1rem}
.afsm-close{background:none;border:none;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;padding:4px 8px}
.afsm-drawer .afsm-group-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;
  border-left:3px solid transparent;color:var(--theme-text-muted,#666);font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:10px 12px 6px;cursor:pointer;text-align:left}
.afsm-drawer .afsm-group-btn:hover{color:var(--theme-text-primary,#111);border-left-color:var(--theme-primary,#2563eb)}
.afsm-caret{display:inline-block;transition:transform .2s;color:var(--theme-primary,#2563eb)}
.afsm-group-btn[aria-expanded="false"] .afsm-caret{transform:rotate(-90deg)}
.afsm-items[hidden]{display:none}
.afsm-drawer a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;text-decoration:none;
  color:var(--theme-text-secondary,#333);font-size:.9rem}
.afsm-drawer a:hover{background:var(--theme-input-bg,rgba(37,99,235,.08));color:var(--theme-text-primary,#111)}
.afsm-drawer a i{width:20px;text-align:center;color:var(--theme-primary,#2563eb)}
.afsm-drawer a[aria-current="page"]{background:var(--theme-input-bg,rgba(37,99,235,.1));color:var(--theme-text-primary,#111);
  font-weight:700;box-shadow:inset 3px 0 0 var(--theme-primary,#2563eb)}
.afsm-backdrop{position:fixed;inset:0;z-index:1070;background:rgba(0,0,0,.4);border:none;padding:0;margin:0;display:none}
.afsm-open .afsm-backdrop{display:block}
@media (prefers-reduced-motion:reduce){.afsm-drawer,.afsm-bars,.afsm-bars::before,.afsm-bars::after{transition:none}}
