/* Companion pages: editorial hierarchy, quiet motion, and useful archives. */
.ui-collection .ui-main > .ui-section:first-child { position:relative; padding-bottom:2rem; border-bottom:1px solid var(--color-border); }
.ui-collection .ui-main > .ui-section:first-child::after { content:''; display:block; width:4rem; height:2px; background:var(--color-ink-slate); margin-top:2rem; transform-origin:left; animation:collection-line .7s ease-out both; }
@keyframes collection-line { from {transform:scaleX(0)} to {transform:scaleX(1)} }
.ui-collection-tools { display:flex; flex-wrap:wrap; align-items:end; gap:1rem; margin:0 0 1.25rem; }
.ui-collection-search { flex:1 1 240px; max-width:480px; }
.ui-collection-search label { display:block; font-size:.8rem; font-weight:600; margin-bottom:.5rem; }
.ui-collection-search input { width:100%; min-height:48px; padding:.75rem 1rem; border:1px solid var(--color-border-strong); border-radius:0; background:var(--color-surface); color:var(--color-ink-body); font:inherit; }
.ui-collection-status { font-size:.85rem; color:var(--color-ink-slate); margin:0 0 .8rem; }
.ui-collection-index { border-block:1px solid var(--color-border); margin:0 0 2rem; padding:.5rem 0; }
.ui-collection-index summary { min-height:44px; display:list-item; cursor:pointer; padding:.6rem 0; font-weight:600; }
.ui-collection-index ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem 2rem; padding-left:1.5rem; margin:1rem 0; }
.ui-collection-index a { padding:.4rem 0; display:inline-block; color:var(--color-ink-body); text-underline-offset:4px; }
.ui-collection [data-collection-item] { scroll-margin-top:6rem; }
.ui-collection [hidden] { display:none!important; }
.ui-collection .ui-feed-title { max-width:38ch; }
.ui-collection .ui-feed-title a { color:inherit; text-decoration:none; }
.ui-collection .ui-feed-title a:hover { text-decoration:underline; text-underline-offset:5px; }
.ui-collection .ui-feed-text { max-width:76ch; font-size:1rem; line-height:1.85; }
.ui-collection .ui-feed-card { padding:clamp(1.1rem,3vw,2rem); }
.ui-collection .ui-archive-filters { gap:.5rem; margin-bottom:1.5rem; }
.ui-collection .ui-postcode-stat-bar { display:flex; flex-wrap:wrap; gap:2rem; margin:0; border-bottom:1px solid var(--color-border); padding-bottom:1.5rem; }
.ui-collection .ui-stat-card { background:none; border:0; padding:0; text-align:left; }
.ui-collection .ui-stat-value { font-size:1.5rem; }
.ui-collection .ui-stat-label { font-size:.75rem; }
.ui-collection .ui-more-card,.ui-collection .comedy-social-card,.ui-collection .ui-download-card { transition:background-color .2s,transform .2s; }
@media(hover:hover){ .ui-collection .ui-more-card:hover,.ui-collection .comedy-social-card:hover { transform:translateY(-3px); } }
.ui-collection-empty { padding:2rem 0; max-width:55ch; }
.ui-collection-crosslinks { border-top:1px solid var(--color-border); display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:2rem; padding-top:1.5rem; }
.ui-collection-crosslinks a { display:inline-flex; align-items:center; min-height:44px; color:var(--color-ink-slate); text-underline-offset:4px; }
.comedy-memes:not(.is-loaded) .tenor-gif-embed { min-height:140px; display:flex; align-items:center; justify-content:center; background:var(--color-surface); padding:1.5rem; }
.comedy-memes a { color:var(--color-ink-body); }
.ui-media-intro { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; margin:1rem 0 2rem; }
.ui-media-intro p { margin:0; max-width:48ch; }
@media(max-width:600px){ .ui-collection-index ol { grid-template-columns:minmax(0,1fr); } .ui-collection .ui-postcode-stat-bar { gap:1rem 1.5rem; } .ui-collection-tools { gap:.5rem; } }
@media(prefers-reduced-motion:reduce){ .ui-collection * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.ui-music-seek { width:100%; min-width:40px; min-height:44px; accent-color:var(--color-ink-slate); cursor:pointer; }
.ui-collection .ui-music-player { position:sticky; bottom:1rem; z-index:5; background:var(--color-bg-primary); border:1px solid var(--color-border-strong); }
.ui-collection .ui-music-track { transition:background-color .2s; }
.ui-collection .ui-music-play-btn { min-width:44px; min-height:44px; }
@media(max-width:480px) { .ui-collection .ui-music-player { bottom:0; } }
@media(max-width:768px) {
  .ui-collection .ui-music-player { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'title title' 'seek seek' 'controls volume'; gap:.75rem; }
  .ui-collection .ui-music-player-track { grid-area:title; width:auto; }
  .ui-collection .ui-music-player-progress { grid-area:seek; width:auto; min-width:0; }
  .ui-collection .ui-music-player-controls { grid-area:controls; }
  .ui-collection .ui-music-player-volume { grid-area:volume; }
  .ui-collection .ui-music-player-btn { min-width:44px; min-height:44px; }
  .ui-collection .ui-music-seek { flex:1; width:0; }
}
@media(max-width:480px) {
  .ui-collection .ui-music-player { position:relative; grid-template-columns:minmax(0,1fr); grid-template-areas:'title' 'seek' 'controls' 'volume'; }
  .ui-collection .ui-music-player-controls,.ui-collection .ui-music-player-volume { justify-content:center; }
  .ui-collection .ui-music-player-volume-slider { width:100px; }
}
