/* Guide pages (Ratgeber), hub guide cards, the "Hintergrund" block and the rhythm note of the template pages.
   Source: tools/seo_content/guide.css – copied to backend/pb_public/guide.css by tools/build_seo_pages.py.
   Loaded after style.css and seo.css; uses their tokens (--forest, --paper, --lichen, --ink, --ink-soft, --line, --serif). */
.guide-hero h1{max-width:900px;font-size:clamp(38px,4.8vw,66px);line-height:.98;letter-spacing:-.05em}
.guide-hero .lead{max-width:680px}
.guide-hero .lead a{color:var(--lichen)}
.guide-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:24px 0 0;padding:0;list-style:none;color:rgba(242,239,232,.72);font-size:12px;font-weight:600;letter-spacing:.03em}
.guide-meta li:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--lichen);vertical-align:2px}
.guide-meta a{color:rgba(242,239,232,.9);border-bottom:1px solid rgba(242,239,232,.35)}
.guide-meta a:hover{color:var(--lichen);border-color:var(--lichen)}
.seo-section.guide-body{padding-top:clamp(44px,6vw,80px)}
.guide-wrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(28px,5vw,76px);max-width:1090px;margin:0 auto}
.guide-toc{position:sticky;top:24px;align-self:start}
.guide-toc p{margin:0 0 12px;color:var(--ink-soft);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.guide-toc ol{margin:0;padding:0;list-style:none;border-left:2px solid var(--line)}
.guide-toc a{display:block;margin-left:-2px;padding:6px 0 6px 14px;border-left:2px solid transparent;color:var(--ink-soft);font-size:13px;line-height:1.35}
.guide-toc a:hover{border-left-color:var(--lichen);color:var(--forest)}
.guide-article{min-width:0;max-width:780px}
.guide-sec{margin:0 0 clamp(52px,6vw,76px);scroll-margin-top:20px}
.guide-sec>h2{max-width:none;margin:0;font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);font-weight:400;letter-spacing:-.05em;line-height:1}
.guide-sec h3{margin:34px 0 0;font-size:18px;letter-spacing:-.01em}
.guide-sec p{margin:16px 0 0;font-size:17px;line-height:1.65}
.guide-sec ul,.guide-sec ol{margin:16px 0 0;padding:0;list-style:none}
.guide-sec ul>li{position:relative;margin:0 0 11px;padding-left:22px;font-size:16px;line-height:1.55}
.guide-sec ul>li:before{content:"";position:absolute;top:.62em;left:0;width:9px;height:9px;background:var(--lichen)}
.guide-sec ol.numbered{counter-reset:n}
.guide-sec ol.numbered>li{position:relative;margin:0 0 12px;padding-left:36px;font-size:16px;line-height:1.55}
.guide-sec ol.numbered>li:before{counter-increment:n;content:counter(n);position:absolute;top:1px;left:0;display:grid;place-items:center;width:24px;height:24px;background:var(--forest);color:var(--paper);font-size:12px;font-weight:700}
.guide-article p a,.guide-sec ul:not(.link-list)>li a,.guide-sec ol.numbered>li a,.guide-article td a,.tpl-background .prose a{color:#3f5f1f;text-decoration:underline;text-decoration-color:rgba(79,111,34,.45);text-underline-offset:3px}
.guide-article p a:hover,.guide-sec ul:not(.link-list)>li a:hover,.guide-sec ol.numbered>li a:hover,.guide-article td a:hover,.tpl-background .prose a:hover{color:var(--forest);text-decoration-color:var(--forest)}
sup.ref{margin-left:1px;font-size:.66em;font-weight:700;line-height:0}
sup.ref a{padding:0 1px;color:#5f7f2b;text-decoration:none!important}
sup.ref a:hover{color:var(--forest)}
.answer{padding:clamp(22px,3vw,32px);border:1px solid var(--line);border-top:3px solid var(--forest);background:#faf9f5;box-shadow:8px 9px 0 rgba(23,53,46,.07)}
.answer>h2{font-size:clamp(26px,2.8vw,34px)}
.guide-sec ul.answer-list{margin:14px 0 0}
.guide-sec ul.answer-list>li{display:grid;grid-template-columns:128px minmax(0,1fr);gap:16px;margin:0;padding:14px 0;border-bottom:1px solid var(--line)}
.guide-sec ul.answer-list>li:last-child{border-bottom:0;padding-bottom:0}
.guide-sec ul.answer-list>li:before{display:none}
.answer-list p{margin:0;font-size:16px;line-height:1.55}
.tag{align-self:start;justify-self:start;padding:4px 7px;border:1px solid;font-size:9.5px;font-weight:700;letter-spacing:.1em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.tag.duty{border-color:var(--forest);background:var(--forest);color:var(--paper)}
.tag.guide{border-color:var(--forest);color:var(--forest)}
.tag.info{border-color:rgba(80,96,88,.55);color:var(--ink-soft)}
.tag.rec{border-color:rgba(79,111,34,.5);background:rgba(158,189,81,.24);color:#35521a}
.note{margin:24px 0 0;padding:16px 18px;border-left:3px solid var(--lichen);background:rgba(158,189,81,.13)}
.note .label{display:block;margin-bottom:6px;color:#35521a;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.note p{margin:0;font-size:15.5px;line-height:1.6}
.note.info{border-left-color:var(--forest);background:#faf9f5}.note.info .label{color:var(--forest)}
.note.warn{border-left-color:var(--oxide);background:rgba(177,83,63,.08)}.note.warn .label{color:#8d493a}
.note.duty{border-left-color:var(--forest);background:rgba(23,53,46,.06)}.note.duty .label{color:var(--forest)}
.note.guide{border-left-color:var(--forest);background:#faf9f5}.note.guide .label{color:var(--forest)}
.table-wrap{margin:24px 0 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.guide-table{width:100%;border-collapse:collapse;border-top:2px solid var(--forest);font-size:15px;line-height:1.45}
.guide-table th{padding:11px 14px 11px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:9px;font-weight:700;letter-spacing:.13em;text-align:left;text-transform:uppercase;vertical-align:bottom}
.guide-table td{padding:13px 14px 13px 0;border-bottom:1px solid var(--line);vertical-align:top}
.guide-table.plan{min-width:640px}.guide-table.plan td:first-child{width:32%}
.rhythm{display:inline-block;margin:18px 0 0!important;padding:6px 10px;background:var(--forest);color:var(--paper);font-size:12px!important;font-weight:700;letter-spacing:.03em;line-height:1.3!important}
.guide .check-table{margin-top:28px}
.check-table tr.group th{padding:22px 0 8px;border-bottom:1px solid var(--forest);color:var(--forest);font-size:10px;letter-spacing:.14em}
.fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:26px 0 0}
.fit{padding:22px;border:1px solid var(--line);background:#faf9f5}
.fit.limits{border-style:dashed;background:transparent}
.fit h3{margin:0 0 4px;font-size:16px}
.fit ul>li{font-size:15px}
.fit-templates{margin-top:24px!important;color:var(--ink-soft);font-size:12px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.guide-sec .link-list{margin-top:14px}
.guide-sec .link-list>li{margin:0;padding:0}.guide-sec .link-list>li:before{display:none}
.guide-sec .app-box{margin-top:36px}
.guide-sec .app-box h2{font-size:clamp(26px,3vw,36px)}
.guide-sec .app-box .steps>li{padding:0;margin:0}.guide-sec .app-box .steps>li:before{position:static}
.guide-sec .faq-list{margin-top:22px}
.guide-sec .faq-list p{max-width:none;margin:14px 0 0;font-size:15px}
.guide-sec .faq-list p a{color:#3f5f1f}
.guide-cards{margin-top:26px}
.guide-cards .card h3{font-size:25px}
.guide-sec .guide-cards .card>p{font-size:15px}
.sources ol{margin:18px 0 0;padding:0;list-style:none;counter-reset:q}
.sources li{position:relative;margin:0 0 12px;padding-left:34px;font-size:14px;line-height:1.5;scroll-margin-top:20px}
.sources li:before{counter-increment:q;content:counter(q);position:absolute;top:0;left:0;min-width:22px;color:#5f7f2b;font-weight:700}
.sources li:target{background:rgba(158,189,81,.18)}
.sources li a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}
.sources li span{display:block;color:var(--ink-soft);font-size:12.5px}
.disclaimer{margin-top:22px!important;padding-top:16px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:13px!important;line-height:1.55!important}
.tpl-background{margin:52px 0 0;padding-top:26px;border-top:2px solid var(--forest)}
.tpl-background .prose p{font-size:16px}
.stand-note{margin:14px 0 0;color:var(--ink-soft);font-size:12px}
/* rhythm of a recurring template (template pages) and the "Wiederkehrende Prüfungen" group (overview, hub) */
.tpl-rhythm{max-width:760px;margin:24px 0 0;padding:14px 18px;border-left:3px solid var(--lichen);background:rgba(158,189,81,.1)}
.tpl-rhythm p{margin:0;color:var(--ink);font-size:15px;line-height:1.6}
.recurring-block{margin:46px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.recurring-block .intro{max-width:680px;margin:0}
.recurring-block .cards{margin-top:22px}
.dark .recurring-block{border-top-color:var(--light-line)}
@media(max-width:960px){.guide-wrap{grid-template-columns:1fr}.guide-toc{position:static;padding:16px 18px;border:1px solid var(--line)}.guide-toc ol{display:flex;flex-wrap:wrap;gap:4px 16px;border:0}.guide-toc a{margin:0;padding:3px 0;border:0}}
@media(max-width:640px){.guide-sec ul.answer-list>li{grid-template-columns:1fr;gap:8px}.fit-grid{grid-template-columns:1fr}.guide-table{font-size:14px}.guide-sec p{font-size:16px}.guide-hero h1{font-size:clamp(32px,9vw,44px)}}
/* small screens: every table row becomes a card, each cell prefixed with its column name (data-label) */
@media screen and (max-width:640px){.table-wrap{overflow:visible}
.guide-table,.guide-table tbody,.guide-table tr,.guide-table td{display:block;width:auto}
.guide-table.plan{min-width:0}.guide-table.plan td:first-child{width:auto}
.guide-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.guide-table tr{padding:14px 0 12px;border-bottom:1px solid var(--line)}
.guide-table td{padding:3px 0;border:0}.guide-table td:empty{display:none}
.guide-table td:first-child{padding-bottom:6px;font-size:15px}
.guide-table td+td::before{content:attr(data-label);display:block;margin-top:4px;color:var(--ink-soft);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}}
@media print{.guide .guide-toc,.guide .guide-sec:not(.printable),.guide .guide-hero .lead,.guide .guide-meta,.tpl-background{display:none!important}
.guide .seo-section.guide-body{padding:0}.guide .guide-wrap{display:block}.guide .guide-sec{margin:0 0 8mm}
.guide .rhythm{padding:0;background:none;color:#000}.check-table tr.group th{color:#000;border-bottom-color:#000}
.sources li{font-size:8.5pt}.sources li span{font-size:8pt}.disclaimer{font-size:8pt!important}.sources li a{color:#000}}
