/* Блоки редактора (кнопка «Блок», М5а.3): .fold (details/summary), .steps (таймлайн етапів), .empty (заглушка).
   Базовий вигляд для будь-якого шаблону (Cassiopeia); шаблон domanum перевизначає токени --dblk-*. Розмітка — docs/10 §3.
   Кольорові варіанти .fold — мінімальний набір із палітри напряму A (той самий, що в блоках подій/завдань):
     (типовий)  соняшник #f5c400 — акцент, поточне, головне на сторінці
     .fold-quiet  без акценту — архів, службове
     .fold-info   глибокий синій #0b3d91 — інформація, нормативна база, довідка
     .fold-ok     зелений #0d6b47 — завершено / результати / доступно
     .fold-warn   світанок #ffb74a — увага, дедлайн, важливе оголошення
   .dtasks (модуль завдань) має власні стилі у tasks.css — тут його не чіпаємо. */
.fold:not(.dtasks),.steps,.empty{--pri:var(--dblk-pri,#0b3d91);--acc:var(--dblk-acc,#f5c400);--text:var(--dblk-t,#15213a);--muted:var(--dblk-m,#5b6478);
  --line:var(--dblk-line,#e3ddd0);--tint:var(--dblk-tint,#fff4c2);--tint-h:var(--dblk-tint-h,#ffeea6);--alt-bg:var(--dblk-alt,#f4efe3);--surface:var(--dblk-surface,#fff);--r:var(--dblk-r,14px);
  --ok:var(--dblk-ok,#0d6b47);--ok-bg:var(--dblk-ok-bg,#dcf5ea);--info-bg:var(--dblk-info-bg,#e7eefb);--warn:var(--dblk-warn,#ffb74a);--warn-bg:var(--dblk-warn-bg,#ffefd6);
  --edge:var(--acc);--head:var(--tint);--head-h:var(--tint-h)}
.fold:not(.dtasks){border:1px solid var(--line);border-left:4px solid var(--edge);border-radius:var(--r);background:var(--surface);box-shadow:0 6px 18px -14px rgba(21,33,58,.35);margin:0 0 14px;overflow:hidden}
.fold:not(.dtasks)>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:13px 18px 13px 44px;background:var(--head);font-weight:700;font-size:16px;color:var(--text);position:relative}
.fold:not(.dtasks)>summary::-webkit-details-marker{display:none}
.fold:not(.dtasks)>summary::before{content:"";position:absolute;left:18px;top:50%;width:9px;height:9px;margin-top:-6px;border-right:2.5px solid var(--pri);border-bottom:2.5px solid var(--pri);transform:rotate(-45deg);transition:transform .2s}
.fold:not(.dtasks)[open]>summary::before{transform:rotate(45deg);margin-top:-8px}
.fold:not(.dtasks)>summary .cnt{margin-left:auto;font-weight:600;font-size:13px;color:var(--muted);white-space:nowrap}
.fold:not(.dtasks)>summary:hover{background:var(--head-h)}
.fold:not(.dtasks)>.fold-body{padding:6px 18px 14px}
.fold:not(.dtasks)>.fold-body>:last-child{margin-bottom:0}
.fold.fold-quiet:not(.dtasks){--edge:var(--line);--head:var(--alt-bg);--head-h:#ece5d6}
.fold.fold-info:not(.dtasks){--edge:var(--pri);--head:var(--info-bg);--head-h:#d8e4f7}
.fold.fold-ok:not(.dtasks){--edge:var(--ok);--head:var(--ok-bg);--head-h:#c9eedb}
.fold.fold-ok:not(.dtasks)>summary::before{border-color:var(--ok)}
.fold.fold-warn:not(.dtasks){--edge:var(--warn);--head:var(--warn-bg);--head-h:#ffe3b8}
/* кількість колонок = кількість етапів (2…6): grid по рядках-дітях, лінія позаду точок */
.steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;position:relative}
.steps::before{content:"";position:absolute;left:10px;right:10px;top:9px;height:3px;background:var(--line);border-radius:2px}
.step{display:flex;flex-direction:column;gap:4px;padding-top:32px;position:relative;font-size:15px;color:var(--text)}
.step::before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;background:var(--surface);border:3px solid var(--line);box-sizing:border-box}
.step.st-done::before{background:var(--pri);border-color:var(--pri)}
.step.st-cur::before{background:var(--acc);border-color:var(--acc);box-shadow:0 0 0 4px rgba(245,196,0,.25)}
.step b{font-size:18px;font-weight:700}
.step .st-s{color:var(--muted)}
.step .st-d{font-weight:700;color:var(--pri)}
.step.st-done .st-d{color:var(--muted)}
.empty{display:flex;gap:16px;align-items:center;padding:18px 22px 18px 60px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);font-size:15px;background:var(--surface);margin:0 0 16px;position:relative;line-height:1.45}
.empty::before{content:"i";position:absolute;left:20px;top:50%;margin-top:-14px;width:28px;height:28px;border:2px solid var(--pri);border-radius:50%;color:var(--pri);font:700 16px/24px Georgia,serif;text-align:center;box-sizing:border-box}
.empty b{color:var(--text)}
@media (max-width:760px){.steps{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);gap:10px}.steps::before{left:9px;right:auto;top:10px;bottom:10px;width:3px;height:auto}
  .step{padding:0 0 0 36px}.step::before{top:2px}.fold:not(.dtasks)>summary{flex-wrap:wrap;font-size:15px;padding:12px 14px 12px 40px}
  .fold:not(.dtasks)>summary::before{left:15px}.fold:not(.dtasks)>summary .cnt{margin-left:0;flex-basis:100%}.fold:not(.dtasks)>.fold-body{padding:6px 12px 12px}}
/* ===== Кнопка / Виноска / Цитата (0.7.0; вікно «Блок» і список «Стилі» JCE). Токени --dblk-* дає шаблон; тут — запасні кольори напряму A. ===== */
a.dm-btn{--p:var(--dblk-pri,#0b3d91);--ph:var(--dblk-hover,#082e70);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin:4px 8px 4px 0;padding:10px 22px;border:2px solid var(--p);border-radius:999px;background:var(--p);color:#fff;font-weight:700;line-height:1.3;text-decoration:none;text-align:center}
a.dm-btn:hover{background:var(--ph);border-color:var(--ph);color:#fff}
a.dm-btn-sec{background:var(--dblk-surface,#fff);color:var(--p)}a.dm-btn-sec:hover{background:var(--dblk-alt,#f4efe3);border-color:var(--p);color:var(--p)}
a.dm-btn-acc{background:var(--dblk-acc,#f5c400);border-color:var(--dblk-acc,#f5c400);color:#15213a}a.dm-btn-acc:hover{background:#ffdc45;border-color:#ffdc45;color:#15213a}
@media(max-width:600px){a.dm-btn{display:flex;width:100%;margin-inline:0}}
.dm-callout{--c:var(--dblk-pri,#0b3d91);--cb:#e8eef9;--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");position:relative;margin:var(--dblk-gap,24px) 0;padding:14px 18px 14px 56px;border:1px solid color-mix(in srgb,var(--c) 35%,transparent);border-inline-start:4px solid var(--c);border-radius:12px;background:var(--cb);color:var(--dblk-t,#15213a)}
.dm-callout::before{content:"";position:absolute;left:16px;top:14px;width:26px;height:26px;background:var(--c);-webkit-mask:var(--ci) center/contain no-repeat;mask:var(--ci) center/contain no-repeat}
.dm-callout>:last-child{margin-bottom:0}.dm-callout>:first-child{margin-top:0}
.dm-callout-warn{--c:#b98f00;--cb:#fff6d1;--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3 6.4 20.2l1.1-6.2L3 9.6l6.2-.9z'/%3E%3C/svg%3E")}
.dm-callout-ok{--c:#2e7d32;--cb:#e8f5e9;--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E")}
.dm-callout-danger{--c:#c62828;--cb:#fdecea;--ci:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E")}
.dm-quote{position:relative;margin:var(--dblk-gap,24px) 0;padding:22px 24px 18px 64px;border:0;border-radius:var(--dblk-r,14px);background:var(--dblk-alt,#f4efe3);color:var(--dblk-t,#15213a)}
.dm-quote::before{content:"«";position:absolute;left:18px;top:6px;font:700 3.2rem/1 Georgia,serif;color:var(--dblk-acc,#f5c400)}
.dm-quote>p{margin:0 0 10px;font-size:1.08em;line-height:1.55}
.dm-quote>p.dm-quote-by{margin:0;font-size:.9em;font-weight:700;color:var(--dblk-pri,#0b3d91)}
.dm-quote>p.dm-quote-by span{font-weight:400;color:var(--dblk-m,#5b6478)}
/* ===== Список документів (.dm-docs) і картки-посилання (.dm-lcards) — 0.7.2, вікно «Блок» ===== */
.dm-docs{margin:var(--dblk-gap,24px) 0}
.dm-docs>.dm-docs-title{margin:0 0 6px}
.dm-docs ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--dblk-line,#e3ddd0)}
.dm-docs li{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;padding:11px 4px 11px 34px;border-bottom:1px solid var(--dblk-line,#e3ddd0)}
.dm-docs li::before{content:"";position:absolute;left:4px;top:12px;width:20px;height:20px;background:var(--dblk-pri,#0b3d91);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E") center/contain no-repeat}
.dm-docs li>a{flex:1 1 60%;font-weight:600}
.dm-docs .dm-doc-meta{margin-inline-start:auto;font-size:.82em;color:var(--dblk-m,#5b6478);white-space:nowrap}
.dm-lcards{list-style:none;margin:var(--dblk-gap,24px) 0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
.dm-lcards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dm-lcards li{display:flex;margin:0;padding:0}
.dm-lcards a{flex:1;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:14px;row-gap:4px;align-items:start;padding:16px 18px;border:1px solid var(--dblk-line,#e3ddd0);border-radius:var(--dblk-r,14px);background:var(--dblk-surface,#fff);color:var(--dblk-t,#15213a);text-decoration:none;box-shadow:0 8px 24px -18px rgba(21,33,58,.35);transition:border-color .15s,transform .15s}
.dm-lcards a:hover{border-color:var(--dblk-pri,#0b3d91);transform:translateY(-2px)}
.dm-lcards .dm-lcard-ico{grid-row:1/3;width:48px;height:48px;padding:10px;border-radius:12px;background:#e8eef9;object-fit:contain;box-sizing:border-box}
.dm-lcards a:not(:has(.dm-lcard-ico)){grid-template-columns:minmax(0,1fr)}
.dm-lcards .dm-lcard-t{font-weight:700;line-height:1.3;color:var(--dblk-pri,#0b3d91)}
.dm-lcards .dm-lcard-d{font-size:.88em;line-height:1.45;color:var(--dblk-m,#5b6478)}
@media(max-width:900px){.dm-lcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dm-lcards,.dm-lcards-2{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.dm-lcards a:hover{transform:none}}
/* ===== Текст + фото (.dm-media) і персони (.dm-people/.dm-person) — 0.7.5, вікно «Блок» ===== */
.dm-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px;align-items:center;margin:var(--dblk-gap,24px) 0}
.dm-media-third{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.dm-media-right>.dm-media-img{order:2}
.dm-media-right.dm-media-third{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.dm-media>.dm-media-img{display:block;width:auto;max-width:100%;height:auto;max-height:min(560px,75vh);justify-self:center;object-fit:contain;border-radius:var(--dblk-r,14px);box-shadow:0 14px 34px -16px rgba(11,61,145,.4)}
.dm-media>.dm-media-empty{aspect-ratio:4/3;background:var(--dblk-alt,#f4efe3);box-shadow:none;border:1px dashed var(--dblk-line,#e3ddd0)}
.dm-media-body>:first-child{margin-top:0}.dm-media-body>:last-child{margin-bottom:0}
.dm-media-body>.dm-media-title{margin:0 0 10px;font-size:1.25em;line-height:1.3}
@media(max-width:700px){.dm-media,.dm-media-third,.dm-media-right.dm-media-third{grid-template-columns:minmax(0,1fr);gap:16px}.dm-media-right>.dm-media-img{order:0}}
/* Персона — вертикальна картка (0.7.6, за зразком ippo.dn.ua → Структура → відділ): квадратне фото зверху, ПІБ великими літерами,
   посада, контакти — по центру; картки однакової висоти в сітці (3–4 в ряд; телефон — по одній, фото до 220 px, як на ippo) */
.dm-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;margin:var(--dblk-gap,24px) 0}
.dm-person{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 16px 20px;text-align:center;border:1px solid var(--dblk-line,#e3ddd0);border-radius:var(--dblk-r,14px);background:var(--dblk-surface,#fff);box-shadow:0 8px 24px -18px rgba(21,33,58,.35)}
.dm-person>.dm-person-photo{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:12px;object-fit:cover;object-position:50% 25%;background:var(--dblk-alt,#f4efe3)}
.dm-person>.dm-person-ini{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(2rem,6vw,3rem);letter-spacing:.04em;color:var(--dblk-pri,#0b3d91);background:linear-gradient(135deg,#e8eef9,#fff4c2)}
.dm-person-body{min-width:0;width:100%}
.dm-person-body>p{margin:0 0 6px}
.dm-person .dm-person-name{font-weight:700;font-size:1.02em;line-height:1.35;letter-spacing:.02em;text-transform:uppercase;color:var(--dblk-t,#15213a)}
.dm-person .dm-person-role{font-size:.9em;font-weight:600;color:var(--dblk-pri,#0b3d91)}
.dm-person .dm-person-contact{margin-top:10px;font-size:.88em;line-height:1.6;overflow-wrap:break-word}
.dm-person .dm-person-text{margin-top:8px;font-size:.88em;color:var(--dblk-m,#5b6478)}
@media(max-width:600px){.dm-people{grid-template-columns:minmax(0,1fr);gap:14px}.dm-person>.dm-person-photo{max-width:220px}}

/* ===== Ревізія 0.7.7: рядок документа підсвічується, рівномірні переноси, режим високої контрастності Windows ===== */
.dm-docs li{transition:background-color .15s}.dm-docs li:hover,.dm-docs li:focus-within{background:var(--dblk-alt,#f4efe3)}
.dm-lcards .dm-lcard-t,.dm-person .dm-person-name,.dm-quote>p,.dm-callout>p:first-child strong{text-wrap:balance}
@media(forced-colors:active){
  .dm-callout::before,.dm-docs li::before{background:CanvasText}
  .dm-callout,.dm-quote,.dm-person,.dm-lcards a,a.dm-btn{border:1px solid CanvasText}
  .dm-lcards .dm-lcard-ico{forced-color-adjust:none}
}
@media(prefers-reduced-motion:reduce){.dm-docs li{transition:none}}