/* ClubPass365 v1.0.199 — mobile layout containment and readable forms.
   Deliberately avoids colours, fonts, checkout logic, and desktop layout. */
@media (max-width: 900px) {
  /* Allow shrink-to-fit inside grid/flex containers; never clip form controls. */
  .cp365-site,
  .cp365-site .cp365-wrap,
  .cp365-site main,
  .cp365-site section,
  .cp365-site article,
  .cp365-site .cp365-od-layout,
  .cp365-site .cp365-od-main,
  .cp365-site .cp365-od-panel,
  .cp365-site .cp365-od-form,
  .cp365-site .cp365-ticket-selector,
  .cp365-site .cp365-ticket-tier-main,
  .cp365-site .cp365-cart-layout,
  .cp365-site .cp365-cart-item,
  .cp365-site .cp365-checkout-layout,
  .cp365-site .cp365-checkout-card,
  .cp365-site .cp365-registration-layout,
  .cp365-site .cp365-registration-card,
  .cp365-site .cp365-event-profile-main,
  .cp365-site .cp365-event-profile-side,
  .cp365-site .cp365-feature-checkout-grid,
  .cp365-site .cp365-feature-checkout-card,
  .cp365-site .cp365-feature-checkout-summary {
    min-width: 0;
    max-width: 100%;
  }
  .cp365-site :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    box-sizing: border-box;
    max-width: 100%;
  }
  .cp365-site :is(.cp365-od-panel,.cp365-ticket-tier-main,.cp365-cart-item-main,.cp365-event-profile-main,.cp365-cd-shell,.cp365-checkout-card) :is(h1,h2,h3,h4,p,small,strong,a) {
    overflow-wrap: break-word;
  }
  .cp365-site :is(.cp365-od-table-wrap,.cp365-orders-table-wrap,.cp365-payout-table-wrap,.cp365-cart-table-wrap,.cp365-admin-hub-tablewrap,.cp365-scanner-results) {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .cp365-site .cp365-od-field-grid > *,
  .cp365-site .cp365-od-tier-fields > *,
  .cp365-site .cp365-od-tier-sale > *,
  .cp365-site .cp365-od-event-row > *,
  .cp365-site .cp365-od-two-col > * {
    min-width: 0;
  }
  .cp365-site .cp365-od-menu {max-width: 100%;}
  .cp365-site .cp365-od-heading {flex-wrap:wrap;}
  .cp365-site .cp365-od-heading > * {max-width:100%;}
  .cp365-site .cp365-od-form :is(input[type="date"],input[type="time"],input[type="datetime-local"]) {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  /* Checkout / ticket-card panels can shrink independently of wide content. */
  .cp365-site .cp365-ticket-tier {min-width:0;}
  .cp365-site .cp365-ticket-tier-main {min-width:0;}
  .cp365-site .cp365-ticket-qty {max-width:100%;}
  .cp365-site .cp365-ticket-selection-bar > * {min-width:0;}
  .cp365-site .cp365-tier-countdown {max-width:100%;}
  .cp365-site .cp365-tier-countdown-grid {max-width:100%;}
  .cp365-site .cp365-feature-checkout-grid,
  .cp365-site .cp365-registration-layout {width:100%;}
}

@media (max-width: 620px) {
  /* Keep forms actually on-screen: this includes the admin + organizer Create Event forms. */
  .cp365-site .cp365-od-layout {width:calc(100% - 20px);max-width:100%;}
  .cp365-site .cp365-od-main {width:100%;}
  .cp365-site .cp365-od-panel {padding:16px 14px;}
  .cp365-site .cp365-od-field-grid,
  .cp365-site .cp365-od-form .cp365-od-field-grid,
  .cp365-site .cp365-od-form .cp365-od-field-grid .cp365-event-schedule-fields,
  .cp365-site .cp365-od-form .cp365-od-tier-fields,
  .cp365-site .cp365-od-form .cp365-od-tier-sale,
  .cp365-site .cp365-od-two-col {
    grid-template-columns:minmax(0,1fr);
    width:100%;
    max-width:100%;
  }
  .cp365-site .cp365-od-form .cp365-od-field-grid > label,
  .cp365-site .cp365-od-form .cp365-od-field-grid > div,
  .cp365-site .cp365-od-form .cp365-od-tier-fields > label,
  .cp365-site .cp365-od-form .cp365-od-tier-fields > button,
  .cp365-site .cp365-od-form .cp365-od-tier-sale > label,
  .cp365-site .cp365-od-form .cp365-od-tier-sale > div {
    grid-column:1 / -1;
    min-width:0;
    max-width:100%;
  }
  .cp365-site .cp365-od-form .cp365-od-tier-fields .cp365-od-remove-tier {
    grid-column:1 / -1;
    justify-self:start;
  }
  .cp365-site .cp365-od-form :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {width:100%;}
  .cp365-site .cp365-od-form-actions {display:flex;flex-wrap:wrap;gap:10px;}
  .cp365-site .cp365-od-form-actions .cp365-btn {min-width:0;max-width:100%;}
  .cp365-site .cp365-scanner-toolbar {min-width:0;max-width:100%;}
  .cp365-site .cp365-scanner-toolbar label,
  .cp365-site .cp365-scanner-toolbar select {width:100%;min-width:0;max-width:100%;}
  .cp365-site .cp365-od-gallery-grid {grid-template-columns:minmax(0,1fr);}

  /* Long sale names and countdowns remain above the price/quantity controls. */
  .cp365-site .cp365-ticket-selector .cp365-ticket-tier,
  .cp365-site .cp365-ticket-selector .cp365-ticket-tier.has-sale-countdown {
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    max-width:100%;
  }
  .cp365-site .cp365-ticket-selector .cp365-ticket-tier.has-sale-countdown {
    grid-template-areas:"ticket ticket" "countdown countdown" "price quantity";
  }
  .cp365-site .cp365-ticket-selector .cp365-tier-countdown {padding:4px 0;border-left:0;border-right:0;}
  .cp365-site .cp365-ticket-selector .cp365-tier-countdown-grid {width:min(270px,100%);}
  .cp365-site .cp365-ticket-selector .cp365-ticket-tier-main h3 {font-size:clamp(15px,4.5vw,19px);}
  .cp365-site .cp365-ticket-selector .cp365-ticket-tier-price {font-size:18px;}
  .cp365-site .cp365-ticket-selector .cp365-ticket-qty {grid-template-columns:36px 48px 36px;justify-content:end;}
  .cp365-site .cp365-ticket-selector .cp365-ticket-qty input {width:48px;}
  .cp365-site .cp365-ticket-selector .cp365-ticket-selection-bar {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}
  .cp365-site .cp365-ticket-selector .cp365-ticket-selection-bar .cp365-btn {grid-column:1 / -1;width:100%;}

  /* Wallet / checkout summary buttons don't force the page wider than the viewport. */
  .cp365-site :is(.cp365-cart-item,.cp365-checkout-card,.cp365-cart-summary,.cp365-feature-checkout-card,.cp365-feature-checkout-summary,.cp365-registration-card) {padding-left:14px;padding-right:14px;}
  .cp365-site .cp365-cart-item {grid-template-columns:minmax(0,1fr) auto;}
  .cp365-site .cp365-cart-event-title {white-space:normal;overflow-wrap:break-word;}
  .cp365-site .cp365-cart-item-main {grid-column:1 / -1;}
  .cp365-site .cp365-cart-item .cp365-cart-qty {max-width:100%;}
  .cp365-site .cp365-checkout-ticket-row {flex-wrap:wrap;gap:8px;}
  .cp365-site .cp365-registration-fields {grid-template-columns:minmax(0,1fr);}
  .cp365-site .cp365-registration-fields label.full {grid-column:auto;}
  .cp365-site :is(.cp365-cd-ticket-actions,.cp365-registration-actions) {min-width:0;max-width:100%;}
  .cp365-site :is(.cp365-cd-ticket-actions,.cp365-registration-actions) .cp365-btn {max-width:100%;}
  .cp365-site :is(.cp365-feature-checkout-event,.cp365-registration-summary) {min-width:0;max-width:100%;}
  .cp365-site :is(.cp365-feature-checkout-event,.cp365-registration-summary) strong {overflow-wrap:anywhere;}
  .cp365-site .cp365-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 380px) {
  .cp365-site .cp365-ticket-tier-list {padding-left:12px;padding-right:12px;}
  .cp365-site .cp365-ticket-selection-bar {padding-left:12px;padding-right:12px;}
  .cp365-site .cp365-ticket-selector-head {padding-left:12px;padding-right:12px;}
  .cp365-site .cp365-tier-countdown-unit strong {font-size:15px;}
  .cp365-site .cp365-od-sidebar {padding-left:8px;padding-right:8px;}
  .cp365-site .cp365-od-menu a {padding-left:10px;padding-right:10px;}
}

/* Native wp-admin dashboard: mobile-first card presentation for the Events list.
   All admin-featured forms remain usable; no table columns are removed. */
@media (max-width: 782px) {
  body.cp365-branded-admin .cp365-admin-app,
  body[class*="cp365-rebuild-events"] .cp365-admin-app,
  body.toplevel_page_cp365-rebuild .cp365-admin-app {
    display:block;
    max-width:100%;
    min-width:0;
  }
  body.cp365-branded-admin .cp365-admin-main,
  body[class*="cp365-rebuild-events"] .cp365-admin-main,
  body.toplevel_page_cp365-rebuild .cp365-admin-main {max-width:100%;min-width:0;}
  .cp365-admin-content,.cp365-admin-hub-content,.cp365-admin-events-content {
    box-sizing:border-box;
    width:100%;
    min-width:0;
    max-width:100%;
    padding-left:14px;
    padding-right:14px;
  }
  .cp365-admin-top {padding-left:14px;padding-right:14px;gap:8px;min-width:0;}
  .cp365-admin-top > *, .cp365-admin-top-actions {min-width:0;max-width:100%;}
  .cp365-admin-top-actions {gap:8px;}
  .cp365-admin-top form {min-width:0;width:auto;flex:1;}
  .cp365-admin-top .cp365-admin-gradient {padding:10px 12px;white-space:normal;text-align:center;}
  .cp365-admin-sidebar nav {grid-template-columns:repeat(2,minmax(0,1fr));}
  .cp365-admin-sidebar nav a {min-width:0;max-width:100%;gap:8px;padding:9px 10px;height:auto;overflow-wrap:break-word;}
  .cp365-admin-title-row {flex-wrap:wrap;gap:12px;}
  .cp365-admin-title-row > *, .cp365-admin-card, .cp365-admin-hub-card {min-width:0;max-width:100%;}
  .cp365-admin-kpis,.cp365-admin-chart-grid,.cp365-admin-bottom-grid,
  .cp365-rewards-admin-kpis,.cp365-rewards-admin-grid,.cp365-rewards-campaign-admin,
  .cp365-hub-report-grid,.cp365-admin-hub-split,.cp365-campaign-form-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .cp365-admin-hub-tablewrap,
  .cp365-admin-events-table-wrap,
  .cp365-admin-hub-legacy .table-responsive {
    width:100%;max-width:100%;min-width:0;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .cp365-admin-hub-legacy :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
  .cp365-hub-org-form :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
  .cp365-campaign-form-grid :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    box-sizing:border-box;max-width:100%;
  }
  .cp365-hub-org-form,.cp365-campaign-form-grid {width:100%;max-width:100%;}
  .cp365-admin-events-table-wrap {overflow:visible;}
  .cp365-admin-events-table {display:block;width:100%;min-width:0!important;border-collapse:separate;}
  .cp365-admin-events-table thead {display:none;}
  .cp365-admin-events-table tbody {display:block;width:100%;}
  .cp365-admin-events-table tbody > tr {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 12px;
    padding:10px 12px;
    margin:12px 0;
    border:1px solid #e7ecf3;
    border-radius:14px;
  }
  .cp365-admin-events-table tbody > tr > td {
    box-sizing:border-box;display:block;
    width:100%;max-width:100%;min-width:0;
    padding:9px 3px;
    border-top:0;
    overflow-wrap:anywhere;
  }
  .cp365-admin-events-table tbody > tr > td:nth-child(1),
  .cp365-admin-events-table tbody > tr > td:nth-child(6),
  .cp365-admin-events-table tbody > tr > td:nth-child(7),
  .cp365-admin-events-table tbody > tr > td[colspan] {grid-column:1 / -1;}
  .cp365-admin-events-table tbody > tr > td:nth-child(2)::before {content:"Organizer";}
  .cp365-admin-events-table tbody > tr > td:nth-child(3)::before {content:"Date";}
  .cp365-admin-events-table tbody > tr > td:nth-child(4)::before {content:"Type";}
  .cp365-admin-events-table tbody > tr > td:nth-child(5)::before {content:"Status";}
  .cp365-admin-events-table tbody > tr > td:nth-child(6)::before {content:"Featured Event";}
  .cp365-admin-events-table tbody > tr > td:nth-child(7)::before {content:"Actions";}
  .cp365-admin-events-table tbody > tr > td:nth-child(n+2)::before {
    display:block;margin-bottom:4px;
    font-weight:800;font-size:10px;
    text-transform:uppercase;letter-spacing:.04em;
  }
  .cp365-admin-events-table tbody > tr > td[colspan]::before {display:none;content:none;}
  .cp365-admin-events-table .cp365-admin-event-title {min-width:0;max-width:100%;}
  .cp365-admin-events-table .cp365-admin-event-title > div {min-width:0;}
  .cp365-admin-events-table .cp365-admin-events-actions {flex-wrap:wrap;white-space:normal;}
  .cp365-admin-events-table .cp365-admin-feature-form {max-width:100%;min-width:0;}
  .cp365-admin-events-table .cp365-admin-feature-form :is(input[type="date"],button) {max-width:100%;}
  .cp365-admin-events-tabs {width:100%;max-width:100%;gap:6px;}
  .cp365-admin-events-tabs a {min-width:0;max-width:100%;padding:9px 10px;}
}
@media(max-width:420px) {
  .cp365-admin-events-table tbody > tr {grid-template-columns:minmax(0,1fr);}
  .cp365-admin-events-table tbody > tr > td {grid-column:1 / -1;}
  .cp365-admin-sidebar nav {grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .cp365-admin-top {flex-wrap:wrap;height:auto;min-height:64px;padding-top:8px;padding-bottom:8px;}
  .cp365-admin-top .cp365-admin-gradient {font-size:11px;}
}

/* Keep organizer/customer dashboard tabs visible instead of clipping labels off the edge. */
@media (max-width: 620px) {
  .cp365-site .cp365-od-sidebar .cp365-od-menu {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    overflow:visible;
    white-space:normal;
    max-height:none;
    padding-bottom:0;
  }
  .cp365-site .cp365-od-sidebar .cp365-od-menu a {
    box-sizing:border-box;
    min-width:0;
    width:100%;
    white-space:normal;
    overflow-wrap:break-word;
    padding:10px 9px;
    font-size:12px;
    line-height:1.4;
  }
  .cp365-admin-events-table tbody > tr > td.cp365-admin-events-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
  }
  .cp365-admin-events-table tbody > tr > td.cp365-admin-events-actions::before {
    flex-basis:100%;
  }
}
