/* Shared interaction rules for scrollable entity lists (bands, venues, etc.). */
.rcm-drag-scroll {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

/* Reset legacy card padding when a list opts into the new entity-list pattern. */
.rcm-entity-list-card {
    padding: 0;
}

@media (hover: hover) and (pointer: fine) {
    .rcm-drag-scroll {
        cursor: grab;
        user-select: none;
        -webkit-user-select: none;
    }

    .rcm-drag-scroll.is-mouse-dragging {
        cursor: grabbing;
    }

    .rcm-drag-scroll button,
    .rcm-drag-scroll input,
    .rcm-drag-scroll select,
    .rcm-drag-scroll textarea {
        user-select: auto;
        -webkit-user-select: auto;
    }
}
/* V27.7.10.5: shared list search chrome moved out of monolithic style.css. */
/* RCM_APP_28.3.3: the one count beside a list title -- "(2 matches)", "(141 listed)" --
   bigger and a stronger blue (it was five identical small grey copies, one per list). */
.rcm-listed-count{color:#60a5fa;font-size:.62em;font-weight:900;white-space:nowrap;vertical-align:middle}
/* 28.3.6: the title row carries Expand / Collapse on its right (entity_list_sections.js). */
.rcm-list-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.rcm-list-title-row>h1{flex:1 1 auto;min-width:0;margin-right:0}
.rcm-section-tools{flex:none;display:flex;gap:5px}
.rcm-section-tools[hidden]{display:none}
.rcm-section-tool{min-height:28px;padding:3px 9px;border:1px solid #406080;border-radius:8px;background:#17304d;color:#dbeafe;font-size:11px;font-weight:900;cursor:pointer;touch-action:manipulation}
.rcm-section-tool:hover,.rcm-section-tool:focus-visible{background:#1d3d61;border-color:#5b8ab8;outline:none}
.band-search-form,.venue-search-form,.profile-search-form,.rcm-list-search-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.band-search-form input,.venue-search-form input,.profile-search-form input,.rcm-list-search-form input{flex:1 1 220px;min-width:0;padding:8px 10px;border:1px solid #475569;border-radius:8px;background:#0f172a;color:#fff;font-size:14px;appearance:none;-webkit-appearance:none}
.band-search-form button,.venue-search-form button,.profile-search-form button,.rcm-list-search-form button,.band-search-clear,.venue-search-clear,.profile-search-clear,.rcm-list-search-clear{padding:8px 11px;border:1px solid #475569;border-radius:8px;background:#172033;color:#dbeafe;font-size:13px;font-weight:800;text-decoration:none}

/* RCM_APP_28.2.0: alphabetical sections and the Genre / Cuisine filter (Bands, Venues). */
[data-rcm-facet-form="1"] .rcm-search-field{flex-basis:130px}
/* The search box's own X (list_search.js, 28.3.2: every list and Events); the browser's X is hidden. */
[data-rcm-paged-search-note="1"]:empty{display:none}
.rcm-search-field{position:relative;display:flex;flex:1 1 220px;min-width:0}
.rcm-search-field input[type="search"]{flex:1 1 auto;width:100%;padding-right:34px}
.rcm-search-field input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.rcm-search-field .rcm-search-x{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#94a3b8;font-size:22px;font-weight:700;line-height:1;cursor:pointer}
.rcm-search-field .rcm-search-x[hidden]{display:none}
.rcm-facet-button[hidden]{display:none}
/* 28.2.2: an active filter is an outline (no fill); the label carries the count. */
.rcm-facet-button.is-active{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b;color:#fde68a}
.rcm-facet-note{margin-top:7px;color:#fde68a;font-size:15px;font-weight:800;line-height:1.3}
.rcm-list-section{margin:0 0 7px}
.rcm-list-section-head{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;border:1px solid #406080;border-radius:9px;background:#17304d;color:#e5f2ff;font-size:15px;font-weight:900;text-align:left;cursor:pointer}
.rcm-list-section.is-open>.rcm-list-section-head{border-color:#5b8ab8;background:#1d3d61}
.rcm-list-section-chevron{width:14px;color:#93c5fd;transition:transform .15s ease}
.rcm-list-section.is-open .rcm-list-section-chevron{transform:rotate(90deg)}
.rcm-list-section-label{flex:1 1 auto;min-width:0}
.rcm-list-section-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#93c5fd;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;white-space:nowrap}
.rcm-list-section-count{min-width:28px;padding:2px 8px;border-radius:999px;background:#0b1220;text-align:center;font-size:12px}
.rcm-list-section-body{padding:7px 0 2px}
.rcm-facet-modal{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(0,0,0,.82)}
.rcm-facet-modal-card{display:flex;flex-direction:column;width:min(460px,96vw);max-height:88dvh;border:1px solid #475569;border-radius:14px;background:#0f172a;color:#e5f2ff;box-shadow:0 20px 70px rgba(0,0,0,.6)}
.rcm-facet-modal-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid #253047;font-size:18px}
.rcm-facet-match{flex:1 0 100%;display:flex;gap:14px;color:#cbd5e1;font-size:13px;font-weight:800}
.rcm-facet-match label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}
.rcm-facet-match input{margin:0;accent-color:#f59e0b}
.rcm-facet-modal-title{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.rcm-facet-modal-head button{min-height:36px;padding:6px 12px;border:1px solid #475569;border-radius:8px;background:#172033;color:#dbeafe;font-size:14px;font-weight:800;cursor:pointer}
.rcm-facet-modal-head button.is-primary{border-color:#f59e0b;background:#3a2a0d;color:#fde68a}
/* 28.2.3: a muted Show is plain grey, not a dim amber. */
.rcm-facet-modal-head button:disabled,.rcm-facet-modal-head button.is-primary:disabled{border-color:#334155;background:#172033;color:#64748b;cursor:default}
.rcm-facet-modal-list{flex:1 1 auto;overflow-y:auto;padding:8px 14px;overscroll-behavior:contain}
/* 28.3.1: a section heading is a light-blue bar -- three-state box, the label
   centered with its tick count, and a chevron; tapping it rolls the section. */
.rcm-facet-section{margin:0 0 8px}
.rcm-facet-section-head{position:relative;display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 12px;border-radius:9px;background:#bfdbfe;color:#020617;font-size:15px;font-weight:900;cursor:pointer;user-select:none}
.rcm-facet-section-all{width:20px;height:20px;flex:0 0 auto;accent-color:#1d4ed8;cursor:pointer}
.rcm-facet-section-label{flex:1 1 auto;min-width:0;text-align:center}
.rcm-facet-section-chevron{width:20px;flex:0 0 auto;text-align:center;color:#020617;transition:transform .15s ease}
.rcm-facet-section.is-open .rcm-facet-section-chevron{transform:rotate(90deg)}
.rcm-facet-section-body{padding:2px 0 0}
.rcm-facet-option{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid #1e293b;font-size:15px;font-weight:700;cursor:pointer}
.rcm-facet-option input{width:18px;height:18px;flex:0 0 auto}
.rcm-facet-option span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.rcm-facet-option small{color:#94a3b8;font-size:12px;font-weight:800}
/* Scroll chaining (28.2.1 prototype on Venues; 28.2.2 on Bands, Venues, Fans,
   Artists and Events). A list box marked data-rcm-scroll-chain="1" hands the
   scroll on to the page when it reaches its top or bottom, instead of stopping
   there (entity_list.js does the same for touch and mouse drags inside one
   gesture, with one shared function). */
.rcm-drag-scroll[data-rcm-scroll-chain="1"]{overscroll-behavior-y:auto}
