/* ─────────────────────────────────────────────
   Căn cứ pháp lý page styles
   ───────────────────────────────────────────── */

.hero-phapLy {
    background: linear-gradient(135deg, #0d6e3f 0%, #094d2c 100%);
    padding: 4rem 0 3rem;
    color: #fff;
}

/* Override global .law-card for this page */
.law-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.5rem;
    height: 100%;
    transition: box-shadow .2s, transform .2s;
}
.law-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }

/* Badge variants */
.law-badge {
    display: inline-flex; align-items: center; gap: .4rem;
    font-size: .75rem; font-weight: 700; padding: .3rem .75rem;
    border-radius: 20px; margin-bottom: .875rem;
    letter-spacing: .03em; text-transform: uppercase;
}
.badge-luat { background: #dcfce7; color: #166534; }
.badge-nd   { background: #dbeafe; color: #1e3a8a; }
.badge-nq   { background: #fef9c3; color: #92400e; }
.badge-tt   { background: #f3e8ff; color: #581c87; }
.badge-qd   { background: #fce7f3; color: #831843; }

.law-num  { font-size: 1.05rem; font-weight: 800; color: #0f172a; line-height: 1.3; margin-bottom: .4rem; }
.law-full { font-size: .85rem; color: #64748b; margin-bottom: .75rem; }

.law-hl { list-style: none; padding: 0; margin: 0; }
.law-hl li {
    display: flex; gap: .5rem; align-items: flex-start;
    font-size: .85rem; color: #374151;
    padding: .3rem 0; border-bottom: 1px solid #f1f5f9;
}
.law-hl li:last-child { border-bottom: none; }
.law-hl li::before { content: "•"; color: #0d6e3f; font-weight: 700; flex-shrink: 0; margin-top: .05rem; }

.effective-chip {
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .72rem; font-weight: 600; padding: .2rem .6rem;
    border-radius: 20px; background: #f0fdf4; color: #166534;
    border: 1px solid #bbf7d0;
}

/* Override global .section-label for this page */
.section-label {
    display: inline-flex; align-items: center; gap: .4rem;
    background: #dcfce7; color: #166534;
    font-size: .8rem; font-weight: 700;
    padding: .35rem .9rem; border-radius: 20px;
    margin-bottom: .75rem; letter-spacing: .04em; text-transform: uppercase;
}

/* Timeline */
.timeline-line  { border-left: 3px solid #e2e8f0; padding-left: 1.5rem; position: relative; }
.timeline-dot   { width: 14px; height: 14px; border-radius: 50%; background: #0d6e3f; position: absolute; left: -8px; top: .3rem; border: 2px solid #fff; box-shadow: 0 0 0 2px #0d6e3f; }
.timeline-entry { position: relative; margin-bottom: 1.75rem; }
.timeline-entry:last-child { margin-bottom: 0; }
