/* Club Privilege v2.7.5 — mobile usability layer.
   Mobile-only. Loaded after the main theme/admin styles. */

@media (max-width: 920px) {
  html, body { max-width:100%; overflow-x:hidden; }
  body.cp-member-portal-light #page,
  body.cp-member-portal-light .site,
  body.cp-member-portal-light .site-content,
  body.cp-member-portal-light .ast-container,
  body.cp-member-portal-light .site-primary,
  body.cp-member-portal-light .content-area,
  body.cp-member-portal-light main,
  body.cp-member-portal-light article,
  body.cp-member-portal-light .entry-content {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .cp-member-shell.cp-signature-light-experience {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:8px 8px 104px!important;
    overflow:visible!important;
    border-radius:0!important;
  }
  .cp-signature-light-experience *,
  .cp-signature-light-experience *::before,
  .cp-signature-light-experience *::after { box-sizing:border-box; }
  .cp-signature-light-experience img,
  .cp-signature-light-experience video,
  .cp-signature-light-experience iframe { max-width:100%!important; height:auto; }

  /* Mobile header */
  .cp-signature-light-experience .cp-signature-topbar {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
    padding:10px 11px!important;
    gap:8px!important;
    border-radius:15px!important;
  }
  .cp-signature-light-experience .cp-signature-brand { min-width:0!important; gap:7px!important; }
  .cp-signature-light-experience .cp-signature-clubmark { flex:0 0 34px!important; width:34px!important; height:34px!important; }
  .cp-signature-light-experience .cp-signature-brand b { display:block; font-size:12px!important; letter-spacing:.08em!important; white-space:nowrap; }
  .cp-signature-light-experience .cp-signature-brand small { display:none!important; }
  .cp-signature-light-experience .cp-signature-member-mini { flex:0 0 auto!important; max-width:46%!important; min-width:0!important; padding:5px 7px!important; }
  .cp-signature-light-experience .cp-signature-member-mini>span:last-child { min-width:0!important; }
  .cp-signature-light-experience .cp-signature-member-mini b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:92px; }

  /* Bottom app navigation: all sections remain reachable. */
  .cp-signature-light-experience .cp-member-app-nav {
    position:fixed!important;
    z-index:9999!important;
    left:6px!important;
    right:6px!important;
    bottom:6px!important;
    top:auto!important;
    display:block!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    white-space:nowrap;
    border-radius:17px!important;
  }
  .cp-signature-light-experience .cp-member-app-nav::-webkit-scrollbar { display:none; }
  .cp-signature-light-experience .cp-premium-sidebar-brand,
  .cp-signature-light-experience .cp-premium-sidebar-member,
  .cp-signature-light-experience .cp-member-nav-label { display:none!important; }
  .cp-signature-light-experience .cp-member-nav-group {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:5px!important;
    width:max-content!important;
    min-width:max-content!important;
  }
  .cp-signature-light-experience .cp-member-nav-group a,
  .cp-signature-light-experience .cp-member-nav-group a:nth-of-type(n+6) {
    display:flex!important;
    flex:0 0 72px!important;
    width:72px!important;
    min-width:72px!important;
    min-height:54px!important;
    padding:5px 4px!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:3px!important;
    border-left:0!important;
    text-align:center!important;
    font-size:8px!important;
    line-height:1.05!important;
  }
  .cp-signature-light-experience .cp-member-app-nav a>span { flex:0 0 auto!important; width:24px!important; height:24px!important; display:grid!important; place-items:center!important; }
  .cp-signature-light-experience .cp-member-app-nav a b { display:block!important; width:100%!important; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center!important; }

  /* Never let the main experience or internal screens retain desktop columns. */
  .cp-signature-light-experience .cp-signature-home,
  .cp-signature-light-experience .cp-premium-home-hero,
  .cp-signature-light-experience .cp-signature-social-row,
  .cp-signature-light-experience .cp-signature-private-column,
  .cp-signature-light-experience .cp-signature-account-pass,
  .cp-signature-light-experience .cp-events-grid,
  .cp-signature-light-experience .cp-connections-match-grid,
  .cp-signature-light-experience .cp-connections-inbox-layout,
  .cp-signature-light-experience .cp-lounge-grid,
  .cp-signature-light-experience .cp-partners-grid,
  .cp-signature-light-experience .cp-engagement-grid,
  .cp-signature-light-experience .cp-help-grid,
  .cp-signature-light-experience .cp-member-person-grid {
    min-width:0!important;
    max-width:100%!important;
  }
  .cp-signature-light-experience .cp-member-section,
  .cp-signature-light-experience .cp-engagement-section,
  .cp-signature-light-experience .cp-activity-section,
  .cp-signature-light-experience .cp-events-section,
  .cp-signature-light-experience .cp-lounge-section,
  .cp-signature-light-experience .cp-connections-section,
  .cp-signature-light-experience .cp-help-shell,
  .cp-signature-light-experience .cp-partners-section,
  .cp-signature-light-experience .cp-membership-section {
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:16px 13px!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  .cp-signature-light-experience input,
  .cp-signature-light-experience select,
  .cp-signature-light-experience textarea,
  .cp-signature-light-experience button { max-width:100%; }
  .cp-signature-light-experience input[type="text"],
  .cp-signature-light-experience input[type="email"],
  .cp-signature-light-experience input[type="tel"],
  .cp-signature-light-experience input[type="password"],
  .cp-signature-light-experience select,
  .cp-signature-light-experience textarea { width:100%!important; min-width:0!important; }
  .cp-signature-light-experience table { max-width:100%; }
  .cp-signature-light-experience .cp-table-wrap,
  .cp-signature-light-experience .cp-intel-table-wrap { max-width:100%!important; overflow-x:auto!important; -webkit-overflow-scrolling:touch; }

  /* Live-notification toast must never block the mobile dock/content. */
  .cp-live-notification {
    left:10px!important;
    right:10px!important;
    bottom:78px!important;
    width:auto!important;
    max-width:calc(100vw - 20px)!important;
  }
}

@media (max-width: 560px) {
  .cp-signature-light-experience .cp-premium-member-card { padding:20px 14px 16px!important; }
  .cp-signature-light-experience .cp-premium-member-heading { grid-template-columns:58px minmax(0,1fr)!important; gap:11px!important; align-items:center!important; }
  .cp-signature-light-experience .cp-premium-member-card .cp-member-avatar-hero { width:56px!important; height:56px!important; }
  .cp-signature-light-experience .cp-premium-member-card h1 { font-size:24px!important; line-height:1!important; overflow-wrap:anywhere; }
  .cp-signature-light-experience .cp-premium-credential-grid { grid-template-columns:1fr 1fr!important; gap:7px!important; }
  .cp-signature-light-experience .cp-premium-credential-grid>div { min-width:0!important; padding:10px!important; }
  .cp-signature-light-experience .cp-premium-credential-grid strong { overflow-wrap:anywhere; word-break:normal; }
  .cp-signature-light-experience .cp-premium-member-actions { grid-template-columns:1fr 1fr!important; }

  .cp-signature-light-experience .cp-premium-event-card { grid-template-columns:1fr!important; }
  .cp-signature-light-experience .cp-premium-event-card .cp-signature-invite-visual,
  .cp-signature-light-experience .cp-premium-event-card .cp-premium-event-copy { grid-column:1!important; grid-row:auto!important; }
  .cp-signature-light-experience .cp-premium-event-card .cp-signature-invite-visual { min-height:0!important; aspect-ratio:9/16!important; width:min(100%,230px)!important; margin:14px auto 0!important; }
  .cp-signature-light-experience .cp-premium-event-card .cp-signature-invite-visual img { max-height:none!important; height:100%!important; object-fit:contain!important; }
  .cp-signature-light-experience .cp-premium-event-copy { padding:16px!important; text-align:center!important; align-items:stretch!important; }
  .cp-signature-light-experience .cp-premium-event-meta span { width:auto!important; }

  .cp-signature-light-experience .cp-connections-nav { grid-template-columns:1fr 1fr!important; gap:6px!important; }
  .cp-signature-light-experience .cp-connection-message { max-width:92%!important; }
}

/* WordPress staff/admin mobile safety */
@media (max-width: 782px) {
  body.wp-admin #wpcontent,
  body.wp-admin #wpfooter { margin-left:0!important; }
  body.wp-admin .wrap.cp-management-dashboard,
  body.wp-admin .wrap.cp-pos-wrap,
  body.wp-admin .wrap.cp-admin,
  body.wp-admin .cp-pos-management-page,
  body.wp-admin .cp-beta-admin-wrap {
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    overflow-x:hidden!important;
  }
  .cp-management-dashboard .cp-mgmt-hero,
  .cp-management-dashboard .cp-mgmt-grid,
  .cp-management-dashboard .cp-mgmt-section,
  .cp-management-dashboard .cp-mgmt-access-note { min-width:0!important; max-width:100%!important; }
  .cp-management-dashboard .cp-mgmt-hero { grid-template-columns:1fr!important; padding:17px!important; gap:13px!important; }
  .cp-management-dashboard .cp-mgmt-hero h1 { font-size:32px!important; overflow-wrap:anywhere; }
  .cp-management-dashboard .cp-mgmt-section { padding:15px!important; }
  .cp-management-dashboard .cp-mgmt-grid { grid-template-columns:1fr!important; gap:9px!important; }
  .cp-management-dashboard .cp-mgmt-action { grid-template-columns:42px minmax(0,1fr) auto!important; min-height:92px!important; padding:13px!important; }

  .cp-pos-wrap { width:auto!important; max-width:100%!important; min-width:0!important; padding:0 7px 26px!important; overflow-x:hidden!important; }
  .cp-pos-topbar { margin-left:-7px!important; margin-right:-7px!important; padding:10px!important; gap:8px!important; flex-wrap:wrap!important; }
  .cp-pos-brand { font-size:16px!important; }
  .cp-pos-top-actions { width:100%!important; display:grid!important; grid-template-columns:1fr 1fr!important; }
  .cp-pos-top-actions a { text-align:center!important; min-width:0!important; }
  .cp-pos-event-header,
  .cp-pos-account-head,
  .cp-pos-checkout,
  .cp-pos-finish-shell,
  .cp-pos-final-report { width:100%!important; max-width:100%!important; min-width:0!important; padding-left:14px!important; padding-right:14px!important; }
  .cp-pos-desk-grid,
  .cp-pos-account-layout,
  .cp-pos-manage-grid,
  .cp-pos-final-grid,
  .cp-pos-final-two-col,
  .cp-pos-final-money-grid,
  .cp-pos-final-result-grid { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; }
  .cp-pos-stage { min-height:0!important; }
  .cp-pos-stage-counts { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:5px!important; }
  .cp-pos-stage-counts div { min-width:0!important; padding:9px 5px!important; }
  .cp-pos-stage-counts strong { font-size:22px!important; }
  .cp-pos-stage-counts span { font-size:8px!important; overflow-wrap:anywhere; }
  .cp-pos-person-tile { grid-template-columns:48px minmax(0,1fr)!important; gap:9px!important; padding:11px!important; }
  .cp-pos-person-tile form { grid-column:1/-1!important; width:100%!important; }
  .cp-pos-arrive { width:100%!important; min-width:0!important; }
  .cp-pos-work-tabs { display:flex!important; width:100%!important; max-width:100%!important; overflow-x:auto!important; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .cp-pos-work-tabs::-webkit-scrollbar { display:none; }
  .cp-pos-work-tabs button { flex:0 0 86px!important; min-width:86px!important; }
  .cp-pos-product-tiles { grid-template-columns:1fr 1fr!important; }
  .cp-pos-payment-methods { grid-template-columns:1fr!important; }
  .cp-pos-tip-picker { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:6px!important; }
  .cp-pos-tip-picker button { min-width:0!important; width:100%!important; padding-left:6px!important; padding-right:6px!important; }
  .cp-pos-booking-outcome-buttons { grid-template-columns:1fr!important; }
  .cp-pos-transfer-action { grid-column:1!important; }
  .cp-pos-final-table-wrap,
  .cp-table-wrap { max-width:100%!important; overflow-x:auto!important; -webkit-overflow-scrolling:touch; }
  .cp-pos-final-table { min-width:640px; }
  .cp-pos-manage-card input,
  .cp-pos-manage-card select,
  .cp-pos-manage-card textarea,
  .cp-admin input,
  .cp-admin select,
  .cp-admin textarea { max-width:100%!important; }
}


/* 2.8.2 — MEMBER PORTAL MOBILE TILE TEXT-SAFETY
   Prevent home/dashboard tile headings, copy and action labels from
   overlapping on narrow screens. Desktop layouts remain unchanged. */
@media (max-width: 760px) {
  .cp-signature-light-experience .cp-signature-feature,
  .cp-signature-light-experience .cp-signature-private-card,
  .cp-signature-light-experience .cp-signature-privilege-strip a,
  .cp-signature-light-experience .cp-signature-account-pass,
  .cp-signature-light-experience .cp-premium-member-card,
  .cp-signature-light-experience .cp-premium-event-card {
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  .cp-signature-light-experience .cp-signature-feature-head,
  .cp-signature-light-experience .cp-signature-feature-copy,
  .cp-signature-light-experience .cp-signature-private-card,
  .cp-signature-light-experience .cp-signature-privilege-strip a > *,
  .cp-signature-light-experience .cp-premium-member-welcome,
  .cp-signature-light-experience .cp-premium-event-copy {
    min-width:0!important;
    max-width:100%!important;
  }

  .cp-signature-light-experience .cp-signature-feature-head b,
  .cp-signature-light-experience .cp-signature-feature-copy strong,
  .cp-signature-light-experience .cp-signature-feature-copy small,
  .cp-signature-light-experience .cp-signature-private-card strong,
  .cp-signature-light-experience .cp-signature-private-card small,
  .cp-signature-light-experience .cp-signature-privilege-strip a strong,
  .cp-signature-light-experience .cp-signature-privilege-strip a span,
  .cp-signature-light-experience .cp-signature-privilege-strip a em,
  .cp-signature-light-experience .cp-signature-lounge blockquote,
  .cp-signature-light-experience .cp-premium-member-card h1,
  .cp-signature-light-experience .cp-premium-member-card .cp-signature-lead,
  .cp-signature-light-experience .cp-premium-event-copy h2,
  .cp-signature-light-experience .cp-premium-event-copy p {
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* Desktop privilege tiles use text + action columns. Stack them on mobile. */
  .cp-signature-light-experience .cp-signature-privilege-strip a {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:7px!important;
    padding:20px!important;
  }
  .cp-signature-light-experience .cp-signature-privilege-strip a span,
  .cp-signature-light-experience .cp-signature-privilege-strip a strong,
  .cp-signature-light-experience .cp-signature-privilege-strip a em {
    display:block!important;
    width:100%!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }

  /* Action labels must participate in normal flow, never sit over copy. */
  .cp-signature-light-experience .cp-signature-feature em {
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    margin:16px 0 0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.25!important;
  }

  .cp-signature-light-experience .cp-signature-feature {
    height:auto!important;
    min-height:0!important;
    padding:20px!important;
    justify-content:flex-start!important;
    gap:12px!important;
  }

  .cp-signature-light-experience .cp-signature-feature-head b {
    font-size:22px!important;
    line-height:1.12!important;
    max-width:none!important;
  }
  .cp-signature-light-experience .cp-signature-feature-copy strong {
    font-size:17px!important;
    line-height:1.25!important;
  }
  .cp-signature-light-experience .cp-signature-feature-copy small,
  .cp-signature-light-experience .cp-signature-private-card small {
    font-size:12px!important;
    line-height:1.45!important;
  }
  .cp-signature-light-experience .cp-signature-private-card strong,
  .cp-signature-light-experience .cp-signature-privilege-strip a strong {
    font-size:19px!important;
    line-height:1.2!important;
    max-width:none!important;
  }
  .cp-signature-light-experience .cp-signature-lounge blockquote {
    font-size:19px!important;
    line-height:1.3!important;
    max-width:none!important;
  }

  /* Buttons inside premium cards must not collide with long labels. */
  .cp-signature-light-experience .cp-premium-member-actions,
  .cp-signature-light-experience .cp-signature-hero-actions {
    min-width:0!important;
    max-width:100%!important;
    gap:8px!important;
  }
  .cp-signature-light-experience .cp-premium-member-actions a,
  .cp-signature-light-experience .cp-signature-hero-actions a {
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    line-height:1.2!important;
  }
}

@media (max-width: 430px) {
  .cp-signature-light-experience .cp-premium-member-actions {
    grid-template-columns:1fr!important;
  }
  .cp-signature-light-experience .cp-signature-hero-actions {
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .cp-signature-light-experience .cp-signature-hero-actions a,
  .cp-signature-light-experience .cp-premium-member-actions a {
    width:100%!important;
    justify-content:center!important;
  }
}
