/* Match the storefront's compact directory, with keyboard and touch controls. */
.nav-trigger{border:0;background:none;font:inherit;font-size:13px;white-space:nowrap;padding:8px 5px;cursor:pointer;color:inherit}
.nav-trigger:hover,.nav-trigger[aria-expanded=true]{color:var(--accent)}
.nav-trigger:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
nav.main li{padding-bottom:0}nav.main ul{gap:8px}
.storefront-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;padding:28px 20px;box-shadow:0 12px 20px #0002;z-index:45;max-height:70vh;overflow:auto}
.storefront-dropdown[hidden]{display:none}.storefront-directory{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:20px}
.storefront-column{min-width:0}.storefront-column a{display:block;text-decoration:none;font-size:12px;line-height:1.5;padding:4px 0;color:#444}
.storefront-column a:hover{color:var(--accent);text-decoration:underline}.storefront-column .storefront-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#222}
.storefront-heading img{object-fit:contain;border:1px solid #eee;border-radius:4px}.storefront-column a:last-child{font-weight:600}
.mobilenav summary{cursor:pointer;padding:12px 4px;font-weight:600}.mobilenav details a{font-size:14px;font-weight:400;padding-left:18px}
#ruby-launcher{position:fixed;bottom:20px;right:20px;width:58px;height:58px;border-radius:50%;background:#e02832;color:#fff;border:0;cursor:pointer;box-shadow:0 4px 16px #0004;z-index:2147483001;display:grid;place-items:center}
#ruby-launcher[aria-expanded=true]::after{content:'×';font-size:32px}#ruby-launcher[aria-expanded=true] svg{display:none}
#ruby-chat-frame{position:fixed;bottom:90px;right:20px;width:400px;max-width:calc(100vw - 24px);height:620px;max-height:calc(100dvh - 110px);border:0;border-radius:24px;box-shadow:0 12px 44px #0004;z-index:2147483001;background:#fff}
#ruby-chat-frame[hidden]{display:none}#ruby-chat-frame.expanded{bottom:90px;width:min(760px,calc(100vw - 40px));height:calc(100dvh - 110px)}
@media(max-width:1100px){nav.main{display:none}.burger{display:grid;place-items:center}.mobilenav{max-height:75vh;overflow:auto}}
@media(min-width:1101px){body.mopen .mobilenav{display:none}}
@media(max-width:480px){#ruby-chat-frame,#ruby-chat-frame.expanded{right:12px;width:calc(100vw - 24px)}#ruby-launcher{right:12px;bottom:16px}}
