/* =========================================================
       MODERN TRAINING / EVENTS BROWSE PAGE
       Scoped to #booking-browse-page
       ========================================================= */

    #booking-browse-page{
        height:auto !important;
        min-height:0 !important;
        max-height:none !important;
        overflow:visible !important;
        --browse-bg:#f5f7fb;
        --browse-card:#ffffff;
        --browse-text:#172033;
        --browse-muted:#64748b;
        --browse-border:#e2e8f0;
        --browse-primary:#2563eb;
        --browse-primary-dark:#1d4ed8;
        --browse-soft:#eff6ff;
        --browse-radius:16px;
        background:var(--browse-bg);
        color:var(--browse-text);
        padding:24px 0 50px;
    }

    #booking-browse-page *{
        box-sizing:border-box;
    }

    #booking-browse-page .browse-shell{
        width:min(1500px, calc(100% - 32px));
        margin:0 auto;
    }

    #booking-browse-page .browse-hero{
        position:relative;
        z-index:40;
        display:grid;
        grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
        gap:26px;
        align-items:stretch;
        margin-bottom:22px;
        overflow:visible;
        background:linear-gradient(135deg,#182230 0%,#243b5a 100%);
        border-radius:20px;
        box-shadow:0 14px 36px rgba(15,23,42,.16);
    }

    #booking-browse-page .browse-hero-copy{
        padding:36px 38px;
        color:#fff;
    }

    #booking-browse-page .browse-eyebrow{
        display:inline-flex;
        align-items:center;
        gap:8px;
        margin-bottom:10px;
        color:#93c5fd;
        font-size:12px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.08em;
    }

    #booking-browse-page .browse-hero h1{
        margin:0 0 12px;
        color:#fff;
        font-size:clamp(32px,4vw,52px);
        line-height:1.05;
        font-weight:800;
    }

    #booking-browse-page .browse-hero-copy > p{
        max-width:760px;
        margin:0;
        color:rgba(255,255,255,.78);
        font-size:15px;
        line-height:1.65;
    }

    #booking-browse-page .browse-hero-image{
        min-height:300px;
        overflow:hidden;
        border-radius:0 20px 20px 0;
        background:#dbeafe;
    }

    #booking-browse-page .browse-hero-image img{
        width:100%;
        height:100%;
        min-height:300px;
        display:block;
        object-fit:cover;
    }

    #booking-browse-page .browse-toolbar{
        display:flex;
        align-items:center;
        gap:12px;
        margin-top:24px;
    }

    #booking-browse-page #search{
        position:relative;
        display:flex;
        align-items:center;
        gap:8px;
        flex:1;
        margin:0;
        padding:7px;
        border-radius:12px;
        background:#fff;
        box-shadow:0 8px 20px rgba(0,0,0,.12);
    }

    #booking-browse-page #search label{
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0,0,0,0);
    }

    #booking-browse-page #searchinput{
        flex:1;
        width:auto;
        min-width:0;
        min-height:46px;
        margin:0;
        padding:10px 13px;
        border:0;
        outline:0;
        background:transparent;
        color:#172033;
        font-size:14px;
    }

    #booking-browse-page #search input[type="submit"]{
        min-height:42px;
        padding:9px 18px;
        margin:0;
        border:0;
        border-radius:9px;
        background:var(--browse-primary);
        color:#fff;
        font-weight:700;
        cursor:pointer;
    }

    #booking-browse-page #search input[type="submit"]:hover{
        background:var(--browse-primary-dark);
    }

    #booking-browse-page #search .browse-clear-search{
        padding:8px 10px;
        color:#64748b;
        font-size:12px;
        font-weight:700;
        white-space:nowrap;
        text-decoration:none;
    }

    #booking-browse-page #searchpredict{
        position:absolute;
        left:7px;
        right:7px;
        top:calc(100% + 6px);
        z-index:10050;
        width:auto;
        max-height:min(420px,60vh);
        overflow-y:auto;
        border-radius:12px;
        box-shadow:0 18px 45px rgba(15,23,42,.22);
    }
    #booking-browse-page #searchpredict:empty{
        display:none;
    }
    /* The AJAX endpoint still returns its old inline-positioned wrapper.
       Force that wrapper to behave as content inside our modern dropdown. */
    #booking-browse-page #searchpredict > div{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        z-index:auto !important;
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:6px !important;
        border:1px solid #dbe3ee !important;
        border-radius:12px !important;
        background:#fff !important;
        box-shadow:none !important;
    }
    #booking-browse-page #searchpredict a{
        display:block;
        margin:0;
        padding:10px 11px 4px;
        border-radius:8px 8px 0 0;
        color:#172033 !important;
        font-size:13px;
        font-weight:800;
        line-height:1.35;
        text-decoration:none !important;
    }
    #booking-browse-page #searchpredict a:hover{
        background:#eff6ff;
        color:#1d4ed8 !important;
    }
    #booking-browse-page #searchpredict br{
        display:none;
    }
    #booking-browse-page #searchpredict hr{
        display:none;
    }

    /* Make every predictive result read as its own card/row. */
    #booking-browse-page #searchpredict .browse-predict-results{
        display:flex;
        flex-direction:column;
        gap:7px;
        padding:7px;
    }
    #booking-browse-page #searchpredict .browse-predict-item{
        display:block;
        padding:11px 12px !important;
        border:1px solid #e2e8f0;
        border-radius:10px !important;
        background:#fff;
        box-shadow:0 2px 7px rgba(15,23,42,.04);
        text-decoration:none !important;
        transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
    }
    #booking-browse-page #searchpredict .browse-predict-item:hover{
        background:#f8fbff;
        border-color:#bfdbfe;
        box-shadow:0 4px 12px rgba(15,23,42,.08);
    }
    #booking-browse-page #searchpredict .browse-predict-title{
        display:block;
        margin-bottom:4px;
        color:#172033;
        font-size:14px;
        font-weight:800;
        line-height:1.35;
    }
    #booking-browse-page #searchpredict .browse-predict-meta{
        display:block;
        color:#64748b;
        font-size:12px;
        font-weight:500;
        line-height:1.4;
    }
    #booking-browse-page #searchpredict .browse-predict-session{
        display:block;
        margin-top:7px;
        padding-top:7px;
        border-top:1px solid #edf2f7;
        color:#334155;
        font-size:12px;
        font-weight:500;
        line-height:1.4;
    }
    #booking-browse-page #searchpredict .browse-predict-session .fa{
        margin-right:4px;
        color:#64748b;
    }
    #booking-browse-page #searchpredict .browse-predict-no-session{
        color:#64748b;
    }

    #booking-browse-page .browse-filter-button{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:56px;
        padding:0 18px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:12px;
        background:rgba(255,255,255,.10);
        color:#fff !important;
        font-size:13px;
        font-weight:750;
        text-decoration:none !important;
        white-space:nowrap;
        transition:.15s ease;
    }

    #booking-browse-page .browse-filter-button:hover{
        background:rgba(255,255,255,.16);
        transform:translateY(-1px);
    }

    #booking-browse-page .browse-filter-count{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-width:24px;
        height:24px;
        padding:0 7px;
        border-radius:999px;
        background:#fff;
        color:#1e3a5f;
        font-size:11px;
        font-weight:800;
    }

    #booking-browse-page .browse-order-control{
        display:flex;
        align-items:center;
        gap:8px;
        min-height:56px;
        padding:7px 10px 7px 13px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:12px;
        background:rgba(255,255,255,.10);
        color:#fff;
        white-space:nowrap;
    }

    #booking-browse-page .browse-order-control label{
        margin:0;
        color:rgba(255,255,255,.78);
        font-size:11px;
        font-weight:800;
    }

    #booking-browse-page .browse-order-control select{
        min-height:38px;
        padding:7px 30px 7px 10px;
        border:0;
        border-radius:8px;
        background:#fff;
        color:#1e293b;
        font-family:inherit;
        font-size:12px;
        font-weight:750;
        cursor:pointer;
    }

    #booking-browse-page .browse-order-control.browse-order-results{
        flex:0 0 auto;
        min-height:auto;
        height:auto;
        padding:3px 6px 3px 9px;
        gap:5px;
        border:1px solid #dbeafe;
        border-radius:9px;
        background:#fff;
        color:#1e293b;
        line-height:1;
    }

    #booking-browse-page .browse-order-control.browse-order-results label{
        margin:0;
        padding:0;
        color:#64748b;
        white-space:nowrap;
        line-height:1;
    }

    #booking-browse-page .browse-order-control.browse-order-results select{
        min-height:auto;
        height:26px;
        margin:0;
        padding:0 24px 0 6px;
        line-height:26px;
        border-radius:6px;
    }

    #booking-browse-page .browse-all-results{
        margin-top:18px;
    }

    #booking-browse-page .browse-results-toolbar{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        margin:0 0 18px;
        padding:10px 12px;
        border:1px solid #dbeafe;
        border-radius:11px;
        background:#f8fbff;
    }

    #booking-browse-page .browse-view-switch{
        display:flex;
        align-items:center;
        gap:12px;
        margin:0;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
    }

    #booking-browse-page .browse-view-switch-label{
        color:#64748b;
        font-size:12px;
        font-weight:800;
    }

    #booking-browse-page .browse-view-switch-options{
        display:inline-flex;
        gap:4px;
        padding:3px;
        border:1px solid #dbeafe;
        border-radius:9px;
        background:#fff;
    }

    #booking-browse-page .browse-view-option{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        min-height:34px;
        padding:6px 11px;
        border-radius:7px;
        color:#475569 !important;
        font-size:11px;
        font-weight:800;
        text-decoration:none !important;
    }

    #booking-browse-page .browse-view-option:hover{
        background:#f8fafc;
    }

    #booking-browse-page .browse-view-option.is-active{
        background:#2563eb;
        color:#fff !important;
    }

    #booking-browse-page .browse-global-load-more{
        grid-column:1 / -1;
    }

    /* Calendar view */
    #booking-browse-page .browse-calendar-wrap{
        margin-top:18px;
        border:1px solid #dbeafe;
        border-radius:14px;
        background:#fff;
        overflow:hidden;
    }
    #booking-browse-page .browse-calendar-head{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:14px 16px;
        border-bottom:1px solid #e2e8f0;
        background:#f8fbff;
    }
    #booking-browse-page .browse-calendar-head h3{margin:0;color:#0f172a;font-size:18px;}
    #booking-browse-page .browse-calendar-nav{display:flex;align-items:center;gap:7px;}
    #booking-browse-page .browse-calendar-nav a{
        display:inline-flex;align-items:center;justify-content:center;min-height:34px;
        padding:6px 10px;border:1px solid #bfdbfe;border-radius:8px;background:#fff;
        color:#1d4ed8 !important;font-size:11px;font-weight:800;text-decoration:none !important;
    }
    #booking-browse-page .browse-calendar-weekdays,
    #booking-browse-page .browse-calendar-grid{
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
    }
    #booking-browse-page .browse-calendar-weekdays div{
        padding:9px 6px;text-align:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;
        color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;
    }
    #booking-browse-page .browse-calendar-day{
        min-height:145px;padding:8px;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;
        background:#fff;min-width:0;
    }
    #booking-browse-page .browse-calendar-day:nth-child(5n){border-right:0;}
    #booking-browse-page .browse-calendar-day.is-outside{background:#fafafa;}
    #booking-browse-page .browse-calendar-date{
        display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
        margin-bottom:5px;border-radius:50%;color:#475569;font-size:12px;font-weight:800;
    }
    #booking-browse-page .browse-calendar-day.is-today .browse-calendar-date{background:#2563eb;color:#fff;}
    #booking-browse-page .browse-calendar-event{
        display:block;margin:0 0 6px;padding:7px 8px;border:1px solid #dbeafe;border-radius:8px;
        background:#f8fbff;color:#0f172a !important;text-decoration:none !important;
    }
    #booking-browse-page .browse-calendar-event:hover{background:#eff6ff;}
    #booking-browse-page .browse-calendar-event strong{
        display:block;margin-bottom:4px;font-size:11px;line-height:1.3;
    }
    #booking-browse-page .browse-calendar-event span{
        display:block;color:#64748b;font-size:10px;font-weight:700;line-height:1.3;
    }
    #booking-browse-page .browse-calendar-session-title{
        margin-bottom:3px;color:#334155 !important;font-size:10px !important;font-weight:800 !important;
    }
    #booking-browse-page .browse-calendar-session-title i{margin-right:4px;color:#64748b;}
    #booking-browse-page .browse-calendar-status{
        margin-top:4px !important;font-size:9px !important;font-weight:800 !important;text-transform:uppercase;
    }
    #booking-browse-page .browse-calendar-status.is-available{color:#15803d;}
    #booking-browse-page .browse-calendar-status.is-full{color:#b45309;}
    #booking-browse-page .browse-calendar-status.is-closed{color:#64748b;}
    #booking-browse-page .browse-calendar-event.is-calendar-extra{display:none;}
    #booking-browse-page .is-calendar-expanded .browse-calendar-event.is-calendar-extra{display:block;}
    #booking-browse-page .browse-calendar-more{
        width:100%;margin:2px 0 0;padding:6px 8px;border:0;border-radius:7px;
        background:#f1f5f9;color:#475569;font-family:inherit;font-size:10px;font-weight:800;
        text-align:center;cursor:pointer;
    }
    #booking-browse-page .browse-calendar-more:hover{background:#e2e8f0;color:#1e293b;}
    #booking-browse-page .browse-calendar-empty{padding:30px;text-align:center;color:#64748b;}
    #booking-browse-page .browse-calendar-weekend{
        padding:14px 16px 16px;border-top:1px solid #e2e8f0;background:#fffaf5;
    }
    #booking-browse-page .browse-calendar-weekend > strong{
        display:block;margin-bottom:10px;color:#92400e;font-size:12px;text-transform:uppercase;
    }
    #booking-browse-page .browse-calendar-weekend-day{margin-top:10px;}
    #booking-browse-page .browse-calendar-weekend-date{
        display:block;margin-bottom:6px;color:#475569;font-size:11px;font-weight:800;
    }
    #booking-browse-page .browse-calendar-weekend .browse-calendar-event{
        display:inline-block;width:calc(33.333% - 8px);margin-right:8px;vertical-align:top;
    }

    @media(max-width:800px){
        #booking-browse-page .browse-calendar-weekend .browse-calendar-event{
            display:block;width:auto;margin-right:0;
        }
        #booking-browse-page .browse-calendar-weekdays{display:none;}
        #booking-browse-page .browse-calendar-grid{display:block;}
        #booking-browse-page .browse-calendar-day,
        #booking-browse-page .browse-calendar-day.is-outside{display:none;}
        #booking-browse-page .browse-calendar-day.has-events{
            display:block;min-height:0;padding:12px 14px;border-right:0;
        }
        #booking-browse-page .browse-calendar-date{
            width:auto;height:auto;margin:0 0 8px;border-radius:0;background:none !important;color:#0f172a !important;
            font-size:13px;
        }
        #booking-browse-page .browse-calendar-date:before{content:attr(data-mobile-label);}
        #booking-browse-page .browse-calendar-date .desktop-day{display:none;}
    }

    @media(max-width:650px){
        #booking-browse-page .browse-results-toolbar{
            align-items:stretch;
            flex-direction:column;
        }

        #booking-browse-page .browse-view-switch{
            align-items:stretch;
            flex-direction:column;
        }

        #booking-browse-page .browse-view-switch-options{
            display:grid;
            grid-template-columns:repeat(3,1fr);
        }

        #booking-browse-page .browse-order-results{
            width:100%;
            justify-content:space-between;
        }

        #booking-browse-page .browse-order-results select{
            flex:1;
            max-width:none;
        }
    }

    #booking-browse-page .browse-promo{
        display:grid;
        grid-template-columns:240px minmax(0,1fr);
        gap:22px;
        align-items:start;
        margin-bottom:30px;
        padding:18px;
        border:1px solid var(--browse-border);
        border-radius:16px;
        background:#fff;
        box-shadow:0 7px 22px rgba(15,23,42,.05);
    }

    #booking-browse-page .browse-promo img{
        width:100%;


        border-radius:12px;
    }

    #booking-browse-page .browse-promo h2{
        margin:0 0 7px;
        color:#1e293b;
        font-size:20px;
    }

    #booking-browse-page .browse-promo p{
        margin:0;
        color:var(--browse-muted);
        line-height:1.6;
    }

    #booking-browse-page .browse-coming{
        display:inline-flex;
        margin-top:10px;
        padding:6px 10px;
        border-radius:999px;
        background:#dbeafe;
        color:#c2410c;
        font-size:11px;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.04em;
    }

    #booking-browse-page .browse-result-summary{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin:0 0 18px;
        padding:12px 14px;
        border:1px solid #dbeafe;
        border-radius:11px;
        background:#f8fbff;
        color:#475569;
        font-size:13px;
    }

    #booking-browse-page .browse-result-summary-main{
        display:flex;
        align-items:center;
        gap:8px;
        min-width:0;
    }

    #booking-browse-page .browse-clear-filters{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        flex:none;
        min-height:32px;
        padding:6px 10px;
        border:1px solid #fecaca;
        border-radius:8px;
        background:#fff;
        color:#b91c1c !important;
        font-size:11px;
        font-weight:800;
        text-decoration:none !important;
        white-space:nowrap;
    }

    #booking-browse-page .browse-clear-filters:hover{
        background:#fef2f2;
        border-color:#fca5a5;
        color:#991b1b !important;
    }

    @media(max-width:650px){
        #booking-browse-page .browse-result-summary{
            align-items:flex-start;
            flex-direction:column;
        }

        #booking-browse-page .browse-clear-filters{
            width:100%;
        }

        #booking-browse-page .browse-department-heading{
            flex-wrap:wrap;
        }

    }

    #booking-browse-page .browse-department-heading{
        display:flex;
        align-items:center;
        gap:12px;
        margin:30px 0 15px;
        padding:10px 0 12px;
        border-bottom:2px solid #dbe7f5;
        color:#172033;
        font-size:22px;
        font-weight:800;
        line-height:1.2;
        letter-spacing:-.01em;
    }

    #booking-browse-page .browse-service-initials{
        width:38px;
        min-width:38px;
        height:38px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        border-radius:10px;
        background:#eaf3ff;
        box-shadow:inset 0 0 0 1px #dbeafe;
        color:#2563eb;
        font-size:11px;
        font-weight:900;
        line-height:1;
        letter-spacing:.02em;
        text-transform:uppercase;
    }

    #booking-browse-page .browse-card-extra{
        display:none;
    }

    #booking-browse-page .browse-load-more-wrap{
        grid-column:1 / -1;
        display:flex;
        justify-content:center;
        padding:8px 0 4px;
    }

    #booking-browse-page .browse-load-more{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        min-height:40px;
        padding:9px 16px;
        border:1px solid #bfdbfe;
        border-radius:10px;
        background:#eff6ff;
        color:#1d4ed8;
        font-family:inherit;
        font-size:12px;
        font-weight:800;
        cursor:pointer;
        transition:background .15s ease,border-color .15s ease,transform .15s ease;
    }

    #booking-browse-page .browse-load-more:hover{
        border-color:#93c5fd;
        background:#dbeafe;
        transform:translateY(-1px);
    }

    #booking-browse-page .browse-load-more-count{
        color:#64748b;
        font-weight:700;
    }


    #booking-browse-page .browse-grid{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:18px;
        align-items:stretch;
    }

    #booking-browse-page .browse-card{
        position:relative;
        min-width:0;
        overflow:hidden;
        border:1px solid var(--browse-border);
        border-radius:15px;
        background:#fff;
        box-shadow:0 7px 20px rgba(15,23,42,.06);
        transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    }

    #booking-browse-page .browse-card:hover{
        transform:translateY(-3px);
        border-color:#bfdbfe;
        box-shadow:0 14px 30px rgba(15,23,42,.10);
    }

    #booking-browse-page .browse-card-link{
        display:block;
        height:100%;
        color:inherit !important;
        text-decoration:none !important;
    }

    #booking-browse-page .browse-card-image{
        position:relative;
        height:170px;
        overflow:hidden;
        background:#e2e8f0;
    }

    #booking-browse-page .browse-card-image img{
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        transition:transform .25s ease;
    }

    #booking-browse-page .browse-card:hover .browse-card-image img{
        transform:scale(1.035);
    }

    #booking-browse-page .browse-card-id{
        position:absolute;
        top:12px;
        left:12px;
        z-index:2;
        padding:6px 9px;
        border-radius:8px;
        background:rgba(30,41,59,.90);
        color:#fff;
        font-size:11px;
        font-weight:800;
    }

    #booking-browse-page .browse-card-body{
        padding:15px 16px 17px;
    }

    #booking-browse-page .browse-smart-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;}
    #booking-browse-page .browse-smart-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;line-height:1;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;}
    #booking-browse-page .browse-smart-new{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
    #booking-browse-page .browse-smart-week{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}
    #booking-browse-page .browse-smart-popular{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}
    #booking-browse-page .browse-next-session{display:flex;align-items:center;gap:7px;margin:10px 0 2px;padding:9px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:11px;}
    #booking-browse-page .browse-next-session i{color:#2563eb;}
    #booking-browse-page .browse-next-session strong{margin-left:auto;color:#172033;font-size:12px;}

    #booking-browse-page .browse-card-meta{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:7px;
        margin:8px 0 2px;
    }
    #booking-browse-page .browse-card-meta > span{
        display:inline-flex;
        align-items:center;
        gap:5px;
        padding:5px 8px;
        border-radius:999px;
        font-size:10px;
        font-weight:800;
        line-height:1.1;
    }
    #booking-browse-page .browse-delivery{
        background:#f8fafc;
        border:1px solid #e2e8f0;
        color:#475569;
    }
    #booking-browse-page .browse-delivery i{color:#2563eb;}
    #booking-browse-page .browse-card-availability i{font-size:7px;}
    #booking-browse-page .browse-card-availability-good{background:#ecfdf5;color:#047857;}
    #booking-browse-page .browse-card-availability-available{background:#eff6ff;color:#1d4ed8;}
    #booking-browse-page .browse-card-availability-limited{background:#fff7ed;color:#c2410c;}
    #booking-browse-page .browse-card-availability-critical{background:#fef2f2;color:#b91c1c;}
    #booking-browse-page .browse-card-availability-full{background:#f8fafc;color:#64748b;}

    #booking-browse-page .browse-toolbar-quickfilters{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        gap:8px;
        flex:1 1 100%;
        margin-top:2px;
    }

    #booking-browse-page .browse-toolbar-quickfilters select{
        min-height:38px;
        padding:7px 30px 7px 10px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:9px;
        background:rgba(255,255,255,.10);
        color:#fff;
        font-family:inherit;
        font-size:11px;
        font-weight:750;
        cursor:pointer;
    }

    #booking-browse-page .browse-toolbar-quickfilters select option{
        background:#fff;
        color:#1e293b;
    }

    #booking-browse-page .browse-filter-clear{
        display:none;
        min-height:38px;
        padding:7px 10px;
        border:1px solid rgba(255,255,255,.18);
        border-radius:9px;
        background:rgba(255,255,255,.08);
        color:#fff;
        font-family:inherit;
        font-size:11px;
        font-weight:800;
        cursor:pointer;
    }

    #booking-browse-page .browse-filter-summary{
        color:rgba(255,255,255,.78);
        font-size:11px;
        font-weight:700;
    }

    #booking-browse-page .browse-card.is-filtered-out{
        display:none!important;
    }

    #booking-browse-page .browse-card.browse-filter-reveal{
        display:flex !important;
    }

    @media(max-width:900px){
        #booking-browse-page .browse-toolbar-quickfilters{
            width:100%;
        }
    }

    @media(max-width:650px){
        #booking-browse-page .browse-toolbar-quickfilters{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:7px;
        }

        #booking-browse-page .browse-toolbar-quickfilters select,
        #booking-browse-page .browse-filter-clear{
            width:100%;
        }

        #booking-browse-page .browse-filter-summary{
            grid-column:1 / -1;
        }
    }

    #booking-browse-page .browse-card-title{
        min-height:44px;
        margin:0 0 11px;
        color:#1e293b;
        font-size:15px;
        font-weight:800;
        line-height:1.45;
    }

    #booking-browse-page .browse-card-department{
        display:inline-flex;
        align-items:center;
        gap:6px;
        margin-bottom:10px;
        color:#2563eb;
        font-size:11px;
        font-weight:750;
    }

    #booking-browse-page .browse-card-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;}
    #booking-browse-page .browse-card-pills:before{content:'For:';color:#94a3b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
    #booking-browse-page .browse-card-pills span{margin:0!important;padding:5px 8px!important;border:1px solid #e2e8f0!important;border-radius:999px!important;background:#f8fafc!important;color:#475569!important;font-size:10px;line-height:1.2;font-weight:700;}
    #booking-browse-page .browse-card-pills .browse-audience-more{background:#fff!important;color:#2563eb!important;border-color:#dbeafe!important;}

    #booking-browse-page .browse-view-all{
        grid-column:1 / -1;
        display:flex;
        justify-content:flex-end;
        margin:13px 0 4px;
    }

    #booking-browse-page .browse-view-all a{
        display:inline-flex;
        align-items:center;
        gap:7px;
        padding:8px 11px;
        border-radius:8px;
        background:#eff6ff;
        color:#2563eb;
        font-size:12px;
        font-weight:750;
        text-decoration:none;
    }

    #booking-browse-page .browse-search-results{
        position:relative;
        display:block;
        width:100%;
        height:auto !important;
        max-height:none !important;
        overflow:visible !important;
        clear:both;
        margin:24px 0 48px;padding:22px;border:1px solid #e2e8f0;border-radius:16px;
        background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05);
    }
    #booking-browse-page .browse-search-results:after{
        content:'';display:block;clear:both;
    }
    #booking-browse-page .browse-search-results-head{
        display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
        margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid #e2e8f0;
    }
    #booking-browse-page .browse-search-results-head h2{margin:0 0 4px;color:#172033;font-size:22px;}
    #booking-browse-page .browse-search-results-head p{margin:0;color:#64748b;font-size:13px;}
    #booking-browse-page .browse-search-count{
        flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#eff6ff;
        color:#1d4ed8;font-size:11px;font-weight:800;
    }
    #booking-browse-page .browse-search-grid{
        display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;
        margin-bottom:0;padding-bottom:8px;
    }
    #booking-browse-page .browse-search-results .browse-card{height:100%;min-width:0;}
    #booking-browse-page .browse-search-results .browse-card-image{aspect-ratio:16/9;min-height:0;}
    #booking-browse-page .browse-search-results .browse-card-image img{width:100%;height:100%;object-fit:cover;}
    #booking-browse-page .browse-search-results .browse-card-title{line-height:1.35;}

    #modal-filter .modal-con2{
        width:min(920px,94vw);
        max-height:88vh;
        overflow:auto;
        padding:0;
        border-radius:16px;
        box-shadow:0 24px 70px rgba(15,23,42,.28);
    }

    #modal-filter .browse-filter-header{
        padding:22px 24px 17px;
        border-bottom:1px solid #e2e8f0;
        background:#f8fafc;
    }

    #modal-filter .browse-filter-header h2{
        margin:0 0 5px;
        color:#1e293b;
        font-size:22px;
    }

    #modal-filter .browse-filter-header p{
        margin:0;
        color:#64748b;
    }

    #modal-filter .browse-filter-form{
        padding:20px 24px 24px;
    }

    #modal-filter .browse-filter-columns{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px;
    }

    #modal-filter .browse-filter-panel{
        padding:16px;
        border:1px solid #e2e8f0;
        border-radius:12px;
        background:#fff;
    }

    #modal-filter .browse-filter-panel h3{
        margin:0 0 12px;
        color:#334155;
        font-size:15px;
    }

    #modal-filter .browse-filter-panel #aud_main > div,
    #modal-filter .browse-filter-panel #area_main > div,
    #modal-filter #hiddenaudience > div,
    #modal-filter #hiddenarea > div{
        display:flex;
        align-items:center;
        gap:8px;
        padding:6px 0;
        color:#475569;
        font-size:13px;
    }

    #modal-filter .browse-filter-panel input[type="checkbox"]{
        width:16px;
        height:16px;
        margin:0;
    }

    #modal-filter .browse-filter-actions{
        display:flex;
        justify-content:flex-end;
        gap:10px;
        margin-top:20px;
        padding-top:18px;
        border-top:1px solid #e2e8f0;
    }

    #modal-filter .browse-filter-actions .btn{
        min-height:42px;
        margin:0;
        padding:9px 15px;
        border-radius:8px;
    }

    #booking-browse-page .browse-empty{
        margin:20px 0;
        padding:22px;
        border:1px dashed #cbd5e1;
        border-radius:12px;
        background:#fff;
        color:#64748b;
        text-align:center;
    }

    #booking-browse-page .browse-load-time{
        margin:28px 0 0;
        color:#94a3b8;
        font-size:11px;
        font-weight:600;
        text-align:right;
    }


    #booking-browse-page .browse-quick-info{position:absolute;top:12px;right:12px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;margin:0;padding:6px 9px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(255,255,255,.94);color:#1e40af;box-shadow:0 3px 10px rgba(15,23,42,.12);font-family:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;}
    #booking-browse-page .browse-quick-info:hover{background:#fff;transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,23,42,.16);}
    #booking-browse-page .browse-available-until{background:#f0fdf4;border-color:#dcfce7;}
    #booking-browse-page .browse-available-until i{color:#15803d;}

    #bookingQuickInfoModal{
        display:none;
        position:fixed;
        inset:0;
        z-index:100000;
        padding:30px 16px;
        background:rgba(15,23,42,.68);
        overflow-y:auto;
    }

    #bookingQuickInfoModal.is-open{
        display:flex;
        align-items:center;
        justify-content:center;
    }

    #bookingQuickInfoModal .browse-quick-modal-content{
        position:relative;
        width:min(720px,96vw);
        max-height:88vh;
        overflow:auto;
        border-radius:16px;
        background:#fff;
        box-shadow:0 28px 80px rgba(0,0,0,.28);
    }

    #bookingQuickInfoModal .browse-quick-modal-header{
        display:flex;
        align-items:flex-start;
        gap:13px;
        padding:22px 24px 18px;
        padding-right:65px;
        border-bottom:1px solid #e2e8f0;
        background:#f8fafc;
    }

    #bookingQuickInfoModal .browse-quick-modal-icon{
        width:40px;
        min-width:40px;
        height:40px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:10px;
        background:#dbeafe;
        color:#2563eb;
    }

    #bookingQuickInfoModal .browse-quick-modal-header h2{
        margin:0 0 4px;
        color:#1e293b;
        font-size:20px;
        line-height:1.3;
    }

    #bookingQuickInfoModal .browse-quick-modal-id{
        color:#64748b;
        font-size:11px;
        font-weight:700;
    }

    #bookingQuickInfoModal .browse-quick-modal-close{
        position:absolute;
        top:14px;
        right:14px;
        width:36px;
        height:36px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:0;
        border:0;
        border-radius:50%;
        background:#e2e8f0;
        color:#475569;
        font-size:22px;
        cursor:pointer;
    }

    #bookingQuickInfoModal .browse-quick-modal-body{
        padding:22px 24px;
        color:#475569;
        font-size:14px;
        line-height:1.65;
    }

    #bookingQuickInfoModal .browse-quick-modal-body{
        position:relative;
    }

    #bookingQuickInfoModal .browse-quick-modal-body.is-collapsed{
        max-height:150px;
        overflow:hidden;
    }

    #bookingQuickInfoModal .browse-quick-modal-body.is-collapsed:after{
        content:'';
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:42px;
        background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
        pointer-events:none;
    }

    #bookingQuickInfoModal .browse-quick-description-toggle{
        display:none;
        margin:10px 22px 0;
        padding:0;
        border:0;
        background:transparent;
        color:#2563eb;
        font-family:inherit;
        font-size:12px;
        font-weight:800;
        cursor:pointer;
    }

    #bookingQuickInfoModal .browse-quick-description-toggle:hover{
        color:#1d4ed8;
        text-decoration:underline;
    }

    #bookingQuickInfoModal .browse-quick-modal-body{
        position:relative;
    }

    #bookingQuickInfoModal .browse-quick-modal-body.is-collapsed{
        max-height:150px;
        overflow:hidden;
    }

    #bookingQuickInfoModal .browse-quick-modal-body.is-collapsed:after{
        content:'';
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:42px;
        background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);
        pointer-events:none;
    }

    #bookingQuickInfoModal .browse-quick-description-toggle{
        display:none;
        align-items:center;
        gap:6px;
        margin:10px 22px 0;
        padding:0;
        border:0;
        background:transparent;
        color:#2563eb;
        font-family:inherit;
        font-size:12px;
        font-weight:800;
        cursor:pointer;
    }

    #bookingQuickInfoModal .browse-quick-description-toggle:hover{
        color:#1d4ed8;
        text-decoration:underline;
    }

    #bookingQuickInfoModal .browse-quick-modal-body p:first-child{
        margin-top:0;
    }

    #bookingQuickInfoModal .browse-quick-modal-audience{margin:16px 22px 0;padding-top:14px;border-top:1px solid #e2e8f0;}
    #bookingQuickInfoModal .browse-quick-modal-audience-label{display:block;margin-bottom:8px;color:#64748b;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
    #bookingQuickInfoModal .browse-quick-modal-audience-pills{display:flex;flex-wrap:wrap;gap:6px;}
    #bookingQuickInfoModal .browse-quick-modal-audience-pills span{display:inline-flex;padding:6px 9px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#475569;font-size:11px;font-weight:700;}

    #bookingQuickInfoModal .browse-quick-modal-availability{margin:14px 22px 0;padding-top:14px;border-top:1px solid #e2e8f0;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status.good{background:#ecfdf5;color:#047857;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status.available{background:#eff6ff;color:#1d4ed8;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status.limited{background:#fff7ed;color:#c2410c;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status.critical{background:#fef2f2;color:#b91c1c;}
    #bookingQuickInfoModal .browse-quick-modal-availability-status.full{background:#f8fafc;color:#64748b;}
    #bookingQuickInfoModal .browse-quick-modal-session-dates{display:flex;flex-direction:column;gap:7px;margin-top:9px;}
    #bookingQuickInfoModal .browse-quick-session-group{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fbfdff;}
    #bookingQuickInfoModal .browse-quick-session-title{color:#1e293b;font-size:12px;font-weight:850;}
    #bookingQuickInfoModal .browse-quick-session-date-list{display:flex;flex-wrap:wrap;gap:6px;}
    #bookingQuickInfoModal .browse-quick-session-date-list span{display:inline-flex;padding:6px 9px;border:1px solid #dbeafe;border-radius:999px;background:#f8fbff;color:#1e40af;font-size:11px;font-weight:750;}
    #bookingQuickInfoModal .browse-quick-session-location{color:#64748b;font-size:11px;font-weight:700;}
    #bookingQuickInfoModal .browse-quick-session-location i{margin-right:3px;color:#2563eb;}
    #bookingQuickInfoModal .browse-quick-session-group.is-later{display:none;}
    #bookingQuickInfoModal .browse-quick-session-toggle{margin:9px 0 0;padding:0;border:0;background:transparent;color:#2563eb;font-family:inherit;font-size:11px;font-weight:800;cursor:pointer;}
    #bookingQuickInfoModal .browse-quick-session-toggle:hover{text-decoration:underline;}

    #bookingQuickInfoModal .browse-quick-modal-footer{
        margin-top:18px;
        display:flex;
        justify-content:flex-end;
        gap:10px;
        padding:16px 24px 20px;
        border-top:1px solid #e2e8f0;
        background:#fbfdff;
    }

    #bookingQuickInfoModal .browse-quick-modal-link{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:7px;
        min-height:40px;
        padding:9px 14px;
        border-radius:8px;
        background:#2563eb;
        color:#fff !important;
        font-size:12px;
        font-weight:750;
        text-decoration:none !important;
    }

    @media(max-width:650px){
        #bookingQuickInfoModal{
            padding:10px;
        }

        #bookingQuickInfoModal .browse-quick-modal-content{
            width:100%;
            max-height:94vh;
            border-radius:12px;
        }

        #bookingQuickInfoModal .browse-quick-modal-header,
        #bookingQuickInfoModal .browse-quick-modal-body,
        #bookingQuickInfoModal .browse-quick-modal-footer{
            padding-left:18px;
            padding-right:18px;
        }

        #bookingQuickInfoModal .browse-quick-modal-footer{
            align-items:stretch;
            flex-direction:column;
        }

        #bookingQuickInfoModal .browse-quick-modal-link{
            width:100%;
        }
    }

    @media(max-width:1150px){
        #booking-browse-page .browse-grid,
        #booking-browse-page .browse-search-grid{
            grid-template-columns:repeat(3,minmax(0,1fr));
        }
    }

    @media(max-width:900px){
        #booking-browse-page .browse-hero{
            grid-template-columns:1fr;
        }

        #booking-browse-page .browse-hero-image{
            min-height:220px;
            max-height:280px;
        }

        #booking-browse-page .browse-hero-image img{
            min-height:220px;
        }

        #booking-browse-page .browse-promo{
            grid-template-columns:180px minmax(0,1fr);
        }

        #booking-browse-page .browse-grid,
        #booking-browse-page .browse-search-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:650px){
        #booking-browse-page{
            padding-top:12px;
        }

        #booking-browse-page .browse-shell{
            width:min(100% - 18px,1500px);
        }

        #booking-browse-page .browse-hero{
            border-radius:14px;
            gap:0;
        }

        #booking-browse-page .browse-hero-copy{
            padding:25px 20px;
        }

        #booking-browse-page .browse-toolbar{
            flex-direction:column;
            align-items:stretch;
        }

        #booking-browse-page #search{
            flex-wrap:wrap;
        }

        #booking-browse-page #searchinput{
            flex-basis:calc(100% - 90px);
        }

        #booking-browse-page #search .browse-clear-search{
            width:100%;
            text-align:center;
        }

        #booking-browse-page .browse-filter-button{
            width:100%;
            min-height:46px;
        }

        #booking-browse-page .browse-order-control{
            width:100%;
            min-height:46px;
            justify-content:space-between;
        }

        #booking-browse-page .browse-order-control select{
            flex:1;
            max-width:220px;
        }

        #booking-browse-page .browse-promo{
            grid-template-columns:1fr;
        }

        #booking-browse-page .browse-promo img{
            max-height:210px;
        }

        #booking-browse-page .browse-grid,
        #booking-browse-page .browse-search-grid{
            grid-template-columns:1fr;
        }
        #booking-browse-page .browse-search-results{margin:18px 0 34px;padding:14px;border-radius:12px;}
        #booking-browse-page .browse-search-results-head{align-items:flex-start;flex-direction:column;gap:9px;}

        #modal-filter .browse-filter-columns{
            grid-template-columns:1fr;
        }

        #modal-filter .browse-filter-actions{
            flex-direction:column-reverse;
        }

        #modal-filter .browse-filter-actions .btn{
            width:100%;
        }
    }

/* Match grouped-page filter modal controls */
#modal-filter #showmoreaudiences,
#modal-filter #showmorearea{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    margin-top:10px;
    padding:7px 12px;
    border:1px solid #dbeafe;
    border-radius:8px;
    background:#f8fbff;
    color:#2563eb !important;
    font-size:12px;
    font-weight:800;
    text-decoration:none !important;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,transform .15s ease;
}

#modal-filter #showmoreaudiences:hover,
#modal-filter #showmorearea:hover{
    border-color:#93c5fd;
    background:#eff6ff;
    transform:translateY(-1px);
}

#modal-filter .browse-filter-actions{
    justify-content:center !important;
    align-items:center;
    flex-wrap:wrap;
}

#modal-filter .browse-filter-actions .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:130px;
    min-height:42px;
    margin:0;
    padding:9px 15px !important;
    border-radius:8px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}

#modal-filter #clearfilters .btn{
    border:1px solid #cbd5e1;
    background:#fff;
    color:#475569;
}

#modal-filter #clearfilters .btn:hover{
    background:#f8fafc;
    border-color:#94a3b8;
}

#modal-filter .browse-filter-actions input[type="submit"]{
    border:1px solid #2563eb;
    background:#2563eb;
    color:#fff;
}

#modal-filter .browse-filter-actions input[type="submit"]:hover{
    background:#1d4ed8;
    border-color:#1d4ed8;
}


    /* =========================================================
       DISCOVER TRAINING
       ========================================================= */
    #booking-browse-page .browse-discover{
        margin:0 0 30px;
    }

    #booking-browse-page .browse-discover-heading{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:18px;
        margin:0 0 14px;
    }

    #booking-browse-page .browse-discover-heading h2{
        margin:0 0 4px;
        color:#172033;
        font-size:24px;
        line-height:1.2;
        font-weight:850;
    }

    #booking-browse-page .browse-discover-heading p{
        margin:0;
        color:var(--browse-muted);
        font-size:13px;
        line-height:1.5;
    }

    #booking-browse-page .browse-discover-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:18px;
    }

    #booking-browse-page .browse-discover-panel{
        min-width:0;
        overflow:hidden;
        border:1px solid var(--browse-border);
        border-radius:16px;
        background:#fff;
        box-shadow:0 7px 22px rgba(15,23,42,.05);
    }

    #booking-browse-page .browse-discover-panel-head{
        display:flex;
        align-items:center;
        gap:12px;
        padding:16px 18px;
        border-bottom:1px solid #e2e8f0;
        background:#f8fafc;
    }

    #booking-browse-page .browse-discover-icon{
        width:38px;
        min-width:38px;
        height:38px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:10px;
        background:#dbeafe;
        color:#2563eb;
        font-size:16px;
    }

    #booking-browse-page .browse-discover-panel-head h3{
        margin:0 0 2px;
        color:#1e293b;
        font-size:16px;
        font-weight:850;
    }

    #booking-browse-page .browse-discover-panel-head p{
        margin:0;
        color:#64748b;
        font-size:11px;
    }

    #booking-browse-page .browse-discover-list{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    #booking-browse-page .browse-discover-item{
        position:relative;
        min-width:0;
        padding:15px 17px 16px;
        border-bottom:1px solid #eef2f7;
        color:inherit !important;
        text-decoration:none !important;
        transition:background .15s ease;
    }

    #booking-browse-page .browse-discover-item:nth-child(odd){
        border-right:1px solid #eef2f7;
    }

    #booking-browse-page .browse-discover-item:hover{
        background:#f8fbff;
    }

    #booking-browse-page .browse-discover-label{
        display:inline-flex;
        align-items:center;
        gap:5px;
        margin-bottom:7px;
        color:#2563eb;
        font-size:10px;
        font-weight:850;
        text-transform:uppercase;
        letter-spacing:.035em;
    }

    #booking-browse-page .browse-discover-item h4{
        margin:0 0 7px;
        color:#1e293b;
        font-size:13px;
        font-weight:800;
        line-height:1.4;
    }

    #booking-browse-page .browse-discover-meta{
        display:flex;
        align-items:center;
        gap:6px;
        color:#64748b;
        font-size:11px;
        line-height:1.4;
    }

    #booking-browse-page .browse-discover-arrow{
        position:absolute;
        right:12px;
        bottom:12px;
        color:#94a3b8;
        font-size:11px;
    }

    #booking-browse-page .browse-discover-empty{
        grid-column:1 / -1;
        padding:24px 18px;
        color:#64748b;
        font-size:12px;
        text-align:center;
    }

    /* Happening carousel: four items per page, with previous/next navigation. */
    #booking-browse-page .browse-happening-item{display:none;}
    #booking-browse-page .browse-happening-item.is-happening-visible{display:block;}
    #booking-browse-page .browse-happening-nav{
        grid-column:1 / -1;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:12px;
        padding:12px 16px;
        border-top:1px solid #eef2f7;
    }
    #booking-browse-page .browse-happening-nav button{
        width:34px;
        height:34px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:0;
        border:1px solid #bfdbfe;
        border-radius:50%;
        background:#eff6ff;
        color:#1d4ed8;
        font-family:inherit;
        cursor:pointer;
    }
    #booking-browse-page .browse-happening-nav button:hover:not(:disabled){background:#dbeafe;}
    #booking-browse-page .browse-happening-nav button:disabled{opacity:.35;cursor:default;}
    #booking-browse-page .browse-happening-page{min-width:72px;color:#64748b;font-size:11px;font-weight:800;text-align:center;}

    @media(max-width:900px){
        #booking-browse-page .browse-discover-grid{
            grid-template-columns:1fr;
        }
    }

    @media(max-width:650px){
        #booking-browse-page .browse-discover-heading{
            align-items:flex-start;
            flex-direction:column;
        }

        #booking-browse-page .browse-discover-list{
            grid-template-columns:1fr;
        }

        #booking-browse-page .browse-discover-item:nth-child(odd){
            border-right:0;
        }
    }


    /* Filter drawer */
    #modal-filter.browse-filter-drawer{
        position:fixed;
        inset:0;
        z-index:10050;
        display:block;
        visibility:hidden;
        opacity:0;
        pointer-events:none;
        background:rgba(15,23,42,.48);
        transition:opacity .22s ease,visibility 0s linear .22s;
    }

    #modal-filter.browse-filter-drawer.drawer-open{
        visibility:visible;
        opacity:1;
        pointer-events:auto;
        transition:opacity .22s ease,visibility 0s linear 0s;
    }

    #modal-filter .modal-con2{
        position:absolute;
        top:0;
        right:0;
        width:min(440px,94vw);
        height:100vh;
        max-height:none;
        margin:0;
        padding:0;
        border-radius:0;
        overflow:hidden;
        background:#fff;
        box-shadow:-18px 0 55px rgba(15,23,42,.25);
        transform:translateX(104%);
        display:flex;
        flex-direction:column;
        transition:transform .32s cubic-bezier(.22,.61,.36,1);
        will-change:transform;
    }

    #modal-filter.drawer-open .modal-con2{
        transform:translateX(0);
    }

    @media (prefers-reduced-motion: reduce){
        #modal-filter.modalother,
        #modal-filter .modal-con2{
            transition:none;
        }
    }

    #modal-filter .browse-filter-header{
        position:relative;
        flex:0 0 auto;
        padding:20px 56px 16px 20px;
    }

    #modal-filter .browse-filter-header h2{
        font-size:20px;
    }

    #modal-filter .browse-filter-drawer-close{
        position:absolute;
        top:15px;
        right:16px;
        width:34px;
        height:34px;
        padding:0;
        border:0;
        border-radius:50%;
        background:#e2e8f0;
        color:#334155;
        font-size:18px;
        cursor:pointer;
    }

    #modal-filter .browse-filter-form{
        flex:1 1 auto;
        min-height:0;
        display:flex;
        flex-direction:column;
        padding:0;
    }

    #modal-filter .browse-filter-scroll{
        flex:1 1 auto;
        overflow:auto;
        padding:18px 20px;
    }

    #modal-filter .browse-filter-columns{
        grid-template-columns:1fr;
        gap:14px;
    }

    #modal-filter .browse-filter-quick-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:12px;
        margin-bottom:14px;
    }

    #modal-filter .browse-filter-quick-grid label{
        display:block;
        margin-bottom:5px;
        color:#475569;
        font-size:12px;
        font-weight:800;
    }

    #modal-filter .browse-filter-quick-grid select,
    #modal-filter .browse-filter-quick-grid input[type="date"]{
        width:100%;
        min-height:42px;
        padding:8px 10px;
        border:1px solid #cbd5e1;
        border-radius:9px;
        background:#fff;
        color:#334155;
        font-family:inherit;
    }

    #modal-filter .browse-date-filter-pair{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:8px;
        width:100%;
    }

    #modal-filter .browse-date-filter-pair input[type="date"]{
        display:block;
        width:100%;
        min-width:0;
        box-sizing:border-box;
    }

    #modal-filter .browse-date-filter-pair select{
        display:block;
        width:auto;
        min-width:112px;
        box-sizing:border-box;
    }

    @media(max-width:520px){
        #modal-filter .browse-date-filter-pair{
            grid-template-columns:minmax(0,1fr) auto;
        }
    }

    #modal-filter .browse-date-filter-note{
        margin:7px 0 0;
        color:#64748b;
        font-size:11px;
        line-height:1.45;
    }

    #modal-filter .browse-filter-actions{
        flex:0 0 auto;
        margin:0;
        padding:14px 20px;
        border-top:1px solid #e2e8f0;
        background:#fff;
        box-shadow:0 -8px 20px rgba(15,23,42,.05);
    }

    #modal-filter .browse-filter-result-count{
        margin-right:auto;
        align-self:center;
        color:#64748b;
        font-size:12px;
        font-weight:750;
    }

    @media(max-width:600px){
        #modal-filter .modal-con2{
            width:100vw;
        }

        #modal-filter .browse-filter-actions{
            display:grid !important;
            grid-template-columns:1fr 1fr;
            gap:8px;
            align-items:stretch;
            width:100%;
            padding:12px 14px;
        }

        #modal-filter .browse-filter-result-count{
            grid-column:1 / -1;
            width:100%;
            margin:0;
            text-align:center;
        }

        #modal-filter #clearfilters{
            display:block;
            width:100%;
            min-width:0;
        }

        #modal-filter #clearfilters .btn,
        #modal-filter #browseShowResults{
            width:100%;
            min-width:0;
            margin:0;
        }
    }
