/* ==========================================================================
   regulations.css — стили для раздела «Законодательство»
   Подключается в: document-list.html, document-detail.html
   ========================================================================== */

/* ── List page ── */

.uv-reg-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1.25rem;
}
.uv-reg-header h1 {
    font-size: var(--uv-fs-h1);
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
}
.uv-reg-add-btn {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .45rem .95rem;
    border-radius: 8px;
    font-size: var(--uv-fs-small);
    font-weight: 600;
    text-decoration: none;
    background: linear-gradient(135deg, var(--uv-gold), var(--uv-gold-dark));
    color: #fff;
    border: none;
    transition: all .25s;
}
.uv-reg-add-btn:hover {
    background: linear-gradient(135deg, #d4b85c, #b8983e);
    color: #fff;
    box-shadow: 0 3px 12px rgba(13, 110, 253, .25);
    transform: translateY(-1px);
}

/* Filter card */
.uv-reg-filter {
    border: 1px solid var(--uv-border, #f0ece4);
    border-radius: 10px;
    background: var(--uv-bg-warm, #fdfcfa);
    margin-bottom: 1.5rem;
    overflow: hidden;
}
.uv-reg-filter__body {
    padding: 1rem 1.25rem;
}
.uv-reg-filter__body label {
    font-size: var(--uv-fs-xs);
    font-weight: 600;
    color: var(--uv-text);
    margin-bottom: .2rem;
    display: block;
}
.uv-reg-filter__body .form-control,
.uv-reg-filter__body select {
    border: 1px solid var(--uv-border, #f0ece4);
    border-radius: 6px;
    font-size: var(--uv-fs-small);
    padding: .35rem .6rem;
    transition: border-color .2s;
}
.uv-reg-filter__body .form-control:focus,
.uv-reg-filter__body select:focus {
    border-color: var(--uv-gold);
    box-shadow: 0 0 0 2px rgba(13, 110, 253, .12);
    outline: none;
}
.uv-reg-filter__footer {
    padding: .65rem 1.25rem;
    border-top: 1px solid var(--uv-border, #f0ece4);
    background: var(--uv-bg-warm);
    display: flex;
    align-items: center;
    gap: .5rem;
}
.uv-reg-filter__submit {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .38rem .85rem;
    border-radius: 6px;
    font-size: var(--uv-fs-small);
    font-weight: 600;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, var(--uv-gold), var(--uv-gold-dark));
    color: #fff;
    transition: all .2s;
}
.uv-reg-filter__submit:hover {
    background: linear-gradient(135deg, #d4b85c, #b8983e);
    box-shadow: 0 2px 8px rgba(13, 110, 253, .2);
}
.uv-reg-filter__reset {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .38rem .85rem;
    border-radius: 6px;
    font-size: var(--uv-fs-small);
    font-weight: 500;
    text-decoration: none;
    background: #fff;
    color: var(--uv-text);
    border: 1px solid var(--uv-border, #f0ece4);
    transition: all .2s;
}
.uv-reg-filter__reset:hover {
    border-color: #ccc;
    color: #1a1a1a;
    background: var(--uv-bg-warm);
}

/* Document cards */
.uv-reg-feed {
    display: flex;
    flex-direction: column;
}
.uv-reg-card {
    padding: 1rem 0;
    border-bottom: 1px solid var(--uv-border, #f0ece4);
    opacity: 0;
    animation: uvRegStaggerIn .4s ease forwards;
}
.uv-reg-card:first-child { padding-top: 0; }
.uv-reg-card:last-child { border-bottom: none; }
.uv-reg-card:hover { background: var(--uv-bg-warm, #fdfcfa); }

@keyframes uvRegStaggerIn {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.uv-reg-card:nth-child(1)  { animation-delay: .05s; }
.uv-reg-card:nth-child(2)  { animation-delay: .10s; }
.uv-reg-card:nth-child(3)  { animation-delay: .15s; }
.uv-reg-card:nth-child(4)  { animation-delay: .20s; }
.uv-reg-card:nth-child(5)  { animation-delay: .25s; }
.uv-reg-card:nth-child(6)  { animation-delay: .30s; }
.uv-reg-card:nth-child(7)  { animation-delay: .35s; }
.uv-reg-card:nth-child(8)  { animation-delay: .40s; }
.uv-reg-card:nth-child(9)  { animation-delay: .45s; }
.uv-reg-card:nth-child(10) { animation-delay: .50s; }

.uv-reg-card__badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    margin-bottom: .35rem;
}
.uv-reg-card__badge {
    display: inline-block;
    padding: .1rem .5rem;
    border-radius: 4px;
    font-size: var(--uv-fs-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.uv-reg-card__badge--authority {
    background: var(--uv-bg-warm);
    border: 1px solid var(--uv-border);
    color: var(--uv-text-muted);
}
.uv-reg-card__badge--type {
    background: #f0f4fa;
    border: 1px solid #dde4f0;
    color: #5a6a8a;
}
.uv-reg-card__title {
    font-size: var(--uv-fs-h5);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: .3rem;
}
.uv-reg-card__title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color .2s;
}
.uv-reg-card__title a:hover { color: var(--uv-gold); }
.uv-reg-card__excerpt {
    font-size: var(--uv-fs-small);
    color: #555;
    line-height: var(--uv-lh-base);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Detail page ── */

.uv-doc-title {
    font-size: var(--uv-fs-h1);
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
    margin-bottom: .75rem;
}
.uv-doc-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
    padding: .75rem 0;
    border-top: 1px solid #f0ece4;
    border-bottom: 1px solid #f0ece4;
    margin-bottom: 1.25rem;
    font-size: var(--uv-fs-small);
    color: #333;
}
.uv-doc-state {
    display: inline-block;
    padding: .15rem .55rem;
    border-radius: 4px;
    font-size: var(--uv-fs-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.uv-doc-state--valid {
    background: #eaf5ea;
    color: #3a7a3a;
    border: 1px solid #c5e0c5;
}
.uv-doc-state--invalid {
    background: #fef0f0;
    color: #c44;
    border: 1px solid #f0c5c5;
}
.uv-doc-authority {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-muted);
    margin-bottom: .75rem;
}
.uv-doc-description {
    font-size: var(--uv-fs-body);
    color: #555;
    line-height: var(--uv-lh-content);
    margin-bottom: 1rem;
}
.uv-article-content { margin-bottom: 1.25rem; }

.uv-article-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .75rem 0;
    border-top: 1px solid #f0ece4;
    margin-bottom: 1rem;
}
.uv-article-actions__links { display: flex; flex-wrap: wrap; gap: .4rem; }
.uv-article-action-btn {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .35rem .7rem;
    border-radius: 6px;
    font-size: var(--uv-fs-xs);
    font-weight: 600;
    text-decoration: none;
    color: var(--uv-text);
    background: var(--uv-bg-warm);
    border: 1px solid var(--uv-border);
    transition: all .2s;
}
.uv-article-action-btn:hover { border-color: var(--uv-gold); color: var(--uv-text-muted); }
.uv-article-action-btn--tg { color: #2388ed; border-color: #b8d4f0; background: #f0f7ff; }
.uv-article-action-btn--tg:hover { background: #2388ed; color: #fff; border-color: #2388ed; }
.uv-article-views {
    font-size: var(--uv-fs-small);
    color: var(--uv-text-muted);
    display: flex;
    align-items: center;
    gap: .3rem;
}

.uv-subscribe-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .65rem 1rem;
    border-radius: 8px;
    border: 1px solid #2388ed;
    background: #f0f7ff;
    color: #2388ed;
    font-size: var(--uv-fs-small);
    font-weight: 600;
    text-decoration: none;
    transition: all .2s;
}
.uv-subscribe-cta:hover { background: #2388ed; color: #fff; }
