/* ============================================================
   library-v10.css — Refonte Bibliothèque (k10)
   Beige / doré / crème, cohérent avec home-v10 / quran-v10.
   Cohabite avec /web/assets/css/style.css (legacy) ; surcharges minimales.
   ============================================================ */

:root {
    --k10-cream:    #faf6ec;
    --k10-cream-2:  #f3ecd8;
    --k10-gold:     #c9a24a;
    --k10-gold-d:   #9c7a2c;
    --k10-gold-l:   #e6cf8a;
    --k10-brown:    #4a3a1f;
    --k10-brown-2:  #6b5530;
    --k10-ink:      #2a2418;
    --k10-muted:    #7a6a4f;
    --k10-line:     rgba(156, 122, 44, 0.18);
    --k10-line-2:   rgba(156, 122, 44, 0.32);
    --k10-bg:       #fbf7ed;
    --k10-card:     #ffffff;

    --k10-radius:    18px;
    --k10-radius-l:  26px;
    --k10-shadow:    0 4px 24px rgba(70, 50, 15, 0.06), 0 1px 2px rgba(70, 50, 15, 0.04);
    --k10-shadow-lg: 0 10px 40px rgba(70, 50, 15, 0.10);
    --k10-trans:     220ms cubic-bezier(.2, .7, .3, 1);
}

/* ============== BASE ============== */
.library-v10 {
    background: var(--k10-bg);
    color: var(--k10-ink);
    line-height: 1.55;
    padding-bottom: 100px;
}
.library-v10 * { box-sizing: border-box; }

.k10-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.k10-section { padding: 30px 0; }

.k10-section-head { margin-bottom: 18px; display: flex; flex-direction: column; gap: 4px; }
.k10-section-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(22px, 3.3vw, 32px);
    color: var(--k10-brown);
    margin: 0;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}
.k10-section-title .material-icons-round { color: var(--k10-gold-d); font-size: 24px; }
.k10-section-sub {
    color: var(--k10-muted);
    margin: 0;
    font-size: 14px;
}

.k10-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
    color: var(--k10-gold-d);
    font-weight: 700;
    display: inline-block;
}

/* ============== 1. HERO ============== */
.k10-hero {
    position: relative;
    overflow: hidden;
    padding: 56px 0 44px;
    background:
        radial-gradient(1100px 480px at 50% -120px, rgba(201, 162, 74, 0.18), transparent 70%),
        linear-gradient(180deg, var(--k10-cream) 0%, var(--k10-cream-2) 100%);
    border-bottom: 1px solid var(--k10-line);
}
.k10-hero[data-period="night"] {
    background:
        radial-gradient(1100px 480px at 50% -120px, rgba(201, 162, 74, 0.22), transparent 70%),
        linear-gradient(180deg, #f3ead2 0%, #e9dfbe 100%);
}

.k10-hero-halo,
.k10-hero-glow {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.55;
}
.k10-hero-halo { width: 460px; height: 460px;
    background: radial-gradient(circle, rgba(230, 207, 138, 0.55), transparent 70%);
    top: -130px; left: -120px;
}
.k10-hero-glow { width: 380px; height: 380px;
    background: radial-gradient(circle, rgba(201, 162, 74, 0.35), transparent 70%);
    bottom: -130px; right: -100px;
}

.k10-hero-inner { position: relative; text-align: center; }

.k10-hero-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-weight: 600;
    color: var(--k10-brown);
    margin: 12px 0 8px;
    line-height: 1.15;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
}
.k10-hero-title-ar {
    font-family: 'Amiri Quran', 'Scheherazade New', serif;
    font-size: clamp(22px, 3.5vw, 30px);
    color: var(--k10-gold-d);
    opacity: 0.85;
}
.k10-hero-title-main {
    font-size: clamp(32px, 5.5vw, 48px);
    letter-spacing: -0.01em;
}

.k10-hero-sub {
    font-size: clamp(15px, 2vw, 17px);
    color: var(--k10-brown-2);
    margin: 0 auto 6px;
    max-width: 640px;
}
.k10-hero-msg {
    font-style: italic;
    color: var(--k10-gold-d);
    margin: 0 auto 18px;
    font-size: 14px;
}

.k10-hero-stats {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
    padding: 8px 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid var(--k10-line);
    margin-bottom: 18px;
    justify-content: center;
}
.k10-hero-stat { font-size: 13px; color: var(--k10-brown-2); }
.k10-hero-stat strong {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--k10-brown);
    margin-right: 2px;
}
.k10-hero-stat-sep { color: var(--k10-gold); font-weight: 700; }

.k10-hero-suggest {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--k10-gold) 0%, var(--k10-gold-d) 100%);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 8px 22px rgba(156, 122, 44, 0.28);
    transition: transform var(--k10-trans), box-shadow var(--k10-trans);
    margin-bottom: 18px;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
}
.k10-hero-suggest:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(156, 122, 44, 0.36); }
.k10-hero-suggest-icon { font-size: 18px; }
.k10-hero-suggest-label { font-weight: 500; opacity: 0.92; font-size: 13px; }
.k10-hero-suggest-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    font-weight: 700;
}

.k10-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 8px;
}
.k10-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    transition: transform var(--k10-trans), box-shadow var(--k10-trans);
}
.k10-btn .material-icons-round { font-size: 18px; }
.k10-btn-primary {
    background: linear-gradient(135deg, var(--k10-gold) 0%, var(--k10-gold-d) 100%);
    color: #fff;
    box-shadow: 0 6px 16px rgba(156, 122, 44, 0.25);
}
.k10-btn-primary:hover { transform: translateY(-2px); }
.k10-btn-secondary {
    background: rgba(255, 255, 255, 0.7);
    color: var(--k10-brown);
    border: 1px solid var(--k10-line-2);
}
.k10-btn-secondary:hover { background: #fff; transform: translateY(-2px); }

/* ============== 2. SEARCH ============== */
.k10-search-section { padding-top: 32px; }

.k10-search-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}
.k10-ai-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(201, 162, 74, 0.12);
    color: var(--k10-gold-d);
    border: 1px solid var(--k10-line);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}
.k10-ai-pill:hover { background: rgba(201, 162, 74, 0.2); }
.k10-ai-pill .material-icons-round { font-size: 16px; }

.k10-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--k10-card);
    border: 1px solid var(--k10-line);
    border-radius: 999px;
    padding: 6px 8px 6px 16px;
    box-shadow: var(--k10-shadow);
    transition: box-shadow var(--k10-trans), border-color var(--k10-trans);
}
.k10-search-wrap:focus-within {
    border-color: var(--k10-gold);
    box-shadow: 0 0 0 4px rgba(201, 162, 74, 0.14), var(--k10-shadow);
}
.k10-search-icon { color: var(--k10-gold-d); font-size: 22px; flex-shrink: 0; }
.k10-search-input {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 15px;
    color: var(--k10-ink);
    padding: 12px 4px;
    min-width: 0;
}
.k10-search-input::placeholder { color: var(--k10-muted); }

.k10-ai-btn,
.k10-explore-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    flex-shrink: 0;
    transition: transform var(--k10-trans);
}
.k10-ai-btn {
    background: linear-gradient(135deg, var(--k10-gold) 0%, var(--k10-gold-d) 100%);
    color: #fff;
    box-shadow: 0 4px 12px rgba(156, 122, 44, 0.25);
}
.k10-ai-btn:hover { transform: translateY(-1px); }
.k10-ai-btn .material-icons-round { font-size: 16px; }

.k10-explore-btn {
    background: transparent;
    color: var(--k10-brown);
    border: 1px solid var(--k10-line);
}
.k10-explore-btn:hover { background: rgba(201, 162, 74, 0.08); }
.k10-explore-btn .material-icons-round { font-size: 16px; }

.k10-search-hints {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.k10-hint-chip {
    background: rgba(255, 255, 255, 0.6);
    border: 1px dashed var(--k10-line-2);
    color: var(--k10-brown-2);
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    text-decoration: none;
    transition: background var(--k10-trans), border-color var(--k10-trans);
}
.k10-hint-chip:hover { background: rgba(201, 162, 74, 0.12); border-color: var(--k10-gold); }

/* ============== 3. STATS ============== */
.k10-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}
.k10-stat-card {
    background: var(--k10-card);
    border: 1px solid var(--k10-line);
    border-radius: var(--k10-radius);
    padding: 18px 16px;
    text-align: center;
    box-shadow: var(--k10-shadow);
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    transition: transform var(--k10-trans), box-shadow var(--k10-trans);
}
.k10-stat-card:hover { transform: translateY(-2px); box-shadow: var(--k10-shadow-lg); }
.k10-stat-icon { color: var(--k10-gold-d); font-size: 22px; margin-bottom: 4px; }
.k10-stat-num {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 700;
    color: var(--k10-brown);
    line-height: 1.1;
}
.k10-stat-label {
    font-size: 12px;
    color: var(--k10-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.k10-stat-user { background: linear-gradient(180deg, #fff 0%, #fcf6e2 100%); }

/* ============== 4. RESUME (continue reading) ============== */
.k10-resume-section #kutub-continue {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

/* ============== 5. ESSENTIAL ============== */
.k10-essential-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.k10-essential-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 22px 20px 20px;
    background:
        radial-gradient(400px 160px at 0% 0%, rgba(230, 207, 138, 0.35), transparent 70%),
        linear-gradient(180deg, #fff 0%, #fcf6e2 100%);
    border: 1px solid var(--k10-line-2);
    border-radius: var(--k10-radius-l);
    box-shadow: var(--k10-shadow);
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    transition: transform var(--k10-trans), box-shadow var(--k10-trans);
}
.k10-essential-card:hover { transform: translateY(-4px); box-shadow: var(--k10-shadow-lg); }
.k10-essential-badge {
    align-self: flex-start;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--k10-gold-d);
    background: rgba(201, 162, 74, 0.15);
    padding: 4px 10px;
    border-radius: 999px;
}
.k10-essential-glyph {
    position: absolute;
    top: 12px; right: 14px;
    font-size: 56px;
    color: var(--k10-gold-l);
    opacity: 0.4;
    line-height: 1;
    pointer-events: none;
}
.k10-essential-titles { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; }
.k10-essential-name-ar {
    font-family: 'Amiri Quran', 'Scheherazade New', serif;
    font-size: 22px;
    color: var(--k10-gold-d);
}
.k10-essential-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--k10-brown);
}
.k10-essential-author { font-size: 12.5px; color: var(--k10-muted); margin: 0; font-style: italic; }
.k10-essential-desc { font-size: 13px; color: var(--k10-brown-2); margin: 4px 0 0; line-height: 1.5; }
.k10-essential-stats {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 8px;
    font-size: 12px;
    color: var(--k10-muted);
    border-top: 1px dashed var(--k10-line);
}
.k10-essential-stats strong { color: var(--k10-brown); font-weight: 700; }
.k10-meta-dot { color: var(--k10-line-2); }
.k10-essential-arrow {
    align-self: flex-end;
    color: var(--k10-gold-d);
    transition: transform var(--k10-trans);
}
.k10-essential-card:hover .k10-essential-arrow { transform: translateX(4px); }

.k10-essential-progress { margin-top: 8px; }
.k10-progress-track {
    height: 4px;
    border-radius: 4px;
    background: rgba(156, 122, 44, 0.12);
    overflow: hidden;
}
.k10-progress-fill {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--k10-gold-l) 0%, var(--k10-gold) 100%);
    transition: width 600ms ease;
}
.k10-progress-label {
    font-size: 11px;
    color: var(--k10-gold-d);
    font-weight: 700;
    margin-top: 4px;
    display: inline-block;
}

/* ============== 6. CATEGORIES ============== */
.k10-cats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
}
.k10-cat-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 16px;
    background: var(--k10-card);
    border: 1px solid var(--k10-line);
    border-radius: var(--k10-radius);
    box-shadow: var(--k10-shadow);
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    color: inherit;
    transition: transform var(--k10-trans), box-shadow var(--k10-trans), border-color var(--k10-trans);
}
.k10-cat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--k10-shadow-lg);
    border-color: var(--k10-gold-l);
}
.k10-cat-icon {
    width: 36px; height: 36px;
    border-radius: 10px;
    background: rgba(201, 162, 74, 0.14);
    color: var(--k10-gold-d);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
}
.k10-cat-name {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 18px;
    font-weight: 600;
    color: var(--k10-brown);
}
.k10-cat-ar {
    font-family: 'Amiri Quran', 'Scheherazade New', serif;
    font-size: 14px;
    color: var(--k10-gold-d);
}
.k10-cat-meta {
    font-size: 11.5px;
    color: var(--k10-muted);
    margin-top: 6px;
}

/* ============== 7. GUIDED PATHS ============== */
.k10-guided-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}
.k10-guided-card {
    background: var(--k10-card);
    border: 1px solid var(--k10-line);
    border-radius: var(--k10-radius-l);
    padding: 22px;
    box-shadow: var(--k10-shadow);
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform var(--k10-trans), box-shadow var(--k10-trans);
}
.k10-guided-card:hover { transform: translateY(-3px); box-shadow: var(--k10-shadow-lg); }
.k10-guided-head { display: flex; align-items: center; gap: 10px; }
.k10-guided-icon {
    width: 42px; height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--k10-gold-l) 0%, var(--k10-gold) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.k10-guided-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--k10-brown);
    margin: 0;
}
.k10-guided-desc { color: var(--k10-brown-2); font-size: 14px; margin: 0; line-height: 1.5; }
.k10-guided-books {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.k10-guided-book {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid var(--k10-line);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: background var(--k10-trans), border-color var(--k10-trans);
}
.k10-guided-book:hover {
    background: rgba(201, 162, 74, 0.08);
    border-color: var(--k10-gold-l);
}
.k10-guided-book-name {
    font-size: 13px;
    color: var(--k10-brown);
    font-weight: 600;
}
.k10-guided-book-count {
    font-size: 11px;
    color: var(--k10-muted);
    font-weight: 600;
}
.k10-guided-cta {
    margin-top: auto;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--k10-brown);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: background var(--k10-trans);
}
.k10-guided-cta:hover { background: var(--k10-ink); }
.k10-guided-cta .material-icons-round { font-size: 16px; }

/* ============== 8. ALL BOOKS (lazy grid) ============== */
.k10-books-section { padding-top: 28px; }
.k10-books-head { margin-bottom: 14px; }

.k10-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 0 18px;
}
.k10-chip {
    background: var(--k10-card);
    border: 1px solid var(--k10-line);
    color: var(--k10-brown);
    font-size: 13px;
    padding: 8px 14px;
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
    transition: background var(--k10-trans), color var(--k10-trans), border-color var(--k10-trans);
}
.k10-chip:hover { border-color: var(--k10-gold); }
.k10-chip.active {
    background: var(--k10-brown);
    color: #fff;
    border-color: var(--k10-brown);
}
.k10-chip-count {
    background: rgba(255, 255, 255, 0.18);
    color: inherit;
    font-size: 11px;
    padding: 1px 7px;
    border-radius: 999px;
    font-weight: 700;
}
.k10-chip:not(.active) .k10-chip-count {
    background: rgba(156, 122, 44, 0.12);
    color: var(--k10-gold-d);
}

.k10-books-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}

/* Surcharge légère des cartes legacy générées par kutub.js */
.library-v10 .book-card,
.library-v10 .book-card-full {
    background:
        radial-gradient(360px 140px at 0% 0%, rgba(230, 207, 138, 0.22), transparent 70%),
        linear-gradient(180deg, #fff 0%, #fcf6e2 100%);
    border: 1px solid var(--k10-line);
    border-radius: var(--k10-radius);
    box-shadow: var(--k10-shadow);
    padding: 18px;
    color: var(--k10-ink);
    transition: transform var(--k10-trans), box-shadow var(--k10-trans), border-color var(--k10-trans);
}
.library-v10 .book-card:hover,
.library-v10 .book-card-full:hover {
    transform: translateY(-3px);
    box-shadow: var(--k10-shadow-lg);
    border-color: var(--k10-gold-l);
}

/* Liseré gradient en haut → uniformisé en doré (toutes catégories) */
.library-v10 .book-card::before,
.library-v10 .book-card-full::before {
    background: linear-gradient(90deg, var(--k10-gold-l) 0%, var(--k10-gold) 50%, var(--k10-gold-d) 100%) !important;
    opacity: 0.9;
}
.library-v10 .gradient-nahj::before,
.library-v10 .gradient-sahifa::before,
.library-v10 .gradient-kafi::before,
.library-v10 .gradient-bihar::before,
.library-v10 .gradient-mafatih::before,
.library-v10 .gradient-default::before {
    background: linear-gradient(90deg, var(--k10-gold-l) 0%, var(--k10-gold) 50%, var(--k10-gold-d) 100%) !important;
}

/* Badge "Essentiel" / "Important" : couleurs de marque */
.library-v10 .book-card-badge,
.library-v10 .book-card-importance {
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 10.5px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(201, 162, 74, 0.15);
    color: var(--k10-gold-d);
    border: 1px solid var(--k10-line);
}
.library-v10 .book-card-importance-essential,
.library-v10 .book-card-badge-essential {
    background: linear-gradient(135deg, var(--k10-gold) 0%, var(--k10-gold-d) 100%);
    color: #fff;
    border-color: transparent;
}
.library-v10 .book-card-importance-important,
.library-v10 .book-card-badge-important {
    background: rgba(201, 162, 74, 0.18);
    color: var(--k10-gold-d);
    border-color: var(--k10-line-2);
}

/* Catégorie (au-dessus du titre, ex. "Hadith") */
.library-v10 .book-card-category,
.library-v10 .book-card .section-tag {
    color: var(--k10-brown-2);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
}

/* Titres */
.library-v10 .book-card-title-ar {
    font-family: 'Amiri Quran', 'Scheherazade New', serif;
    color: var(--k10-gold-d) !important;
}
.library-v10 .book-card-title-en,
.library-v10 .book-card-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    color: var(--k10-brown) !important;
    font-weight: 600;
}
.library-v10 .book-card-author {
    color: var(--k10-muted) !important;
    font-style: italic;
}
.library-v10 .book-card-desc {
    color: var(--k10-brown-2) !important;
}

/* Stats + bouton "Lire" */
.library-v10 .book-card-stats,
.library-v10 .book-card-sections,
.library-v10 .book-card-meta {
    color: var(--k10-muted) !important;
    border-top: 1px dashed var(--k10-line);
    padding-top: 8px;
}
.library-v10 .book-card-stats strong { color: var(--k10-brown); }
.library-v10 .book-card-cta,
.library-v10 .book-card a[href]:not(.book-card) {
    color: var(--k10-gold-d) !important;
    font-weight: 600;
}
.library-v10 .book-card-cta:hover { color: var(--k10-brown); }

/* Section-tag count (badge gris avec chiffre) */
.library-v10 .section-tag-count {
    background: rgba(156, 122, 44, 0.12) !important;
    color: var(--k10-gold-d) !important;
}

.k10-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--k10-muted);
    font-size: 14px;
}

.k10-load-wrap { text-align: center; margin-top: 20px; }
.k10-load-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--k10-gold) 0%, var(--k10-gold-d) 100%);
    color: #fff;
    font-weight: 600;
    border: 0;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(156, 122, 44, 0.25);
    transition: transform var(--k10-trans);
}
.k10-load-btn:hover { transform: translateY(-2px); }

/* ============== 9. EXPLORE + HADITH DU JOUR ============== */
.k10-explore-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}
.k10-explore-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 18px;
    background: linear-gradient(180deg, #fff 0%, #fcf6e2 100%);
    border: 1px solid var(--k10-line);
    border-radius: var(--k10-radius);
    box-shadow: var(--k10-shadow);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition: transform var(--k10-trans), box-shadow var(--k10-trans);
}
.k10-explore-card:hover { transform: translateY(-3px); box-shadow: var(--k10-shadow-lg); }
.k10-explore-icon {
    width: 40px; height: 40px;
    border-radius: 12px;
    background: rgba(201, 162, 74, 0.14);
    color: var(--k10-gold-d);
    display: flex;
    align-items: center;
    justify-content: center;
}
.k10-explore-title {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--k10-brown);
}

.k10-hadith-day {
    margin: 0;
    padding: 28px;
    background:
        radial-gradient(600px 200px at 50% 0%, rgba(230, 207, 138, 0.5), transparent 70%),
        linear-gradient(180deg, #fff 0%, #fcf6e2 100%);
    border: 1px solid var(--k10-line-2);
    border-radius: var(--k10-radius-l);
    box-shadow: var(--k10-shadow);
    text-align: center;
}
.k10-hadith-eyebrow {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 11px;
    color: var(--k10-gold-d);
    font-weight: 700;
    margin-bottom: 10px;
}
.k10-hadith-text-ar {
    font-family: 'Amiri Quran', 'Scheherazade New', serif;
    font-size: clamp(20px, 3vw, 26px);
    color: var(--k10-brown);
    margin: 0 0 8px;
    line-height: 1.7;
}
.k10-hadith-text {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(17px, 2.4vw, 22px);
    color: var(--k10-brown-2);
    font-style: italic;
    margin: 0 auto 8px;
    max-width: 640px;
    line-height: 1.5;
}
.k10-hadith-source {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--k10-gold-d);
    font-weight: 700;
}

/* ============== 10. FOOTER SAVOIR ============== */
.k10-footer-section { padding: 50px 0 10px; }
.k10-footer-quote {
    text-align: center;
    margin: 0 0 30px;
    padding: 28px 20px 0;
    border-top: 1px solid var(--k10-line);
}
.k10-footer-mark {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 70px;
    line-height: 0.2;
    color: var(--k10-gold-l);
    display: block;
    margin-bottom: -10px;
}
.k10-footer-quote blockquote {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(20px, 3vw, 26px);
    color: var(--k10-brown);
    font-style: italic;
    margin: 0;
}
.k10-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.k10-footer-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--k10-card);
    border: 1px solid var(--k10-line);
    color: var(--k10-brown);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: background var(--k10-trans), border-color var(--k10-trans);
}
.k10-footer-link:hover {
    background: rgba(201, 162, 74, 0.1);
    border-color: var(--k10-gold-l);
}
.k10-footer-link .material-icons-round {
    font-size: 16px;
    color: var(--k10-gold-d);
}

/* ============== ANIMATIONS ============== */
.fade-in { animation: k10-fade 380ms cubic-bezier(.2, .7, .3, 1) both; }
@keyframes k10-fade {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============== RESPONSIVE ============== */
@media (max-width: 640px) {
    .k10-hero { padding: 40px 0 32px; }
    .k10-hero-title { gap: 2px; }
    .k10-hero-suggest { flex-direction: column; gap: 4px; padding: 12px 18px; }
    .k10-search-wrap { flex-wrap: wrap; border-radius: var(--k10-radius); padding: 10px; }
    .k10-search-input { padding: 8px 4px; flex-basis: 100%; order: 2; }
    .k10-ai-btn, .k10-explore-btn { flex: 1; justify-content: center; }
    .k10-hero-stats { gap: 6px; padding: 6px 14px; }
    .k10-hero-actions { flex-direction: column; }
    .k10-btn { width: 100%; justify-content: center; }
    .k10-essential-grid { grid-template-columns: 1fr; }
}

/* ============== RTL ============== */
[dir="rtl"] .k10-essential-arrow,
[dir="rtl"] .k10-guided-cta .material-icons-round {
    transform: scaleX(-1);
}
