/*
 * author-archive.css — BVNEMBA Author Archive Styles
 * ─────────────────────────────────────────────────────
 * Scoped to .bvn-author-archive — zero bleed to other pages.
 * Loaded via wp_enqueue_style in functions.php, is_author() only.
 *
 * Card grid styles (.bvn-post-card, .bvn-post-grid) are shared
 * with blog-index.css. This file adds the author header zone only.
 * Both files are enqueued on is_author() so card styles are available.
 *
 * Zone:
 *   1. Author header    .bvn-author-header
 *   2. Card grid        (inherits from blog-index.css)
 *   3. Pagination       (inherits from blog-index.css)
 *
 * Brand tokens match blog-index.css and blog-single.css.
 *
 * WCAG 2.2 AA:
 *   Ember #E97132 eyebrow on Deep Slate #252E37 bg — decorative, not text
 *   White #FFFFFF on Deep Slate #252E37: 13.9:1 ✓
 *   Body #3A3530 on Cream #F6F2EF: 8.7:1 ✓
 *   Muted #5C5550 on Cream #F6F2EF: 5.4:1 ✓
 *   All touch targets ≥ 44×44px
 *
 * File version: 1.0.0
 * ─────────────────────────────────────────────────────
 */


/* ============================================================
   TOKENS — local to .bvn-author-archive
   Mirrors .bvn-blog-index tokens for consistency.
   ============================================================ */

.bvn-author-archive {
    --aa-slate-deep:   #252E37;
    --aa-slate:        #38434E;
    --aa-body:         #3A3530;
    --aa-muted:        #5C5550;
    --aa-ember:        #E97132;
    --aa-ember-dim:    #C4561A;
    --aa-cream:        #F6F2EF;
    --aa-neutral:      #E8E1DE;
    --aa-white:        #FFFFFF;
    --aa-font-heading: 'Work Sans', Arial, sans-serif;
    --aa-font-body:    'Karla', Georgia, Arial, sans-serif;
    --aa-radius:       4px;
    --aa-radius-lg:    8px;
    --aa-max-width:    1080px;
    --aa-side-pad:     1.25rem;
}

/* Shell */
.bvn-author-archive {
    background: var(--aa-white);
    overflow-x: hidden;
}


/* ============================================================
   ZONE 1: AUTHOR HEADER
   ============================================================ */

.bvn-author-header {
    background: var(--aa-slate-deep);
    padding: 3.5rem var(--aa-side-pad) 3rem;
    position: relative;
    overflow: hidden;
}

/* Decorative ember glow — bottom centre */
.bvn-author-header::after {
    content: '';
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 500px;
    height: 140px;
    background: radial-gradient(
        ellipse,
        rgba(233, 113, 50, 0.12) 0%,
        transparent 70%
    );
    pointer-events: none;
}

.bvn-author-header__inner {
    max-width: var(--aa-max-width);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    gap: 2rem;
    position: relative;
    z-index: 1;
}

/* ── Avatar ────────────────────────────────────────────────── */

.bvn-author-header__avatar-wrap {
    flex-shrink: 0;
}

.bvn-author-header__avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    border: 3px solid rgba(233, 113, 50, 0.6);
    object-fit: cover;
    display: block;
}

@media (min-width: 600px) {
    .bvn-author-header__avatar {
        width: 120px;
        height: 120px;
    }
}

/* ── Content ───────────────────────────────────────────────── */

.bvn-author-header__content {
    flex: 1;
    min-width: 0;  /* prevents flex child overflow */
}

.bvn-author-header__eyebrow {
    font-family: var(--aa-font-heading);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--aa-ember);
    margin-bottom: 0.4rem;
}

.bvn-author-header__name {
    font-family: var(--aa-font-heading) !important;
    font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--aa-white) !important;
    letter-spacing: -0.01em;
    margin-bottom: 0.75rem !important;
}

.bvn-author-header__bio {
    font-family: var(--aa-font-body);
    font-size: 0.9375rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 0.75rem;
    max-width: 600px;
}

.bvn-author-header__count {
    font-family: var(--aa-font-heading);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    margin-bottom: 0;
}

/* ── Mobile: stack avatar above content ─────────────────────── */

@media (max-width: 479px) {
    .bvn-author-header__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
    }
}

/* ── Desktop: wider padding ─────────────────────────────────── */

@media (min-width: 1024px) {
    .bvn-author-header {
        padding: 4.5rem 2.5rem 4rem;
    }

    .bvn-author-header__inner {
        gap: 2.5rem;
    }
}


/* ============================================================
   CARD GRID — spacing adjustments for author archive context
   Card component styles (.bvn-post-card etc.) live in
   blog-index.css which is also enqueued on is_author().
   These rules only adjust layout spacing specific to this page.
   ============================================================ */

.bvn-author-grid {
    padding-top: 3rem;
}

@media (min-width: 1024px) {
    .bvn-author-grid {
        padding-top: 3.5rem;
    }
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.bvn-blog-empty {
    padding: 5rem var(--aa-side-pad);
    text-align: center;
    font-family: var(--aa-font-body);
    font-size: 1rem;
    color: var(--aa-muted);
}
