/* Local UI repair, 2026-10-11. No banner, palette, data or storage changes.
   display:contents promotes these children into main's grid. Legacy explicit
   row numbers must not outrank the intended order: brand, banner, search,
   inventory, filters, results. */
.cinematic-a #search-controls > * {grid-row:auto}
.cinematic-a #search-controls > .shortcut-row[hidden] {display:none!important}
.cinematic-a #hero-inventory {grid-column:1/-1}
.cinematic-a #hero-inventory .inventory-label {width:auto;flex:0 1 auto;padding-inline:0;text-align:center}
.cinematic-a #hero-inventory .inventory-bottom {flex:0 0 auto;margin:0}
.cinematic-a #hero-inventory .inventory-card {justify-content:center}
.cinematic-a #group-status #include-closed-control:not([hidden]) {display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:44px;width:100%;margin:0 0 12px;padding:0;grid-column:auto;grid-row:auto;font-size:14px;line-height:1.6}
.cinematic-a #group-status #include-closed-control input {flex:none;width:18px;height:18px}

@media (max-width:767px) {
  .cinematic-a #hero-inventory .inventory-card {height:auto;min-height:48px;gap:8px;padding:10px 8px}
  .cinematic-a #hero-inventory .inventory-label {font-size:13px;line-height:1.45;letter-spacing:0;white-space:normal;word-break:keep-all}
  .cinematic-a #hero-inventory .inventory-bottom strong {font-size:15px;line-height:1.45;font-variant-numeric:tabular-nums}
  .cinematic-a #filter-toolbar {grid-column:1/-1;grid-row:auto;align-items:stretch;margin:2px 0 12px}
  .cinematic-a #advanced-filters > summary {position:relative;inset:auto;width:100%;min-width:0;min-height:48px;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:11px 14px}
  .cinematic-a #advanced-filters > summary .filter-title {font-size:14px}
  .cinematic-a #advanced-filters > summary .ui-chevron {margin-left:auto}
  .cinematic-a #advanced-filters .advanced-body {min-width:0;max-width:100%}
  .cinematic-a #advanced-filters .filter-selects {grid-template-columns:minmax(0,1fr)}
  .cinematic-a #advanced-filters .filter-selects label,
  .cinematic-a #advanced-filters .filter-selects select {min-width:0;max-width:100%;width:100%}
  .cinematic-a #advanced-filters .filter-panel-header {flex-wrap:wrap;gap:8px}
  .cinematic-a #advanced-filters .filter-feedback {position:static}

  /* Two real columns; expanded details keep the full reading width. */
  .cinematic-a #results.view-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
  .cinematic-a #results.view-grid > .contest-card {min-width:0;width:100%;grid-column:auto}
  .cinematic-a #results.view-grid > .contest-card:has(>details[open]) {grid-column:1/-1}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) > .card-main {grid-template-columns:minmax(0,1fr)!important;padding:13px 10px!important;gap:9px!important}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) .card-overview > h3 {font-size:16px!important;line-height:1.55!important;overflow-wrap:anywhere}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) :is(.organizer,.card-meta,.eligibility-summary) {font-size:12px!important;line-height:1.6!important;overflow-wrap:anywhere}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) :is(.card-timing,.card-reward,.card-actions) {grid-column:1/-1;grid-row:auto;min-width:0}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) :is(.card-timing,.card-reward) {padding:9px 7px}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) .card-date {font-size:12px!important;line-height:1.6!important;overflow-wrap:anywhere}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) .card-actions {grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) .card-actions button {font-size:12px!important;min-height:44px;max-width:100%;padding:8px 5px!important}
  .cinematic-a #results.view-grid > .contest-card:not(:has(>details[open])) .card-tags > .quick-source {font-size:12px;min-height:44px;max-width:100%;padding:8px 5px;white-space:normal;overflow-wrap:anywhere}
  .cinematic-a #results.view-grid > .contest-card > details > summary {padding:12px 10px;font-size:13px;min-height:44px}
  .cinematic-a #results.view-grid :is(.award-line,.award-note,.fx-note) {max-width:100%;overflow-wrap:anywhere}
  .cinematic-a #results.view-grid .award-line strong {font-size:14px;white-space:normal;overflow-wrap:anywhere}
  .cinematic-a #results.view-list {grid-template-columns:minmax(0,1fr)}
  .cinematic-a .pagination {max-width:100%;min-width:0}
  .cinematic-a .pagination > * {min-width:0;max-width:100%}
}
