/* المكتبة الصوتية */
.audio-hero { text-align:center; padding:2rem 1rem 1.6rem; background:linear-gradient(135deg,var(--primary-soft),var(--bg-soft)); border-bottom:1px solid var(--border); }
.audio-hero h1 { margin:.25rem 0; color:var(--primary-strong); font-size:clamp(2rem,5vw,3.2rem); }
.audio-hero > p:not(.audio-kicker) { margin:.2rem 0 .8rem; color:var(--muted); }
.audio-kicker { color:var(--gold); font-size:.86rem; font-weight:800; letter-spacing:.03em; }
.audio-stats { display:flex; justify-content:center; gap:.6rem; flex-wrap:wrap; color:var(--muted); font-size:.88rem; }
.audio-stats span { border:1px solid var(--border); border-radius:999px; padding:.25rem .7rem; background:var(--surface); }
.audio-main { width:min(1120px,94vw); margin:1.2rem auto 3rem; }
.audio-notice { display:flex; flex-wrap:wrap; gap:.35rem .55rem; padding:.85rem 1rem; border:1px solid var(--gold-line); border-radius:14px; background:var(--gold-soft); line-height:1.8; }
.audio-controls { margin:1rem 0 1.25rem; padding:1rem; background:var(--surface); border:1px solid var(--border); border-radius:16px; box-shadow:var(--shadow); }
.audio-search-wrap { display:block; font-weight:800; color:var(--primary-strong); margin-bottom:.35rem; }
#audio-search { width:100%; font:inherit; padding:.8rem 1rem; border:1px solid var(--border); border-radius:12px; background:var(--bg); color:var(--text); }
#audio-search:focus { outline:2px solid var(--primary); outline-offset:1px; }
.audio-tabs { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.85rem; }
.audio-tab { font:inherit; cursor:pointer; padding:.48rem 1rem; border:1px solid var(--border); border-radius:999px; background:var(--bg-soft); color:var(--text); }
.audio-tab.is-active { background:var(--primary); color:var(--on-primary); border-color:var(--primary); }
.audio-library-section,.audio-sources { margin-top:1.4rem; }
.audio-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.75rem; }
.audio-section-heading h2,.audio-sources h2 { color:var(--primary-strong); margin:0; }
.audio-section-heading p { color:var(--muted); margin:.2rem 0 0; font-size:.9rem; }
.audio-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:.75rem; }
.audio-card { background:var(--surface); border:1px solid var(--border); border-radius:15px; padding:.85rem; display:flex; flex-direction:column; gap:.55rem; min-height:155px; box-shadow:var(--shadow); }
.audio-card-top { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.audio-category { font-size:.78rem; color:var(--gold); font-weight:800; }
.audio-kind { font-size:.72rem; color:var(--muted); }
.audio-card h3 { margin:0; color:var(--primary-strong); font-size:1.04rem; line-height:1.55; }
.audio-artist { color:var(--muted); font-size:.9rem; }
.audio-card-actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:auto; }
.audio-action { display:inline-flex; justify-content:center; align-items:center; text-decoration:none; border:1px solid var(--border); border-radius:9px; padding:.4rem .8rem; color:var(--primary-strong); background:var(--bg-soft); font:inherit; font-size:.88rem; }
.audio-action.primary { background:var(--primary); border-color:var(--primary); color:var(--on-primary); }
.audio-player-section { margin:1.1rem 0; padding:1rem; border:1px solid var(--gold-line); border-radius:16px; background:var(--surface); box-shadow:var(--shadow); }
.audio-player-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.audio-player-heading h2 { margin:.1rem 0 .6rem; color:var(--primary-strong); }
.close-player { width:36px; height:36px; border:1px solid var(--border); border-radius:50%; background:var(--bg-soft); color:var(--text); cursor:pointer; }
.audio-player iframe { width:100%; aspect-ratio:16/9; border:0; border-radius:12px; background:#111; }
.player-privacy { color:var(--muted); font-size:.8rem; margin:.5rem 0 0; }
.source-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.7rem; margin-top:.7rem; }
.source-grid a { display:grid; gap:.25rem; padding:.8rem; text-decoration:none; border:1px solid var(--border); border-radius:12px; color:var(--text); background:var(--surface); }
.source-grid strong { color:var(--primary-strong); }
.source-grid span { color:var(--muted); font-size:.87rem; line-height:1.6; }
.audio-empty { grid-column:1/-1; color:var(--muted); text-align:center; padding:2rem; border:1px dashed var(--border); border-radius:12px; }
@media(max-width:560px){.audio-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.audio-tab{white-space:nowrap}.audio-hero{padding:1.5rem .6rem}}


.audio-extra-actions { display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; margin-top:.8rem; }
.audio-favorites-count { color:var(--muted); font-size:.88rem; }
.audio-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:.5rem; }
.audio-title-row h3 { margin:0; color:var(--primary-strong); font-size:1.04rem; line-height:1.55; }
.audio-favorite { flex:0 0 36px; width:36px; height:36px; border:1px solid var(--border); border-radius:50%; background:var(--bg-soft); color:var(--muted); font-size:1.35rem; cursor:pointer; }
.audio-favorite.is-favorite { color:#b43a54; border-color:#d68b9a; background:var(--gold-soft); }
.audio-download-note { margin:.8rem 0 0; color:var(--muted); font-size:.84rem; line-height:1.8; }
