/* v11.8: shared responsive navigation, event status and assistant viewport fixes */
button,input,textarea,select{font-family:var(--sans)}
.mobile-menu{display:none}
.nav .brand{flex-shrink:0}
.mobile-menu summary{list-style:none;display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer;font:inherit;font-size:.85rem;font-weight:700}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu[open] summary{background:var(--vermilion);color:white}
.mobile-menu nav{position:absolute;top:100%;left:4vw;right:4vw;padding:14px;background:var(--paper);border:1px solid var(--gold-soft);border-radius:0 0 18px 18px;box-shadow:0 18px 30px #241f1c22;max-height:calc(100dvh - 90px);overflow-y:auto}
.nav .mobile-menu-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;list-style:none}
.nav .mobile-menu-links a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;border:0;white-space:normal}
.nav .mobile-menu-links a:hover{background:var(--ivory)}
:focus-visible{outline:3px solid #aa7725;outline-offset:3px}
section[id]{scroll-margin-top:90px}
.event-status{display:block;width:fit-content;padding:2px 7px;margin-top:6px;font-size:.75rem;line-height:1.6;border-radius:6px;background:#f0e1c3;color:#624015;font-weight:700}
[data-event-state="past"] .event-status{background:#e9e4db;color:#51483e}
.event-date-note{padding:12px 16px;border-left:3px solid var(--gold);margin:16px 0;background:#fff9e9;color:#51483e}
.qinglong-panel[hidden]{display:none!important}
.qinglong-panel:not([hidden]){display:flex;flex-direction:column;max-height:min(620px,calc(var(--ql-height,100dvh) - 100px));overflow-y:auto}
.qinglong-head,.qinglong-form,.qinglong-quick,.qinglong-privacy{flex-shrink:0}
.qinglong-head{backdrop-filter:none}
.qinglong-messages{flex:1 1 250px;min-height:72px}
.qinglong-form{grid-template-columns:minmax(0,1fr) auto}
.qinglong-form textarea{width:100%;min-width:0;font-size:16px}
.qinglong-close{min-width:44px;min-height:44px}
.qinglong-quick button{min-height:40px}
.qinglong-quick button:disabled{opacity:.55;cursor:wait}
.qinglong-privacy{font-size:.75rem}
.search-box{max-height:80dvh}
@media(max-width:1180px){
  .nav>ul{display:none!important}
  .mobile-menu{display:block}
  .subnav{display:none!important}
  .reading-tools{top:82px}
}
@media(max-width:520px){
  .nav-actions{gap:6px}
  .search-open{width:44px!important;height:44px!important;flex-shrink:0}
  .nav .btn{min-height:44px;padding:8px 12px}
  .brand-logo{width:100px!important;height:50px!important}
  .qinglong-panel{position:fixed;left:12px;bottom:calc(70px + var(--ql-bottom,0px));width:calc(100vw - 24px)}
}
@media(max-height:500px){
  .qinglong-panel:not([hidden]){position:fixed;top:8px;bottom:8px;max-height:calc(100dvh - 16px);width:min(480px,calc(100vw - 24px))}
  .qinglong-quick{display:none}
  .qinglong-head{padding:6px 12px}
  .qinglong-privacy{padding-bottom:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
