.channel-post-page {
    --cp-bg: #f7f7f5;
    --cp-panel: #ffffff;
    --cp-panel-soft: #f2f2ef;
    --cp-ink: #171816;
    --cp-muted: #60635d;
    --cp-faint: #8a8d86;
    --cp-line: #dedfd9;
    --cp-line-strong: #c9cbc3;
    margin: 0;
    color: var(--cp-ink);
    background: var(--cp-bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

[data-bs-theme="dark"] .channel-post-page {
    --cp-bg: #0e0f0e;
    --cp-panel: #151614;
    --cp-panel-soft: #1b1c1a;
    --cp-ink: #f2f3ef;
    --cp-muted: #b4b7b0;
    --cp-faint: #858981;
    --cp-line: #2c2e2a;
    --cp-line-strong: #3b3e38;
}

.channel-post-page .blog-header {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 62px;
    padding: 0 28px;
    flex-wrap: nowrap;
    gap: 24px;
    color: var(--cp-ink);
    background: color-mix(in srgb, var(--cp-bg) 94%, transparent);
    border-bottom: 1px solid var(--cp-line);
    backdrop-filter: blur(12px);
}

.channel-post-page .blog-brand { gap: 10px; color: var(--cp-ink); }
.channel-post-page .blog-brand img { width: 28px; height: 28px; }
.channel-post-page .blog-brand span { color: var(--cp-ink); font-size: 15px; font-weight: 680; letter-spacing: -.02em; }
.channel-post-page .blog-header-controls { gap: 14px; }
.channel-post-page .blog-nav { gap: 22px; }
.channel-post-page .blog-nav a { color: var(--cp-muted); font-size: 12px; font-weight: 520; }
.channel-post-page .blog-nav a:hover { color: var(--cp-ink); }
.channel-post-page .public-theme-toggle { width: 34px; height: 34px; color: var(--cp-muted); border-color: var(--cp-line-strong); }
.channel-post-page .public-theme-toggle:hover { color: var(--cp-ink); background: var(--cp-panel-soft); }

.channel-post-page .blog-main { max-width: none; padding: 0; }
.channel-post-layout { width: min(100% - 40px, 920px); margin: 0 auto; padding: 34px 0 72px; }

.channel-post-breadcrumb {
    min-width: 0;
    margin: 0 0 26px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--cp-faint);
    font-size: 11px;
}
.channel-post-breadcrumb a { color: var(--cp-muted); text-decoration: none; }
.channel-post-breadcrumb a:hover { color: var(--cp-ink); }
.channel-post-breadcrumb span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.channel-post-article {
    overflow: hidden;
    background: var(--cp-panel);
    border: 1px solid var(--cp-line);
    border-radius: 10px;
}

.channel-post-hero { padding: 22px clamp(20px, 4vw, 32px) 18px; }
.channel-post-source { margin-bottom: 16px; display: flex; align-items: center; gap: 11px; }
.channel-post-source__avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #06381f;
    background: #52e391;
    border: 1px solid color-mix(in srgb, #00a653 40%, var(--cp-line));
    border-radius: 8px;
    font-size: 14px;
    font-weight: 750;
}
.channel-post-source__copy { display: grid; gap: 2px; }
.channel-post-source__copy strong { color: var(--cp-ink); font-size: 12px; font-weight: 650; }
.channel-post-source__copy small { color: var(--cp-faint); font-size: 10px; }
.channel-post-hero h1 {
    max-width: 760px;
    margin: 0;
    color: var(--cp-ink);
    font-size: clamp(18px, 1.6vw, 22px);
    font-weight: 620;
    letter-spacing: -.025em;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.channel-post-meta { margin: 12px 0 0; display: flex; align-items: center; gap: 7px; color: var(--cp-faint); font-size: 11px; }

.channel-post-media {
    padding: 0 clamp(20px, 4vw, 32px) 24px;
    display: grid;
    gap: 8px;
}
.channel-post-media--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.channel-post-media__item { min-width: 0; margin: 0; overflow: hidden; background: var(--cp-panel-soft); border: 1px solid var(--cp-line); border-radius: 8px; }
.channel-post-media__item img,
.channel-post-media__item video { width: 100%; max-height: min(72vh, 760px); display: block; object-fit: contain; }
.channel-post-media--grid .channel-post-media__item img,
.channel-post-media--grid .channel-post-media__item video { height: clamp(220px, 38vw, 400px); object-fit: cover; }

.channel-post-body {
    margin: 0 clamp(20px, 4vw, 32px);
    padding: 18px 0 24px;
    color: var(--cp-muted);
    border-top: 1px solid var(--cp-line);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 15px;
    line-height: 1.65;
}

.channel-post-offers { margin-top: 54px; }
.channel-post-section-heading { margin-bottom: 17px; }
.channel-post-section-heading > span { color: var(--tg-brand-primary-hover); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.channel-post-section-heading h2 { margin: 6px 0 0; color: var(--cp-ink); font-size: 22px; font-weight: 620; letter-spacing: -.025em; }
.channel-post-products { display: grid; gap: 8px; }
.channel-post-product {
    min-width: 0;
    min-height: 76px;
    padding: 13px 15px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    color: var(--cp-muted);
    background: var(--cp-panel);
    border: 1px solid var(--cp-line);
    border-radius: 8px;
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}
.channel-post-product:hover { color: var(--cp-muted); background: var(--cp-panel-soft); border-color: var(--cp-line-strong); }
.channel-post-product:focus-visible { outline: 2px solid var(--tg-brand-primary); outline-offset: 2px; }
.channel-post-product__icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--cp-muted); background: var(--cp-panel-soft); border: 1px solid var(--cp-line); border-radius: 7px; }
.channel-post-product__copy { min-width: 0; display: grid; gap: 5px; }
.channel-post-product__copy strong { overflow: hidden; color: var(--cp-ink); font-size: 13px; font-weight: 630; text-overflow: ellipsis; white-space: nowrap; }
.channel-post-product__copy small { color: var(--tg-brand-primary-hover); font-size: 11px; font-weight: 650; }
[data-bs-theme="dark"] .channel-post-product__copy small,
[data-bs-theme="dark"] .channel-post-section-heading > span { color: var(--tg-brand-primary); }
.channel-post-product__action { display: inline-flex; align-items: center; gap: 6px; color: var(--cp-ink); font-size: 11px; font-weight: 620; }

.channel-post-page .blog-footer { padding: 28px 20px 38px; color: var(--cp-faint); border-top: 1px solid var(--cp-line); font-size: 11px; }
.channel-post-page .blog-footer a,
.channel-post-page .blog-footer .legal-links a { color: var(--cp-muted); }
.channel-post-page .blog-footer .legal-links { margin-top: 7px; font-size: 10px; }

@media (max-width: 640px) {
    .channel-post-page .blog-header { min-height: 58px; padding: 0 14px; }
    .channel-post-page .blog-nav { display: none; }
    .channel-post-layout { width: min(100% - 24px, 920px); padding: 24px 0 52px; }
    .channel-post-breadcrumb { margin-bottom: 18px; }
    .channel-post-hero { padding: 18px 16px 16px; }
    .channel-post-source { margin-bottom: 14px; }
    .channel-post-hero h1 { font-size: 18px; }
    .channel-post-media { padding: 0 12px 18px; }
    .channel-post-media--grid { grid-template-columns: 1fr; }
    .channel-post-media--grid .channel-post-media__item img,
    .channel-post-media--grid .channel-post-media__item video { height: auto; max-height: 66vh; object-fit: contain; }
    .channel-post-body { margin: 0 16px; padding: 16px 0 20px; }
    .channel-post-offers { margin-top: 40px; }
    .channel-post-product { grid-template-columns: 38px minmax(0, 1fr) auto; padding: 11px; }
    .channel-post-product__icon { width: 38px; height: 38px; }
    .channel-post-product__action { width: 32px; height: 32px; justify-content: center; font-size: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .channel-post-product { transition: none; }
}
