:root {
    --ym-ink: #172234;
    --ym-muted: #5d6b7d;
    --ym-line: #e5e9ef;
    --ym-accent: #c62536;
    --ym-surface: #f7f8fa;
}

body { color: var(--ym-ink); }

a { text-underline-offset: 3px; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible { outline: 3px solid var(--ym-accent); outline-offset: 3px; }

.block-title { border-bottom-color: var(--ym-line); }
.block-title > span { letter-spacing: -.02em; }
.post-title { letter-spacing: -.025em; }
.post-title a { color: var(--ym-ink); }
.post-title a:hover { color: var(--ym-accent); }

.post-block-style .post-thumb img,
.post-overaly-style .post-thumb img { border-radius: 6px; }
.post-block-style .post-content { padding-top: 12px; }
.post-meta,
.post-date { color: var(--ym-muted); }

.single-post .post-title { max-width: 820px; line-height: 1.18; }
.single-post .post-content p { font-size: 17px; line-height: 1.78; }
.single-post .post-content img { max-width: 100%; height: auto; }

.poll-widget { border: 1px solid var(--ym-line); background: var(--ym-surface); }
.poll-option { min-height: 42px; }
.comments-form .form-control,
.poll-widget input,
.search-area input { min-height: 42px; }

.footer { margin-top: 48px; }

@media (max-width: 767px) {
    .block-wrapper { padding-top: 28px; }
    .block-title { margin-bottom: 18px; }
    .post-title.title-extra-large { font-size: clamp(23px, 6vw, 31px); line-height: 1.2; }
    .post-title.title-medium { font-size: 19px; line-height: 1.3; }
    .single-post .post-title { font-size: clamp(29px, 8vw, 40px); }
    .single-post .post-content p { font-size: 16px; line-height: 1.7; }
    .post-block-style .post-thumb img { width: 100%; }
    .headline-box { height: 150px; }
    .market-grid-wrapper { overflow-x: auto; overscroll-behavior-inline: contain; }
    .comments-list .comment { display: flex; gap: 12px; }
    .comments-list .comment-avatar { flex: 0 0 40px; width: 40px; height: 40px; }
    .comments-list .comment-date { float: none !important; display: block; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
