/* Bantrum v0.1.30 — mobile swipe experience.
   Strictly mobile-only. The desktop Premium Elite Metallic layout is untouched. */
.mobile-swipe-nav,.mobile-community-showcase{display:none}
@media (max-width:740px), (max-width:1100px) and (pointer:coarse){
 :root{
  --mobile-blue:#0052ff;
  --mobile-gold:#f4c430;
  --mobile-silver:#c5d3e5;
  --mobile-ink:#081629;
 }
 html{max-width:100%;overflow-x:clip}
 body{max-width:100%;overflow-x:clip}
 #app{min-width:0;width:100%;overflow-x:clip}
 .topbar{background:linear-gradient(180deg,#122a48,#091728)!important;box-shadow:0 4px 18px #0009!important}
 .topbar-inner{width:100%;max-width:100%;min-width:0;gap:7px!important}
 .brand{min-width:0;gap:5px!important}
 .brand-wordmark{font-size:clamp(18px,5.2vw,23px)!important}
 .header-avatar{height:34px!important;width:34px!important}
 .top-actions{gap:2px!important}
 .topbar .icon-button{height:37px;width:37px!important}
 /* Swipe left/right through real navigation buttons (not the entire page). */
 .mobile-swipe-nav{
  position:sticky;top:63px;z-index:32;
  display:flex;align-items:center;gap:8px;
  width:100%;max-width:100%;min-height:56px;
  padding:7px 12px 9px;
  overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scroll-padding-inline:12px;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
  background:linear-gradient(180deg,#112743f8,#08172bf8);
  border-top:1px solid #28435d;
  border-bottom:1px solid #bb914c8c;
  box-shadow:0 5px 13px #0008;
 }
 .mobile-swipe-nav::-webkit-scrollbar,
 .feed-tabs::-webkit-scrollbar,
 .mobile-community-track::-webkit-scrollbar,
 .community-grid::-webkit-scrollbar{display:none}
 .mobile-swipe-nav button{
  flex:0 0 auto;min-height:39px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:9px 13px;
  background:linear-gradient(180deg,#1a3859,#10243f);
  border:1px solid #435d7d;border-radius:9px;
  color:#e6eef9;font-size:12px;font-weight:750;
  white-space:nowrap;scroll-snap-align:start;
  box-shadow:inset 0 1px #f5faff17;
 }
 .mobile-swipe-nav button svg{height:16px;width:16px;color:#a8c7f3}
 .mobile-swipe-nav button.active{
  background:linear-gradient(165deg,#176dfa,#003caa);
  border:1px solid #64a1ff;
  border-bottom:2px solid #f4c430;
  box-shadow:inset 0 1px #acd5ff74,0 0 10px #0052ff72;
  color:#fff;
 }
 .mobile-swipe-nav button.active svg{color:#ffda76}
 .mobile-swipe-nav button:focus-visible{
  outline:2px solid #ffd977!important;outline-offset:2px!important
 }
 .shell{max-width:100%;min-width:0}
 .shell>.main-content{min-width:0;width:100%;max-width:100%;padding-top:16px!important}
 .main-content>*{max-width:100%}
 .page-heading{padding-bottom:11px!important;margin-bottom:12px!important}
 .page-heading h1{font-size:24px!important}
 .page-eyebrow{font-size:9px!important;letter-spacing:1.3px!important}
 .page-heading p{font-size:12px!important;line-height:1.45}
 /* Browse feed filters by swiping horizontally, without scrolling the document sideways. */
 .feed-tabs{
  display:flex!important;flex-wrap:nowrap!important;
  width:100%;max-width:100%;min-width:0;
  overflow-x:auto!important;overflow-y:hidden!important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scroll-padding-inline:3px;
  scrollbar-width:none;
  gap:7px!important;padding:0 1px 10px!important
 }
 .feed-tabs .tab{
  flex:0 0 auto!important;min-width:88px;
  scroll-snap-align:start;white-space:nowrap;
  padding:10px 14px!important;font-size:11px!important;
 }
 /* Keep the hero compact: content comes first on a phone. */
 .elite-hero{min-height:205px!important;margin-bottom:12px!important}
 .elite-hero-content{padding:18px 15px 12px!important}
 .elite-kicker{font-size:8px!important;margin-bottom:9px!important}
 .elite-hero h2{font-size:clamp(21px,6.1vw,29px)!important;line-height:1.07!important;max-width:345px}
 .elite-hero p{font-size:11px!important;line-height:1.4!important;margin-bottom:13px!important;max-width:275px}
 .elite-hero-actions{gap:7px!important}
 .elite-hero-actions .primary-button,
 .elite-hero-actions .outline-button{font-size:10px!important;padding:8px 10px!important}
 .elite-hero-footer{padding:7px 3px!important;font-size:8px!important;letter-spacing:.5px!important}
 /* Compact, swipeable metal-edged community cards on the feed. */
 .mobile-community-showcase{
  display:block;min-width:0;max-width:100%;
  margin:6px 0 15px;
 }
 .mobile-community-heading{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-bottom:9px;padding:0 2px
 }
 .mobile-community-heading h2{
  font-size:14px;font-weight:850;letter-spacing:.1px;color:#f8fbff;
  margin:0
 }
 .mobile-community-heading .swipe-cue{
  flex-shrink:0;font-size:10px;font-weight:800;color:#e8c36e;
  letter-spacing:.8px;
 }
 .mobile-community-track{
  display:flex;align-items:stretch;gap:10px;
  width:100%;max-width:100%;min-width:0;
  padding:1px 2px 10px;
  overflow-x:auto;overflow-y:hidden;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  scrollbar-width:none;
  touch-action:pan-x pan-y;
 }
 .mobile-community-card{
  position:relative;flex:0 0 172px;min-height:106px;
  text-align:left;display:flex;flex-direction:column;gap:4px;
  padding:13px 13px 11px;
  color:#f1f6fd;
  border:1px solid #6382a5;border-top:2px solid #e6bd61;
  background:linear-gradient(135deg,#19365a 0%,#0e2038 80%);
  border-radius:10px;scroll-snap-align:start;
  box-shadow:inset 0 1px #c9defc38,0 4px 10px #0006;
 }
 .mobile-community-card:focus-visible{outline:3px solid #f4c430!important;outline-offset:2px!important}
 .mobile-community-card .card-icon{font-size:22px;line-height:1.2}
 .mobile-community-card strong{font-size:12px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
 .mobile-community-card small{font-size:10px;color:#b3c6dc}
 .mobile-community-card .card-chevron{
  position:absolute;right:12px;top:13px;font-size:18px;color:#f3c760;
 }
 .mobile-community-card.view-all{
  justify-content:center;
  background:linear-gradient(135deg,#0e459a,#081e3d);
  border-color:#4389fe;
 }
 .mobile-community-card.view-all .card-icon{color:#f4c430}
 /* Forum community grid also becomes swipeable — a natural extension of the rail. */
 .community-grid{
  display:grid!important;grid-auto-flow:column;
  grid-template-columns:none!important;
  grid-auto-columns:minmax(235px,81%)!important;
  gap:11px!important;width:100%;max-width:100%;
  overflow-x:auto!important;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:3px 3px 13px;
 }
 .community-grid>.community-card{
  scroll-snap-align:start;
  min-width:0;white-space:normal;
  background:linear-gradient(140deg,#1a3453,#0e2037)!important;
  border-top:2px solid #f4c430!important;
  border-radius:11px!important;
  padding:17px!important;
 }
 .community-grid .community-card p{min-height:0!important}
 /* Feed and notifications remain vertically scrolling, with no accidental page overflow. */
 .post-card,.post-composer,.profile-hero,.forum-section,.messages-layout,.modal{
  max-width:100%;min-width:0;
 }
 .post-card{padding:14px!important;margin-bottom:12px!important}
 .post-actions{gap:8px 13px!important}
 .post-composer{padding:12px!important}
 .compose-bottom{gap:8px!important;flex-wrap:wrap}
 .compose-options{gap:9px!important;flex-wrap:wrap}
 .compose-option{font-size:10.5px!important}
 .post-composer .primary-button{margin-left:auto}
 /* Old slide-out drawer remains available for full navigation and admin features. */
 .sidebar.open{top:63px!important;z-index:36!important}
 .sidebar.open .sidebar-content{padding:17px 15px!important}
 .mobile-bottom{
  height:calc(62px + env(safe-area-inset-bottom,0px))!important;
  padding:0 4px env(safe-area-inset-bottom,0px)!important;
  background:linear-gradient(180deg,#132e4b,#07182d)!important;
  border-top:1px solid #e1b65c9e!important;
  box-shadow:0 -4px 16px #000a!important;
 }
 .mobile-bottom button{flex:1;min-width:0;gap:3px!important}
 .mobile-bottom button.active{color:#f9d376!important}
 .mobile-bottom button.active svg{color:#f9d376!important;filter:drop-shadow(0 0 5px #dbaa4680)}
 .mobile-bottom .mobile-compose{
  width:44px!important;height:44px!important;
  border-radius:13px!important;flex:none!important;
  background:linear-gradient(160deg,#ffdf7a,#e4ad2f)!important;
  box-shadow:inset 0 1px #fff4b8,0 2px 12px #f4c43065!important;
  border:1px solid #e6bc64!important;color:#101e30!important;
 }
 .mobile-bottom small{font-size:9.5px!important}
 .shell>.main-content{padding-bottom:calc(85px + env(safe-area-inset-bottom,0px))!important}
 .site-footer{padding-bottom:calc(75px + env(safe-area-inset-bottom,0px))!important}
}
@media (max-width:370px){
 .mobile-swipe-nav{gap:6px;padding-inline:9px}
 .mobile-swipe-nav button{padding:8px 10px;font-size:11px}
 .mobile-community-card{flex-basis:155px}
 .elite-hero h2{font-size:21px!important}
 .elite-hero-actions .outline-button{padding:8px!important}
 .topbar .brand-wordmark{font-size:17px!important}
}
@media(prefers-reduced-motion:reduce){
 .mobile-swipe-nav,.mobile-community-track,.feed-tabs,.community-grid{scroll-behavior:auto!important}
}
