/* Impluse content pages: blog, compare (doc 107). Tokens only, logical properties, no important-flags. */
.imp-blog .imp-toolbar { margin-block-end: 1.5rem; }
.imp-posts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); gap: 2.25rem 1.25rem; }
.imp-posts-media { display: block; aspect-ratio: 4 / 3; border-radius: var(--imp-radius); overflow: hidden; background: var(--imp-surface); margin-block-end: .9rem; }
.imp-posts-media img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .5s ease; }
.imp-posts-card:hover .imp-posts-media img { transform: scale(1.04); }
.imp-posts-date { margin: 0 0 .35rem; }
.imp-posts-title { margin: 0 0 .6rem; font-size: 1.25rem; line-height: 1.25; }
.imp-posts-title a:hover { text-decoration: underline; }
.imp-posts-tags { gap: .4rem; }
.imp-posts-tags li a { min-block-size: 30px; font-size: .72rem; }
.imp-blog .pagination { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; justify-content: center; }

.imp-post { max-inline-size: 52rem; }
.imp-post-title { margin: .25rem 0 1.5rem; }
.imp-post-cover { border-radius: var(--imp-radius); overflow: hidden; background: var(--imp-surface); margin-block-end: 2rem; }
.imp-post-cover img { inline-size: 100%; block-size: auto; display: block; }
.imp-post-body { font-size: 1.05rem; line-height: 1.8; color: var(--imp-ink-soft); }
.imp-post-body img { max-inline-size: 100%; block-size: auto; border-radius: var(--imp-radius-sm); }
.imp-post-body h2, .imp-post-body h3 { color: var(--imp-ink); margin-block: 2rem .75rem; }
.imp-post-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-block: 2.5rem; padding-block: 1.25rem; border-block: 1px solid var(--imp-line); }
.imp-blog-single .details-comment-content, .imp-blog-single .comment-area { max-inline-size: 52rem; }

.imp-compare { padding-block: 1.5rem 4rem; }
.imp-compare .imp-h2 { margin: 0 0 1.5rem; }
.imp-compare-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 2rem 1.25rem; }
.imp-compare-card { display: grid; gap: .5rem; align-content: start; padding: 1.25rem; border: 1px solid var(--imp-line); border-radius: var(--imp-radius); }
.imp-compare-media { display: block; aspect-ratio: 322 / 374; border-radius: var(--imp-radius-sm); overflow: hidden; background: var(--imp-surface); }
.imp-compare-media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.imp-compare-card .imp-h4 { margin: .5rem 0 0; }
.imp-compare-card .imp-meta { border: 0; padding: 0; }
.imp-compare-card .imp-link { justify-self: start; }
.impluse .imp-post-body, .impluse .imp-post-body p { color: var(--imp-ink-soft); }
.impluse .imp-share a { color: var(--imp-ink); }
