/* ══════════════════════════════════════════════════════════════
   Shared content index (Articles / Books / Collections) — list UI
   ══════════════════════════════════════════════════════════════ */
.content-index {
    --col-dark: #143259;
    --col-primary: #3071F2;
    --col-interactive: #418EF2;
    --col-light-bg: #89C2D9;
    --col-accent: #CAF2C9;
    --col-text: #1f2d44;
    --col-muted: #6b7f96;
    --col-soft: #8a9bb0;
    --col-border: #e5edf7;
    --col-surface: #ffffff;
    --shadow-sm: 0 1px 2px rgba(20,50,89,.05);
    --shadow-md: 0 6px 24px rgba(20,50,89,.09);
    --ease: cubic-bezier(.22,.61,.36,1);
    min-height: 100vh;
}

/* ── HERO ── */
.content-hero { padding: 4rem 0 2.5rem; }
.content-kicker {
    display: inline-flex; align-items: center; gap: .5rem;
    font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
    color: var(--col-primary); background: rgba(48,113,242,.08);
    padding: .35rem .8rem; border-radius: 100px; margin-bottom: 1.5rem;
}
.content-kicker i { font-size: .9rem; }
.content-title {
    font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800; line-height: 1.1;
    letter-spacing: -.025em; color: var(--col-dark); margin-bottom: 1rem;
}
.content-lede {
    font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.65; color: var(--col-muted);
    max-width: 640px; margin-bottom: 2rem; text-align: justify;
}
.content-stats {
    display: inline-flex; align-items: center; gap: 1.25rem; padding: .65rem 1.1rem;
    background: var(--col-surface); border: 1px solid var(--col-border);
    border-radius: 14px; box-shadow: var(--shadow-sm);
}
.content-stat { font-size: .85rem; color: var(--col-muted); display: inline-flex; align-items: center; gap: .4rem; }
.content-stat strong { font-size: 1rem; color: var(--col-dark); font-weight: 800; }

/* ── TOOLBAR ── */
.content-toolbar {
    border-top: 1px solid var(--col-border); border-bottom: 1px solid var(--col-border);
    padding: .9rem 0; margin-bottom: 2.5rem;
}
.content-toolbar-form { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.control-group {
    display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .7rem;
    background: var(--col-surface); border: 1px solid var(--col-border); border-radius: 10px;
    font-size: .82rem; color: var(--col-muted); min-height: 38px;
}
.control-group:focus-within { border-color: var(--col-primary); box-shadow: 0 0 0 3px rgba(48,113,242,.12); }
.control-group > i { color: var(--col-soft); }
.control-group select {
    border: none; outline: none; background: transparent; font-size: .82rem; color: var(--col-dark);
    font-family: inherit; padding: 0; min-width: 0; width: 170px; cursor: pointer;
    appearance: none; -webkit-appearance: none; padding-right: 1.1rem;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='%236b7f96' d='M4 6l4 4 4-4z'/></svg>");
    background-repeat: no-repeat; background-position: right center;
}
.content-toolbar-reset {
    display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
    background: var(--col-surface); border: 1px solid var(--col-border); border-radius: 10px;
    color: var(--col-muted); text-decoration: none;
}
.content-toolbar-reset:hover { color: #c62828; border-color: rgba(198,40,40,.3); background: #fff5f5; }

/* ── GRID + CARDS ── */
.content-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; margin-bottom: 3rem;
}
.content-card {
    position: relative; display: flex; flex-direction: column; background: var(--col-surface);
    border: 1px solid var(--col-border); border-radius: 16px; overflow: hidden;
    transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.content-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: rgba(48,113,242,.25); }
.content-cover {
    position: relative; aspect-ratio: 16 / 9; overflow: hidden;
    background: linear-gradient(135deg, #e8f0fe 0%, #cfe0fc 100%);
}
.content-cover img, .content-cover-placeholder {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    transition: transform .55s var(--ease);
}
.content-card:hover .content-cover img { transform: scale(1.06); }
.content-cover-placeholder {
    display: flex; align-items: center; justify-content: center; color: var(--col-primary);
    font-size: 2.5rem; opacity: .55;
}
.content-badge {
    position: absolute; top: .85rem; left: .85rem; display: inline-flex; align-items: center; gap: .3rem;
    padding: .28rem .65rem; background: rgba(255,255,255,.96); backdrop-filter: blur(8px);
    border-radius: 100px; font-size: .68rem; font-weight: 700; letter-spacing: .04em;
    color: var(--col-dark); box-shadow: 0 1px 4px rgba(20,50,89,.08);
}
.content-badge i { color: var(--col-primary); font-size: .82rem; }
.content-card-body { padding: 1.35rem 1.4rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.content-card-meta {
    display: flex; align-items: center; gap: .55rem; font-size: .72rem; color: var(--col-soft); margin-bottom: .65rem;
}
.content-card-meta .meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--col-soft); }
.content-card-title {
    font-size: 1.12rem; font-weight: 700; line-height: 1.35; letter-spacing: -.012em; color: var(--col-dark);
    text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; margin-bottom: .55rem; transition: color .15s var(--ease);
}
.content-card-title:hover { color: #28843d; }
.content-card-summary {
    font-size: .88rem; line-height: 1.6; color: var(--col-muted); flex-grow: 1; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 1.1rem; text-align: justify;
}
.content-card-footer {
    display: flex; align-items: center; justify-content: space-between; gap: .55rem; padding-top: 1rem;
    border-top: 1px solid var(--col-border); font-size: .76rem; color: var(--col-muted);
}
.byline { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: .5rem; font-size: .78rem; color: var(--col-muted); text-decoration: none; }
.byline:hover { color: var(--col-dark); }
.byline-avatar {
    width: 26px; height: 26px; border-radius: 50%; background: var(--col-light-bg); color: var(--col-dark);
    display: inline-flex; align-items: center; justify-content: center; font-size: .68rem; font-weight: 800;
    text-transform: uppercase; flex-shrink: 0; overflow: hidden;
}
.byline-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.byline strong { font-weight: 700; color: var(--col-dark); }
.content-card-stretched { position: absolute; inset: 0; z-index: 1; }
.content-count { display: inline-flex; align-items: center; gap: .3rem; }

/* ── EMPTY STATE ── */
.content-empty {
    display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 6rem 1rem;
    text-align: center; color: var(--col-muted);
}
.content-empty i { font-size: 2.5rem; color: var(--col-light-bg); }
.content-empty p { font-size: 1rem; margin: 0; }

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .content-hero { padding: 2.5rem 0 1.5rem; }
    .content-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
}
@media (max-width: 575.98px) {
    .content-grid { grid-template-columns: 1fr; gap: 1.1rem; }
    .content-stats { padding: .55rem .9rem; gap: .9rem; }
    .control-group select { width: 140px; }
}
