/* Mobile/tablet overrides. No declarations apply to the desktop breakpoint. */
@media (max-width:1024px) {
  .frmo-touch { min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere; }
  .frmo-touch *, .frmo-touch *::before, .frmo-touch *::after { box-sizing:border-box; }
  .frmo-touch :is(button,.frmo-btn,.frmo-tab,.nav-tab,.frmo-hub-hero-btn,.frmo-hub-save-btn,.frmo-nl-archive-btn,.frmo-files-sc-dl) { min-height:44px;min-width:44px;touch-action:manipulation; }
  .frmo-touch :is(button,.frmo-btn) { white-space:normal; }
  .frmo-touch :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { min-height:44px;max-width:100%;font-size:16px!important;box-sizing:border-box; }
  .frmo-touch :is(input[type=checkbox],input[type=radio]) { width:24px!important;height:24px!important;min-width:24px;min-height:24px;flex-shrink:0; }
  .frmo-touch label:has(>input:is([type=checkbox],[type=radio])) { display:flex;align-items:center;gap:9px;min-height:44px; }
  .frmo-touch :is(.frmo-field,.frmo-hub-field,.frmo-public-field,.frmo-filter-form,.frmo-portal-card,.frmo-hub-hero-info,.frmo-cal-topbar-left) { min-width:0;max-width:100%; }
  .frmo-touch :is(.frmo-field-help,.frmo-help,.frmo-hub-field-help) { font-size:12px!important;line-height:1.5; }
  .frmo-touch .frmo-header h1 { color:#fff; }
  .frmo-touch :is(.frmo-toolbar,.frmo-filter-form,.frmo-section-actions,.frmo-page-header,.frmo-card-footer,.frmo-field-row,.frmo-form-submit-row,.frmo-hub-form-actions,.frmo-cal-topbar,.frmo-cal-topbar-right,.frmo-cal-ical-bar) { flex-wrap:wrap;gap:10px; }
  .frmo-touch :is(.frmo-tabs,.frmo-hub-edit-tabs,.frmo-frm-tabs) { display:flex;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain; }
  .frmo-touch :is(.frmo-tabs,.frmo-hub-edit-tabs,.frmo-frm-tabs)>* { flex-shrink:0;min-height:44px; }
  .frmo-touch :is(.frmo-tab,.frmo-hub-edit-tab) { display:inline-flex;align-items:center;padding:10px 14px;font-size:14px; }
  .frmo-touch :is(.frmo-cards-grid,.frmo-applicants-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
  .frmo-touch :is(.frmo-fb-layout,.frmo-two-col) { grid-template-columns:minmax(0,1fr); }
  .frmo-touch :is(.frmo-card,.frmo-form-section,.frmo-settings-section,.frmo-card-body,.frmo-modal-body) { min-width:0; }
  .frmo-mobile-table { display:block;max-width:100%;min-width:0;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid #d2d9e3;border-radius:7px;scrollbar-width:thin; }
  .frmo-mobile-table:focus-visible { outline:3px solid #2563eb;outline-offset:2px; }
  .frmo-mobile-table.frmo-table-overflow::before { content:'Swipe sideways to see all columns ↔';display:block;position:sticky;left:0;width:fit-content;padding:8px 10px;font:12px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#34435b;background:#edf3fc; }
  .frmo-mobile-table>table { min-width:680px;table-layout:auto!important;width:100%; }
  .frmo-mobile-table>table :is(th,td) { white-space:normal!important;overflow-wrap:anywhere;font-size:14px;vertical-align:middle; }
  .frmo-mobile-table .frmo-actions { display:flex;gap:6px;flex-wrap:wrap; }
  .frmo-touch.frmo-modal { padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .frmo-touch :is(.frmo-modal-box,.frmo-portal-modal-inner,.frmo-gal-modal-box) { width:100%;max-width:100%;max-height:calc(100dvh - 20px);overflow:auto;overscroll-behavior:contain; }
  .frmo-touch :is(.frmo-modal-close,.frmo-portal-modal-close,.frmo-hub-close-btn,.frmo-hub-avatar-upload-btn) { min-width:44px;min-height:44px; }
  .frmo-touch :is(.frmo-modal-header,.frmo-modal-footer,.frmo-modal-body,.frmo-form-grid) { padding:14px; }
  .frmo-touch :is(.frmo-modal-footer,.frmo-portal-modal-footer) { flex-wrap:wrap; }
  .frmo-touch :is(.frmo-modal-footer,.frmo-portal-modal-footer) button { flex:1; }
  .frmo-touch :is(.frmo-hub-info-row,.frmo-portal-meta>div) { flex-wrap:wrap;gap:6px; }
  .frmo-touch .frmo-hub-hero-actions { flex-wrap:wrap; }
  .frmo-touch .frmo-hub-stat-val { white-space:normal;font-size:16px;line-height:1.25; }
  .frmo-touch .frmo-hub-stat-label { white-space:normal;font-size:11px;line-height:1.35; }
  .frmo-touch .frmo-hub-edit-panel .frmo-hub-section-head h3 { color:#172338!important;text-shadow:none; }
  .frmo-touch .frmo-hub-menu-text :is(strong,span) { white-space:normal; }
  .frmo-touch :is(img,video) { max-width:100%; }
  .frmo-touch .mo-cart-item { flex-wrap:wrap;gap:10px; }
  .frmo-touch .mo-cart-item-main { flex-basis:calc(100% - 44px); }
  .frmo-touch .mo-qty-num { height:44px;line-height:42px; }
  .frmo-touch .mo-cart-sub { flex:1; }
  .frmo-touch .frmo-files-sc-item { flex-wrap:wrap;gap:10px; }
  .frmo-touch .frmo-files-sc-info { min-width:0;flex-basis:60%; }
  .frmo-touch :is(.frmo-cal-nav,.frmo-cal-topbar) { flex-wrap:wrap; }
  .frmo-touch .frmo-cal-month-label { min-width:0;font-size:17px; }
  .frmo-touch :is(.frmo-cal-view-btn,.frmo-cal-nav-btn,.frmo-cal-today-btn,.frmo-cal-subscribe-btn) { min-height:44px;min-width:44px; }
  .frmo-touch :is(.frmo-cal-list-title,.frmo-cal-list-body,.frmo-rt-mcard-info) { min-width:0;overflow-wrap:anywhere; }
  @media(max-width:600px) {
    .frmo-touch.frmo-admin { margin-right:10px; }
    .frmo-touch :is(.frmo-header,.frmo-settings-section) { padding:18px 14px; }
    .frmo-touch .frmo-header h1 { font-size:24px; }
    .frmo-touch :is(.frmo-field-row,.frmo-form-submit-row,.frmo-filter-form) { flex-direction:column;align-items:stretch; }
    .frmo-touch :is(.frmo-field,.frmo-field-wide,.frmo-field-row>*,.frmo-filter-form>*) { width:100%;flex-basis:auto;min-width:0!important;max-width:100%; }
    .frmo-touch :is(.frmo-detail-grid,.frmo-hub-form-grid,.frmo-edit-grid,.frmo-portal-row,.ra-grid-2,.ra-grid-3,.ra-mem-grid,.mo-grid-2,.mo-grid-3,.mo-prod-grid) { grid-template-columns:minmax(0,1fr); }
    .frmo-touch .frmo-hub-stats { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    .frmo-touch :is(.frmo-stat-grid,.frmo-cards-grid,.frmo-applicants-grid) { grid-template-columns:minmax(0,1fr); }
    .frmo-touch :is(.frmo-card-footer,.frmo-section-actions) { align-items:stretch; }
    .frmo-touch :is(.frmo-card-footer,.frmo-section-actions)>:is(a,button,form) { flex:1 1 auto; }
    .frmo-touch .frmo-hub-hero-actions { width:100%; }
    .frmo-touch .frmo-hub-hero-btn { min-width:100px; }
    .frmo-touch :is(.frmo-portal-card,.frmo-hub-edit-panel) { padding:14px; }
    .frmo-touch .frmo-cal-topbar-right { width:100%; }
    .frmo-touch .frmo-cal-view-btn::after { content:attr(title);font-size:12px;margin-left:6px; }
    .frmo-touch .frmo-cal-list-item { align-items:flex-start;padding:12px;gap:10px; }
    .frmo-touch .frmo-cal-grid-wrap { overflow-x:auto; }
    .frmo-touch :is(.frmo-cal-dow-row,.frmo-cal-grid) { min-width:560px; }
    .frmo-touch .frmo-cal-grid { grid-auto-rows:150px; }
    .frmo-touch .frmo-cal-cell { height:150px; }
    .frmo-touch :is(.frmo-cal-event-pill,.frmo-cal-more) { min-height:36px;white-space:normal;line-height:1.25;padding:5px; }
    .frmo-touch .frmo-cal-detail-flyer-img { max-width:100%; }
    .frmo-touch :is(.ra-page,.mo-page,.fs-page,.at-page) { padding-left:12px;padding-right:12px; }
    .frmo-touch .frmo-pf-pay-btn { white-space:normal; }
  }
}
