/*
Theme Name: TT4 Audiobook Child
Description: Audible-style Twenty Twenty-Four child theme for audiobooks with Spreaker/RSS importer.
Author: Custom
Template: twentytwentyfour
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: tt4-audiobook-child
*/
:root{--ab-bg:#111315;--ab-panel:#191c20;--ab-text:#f7f3ea;--ab-muted:#b9b1a6;--ab-gold:#f2b84b;--ab-line:rgba(255,255,255,.11);--ab-radius:18px;--ab-shadow:0 22px 55px rgba(0,0,0,.32)}
body.post-type-archive-audiobook,body.single-audiobook{background:var(--ab-bg);color:var(--ab-text)}
body.post-type-archive-audiobook .wp-site-blocks,body.single-audiobook .wp-site-blocks{background:radial-gradient(circle at 15% 0%,rgba(242,184,75,.16),transparent 32%),var(--ab-bg)}
.ab-hero{border-radius:30px;padding:clamp(2rem,5vw,5rem);background:linear-gradient(135deg,#252018,#121416 58%,#0b0c0e);color:var(--ab-text);box-shadow:var(--ab-shadow);border:1px solid var(--ab-line)}
.ab-hero h1{font-size:clamp(2.5rem,6vw,5.8rem);line-height:.95;margin:0 0 1rem;letter-spacing:-.06em}.ab-hero p{color:var(--ab-muted);font-size:1.15rem;max-width:650px}.ab-section-head{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 1rem}.ab-section-head h2{margin:0}.ab-section-head a{color:var(--ab-gold);text-decoration:none}
.ab-search{display:flex;gap:.75rem;margin:1.5rem 0 2rem}.ab-search input{flex:1;border:1px solid var(--ab-line);border-radius:999px;background:#0d0f11;color:var(--ab-text);padding:1rem 1.2rem}.ab-search button{border:0;border-radius:999px;background:var(--ab-gold);color:#111;padding:0 1.4rem;font-weight:800}
.ab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:clamp(1rem,2vw,1.6rem)}.ab-card{background:transparent;border:0;transition:transform .18s ease}.ab-card:hover{transform:translateY(-5px)}.ab-card-link{text-decoration:none!important;color:inherit!important}.ab-cover-frame{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#23262b;box-shadow:0 14px 34px rgba(0,0,0,.35)}.ab-card-cover{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.ab-card:hover .ab-card-cover{transform:scale(1.035)}.ab-play-dot{position:absolute;right:.75rem;bottom:.75rem;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ab-gold);color:#111;font-size:.9rem;box-shadow:0 10px 28px rgba(0,0,0,.35)}.ab-card-body{padding:.85rem .15rem 0}.ab-card-title{font-size:1rem;line-height:1.18;margin:0 0 .35rem;font-weight:800;letter-spacing:-.02em}.ab-card-meta,.ab-card-genre{font-size:.84rem;color:var(--ab-muted);line-height:1.35}.ab-card-genre a{color:var(--ab-gold);text-decoration:none}
.ab-single-hero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(240px,370px) 1fr;gap:clamp(2rem,5vw,5rem);align-items:start;padding:clamp(1rem,3vw,3rem)}.ab-cover-wrap img{width:100%;border-radius:22px;box-shadow:var(--ab-shadow)}.ab-book-info h1{font-size:clamp(2.4rem,5.7vw,5.7rem);line-height:.93;margin:.25rem 0 1rem;letter-spacing:-.065em}.ab-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--ab-gold);font-weight:800;font-size:.75rem}.ab-meta,.ab-tax-list{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.ab-pill,.ab-tax-list a{display:inline-flex;align-items:center;border-radius:999px;padding:.48rem .82rem;background:rgba(255,255,255,.08);color:var(--ab-text);text-decoration:none;font-size:.88rem}.ab-description{max-width:720px;color:#ddd6ca;font-size:1.08rem;line-height:1.75}.ab-player{margin-top:1.5rem;border-radius:18px;overflow:hidden;background:#050607;border:1px solid var(--ab-line);box-shadow:0 15px 35px rgba(0,0,0,.28)}.ab-chapters{max-width:1180px;margin:2rem auto;padding:1.5rem;border-radius:22px;background:var(--ab-panel);border:1px solid var(--ab-line)}.ab-chapters h2{margin-top:0}.ab-chapters li{padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.ab-chapters li:last-child{border-bottom:0}
@media(max-width:780px){.ab-single-hero{grid-template-columns:1fr}.ab-cover-wrap{max-width:340px}.ab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-search{flex-direction:column}.ab-search button{padding:1rem}}
