/* ==========================================================================
   UECF.NET — The Imitation of Christ Audiobook
   Additive stylesheet. Reuses design tokens from ../css/style.css
   (--ink, --gold, --maroon, --card, --line, --font-display, --font-te, etc.)
   Loaded ONLY on audiobook.html — never touches the base book pages.
   ========================================================================== */

/* ---------- landing "audiobook" promo card (also embedded on index.html) --- */
.ab-promo{background:linear-gradient(135deg,var(--band) 0%,#1b2c4d 100%);color:var(--band-fg);
  border-radius:var(--radius);padding:clamp(18px,4vw,32px);box-shadow:var(--shadow);position:relative;overflow:hidden;}
.ab-promo::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(199,154,61,.06) 0 12px,transparent 12px 24px);pointer-events:none;}
.ab-promo h2{font-family:var(--font-display);margin:0 0 6px;font-size:clamp(1.2rem,3vw,1.6rem);}
.ab-promo p{margin:0 0 16px;color:#D7E0F2;max-width:60ch;}
.ab-lang-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.ab-lang-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;
  border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:.92rem;
  cursor:pointer;text-decoration:none;}
.ab-lang-btn:hover{border-color:var(--gold);background:rgba(255,255,255,.12);}
.ab-lang-btn[aria-pressed="true"]{background:var(--gold);color:#1b1305;border-color:var(--gold);font-weight:700;}
.ab-lang-btn .te{font-family:var(--font-te);}
.ab-promo-stats{display:flex;flex-wrap:wrap;gap:18px;font-size:.85rem;color:#C9D3E4;}
.ab-promo-stats b{color:#fff;}

/* ---------- page layout ---------- */
.ab-layout{display:grid;gap:24px;grid-template-columns:1fr;}
@media (min-width:960px){.ab-layout{grid-template-columns:340px 1fr;align-items:start;}}

/* ---------- language switcher (full control, top of page) ---------- */
.ab-lang-switch{display:flex;gap:8px;margin-bottom:18px;border:1px solid var(--line);border-radius:999px;
  padding:4px;background:var(--cream-dim);width:fit-content;}
.ab-lang-switch button{flex:1;border:0;background:transparent;padding:9px 20px;border-radius:999px;
  font:inherit;font-size:.92rem;cursor:pointer;color:var(--ink);white-space:nowrap;}
.ab-lang-switch button[aria-pressed="true"]{background:var(--gold);color:#1b1305;font-weight:700;}
.ab-lang-switch button .te{font-family:var(--font-te);}

/* ---------- continue listening banner ---------- */
.ab-continue{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;
  background:var(--cream-dim);border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:10px;padding:14px 18px;margin-bottom:18px;}
.ab-continue[hidden]{display:none;}
.ab-continue .info b{display:block;color:var(--ink);}
.ab-continue .info span{font-size:.85rem;color:var(--ink-soft);}
.ab-continue .actions{display:flex;gap:8px;flex-wrap:wrap;}

/* ---------- chapter list (sidebar) ---------- */
.ab-chapter-panel{position:sticky;top:74px;max-height:calc(100vh - 96px);overflow:auto;padding-right:4px;}
.ab-book-heading{font-family:var(--font-display);font-size:.95rem;margin:18px 0 8px;color:var(--maroon);}
.ab-book-heading:first-child{margin-top:0;}
.ab-chapter-list{list-style:none;margin:0 0 6px;padding:0;}
.ab-chapter-item{margin-bottom:6px;}
.ab-chapter-btn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);
  background:var(--card);border-radius:10px;padding:10px 12px;font:inherit;font-size:.88rem;color:var(--ink);cursor:pointer;}
.ab-chapter-btn:hover{border-color:var(--gold);}
.ab-chapter-btn[aria-current="true"]{background:var(--gold-soft);border-color:var(--gold);font-weight:700;}
.ab-chapter-btn .n{display:inline-flex;align-items:center;justify-content:center;min-width:1.9em;height:1.9em;
  border-radius:50%;background:var(--cream-dim);color:var(--ink);font-size:.78em;font-weight:700;flex:none;}
.ab-chapter-btn[aria-current="true"] .n{background:var(--ink);color:#fff;}
.ab-chapter-btn .ttl{flex:1;line-height:1.3;}
.ab-chapter-btn .ttl.te{font-family:var(--font-te);}
.ab-chapter-btn .playing-badge{font-size:.72rem;color:var(--maroon);flex:none;}
@media (max-width:959px){.ab-chapter-panel{position:static;max-height:none;}}

/* ---------- player card ---------- */
.ab-player-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:clamp(16px,3vw,26px);}
.ab-now-playing{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.ab-now-playing h2{font-family:var(--font-display);margin:0 0 4px;font-size:clamp(1.1rem,2.6vw,1.5rem);}
.ab-now-playing h2.te{font-family:var(--font-te);}
.ab-now-playing .sub{font-size:.85rem;color:var(--ink-soft);}

.ab-controls{display:flex;flex-direction:column;gap:14px;}
.ab-seek-row{display:flex;align-items:center;gap:10px;}
.ab-time{font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--ink-soft);min-width:3.4em;text-align:center;}
.ab-seek{flex:1;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:var(--line);cursor:pointer;}
.ab-seek::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold);
  border:2px solid var(--card);box-shadow:0 0 0 1px var(--gold);cursor:pointer;}
.ab-seek::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid var(--card);cursor:pointer;}

.ab-btn-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
.ab-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--cream-dim);
  color:var(--ink);border-radius:999px;padding:11px 18px;font:inherit;font-size:.88rem;cursor:pointer;min-height:44px;}
.ab-btn:hover{border-color:var(--gold);}
.ab-btn.primary{background:var(--gold);border-color:var(--gold);color:#1b1305;font-weight:700;padding:13px 26px;}
.ab-btn.primary:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.ab-btn.icon-only{padding:11px;min-width:44px;justify-content:center;}

.ab-secondary-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  border-top:1px solid var(--line);padding-top:14px;}
.ab-field{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--ink-soft);}
.ab-field select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);}
.ab-volume{width:90px;}

.ab-progress-line{font-size:.8rem;color:var(--ink-soft);text-align:right;margin-top:-4px;}

/* ---------- transcript ---------- */
.ab-transcript-toggle{margin:18px 0 10px;}
.ab-transcript{margin-top:10px;max-height:52vh;overflow:auto;border-top:1px solid var(--line);padding-top:14px;}
.ab-transcript[hidden]{display:none;}
.ab-transcript p{font-family:var(--font-te);line-height:2;margin:0 0 1.1em;padding:6px 10px;border-radius:8px;
  transition:background-color .25s ease;scroll-margin-top:100px;}
.ab-transcript.lang-en p{font-family:var(--font-body);line-height:1.75;}
.ab-transcript p.ab-active{background:var(--gold-soft);}

/* ---------- downloads ---------- */
.ab-downloads{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}

/* ---------- sticky mobile mini player ---------- */
.ab-mini{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--band);color:var(--band-fg);
  box-shadow:0 -4px 16px rgba(0,0,0,.25);padding:10px clamp(12px,4vw,24px);display:none;align-items:center;gap:12px;}
.ab-mini.show{display:flex;}
.ab-mini .info{flex:1;min-width:0;}
.ab-mini .info b{display:block;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ab-mini .info span{font-size:.74rem;color:var(--gold-soft);}
.ab-mini button{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:8px;
  padding:9px 12px;font:inherit;font-size:.82rem;cursor:pointer;min-height:40px;}
.ab-mini button:hover{border-color:var(--gold);}
.ab-mini .close{border:0;padding:9px 8px;}
@media (min-width:960px){.ab-mini{display:none!important;}}

/* skip link target padding so sticky mini player never covers content permanently */
body.ab-has-mini{padding-bottom:64px;}
@media (min-width:960px){body.ab-has-mini{padding-bottom:0;}}

.ab-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

@media print{ .ab-mini,.ab-chapter-panel,.ab-lang-switch{display:none!important;} }
