/* DZDirect: отдельные стили кейса, без изменения общей дизайн-системы. */
.ec-case { background: var(--color-white); }
.ec-case__hero {
    padding: calc(var(--header-height) + 38px) 0 66px;
    background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary) 68%, var(--color-primary-light));
    color: var(--color-white);
}
.ec-case__hero-inner { max-width: 1120px; }
.ec-case__breadcrumbs {
    display: flex; align-items: center; flex-wrap: wrap; gap: 9px;
    margin-bottom: 42px; color: var(--color-text-light); font-size: .86rem;
}
.ec-case__breadcrumbs a { color: #e1e7ee; text-decoration: underline; text-underline-offset: 3px; }
.ec-case__breadcrumbs a:hover { color: var(--color-accent); }
.ec-case__eyebrow {
    display: inline-block; margin-bottom: 16px; padding: 6px 14px;
    border: 1px solid rgba(212,168,67,.48); border-radius: 999px;
    color: #f2d78e; font-size: .8rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
}
.ec-case__hero h1 {
    max-width: 980px; margin: 0 0 22px; color: var(--color-white);
    font-size: clamp(2rem,4.1vw,3.45rem); line-height: 1.15; letter-spacing: -.025em;
}
.ec-case__hero-lead { max-width: 890px; }
.ec-case__hero-lead p { color: #e1e7ee; font-size: 1.1rem; line-height: 1.8; }
.ec-case__hero-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 40px; }
.ec-case__hero-fact {
    min-width: 0; padding: 24px; border: 1px solid rgba(255,255,255,.19);
    border-radius: var(--radius-lg); background: rgba(255,255,255,.075);
}
.ec-case__hero-fact strong { display: block; margin-bottom: 9px; color: #f2d78e; font-size: clamp(1.4rem,2.5vw,2.3rem); line-height: 1.18; }
.ec-case__hero-fact span { color: #e1e7ee; font-size: .92rem; line-height: 1.55; }
.ec-case__hero-disclaimer { margin: 22px 0 0; color: #e1e7ee; font-size: .87rem; }
.ec-case__layout {
    display: grid; grid-template-columns: minmax(210px,260px) minmax(0,1fr);
    gap: clamp(30px,5vw,75px); max-width: 1200px; padding-top: 58px; padding-bottom: 86px;
}
.ec-case__sidebar { min-width: 0; }
.ec-case__toc {
    position: sticky; top: calc(var(--header-height) + 24px);
    padding: 22px 22px 18px; background: var(--color-bg);
    border: 1px solid var(--color-border); border-radius: var(--radius-lg);
}
.ec-case__toc-title { margin-bottom: 16px; font-size: .92rem; font-weight: 800; color: var(--color-primary); }
.ec-case__toc ol { display: grid; gap: 13px; list-style: decimal; padding-left: 20px; }
.ec-case__toc li { color: var(--color-accent-hover); }
.ec-case__toc a { display: inline-block; color: var(--color-text-secondary); font-size: .87rem; line-height: 1.5; }
.ec-case__toc a:hover { color: var(--color-primary); text-decoration: underline; }
.ec-case__body { min-width: 0; max-width: 855px; }
.ec-case__intro { margin-bottom: 46px; padding: 28px 32px; background: var(--color-bg); border-left: 4px solid var(--color-accent); border-radius: 0 var(--radius-lg) var(--radius-lg) 0; }
.ec-case__intro p { margin-bottom: 16px; color: var(--color-text-secondary); font-size: 1.035rem; line-height: 1.8; }
.ec-case__intro p:last-child { margin-bottom: 0; }
.ec-case__section { padding: 48px 0; border-top: 1px solid var(--color-border); scroll-margin-top: calc(var(--header-height) + 26px); }
.ec-case__number { display: block; margin-bottom: 12px; color: var(--color-accent-hover); font-size: .77rem; font-weight: 800; letter-spacing: .13em; }
.ec-case__section h2 { margin: 0 0 24px; color: var(--color-primary); font-size: clamp(1.45rem,2.3vw,1.9rem); line-height: 1.32; }
.ec-case__section p { margin: 0 0 18px; color: var(--color-text-secondary); font-size: 1.02rem; line-height: 1.78; }
.ec-case__section p:last-child { margin-bottom: 0; }
.ec-case__section strong { color: var(--color-primary); }
.ec-case__table-scroll { max-width: 100%; margin: 30px 0; overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); }
.ec-case__table-scroll:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.ec-case__table { width: 100%; min-width: 730px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ec-case__table caption { padding: 16px 18px; text-align: left; color: var(--color-primary); font-size: .92rem; font-weight: 700; background: var(--color-bg); }
.ec-case__table th { padding: 17px 15px; background: var(--color-primary); color: var(--color-white); text-align: left; font-size: .85rem; line-height: 1.4; }
.ec-case__table td { padding: 18px 15px; border-top: 1px solid var(--color-border); color: var(--color-text); font-size: .91rem; white-space: nowrap; }
.ec-case__table tbody tr:nth-child(even) { background: var(--color-bg); }
.ec-case__table td:first-child { font-weight: 700; }
.ec-case__byline-end { margin-top: 26px !important; padding-top: 18px; border-top: 1px solid var(--color-border); font-size: .92rem !important; }
.ec-case__endnotes { margin-top: 18px; padding: 30px 32px; border-radius: var(--radius-lg); background: var(--color-primary); }
.ec-case__endnotes p { color: var(--color-white); font-size: .98rem; line-height: 1.7; }
.ec-case__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.ec-case__actions .btn-outline { border-color: #f2d78e; color: #f2d78e; }
.ec-case__actions .btn-outline:hover { background: #f2d78e; color: var(--color-primary); }
.ec-case__actions .btn-primary { background: var(--color-white); color: var(--color-primary); }
.ec-case__actions .btn-primary:hover { background: #f2d78e; color: var(--color-primary); }
.ec-case a:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
@media (max-width: 1000px) {
    .ec-case__layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .ec-case__sidebar { order: 0; }
    .ec-case__body { order: 1; max-width: none; }
    .ec-case__toc { position: static; }
    .ec-case__toc ol { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 32px; }
}
@media (max-width: 720px) {
    .ec-case__hero { padding: calc(var(--header-height) + 28px) 0 48px; }
    .ec-case__breadcrumbs { margin-bottom: 28px; }
    .ec-case__hero-lead p { font-size: 1rem; }
    .ec-case__hero-facts { grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }
    .ec-case__hero-fact { padding: 19px 20px; }
    .ec-case__layout { padding-top: 34px; padding-bottom: 54px; }
    .ec-case__toc { padding: 20px; }
    .ec-case__toc ol { grid-template-columns: 1fr; }
    .ec-case__intro { padding: 22px; }
    .ec-case__section { padding: 36px 0; }
    .ec-case__endnotes { padding: 24px 20px; }
    .ec-case__actions { flex-direction: column; }
    .ec-case__actions .btn { width: 100%; }
}
@media (max-width: 360px) {
    .ec-case__hero-fact strong { font-size: 1.5rem; }
    .ec-case__breadcrumbs { font-size: .79rem; }
}

/* Единый шаблон кейсов: подзаголовки внутри разделов B2B-кейса. */
.ec-case__section h3 {
    margin: 32px 0 14px;
    color: var(--color-primary);
    line-height: 1.35;
}

/* Универсальные элементы экспертных лонгридов. */
.ec-case__body, .ec-case__hero { overflow-wrap: anywhere; }
.ec-case__body ul, .ec-case__body ol {
    margin: 20px 0 26px; padding-left: 24px;
    color: var(--color-text-secondary); line-height: 1.78;
}
.ec-case__body ul { list-style: disc; }
.ec-case__body ol { list-style: decimal; }
.ec-case__body li { margin-bottom: 10px; }
.ec-case__body img { max-width: 100%; height: auto; }
.ec-case__callout, .ec-case__emphasis, .ec-case__quote, .ec-case__panel {
    padding: 20px 22px; margin: 24px 0;
    border-radius: var(--radius-lg); background: var(--color-bg);
}
.ec-case__callout, .ec-case__quote { border-left: 4px solid var(--color-accent); }
.ec-case__section .ec-case__emphasis { background: rgba(212,168,67,.10); color: var(--color-primary); }
.ec-case__quote { color: var(--color-primary); font-size: 1.15rem; font-weight: 600; line-height: 1.6; }
.ec-case__panel { border: 1px solid var(--color-border); }
.ec-case__panel h3:first-of-type { margin-top: 0; }
.ec-case__flow { margin: 24px 0; padding: 18px 22px; border-radius: var(--radius-lg); background: var(--color-primary); color: var(--color-white); line-height: 1.75; text-align: center; }
.ec-case__chain, .ec-case__tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; align-items: center; }
.ec-case__chain span, .ec-case__tags span { padding: 6px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); color: var(--color-primary); line-height: 1.5; }
.ec-case__chain b { color: var(--color-accent-hover); }
.ec-case__columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 26px 0; }
.ec-case__columns > div, .ec-case__columns > p { padding: 22px; border-radius: var(--radius-lg); background: var(--color-bg); }
.ec-case__label { display: inline-block; margin-bottom: 10px; color: var(--color-accent-hover); font-size: .82rem; font-weight: 700; }
.ec-case__stack { display: grid; gap: 20px; margin-top: 26px; }
.ec-case__stack .ec-case__panel { margin: 0; }
.ec-case__buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.ec-case__toc { max-height: calc(100vh - var(--header-height) - 48px); overflow-y: auto; }
@media (max-width:1000px) { .ec-case__toc { max-height: none; overflow-y: visible; } }
@media (max-width:720px) {
    .ec-case__columns { grid-template-columns: minmax(0,1fr); }
    .ec-case__buttons { flex-direction: column; }
    .ec-case__buttons .btn { width: 100%; white-space: normal; }
}
.ec-case__figure { margin: 30px 0; }
.ec-case__figure img { display: block; width: 100%; height: auto; }
.ec-case__flow strong { color: inherit; }
.ec-case__body hr { margin: 28px 0; border: 0; border-top: 1px solid var(--color-border); }
