/* News / announcement detail page (site/item.blade.php).
   The markup is the ported legacy .detail* structure, so instead of rebuilding
   it these rules are scoped under the .nws class added to that page's two
   containers — they cannot leak into any other page that reuses .detail*. */

:root { --nws-brand: #E32D44; --nws-ink: #2c2c38; --nws-muted: #5A5A67; }

.nws .detail { max-width: 860px; margin: 0 auto; }

.nws .detail__page-title {
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.3;
    color: var(--nws-ink);
    margin-bottom: 10px;
}

.nws-meta {
    display: inline-block;
    margin: 0 0 18px;
    padding: 5px 14px;
    border-radius: 100px;
    background: rgba(227, 45, 68, .08);
    color: var(--nws-brand);
    font-size: 13px;
}

.nws .detail__page-desc {
    display: block;
    margin-bottom: 26px;
    font-size: 17px;
    line-height: 1.65;
    color: var(--nws-muted);
}

.nws .detail__img {
    margin: 0 0 30px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(30, 22, 40, .1);
}
.nws .detail__img img { display: block; width: 100%; height: auto; }

/* ---------- article body ---------- */
.nws .detail__desc {
    font-size: 16px;
    line-height: 1.8;
    color: var(--nws-muted);
}
.nws .detail__desc p { margin-bottom: 16px; }
.nws .detail__desc h1,
.nws .detail__desc h2,
.nws .detail__desc h3,
.nws .detail__desc h4 {
    margin: 30px 0 12px;
    line-height: 1.35;
    color: var(--nws-ink);
}
.nws .detail__desc h1 { font-size: 24px; }
.nws .detail__desc h2 { font-size: 21px; }
.nws .detail__desc h3 { font-size: 18px; }
.nws .detail__desc a { color: var(--nws-brand); text-decoration: underline; }
.nws .detail__desc ul,
.nws .detail__desc ol { margin: 0 0 16px; padding-left: 22px; }
.nws .detail__desc li { margin-bottom: 8px; }
.nws .detail__desc li::marker { color: var(--nws-brand); }
.nws .detail__desc img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 10px 0;
}
.nws .detail__desc blockquote {
    margin: 20px 0;
    padding: 4px 0 4px 18px;
    border-left: 3px solid var(--nws-brand);
    color: var(--nws-ink);
}
.nws .detail__desc table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 15px;
}
.nws .detail__desc table td,
.nws .detail__desc table th {
    border: 1px solid #e8e8ee;
    padding: 9px 12px;
    vertical-align: top;
}
/* legacy bodies are full of hard-justified text, which tears Georgian apart */
.nws .detail__desc p[style*="justify"],
.nws .detail__desc div[style*="justify"] { text-align: left !important; }

/* ---------- share ---------- */
.nws .blok-share {
    margin-top: 34px;
    padding-top: 20px;
    border-top: 1px solid #ebebf0;
}
.nws .blok-share__title {
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: var(--nws-muted);
}
.nws .blok-share__btn { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nws .blok-share__btn a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f6f6f9;
    color: var(--nws-muted);
    font-size: 17px;
    transition: background .2s ease, color .2s ease;
}
.nws .blok-share__btn a:hover { background: var(--nws-brand); color: #fff; }

/* ---------- related ---------- */
.nws .blok-title {
    margin: 50px 0 22px;
    padding-left: 14px;
    border-left: 4px solid var(--nws-brand);
    font-size: 21px;
    color: var(--nws-ink);
}

@media (max-width: 767px) {
    .nws .detail__page-desc { font-size: 15.5px; }
    .nws .detail__desc { font-size: 15.5px; }
    .nws .detail__img { border-radius: 12px; }
}
