.afl-sermons{--afl-blue:#3f6fa7;--afl-blue-dark:#305d91;--afl-gold:#9f814d;--afl-ink:#2f2f2f;--afl-muted:#656b73;--afl-line:#e7e2d8;color:var(--afl-ink);font-family:Montserrat,Arial,sans-serif;max-width:1080px;margin:0 auto;padding:24px 20px;line-height:1.6}
.afl-sermons *{box-sizing:border-box}.afl-sermons [hidden]{display:none!important}.afl-sermons button,.afl-sermons input,.afl-sermons select{font:inherit;max-width:100%;box-shadow:none}.afl-sermons button,.afl-sermons select,.afl-sermons input[type=range]{cursor:pointer}.afl-sermons button{min-height:44px;border:1px solid var(--afl-line);border-radius:7px;background:#fff;color:var(--afl-blue-dark);padding:8px 12px;line-height:1.3;text-transform:none;letter-spacing:normal}.afl-sermons button:hover{background:#edf3fa;border-color:var(--afl-blue)}.afl-sermons a{color:var(--afl-blue-dark);text-decoration:none}.afl-sermons a:hover{text-decoration:underline}.afl-sermons :is(a,button,input,select):focus-visible{outline:3px solid var(--afl-blue);outline-offset:3px}
.afl-library-header{text-align:center;margin:0 auto 32px;max-width:660px}.afl-sermons .afl-eyebrow{color:var(--afl-gold);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px}.afl-sermons .afl-library-header h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(36px,5vw,56px);line-height:1.1;color:var(--afl-blue);margin:0 0 16px}.afl-library-header h2:after{content:"";display:block;width:74px;height:2px;background:#b69862;margin:16px auto 0}.afl-library-header>p:last-child{font-size:15px;color:var(--afl-muted)}
.afl-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;background:#f7f5f0;border:1px solid var(--afl-line);border-radius:10px;padding:20px}.afl-filters label{flex:1 1 120px;display:grid;gap:6px;font-size:12px;font-weight:600}.afl-filters .afl-search-label{flex:2 1 220px}.afl-filters input,.afl-filters select{height:44px;width:100%;border:1px solid #ccc8bf;background:#fff;color:var(--afl-ink);border-radius:6px;padding:8px 10px;font-size:13px}.afl-filters button,.afl-sermons .afl-play{background:var(--afl-blue);color:white;border-color:var(--afl-blue)}.afl-filters button:hover,.afl-sermons .afl-play:hover{background:var(--afl-blue-dark);color:white}.afl-results{display:flex;justify-content:space-between;align-items:center;margin:10px 0 6px;font-size:12px;color:var(--afl-muted)}.afl-results p{margin:0}
.afl-sermon-list{display:grid;gap:12px}.afl-sermon{border:1px solid var(--afl-line);border-radius:12px;background:#fff;padding:18px;container-type:inline-size;container-name:afl-card;box-shadow:0 4px 18px #2f2f2f05;overflow:hidden}.afl-sermon.is-playing{border-color:#a3b9d3;box-shadow:0 5px 22px #3f6fa712}.afl-sermon-heading{display:flex;gap:12px;align-items:center}.afl-art{width:64px;height:64px;flex-shrink:0;border-radius:7px;object-fit:cover}.afl-sermon-copy{min-width:0}.afl-sermons .afl-sermon h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;font-weight:400;line-height:1.2;margin:0 0 5px;overflow-wrap:anywhere}.afl-meta{color:var(--afl-muted);font-size:12px;margin:0 0 4px}.afl-scripture{color:var(--afl-blue-dark);font-size:13px;margin:0}.afl-summary{font-size:14px;color:var(--afl-muted);margin:10px 0}.afl-sermon audio[controls]{display:block;width:100%;margin:20px 0}.afl-timeline{display:flex;align-items:center;gap:12px;margin:10px 0 6px;font-size:12px;color:var(--afl-muted);font-variant-numeric:tabular-nums}.afl-sermons input[type=range]{appearance:auto;height:24px;padding:0;border:0;accent-color:var(--afl-blue);background:transparent;min-width:0}.afl-seek{flex:1;width:100%}.afl-transport{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.afl-play{min-width:100px;font-weight:600}.afl-speed-label{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--afl-muted)}.afl-speed{height:44px;border:1px solid var(--afl-line);border-radius:6px;background:#fff;color:var(--afl-ink);padding:6px}.afl-volume-group{display:flex;align-items:center;gap:6px}.afl-volume{width:72px}.afl-status{font-size:12px;color:var(--afl-muted);margin:10px 0 0}.afl-status:empty{display:none}.afl-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;border-top:1px solid var(--afl-line);padding-top:6px;margin-top:10px;font-size:12px;font-weight:600}.afl-links a{min-height:36px;display:inline-flex;align-items:center;gap:7px}.afl-links .afl-share{font-size:12px;min-height:36px;margin-left:auto;padding:4px 9px}.afl-coming{color:var(--afl-muted);font-style:italic}.afl-empty{text-align:center;background:#f7f5f0;padding:36px;border-radius:10px}.afl-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:0;margin:28px 0}.afl-pagination .page-numbers:not(ul){display:block;min-width:44px;padding:8px 12px;text-align:center;border:1px solid var(--afl-line);border-radius:6px}.afl-pagination .current{background:var(--afl-blue);color:#fff}
@media(max-width:600px){.afl-sermons{padding:18px 12px}.afl-sermon{padding:14px 12px}.afl-filters{padding:16px}.afl-filters .afl-search-label{flex-basis:100%}.afl-filters button{width:100%}.afl-art{width:52px;height:52px}.afl-sermons .afl-sermon h3{font-size:23px}.afl-speed-label{margin-left:0}.afl-volume-group{margin-left:auto}.afl-links{gap:6px 16px}}
@media(prefers-reduced-motion:no-preference){.afl-sermons button{transition:background .15s,border-color .15s}}

.afl-sermons button:disabled{opacity:.4;cursor:default}

/* Consistent vector seek controls, with generous touch targets. */
.afl-sermons .afl-back,
.afl-sermons .afl-forward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 7px;
  border-color: transparent;
  border-radius: 50%;
  background: transparent;
}
.afl-sermons .afl-back:hover,
.afl-sermons .afl-forward:hover {
  background: #edf3fa;
  border-color: transparent;
}
.afl-sermons .afl-skip-icon {
  display: block;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  pointer-events: none;
}

.afl-sermons .afl-sermon h3 { color: var(--afl-blue-dark); }
.afl-notes { flex: 0 0 auto; min-width: 0; }
.afl-notes[open] { flex-basis: 100%; }
.afl-notes > summary {
  display: flex; align-items: center; gap: 8px; width: fit-content;
  min-height: 44px; padding: 6px 0; color: var(--afl-blue-dark);
  font-weight: 600; cursor: pointer; list-style: none;
}
.afl-notes > summary::-webkit-details-marker { display: none; }
.afl-notes > summary:focus-visible { outline: 3px solid var(--afl-blue); outline-offset: 3px; border-radius: 3px; }
.afl-notes > summary:hover { text-decoration: underline; }
.afl-notes[open] > summary svg { transform: rotate(180deg); }
.afl-notes-content {
  margin: 6px 0 10px; padding: 18px 20px; background: #f7f5f0;
  border: 1px solid var(--afl-line); border-radius: 8px;
  color: var(--afl-ink); font-size: 14px; font-weight: 400;
  line-height: 1.75; overflow-wrap: anywhere; overflow-x: auto;
}
.afl-notes-content > :first-child { margin-top: 0; }
.afl-notes-content > :last-child { margin-bottom: 0; }
.afl-notes-content img { max-width: 100%; height: auto; }

/* Compact cards retain accessible tap targets and readable controls. */
.afl-sermon .afl-eyebrow { margin-bottom: 4px; }
.afl-meta, .afl-scripture, .afl-summary { overflow-wrap: anywhere; }
.afl-sermons .afl-transport button { min-width: 44px; }
.afl-sermons .afl-links > a, .afl-sermons .afl-links .afl-share { min-height: 44px; }
.afl-sermons .afl-seek, .afl-sermons .afl-volume { min-height: 44px; }
.afl-timeline { gap: 8px; }
.afl-elapsed, .afl-duration { flex-shrink: 0; }
.afl-notes-content { padding: 14px 16px; }
@media (max-width: 600px) {
  .afl-filters { gap: 10px; padding: 12px; }
  .afl-filters label { min-width: 0; flex-basis: calc(50% - 5px); }
  .afl-filters input, .afl-filters select, .afl-speed { font-size: 16px; }
}

/* Use vector controls rather than platform-dependent text glyphs. */
.afl-sermons .afl-play {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  appearance: none; background-image: none; line-height: 1;
}
.afl-sermons .afl-play svg {
  display: block; flex: 0 0 20px; width: 20px; height: 20px;
  margin: 0; padding: 0; border: 0; background: none; box-shadow: none;
}
.afl-sermons .afl-play::before, .afl-sermons .afl-play::after { content: none; }
.afl-sermons .afl-play .afl-pause-icon { display: none; }
.afl-sermons .is-playing .afl-play .afl-play-icon { display: none; }
.afl-sermons .is-playing .afl-play .afl-pause-icon { display: block; }
@media (max-width: 600px) {
  .afl-sermons { padding: 12px 6px; }
  .afl-sermon { padding: 12px; border-radius: 9px; }
  .afl-sermon-list { gap: 10px; }
  .afl-library-header { margin-bottom: 20px; }
  .afl-results { margin: 12px 0 8px; }
}
/* Compact controls flow naturally instead of stretching across equal-width columns. */
@container afl-card (max-width: 640px) {
  .afl-sermon-heading { gap: 10px; }
  .afl-sermon .afl-summary { margin: 6px 0; font-size: 13px; line-height: 1.5; }
  .afl-timeline { margin: 2px 0; gap: 6px; }
  .afl-transport { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
  .afl-sermons .afl-play {
    flex: 0 0 46px; min-width: 46px; width: 46px; height: 46px;
    min-height: 46px; padding: 0; border-radius: 7px;
    border: 0; color: #fff; background: var(--afl-blue);
  }
  .afl-sermons .afl-play:hover { background: var(--afl-blue-dark); }
  .afl-play .afl-play-label { display: none; }
  .afl-sermons .afl-play svg { width: 22px; height: 22px; flex-basis: 22px; }
  .afl-sermons .afl-restart {
    flex: 0 0 44px; width: 44px; padding: 0; border: 0;
    border-radius: 50%; background: transparent; font-size: 22px;
  }
  .afl-sermons .afl-restart:hover { background: #edf3fa; }
  .afl-speed-label { margin-left: auto; gap: 4px; font-size: 11px; }
  .afl-speed { min-width: 0; width: 68px; padding: 4px; font-size: 16px; }
  .afl-volume-group { flex: 0 1 140px; min-width: 0; margin-left: auto; gap: 4px; }
  .afl-volume { flex: 1; width: 60px; }
  .afl-sermons .afl-mute { font-size: 12px; padding: 4px 6px; border-color: transparent; }
  .afl-links { gap: 0 12px; margin-top: 4px; padding-top: 2px; }
  .afl-notes-content { padding: 12px; margin: 2px 0 6px; }
}

/* Phones use their device volume controls. */
@media (max-width: 600px) {
  .afl-sermons .afl-volume-group { display: none; }
}
