/* site.css — дополнения к main.css (порезка Story) для страниц, которые строят программы донора:
   publication.php (списки БПР/Події), router.php (страницы и публикации), 404, формы обратной связи. */

/* контент из админки (CKEditor) */
.st-page-content { font-size: 17px; line-height: 1.75; }
.st-page-content img { max-width: 100%; height: auto; border-radius: 10px; }
.st-page-content h2, .st-page-content h3 { margin: 1.4em 0 .6em; }
.st-page-content table { width: 100%; margin-bottom: 1rem; }
.st-page-intro { max-width: 900px; margin: 0 auto; }

/* списки публикаций (publication.php) */
.blog-posts article { height: 100%; display: flex; flex-direction: column; }
.blog-posts article .post-img { position: relative; overflow: hidden; border-radius: 10px; aspect-ratio: 4 / 3; background: var(--brand-cream, #EFE5D9); margin-bottom: 12px; }
.blog-posts article .post-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.blog-posts article:hover .post-img img { transform: scale(1.04); }
.blog-posts article .title { font-size: 21px; line-height: 1.3; margin: 6px 0 0; }
.blog-posts article .title a { color: var(--heading-color); }
.blog-posts article > .d-flex { margin-top: auto; padding-top: 10px; }
.st-badge-new { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--accent-color); color: var(--contrast-color, #fff); font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 20px; }
.st-excerpt { color: color-mix(in srgb, var(--default-color), transparent 25%); margin-top: 8px; font-size: 15px; }
.st-more { font-size: 14px; font-weight: 500; white-space: nowrap; }
.st-empty { font-size: 18px; text-align: center; padding: 40px 0; }

/* сайдбар (widget_publication_sidebar донора) */
.recent-posts-widget .widget-title a { color: inherit; }
.recent-posts-widget .post-item img { width: 80px; height: 64px; object-fit: cover; border-radius: 8px; margin-right: 15px; background: var(--brand-cream, #EFE5D9); }

/* кнопки форм/404 в цветах бренда */
.btn-st { background: var(--accent-color); color: var(--contrast-color, #fff); border: 0; border-radius: 50px; padding: 10px 28px; font-weight: 500; }
.btn-st:hover { background: color-mix(in srgb, var(--accent-color), #000 15%); color: var(--contrast-color, #fff); }
.st-404-text { font-size: 18px; max-width: 700px; margin: 0 auto; }

/* форма обратной связи донора (include-feedback-to-site.php / модалка) */
.st-feedback .input-group-text { background: var(--surface-color, #fff); }
.st-feedback .form-control, #order-site-creation .form-control { border-radius: 8px; }
.form-validate .is-invalid { border-color: #dc2626 !important; }
.form-validate div.is-invalid { color: #dc2626; font-size: 13px; width: 100%; }

/* плашка cookies */
.st-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: var(--heading-color, #155D60); color: #fff; padding: 14px 0; font-size: 14px; }
.st-cookie a { color: #fff; text-decoration: underline; }
.st-cookie .btn-st { background: #fff; color: var(--heading-color, #155D60); }
