/* Layout only. Colors follow the Site's book-cover theme variables. */
.public-recording-filters { display:grid; grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) minmax(170px,1fr); gap:16px; align-items:end; }
.public-recording-filters label { display:block; margin-bottom:8px; }
.public-recording-filters input,.public-recording-filters select { width:100%; min-width:0; }
.public-recording-filters > .button-row { grid-column:1/-1; }
.public-recording-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.public-recording-card { min-width:0; margin:0; overflow-wrap:anywhere; }
.public-recording-card h3,.public-recording-card h4 { margin:0 0 12px; }
.public-recording-card .source-links { margin-top:16px; }
.public-recording-card details { margin-top:14px; }
.public-recording-card details > a { display:inline-block; margin:0 0 12px; }
.public-recording-player audio { display:block; width:100%; max-width:100%; margin:16px 0; }
.public-recording-player .button-row { margin:12px 0; }
.public-audio-status:empty { display:none; }
.public-catalog-recordings,.public-transcript-recording { margin-top:24px; }
.public-catalog-recordings .public-recording-card { margin-top:16px; padding:20px; }
.public-transcript-recording { padding-top:8px; }
.public-recording-pagination { justify-content:center; align-items:center; margin-top:24px; }
.public-recording-pagination[hidden],.public-transcript-recording[hidden],.public-catalog-recordings[hidden] { display:none; }
@media(max-width:1100px) { .public-recording-grid { grid-template-columns:1fr; } .public-recording-filters { grid-template-columns:1fr 1fr; } .public-recording-filters > div:first-child { grid-column:1/-1; } }
@media(max-width:600px) { .public-recording-filters { grid-template-columns:1fr; } .public-recording-filters > div { grid-column:1; } .public-recording-pagination { gap:12px; flex-wrap:wrap; } }
.public-recording-listening-actions { margin-top:20px; }
.public-recording-listening-actions #public-recording-continue { max-width:100%; overflow-wrap:anywhere; }
.public-listening-bar { position:fixed; z-index:80; bottom:0; left:0; right:0; display:grid; grid-template-columns:minmax(210px,1.2fr) minmax(240px,1fr) minmax(270px,1.4fr); gap:12px 20px; padding:16px 24px; background:var(--paper,#fffef8); border-top:3px solid var(--purple,#663479); box-shadow:0 -5px 24px rgb(62 62 98 / 14%); max-height:75vh; overflow:auto; }
.public-listening-bar[hidden] { display:none; }
.public-listening-info { min-width:0; }
.public-listening-info > a:first-child { display:block; font-weight:700; overflow-wrap:anywhere; }
.public-listening-copy,.public-listening-info p { margin:5px 0; overflow-wrap:anywhere; }
.public-listening-bar audio { width:100%; margin:0; align-self:center; min-width:0; }
.public-listening-controls { margin:0!important; align-items:center; gap:8px; }
.public-listening-controls button { padding:8px 10px; min-height:40px; }
.public-listening-rate { display:flex; align-items:center; gap:6px; }
.public-listening-rate label { margin:0; }
.public-listening-rate select { width:76px; padding:8px; }
.public-listening-bar > .public-audio-status { margin:0; grid-column:1/-1; }
.public-listening-queue-details { grid-column:1/-1; margin:0; }
.public-listening-queue-details summary { cursor:pointer; }
.public-listening-queue-details label { display:block; margin-top:12px; }
.public-listening-queue-details select { max-width:100%; width:min(780px,100%); margin:8px 12px 8px 0; }
body.has-public-listening { padding-bottom:220px; }
@media(max-width:1100px) { .public-listening-bar { grid-template-columns:1fr 1fr; } .public-listening-controls { grid-column:1/-1; } body.has-public-listening { padding-bottom:265px; } }
@media(max-width:600px) { .public-listening-bar { grid-template-columns:minmax(0,1fr); gap:8px; padding:12px 16px; } .public-listening-info > a:first-child { line-height:1.3; } .public-listening-info p { font-size:11px; } .public-listening-controls { flex-wrap:wrap; gap:6px; } .public-listening-controls button { min-height:36px; } body.has-public-listening { padding-bottom:335px; } }
