/* Article blocks (task #390), generated by `python -m crimpal_os.article_blocks css --site tovarka`. */
.ab-article{--ab-text:#2E3546;--ab-muted:#5B6680;--ab-bg:#FDFCF8;--ab-soft:#E7EBF5;--ab-line:#DCE1EE;--ab-accent:#F2653D;--ab-link:#B83F1A;--ab-on-accent:#2E3546;--ab-strong-bg:#2E3546;--ab-strong-text:#FFFFFF;--ab-hl:#E8FF58;--ab-warn:#B83F1A;--ab-ok:#2E3546;--ab-head:Unbounded,"Golos Text",sans-serif;--ab-font:"Golos Text",system-ui,sans-serif}
.ab-article{font-family:var(--ab-font);color:var(--ab-text);line-height:1.6}
.ab-article h2,.ab-article h3{font-family:var(--ab-head);line-height:1.25}
.ab-article{container-type:inline-size}
.ab-main{min-width:0}
@container (min-width:960px){.ab-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:48px;align-items:start}}
.ab-block{margin:28px 0;border-radius:14px;box-sizing:border-box}
.ab-label{margin:0 0 8px;font:700 13px/1.3 var(--ab-font);letter-spacing:.06em;text-transform:uppercase;color:var(--ab-muted)}
.ab-cap{display:block;font-size:14px;color:var(--ab-muted)}
.ab-key{background:var(--ab-strong-bg);color:var(--ab-strong-text);padding:20px 22px}
.ab-key .ab-label{color:inherit;opacity:.8}
.ab-key ul{margin:0;padding-left:20px}.ab-key li+li{margin-top:6px}.ab-key p:last-child{margin:0}
.ab-site-tovarka .ab-key .ab-label{color:var(--ab-hl);opacity:1}
.ab-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.ab-stat{background:var(--ab-bg);border:1px solid var(--ab-line);border-radius:14px;padding:16px}
.ab-num{display:block;font:700 clamp(26px,4vw,36px)/1.1 var(--ab-head);margin-bottom:10px}
.ab-meter{display:block;height:8px;border-radius:4px;background:var(--ab-soft);overflow:hidden;margin-bottom:8px}
.ab-fill{display:block;height:100%;width:var(--ab-v,0%);background:var(--ab-accent);border-radius:4px}
.ab-terms{background:var(--ab-soft);padding:18px 22px}
.ab-terms dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:6px 16px}
.ab-terms dt{font-weight:700}.ab-terms dd{margin:0}
@media (max-width:600px){.ab-terms dl{grid-template-columns:1fr}.ab-terms dd{margin-bottom:8px}}
.ab-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ab-table table,.ab-main table{width:100%;border-collapse:collapse;font-size:16px}
.ab-main th,.ab-main td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ab-line);vertical-align:top}
.ab-main th{background:var(--ab-soft);font-weight:700}
.ab-table .ab-cap{margin-top:8px}
.ab-bars{background:var(--ab-bg);border:1px solid var(--ab-line);padding:18px 20px}
.ab-bars figcaption{font-weight:700;margin-bottom:14px}
.ab-chart{display:flex;align-items:flex-end;gap:12px;height:220px}
.ab-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;height:100%;min-width:0;text-align:center}
.ab-val{font-weight:700;font-size:15px;margin-bottom:6px}
.ab-colbar{display:block;height:var(--ab-v,0%);min-height:4px;background:var(--ab-accent);border-radius:8px 8px 0 0}
.ab-col .ab-cap{margin-top:8px;overflow-wrap:anywhere}
.ab-note{padding:16px 20px 16px 18px;border-left:6px solid var(--ab-line);background:var(--ab-bg);border-radius:0 14px 14px 0}
.ab-note p{margin:0}.ab-note .ab-label{margin-bottom:6px}
.ab-tip{border-left-color:var(--ab-accent)}.ab-tip .ab-label{color:var(--ab-link)}
.ab-warning{border-left-color:var(--ab-warn)}.ab-warning .ab-label{color:var(--ab-warn)}
.ab-info{border-left-color:var(--ab-muted)}
.ab-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.ab-compare{grid-template-columns:1fr}}
.ab-side{padding:16px 20px;border-radius:14px;border:1px solid var(--ab-line)}
.ab-side ul{margin:0;padding-left:20px}
.ab-was{background:var(--ab-soft)}.ab-was li{color:var(--ab-muted)}
.ab-now{background:var(--ab-bg);border:2px solid var(--ab-accent)}
.ab-steps ol{list-style:none;counter-reset:ab;margin:0;padding:0}
.ab-steps li{counter-increment:ab;position:relative;padding:0 0 18px 52px}
.ab-steps li::before{content:counter(ab);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--ab-strong-bg);color:var(--ab-strong-text);font-weight:700;display:flex;align-items:center;justify-content:center}
.ab-steps li:not(:last-child)::after{content:"";position:absolute;left:17px;top:40px;bottom:2px;width:2px;background:var(--ab-line)}
.ab-step{margin:4px 0 4px;font-weight:700;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.ab-time{font-weight:600;font-size:14px;color:var(--ab-link);background:var(--ab-soft);padding:2px 10px;border-radius:999px}
.ab-steps li p:not(.ab-step){margin:0}
.ab-faq details{border-bottom:1px solid var(--ab-line)}
.ab-faq summary{cursor:pointer;list-style:none;padding:14px 36px 14px 0;font-weight:700;position:relative;min-height:24px}
.ab-faq summary::-webkit-details-marker{display:none}
.ab-faq summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:24px;color:var(--ab-link)}
.ab-faq details[open] summary::after{content:"\2212"}
.ab-faq details p{margin:0 0 14px}
.ab-cta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:18px 20px;background:var(--ab-soft)}
.ab-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:12px;background:var(--ab-accent);color:var(--ab-on-accent)!important;font-weight:700;font-size:19px;text-decoration:none!important}
.ab-btn:hover{filter:brightness(.95)}
.ab-btn:focus-visible,.ab-faq summary:focus-visible,.ab-toc a:focus-visible{outline:3px solid var(--ab-link);outline-offset:2px}
.ab-toc{display:none}
@container (min-width:960px){.ab-toc{display:block;position:sticky;top:88px;max-height:calc(100vh - 110px);overflow:auto;padding-left:16px;border-left:2px solid var(--ab-line);font-size:15px}
.ab-toc ol{list-style:none;margin:0;padding:0}.ab-toc li{margin:0 0 10px}
.ab-toc a{color:var(--ab-muted);text-decoration:none}.ab-toc a:hover{color:var(--ab-link)}}
.ab-author{display:flex;gap:16px;align-items:flex-start;margin:40px 0 0;padding:18px 20px;border:1px solid var(--ab-line);border-radius:14px;background:var(--ab-bg)}
.ab-ava{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.ab-ava-mark{display:flex;align-items:center;justify-content:center;background:var(--ab-strong-bg);color:var(--ab-accent);font:700 20px var(--ab-head);transform:rotate(-4deg)}
.ab-name{font:700 18px var(--ab-head);color:var(--ab-text)!important;text-decoration:none}
.ab-author p{margin:6px 0 0}
