/* Shared phone layout corrections. Desktop styling is deliberately untouched. */
.sb-mobile-tools { display: none; }
@media (max-width: 768px) {
  html { scroll-padding-top: 136px; }
  .hd .hd__inner { gap: 8px !important; padding: 12px 16px !important; }
  .hd .logo { min-width: 0 !important; flex: 1 1 auto; }
  .hd .logo__img { width: auto !important; height: auto !important; max-width: 100% !important; max-height: 32px !important; }
  .hd .hd__actions { flex: 0 0 auto; gap: 8px !important; }
  .hd .hd__actions .btn { font-size: 12px !important; min-height: 44px; padding: 10px 12px !important; white-space: nowrap; }
  .hd .logo:not(.logo--image) { --logo-size: clamp(22px, 6.8vw, 28px) !important; }
  .hd .hd__burger { flex: 0 0 44px; }
  .sb-mobile-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px 8px; background: #080f24; }
  .sb-mobile-tools a, .sb-mobile-tools button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #54d4ff40; border-radius: 10px; padding: 8px 12px; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; }
  .sb-mobile-tools a { color: #fff; background: #106b3a; }
  .sb-mobile-tools button { color: #dff3ff; background: #12213c; }
  .sb-mobile-tools :focus-visible { outline: 2px solid #54d4ff; outline-offset: 2px; }
  .sb-mobile-tools svg { width: 18px; height: 18px; flex-shrink: 0; }
  .sb-wa-float, .wa-float, .sb-top, .blog-home-float { display: none !important; }
  .share__inner, .share__inner > *, .share__grid, .share__grid > * { min-width: 0 !important; max-width: 100%; }
  .share__inner { grid-template-columns: minmax(0, 1fr) !important; }
  .share__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
  .share__tile { padding: 18px 8px !important; }
  .share__name { font-size: 14px !important; }
  .event-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .event-grid > *, .event-body, .event-panel { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .event-title { font-size: clamp(30px, 8.5vw, 34px) !important; line-height: 1.12 !important; }
  main p, main li, main h1, main h2, main h3 { overflow-wrap: break-word; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size: 16px !important; }
  .qform__addday, .qform__dayremove, .qtime__done, .qcal__nav button, .qcal__foot button { min-height: 44px !important; }
  .qcal__nav button { min-width: 44px !important; }
  .qform__choice { min-height: 44px; }
  [id].booth, [id].exp { scroll-margin-top: 136px !important; }
}
@media (max-width: 380px) {
  .share__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .qform__datetime { grid-template-columns: minmax(0, 1fr) !important; }
  .qform__datetime .qpick__pop { width: 100% !important; min-width: 0 !important; max-width: 100% !important; left: 0 !important; right: auto !important; padding: 10px !important; }
  .qcal__head { flex-wrap: wrap; gap: 6px; }
  .qcal__title { font-size: 14px !important; }
  .qcal__day, .qtime__col { min-width: 0; }
}
@media (max-width: 980px) {
  html.sb-mobile-menu-open, html.sb-mobile-menu-open body { overflow: hidden !important; overscroll-behavior: none; }
  .hd .drawer[id="mobile-menu"] { position: absolute !important; top: 100%; left: 0; right: 0; max-height: calc(100vh - var(--sb-mobile-header-height, 72px)) !important; max-height: calc(100dvh - var(--sb-mobile-header-height, 72px)) !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; background: #080f24 !important; }
  .hd .drawer__nav { max-height: none !important; height: auto !important; overflow: visible !important; padding-bottom: max(24px, env(safe-area-inset-bottom)) !important; }
  html.sb-mobile-menu-open .sb-top, html.sb-mobile-menu-open .sb-wa-float, html.sb-mobile-menu-open .wa-float, html.sb-mobile-menu-open .blog-home-float { display: none !important; }
}
