@charset "UTF-8";
/* app/public/css/editorial.css
 *
 * «Журнальная полоса» — оформление обоих сайтов (shop.mcfr.uz и action-shop.uz).
 * Подключается ПОСЛЕ main.min.css и перекрывает его. Все классы — с префиксом ed-,
 * чтобы не задевать старую разметку, которая ещё не переведена.
 *
 * Правило белого: бумага — всё, что читают; белый — только «предмет действия»
 * (карточка товара, форма, чек). Оранжевый — только цены, скидки и акции.
 * Кнопки — чернила; цвет журнала/направления — всё про конкретный продукт.
 */

:root {
    --ed-paper: #F3EEE4;
    --ed-white: #FFFFFF;
    --ed-sheet: #FBF8F2;
    --ed-plate: #EAE2D3;
    --ed-ink: #16130F;
    --ed-text2: #3A342C;
    --ed-grey: #5B544A;
    --ed-rule: #CFC6B6;
    --ed-accent: #D9381E;
    --ed-second: #1F3A5F;
    --ed-peach: #F4A27E;
    --ed-mist: #DCE3EE;
    --ed-buh: #0C073D;
    --ed-kadr: #B90619;
    --ed-other: #0F5A5F;

    --ed-serif: 'Playfair Display', Georgia, serif;
    --ed-sans: 'Golos Text', 'Segoe UI', system-ui, sans-serif;
    --ed-mono: 'IBM Plex Mono', ui-monospace, monospace;
    --ed-ptsans: 'PT Sans', Arial, sans-serif;
    --ed-ptserif: 'PT Serif', Georgia, serif;
}

/* ---------- основа ---------- */

body {
    background: var(--ed-paper);
    color: var(--ed-ink);
    font-family: var(--ed-sans);
    font-size: 16px;
    line-height: 1.55;
}

.ed-wrap {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 32px;
}

.ed-strip a, .ed-head a, .ed-nav a, .ed-crumbs a, .ed-foot a, .ed-page a {
    color: var(--ed-ink);
    line-height: inherit;
}
.ed-strip a:hover, .ed-head a:hover, .ed-nav a:hover, .ed-crumbs a:hover, .ed-foot a:hover, .ed-page a:hover {
    color: var(--ed-accent);
}

.ed-label {
    font-family: var(--ed-mono);
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ed-grey);
}

.ed-rubric {
    margin: 0 0 6px;
    font-family: var(--ed-mono);
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ed-grey);
}

.ed-h1, .ed-h2, .ed-h3 {
    font-family: var(--ed-serif);
    font-weight: 800;
    letter-spacing: -0.01em;
    text-align: left;
    color: var(--ed-ink);
}
.ed-h1 { margin: 0 0 16px; font-size: 64px; line-height: 1; letter-spacing: -0.02em; }
.ed-h2 { margin: 0; font-size: 40px; line-height: 1.08; }
.ed-h3 { margin: 0; font-size: 26px; line-height: 1.15; }
.ed-h1 i, .ed-h2 i, .ed-h3 i { font-style: italic; }

/* ---------- кнопки ---------- */

.ed-btn, a.ed-btn {
    height: 52px;
    padding: 0 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    background: var(--ed-ink);
    color: var(--ed-paper);
    font-family: var(--ed-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.2s;
}
.ed-btn:hover, a.ed-btn:hover { color: var(--ed-paper); opacity: 0.88; }
.ed-btn--line, a.ed-btn--line {
    background: transparent;
    color: var(--ed-ink);
    border: 1.5px solid var(--ed-ink);
}
.ed-btn--line:hover, a.ed-btn--line:hover { color: var(--ed-ink); background: rgba(22, 19, 15, 0.06); opacity: 1; }
.ed-btn--paper, a.ed-btn--paper { background: var(--ed-paper); color: var(--ed-ink); }
.ed-btn--paper:hover, a.ed-btn--paper:hover { color: var(--ed-ink); }
.ed-btn--full { width: 100%; }
.ed-btn:disabled { opacity: 0.45; cursor: not-allowed; }

.ed-pill {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    background: var(--ed-ink);
    color: var(--ed-white);
    font-family: var(--ed-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    line-height: 1.3;
}

/* ---------- строка выходных данных ---------- */

.ed-strip {
    border-bottom: 1px solid var(--ed-ink);
    background: var(--ed-paper);
}
.ed-strip__in {
    padding-top: 8px;
    padding-bottom: 8px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 24px;
    font-family: var(--ed-mono);
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.ed-strip__links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ed-strip__links a { text-decoration: none; }
.ed-strip__lang a { color: var(--ed-grey); }
.ed-strip__lang a.is-on { color: var(--ed-ink); font-weight: 600; }

/* ---------- титул ---------- */

header.ed-head {
    padding: 22px 0 0;
    background: var(--ed-paper);
    box-shadow: none;
}
.ed-head__row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
}
.ed-head__tag {
    margin: 0;
    font-family: var(--ed-mono);
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ed-grey);
    line-height: 1.5;
}
.ed-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-decoration: none;
}
.ed-logo__svg { display: block; height: 40px; width: auto; }
.ed-logo--small .ed-logo__svg { height: 30px; }
.ed-logo__sub {
    font-family: var(--ed-serif);
    font-style: italic;
    font-size: 17px;
    color: var(--ed-ink);
    text-align: center;
}
.ed-head__tools {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}

/* Кнопку ID2 рисует виджет экосистемы — убираем его отступы и центровку. */
.ed-id > .text-center { text-align: right !important; }
.ed-id #panelcontainer { margin-top: 0 !important; min-width: 0 !important; vertical-align: middle; }

.ed-iconbtn, a.ed-iconbtn {
    position: relative;
    width: 44px;
    height: 44px;
    border: 1px solid var(--ed-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ed-ink);
    background: transparent;
    text-decoration: none;
}
.ed-iconbtn:hover { color: var(--ed-accent); }
.ed-head .cart-header-btn.ed-iconbtn { border-radius: 0; background: transparent; width: 44px; height: 44px; }

.ed-badge, .cart-header-badge.ed-badge {
    position: absolute;
    top: -9px;
    right: -9px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--ed-accent);
    color: var(--ed-white);
    font-family: var(--ed-sans);
    font-size: 11px;
    font-weight: 600;
    line-height: 20px;
    text-align: center;
}

/* ---------- меню ---------- */

.ed-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--ed-paper);
    padding-top: 20px;
}
.ed-nav__in {
    border-top: 3px solid var(--ed-ink);
    border-bottom: 1px solid var(--ed-ink);
    padding-top: 2px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px 36px;
    background-image: linear-gradient(var(--ed-ink), var(--ed-ink));
    background-size: 100% 1px;
    background-position: 0 2px;
    background-repeat: no-repeat;
}
.ed-nav__in a {
    padding: 13px 0 12px;
    font-family: var(--ed-mono);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

/* ---------- хлебные крошки ---------- */

.ed-crumbs { padding-top: 22px; }
.ed-crumbs ol {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 0;
    font-family: var(--ed-mono);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.ed-crumbs li { display: inline-flex; align-items: center; }
.ed-crumbs li + li::before { content: '/'; margin: 0 10px; color: var(--ed-rule); }
.ed-crumbs a { color: var(--ed-grey); text-decoration: none; }
.ed-crumbs [aria-current] { color: var(--ed-ink); }

/* ---------- подвал ---------- */

footer.ed-foot {
    margin-top: 72px;
    padding: 0;
    border-top: 3px solid var(--ed-ink);
    background: var(--ed-paper);
}
.ed-foot > .ed-wrap { padding-top: 2px; }
.ed-foot__cols {
    border-top: 1px solid var(--ed-ink);
    padding: 36px 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 32px;
}
.ed-foot__brand { display: flex; flex-direction: column; gap: 12px; }
.ed-foot__brand .ed-logo { align-items: flex-start; }
.ed-foot__sub {
    margin: 0;
    font-family: var(--ed-serif);
    font-style: italic;
    font-size: 16px;
    color: var(--ed-grey);
}
.ed-foot__col { display: flex; flex-direction: column; gap: 8px; }
.ed-foot__col a { text-decoration: none; line-height: 1.4; }
.ed-foot__legal { font-size: 14px; color: var(--ed-grey); gap: 6px; }
.ed-foot__bottom {
    border-top: 1px solid var(--ed-ink);
    padding: 16px 0 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 24px;
    font-family: var(--ed-mono);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: var(--ed-grey);
}

/* ---------- мини-корзина в стиле полосы ---------- */

.mini-cart { border-radius: 0; border: 1px solid var(--ed-ink); box-shadow: 0 16px 40px rgba(22, 19, 15, 0.18); }
.mini-cart::before { border-left: 1px solid var(--ed-ink); border-top: 1px solid var(--ed-ink); box-shadow: none; }
.mini-cart__head { font-family: var(--ed-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; border-bottom: 1px solid var(--ed-ink); }
.mini-cart__total strong { font-family: var(--ed-serif); font-weight: 800; }

/* ======================================================================
   Страницы: общие блоки
   ====================================================================== */

.ed-page section, section.ed-page { margin-bottom: 0; }
.ed-page h1, .ed-page h2, .ed-page h3 { text-align: left; }
.ed-sec { padding-top: 72px; }
.ed-block { padding-top: 48px; }
.ed-block--first { padding-top: 0; }
.ed-mb14 { margin-bottom: 14px !important; }
.ed-mb18 { margin-bottom: 18px !important; }
.ed-label--ink { color: var(--ed-ink); }

.ed-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px; }
.ed-pill--line { background: transparent; color: var(--ed-ink); border: 1px solid var(--ed-ink); }
.ed-kicker { margin: 0 0 6px; font-family: var(--ed-mono); font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; }
.ed-lead { margin: 0 0 22px; max-width: 620px; font-size: 19px; line-height: 1.55; color: var(--ed-text2); }
.ed-quote { margin: 6px 0 0; font-family: var(--ed-serif); font-style: italic; font-weight: 700; font-size: 24px; line-height: 1.3; }
.ed-benefit { margin: 0; font-weight: 600; font-size: 17px; }
.ed-h1--xl { font-size: 82px; }
.ed-h1--md { font-size: 52px; line-height: 1.04; }

.ed-btn--color, a.ed-btn--color { background: var(--c, var(--ed-ink)); color: var(--ed-white); }
.ed-btn--color:hover, a.ed-btn--color:hover { color: var(--ed-white); }
.ed-btn--sm, a.ed-btn--sm { height: 46px; padding: 0 20px; font-size: 15px; }

/* узоры */
.ed-nat { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.ed-tech { position: absolute; top: -160px; left: -160px; width: calc(100% + 160px); height: calc(100% + 160px); display: block; pointer-events: none; }
/* живая сеть поверх плашки — js/ed-plexus.js; !important — плашки делают своих детей relative */
.ed-plexus { position: absolute !important; top: 0; left: 0; display: block; pointer-events: none; }
@keyframes edTechDrift { from { transform: translate(0, 0); } to { transform: translate(160px, 160px); } }
@keyframes edMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: no-preference) {
    .ed-orgs__run { animation: edMarquee 60s linear infinite; }
    .ed-ticker__run { animation: edMarquee 28s linear infinite; }
}

/* лента организаторов */
.ed-orgs { margin-top: 48px; background: var(--ed-ink); color: var(--ed-paper); padding: 22px 0 18px; }
.ed-orgs__title { margin: 0 auto 14px; font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: #B9AFA0; }
.ed-orgs__viewport { overflow: hidden; }
.ed-orgs__run { display: flex; width: max-content; }
.ed-orgs__run a { flex-shrink: 0; display: inline-flex; align-items: center; padding: 0 44px; }
.ed-orgs__run img { height: 56px; width: auto; display: block; max-width: none; }

/* бегущая строка */
.ed-ticker { background: var(--ed-second); color: var(--ed-paper); overflow: hidden; white-space: nowrap; padding: 14px 0; font-family: var(--ed-mono); font-size: 14px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.ed-ticker__run { display: inline-block; }
.ed-ticker__run i { font-style: normal; color: var(--ed-peach); margin: 0 14px; }

/* ======================================================================
   Страница товара
   ====================================================================== */

.ed-prod__hero { padding-top: 28px; }
.ed-prod__grid {
    padding-top: 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 48px;
    align-items: start;
}
.ed-prod__main { min-width: 0; }

.ed-prod__journal {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 44px;
    align-items: start;
    padding-bottom: 36px;
    border-bottom: 3px solid var(--ed-ink);
}
.ed-prod__cover { padding: 10px 0 0 6px; }

/* событие: текст + панель даты */
.ed-hero2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 40px; align-items: stretch; }
.ed-hero2__text { min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.ed-datepanel { position: relative; min-height: 400px; overflow: hidden; color: var(--ed-paper); background: linear-gradient(135deg, var(--ed-second) 0%, #0F4C5C 100%); }
.ed-datepanel__in { position: relative; height: 100%; min-height: 400px; padding: 32px 36px; display: flex; flex-direction: column; }
.ed-datepanel p { margin: 0; }
.ed-datepanel__where { font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ed-peach); }
.ed-datepanel__day { margin-top: 8px !important; font-family: var(--ed-ptsans); font-weight: 700; font-size: 150px; line-height: 0.85; }
.ed-datepanel__month { margin-top: 4px !important; font-family: var(--ed-serif); font-weight: 800; font-size: 48px; line-height: 1; }
.ed-datepanel__month span { font-family: var(--ed-mono); font-size: 16px; font-weight: 500; letter-spacing: 0.12em; }
.ed-datepanel__stats { margin-top: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; border-top: 1px solid rgba(243, 238, 228, 0.45); padding-top: 14px; }
.ed-datepanel__stats b { display: block; font-family: var(--ed-serif); font-weight: 800; font-size: 30px; }
.ed-datepanel__stats span { font-size: 13px; color: var(--ed-mist); }

/* школа */
.ed-schoolhero { display: grid; grid-template-columns: 420px minmax(0, 1fr); border: 1px solid var(--ed-ink); }
.ed-schoolhero__panel { position: relative; overflow: hidden; color: var(--ed-white); padding: 32px; min-height: 420px; display: flex; flex-direction: column; justify-content: space-between; }
.ed-schoolhero__panel > * { position: relative; }
.ed-schoolhero__panel > .ed-tech { position: absolute; }
.ed-schoolhero__panel p { margin: 0; }
.ed-schoolhero__kicker { font-family: var(--ed-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.ed-schoolhero__num { font-family: var(--ed-ptsans); font-weight: 700; font-size: 180px; line-height: 0.85; }
.ed-schoolhero__cap { margin-top: 8px !important; font-family: var(--ed-mono); font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; }
.ed-schoolhero__text { padding: 40px 44px; background: var(--ed-white); display: flex; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; }

/* живая обложка: размеры в em от ширины --w (база 180 px) */
.ed-cover {
    --w: 180;
    width: calc(var(--w) * 1px);
    height: calc(var(--w) * 1.389px);
    font-size: calc(var(--w) / 180 * 1px);
    flex-shrink: 0;
    background: var(--ed-sheet);
    border: 1px solid var(--ed-ink);
    box-shadow: 0 10em 22em rgba(22, 19, 15, 0.22);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--ed-ink);
}
.ed-cover p { margin: 0; line-height: 1.1; }
/* шапка обложки: сверху узбекское название и номер, ниже — название журнала
   во всю ширину (длинное «НАЛОГООБЛОЖЕНИЕ» иначе налезало на номер) */
.ed-cover__top { padding: 10em 10em 6em; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "uz num" "ru ru"; column-gap: 8em; align-items: start; }
.ed-cover__titles { display: contents; }
.ed-cover__uz { grid-area: uz; min-width: 0; }
.ed-cover__ru { grid-area: ru; overflow-wrap: anywhere; }
.ed-cover__num { grid-area: num; }
.ed-cover__uz { font-family: var(--ed-mono); font-size: 7em; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; color: var(--c); }
.ed-cover__ru { margin-top: 0.5em !important; font-family: var(--ed-ptserif); font-weight: 700; font-size: 11em; text-transform: uppercase; }
.ed-cover__num { text-align: right; flex-shrink: 0; }
.ed-cover__no { font-family: var(--ed-ptsans); font-weight: 700; font-size: 22em; line-height: 0.95 !important; }
.ed-cover__month { margin-top: 0.3em !important; font-family: var(--ed-mono); font-size: 7em; text-transform: uppercase; }
.ed-cover__band { flex-grow: 1; background: var(--c); color: var(--ed-white); padding: 10em; display: flex; align-items: flex-end; }
.ed-cover__band p { font-family: var(--ed-ptserif); font-weight: 700; font-size: 14em; line-height: 1.15; }
.ed-cover__foot { padding: 4em 10em; font-family: var(--ed-mono); font-size: 6em; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ed-grey); }
.ed-cover--img { background: var(--ed-white); }
.ed-cover--img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* плитка события/школы */
.ed-tile { flex-shrink: 0; color: var(--ed-white); padding: 8px; display: flex; flex-direction: column; justify-content: space-between; }
.ed-tile__big { font-family: var(--ed-ptsans); font-weight: 700; line-height: 0.9; }
.ed-tile__small { font-family: var(--ed-mono); font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }

/* оглавление и программа */
.ed-toc { margin-top: 18px; border-top: 3px solid var(--ed-ink); }
.ed-toc__row { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--ed-rule); }
.ed-toc__row--num { grid-template-columns: 64px minmax(0, 1fr); }
.ed-toc__rub { font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.ed-toc__title { font-family: var(--ed-serif); font-weight: 700; font-size: 22px; line-height: 1.25; }

/* текст из админки */
.ed-prose { max-width: 760px; font-size: 17px; line-height: 1.65; color: var(--ed-text2); }
.ed-prose h2, .ed-prose h3 { margin: 28px 0 10px; font-family: var(--ed-serif); font-weight: 800; font-size: 26px; line-height: 1.2; color: var(--ed-ink); text-align: left; }
.ed-prose h4 { margin: 20px 0 6px; font-weight: 600; font-size: 18px; color: var(--ed-ink); }
.ed-prose p { margin: 0 0 14px; }
.ed-prose ul, .ed-prose ol { margin: 0 0 18px; padding-left: 22px; }
.ed-prose li { margin-bottom: 8px; }
.ed-prose a { color: var(--ed-ink); text-decoration: underline; }
.ed-prose img { max-width: 100%; height: auto; }

/* факты и шаги */
.ed-facts { display: grid; border-top: 3px solid var(--ed-ink); }
.ed-facts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ed-facts--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ed-fact { padding: 20px 24px; border-right: 1px solid var(--ed-rule); border-bottom: 1px solid var(--ed-rule); }
.ed-facts--3 .ed-fact:nth-child(3n), .ed-facts--2 .ed-fact:nth-child(2n) { border-right: 0; }
.ed-facts--3 .ed-fact:nth-child(3n+1), .ed-facts--2 .ed-fact:nth-child(2n+1) { padding-left: 0; }
.ed-fact p { margin: 0; }
.ed-fact__no { margin-bottom: 4px !important; font-family: var(--ed-serif); font-weight: 800; font-size: 22px; color: var(--ed-second); }
.ed-fact__title { font-weight: 600; font-size: 17px; }
.ed-fact__text { margin-top: 4px !important; font-size: 15px; color: var(--ed-grey); }

.ed-steps { margin-top: 36px; border: 1px solid var(--ed-ink); display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ed-rubric + .ed-steps { margin-top: 0; }
.ed-step { padding: 24px; border-right: 1px solid var(--ed-ink); }
.ed-step p { margin: 0; }
.ed-step__no { margin-bottom: 10px !important; font-family: var(--ed-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.ed-step__title { margin-bottom: 4px !important; font-family: var(--ed-serif); font-weight: 700; font-size: 22px; }
.ed-step__text { font-size: 15px; color: var(--ed-grey); }
.ed-step--dark { border-right: 0; background: var(--ed-second); color: var(--ed-paper); }
.ed-step--dark .ed-step__no { color: var(--ed-peach); }
.ed-step--dark .ed-step__text { color: var(--ed-mist); }

/* карточка покупки */
.ed-buy { align-self: start; position: sticky; top: 72px; border: 1px solid var(--ed-ink); background: var(--ed-white); }
.ed-buy__bar { height: 8px; background: var(--c); }
.ed-buy__body { padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.ed-buy__opts { margin: 0; padding: 0; border: 0; display: grid; gap: 10px; min-width: 0; }
.ed-buy__opts legend { margin-bottom: 8px; }
.ed-opt { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 16px; border: 1px solid var(--ed-rule); cursor: pointer; margin: 0; }
.ed-opt:has(input:checked) { border: 2px solid var(--ed-ink); padding: 13px 15px; }
.ed-opt input { margin: 4px 0 0; width: 18px; height: 18px; accent-color: var(--ed-ink); }
.ed-opt__title { display: block; font-weight: 600; }
.ed-opt__price { display: block; margin-top: 2px; }
.ed-opt__price b { font-family: var(--ed-serif); font-weight: 800; font-size: 26px; }
.ed-opt__price del { white-space: nowrap; margin-left: 8px; font-size: 15px; color: var(--ed-grey); }
.ed-opt__sub { display: block; font-size: 14px; color: var(--ed-grey); }
.ed-buy__now { margin: 0; }
.ed-buy__notes { margin: 4px 0 0; padding: 14px 0 0; border-top: 1px solid var(--ed-rule); list-style: none; display: grid; gap: 8px; font-size: 14px; color: var(--ed-grey); }
.ed-buy__notes li { display: grid; grid-template-columns: 18px minmax(0, 1fr); }
.ed-buy__notes li::before { content: '\2014'; color: var(--c); }

/* «Добавить в корзину» (_qty_pill) в карточке покупки */
.ed-buy .order-qty-row { margin: 0; gap: 10px; }
.ed-buy .qty-pill { height: 52px; border: 1.5px solid var(--ed-ink); border-radius: 0; width: 100%; }
.ed-buy .qty-pill__btn { width: 52px; background: var(--ed-white); color: var(--ed-ink); font-family: var(--ed-sans); font-weight: 500; }
.ed-buy .qty-pill__btn:hover:not(:disabled) { background: var(--ed-ink); color: var(--ed-paper); }
.ed-buy .qty-pill__num { border-left: 1.5px solid var(--ed-ink); border-right: 1.5px solid var(--ed-ink); color: var(--ed-ink); font-family: var(--ed-sans); font-size: 16px; font-weight: 600; background: var(--ed-white); }
.ed-buy .qty-pill__num span { background: var(--ed-accent); border-radius: 10px; }
.ed-buy .qp-go-cart { height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0; background: transparent; border: 1.5px solid var(--ed-ink); color: var(--ed-ink); font-weight: 600; }
.ed-buy .qp-go-cart:hover { background: var(--ed-ink); color: var(--ed-paper); }

/* карточки «ещё в магазине» */
.ed-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); border-top: 1px solid var(--ed-ink); border-left: 1px solid var(--ed-ink); }
.ed-mini { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 22px; padding: 22px; background: var(--ed-white); border-right: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); }
.ed-mini__body { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; min-width: 0; }
.ed-mini .ed-h3 a { text-decoration: none; }
.ed-mini__price { margin: 0; }
.ed-mini__price b { font-family: var(--ed-serif); font-weight: 800; font-size: 22px; }
.ed-mini .ed-btn { margin-top: auto; }

@media (max-width: 1000px) {
    .ed-prod__grid { grid-template-columns: minmax(0, 1fr); }
    .ed-buy { position: static; }
    .ed-prod__journal { grid-template-columns: minmax(0, 1fr); }
    .ed-schoolhero { grid-template-columns: minmax(0, 1fr); }
    .ed-schoolhero__panel { min-height: 240px; }
    .ed-facts--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ed-h1--xl { font-size: 52px; }
    .ed-h1--md { font-size: 38px; }
    .ed-datepanel__day { font-size: 110px; }
    .ed-toc__row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .ed-cards { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .ed-facts--3, .ed-facts--2 { grid-template-columns: minmax(0, 1fr); }
    .ed-fact { padding-left: 0; border-right: 0; }
    .ed-mini { grid-template-columns: 80px minmax(0, 1fr); }
}

/* ======================================================================
   Корзина
   ====================================================================== */

.ed-page.cart-page { padding-top: 28px; }
.ed-cart__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 32px; padding-bottom: 18px; }
.ed-cart__head .ed-h1 { margin: 0; }
.ed-cart { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; }
.ed-cart__main { min-width: 0; }
.ed-cart__list { background: var(--ed-white); border: 1px solid var(--ed-ink); border-top: 3px solid var(--ed-ink); }

.ed-crow {
    display: grid;
    grid-template-columns: 6px 72px minmax(0, 1fr) auto 150px 44px;
    gap: 18px;
    align-items: center;
    padding: 20px 20px 20px 0;
    border-bottom: 1px solid var(--ed-rule);
}
.ed-crow:last-child { border-bottom: 0; }
.ed-crow__bar { align-self: stretch; background: var(--c); }
.ed-crow__info { min-width: 0; }
.ed-crow__info p { margin: 0; }
.ed-crow__title { margin: 0 0 4px; font-family: var(--ed-serif); font-weight: 700; font-size: 22px; line-height: 1.2; text-align: left; }
.ed-crow__title a { text-decoration: none; }
.ed-crow__meta { font-size: 14px; color: var(--ed-grey); }
.ed-crow__unit { margin-top: 2px !important; font-family: var(--ed-mono); font-size: 12px; color: var(--ed-grey); }
.ed-crow__note { margin-top: 6px !important; font-size: 13px; color: var(--c); }
.ed-crow__partial { margin-top: 10px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px dashed var(--c); font-size: 14px; cursor: pointer; }
.ed-crow__partial input { width: 18px; height: 18px; margin: 0; accent-color: var(--ed-ink); }
.ed-crow__sum { text-align: right; font-family: var(--ed-serif); font-weight: 800; font-size: 21px; white-space: nowrap; }
.ed-crow__remove { width: 44px; height: 44px; border: 0; background: transparent; color: var(--ed-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.ed-crow__remove:hover { color: var(--ed-accent); }

.ed-qty { display: inline-flex; align-items: center; border: 1px solid var(--ed-ink); background: var(--ed-white); }
.ed-qty .qty-btn { width: 44px; height: 42px; border: 0; background: transparent; font-family: inherit; font-size: 20px; color: var(--ed-ink); cursor: pointer; border-radius: 0; }
.ed-qty .qty-btn:disabled { opacity: 0.3; cursor: default; }
.ed-qty .qty-display { min-width: 36px; text-align: center; font-weight: 600; font-size: 17px; }

.ed-cart__under { margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
.ed-cart__under form { margin: 0; }
.ed-cart__back { font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.ed-linkbtn { height: 44px; padding: 0 4px; border: 0; background: transparent; font-family: inherit; font-size: 15px; color: var(--ed-grey); text-decoration: underline; cursor: pointer; }

.ed-cart__side { position: sticky; top: 72px; display: flex; flex-direction: column; gap: 16px; }
.ed-sum { border: 1px solid var(--ed-ink); background: var(--ed-white); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.ed-sum__line { display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid var(--ed-rule); color: var(--ed-grey); }
.ed-sum__line span:last-child { font-family: var(--ed-mono); color: var(--ed-ink); }
.ed-sum__total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-top: 12px; border-top: 3px solid var(--ed-ink); }
.ed-sum__cap { font-family: var(--ed-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.ed-sum__total strong { font-family: var(--ed-serif); font-weight: 800; font-size: 30px; white-space: nowrap; }
.ed-sum__note { margin: 0; text-align: center; font-size: 13px; color: var(--ed-grey); }

.ed-plate { background: var(--ed-plate); border: 1px solid var(--ed-ink); padding: 20px 22px; font-size: 14px; color: var(--ed-grey); }
.ed-plate p { margin: 0 0 8px; }
.ed-plate p:last-child { margin-bottom: 0; }
.ed-plate__title { font-size: 16px; font-weight: 600; color: var(--ed-ink); }
.ed-plate__links { display: flex; flex-wrap: wrap; gap: 6px 16px; font-family: var(--ed-mono); font-size: 13px; }

.ed-cartempty { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 56px; align-items: center; border-top: 3px solid var(--ed-ink); padding-top: 40px; }
.ed-cards--stack { grid-template-columns: minmax(0, 1fr); }

/* окно оплаты (fancybox) */
.fancybox-content.ed-paymodal, .ed-paymodal { width: 540px; max-width: 100%; padding: 30px 34px 26px !important; background: var(--ed-white); border-radius: 0; color: var(--ed-ink); font-family: var(--ed-sans); }
.ed-paymodal__h { margin: 4px 0 16px !important; font-family: var(--ed-serif); font-weight: 800; font-size: 36px; line-height: 1.05; text-align: left; }
.ed-paymodal__items { border-top: 1px solid var(--ed-ink); padding-top: 12px; display: grid; gap: 10px; }
.ed-paymodal__items .cart-all-modal__row { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; }
.ed-paymodal__items .cart-all-modal__sum { font-family: var(--ed-mono); white-space: nowrap; }
.ed-paymodal__total { margin-top: 14px; padding-top: 12px; border-top: 3px solid var(--ed-ink); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ed-paymodal__total strong { font-family: var(--ed-serif); font-weight: 800; font-size: 28px; }
.ed-paymodal__after { margin: 16px 0 0; padding: 12px 14px; background: var(--ed-plate); font-size: 14px; line-height: 1.5; }
.ed-paymodal__check { margin: 16px 0 18px; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 15px; cursor: pointer; }
.ed-paymodal__check input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--ed-ink); }
.ed-paymodal__check a { color: var(--ed-ink); text-decoration: underline; }
.ed-paymodal form { margin: 0; }
.ed-paymodal__note { margin: 12px 0 0; text-align: center; font-size: 13px; color: var(--ed-grey); }
.ed-paymodal__note a { color: var(--ed-ink); font-weight: 600; }

@media (max-width: 1000px) {
    .ed-cart { grid-template-columns: minmax(0, 1fr); }
    .ed-cart__side { position: static; }
    .ed-cartempty { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 700px) {
    .ed-crow { grid-template-columns: 6px 60px minmax(0, 1fr) auto; grid-template-areas: "bar tile info info" "bar tile qty sum"; position: relative; padding: 16px 12px 16px 0; gap: 10px 12px; }
    .ed-crow__bar { grid-area: bar; }
    .ed-crow__tile { grid-area: tile; }
    .ed-crow__info { grid-area: info; }
    .ed-crow__remove { position: absolute; top: 6px; right: 0; }
    .ed-crow__info { padding-right: 36px; }
    .ed-qty { grid-area: qty; justify-self: start; }
    .ed-crow__sum { grid-area: sum; text-align: right; font-size: 18px; }
    .ed-crow__tile .ed-cover, .ed-crow__tile .ed-tile { --w: 60 !important; width: 60px !important; height: 84px !important; }
}

/* ======================================================================
   Главная
   ====================================================================== */

.ed-sec--64 { padding-top: 64px; }
.ed-sec--40 { padding-top: 40px; }
.ed-rubric--accent { color: var(--ed-accent); font-weight: 600; margin-bottom: 14px; }
.ed-rubric--peach { color: var(--ed-peach); margin-bottom: 10px; }
.ed-label--mist { color: #C7D2E3; margin: 0 0 6px; display: block; }
.ed-h2--light { color: var(--ed-paper); font-size: 44px; margin-bottom: 20px; }
.ed-h1--hero { font-size: 76px; line-height: 1.02; margin-bottom: 22px; }
.ed-btnrow { display: flex; flex-wrap: wrap; gap: 12px; }
.ed-btnrow .ed-btn { height: 54px; padding: 0 28px; }
.ed-inline { display: inline; margin: 0; }
.ed-btn--second, a.ed-btn--second { background: var(--ed-second); color: var(--ed-white); white-space: nowrap; }
.ed-btn--second:hover, a.ed-btn--second:hover { color: var(--ed-white); }
.ed-btn--tg, a.ed-btn--tg { background: var(--ed-second); color: var(--ed-paper); }
.ed-btn--tg:hover, a.ed-btn--tg:hover { color: var(--ed-paper); }
.ed-date { font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; font-weight: 600; }

.ed-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 32px; margin-bottom: 24px; }
.ed-sechead__note { margin: 0; max-width: 380px; font-size: 15px; color: var(--ed-grey); }
.ed-sechead__link { font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }

/* передовица */
.ed-hero { padding-top: 40px; }
.ed-hero__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 40px; align-items: center; }
.ed-hero__text { min-width: 0; }
.ed-hero__art { position: relative; min-height: 470px; min-width: 0; }
.ed-hero__plate { position: absolute; left: 8%; right: 0; top: 30px; bottom: 30px; background: var(--ed-second); overflow: hidden; }
.ed-hero__cover { position: absolute; display: block; text-decoration: none; }
.ed-hero__cover--0 { left: 0; top: 0; }
.ed-hero__cover--1 { right: 7%; top: 56px; }
.ed-hero__cover .ed-cover { box-shadow: 0 18px 40px rgba(22, 19, 15, 0.28); }
.ed-hero__art--event .ed-datepanel { position: absolute; inset: 0 0 24px 6%; min-height: 0; }
.ed-hero__art--event .ed-datepanel__in { min-height: 0; padding: 36px 40px; }
.ed-datepanel__day--xl { font-size: 168px; }
.ed-hero__art--event .ed-datepanel__stats { margin-left: 110px; }

.ed-seal {
    position: absolute; right: 0; bottom: 0;
    width: 168px; height: 168px; border-radius: 50%;
    background: var(--ed-accent); color: var(--ed-white);
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
    transform: rotate(-10deg);
    box-shadow: 0 10px 24px rgba(22, 19, 15, 0.25);
    z-index: 2;
}
.ed-seal--left { right: auto; left: 0; width: 160px; height: 160px; }
.ed-seal__cap { font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.ed-seal__price { font-family: var(--ed-serif); font-weight: 800; font-size: 34px; line-height: 1.05; }
.ed-seal del { font-size: 13px; }

.ed-stats { margin-top: 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); border-top: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); }
.ed-stats > div { padding: 18px 20px; border-right: 1px solid var(--ed-rule); }
.ed-stats > div:first-child { padding-left: 0; }
.ed-stats > div:last-child { border-right: 0; }
.ed-stats p { margin: 4px 0 0; font-size: 14px; color: var(--ed-grey); }
.ed-stats p.ed-stats__big { margin: 0; font-family: var(--ed-serif); font-weight: 800; font-size: 34px; line-height: 1.1; color: var(--ed-ink); }

.ed-ticker--gap { margin-top: 48px; }
.ed-ticker--gap + .ed-orgs { margin-top: 0; }

/* свежие номера */
.ed-issues { display: grid; grid-template-columns: repeat(auto-fit, minmax(480px, 1fr)); border-top: 1px solid var(--ed-ink); border-left: 1px solid var(--ed-ink); }
.ed-issue { border-right: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); display: flex; flex-direction: column; }
.ed-issue__bar { height: 8px; background: var(--c); }
.ed-issue__body { padding: 26px; display: flex; flex-direction: column; gap: 18px; flex-grow: 1; background: var(--ed-white); }
.ed-issue__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ed-issue__head { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 22px; }
.ed-issue__cover { display: block; }
.ed-issue__title { font-size: 28px; line-height: 1.12; margin-bottom: 6px; }
.ed-issue__title a { text-decoration: none; }
.ed-issue__aud { margin: 0 0 14px; font-size: 14px; color: var(--ed-grey); }
.ed-issue .ed-quote { font-size: 20px; }
.ed-issue__toc { border-top: 1px solid var(--ed-ink); padding-top: 12px; }
.ed-issue__toc dl { margin: 6px 0 0; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px 16px; font-size: 15px; }
.ed-issue__toc dt { font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; padding-top: 2px; }
.ed-issue__toc dd { margin: 0; }
.ed-issue__buy, .ed-poster__buy { margin-top: auto; border-top: 1px solid var(--ed-rule); padding-top: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.ed-issue__buy form { margin: 0; }
.ed-issue__price { font-family: var(--ed-serif); font-weight: 800; font-size: 30px; }
.ed-issue__buy del, .ed-poster__buy del { margin-left: 8px; font-size: 15px; color: var(--ed-grey); }
.ed-issue__sub { display: block; font-size: 14px; color: var(--ed-grey); }

/* спецпредложение */
.ed-offer { margin-top: 28px; display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; align-items: center; gap: 24px; border: 1px solid var(--ed-ink); background: var(--ed-plate); padding: 18px 24px 18px 18px; }
.ed-offer__tile { position: relative; overflow: hidden; height: 120px; background: var(--ed-kadr); color: var(--ed-white); display: flex; align-items: flex-end; padding: 14px; font-family: var(--ed-ptsans); font-weight: 700; font-size: 24px; line-height: 1; }
.ed-offer__tile span { position: relative; }
.ed-offer__title { margin: 10px 0 4px; font-weight: 700; }
.ed-offer__text { margin: 0; font-size: 15px; color: var(--ed-grey); }

/* полоса справочных систем */
.ed-sysband { position: relative; overflow: hidden; margin-top: 72px; background: var(--ed-second); color: var(--ed-paper); }
.ed-sysband__in { position: relative; padding-top: 72px; padding-bottom: 72px; display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 40px; }
.ed-sysband__lead { margin: 0 0 28px; max-width: 440px; font-size: 17px; color: var(--ed-mist); }
.ed-sysband__list { border-top: 1px solid rgba(243, 238, 228, 0.45); }
.ed-sysband a.ed-sysband__row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid rgba(243, 238, 228, 0.45); color: var(--ed-paper); text-decoration: none; }
.ed-sysband a.ed-sysband__row:hover { color: var(--ed-peach); }
.ed-sysband__no { font-family: var(--ed-mono); font-size: 13px; color: var(--ed-peach); }
.ed-sysband__aud { display: block; font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #C7D2E3; }
.ed-sysband__name { font-family: var(--ed-serif); font-weight: 700; font-size: 26px; }
.ed-sysband__go { font-size: 14px; font-weight: 600; white-space: nowrap; }

/* о компании */
.ed-about { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 40px; border-top: 1px solid var(--ed-ink); padding-top: 28px; }
.ed-about__fig { margin: 0; min-width: 0; position: relative; padding-right: 64px; }
.ed-about__img { border: 1.5px solid var(--ed-ink); background: #F9EDDD; overflow: hidden; }
.ed-about__img img { width: 100%; height: 440px; object-fit: cover; object-position: top center; display: block; }
.ed-about__star { position: absolute; right: 0; top: 46%; width: 128px; height: 128px; transform: rotate(-8deg); }
.ed-about__fig figcaption { margin-top: 10px; font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.04em; color: var(--ed-grey); }
.ed-about__text { min-width: 0; }
.ed-dropcap { column-count: 2; column-gap: 32px; column-rule: 1px solid var(--ed-rule); font-size: 16px; line-height: 1.65; color: #2E2922; }
.ed-dropcap p { margin: 0 0 14px; }
.ed-dropcap p:first-child::first-letter { float: left; font-family: var(--ed-serif); font-weight: 800; font-size: 72px; line-height: 0.8; padding: 6px 10px 0 0; color: var(--ed-second); }
.ed-about__pub { margin-top: 24px; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 18px; align-items: center; border-top: 1px solid var(--ed-ink); padding-top: 18px; }
.ed-about__pub img { width: 120px; height: auto; display: block; }
.ed-about__pub p { margin: 0; font-size: 14px; color: var(--ed-grey); }

/* новости */
.ed-news3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); border-top: 3px solid var(--ed-ink); }
.ed-news3__item { padding: 22px 24px 24px; border-right: 1px solid var(--ed-rule); display: flex; flex-direction: column; gap: 10px; }
.ed-news3__item:first-child { padding-left: 0; }
.ed-news3__item:last-child { border-right: 0; padding-right: 0; }
.ed-news3__title { margin: 0; font-family: var(--ed-serif); font-weight: 700; font-size: 23px; line-height: 1.22; text-align: left; }
.ed-news3__title a { text-decoration: none; }
.ed-news3__text { margin: 0; font-size: 15px; color: var(--ed-grey); }

/* письмо в редакцию */
.ed-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); border: 1px solid var(--ed-ink); }
.ed-contact__form { padding: 36px; min-width: 0; }
.ed-contact__info { padding: 36px; background: var(--ed-second); color: var(--ed-paper); display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.ed-contact__info a { color: var(--ed-paper); text-decoration: none; }
.ed-contact__info a:hover { color: var(--ed-peach); }
.ed-contact__big { font-family: var(--ed-serif); font-weight: 700; font-size: 32px; }
.ed-contact__mid { font-family: var(--ed-serif); font-weight: 700; font-size: 26px; word-break: break-word; }
.ed-contact__addr { margin: 0; font-size: 18px; }
.ed-contact__note { margin: auto 0 0; border-top: 1px solid rgba(243, 238, 228, 0.4); padding-top: 18px; font-size: 14px; color: var(--ed-mist); }
.ed-form { display: grid; gap: 14px; }
.ed-field { display: grid; gap: 6px; }
.ed-field label { font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; }
.ed-field input, .ed-field textarea { width: 100%; height: 50px; padding: 0 14px; border: 1px solid var(--ed-ink); border-radius: 0; background: var(--ed-white); font-family: inherit; font-size: 16px; color: var(--ed-ink); }
.ed-field textarea { height: auto; padding: 12px 14px; resize: vertical; }
.ed-field .errorMessage { font-size: 13px; color: #B3261E; }
.ed-flash { margin: 0 0 16px; padding: 12px 14px; font-size: 15px; border: 1px solid var(--ed-ink); }
.ed-flash--ok { background: var(--ed-plate); }
.ed-flash--err { background: #F6DDD7; }

/* афиша */
.ed-posters { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); border-top: 1px solid var(--ed-ink); border-left: 1px solid var(--ed-ink); }
.ed-poster { border-right: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); display: flex; flex-direction: column; }
.ed-poster__top { position: relative; overflow: hidden; min-height: 290px; padding: 22px 22px 18px; background: var(--c); color: var(--ed-white); display: flex; flex-direction: column; }
.ed-poster__top > *:not(.ed-tech) { position: relative; }
.ed-poster__top p { margin: 0; }
.ed-poster__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ed-poster__day { font-family: var(--ed-ptsans); font-weight: 700; font-size: 64px; line-height: 0.9; }
.ed-poster__month { margin-top: 6px !important; font-family: var(--ed-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.ed-poster__city { padding: 4px 10px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 999px; font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.ed-poster__series { margin-top: auto !important; padding-top: 22px; font-family: var(--ed-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.9; }
.ed-poster__title { margin: 6px 0 0; font-family: var(--ed-ptserif); font-weight: 700; font-size: 30px; line-height: 1.08; text-align: left; }
.ed-page .ed-poster__title a { color: var(--ed-white); text-decoration: none; }
.ed-poster__body { padding: 20px 22px; display: flex; flex-direction: column; gap: 14px; flex-grow: 1; background: var(--ed-white); }
.ed-poster__lead { margin: 0; font-size: 15px; color: var(--ed-text2); flex-grow: 1; }

/* темы сезона */
.ed-cloud { border-top: 3px solid var(--ed-ink); padding-top: 18px; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 32px; align-items: start; }
.ed-cloud__note { margin: 0; font-size: 15px; color: var(--ed-grey); }
.ed-cloud__tags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ed-tag { border-radius: 999px; font-weight: 600; }
.ed-tag--0 { padding: 10px 20px; background: var(--c); color: var(--ed-white); font-size: 22px; }
.ed-tag--1 { padding: 8px 16px; border: 1.5px solid var(--c); color: var(--c); font-size: 18px; }
.ed-tag--2 { padding: 6px 14px; background: var(--ed-plate); color: var(--ed-ink); font-size: 16px; }

/* высшие школы */
.ed-schools { display: grid; grid-template-columns: repeat(auto-fit, minmax(520px, 1fr)); border-top: 1px solid var(--ed-ink); border-left: 1px solid var(--ed-ink); }
.ed-school { border-right: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); display: grid; grid-template-columns: 210px minmax(0, 1fr); }
.ed-school__panel { position: relative; overflow: hidden; background: var(--c); color: var(--ed-white); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
.ed-school__panel > *:not(.ed-tech) { position: relative; }
.ed-school__panel p { margin: 0; }
.ed-school__kicker { font-family: var(--ed-mono); font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.ed-school__num { font-family: var(--ed-ptsans); font-weight: 700; font-size: 72px; line-height: 0.9; }
.ed-school__cap { margin-top: 6px !important; font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.ed-school__body { padding: 22px 24px; display: flex; flex-direction: column; gap: 12px; background: var(--ed-white); min-width: 0; }
.ed-school__body .ed-h3 { font-size: 28px; }
.ed-school__body .ed-h3 a { text-decoration: none; }
.ed-school__text { margin: 0; font-size: 15px; color: var(--ed-text2); }

/* отзывы */
.ed-reviews { margin-top: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); border-top: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); }
.ed-reviews figure { margin: 0; padding: 22px 24px; border-right: 1px solid var(--ed-rule); }
.ed-reviews figure:last-child { border-right: 0; }
.ed-reviews blockquote { margin: 0; font-family: var(--ed-serif); font-style: italic; font-weight: 700; font-size: 21px; line-height: 1.35; }
.ed-reviews figcaption { margin-top: 12px; font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ed-grey); }

/* телеграм-каналы */
.ed-channels { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 0; border: 1px solid var(--ed-ink); }
.ed-page a.ed-channel { position: relative; overflow: hidden; min-height: 200px; padding: 26px; background: var(--c); color: var(--ed-white); text-decoration: none; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; border-right: 1px solid var(--ed-ink); }
.ed-channel > span { position: relative; }
.ed-channel__name { font-family: var(--ed-serif); font-weight: 800; font-size: 26px; line-height: 1.15; }
.ed-channel__text { font-size: 15px; opacity: 0.9; }

@media (max-width: 1000px) {
    .ed-h1--hero { font-size: 48px; }
    .ed-hero__art { min-height: 400px; }
    .ed-issues, .ed-posters, .ed-schools { grid-template-columns: minmax(0, 1fr); }
    .ed-offer { grid-template-columns: minmax(0, 1fr); }
    .ed-cloud { grid-template-columns: minmax(0, 1fr); }
    .ed-dropcap { column-count: 1; }
    .ed-h2--light { font-size: 32px; }
}
@media (max-width: 600px) {
    .ed-issue__head { grid-template-columns: minmax(0, 1fr); }
    .ed-issue__toc dl { grid-template-columns: minmax(0, 1fr); }
    .ed-school { grid-template-columns: minmax(0, 1fr); }
    .ed-hero__cover .ed-cover { --w: 170 !important; }
    .ed-news3__item { padding-left: 0; padding-right: 0; border-right: 0; border-bottom: 1px solid var(--ed-rule); }
}

/* ======================================================================
   Личный кабинет
   ====================================================================== */

.ed-cab { padding-top: 28px; }
.ed-cab__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 32px; }
.ed-cab__head .ed-h1 { margin: 0; }
.ed-cab__tabs { margin-top: 22px; }
.ed-tabs { display: flex; gap: 32px; border-top: 3px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); padding-top: 2px; }
.ed-tabs .tablinks { padding: 14px 0 12px; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; background: transparent; font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ed-grey); cursor: pointer; }
.ed-tabs .tablinks.active { border-bottom-color: var(--ed-ink); color: var(--ed-ink); font-weight: 600; }
.ed-cab__grid { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; }
.ed-cab__main { min-width: 0; }
.ed-cab__tip { margin: 0 0 16px; padding: 14px 18px; background: var(--ed-plate); font-size: 15px; }
.ed-cab__empty { padding: 32px; border: 1px solid var(--ed-ink); background: var(--ed-white); display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.ed-cab__empty p { margin: 0; font-size: 18px; }

.ed-orders { background: var(--ed-white); border: 1px solid var(--ed-ink); border-top: 3px solid var(--ed-ink); }
.ed-order { display: grid; grid-template-columns: 6px 64px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 20px 18px 0; border-bottom: 1px solid var(--ed-rule); }
.ed-order:last-child { border-bottom: 0; }
.ed-order__info { min-width: 0; }
.ed-order__info .ed-crow__title { margin-top: 4px; }
.ed-order__side { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.ed-order__sum { font-family: var(--ed-serif); font-weight: 800; font-size: 21px; white-space: nowrap; }
.ed-order__status { padding: 4px 10px; border: 1px solid var(--ed-ink); font-family: var(--ed-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }

.ed-pdata { background: var(--ed-white); border: 1px solid var(--ed-ink); border-top: 3px solid var(--ed-ink); padding: 8px 24px 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.ed-pfield { display: grid; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--ed-rule); min-width: 0; word-break: break-word; }
.ed-pfield > span:last-child { font-size: 16px; }

.ed-cab__side { display: flex; flex-direction: column; gap: 16px; }
.ed-profile { border: 1px solid var(--ed-ink); padding: 22px 24px; }
.ed-profile__name { margin: 8px 0 6px; font-family: var(--ed-serif); font-weight: 800; font-size: 26px; line-height: 1.15; }
.ed-cab__promo { position: relative; overflow: hidden; background: var(--c); color: var(--ed-white); padding: 22px 24px; }
.ed-cab__promo > div { position: relative; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.ed-cab__promo p { margin: 0; }
.ed-cab__promo-title { font-family: var(--ed-serif); font-weight: 800; font-size: 22px; line-height: 1.2; }
.ed-cab__promo-text { font-size: 14px; color: rgba(255, 255, 255, 0.85); margin-bottom: 8px !important; }

/* отдельные страницы: успех/ошибка оплаты, 404 */
.ed-notice { padding-top: 36px; }
.ed-notice__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; border-top: 3px solid var(--ed-ink); padding-top: 36px; }
.ed-notice__panel { position: relative; overflow: hidden; background: var(--ed-second); color: var(--ed-paper); min-height: 380px; padding: 36px; display: flex; flex-direction: column; justify-content: space-between; }
.ed-notice__panel > p { position: relative; margin: 0; }
.ed-notice__kicker { font-family: var(--ed-mono); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ed-peach); }
.ed-notice__big { font-family: var(--ed-ptsans); font-weight: 700; font-size: 200px; line-height: 0.8; }
.ed-notice__links { display: grid; border-top: 1px solid var(--ed-ink); border-left: 1px solid var(--ed-ink); margin-bottom: 22px; }
.ed-page a.ed-notice__link { padding: 20px 24px; border-right: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); text-decoration: none; display: flex; flex-direction: column; gap: 4px; }
.ed-notice__link b { font-family: var(--ed-serif); font-weight: 800; font-size: 24px; }
.ed-notice__link span:last-child { font-size: 15px; color: var(--ed-grey); }

@media (max-width: 1000px) {
    .ed-cab__grid { grid-template-columns: minmax(0, 1fr); }
    .ed-notice__grid { grid-template-columns: minmax(0, 1fr); }
    .ed-notice__panel { min-height: 240px; }
    .ed-notice__big { font-size: 140px; }
}
@media (max-width: 600px) {
    .ed-pdata { grid-template-columns: minmax(0, 1fr); }
    .ed-order { grid-template-columns: 6px 52px minmax(0, 1fr); }
    .ed-order__side { grid-column: 3; align-items: flex-start; text-align: left; }
    .ed-tabs { gap: 20px; }
}

/* ======================================================================
   Справочные системы, новости, статья, вход, о компании
   ====================================================================== */

.ed-h1--light { color: var(--ed-paper); font-size: 72px; margin: 0; }
.ed-sys { padding-top: 22px; }
.ed-syshero { position: relative; overflow: hidden; background: var(--ed-second); color: var(--ed-paper); }
.ed-syshero__in { position: relative; padding-top: 64px; padding-bottom: 64px; display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 40px; align-items: end; }
.ed-syshero__lead { margin: 0; font-size: 19px; line-height: 1.55; color: var(--ed-mist); }
.ed-syscards { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); border-top: 1px solid var(--ed-ink); border-left: 1px solid var(--ed-ink); }
.ed-syscard { border-right: 1px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink); background: var(--ed-white); display: flex; flex-direction: column; }
.ed-syscard--plate { background: var(--ed-plate); }
.ed-syscard__bar { height: 8px; background: var(--ed-second); }
.ed-syscard__body { padding: 26px; display: flex; flex-direction: column; gap: 14px; flex-grow: 1; }
.ed-syscard__top { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ed-syscard__name { margin: 0; font-family: var(--ed-serif); font-weight: 800; font-size: 32px; line-height: 1.08; text-align: left; }
.ed-syscard__lead { margin: 0; font-size: 16px; color: var(--ed-text2); }
.ed-syscard__points { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 15px; }
.ed-syscard__points li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; }
.ed-syscard__points li::before { content: '\2014'; color: var(--ed-second); font-weight: 600; }
.ed-syscard__actions { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--ed-rule); display: flex; flex-wrap: wrap; gap: 10px; }
.ed-syscard__contacts { margin: auto 0 0; padding-top: 16px; border-top: 1px solid var(--ed-ink); font-family: var(--ed-mono); font-size: 14px; display: flex; flex-wrap: wrap; gap: 6px 18px; }

.ed-newspage, .ed-article, .ed-login, .ed-aboutpage { padding-top: 28px; }
.ed-newslead { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; border-top: 3px solid var(--ed-ink); padding-top: 24px; }
.ed-newslead__main { display: flex; flex-direction: column; gap: 14px; padding-right: 40px; border-right: 1px solid var(--ed-rule); }
.ed-newslead__title { margin: 0; font-family: var(--ed-serif); font-weight: 800; font-size: 44px; line-height: 1.08; letter-spacing: -0.01em; text-align: left; }
.ed-newslead__title a { text-decoration: none; }
.ed-newslead__text { margin: 0; font-size: 19px; line-height: 1.55; color: var(--ed-text2); }
.ed-capfirst::first-letter, .ed-capfirst-p > p:first-child::first-letter { float: left; font-family: var(--ed-serif); font-weight: 800; font-size: 64px; line-height: 0.85; margin: 6px 10px 0 0; color: var(--ed-ink); }
.ed-newsside { padding: 16px 0; border-bottom: 1px solid var(--ed-rule); display: grid; gap: 6px; }
.ed-newsside h3 { margin: 0; font-family: var(--ed-serif); font-weight: 700; font-size: 20px; line-height: 1.25; text-align: left; }
.ed-newsside a { text-decoration: none; }
.ed-news3--grid { margin-top: 36px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ed-news3--grid .ed-news3__item:nth-child(3n+1) { padding-left: 0; }
.ed-news3--grid .ed-news3__item:nth-child(3n) { border-right: 0; padding-right: 0; }
.ed-news3--grid .ed-news3__item:nth-child(n+4) { border-top: 1px solid var(--ed-rule); }
.ed-pager { margin-top: 32px; display: flex; justify-content: center; }
.ed-pager ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.ed-pager li a { min-width: 44px; height: 44px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ed-ink); font-family: var(--ed-mono); text-decoration: none; color: var(--ed-ink); border-radius: 0; background: transparent; }
.ed-pager li.active a, .ed-pager li.selected a { background: var(--ed-ink); color: var(--ed-paper); }

.ed-article__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.ed-article__main { min-width: 0; max-width: 780px; }
.ed-article__meta { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; padding-bottom: 14px; margin-bottom: 22px; border-bottom: 3px solid var(--ed-ink); }
.ed-article__img { width: 100%; height: auto; display: block; margin: 0 0 22px; border: 1px solid var(--ed-ink); }
.ed-prose--article { font-size: 18px; max-width: none; }
.ed-article__foot { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--ed-rule); }
.ed-article__side { display: flex; flex-direction: column; gap: 24px; }

.ed-login__box { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border: 1px solid var(--ed-ink); }
.ed-login__main { padding: 48px; min-width: 0; }
.ed-login__side { position: relative; overflow: hidden; background: var(--ed-second); color: var(--ed-paper); min-width: 0; }
.ed-login__side-in { position: relative; padding: 48px; display: flex; flex-direction: column; gap: 22px; }
.ed-login__side-in > div { border-top: 1px solid rgba(243, 238, 228, 0.45); padding-top: 16px; display: grid; gap: 4px; }
.ed-login__side-in b { font-family: var(--ed-serif); font-weight: 700; font-size: 24px; }
.ed-login__side-in span { color: var(--ed-mist); font-size: 15px; }
.ed-login__side-in a { color: var(--ed-paper); }
.ed-btn--id, a.ed-btn--id { height: 56px; padding: 0 22px 0 10px; gap: 12px; background: var(--ed-second); color: var(--ed-white); font-size: 17px; }
.ed-btn--id:hover, a.ed-btn--id:hover { color: var(--ed-white); }
.ed-btn--id__mark { width: 36px; height: 36px; background: var(--ed-paper); color: var(--ed-second); display: inline-flex; align-items: center; justify-content: center; font-family: var(--ed-mono); font-size: 13px; font-weight: 600; }

@media (max-width: 1000px) {
    .ed-newslead, .ed-article__grid, .ed-login__box { grid-template-columns: minmax(0, 1fr); }
    .ed-newslead__main { padding-right: 0; border-right: 0; }
    .ed-news3--grid { grid-template-columns: minmax(0, 1fr); }
    .ed-news3--grid .ed-news3__item { padding-left: 0; padding-right: 0; border-right: 0; border-top: 1px solid var(--ed-rule); }
    .ed-h1--light { font-size: 44px; }
    .ed-login__main, .ed-login__side-in { padding: 28px 20px; }
    .ed-newslead__title { font-size: 32px; }
}

/* ======================================================================
   Окошко товара на главной (product-modal.js) в стиле полосы
   ====================================================================== */

.pm-overlay { background: rgba(22, 19, 15, 0.62); }
.pm-dialog { background: var(--ed-paper); border-radius: 0; border: 1px solid var(--ed-ink); }
.pm-close { border-radius: 0; background: transparent; color: var(--ed-ink); }
.pm-close:hover { background: transparent; color: var(--ed-accent); }
.pm-content .ed-prod__hero { padding-top: 8px; }
.pm-content .ed-buy { top: 16px; }
.pm-floater { border-radius: 0; border: 1px solid var(--ed-ink); background: var(--ed-white); box-shadow: 0 16px 40px rgba(22, 19, 15, 0.18); }
.pm-floater__img { border-radius: 0; }
.pm-floater__title { font-family: var(--ed-serif); font-weight: 700; color: var(--ed-ink); }
.pm-floater__btns .btn { border-radius: 0; font-family: var(--ed-sans); font-weight: 600; }
.pm-floater__btns .btn-primary { background: var(--ed-ink); border-color: var(--ed-ink); color: var(--ed-paper); }
.pm-floater__btns .btn-outlined-primary { background: transparent; border: 1.5px solid var(--ed-ink); color: var(--ed-ink); }
.pm-spinner { border-color: var(--ed-rule); border-top-color: var(--ed-ink); }

/* ---------- кнопка входа ID2 (рисует виджет экосистемы) ---------- */

.ed-id [dataqa="SSOAuthButton"] {
    height: 44px !important;
    padding: 0 18px 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--ed-second) !important;
    color: var(--ed-white) !important;
    font-family: var(--ed-sans) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    width: auto !important;
    cursor: pointer;
    transition: opacity 0.2s;
}
.ed-id [dataqa="SSOAuthButton"]:hover { opacity: 0.9; }
.ed-id [dataqa="SSOAuthButton"] [class*="buttonIcon"] {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.22) !important;
    border: 0 !important;
}
.ed-id [dataqa="SSOAuthButton"] [class*="buttonIcon"] svg { width: 30px !important; height: 30px !important; }
.ed-id [dataqa="SSOAuthButton"] [class*="buttonText"] { font: inherit !important; color: inherit !important; }
.ed-id #authButtonExternal { font-family: var(--ed-sans); }

/* ---------- reCAPTCHA: значок скрыт, подпись — у формы вопроса ---------- */

.grecaptcha-badge { visibility: hidden !important; }
.ed-recaptcha { margin: 0; font-size: 12px; color: var(--ed-grey); }
.ed-recaptcha a { color: var(--ed-grey); text-decoration: underline; }

/* ======================================================================
   Мобильная версия
   ====================================================================== */

/* скрытый тариф в карточке покупки: main.css даёт .order-qty-row display:grid,
   и атрибут hidden без этого не срабатывал — были видны оба тарифа */
.ed-buy__row[hidden] { display: none !important; }

/* нижняя панель «купить» на странице товара — только на узких экранах */
.ed-mbar { display: none; }

@media (max-width: 1000px) {
    .ed-mbar {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
        display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 10px 88px 10px 16px;
        background: var(--ed-white); border-top: 3px solid var(--ed-ink);
        box-shadow: 0 -8px 24px rgba(22, 19, 15, 0.12);
        transition: transform 0.25s;
    }
    .ed-mbar.is-hidden { transform: translateY(110%); }
    .ed-mbar__price { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
    .ed-mbar__price b { font-family: var(--ed-serif); font-weight: 800; font-size: 22px; white-space: nowrap; }
    .ed-mbar__price span { font-size: 12px; color: var(--ed-grey); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ed-page a.ed-mbar__go, a.ed-mbar__go { height: 46px; padding: 0 18px; white-space: nowrap; }
    body.ed-has-mbar footer.ed-foot { padding-bottom: 72px; }
}

@media (max-width: 900px) {
    .ed-wrap { padding: 0 16px; }

    /* строка выходных данных: только телефон и язык */
    .ed-strip__date { display: none; }
    .ed-strip__links a[href^="mailto:"] { display: none; }
    .ed-strip__in { justify-content: flex-end; }

    /* титул: логотип слева, кнопки справа */
    header.ed-head { padding-top: 14px; }
    .ed-head__row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
    .ed-head__tag { display: none; }
    .ed-logo { align-items: flex-start; gap: 4px; }
    .ed-logo__svg { height: 26px; }
    .ed-logo__sub { font-size: 13px; text-align: left; line-height: 1.2; }
    .ed-head__tools { gap: 8px; }

    /* меню — лента с прокруткой и затуханием справа как подсказкой */
    .ed-nav { padding-top: 12px; }
    .ed-nav > .ed-wrap { position: relative; }
    .ed-nav > .ed-wrap::after { content: ""; position: absolute; right: 16px; top: 3px; bottom: 1px; width: 36px; background: linear-gradient(90deg, rgba(243, 238, 228, 0), var(--ed-paper)); pointer-events: none; }
    .ed-nav__in { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; gap: 0 22px; padding-right: 30px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .ed-nav__in::-webkit-scrollbar { display: none; }
    .ed-nav__in a { font-size: 12px; padding: 12px 0 11px; }

    .ed-crumbs { padding-top: 14px; }
    .ed-crumbs ol { font-size: 11px; }

    .ed-h1 { font-size: 40px; }
    .ed-h2, .ed-h2--light { font-size: 30px; }
    .ed-lead { font-size: 17px; }
    .ed-sec { padding-top: 48px; }
    .ed-sec--64 { padding-top: 44px; }

    footer.ed-foot { margin-top: 48px; }
    .ed-foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; padding: 28px 0; }
    .ed-foot__brand, .ed-foot__legal { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
    /* кнопка ID — только значок, чтобы корзина помещалась */
    .ed-id [dataqa="SSOAuthButton"] { padding: 0 !important; }
    .ed-id [dataqa="SSOAuthButton"] [class*="buttonText"] { display: none !important; }
    .ed-logo__sub { font-size: 12px; max-width: 190px; }

    .ed-btnrow { flex-direction: column; align-items: stretch; }
    .ed-btnrow .ed-btn, .ed-btnrow form, .ed-btnrow form .ed-btn { width: 100%; }
    .ed-h1--xl { font-size: 46px; }

    /* передовица шопа: обложки и печать меньше */
    .ed-hero { padding-top: 24px; }
    .ed-hero__art { min-height: 330px; }
    .ed-hero__plate { top: 20px; bottom: 20px; left: 12%; }
    .ed-hero__cover .ed-cover { --w: 150 !important; }
    .ed-hero__cover--1 { right: 4%; top: 40px; }
    .ed-seal { width: 118px; height: 118px; }
    .ed-seal__price { font-size: 24px; }
    .ed-seal__cap { font-size: 10px; }

    /* передовица акциона: панель даты */
    .ed-hero__art--event { min-height: 360px; }
    .ed-hero__art--event .ed-datepanel { inset: 0 0 20px 0; }
    .ed-hero__art--event .ed-datepanel__in { padding: 24px 22px; }
    .ed-datepanel__day, .ed-datepanel__day--xl { font-size: 104px; }
    .ed-datepanel__month { font-size: 36px; }
    .ed-hero__art--event .ed-datepanel__stats { margin-left: 0; margin-right: 110px; }
    .ed-seal--left { left: auto; right: 6px; bottom: 0; width: 108px; height: 108px; }
    .ed-datepanel__stats { grid-template-columns: repeat(3, minmax(0, auto)); }
    .ed-datepanel__stats b { font-size: 22px; }
    .ed-datepanel__stats span { font-size: 11px; }

    .ed-stats { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
    .ed-stats > div, .ed-stats > div:first-child { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--ed-rule); }
    .ed-stats > div:last-child { border-bottom: 0; }
    .ed-stats p.ed-stats__big { font-size: 28px; }

    .ed-ticker { font-size: 12px; padding: 11px 0; }
    .ed-orgs__run a { padding: 0 26px; }
    .ed-orgs__run img { height: 40px; }

    /* карточки номеров, афиши, школы */
    .ed-issues, .ed-posters, .ed-schools, .ed-cards, .ed-syscards { grid-template-columns: minmax(0, 1fr); }
    .ed-issue__body { padding: 18px; }
    .ed-issue__top { flex-wrap: wrap; }
    .ed-issue__head { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .ed-issue__cover .ed-cover { --w: 150 !important; }
    .ed-issue__title { font-size: 24px; }
    .ed-issue__price { font-size: 26px; }
    .ed-issue__buy form, .ed-issue__buy .ed-btn, .ed-poster__buy form, .ed-poster__buy .ed-btn { width: 100%; }
    .ed-poster__top { min-height: 240px; }
    .ed-poster__title { font-size: 26px; }
    .ed-school__panel { min-height: 170px; }
    .ed-offer { padding: 14px; gap: 14px; }
    .ed-offer .ed-btn { width: 100%; }

    .ed-mini { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 16px; }
    .ed-mini__tile { width: 76px; overflow: hidden; }
    .ed-mini__tile .ed-cover { --w: 76 !important; }
    .ed-mini__tile .ed-tile { width: 76px !important; height: 104px !important; }
    .ed-mini .ed-h3 { font-size: 19px; }

    .ed-cloud__tags { gap: 8px; }
    .ed-tag--0 { font-size: 17px; padding: 8px 14px; }
    .ed-tag--1 { font-size: 15px; padding: 6px 12px; }
    .ed-tag--2 { font-size: 14px; }

    .ed-reviews figure { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--ed-rule); }
    .ed-reviews figure:last-child { border-bottom: 0; }
    .ed-reviews blockquote { font-size: 19px; }
    .ed-steps { grid-template-columns: minmax(0, 1fr); }
    .ed-step { border-right: 0; border-bottom: 1px solid var(--ed-ink); padding: 18px; }
    .ed-step--dark { border-bottom: 0; }

    .ed-sysband__in { padding-top: 44px; padding-bottom: 44px; gap: 28px; }
    .ed-sysband__name { font-size: 21px; }
    .ed-sysband a.ed-sysband__row { grid-template-columns: 30px minmax(0, 1fr); }
    .ed-sysband__go { grid-column: 2; font-size: 13px; }

    .ed-about__fig { padding-right: 40px; }
    .ed-about__img img { height: 300px; }
    .ed-about__star { width: 84px; height: 84px; }
    .ed-about__pub { grid-template-columns: 80px minmax(0, 1fr); }
    .ed-about__pub img { width: 80px; }

    .ed-contact__form, .ed-contact__info { padding: 22px 18px; }
    .ed-contact__big { font-size: 26px; }
    .ed-contact__mid { font-size: 21px; }

    .ed-channels { grid-template-columns: minmax(0, 1fr); }
    .ed-page a.ed-channel { min-height: 150px; border-right: 0; border-bottom: 1px solid var(--ed-ink); }

    /* страница товара */
    .ed-prod__grid { padding-top: 24px; gap: 28px; }
    .ed-prod__journal { gap: 22px; padding-bottom: 24px; }
    .ed-prod__cover { padding: 6px 0 0; display: flex; justify-content: center; }
    .ed-prod__cover .ed-cover { --w: 220 !important; }
    .ed-h1--md { font-size: 32px; }
    .ed-quote { font-size: 20px; }
    .ed-toc__title { font-size: 19px; }
    .ed-schoolhero__text { padding: 22px 18px; }
    .ed-schoolhero__num { font-size: 120px; }
    .ed-hero2 { gap: 22px; }
    .ed-datepanel { min-height: 0; }
    .ed-hero2 .ed-datepanel__in { min-height: 300px; padding: 24px 22px; }
    .ed-buy__body { padding: 18px; }

    /* корзина */
    .ed-cart__head .ed-h1, .ed-cab__head .ed-h1 { font-size: 40px; }
    .ed-sum, .ed-plate { padding: 18px; }
    .ed-sum__total strong { font-size: 26px; }
    .fancybox-content.ed-paymodal, .ed-paymodal { padding: 24px 18px 20px !important; }
    .ed-paymodal__h { font-size: 28px; }

    /* кабинет */
    .ed-tabs { overflow-x: auto; }
    .ed-tabs .tablinks { white-space: nowrap; }
    .ed-pdata { padding: 6px 16px 12px; }

    /* новости, статья, вход, системы, сообщения */
    .ed-newslead__title { font-size: 28px; }
    .ed-h1--light { font-size: 38px; }
    .ed-syshero__in { padding-top: 40px; padding-bottom: 40px; gap: 18px; grid-template-columns: minmax(0, 1fr); }
    .ed-syshero__lead { font-size: 16px; }
    .ed-syscard__body { padding: 18px; }
    .ed-syscard__name { font-size: 26px; }
    .ed-syscard__actions .ed-btn { width: 100%; }
    .ed-notice__big { font-size: 120px; }
    .ed-notice__panel { min-height: 200px; padding: 24px; }
}

/* в окошке товара нижняя панель не нужна; якорь #ed-buy — с отступом под липкое меню */
.pm-content .ed-mbar { display: none !important; }
.ed-buy { scroll-margin-top: 72px; }

.ed-buy__past { margin: 0; padding: 12px 14px; background: var(--ed-plate); font-size: 15px; }
.ed-strip__date b { font-weight: 600; }

/* ======================================================================
   Вопросы и ответы (views/site/_faq.php)
   ====================================================================== */
.ed-faq { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 48px; border-top: 3px solid var(--ed-ink); padding-top: 24px; }
.ed-faq__head .ed-h2 { margin-bottom: 14px; }
.ed-faq__note { margin: 0; font-size: 15px; color: var(--ed-grey); }
.ed-faq__note a { color: var(--ed-ink); text-decoration: underline; }
.ed-faq__list { border-top: 1px solid var(--ed-ink); }
.ed-faq__item { border-bottom: 1px solid var(--ed-rule); }
.ed-faq__item summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 48px minmax(0, 1fr) 28px; gap: 12px; align-items: baseline; padding: 18px 0; }
.ed-faq__item summary::-webkit-details-marker { display: none; }
.ed-faq__item summary::after { content: '+'; font-family: var(--ed-mono); font-size: 22px; line-height: 1; text-align: right; color: var(--ed-ink); }
.ed-faq__item[open] summary::after { content: '\2212'; }
.ed-faq__no { font-family: var(--ed-mono); font-size: 13px; color: var(--ed-grey); }
.ed-faq__q { font-family: var(--ed-serif); font-weight: 700; font-size: 21px; line-height: 1.3; }
.ed-faq__item summary:hover .ed-faq__q { color: var(--ed-accent); }
.ed-faq__a { margin: -4px 0 20px 60px; max-width: 720px; font-size: 16px; line-height: 1.6; color: var(--ed-text2); }
@media (max-width: 900px) {
    .ed-faq { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .ed-faq__item summary { grid-template-columns: 34px minmax(0, 1fr) 22px; gap: 8px; }
    .ed-faq__q { font-size: 18px; }
    .ed-faq__a { margin-left: 42px; font-size: 15px; }
}
