
.gym-wallet-wrap{max-width:1000px;margin:30px auto;font-family:Arial,sans-serif;color:#172033}
.gym-wallet-wrap *{box-sizing:border-box}
.gym-wallet-card,.gym-wallet-stat{background:#fff;border:1px solid #dfe5ec;border-radius:14px;padding:22px;box-shadow:0 5px 20px rgba(20,35,55,.06);margin-bottom:18px}
.gym-wallet-wrap label{display:block;font-weight:700;margin:14px 0}
.gym-wallet-wrap input,.gym-wallet-wrap textarea,.gym-wallet-wrap select{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #c8d0da;border-radius:8px}
.gym-wallet-wrap button{background:#1769e0;color:#fff;border:0;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer}
.gym-wallet-secondary{background:#596579!important}
.gym-wallet-notice,.gym-wallet-test{padding:13px 15px;border-radius:10px;background:#eef6ff;border:1px solid #b9d8ff;margin:15px 0}
.gym-wallet-memberbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.gym-wallet-stats,.gym-wallet-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.gym-wallet-stat span{display:block;color:#667085}
.gym-wallet-stat strong{font-size:1.5rem;display:block;margin-top:6px}
.gym-wallet-actions{display:flex;flex-wrap:wrap;gap:10px}
.gym-wallet-price{font-size:1.35rem;font-weight:800;margin:12px 0}
.gym-wallet-table{overflow:auto}
.gym-wallet-table table{width:100%;border-collapse:collapse}
.gym-wallet-table th,.gym-wallet-table td{text-align:left;padding:10px;border-bottom:1px solid #e6eaf0}
.gym-wallet-link{margin-top:18px}
@media(max-width:600px){.gym-wallet-memberbar{align-items:flex-start;flex-direction:column}.gym-wallet-wrap{margin:15px}}


/* Gym Wallet 3.3.15: unified sticky brown header with mobile dropdown */
.gym-wallet-site-nav {
    position: sticky;
    top: 0;
    z-index: 99999;
    width: 100%;
    margin: 0 0 20px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #6f4e37;
    border: 0;
    box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
    box-sizing: border-box;
}

.gym-wallet-site-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.gym-wallet-site-brand {
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
}

.gym-wallet-site-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.gym-wallet-site-links a {
    display: inline-block;
    padding: 9px 12px;
    border-radius: 8px;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.gym-wallet-site-links a:hover,
.gym-wallet-site-links a:focus,
.gym-wallet-site-brand:hover,
.gym-wallet-site-brand:focus {
    background: rgba(255, 255, 255, .14);
    color: #ffffff !important;
}

.gym-wallet-menu-toggle {
    display: none;
}

/* Hide the theme's broken mobile menu button.
   Gym Wallet provides its own dropdown instead. */
@media (max-width: 768px) {
    .menu-toggle,
    .navbar-toggler,
    .mobile-menu-toggle,
    .wp-block-navigation__responsive-container-open,
    button[aria-label*="menu" i]:not(.gym-wallet-menu-toggle),
    button[aria-label*="navigation" i] {
        display: none !important;
    }

    .gym-wallet-site-nav {
        display: block;
        padding: 10px 12px;
    }

    .gym-wallet-site-top {
        width: 100%;
    }

    .gym-wallet-site-brand {
        font-size: 16px;
        white-space: normal;
    }

    .gym-wallet-menu-toggle {
        display: inline-block;
        flex: 0 0 auto;
        padding: 8px 12px;
        border: 1px solid rgba(255, 255, 255, .55);
        border-radius: 8px;
        background: rgba(255, 255, 255, .12);
        color: #ffffff;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
    }

    .gym-wallet-site-links {
        display: none;
        width: 100%;
        padding-top: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .gym-wallet-site-links.is-open {
        display: grid;
    }

    .gym-wallet-site-links a {
        text-align: center;
        background: rgba(255, 255, 255, .08);
    }
}


/* 3.3.16 mobile home header */
@media (max-width:768px){
.home .menu-toggle,
.home .navbar-toggler,
.home .mobile-menu-toggle,
.home .wp-block-navigation__responsive-container-open,
.home button[aria-label*="menu" i]:not(.gym-wallet-menu-toggle),
.home button[aria-label*="navigation" i){
display:none!important;
}
.home .gym-wallet-site-nav{
position:sticky!important;
top:0;
display:block!important;
z-index:99999;
}
}


/* Gym Wallet 3.3.17: mobile Home-page fallback header only */
.gym-wallet-mobile-home-fallback {
    display: none;
}

@media (max-width: 768px) {
    .home .gym-wallet-mobile-home-fallback {
        display: block;
        position: sticky;
        top: 0;
        z-index: 99999;
    }

    .home .gym-wallet-mobile-home-fallback .gym-wallet-site-nav {
        display: block !important;
        position: sticky !important;
        top: 0;
        margin: 0 0 20px;
    }
}


/* Annual membership status — 3.4.0 */
.gym-wallet-membership-stat small{display:block;margin-top:8px;line-height:1.5;font-size:.82rem;opacity:.85}
.gym-wallet-membership-stat em{display:block;margin-top:8px;font-style:normal;font-weight:800;font-size:.86rem}
.gym-wallet-membership-active{border-left:6px solid #238636}
.gym-wallet-membership-soon{border-left:6px solid #d99a00}
.gym-wallet-membership-expired{border-left:6px solid #c62828}
.gym-wallet-membership-none{border-left:6px solid #777}
.gym-wallet-membership-warning{margin:16px 0}


/* Compact training-pass selector — 3.4.3 */
.gym-wallet-pass-picker{min-height:0}
.gym-wallet-pass-picker h4{margin-top:0}
.gym-wallet-pass-picker label{margin:10px 0 14px}
.gym-wallet-pass-picker select{margin-top:6px}
.gym-wallet-pass-picker button{width:100%}

/* Training-pass date readability — 3.4.4 */
.gym-wallet-membership-stat small + em{display:block}


/* Member portal polish — 3.4.5 */
.gym-wallet-days-remaining{display:block;margin-top:12px;padding-top:10px;border-top:1px solid #e6eaf0}
.gym-wallet-days-remaining span{display:block;font-size:.82rem;font-weight:700;color:#667085}
.gym-wallet-days-remaining strong{display:block;margin-top:4px;font-size:1rem}
.gym-wallet-purchase-history{margin-top:18px}

/* Compact balance top-up — 3.4.6 */
.gym-wallet-balance-stat .gym-wallet-inline-topup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: end;
    margin-top: 14px;
}
.gym-wallet-inline-topup label {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.gym-wallet-inline-topup label > span {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}
.gym-wallet-inline-topup select,
.gym-wallet-inline-topup input {
    width: 100%;
    min-width: 0;
    margin: 0;
}
.gym-wallet-inline-topup button {
    margin: 0;
    white-space: nowrap;
}
.gym-wallet-inline-topup .gym-wallet-other-amount {
    grid-column: 1 / -1;
}
.gym-wallet-inline-topup .gym-wallet-other-amount[hidden] {
    display: none;
}

/* PT module 3.5.3 */
.gym-wallet-trainer-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:16px}.gym-wallet-trainer-summary>div{padding:16px;border:1px solid rgba(0,0,0,.1);border-radius:12px}.gym-wallet-trainer-summary strong,.gym-wallet-trainer-summary span{display:block}.gym-wallet-trainer-summary span{margin-top:8px;font-size:1.05rem}.gym-wallet-availability-grid{display:grid;gap:10px;margin:16px 0}.gym-wallet-availability-row{display:grid;grid-template-columns:minmax(130px,1fr) repeat(2,minmax(125px,.8fr));gap:12px;align-items:center;padding:12px;border:1px solid rgba(0,0,0,.1);border-radius:10px}.gym-wallet-availability-row input[type=time]{width:100%}.gym-wallet-trainer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.gym-wallet-trainer-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-bottom:14px}.gym-wallet-trainer-card details summary{display:inline-block;cursor:pointer;list-style:none}.gym-wallet-trainer-card details summary::-webkit-details-marker{display:none}.gym-wallet-trainer-availability{margin-top:12px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1)}@media(max-width:640px){.gym-wallet-availability-row{grid-template-columns:1fr}.gym-wallet-day{margin-bottom:4px}}

/* PT hourly availability — 3.5.4 */
.gym-wallet-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gym-wallet-availability-day{margin:0;padding:14px;border:1px solid rgba(0,0,0,.1);border-radius:12px}
.gym-wallet-availability-day legend{padding:0 7px;font-weight:800}
.gym-wallet-hour-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.gym-wallet-hour-slots label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer}
.gym-wallet-hour-slots input{margin:0}
@media(max-width:760px){.gym-wallet-name-grid{grid-template-columns:1fr}.gym-wallet-hour-slots{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.gym-wallet-hour-slots label{justify-content:center;gap:3px;padding:6px 3px;font-size:.75rem;white-space:nowrap}.gym-wallet-hour-slots input{width:13px;height:13px;flex:0 0 auto}}

/* PT compact availability — 3.5.5: five slots per row, fifteen slots per day */

/* PT compact availability — 3.5.6: force exactly five slots per row */
.gym-wallet-hour-slots{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.gym-wallet-hour-slots label span{white-space:nowrap}


/* PT compact availability — 3.5.7: three physical rows of five in Trainer Portal */
.gym-wallet-hour-slot-rows{display:flex;flex-direction:column;gap:8px;width:100%}
.gym-wallet-hour-slot-row{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px;width:100%}
.gym-wallet-hour-slot-row label{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:8px 4px;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;box-sizing:border-box}
.gym-wallet-hour-slot-row label span{white-space:nowrap;font-size:.82rem}
.gym-wallet-hour-slot-row input{margin:0;flex:0 0 auto}
@media(max-width:760px){.gym-wallet-hour-slot-row{gap:4px}.gym-wallet-hour-slot-row label{padding:7px 2px}.gym-wallet-hour-slot-row label span{font-size:.7rem}}

/* Gym Wallet 3.9 dropdown menu + cart */
.gym-v39-shop{margin:28px 0}.gym-v39-shophead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.gym-v39-kicker{font-size:12px;font-weight:800;letter-spacing:.14em}.gym-v39-shophead h3{margin:2px 0}.gym-v39-cart-toggle{white-space:nowrap}.gym-v39-section{border:1px solid rgba(0,0,0,.12);border-radius:14px;margin:10px 0;background:#fff;overflow:hidden}.gym-v39-section>summary{cursor:pointer;padding:16px 18px;font-weight:800;display:flex;justify-content:space-between}.gym-v39-section>summary span{font-weight:500;opacity:.65}.gym-v39-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0 14px 14px}.gym-v39-item{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:14px}.gym-v39-item h4{margin:0 0 10px}.gym-v39-item label{display:block;font-weight:700;margin:9px 0}.gym-v39-item select{width:100%;margin-top:5px}.gym-v39-price{font-size:20px;font-weight:800;margin:8px 0}.gym-v39-add{width:100%;margin-top:10px}.gym-v39-cart{position:fixed;right:18px;bottom:18px;z-index:99999;width:min(390px,calc(100vw - 36px));max-height:75vh;overflow:auto;background:#fff;border:1px solid rgba(0,0,0,.16);box-shadow:0 14px 45px rgba(0,0,0,.22);border-radius:16px;padding:16px}.gym-v39-cartbar{display:flex;justify-content:space-between;align-items:center}.gym-v39-cartbar h3{margin:0}.gym-v39-close{font-size:24px;background:transparent!important;color:#111!important;padding:2px 8px!important}.gym-v39-cartline{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}.gym-v39-cartline small{display:block;opacity:.7}.gym-v39-cartline button{padding:4px 8px!important}.gym-v39-total{display:flex;justify-content:space-between;font-size:20px;padding:14px 0}.gym-v39-checkout{width:100%;margin:5px 0}.gym-v39-paynow{background:#111!important}.gym-v39-cart>small{display:block;margin-top:8px;opacity:.65}.gym-v39-count{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:20px;background:rgba(255,255,255,.2);margin-left:5px}

/* 3.9.1 visible test cart */
.gym-v39-cart{position:static!important;width:100%!important;max-height:none!important;margin-top:18px!important;box-shadow:none!important}
.gym-v39-cart-badge{font-weight:800;padding:9px 13px;border-radius:999px;border:1px solid rgba(0,0,0,.14)}
.gym-v39-test-label{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.6}
.gym-v39-paid{font-size:16px!important;font-weight:900!important;padding:14px!important}

/* Gym Wallet 3.9.2 four-box food-menu style */
.gym-v39-sections{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;align-items:start}
.gym-v39-section-card{border:1px solid rgba(0,0,0,.12);border-radius:16px;background:#fff;overflow:hidden}
.gym-v39-section-card>summary{list-style:none;cursor:pointer;display:block;padding:0}
.gym-v39-section-card>summary::-webkit-details-marker{display:none}
.gym-v39-section-image{height:170px;background:#ededed;overflow:hidden}
.gym-v39-section-image img{width:100%;height:100%;object-fit:cover;display:block}
.gym-v39-photo-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;opacity:.55}
.gym-v39-section-title{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:14px 15px}
.gym-v39-section-title strong{font-size:18px}
.gym-v39-section-title span{font-size:12px;opacity:.65}
.gym-v39-section-card .gym-v39-items{display:block!important;padding:0 12px 12px!important}
.gym-v39-section-card .gym-v39-item{margin-top:10px}
@media(max-width:1100px){.gym-v39-sections{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.gym-v39-sections{grid-template-columns:1fr!important}.gym-v39-section-image{height:190px}}

/* Gym Wallet 3.9.3 website owner admin */
.gym-owner-login-wrap{max-width:520px;margin:45px auto;padding:18px}
.gym-owner-login-card,.gym-owner-admin{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:18px;padding:22px;box-shadow:0 14px 40px rgba(0,0,0,.08)}
.gym-owner-login-card label,.gym-owner-admin label{display:block;font-weight:700;margin:12px 0}
.gym-owner-login-card input,.gym-owner-admin input,.gym-owner-admin select{width:100%;box-sizing:border-box;margin-top:5px}
.gym-owner-login-card button,.gym-owner-save{width:100%;margin-top:12px}
.gym-owner-error{background:#fee;padding:10px;border-radius:10px;margin:10px 0}
.gym-owner-admin-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.gym-owner-saved{background:#e9f8ed;padding:10px;border-radius:10px;margin:12px 0;font-weight:800}
.gym-owner-dashboard-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0}
.gym-owner-dashboard-cards>*{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fafafa;text-decoration:none;color:inherit}
.gym-owner-dashboard-cards span{font-size:12px;opacity:.7}
.gym-owner-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gym-owner-section{border:1px solid rgba(0,0,0,.12);border-radius:14px;background:#fff;overflow:hidden}
.gym-owner-section>summary{cursor:pointer;padding:15px 16px;font-size:18px;font-weight:900}
.gym-owner-section-body{padding:0 14px 14px}
.gym-owner-item{border-top:1px solid rgba(0,0,0,.08);padding-top:12px;margin-top:12px}
.gym-owner-choice-group{background:#f7f7f7;padding:10px;border-radius:10px;margin:10px 0}
.gym-owner-option-row{display:grid;grid-template-columns:1fr 130px;gap:8px;align-items:end;margin:7px 0}
.gym-owner-pricebox{display:flex;align-items:center;gap:5px}
.gym-owner-add-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.gym-owner-add-card{border:1px dashed rgba(0,0,0,.25);border-radius:14px;padding:15px;background:#fafafa}
@media(max-width:900px){.gym-owner-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.gym-owner-menu-grid,.gym-owner-add-grid{grid-template-columns:1fr}}
@media(max-width:560px){.gym-owner-dashboard-cards{grid-template-columns:1fr}.gym-owner-admin-head{align-items:flex-start;flex-direction:column}}
