/* ============================================================
   AFF — Author Archive Page
   assets/author.css
   ============================================================ */

/* ── Breadcrumb ───────────────────────────────────────────── */
.aff-breadcrumb { background:#0f172a; padding:10px 24px 0; }
.aff-breadcrumb__list {
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; flex-wrap:wrap; gap:6px;
  list-style:none; padding:0;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:11.5px; color:rgba(255,255,255,.4);
}
.aff-breadcrumb__list li { display:flex; align-items:center; gap:6px; }
.aff-breadcrumb__list li + li::before { content:'/'; opacity:.4; }
.aff-breadcrumb__list a { color:rgba(255,255,255,.55); text-decoration:none; transition:color .15s; }
.aff-breadcrumb__list a:hover { color:#fff; }
.aff-breadcrumb__list [aria-current="page"] { color:rgba(255,255,255,.75); font-weight:600; }

/* ── Author Hero ──────────────────────────────────────────── */
.aff-author-hero {
  background:#0f172a; padding:28px 24px 32px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.aff-author-hero__inner {
  max-width:1100px; margin:0 auto;
  display:flex; align-items:flex-start; justify-content:space-between;
  flex-wrap:wrap; gap:24px;
}

/* Profile section */
.aff-author-hero__profile { display:flex; gap:18px; align-items:flex-start; flex:1; min-width:260px; }

/* Avatar */
.aff-author-hero__avatar-wrap { position:relative; flex-shrink:0; }
.aff-author-hero__avatar {
  width:96px; height:96px; border-radius:50%;
  border:3px solid rgba(255,255,255,.12);
  display:block; object-fit:cover;
}
.aff-author-hero__avatar-badge {
  position:absolute; bottom:2px; right:2px;
  width:26px; height:26px; background:#0f172a;
  border:2px solid rgba(255,255,255,.12);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:13px; line-height:1;
}

/* Identity */
.aff-author-hero__identity { flex:1; min-width:0; }
.aff-author-hero__role {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:10.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.8px; color:#60a5fa; margin:0 0 5px;
}
.aff-author-hero__name {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:clamp(22px,3.5vw,32px); font-weight:900;
  color:#f8fafc; line-height:1.1; margin:0 0 8px; letter-spacing:-.3px;
}
.aff-author-hero__bio {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:13.5px; color:rgba(255,255,255,.6); line-height:1.7;
  margin:0 0 12px; max-width:480px;
}
.aff-author-hero__links { display:flex; gap:10px; flex-wrap:wrap; }
.aff-author-hero__link {
  display:inline-flex; align-items:center; gap:5px;
  padding:5px 12px; border-radius:99px;
  border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:12px; font-weight:600; color:rgba(255,255,255,.7);
  text-decoration:none; transition:background .15s, color .15s, border-color .15s;
}
.aff-author-hero__link:hover { background:rgba(255,255,255,.12); color:#fff; border-color:rgba(255,255,255,.3); }
.aff-author-hero__link--twitter { color:#60a5fa; border-color:rgba(96,165,250,.3); background:rgba(96,165,250,.08); }
.aff-author-hero__link--twitter:hover { background:rgba(96,165,250,.18); color:#93c5fd; }

/* Stats panel */
.aff-author-hero__stats {
  display:flex; align-items:center;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  border-radius:14px; padding:16px 24px; flex-shrink:0; gap:0;
}
.aff-author-hero__stat { text-align:center; padding:0 18px; }
.aff-author-hero__stat-n {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:28px; font-weight:900; color:#f8fafc;
  display:block; letter-spacing:-.4px;
}
.aff-author-hero__stat-l {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:10px; font-weight:600; color:rgba(255,255,255,.4);
  text-transform:uppercase; letter-spacing:.5px; display:block; margin-top:2px;
}
.aff-author-hero__stat-div { width:1px; height:36px; background:rgba(255,255,255,.1); }

/* ── Body layout ──────────────────────────────────────────── */
.aff-author-body { background:#f8f9fb; padding:24px 24px 64px; }
.aff-author-body__inner {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:1fr 240px; gap:24px;
}

/* ── Toolbar ──────────────────────────────────────────────── */
.aff-author-toolbar {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:16px; flex-wrap:wrap; gap:10px;
}
.aff-author-toolbar__count {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:12.5px; color:#64748b; margin:0;
}
.aff-author-toolbar__count strong { color:#0f172a; font-weight:800; }
.aff-author-toolbar__sort { display:flex; align-items:center; gap:7px; }
.aff-author-toolbar__sort-label {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:12px; color:#94a3b8; font-weight:500;
}
.aff-author-toolbar__sort-wrap { position:relative; display:flex; align-items:center; }
.aff-author-toolbar__sort-wrap svg { position:absolute; right:10px; pointer-events:none; color:#64748b; }
.aff-author-toolbar__select {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:12.5px; font-weight:600; color:#0f172a;
  background:#fff; border:1.5px solid #e2e8f0; border-radius:8px;
  padding:6px 30px 6px 10px; appearance:none; cursor:pointer; outline:none;
  transition:border-color .15s;
}
.aff-author-toolbar__select:focus { border-color:#2563eb; }

/* ── Post grid — reuse tag card style ─────────────────────── */
.aff-author-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:12px; margin-bottom:28px;
}
.aff-author-card {
  background:#fff; border:1.5px solid #e9edf2; border-radius:14px;
  padding:16px; text-decoration:none; display:flex; flex-direction:column; gap:10px;
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.aff-author-card:hover { border-color:#bfdbfe; box-shadow:0 4px 18px rgba(37,99,235,.08); transform:translateY(-2px); }
.aff-author-card__top { display:flex; gap:10px; align-items:flex-start; }
.aff-author-card__icon {
  font-size:20px; flex-shrink:0; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  background:#f1f5f9; border-radius:10px;
}
.aff-author-card__info { flex:1; min-width:0; }
.aff-author-card__brand {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:10.5px; font-weight:700; color:#2563eb;
  text-transform:uppercase; letter-spacing:.4px; margin-bottom:3px;
}
.aff-author-card__brand span { color:#94a3b8; font-weight:500; text-transform:none; }
.aff-author-card__title {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:13px; font-weight:700; color:#0f172a; line-height:1.35; margin:0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.aff-author-card__tags { display:flex; flex-wrap:wrap; gap:5px; }
.aff-author-card__pill {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:10.5px; font-weight:600; padding:2px 8px; border-radius:99px;
  background:#f1f5f9; color:#64748b;
}
.aff-author-card__pill--android { background:#dcfce7; color:#166534; }
.aff-author-card__pill--size    { background:#fef3c7; color:#92400e; }
.aff-author-card__footer {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:10px; border-top:1px solid #f1f5f9; margin-top:auto;
}
.aff-author-card__date { font-family:'Plus Jakarta Sans',system-ui,sans-serif; font-size:11px; color:#6b7280; }
.aff-author-card__dl {
  display:flex; align-items:center; gap:4px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:11.5px; font-weight:700; color:#2563eb;
}

/* ── Empty state ──────────────────────────────────────────── */
.aff-author-empty {
  grid-column:1/-1; text-align:center; padding:56px 24px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
}
.aff-author-empty__icon { font-size:38px; margin-bottom:12px; }
.aff-author-empty h3 { font-size:17px; font-weight:900; color:#0f172a; margin-bottom:8px; }
.aff-author-empty p { font-size:13.5px; color:#64748b; }

/* ── Pagination ───────────────────────────────────────────── */
.aff-author-pagination { margin-bottom:28px; }
.aff-author-pagination .page-numbers {
  display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; align-items:center;
}
.aff-author-pagination .page-numbers li { display:block; }
.aff-author-pagination .page-numbers a,
.aff-author-pagination .page-numbers span {
  display:flex; align-items:center; justify-content:center;
  min-width:36px; height:36px; padding:0 10px; border-radius:8px;
  border:1.5px solid #e2e8f0; background:#fff;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:13px; font-weight:600; color:#475569; text-decoration:none;
  transition:border-color .15s, background .15s;
}
.aff-author-pagination .page-numbers a:hover { border-color:#2563eb; color:#2563eb; background:#eff6ff; }
.aff-author-pagination .page-numbers .current { background:#0f172a; border-color:#0f172a; color:#fff; }
.aff-author-pagination .page-numbers .dots { border:none; background:none; color:#94a3b8; }

/* ── Sidebar ──────────────────────────────────────────────── */
.aff-author-sidebar { display:flex; flex-direction:column; gap:16px; }

/* Author mini card */
.aff-author-sidebar-card {
  background:#fff; border:1.5px solid #e9edf2; border-radius:14px;
  padding:16px; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;
}
.aff-author-sidebar-card__avatar {
  width:56px; height:56px; border-radius:50%; border:2px solid #f1f5f9; object-fit:cover;
}
.aff-author-sidebar-card__info { display:flex; flex-direction:column; gap:2px; }
.aff-author-sidebar-card__name {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:14px; font-weight:800; color:#0f172a;
}
.aff-author-sidebar-card__joined {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:11.5px; color:#94a3b8;
}
.aff-author-sidebar-card__stat {
  border-top:1px solid #f1f5f9; padding-top:10px; width:100%;
  display:flex; flex-direction:column; align-items:center; gap:2px;
}
.aff-author-sidebar-card__stat-n {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:22px; font-weight:900; color:#0f172a; letter-spacing:-.4px;
}
.aff-author-sidebar-card__stat-l {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:11px; font-weight:600; color:#94a3b8;
}

/* Sidebar block */
.aff-author-sidebar-block {
  background:#fff; border:1.5px solid #e9edf2; border-radius:14px; padding:18px;
}
.aff-author-sidebar-block__title {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:11px; font-weight:800; text-transform:uppercase;
  letter-spacing:.6px; color:#94a3b8; margin:0 0 12px;
}

/* Brands list */
.aff-author-brands-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:2px; }
.aff-author-brands-list__link {
  display:flex; align-items:center; justify-content:space-between;
  padding:7px 10px; border-radius:8px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:13px; font-weight:500; color:#475569; text-decoration:none;
  transition:background .15s, color .15s;
}
.aff-author-brands-list__link:hover { background:#f8f9fb; color:#0f172a; }
.aff-author-brands-list__count {
  font-size:11px; font-weight:700; color:#94a3b8;
  background:#f1f5f9; padding:1px 7px; border-radius:99px;
}
.aff-author-sidebar-all {
  display:block; text-align:center; margin-top:10px;
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:12px; font-weight:600; color:#2563eb; text-decoration:none;
}
.aff-author-sidebar-all:hover { text-decoration:underline; }

/* Warning block */
.aff-author-sidebar-block--warn {
  background:#fffbeb; border-color:#fde68a;
  display:flex; gap:10px; align-items:flex-start;
}
.aff-author-sidebar-block--warn p {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:12.5px; color:#92400e; line-height:1.55; margin:0;
}
.aff-author-sidebar-block--warn strong { color:#78350f; font-weight:800; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:900px) {
  .aff-author-body__inner { grid-template-columns:1fr; }
  .aff-author-sidebar { display:none; }
}
@media (max-width:640px) {
  .aff-author-hero__profile { flex-direction:column; }
  .aff-author-hero__stats { width:100%; justify-content:center; }
  .aff-author-grid { grid-template-columns:1fr; }
  .aff-author-hero__avatar { width:76px; height:76px; }
}
