/* MySQL catalog additions; the stored site videos.css supplies the listing shell. */
[data-catalog-entity-selected] { display: contents; }
[data-catalog-entity-results][hidden] { display: none !important; }
[data-catalog-entity-results] .filter-no-results { margin: 0; }
.catalog-entity-name { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.catalog-entity-count { flex: 0 0 auto; color: #6b717c; font-size: 10px; white-space: nowrap; }
.filter-result.is-active .catalog-entity-count { color: #ff7c84; }
.filter-result:disabled { cursor: default; opacity: .7; }
.filter-result:focus-visible, .filter-chip button:focus-visible { outline: 2px solid #ff4b55; outline-offset: 2px; }
.catalog-lookup-error { color: #ff7c84; }
.catalog-result-count { color: #9aa1ad; font: 500 12px/1.5 var(--font-sans); }
.catalog-total { color: #9aa1ad; font: 600 12px/1.5 var(--font-sans); white-space: nowrap; }
.catalog-search { display: flex; align-items: center; gap: 8px; flex: 1 1 300px; min-width: 0; max-width: 500px; margin-left: auto; }
.catalog-search .form-control { min-width: 0; width: 100%; height: 36px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.04); color: #f4f5f7; font: 500 12px var(--font-sans); }
.catalog-search .form-control::placeholder { color: #9aa1ad; }
.catalog-search .form-control:focus { border-color: #de1722; box-shadow: 0 0 0 2px rgba(222,23,34,.15); }
.catalog-search .filter-toggle { flex: 0 0 auto; }
.catalog-no-image { display: grid; place-items: center; width: 100%; height: 100%; background: #22252d; color: #ff4b55; font: 800 clamp(20px,3vw,32px)/1 var(--font-sans); }
.catalog-filter-summary { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; }
.catalog-filter-summary .filter-chip { background: rgba(222,23,34,.12); }
/* The disclosure stays in document flow; JavaScript animates its measured height. */
#catalog-filter-panel {
  display: flow-root; position: relative; width: 100%; min-width: 0; max-width: 100%;
  margin: 0; padding: 0; border: 0; overflow: visible; transition: height 220ms ease;
}
#catalog-filter-panel[hidden] { display: none !important; }
#catalog-filter-panel[data-filter-state="opening"],
#catalog-filter-panel[data-filter-state="closing"] { overflow: hidden; }
#catalog-filter-panel[data-filter-state="closed"] { height: 0; overflow: hidden; }
/* Bottom spacing belongs to the measured panel, so a closed disclosure reserves none. */
#catalog-filter-panel::after { content: ""; display: block; height: 16px; }
#catalog-filter-panel .filter-content {
  --filter-padding: 20px;
  container: catalog-filter / inline-size;
  display: flex; flex-direction: column; width: 100%; min-width: 0; margin: 0; padding: var(--filter-padding);
  border: 1px solid #2b323a; border-radius: 12px; background: linear-gradient(120deg,rgba(255,255,255,.016),transparent),#111417;
  color: #f4f5f7; box-shadow: 0 8px 30px rgba(0,0,0,.12);
}
#catalog-filter-panel .filter-panel-header {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  min-width: 0; padding: 0 0 16px; border-bottom: 1px solid #2b323a;
}
#catalog-filter-panel .filter-panel-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; min-width: 0; }
#catalog-filter-panel svg { display: block; flex-shrink: 0; width: 18px; height: 18px; }
#catalog-filter-panel .filter-panel-icon { width: 26px; height: 26px; margin-right: 4px; }
#catalog-filter-panel .filter-panel-title {
  min-width: 0; margin: 0; color: #f4f5f7; font: 700 24px/1.25 var(--font-sans);
  letter-spacing: -.025em; overflow-wrap: anywhere;
}
#catalog-filter-panel .filter-panel-count {
  padding: 4px 11px; border: 1px solid #343b44; border-radius: 999px;
  background: rgba(255,255,255,.04); color: #e4e7ec; font: 500 12px/1.5 var(--font-sans); white-space: nowrap;
}
#catalog-filter-panel [data-catalog-filter-close] {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px;
  width: 32px; height: 32px; margin: 0 -4px 0 0; padding: 0; border: 0;
  border-radius: 8px; background: transparent; color: #eef1f5; opacity: .85; cursor: pointer;
}
#catalog-filter-panel [data-catalog-filter-close]:hover { opacity: 1; background: rgba(255,255,255,.05); }
#catalog-filter-panel [data-catalog-filter-close] svg { width: 22px; height: 22px; }
#catalog-filter-panel [data-catalog-filter-close]:focus-visible,
[data-catalog-filter-toggle]:focus-visible { outline: 0 solid transparent; outline-offset: 0; }
#catalog-filter-panel .filter-panel-body { display: flex; flex-direction: column; gap: 0; min-width: 0; padding: 0; overflow: visible; }
#catalog-filter-panel .filter-section { min-width: 0; margin: 0; padding: 12px 0 14px; border: 0; }
#catalog-filter-panel .filter-section + .filter-section { border-top: 1px solid #2b323a; }
#catalog-filter-panel .filter-section-title { margin: 0 0 9px; color: #f4f5f7; font: 700 16px/1.35 var(--font-sans); letter-spacing: -.015em; }
#catalog-filter-panel .filter-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 16px; }
#catalog-filter-panel .filter-fields--primary { grid-template-columns: minmax(0,2.4fr) repeat(3,minmax(0,1fr)); }
#catalog-filter-panel .filter-fields--ranges { grid-template-columns: minmax(270px,1.2fr) repeat(2,minmax(0,1fr)) minmax(0,.95fr); }
#catalog-filter-panel .filter-field { display: flex; position: relative; flex-direction: column; min-width: 0; }
#catalog-filter-panel .filter-field.is-picker-open { z-index: 45; }
#catalog-filter-panel .filter-field > :is(span,label) { display: block; margin-bottom: 5px; font: 500 12px/1.4 var(--font-sans); letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
html.proxy-theme-black .site-page #catalog-filter-panel .filter-field > :is(span,label) { color: #e0e4e9 !important; }
#catalog-filter-panel .filter-picker-menu { position: relative; min-width: 0; max-width: 100%; }
#catalog-filter-panel .filter-chip-shell { display: flex; flex-wrap: wrap; align-items: center; min-height: 36px; gap: 5px; padding: 3px 6px; border-radius: 7px; }
#catalog-filter-panel .filter-chip-input { flex: 1 1 90px; width: 0; min-width: min(90px,100%); min-height: 28px; height: 28px; padding: 0 5px; border: 0; border-radius: 0; box-shadow: none; font: 500 12px var(--font-sans); }
html.proxy-theme-black .site-page #catalog-filter-panel .filter-chip-input { background: transparent !important; border: 0 !important; }
#catalog-filter-panel .filter-chip { display: inline-flex; min-width: 0; max-width: 100%; align-items: center; gap: 5px; padding: 3px 6px 3px 9px; border: 1px solid #414954; border-radius: 7px; background-image: linear-gradient(rgba(255,255,255,.07),rgba(255,255,255,.015)); font: 500 11px/1.4 var(--font-sans); }
#catalog-filter-panel .filter-chip > span { min-width: 0; white-space: normal; overflow-wrap: anywhere; text-overflow: clip; }
#catalog-filter-panel .filter-chip button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 18px; width: 18px; height: 20px; padding: 0; border: 0; background: transparent; color: inherit; font-size: 16px; }
#catalog-filter-panel .filter-fields select,
#catalog-filter-panel .filter-fields input:not([type=hidden]):not(.filter-chip-input) {
  width: 100%; min-width: 0; max-width: 100%; height: 36px; min-height: 36px; padding: 6px 10px; border: 1px solid #353e48;
  border-radius: 7px; background-color: #181b20; color: #f4f5f7; font: 500 12px/1.5 var(--font-sans);
}
html.proxy-theme-black .site-page #catalog-filter-panel :is(.form-control,.form-select,.filter-chip-shell,.filter-search-control,.filter-range-input) { background-color: #181b20 !important; border-color: #353e48 !important; }
#catalog-filter-panel .filter-fields select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  padding-right: 28px;
}
#catalog-filter-panel .filter-match-mode { margin-top: 6px; }
#catalog-filter-panel .filter-fields :is(input,select):focus { outline: 0 solid transparent; outline-offset: 0; box-shadow: none; }
html.proxy-theme-black .site-page #catalog-filter-panel :is(.filter-search-control,.filter-range-input,.filter-chip-shell):focus-within,
html.proxy-theme-black .site-page #catalog-filter-panel .form-select:focus { border-color: #de1722 !important; }
#catalog-filter-panel .filter-fields select option { background: #181b21; color: #f4f5f7; }
#catalog-filter-panel .filter-search-control { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 36px; padding: 3px 4px 3px 11px; border: 1px solid #353e48; border-radius: 7px; }
#catalog-filter-panel .filter-search-control > svg { width: 18px; height: 18px; }
#catalog-filter-panel .filter-fields .filter-search-control input.form-control { flex: 1 1 0; width: 0; height: 28px; min-height: 28px; padding: 0; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none; }
#catalog-filter-panel .filter-search-submit { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; height: 28px; min-width: 78px; padding: 3px 12px; border: 1px solid #39414a; border-radius: 6px; background: linear-gradient(rgba(255,255,255,.04),transparent),#1c2026; color: #f4f5f7; font: 700 12px/1.4 var(--font-sans); cursor: pointer; }
#catalog-filter-panel .filter-search-submit:hover { background-color: #2a3038; }
#catalog-filter-panel .filter-range-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; min-width: 0; }
#catalog-filter-panel .filter-range-pair--single { grid-template-columns: minmax(0,1fr); }
#catalog-filter-panel .filter-range-input { display: flex; align-items: center; min-width: 0; margin: 0; border: 1px solid #353e48; border-radius: 7px; overflow: hidden; }
#catalog-filter-panel .filter-range-label { display: inline-flex; align-items: center; align-self: stretch; flex: 0 0 auto; margin: 0; padding: 0 8px; border-right: 1px solid #353e48; background: rgba(255,255,255,.035); color: #e0e4e9; font: 500 12px var(--font-sans); }
#catalog-filter-panel .filter-fields .filter-range-input input.form-control { flex: 1 1 0; width: 0; height: 34px; min-height: 34px; padding: 5px 7px; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none; }
#catalog-filter-panel input[type=date] { color-scheme: dark; }
#catalog-filter-panel input[type=date]::-webkit-calendar-picker-indicator { margin: 0; padding: 0; width: 14px; cursor: pointer; }
#catalog-filter-panel .filter-results { flex: 0 0 auto; overscroll-behavior: contain; }
/* Lookup suggestions float under their own input and never resize the filter form. */
#catalog-filter-panel .filter-picker-menu > .filter-results {
  position: absolute; z-index: 50; top: 100%; left: 0; right: 0;
  width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; margin: 6px 0 0;
  max-height: min(200px,45dvh); overflow-x: hidden; overflow-y: auto; scrollbar-width: thin;
  padding: 4px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px;
  background: #181b21; box-shadow: 0 12px 28px rgba(0,0,0,.5);
}
#catalog-filter-panel .filter-picker-menu > .filter-results .filter-result {
  min-width: 0; padding: 7px 8px; border-radius: 6px; font-size: 12px; line-height: 1.4;
}
#catalog-filter-panel .filter-picker-menu > .filter-results .filter-no-results { padding: 8px; }
#catalog-filter-panel .filter-actions {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin: 4px calc(-1 * var(--filter-padding)) calc(-1 * var(--filter-padding)); padding: 12px var(--filter-padding); border-top: 1px solid #2b323a;
}
#catalog-filter-panel .filter-date-note { display: flex; align-items: center; gap: 10px; min-width: 0; margin: 0; color: #d5dbe3; font: 400 12px/1.55 var(--font-sans); }
#catalog-filter-panel .filter-date-note svg { width: 20px; height: 20px; }
#catalog-filter-panel .filter-action-buttons { display: flex; flex: 0 0 auto; align-items: center; gap: 9px; }
#catalog-filter-panel .filter-action-buttons > :is(.filter-reset,.filter-apply) { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 8px; min-width: 108px; min-height: 38px; padding: 7px 16px; border-radius: 8px; font: 700 12px/1.5 var(--font-sans); text-decoration: none; }
#catalog-filter-panel .filter-action-buttons .filter-apply { min-width: 128px; background: #ed0926; border-color: #ed0926; }
@container catalog-filter (max-width: 1000px) {
  #catalog-filter-panel .filter-fields--entities,
  #catalog-filter-panel .filter-fields--ranges { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #catalog-filter-panel .filter-fields--primary { grid-template-columns: repeat(3,minmax(0,1fr)); }
  #catalog-filter-panel .filter-fields--primary > .filter-field--search { grid-column: 1 / -1; }
}
@container catalog-filter (max-width: 600px) {
  #catalog-filter-panel .filter-panel-title { font-size: 20px; }
  #catalog-filter-panel .filter-panel-heading { gap: 8px; }
  #catalog-filter-panel .filter-panel-count { font-size: 11px; padding: 3px 9px; }
  #catalog-filter-panel .filter-fields--entities,
  #catalog-filter-panel .filter-fields--ranges { grid-template-columns: minmax(0,1fr); }
  #catalog-filter-panel .filter-fields--primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #catalog-filter-panel .filter-fields--primary > .filter-field:nth-child(-n+2) { grid-column: 1 / -1; }
  #catalog-filter-panel .filter-actions { flex-wrap: wrap; gap: 12px; }
  #catalog-filter-panel .filter-action-buttons { width: 100%; }
  #catalog-filter-panel .filter-action-buttons > :is(.filter-reset,.filter-apply) { flex: 1 1 0; min-width: 0; }
}
@media (max-width: 639px) {
  #catalog-filter-panel .filter-content { --filter-padding: 14px; border-radius: 10px; }
  #catalog-filter-panel .filter-panel-header { padding-bottom: 12px; }
  #catalog-filter-panel .filter-panel-icon { width: 22px; height: 22px; margin: 0; }
  #catalog-filter-panel .filter-fields { gap: 12px; }
  #catalog-filter-panel .filter-section-title { font-size: 15px; }
  #catalog-filter-panel .filter-fields--ranges .filter-field:first-child .filter-range-pair { grid-template-columns: minmax(0,1fr); }
}
@media (pointer: coarse) {
  #catalog-filter-panel .filter-fields select,
  #catalog-filter-panel .filter-fields input:not([type=hidden]):not(.filter-chip-input) { min-height: 40px; }
  #catalog-filter-panel .filter-chip-shell { min-height: 40px; }
  #catalog-filter-panel .filter-chip-input { min-height: 32px; height: 32px; }
  #catalog-filter-panel .filter-fields .filter-search-control input.form-control { min-height: 32px; }
  #catalog-filter-panel .filter-fields .filter-range-input input.form-control { min-height: 38px; height: 38px; }
  #catalog-filter-panel .filter-search-submit { min-height: 32px; }
  #catalog-filter-panel .filter-action-buttons > :is(.filter-reset,.filter-apply) { min-height: 40px; }
  #catalog-filter-panel [data-catalog-filter-close] { flex-basis: 36px; width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  #catalog-filter-panel { transition: none !important; }
  #catalog-filter-panel :is(.filter-choice > span,.filter-reset,.filter-apply) { transition: none !important; }
}
.preferences-popover { width: min(280px,calc(100vw - 24px)); }
.preferences-panel { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.preferences-panel .menu-option { width: 100%; }
.preferences-panel .menu-option > span { flex: 1; min-width: 0; }
.preferences-note { margin: 4px 12px 12px; color: #9aa1ad; font: 500 11px/1.5 var(--font-sans); }
.preferences-choices { min-width: 0; margin: 0; padding: 0; border: 0; }
.preferences-choice { position: relative; cursor: pointer; }
.preferences-radio { position: absolute; width: 1px; height: 1px; opacity: 0; }
.preferences-check { visibility: hidden; color: #ff4b55; }
.preferences-radio:checked ~ .preferences-check { visibility: visible; }
.preferences-choice:has(.preferences-radio:checked) { background: rgba(222,23,34,.12); color: #f4f5f7; }
.preferences-choice:has(.preferences-radio:focus-visible) { outline: 2px solid #ff4b55; outline-offset: -2px; }
.drawer-preferences { padding: 0 4px; }

@media (max-width: 899px) {
  .listing-toolbar { flex-wrap: wrap; }
  .listing-toolbar__actions { margin-left: auto; }
  .catalog-search { order: 3; flex-basis: 100%; max-width: none; margin-left: 0; }
}
@media (max-width: 480px) {
  .catalog-entity-count { max-width: 92px; overflow: hidden; text-overflow: ellipsis; }
}

/* Compact sizing; colors, borders and states use the original site skin. */
#catalog-pagination {
  gap: 6px; width: 100%; min-width: 0; max-width: 100%;
}
#catalog-pagination .pagination__link {
  min-width: 36px; height: 36px; padding: 0 8px;
}
#catalog-pagination a.pagination__link:focus-visible {
  outline: 2px solid #ff4b55; outline-offset: 2px;
}
@media (max-width: 899px) {
  #catalog-pagination { gap: 4px; }
  #catalog-pagination .pagination__link { min-width: 28px; height: 32px; padding: 0 5px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  #catalog-pagination .pagination__link { transition: none; }
}
.site-page [data-listing-choice-submit] { background: transparent; cursor: pointer; }
