.message-page { max-width: 916px; padding: 12px 28px 48px; color: var(--text); overflow-wrap: anywhere; }
.message-page [hidden] { display: none !important; }
.message-page h1 { margin: 16px 0 24px; font-size: 32px; line-height: 1.25; font-weight: 550; }
.message-page h2 { margin: 0 0 20px; font-size: 24px; line-height: 1.3; font-weight: 500; }
.message-page h2 > span { margin-left: 8px; color: #687c92; font-size: 17px; font-weight: 400; }
.message-page__topics { display: flex; flex-wrap: wrap; gap: 8px; }
.message-page__topics a { padding: 5px 10px; border: 1px solid #dfe7f2; border-radius: 6px; color: #34475d; font-size: 13px; }
.message-page__byline { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; font-size: 15px; }
.message-page__byline > span:last-child { min-width: 0; }
.message-page__byline small { display: block; margin-top: 4px; color: #687c92; font-size: 13px; }
.message-page__byline small a { color: inherit; }
.message-page__avatar { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 6px; background: #edf2ff; color: #426399; }
.message-page__body { margin: 0; font-size: 17px; line-height: 1.75; white-space: normal; }
.message-page__photos { margin-top: 32px; }
.message-page__gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.message-page__gallery > a { display: block; min-width: 0; border: 1px solid #e1e9f3; border-radius: 8px; overflow: hidden; background: #f5f7fa; }
.message-page__gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.message-page__disclaimer { margin: 28px 0; padding-left: 14px; border-left: 3px solid #dde6f5; color: #687c92; font-size: 13px; line-height: 1.6; }
.message-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.message-page__actions button { border: 0; padding: 10px 0; background: none; color: #3157ff; font: inherit; font-size: 14px; cursor: pointer; }
.message-page__actions button[hidden] { display: none; }
.message-page__actions [role="status"] { font-size: 13px; color: #687c92; }
.message-page .button { background: #3157ff; min-height: 44px; border-radius: 8px; }
.message-comments { margin-top: 40px; padding-top: 32px; border-top: 1px solid #e1e9f3; }
.message-page__muted { margin: 0 0 20px; color: #687c92; font-size: 14px; line-height: 1.6; }
.message-comment { padding: 24px 0; border-bottom: 1px solid #e1e9f3; }
.message-comment:first-child { padding-top: 0; }
.message-comment .message-page__byline { margin-bottom: 14px; }
.message-comment .message-page__body { font-size: 16px; }
.message-comment-compose { margin-top: 36px; scroll-margin-top: 24px; }
.message-comment-compose .form { max-width: none; gap: 20px; }
.message-comment-compose label { min-width: 0; font-size: 14px; font-weight: 500; }
.message-comment-compose label > span { font-weight: 400; }
.message-comment-compose__contacts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.message-comment-compose__contacts label > span { color: #687c92; font-size: 12px; }
.message-comment-compose input, .message-comment-compose textarea { min-width: 0; max-width: 100%; min-height: 48px; background: #fff; border: 1px solid #cdd9e8; border-radius: 8px; font-size: 16px; }
.message-comment-compose textarea { resize: vertical; }
.message-comment-compose input:focus-visible, .message-comment-compose textarea:focus-visible { outline: 2px solid #3157ff; outline-offset: 2px; }
.message-comment-compose__consents { display: grid; gap: 12px; }
.message-comment-compose__consents label { display: flex; align-items: start; gap: 8px; font-size: 13px; line-height: 1.6; font-weight: 400; }
.message-comment-compose__consents input { width: 16px; min-height: 16px; height: 16px; flex: 0 0 16px; margin: 3px 0 0; accent-color: #3157ff; }
.message-comment-compose [type="submit"] { justify-self: start; }
.message-comment-compose__feedback { margin-bottom: 20px; padding: 14px 16px; border-radius: 8px; background: #eef5ff; color: #27456e; line-height: 1.6; }
.message-comment-compose__feedback[data-error] { background: #fff2f3; color: #a02437; }
.message-comments__pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin: 24px 0; font-size: 14px; }
.message-page__back { display: inline-block; margin-top: 40px; font-size: 14px; }
.message-lightbox { width: min(1100px,calc(100% - 32px)); max-width: none; padding: 12px; border: 0; border-radius: 8px; background: #fff; color: #122338; }
.message-lightbox::backdrop { background: rgba(12,18,29,.8); }
.message-lightbox__bar, .message-lightbox__nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.message-lightbox button { width: 44px; height: 44px; border: 1px solid #dfe7f2; border-radius: 6px; background: #fff; color: #122338; font-size: 24px; cursor: pointer; }
.message-lightbox > img { display: block; width: 100%; height: min(65vh,760px); object-fit: contain; margin: 8px 0; }
.message-page a:focus-visible, .message-page button:focus-visible { outline: 2px solid #3157ff; outline-offset: 3px; }
@media (max-width:720px) { .message-page { padding: 8px 20px 36px; } }
@media (max-width:540px) { .message-page h1 { font-size: 27px; } .message-page h2 { font-size: 22px; } .message-comment-compose__contacts { grid-template-columns: minmax(0,1fr); } .message-page__body { font-size: 16px; } .message-page__gallery { gap: 8px; } }
