/* JSV 2.0.159 — mobile/tablet presentation only. No desktop rules. */
@media (max-width:1024px) {
  :root { --jsv-page-gutter:clamp(8px,1.5vw,18px); --jsv-mobile-header:60px; }
  html { width:100%; max-width:100%; overflow-x:clip; }
  body { width:100%; max-width:100%; margin-inline:0!important; overflow-x:clip; }
  body, body * { box-sizing:border-box; }
  img,video,canvas,svg { max-width:100%; }
  iframe { max-width:100%; }
  :is(main,.site-main,#main,#content,.site-content,.content-area,.entry-content,.page-content) { min-width:0; }
  /* Release desktop max-width caps without altering the component's internal behavior. */
  :is(.shell,.activity-shell,.jsf-feed-shell,.jsf-activity-page,.jsf-exact-profile-page,
    .jsf-exact-profile-hub,.jsf-group-suite-shell,.jsf-gm-page,.jsv-group-page,
    .jsv-groups-theme-layout,.jsv133-group-shell,.jsf-directory-shell,
    .jsf-directory-home-page,.jsf-business-shell,.jsf-business-owner-shell,
    .jsf-event-detail-page-shell,.jsf-events-mockup-page,.jsf-membership-page,
    .jsf-command-center-page,.jsf-account-shell,.jsf-account-layout,
    .jsw-shell,.jsw-centre-layout,.business-profile-layout,.business-view-layout,
    .business-owner-layout,.jsd-shell,.jsd-webpage,.jsf-gameplay-atlas-page) {
      width:100%!important; max-width:none!important; min-width:0!important;
      margin-left:0!important; margin-right:0!important;
  }
  :is(.shell,.activity-shell,.jsf-feed-shell,.jsf-activity-page,.jsf-exact-profile-hub,
    .jsf-group-suite-shell,.jsf-gm-page,.jsv-group-page,.jsv-groups-theme-layout,
    .jsv133-group-shell,.jsf-directory-shell,.jsf-directory-home-page,
    .jsf-business-shell,.jsf-business-owner-shell,.jsf-event-detail-page-shell,
    .jsf-events-mockup-page,.jsf-membership-page,.jsf-command-center-page,
    .jsf-account-shell,.jsw-centre-layout,.business-profile-layout,
    .business-view-layout,.business-owner-layout,.jsd-shell,.jsd-webpage) {
      padding-left:var(--jsv-page-gutter)!important;
      padding-right:var(--jsv-page-gutter)!important;
  }
  /* Make nested columns relinquish their fixed desktop widths. */
  :is(.activity-main,.jsf-feed-main,.jsf-xp-main,.jsf-group-suite-main,
    .jsf-gm-main,.jsf-dir-main,.jsf-directory-main,.jsf-events-main,
    .jsf-event-detail-main,.jsf-business-profile-main,.jsf-business-owner-main,
    .business-view-main,.business-main,.jsw-centre-main,.jsf-cc-main,
    .jsf-command-center-main,.jsd-result-main,.jsf-dir-market-main) {
      width:100%!important;max-width:none!important;min-width:0!important;
      margin-left:0!important;margin-right:0!important;
  }
  /* Do not clip interactive tables or tab bars; let them scroll independently. */
  :is(.tabs,.jsf-tabs,.jsf-subnav,.profile-nav,.jsf-profile-tabs,
    .jsf-events-nav,.jsf-events-quick-tabs,.jsf-group-suite-nav nav,
    .jsw-centre-topnav,.jsf-membership-subnav) {
      max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;
      -webkit-overflow-scrolling:touch;scrollbar-width:thin;
  }
  :is(.table-wrap,.table-responsive,.jsf-table-scroll,.jn-table-wrap,
    .woocommerce-cart-form,.jsf-invoice-table-wrap) {max-width:100%;overflow-x:auto;}
  /* Large form controls, including label-sized checkbox targets. */
  :is(input:not([type=checkbox]):not([type=radio]),textarea,select) {
    max-width:100%;min-width:0;font-size:max(16px,1em);
  }
  :is(.jsf-account-shell,.jsf-account-layout,.jsf-create-layout,
    .jsf-membership-page,.jsf-business-owner-shell,.jsw-centre-tool,
    .jsf-command-center-page) :is(label:has(input[type=checkbox]),label:has(input[type=radio])) {
      min-height:44px;display:flex;align-items:center;gap:10px;
  }
  :is(.jsf-account-shell,.jsf-account-layout,.jsf-create-layout,
    .jsf-membership-page,.jsf-business-owner-shell,.jsw-centre-tool,
    .jsf-command-center-page) input[type=checkbox] {
      width:23px!important;height:23px!important;min-width:23px!important;
      accent-color:#214d7b;flex:none;
  }
  :is(.jsf-account-shell,.jsf-account-layout,.jsf-create-layout,
    .jsf-membership-page,.jsf-business-owner-shell,.jsw-centre-tool,
    .jsf-command-center-page) input[type=radio] {
      width:22px!important;height:22px!important;min-width:22px!important;
      accent-color:#214d7b;flex:none;
  }
  :is(button,[role=button],input[type=submit],input[type=button]) { touch-action:manipulation; }
  /* Full-bleed hero imagery while controls stay inside the safe content width. */
  :is(.jsf-xp-cover,.jsf-group-suite-hero .cover,.jsf-gm-hero,
    .jsd-wp-hero,.jsf-business-hero,.business-hero,.jsf-event-hero,
    .jsf-events-hero,.jsf-feed-hero,.jsw-centre-cover) {
      max-width:100%!important;min-width:0!important;background-position:center!important;
      background-size:cover!important;
  }
  :is(.jsf-group-dashboard-grid,.jsf-business-profile-grid,.business-profile-layout,
    .business-view-layout,.jsf-event-public-grid,.jsf-event-card-grid,
    .jsf-membership-grid,.jsf-cc-grid,.jsf-account-layout) > * {min-width:0;}
  /* Chat and map remain viewport-fitted, not forced into normal document scrolling. */
  :is(.jsf-gm-page.jsf-gm-chat,.jsf-group-dashboard-chat,.conversation) {max-width:100%!important;}
  :is(.leaflet-container,.hunt-map-wrap,.jsf-gameplay-atlas-page canvas) {max-width:100%!important;}
}
@media (max-width:900px) {
  :root { --jsv-page-gutter:clamp(8px,2.1vw,16px); }
  /* Secondary columns flow below the primary content; never leave blank rail slots. */
  :is(.business-profile-layout,.business-view-layout,.jsf-business-profile-grid,
    .jsf-account-layout,.jsf-membership-grid) {grid-template-columns:minmax(0,1fr)!important;}
  :is(.jsf-xp-main,.jsf-group-suite-main,.jsf-gm-main,.jsf-events-main,
    .jsf-business-profile-main,.jsf-directory-main) {max-width:none!important;}
  .jsf-exact-profile-hub {gap:10px!important;}
  .jsf-xp-cover {height:clamp(190px,34vw,300px)!important;}
  .jsf-xp-tabs,.jsf-xp-feed-filters {max-width:100%!important;}
  .jsf-group-suite-hero.is-dashboard .cover {height:clamp(185px,31vw,270px)!important;}
  .jsf-activity-page :is(.card,.panel),.jsf-exact-profile-hub :is(.card,.panel) {max-width:100%!important;}
}
@media (max-width:600px) {
  :root { --jsv-page-gutter:8px; }
  :is(.jsf-xp-cover,.jsf-group-suite-hero .cover,.jsf-gm-hero,
    .jsd-wp-hero,.jsf-business-hero,.business-hero) {border-radius:12px 12px 0 0!important;}
  .jsf-xp-cover {height:clamp(190px,47vw,265px)!important;}
  .jsf-xp-profile-buttons {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  :is(.jsf-event-card-grid,.jsf-business-card-grid,.jsf-market-grid,
    .jsf-product-grid,.jsf-store-grid,.jsf-group-dashboard-widgets) {
      grid-template-columns:minmax(0,1fr)!important;
  }
  /* Use a full-width form, but do not override the site's fixed bottom navigation. */
  :is(.jsf-account-shell,.jsf-account-layout,.jsf-create-layout,
    .jsw-centre-tool,.jsf-business-owner-shell) :is(input,select,textarea) {max-width:100%!important;}
  :is(.jsf-account-shell,.jsf-create-layout,.jsw-centre-tool) :is(button,input[type=submit]) {
    min-height:44px;
  }
}
@media (min-width:601px) and (max-width:1024px) {
  :root { --jsv-page-gutter:clamp(12px,1.7vw,20px); }
  :is(.jsf-business-card-grid,.jsf-product-grid,.jsf-market-grid,.jsf-store-grid,
    .jsf-event-card-grid,.jsf-group-dashboard-widgets) {
      grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (prefers-reduced-motion:reduce) and (max-width:1024px) {
  html {scroll-behavior:auto!important;}
}
