/* =====================================================
   TranslateXYZ — Blog Listing (/wp-translation/)
   Contains: LISTING PAGE section + POST CARD (shared with single)
   ===================================================== */

/* ===========================================
   POST CARD (used on listing + related)
   =========================================== */
.bp-card {
    display: flex;
    flex-direction: column;
    background: var(--bg-light);
    border: 1px solid var(--border-light);
    border-radius: var(--r-lg);
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);
}
.bp-card:hover {
    transform: translateY(-3px);
    border-color: var(--green-300);
    box-shadow: var(--sh-md);
}
.bp-card__cover {
    aspect-ratio: 16/9;
    background: linear-gradient(135deg, var(--green-50), var(--cyan-50));
    overflow: hidden;
    position: relative;
}
.bp-card__cover img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--t-base);
}
.bp-card:hover .bp-card__cover img { transform: scale(1.04); }
.bp-card__body {
    padding: var(--sp-5);
    flex: 1;
    display: flex;
    flex-direction: column;
}
.bp-card__chip {
    display: inline-block;
    background: var(--green-50);
    color: var(--green-700);
    font-size: 10px;
    font-weight: var(--fw-bold);
    padding: 3px 8px;
    border-radius: var(--r-pill);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--sp-3);
    align-self: flex-start;
}
.bp-card__title {
    font-size: var(--fs-md);
    font-weight: var(--fw-extra);
    color: var(--text-on-light-strong);
    line-height: 1.3;
    letter-spacing: -0.01em;
    margin-bottom: var(--sp-2);
}
.bp-card__excerpt {
    font-size: var(--fs-sm);
    color: var(--text-on-light);
    line-height: var(--lh-relaxed);
    margin-bottom: var(--sp-4);
    flex: 1;
}
.bp-card__meta {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    font-size: 12px;
    color: var(--text-on-light-muted);
}
.bp-card__meta-avatar {
    width: 24px; height: 24px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.bp-card__meta-name {
    font-weight: var(--fw-semibold);
    color: var(--text-on-light-strong);
}
.bp-card__meta-sep::before { content: '·'; margin: 0 4px; }


/* ===========================================
   LISTING PAGE — dark, centered hero (matches /docs/)
   =========================================== */
.bp-list-header {
    background:
        radial-gradient(900px 500px at 80% -10%, rgba(48,178,48,0.20), transparent 60%),
        radial-gradient(700px 400px at 10% 110%, rgba(48,178,48,0.10), transparent 65%),
        linear-gradient(160deg, #0A1A0A 0%, #051005 100%);
    color: var(--text-on-dark);
    padding: var(--sp-9) 0 var(--sp-10);
    position: relative;
    overflow: hidden;
    text-align: center;
}
.bp-list-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 1px 1px, rgba(48,178,48,0.06) 1px, transparent 1.5px);
    background-size: 36px 36px;
    pointer-events: none;
    opacity: 0.5;
    mask-image: radial-gradient(ellipse at center, #000 25%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse at center, #000 25%, transparent 75%);
}
.bp-list-header__inner {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 auto;
}
.bp-list-header .breadcrumb { justify-content: center; margin-bottom: var(--sp-5); }
.bp-list-header h1 {
    font-size: clamp(36px, 4.4vw, 56px);
    font-weight: var(--fw-extra);
    color: var(--text-on-dark-strong);
    letter-spacing: -0.025em;
    line-height: 1.05;
    margin: 0 0 var(--sp-4);
}
.bp-list-header__lead {
    font-size: var(--fs-md);
    color: var(--text-on-dark-muted);
    line-height: var(--lh-relaxed);
    margin-bottom: 0;
}
.bp-list-header .breadcrumb--dark .breadcrumb__list {
    justify-content: center;
}

/* Filter chips */
.bp-filter {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: var(--sp-5) 0;
    border-bottom: 1px solid var(--border-light);
}
.bp-filter__chip {
    padding: 7px 14px;
    border-radius: var(--r-pill);
    border: 1px solid var(--border-light);
    background: var(--bg-light);
    color: var(--text-on-light);
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    text-decoration: none;
    cursor: pointer;
    transition: all var(--t-fast);
}
.bp-filter__chip:hover {
    border-color: var(--green-300);
    color: var(--green-700);
}
.bp-filter__chip.is-active {
    background: var(--green-500);
    border-color: var(--green-500);
    color: #fff;
}

/* Featured post */
.bp-featured {
    margin: var(--sp-7) 0 var(--sp-9);
}
.bp-featured__card {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--sp-7);
    background: var(--bg-light);
    border: 1px solid var(--border-light);
    border-radius: var(--r-xl);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform var(--t-base), box-shadow var(--t-base);
}
.bp-featured__card:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-lg);
}
.bp-featured__cover {
    aspect-ratio: 16/10;
    background: linear-gradient(135deg, var(--green-50), var(--cyan-50));
    overflow: hidden;
}
.bp-featured__cover img { width: 100%; height: 100%; object-fit: cover; }
.bp-featured__body {
    padding: var(--sp-7);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.bp-featured__label {
    display: inline-block;
    background: var(--amber-50);
    color: var(--amber-700);
    font-size: 11px;
    font-weight: var(--fw-bold);
    padding: 4px 10px;
    border-radius: var(--r-pill);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: var(--sp-4);
    align-self: flex-start;
}
.bp-featured__title {
    font-size: clamp(24px, 2.8vw, 36px);
    font-weight: var(--fw-extra);
    color: var(--text-on-light-strong);
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: var(--sp-3);
}
.bp-featured__excerpt {
    font-size: var(--fs-md);
    color: var(--text-on-light);
    line-height: var(--lh-relaxed);
    margin-bottom: var(--sp-5);
}

/* Posts grid */
.bp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sp-6);
    margin-top: var(--sp-6);   /* keeps a gap when featured isn't present (category / page 2+) */
    margin-bottom: var(--sp-12);
}
.bp-empty {
    text-align: center;
    padding: var(--sp-9);
    margin-top: var(--sp-7);   /* same: gap from filter when no posts to show */
    color: var(--text-on-light-muted);
}

/* Pagination */
.bp-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: var(--sp-9);
    flex-wrap: wrap;
}
.bp-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 40px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--border-light);
    background: var(--bg-light);
    border-radius: var(--r-md);
    font-size: 14px;
    font-weight: var(--fw-semibold);
    color: var(--text-on-light);
    text-decoration: none;
    transition: all var(--t-fast);
}
.bp-pagination__btn:hover {
    border-color: var(--green-500);
    background: var(--green-50);
    color: var(--green-700);
}
.bp-pagination__btn.is-active {
    background: var(--green-500);
    border-color: var(--green-500);
    color: #fff;
    cursor: default;
}
.bp-pagination__btn.is-disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}
.bp-pagination__btn--nav { padding: 0 16px; }
.bp-pagination__btn svg { width: 14px; height: 14px; flex-shrink: 0; }


/* ===========================================
   RESPONSIVE — listing
   =========================================== */
@media (max-width: 1024px) {
    .bp-grid { grid-template-columns: repeat(2, 1fr); }
    .bp-featured__card { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .bp-grid { grid-template-columns: 1fr; }
}
