/* Mobile menu chrome — burger bar + CSS-only toggle opening a menu surface (7 variants).
 * Tokens only, no !important (except the reduced-motion kill-switch). apb-rx-mm-* namespace. */

.apb-rx-mm{position:relative;font-family:var(--apb-rx-font,inherit);overflow:hidden}
.apb-rx-mm-t{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
.apb-rx-mm-bar{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,32px)}
.apb-rx-mm-brand{font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--apb-rx-ink)}
.apb-rx-mm-burger{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--apb-rx-line,#e7e8ec);cursor:pointer;color:var(--apb-rx-ink);background:var(--apb-rx-surface,#fff);transition:background var(--apb-rx-t) var(--apb-rx-ease)}
.apb-rx-mm-burger:hover{background:var(--apb-rx-soft,#f4f5f7)}
.apb-rx-mm-scrim{position:absolute;inset:0;background:rgba(8,10,18,.42);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity var(--apb-rx-t-slow) var(--apb-rx-ease),visibility var(--apb-rx-t-slow);cursor:pointer;z-index:2}
.apb-rx-mm-t:checked~.apb-rx-mm-scrim{opacity:1;visibility:visible}
.apb-rx-mm-panel{position:absolute;z-index:3;background:var(--apb-rx-surface,#fff);display:flex;flex-direction:column;gap:6px;padding:22px clamp(18px,4vw,24px)}
.apb-rx-mm-phead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.apb-rx-mm-nav{display:flex;flex-direction:column;gap:4px}
.apb-rx-mm-row{display:flex;align-items:center;justify-content:space-between;padding:15px 14px;border-radius:var(--apb-rx-radius,16px);text-decoration:none;font-size:17px;font-weight:600;color:var(--apb-rx-ink);transition:background var(--apb-rx-t) var(--apb-rx-ease)}
.apb-rx-mm-row:hover{background:var(--apb-rx-soft,#f4f5f7)}
.apb-rx-mm-row.on{background:var(--apb-rx-soft,#f4f5f7);color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-mm-chev{color:var(--apb-rx-muted,#6b7280);display:inline-flex}
.apb-rx-mm-cta{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;border-radius:var(--apb-rx-radius,16px);background:var(--apb-rx-brand);color:#fff;text-decoration:none;font-weight:700;font-size:16px;margin-top:auto}
.apb-rx-mm-panel .apb-rx-mm-burger{border:none}

/* ---- drawer (right slide-in) ---- */
.apb-rx-mm--drawer .apb-rx-mm-panel{top:0;right:0;bottom:0;width:min(84%,360px);box-shadow:-24px 0 60px rgba(11,13,18,.28);transform:translateX(104%);transition:transform var(--apb-rx-t-slow) var(--apb-rx-ease)}
.apb-rx-mm--drawer .apb-rx-mm-t:checked~.apb-rx-mm-panel{transform:none}

/* ---- sheet (bottom slide-up) ---- */
.apb-rx-mm--sheet .apb-rx-mm-panel{left:0;right:0;bottom:0;border-radius:var(--apb-rx-radius,16px) var(--apb-rx-radius,16px) 0 0;box-shadow:0 -24px 60px rgba(11,13,18,.24);transform:translateY(100%);transition:transform var(--apb-rx-t-slow) var(--apb-rx-ease)}
.apb-rx-mm--sheet .apb-rx-mm-t:checked~.apb-rx-mm-panel{transform:none}

/* ---- fullscreen ---- */
.apb-rx-mm--full .apb-rx-mm-panel{inset:0;justify-content:center;gap:8px;opacity:0;visibility:hidden;transform:scale(1.03);transition:opacity var(--apb-rx-t-slow) var(--apb-rx-ease),transform var(--apb-rx-t-slow) var(--apb-rx-ease),visibility var(--apb-rx-t-slow)}
.apb-rx-mm--full .apb-rx-mm-t:checked~.apb-rx-mm-panel{opacity:1;visibility:visible;transform:none}
.apb-rx-mm--full .apb-rx-mm-row{font-size:clamp(22px,6vw,30px);font-weight:800;letter-spacing:-.02em}
.apb-rx-mm--full .apb-rx-mm-phead{position:absolute;top:16px;left:clamp(18px,4vw,24px);right:clamp(18px,4vw,24px);margin:0}

/* ---- command palette ---- */
.apb-rx-mm--command .apb-rx-mm-panel{left:50%;top:12%;transform:translateX(-50%) scale(.96);width:min(92%,460px);border-radius:calc(var(--apb-rx-radius,16px)*1.1);border:1px solid var(--apb-rx-line,#e7e8ec);box-shadow:0 40px 90px rgba(11,13,18,.3);opacity:0;visibility:hidden;transition:opacity var(--apb-rx-t) var(--apb-rx-ease),transform var(--apb-rx-t) var(--apb-rx-ease),visibility var(--apb-rx-t)}
.apb-rx-mm--command .apb-rx-mm-t:checked~.apb-rx-mm-panel{opacity:1;visibility:visible;transform:translateX(-50%) scale(1)}
.apb-rx-mm-search{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--apb-rx-line,#e7e8ec);border-radius:var(--apb-rx-radius,12px);color:var(--apb-rx-muted,#6b7280);margin-bottom:10px}
.apb-rx-mm-search input{border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--apb-rx-ink);width:100%}
.apb-rx-mm-clist{display:flex;flex-direction:column;gap:2px}
.apb-rx-mm-crow{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:var(--apb-rx-radius,12px);text-decoration:none;color:var(--apb-rx-ink);transition:background var(--apb-rx-t) var(--apb-rx-ease)}
.apb-rx-mm-crow:hover{background:var(--apb-rx-soft,#f4f5f7)}
.apb-rx-mm-cdot{width:8px;height:8px;border-radius:50%;background:var(--apb-rx-brand);flex:0 0 auto}
.apb-rx-mm-clabel{font-weight:600;font-size:15px}
.apb-rx-mm-cdesc,.apb-rx-mm-tdesc{display:block;font-size:12.5px;color:var(--apb-rx-muted,#6b7280);font-weight:400}

/* ---- accordion (right drawer w/ expandable sections) ---- */
.apb-rx-mm--accordion .apb-rx-mm-panel{top:0;left:0;bottom:0;width:min(84%,340px);box-shadow:24px 0 60px rgba(11,13,18,.24);transform:translateX(-104%);transition:transform var(--apb-rx-t-slow) var(--apb-rx-ease)}
.apb-rx-mm--accordion .apb-rx-mm-t:checked~.apb-rx-mm-panel{transform:none}
.apb-rx-mm-acc{border-radius:var(--apb-rx-radius,12px);overflow:hidden}
.apb-rx-mm-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:15px 14px;font-size:17px;font-weight:600;color:var(--apb-rx-ink);border-radius:var(--apb-rx-radius,12px);transition:background var(--apb-rx-t) var(--apb-rx-ease)}
.apb-rx-mm-acc summary::-webkit-details-marker{display:none}
.apb-rx-mm-acc summary:hover{background:var(--apb-rx-soft,#f4f5f7)}
.apb-rx-mm-accchev{width:9px;height:9px;border-right:2px solid var(--apb-rx-muted,#6b7280);border-bottom:2px solid var(--apb-rx-muted,#6b7280);transform:rotate(45deg);transition:transform var(--apb-rx-t) var(--apb-rx-ease)}
.apb-rx-mm-acc[open] .apb-rx-mm-accchev{transform:rotate(-135deg);border-color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-mm-accsub{display:flex;flex-direction:column;padding:2px 14px 10px 20px}
.apb-rx-mm-accsub a{padding:9px 0;font-size:15px;color:var(--apb-rx-muted,#6b7280);text-decoration:none;transition:color var(--apb-rx-t) var(--apb-rx-ease)}
.apb-rx-mm-accsub a:hover{color:var(--apb-rx-accent-text,var(--apb-rx-brand))}

/* ---- visual / carousel (image tiles) ---- */
.apb-rx-mm--visual .apb-rx-mm-panel,.apb-rx-mm--carousel .apb-rx-mm-panel{inset:0;opacity:0;visibility:hidden;transform:scale(1.03);transition:opacity var(--apb-rx-t-slow) var(--apb-rx-ease),transform var(--apb-rx-t-slow) var(--apb-rx-ease),visibility var(--apb-rx-t-slow)}
.apb-rx-mm--visual .apb-rx-mm-t:checked~.apb-rx-mm-panel,.apb-rx-mm--carousel .apb-rx-mm-t:checked~.apb-rx-mm-panel{opacity:1;visibility:visible;transform:none}
.apb-rx-mm-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto}
.apb-rx-mm--carousel .apb-rx-mm-tiles{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.apb-rx-mm--carousel .apb-rx-mm-tile{flex:0 0 68%;scroll-snap-align:start}
.apb-rx-mm-tile{position:relative;aspect-ratio:1;border-radius:var(--apb-rx-radius,16px);overflow:hidden;text-decoration:none;display:block}
.apb-rx-mm--carousel .apb-rx-mm-tile{aspect-ratio:3/4}
.apb-rx-mm-tile img{width:100%;height:100%;object-fit:cover;transition:transform var(--apb-rx-t-slow) var(--apb-rx-ease)}
.apb-rx-mm-tile:hover img{transform:scale(1.05)}
.apb-rx-mm-tov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;background:linear-gradient(to top,rgba(8,10,15,.78),transparent 65%)}
.apb-rx-mm-tlabel{color:#fff;font-weight:700;font-size:16px}

@media(prefers-reduced-motion:reduce){
  .apb-rx-mm *{transition:none !important}
}
