/**
 * discussions-deaj.css — Foros de discusión con identidad DEAJ.
 * Lista, detalle, respuestas, modal de nueva discusión.
 */

/* ── Hero ────────────────────────────────────────────────────────────── */
.disc-hero {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    color: #fff;
    box-shadow: 0 12px 32px -16px rgba(3, 62, 117, .35);
}
.disc-hero-bg {
    position: absolute; inset: 0;
    background: linear-gradient(135deg, #033e75 0%, #144f9c 50%, #2680eb 100%);
    z-index: 0;
}
.disc-hero-bg::after {
    content: ""; position: absolute; inset: 0;
    background:
        radial-gradient(circle at 18% 30%, rgba(125, 158, 218, .35) 0%, transparent 38%),
        radial-gradient(circle at 88% 75%, rgba(253, 182, 17, .22) 0%, transparent 42%);
    pointer-events: none;
}
.disc-hero-content {
    position: relative;
    z-index: 1;
    padding: 1.85rem 1.85rem 1.5rem;
}
.disc-eyebrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: .68rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--deaj-yellow, #fdb611);
    font-weight: 600;
    margin-bottom: .45rem;
}
.disc-hero h1 { color: #fff; }
.disc-hero p { color: rgba(255, 255, 255, .9); max-width: 65ch; }
.disc-hero .btn-warning {
    background: var(--deaj-yellow, #fdb611);
    color: #1f2937;
    border: 0;
    font-weight: 600;
}
.disc-hero .btn-warning:hover { filter: brightness(1.08); transform: translateY(-1px); }
.disc-hero .btn-outline-light { color: #fff; border-color: rgba(255, 255, 255, .55); }
.disc-hero .btn-outline-light:hover { background: rgba(255, 255, 255, .14); border-color: var(--deaj-yellow); color: var(--deaj-yellow); }

/* ── Pills de categoría ──────────────────────────────────────────────── */
.disc-cat-pills .btn {
    font-size: .85rem;
    padding: .35rem 1rem;
    transition: all .18s;
}
.disc-cat-pill.btn-primary {
    background: linear-gradient(135deg, var(--deaj-primary, #033e75), var(--deaj-primary-bright, #2680eb));
    border-color: transparent;
    box-shadow: 0 4px 12px -4px rgba(3, 62, 117, .4);
}
.disc-cat-pill.btn-outline-secondary {
    color: #4b5563;
    border-color: #d1d5db;
    background: #fff;
}
.disc-cat-pill.btn-outline-secondary:hover {
    border-color: var(--deaj-primary, #033e75);
    color: var(--deaj-primary, #033e75);
    background: rgba(3, 62, 117, .04);
}
.disc-cat-count {
    display: inline-block;
    background: rgba(255, 255, 255, .25);
    color: inherit;
    font-size: .68rem;
    padding: 1px 7px;
    border-radius: 999px;
    font-weight: 700;
    min-width: 22px;
    text-align: center;
}
.disc-cat-pill.btn-outline-secondary .disc-cat-count {
    background: rgba(3, 62, 117, .08);
}

/* ── Filtros card ────────────────────────────────────────────────────── */
.disc-filter-card {
    border: 1px solid rgba(3, 62, 117, .1);
    border-left: 3px solid var(--deaj-secondary, #71ce82);
    background: linear-gradient(180deg, #fff, #f7faff);
    border-radius: 12px;
}

/* ── Lista de discusiones ────────────────────────────────────────────── */
.disc-list { display: flex; flex-direction: column; gap: .75rem; }

.disc-item {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    display: flex;
    gap: 1rem;
    cursor: pointer;
    transition: transform .16s, box-shadow .16s, border-color .16s;
    position: relative;
}
.disc-item:hover {
    transform: translateY(-2px);
    border-color: rgba(3, 62, 117, .25);
    box-shadow: 0 12px 28px -12px rgba(3, 62, 117, .22);
}
.disc-item:focus-visible { outline: 2px solid var(--deaj-primary-bright, #2680eb); outline-offset: 2px; }
.disc-item.is-pinned {
    border-left: 4px solid var(--deaj-yellow, #fdb611);
    background: linear-gradient(180deg, #fffbf0 0%, #ffffff 100%);
}

.disc-avatar {
    width: 44px; height: 44px;
    flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--deaj-primary, #033e75), var(--deaj-primary-bright, #2680eb));
    color: #fff !important;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
    font-size: .9rem;
    box-shadow: 0 4px 10px -4px rgba(3, 62, 117, .4);
}
.disc-avatar-sm { width: 36px; height: 36px; font-size: .78rem; }

.disc-body { flex: 1; min-width: 0; }
.disc-title { color: var(--deaj-primary, #033e75); font-weight: 700; }
.disc-excerpt { color: #6b7280; }

.disc-cat-tag {
    display: inline-block;
    padding: .2rem .65rem;
    font-size: .72rem;
    font-weight: 600;
    border-radius: 999px;
    background: rgba(3, 62, 117, .07);
    color: var(--deaj-primary, #033e75);
}

.disc-badge-pinned {
    background: rgba(253, 182, 17, .18);
    color: #92580d;
    padding: .2rem .65rem;
    font-size: .68rem;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: .04em;
}
.disc-badge-open {
    background: rgba(57, 164, 76, .14);
    color: #1e5c2a;
    padding: .2rem .65rem;
    font-size: .68rem;
    border-radius: 999px;
    font-weight: 700;
}
.disc-badge-locked {
    background: rgba(233, 107, 100, .14);
    color: #b03d36;
    padding: .2rem .65rem;
    font-size: .68rem;
    border-radius: 999px;
    font-weight: 700;
}

.disc-stats {
    display: inline-flex; gap: 1rem;
    color: #6b7280;
    font-size: .82rem;
    font-family: 'JetBrains Mono', monospace;
}
.disc-stats i { margin-right: .25rem; color: var(--deaj-primary-bright, #2680eb); }

/* ── Detalle ─────────────────────────────────────────────────────────── */
.disc-detail-card {
    background: #fff;
    border: 1px solid rgba(3, 62, 117, .1);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 28px -16px rgba(3, 62, 117, .25);
}
.disc-detail-header {
    background: linear-gradient(180deg, #f7faff, #fff);
    padding: 1.5rem 1.5rem 1.25rem;
    border-bottom: 1px solid rgba(3, 62, 117, .08);
    position: relative;
}
.disc-detail-header::after {
    content: ""; position: absolute;
    left: 0; right: 0; bottom: -1px;
    height: 3px;
    background: linear-gradient(90deg, var(--deaj-yellow, #fdb611), var(--deaj-secondary, #71ce82), var(--deaj-primary-bright, #2680eb));
    opacity: .6;
}
.disc-detail-title { color: var(--deaj-primary, #033e75); font-weight: 800; line-height: 1.25; font-size: 1.5rem; }
.disc-detail-body { padding: 1.5rem; color: #1f2937; }

.disc-replies-title {
    color: var(--deaj-primary, #033e75);
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
    font-size: .85rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.disc-replies { display: flex; flex-direction: column; gap: .85rem; }

.disc-reply {
    display: flex;
    gap: .85rem;
    background: #fff;
    border: 1px solid rgba(3, 62, 117, .08);
    border-left: 3px solid var(--deaj-secondary, #71ce82);
    border-radius: 12px;
    padding: 1rem 1.1rem;
}
.disc-reply-body { flex: 1; min-width: 0; }
.disc-reply-body p { color: #1f2937; }

.disc-ai-summary {
    background: linear-gradient(135deg, rgba(253, 182, 17, .1), rgba(38, 128, 235, .06));
    border: 1px solid rgba(253, 182, 17, .25);
    border-left: 3px solid var(--deaj-yellow, #fdb611);
    border-radius: 10px;
    padding: .85rem 1.1rem;
    color: #1f2937;
    font-size: .9rem;
    margin-bottom: 1rem;
}
.disc-ai-summary strong { color: var(--deaj-primary, #033e75); }

/* ── Pagination ──────────────────────────────────────────────────────── */
.disc-pagination .page-link {
    color: var(--deaj-primary, #033e75);
    border: 1px solid rgba(3, 62, 117, .15);
    border-radius: 8px !important;
    margin: 0 .15rem;
    padding: .35rem .8rem;
}
.disc-pagination .page-item.active .page-link {
    background: linear-gradient(135deg, var(--deaj-primary, #033e75), var(--deaj-primary-bright, #2680eb));
    border-color: transparent;
    color: #fff;
}
.disc-pagination .page-item.disabled .page-link { color: #9ca3af; opacity: .55; }

/* ── Mobile ──────────────────────────────────────────────────────────── */
@media (max-width: 575.98px) {
    .disc-hero-content { padding: 1.25rem; }
    .disc-item { padding: .9rem 1rem; gap: .75rem; }
    .disc-avatar { width: 36px; height: 36px; font-size: .78rem; }
    .disc-detail-title { font-size: 1.2rem; }
}
