@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url("../assets/fonts/lora-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Lora";font-style:italic;font-weight:600;font-display:swap;src:url("../assets/fonts/lora-latin-600-italic.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/nunito-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/nunito-latin-700-normal.woff2") format("woff2")}
:root{--bg:#F0F5EC;--text:#1B2A1F;--accent:#4E9F3D;--extra:#F2C14E}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text)}
img,svg{max-width:100%;height:auto}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-999px;top:0;z-index:100;padding:.75rem 1rem;background:var(--text);color:var(--bg)}
.skip-link:focus{left:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

:root{
  --link:color-mix(in srgb,var(--accent) 55%,var(--text));
  --line:color-mix(in srgb,var(--text) 18%,var(--bg));
  --soft:color-mix(in srgb,var(--accent) 12%,var(--bg));
  --sun:color-mix(in srgb,var(--extra) 34%,var(--bg));
  --paper:color-mix(in srgb,#fff 55%,var(--bg));
  --muted:color-mix(in srgb,var(--text) 76%,var(--bg));
  --r:22px 18px 24px 16px;
  --head:"Lora",Georgia,serif;
  --body:"Nunito",system-ui,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body{font:400 1.0625rem/1.65 var(--body);overflow-wrap:break-word}
.wrap{width:min(100% - 2rem,72rem);margin-inline:auto}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.2;margin:0 0 .5em;hyphens:manual}
h1{font-size:clamp(2.05rem,5.2vw,3.5rem);letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3.2vw,2.1rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--text)}
:focus-visible{outline:3px solid var(--text);outline-offset:3px;border-radius:6px}
.kicker{font-weight:700;font-size:.92rem;letter-spacing:.02em;color:var(--link);margin:0 0 .5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Seerosenblatt und Frosch */
.pad{width:1.6rem;height:1.6rem;flex:none}
.pad-leaf{fill:var(--accent)}
.pad-vein{fill:none;stroke:color-mix(in srgb,var(--text) 30%,var(--accent));stroke-width:1.2;stroke-linecap:round}
.frog{width:3rem;height:auto;flex:none}
.frog-body{fill:var(--accent)}
.frog-eye{fill:var(--bg)}
.frog-pupil{fill:var(--text)}
.frog-smile{fill:none;stroke:var(--text);stroke-width:2.6;stroke-linecap:round}

/* Gemalte Vignetten laufen weich ins Papier aus */
.painted{margin:0}
.painted img{display:block;width:100%;height:auto;-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 82%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 82%,transparent 100%)}
figcaption{font-size:.92rem;color:var(--muted);margin-top:.35rem}

/* Kopf */
.site-header{padding:.9rem 0}
.head-row{display:flex;align-items:center;gap:.5rem 1.25rem;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:.5rem;font:600 1.55rem var(--head);color:var(--text);text-decoration:none}
.brand .frog{width:2.7rem}
.main-nav{order:3;flex-basis:100%}
.main-nav ul{display:flex;flex-wrap:wrap;gap:.25rem .35rem;list-style:none;margin:0;padding:0}
.main-nav a{display:block;padding:.22rem .55rem;border-radius:999px;color:var(--text);font-weight:700;font-size:.93rem;text-decoration:none}
@media (min-width:60rem){.main-nav a{padding:.3rem .7rem;font-size:.97rem}}
.main-nav a:hover{background:var(--soft)}
.main-nav a[aria-current=page]{background:var(--text);color:var(--bg)}
.find-link{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:var(--text);text-decoration:none;border:2px solid var(--text);border-radius:999px;padding:.28rem .8rem}
.find-link:hover{background:var(--extra);color:var(--text)}
@media (min-width:60rem){.main-nav{order:0;flex-basis:auto;margin-left:1rem}.find-link{margin-left:auto}}

/* Hero: kurze Frage, große Suche */
.hero{padding:clamp(1rem,3vw,2.5rem) 0 clamp(2rem,5vw,4rem);scroll-margin-top:0}
.hero-grid{display:grid;gap:1.5rem;align-items:center}
.hero h1 em{font-style:italic;background:linear-gradient(transparent 66%,var(--extra) 66%,var(--extra) 92%,transparent 92%);padding-inline:.08em}
.hero-art{max-width:26rem;margin-inline:auto;width:100%}
.hero-art figcaption{text-align:right;margin:0 1rem 0 0}
@media (min-width:60rem){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.hero-art{max-width:none}}
.finder{margin-top:1.4rem}
.finder label{display:block;font:600 1.45rem var(--head);margin-bottom:.45rem}
.finder-row{display:flex;gap:.5rem;background:var(--paper);border:3px solid var(--text);border-radius:var(--r);padding:.35rem}
.finder-row:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--extra) 70%,transparent)}
.finder input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:1.1rem;padding:.65rem .7rem;color:var(--text)}
.finder input:focus{outline:0}
.finder input::placeholder{color:var(--muted);opacity:1}
.finder button{display:inline-flex;align-items:center;gap:.4rem;border:0;border-radius:14px;background:var(--accent);color:var(--text);font:700 1rem var(--body);padding:.6rem 1rem;cursor:pointer;white-space:nowrap}
.finder button:hover{background:var(--extra)}
@media (max-width:30rem){.finder button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.finder button{padding:.6rem .8rem}}
.finder-quick{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;margin-top:.8rem;font-size:.95rem}
.finder-quick>span{color:var(--muted)}
.finder-quick ul{display:contents;list-style:none}
.finder-quick li{display:block}
.finder-quick button{font:inherit;font-weight:700;color:var(--text);background:transparent;border:2px solid var(--line);border-radius:999px;padding:.12rem .7rem;cursor:pointer}
.finder-quick button:hover{border-color:var(--text);background:var(--paper)}
.finder-results:not(:empty){margin-top:1rem}
.finder-count{font-weight:700;margin:0 0 .4rem}
.finder-none{background:var(--sun);border-radius:var(--r);padding:.8rem 1rem;margin:0}
.finder-results ol{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.finder-results a{display:flex;gap:.7rem;align-items:flex-start;background:var(--paper);border:2px solid var(--text);border-radius:var(--r);padding:.65rem .85rem;color:var(--text);text-decoration:none}
.finder-results a:hover{background:var(--sun)}
.finder-results .pad{margin-top:.2rem}
.finder-results small{display:block;font-weight:700;color:var(--link);font-size:.82rem}
.finder-results strong{display:block;font:600 1.08rem/1.3 var(--head)}
.finder-results em{display:block;font-style:normal;font-size:.93rem;color:var(--muted)}

/* Der Weg: Schritte wie eine Checkliste */
.trail{padding:clamp(1.5rem,4vw,3rem) 0}
.section-head{max-width:40rem;margin-bottom:1.75rem}
.steps{list-style:none;margin:0;padding:0;position:relative}
.step{position:relative;padding:0 0 2.1rem 4.75rem}
.step:not(:last-child)::before{content:"";position:absolute;left:1.8rem;top:3.9rem;bottom:0;border-left:5px dotted color-mix(in srgb,var(--accent) 55%,var(--bg))}
.step:last-child{padding-bottom:0}
.step-mark{position:absolute;left:0;top:0;width:3.9rem;height:3.9rem;display:grid;place-items:center;background:var(--bg);border-radius:50%}
.step-mark .pad{width:3.9rem;height:3.9rem;grid-area:1/1}
.step-mark .pad-vein{display:none}
.step-mark b{grid-area:1/1;font:600 1.5rem var(--head);color:var(--text);transform:translate(-3px,3px)}
.step-body{display:grid;gap:.5rem 2rem;align-items:center}
.step-no{font-weight:700;font-size:.92rem;color:var(--muted);margin:0 0 .15rem}
.step h3{font-size:clamp(1.3rem,2.6vw,1.65rem);margin-bottom:.35rem}
.step h3 a{color:var(--text);text-decoration:none}
.step h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.step p{margin-bottom:.4rem}
.more{display:inline-flex;align-items:center;gap:.3rem;font-weight:700}
.step-art{max-width:22rem}
@media (min-width:50rem){.step-big .step-body{grid-template-columns:minmax(0,1fr) minmax(0,20rem)}.step-art{max-width:none}}
@media (max-width:30rem){.step{padding-left:3.3rem}.step:not(:last-child)::before{left:1.2rem;top:2.75rem}.step-mark,.step-mark .pad{width:2.75rem;height:2.75rem}.step-mark b{font-size:1.1rem;transform:translate(-2px,2px)}}

/* Blöcke */
.block{padding:clamp(2rem,5vw,3.5rem) 0}
.block-wild{background:var(--soft)}
.block-hens{background:var(--sun)}
.block-grid{display:grid;gap:1.5rem;align-items:center}
@media (min-width:56rem){.block-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.block-links{display:flex;flex-wrap:wrap;gap:.6rem}
.block-more{margin:1.25rem 0 0;font-weight:700}
.block-more a{display:inline-flex;align-items:center;gap:.3rem}
.btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--text);color:var(--bg);border:2px solid var(--text);border-radius:14px;padding:.55rem .95rem;font:700 1rem var(--body);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--accent);color:var(--text)}
.btn-quiet{background:transparent;color:var(--text)}
.btn-quiet:hover{background:var(--paper)}
.ribbon-box{background:var(--paper);border:2px solid var(--text);border-radius:var(--r);padding:1rem}
.ribbon{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,1fr);gap:3px;align-items:end;height:9.5rem}
.ribbon li{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:.25rem;min-width:0}
.rib-bar{display:block;width:100%;min-height:4px;height:calc(var(--load)*11%);background:var(--accent);border-radius:6px 6px 2px 2px}
.ribbon abbr{text-decoration:none;font-size:.72rem;font-weight:700}
.ribbon .is-now .rib-bar{background:var(--extra);outline:2px solid var(--text)}
.ribbon .is-now abbr{background:var(--text);color:var(--bg);border-radius:5px;padding-inline:.15rem}
.ribbon-now{margin:.7rem 0 0;font-weight:700}
.hens-grid{display:grid;gap:1.5rem;align-items:center}
@media (min-width:56rem){.hens-grid{grid-template-columns:1.15fr 1fr;gap:3rem}}
.hens-copy .btn{white-space:normal;text-align:left}

/* Glossar und Newsletter */
.home-end{padding:clamp(2rem,5vw,3.5rem) 0;display:grid;gap:2.5rem}
.glossary dl{margin:0;display:grid;gap:.25rem 2rem}
@media (min-width:50rem){.glossary dl{grid-template-columns:1fr 1fr}}
.glossary dl>div{padding:.65rem 0;border-bottom:2px dotted var(--line)}
.glossary dt{font:600 1.1rem var(--head)}
.glossary dd{margin:0}
.subscribe{background:var(--text);color:var(--bg);border-radius:var(--r);padding:clamp(1.25rem,4vw,2.25rem)}
.subscribe a{color:var(--extra)}
.subscribe-form{display:grid;gap:.6rem;max-width:36rem}
.subscribe-form label span{display:block;font-weight:700;margin-bottom:.2rem}
.subscribe-form input[type=email]{width:100%}
.subscribe-form button{justify-self:start}
.subscribe .form-note{color:var(--bg);opacity:.92}

/* Formulare */
input[type=text],input[type=email],textarea{font:inherit;width:100%;padding:.6rem .75rem;border:2px solid var(--text);border-radius:12px;background:var(--paper);color:var(--text)}
form button[type=submit]{font:700 1rem var(--body);border:2px solid var(--text);border-radius:14px;background:var(--accent);color:var(--text);padding:.55rem 1.1rem;cursor:pointer}
form button[type=submit]:hover{background:var(--extra)}
form button[disabled]{opacity:.6}
.finder button[type=submit]{border:0}
.contact-form{display:grid;gap:.8rem}
.contact-form label span{display:block;font-weight:700;margin-bottom:.2rem}
.contact-form button{justify-self:start}
.form-note{font-size:.9rem;margin:0}
.form-status{font-weight:700;margin:0;min-height:1.4em}

/* Archiv */
.archive{padding:1rem 0 3rem}
.archive-head{max-width:44rem;margin-bottom:1.25rem}
.archive-cats{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.archive-cats a{padding:.32rem .85rem;border-radius:999px;border:2px solid var(--text);color:var(--text);font-weight:700;text-decoration:none}
.archive-cats a:hover{background:var(--soft)}
.archive-cats a[aria-current=page]{background:var(--text);color:var(--bg)}
.archive-tags{display:grid;gap:.45rem;margin-bottom:1.5rem;background:var(--soft);border-radius:var(--r);padding:.85rem 1rem}
.archive-tags fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem .4rem;align-items:center}
.archive-tags legend{float:left;font-weight:700;margin-right:.5rem;font-size:.95rem}
.archive-tags button{font:700 .9rem var(--body);background:var(--paper);color:var(--text);border:2px solid var(--line);border-radius:999px;padding:.1rem .65rem;cursor:pointer}
.archive-tags button:hover{border-color:var(--text)}
.archive-tags button[aria-pressed=true]{background:var(--accent);border-color:var(--text)}
.archive-tags [data-tag-clear]{justify-self:start;background:transparent;border-color:var(--text)}
.archive-list{display:grid;gap:.9rem}
.archive-empty{background:var(--sun);border-radius:var(--r);padding:1rem}
.card>a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .85rem;align-items:start;background:var(--paper);border:2px solid var(--text);border-radius:var(--r);padding:1rem;color:var(--text);text-decoration:none}
.card>a:hover{background:var(--sun)}
.card .pad{margin-top:.25rem;width:2.1rem;height:2.1rem}
.card-text{display:grid;gap:.15rem;min-width:0}
.tag{font-size:.84rem;font-weight:700;color:var(--link)}
.card-title{font:600 1.28rem/1.25 var(--head)}
.card-lead{color:var(--muted)}
.card-meta{font-size:.88rem;font-weight:700}
.card-img{display:none}
.card-img img{display:block;width:100%;height:auto;border-radius:14px}
@media (min-width:44rem){.card>a{grid-template-columns:auto minmax(0,1fr) 13rem}.card-img{display:block}}

/* Artikel */
.article{padding:.75rem 0 3rem}
.crumbs{font-size:.95rem;font-weight:700;margin-bottom:.5rem}
.article-head{max-width:50rem;margin-bottom:1.25rem}
.article-head h1{font-size:clamp(1.85rem,4.4vw,3rem)}
.article-meta{color:var(--muted);font-weight:700;font-size:.95rem;margin:0}
.article-grid{display:grid;gap:2.5rem}
.article-main{min-width:0;max-width:46rem}
@media (min-width:64rem){.article-grid{grid-template-columns:minmax(0,46rem) minmax(0,1fr);justify-content:space-between}}
.article-cover{margin:0 auto .5rem;max-width:34rem}
.article-cover figcaption{text-align:right}
.article-lead{font-size:1.22rem;line-height:1.55;font-weight:700}
.article-short{background:var(--sun);border-radius:var(--r);padding:1rem 1.25rem;margin:1.25rem 0 2rem}
.article-short h2{font-size:1.25rem;margin-bottom:.4rem}
.article-short ul{margin:0;padding-left:1.15rem}
.article-short li{margin-bottom:.3rem}
.article-body h2{margin-top:2.1rem;scroll-margin-top:1.5rem}
.article-body ul{padding-left:1.2rem}
.article-body li{margin-bottom:.35rem}
.cite{font-size:.72em;line-height:0;font-weight:700;margin-left:.05em}
.cite a{text-decoration:none;padding-inline:.12em}
.cite a:hover{text-decoration:underline}
.article-diagram{margin:1.5rem 0;background:var(--paper);border:2px solid var(--text);border-radius:var(--r);padding:.75rem}
.article-diagram svg{display:block;width:100%;height:auto;color:var(--text)}
.article-diagram text{font-family:var(--body)}
.article-diagram figcaption{padding:.5rem .25rem 0}
.article-example{margin:1.75rem 0;background:var(--soft);border-left:6px solid var(--accent);border-radius:0 18px 18px 0;padding:1rem 1.25rem}
.article-example h2{font:700 .92rem var(--body);color:var(--link);margin:0 0 .15rem}
.article-example h3{margin-bottom:.35rem}
.article-example p:last-child{margin-bottom:0}
.article-checklist{margin-top:2.5rem;scroll-margin-top:1.5rem}
.article-checklist ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.article-checklist li{position:relative;padding:.5rem .7rem .5rem 3rem;background:var(--paper);border:2px solid var(--line);border-radius:14px;cursor:pointer}
.article-checklist li::before{content:"";position:absolute;left:.65rem;top:.55rem;width:1.65rem;height:1.65rem;border:2px solid var(--accent);border-radius:50%;background:var(--bg)}
.article-checklist li[aria-checked=true]{border-color:var(--accent);background:var(--soft)}
.article-checklist li[aria-checked=true]::before{background:var(--accent)}
.article-checklist li[aria-checked=true]::after{content:"";position:absolute;left:1.22rem;top:.85rem;width:.5rem;height:.85rem;border:solid var(--text);border-width:0 3px 3px 0;transform:rotate(42deg)}
.article-faq,.article-sources{margin-top:2.5rem;scroll-margin-top:1.5rem}
details{border-bottom:2px dotted var(--line);padding:.5rem 0}
summary{font:600 1.1rem var(--head);cursor:pointer;padding:.15rem 0}
details p{margin:.5rem 0 .4rem}
.article-sources ol,.ref-sources ol{padding-left:1.4rem;font-size:.95rem}
.article-sources li,.ref-sources li{margin-bottom:.3rem;scroll-margin-top:1.5rem}
.article-sources li:target,.ref-sources li:target{background:var(--sun);border-radius:6px}
.article-side{display:none}
@media (min-width:64rem){.article-side{display:block}.article-side nav{position:sticky;top:1.5rem}}
.article-side h2{font-size:1.05rem;margin-bottom:.5rem}
.article-side ol{list-style:none;margin:0;padding:0}
.article-side a{display:flex;gap:.45rem;padding:.3rem 0;color:var(--text);text-decoration:none;font-size:.95rem;line-height:1.35}
.article-side a:hover{color:var(--link);text-decoration:underline}
.article-side .pad{width:1.05rem;height:1.05rem;margin-top:.13rem}
.article-related{margin-top:3rem;padding-top:1.5rem;border-top:5px dotted color-mix(in srgb,var(--accent) 55%,var(--bg))}
.related-list{display:grid;gap:.8rem}
@media (min-width:44rem){.related-list{grid-template-columns:1fr 1fr}}
.card-related>a{grid-template-columns:7rem minmax(0,1fr);align-items:center;padding:.7rem}
.card-related img{display:block;width:100%;height:auto;border-radius:12px}

/* Helfer-Checkliste */
.ref{padding:.75rem 0 3rem;display:grid;gap:2.5rem;min-width:0}
.ref-head{max-width:46rem}
.ref-head h1{font-size:clamp(1.9rem,4.6vw,3rem)}
.ref>section{min-width:0}
.month-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem;margin-bottom:.9rem}
@media (min-width:44rem){.month-picker{grid-template-columns:repeat(12,1fr)}}
.month-picker button{font:700 .98rem var(--body);background:var(--paper);color:var(--text);border:2px solid var(--line);border-radius:12px;padding:.42rem 0;cursor:pointer}
.month-picker button:hover{border-color:var(--text)}
.month-picker button[aria-pressed=true]{background:var(--extra);border-color:var(--text)}
.month-panel{background:var(--sun);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:1.1rem;min-height:11rem}
.month-card h3{margin-bottom:.3rem}
.month-card p{margin-bottom:.5rem}
.month-card ul{margin:0 0 .5rem;padding-left:1.15rem}
.month-phase{margin-bottom:0}
.cal-scroll{overflow-x:auto;background:var(--paper);border:2px solid var(--text);border-radius:var(--r);padding:.55rem}
.cal{width:100%;min-width:20rem;border-collapse:separate;border-spacing:2px;font-size:.92rem}
.cal caption{text-align:left;color:var(--muted);padding:.1rem .15rem .5rem;font-size:.9rem}
.cal th{font-weight:700;text-align:center;padding:.15rem}
.cal thead th:first-child,.cal tbody th{text-align:left;width:32%}
.cal abbr{text-decoration:none}
.cal thead th.is-on{background:var(--extra);border-radius:6px}
.cal td{height:1.7rem;background:var(--soft);border-radius:5px;position:relative}
.cal td.lv-1,.cal-legend .lv-1{background:color-mix(in srgb,var(--accent) 45%,var(--bg))}
.cal td.lv-2,.cal-legend .lv-2{background:var(--accent)}
.cal td.lv-3,.cal-legend .lv-3{background:repeating-linear-gradient(135deg,var(--extra) 0 5px,var(--paper) 5px 9px)}
.cal td.is-on{box-shadow:inset 0 0 0 2px var(--text)}
.cal-legend{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;list-style:none;margin:.6rem 0 0;padding:0;font-size:.93rem}
.cal-legend li{display:flex;align-items:center;gap:.35rem}
.cal-legend i{width:1.1rem;height:1.1rem;border-radius:4px;border:1px solid var(--text)}
.ref-weather{background:var(--soft);border-radius:var(--r);padding:clamp(1rem,3vw,1.75rem)}
.weather{display:grid;gap:.9rem}
@media (min-width:50rem){.weather{grid-template-columns:1fr 1fr;gap:2rem}}
.weather-temp label{display:block;font-weight:700;margin-bottom:.35rem}
.weather-temp output{font:600 1.35rem var(--head)}
.weather input[type=range]{width:100%;accent-color:var(--link);height:2rem}
.weather fieldset{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.weather legend{font-weight:700;margin-bottom:.35rem}
.weather fieldset label{position:relative;cursor:pointer}
.weather fieldset input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.weather fieldset span{display:block;font-weight:700;background:var(--paper);border:2px solid var(--line);border-radius:999px;padding:.22rem .8rem}
.weather fieldset input:checked+span{background:var(--accent);border-color:var(--text)}
.weather fieldset input:focus-visible+span{outline:3px solid var(--text);outline-offset:2px}
.weather-result{margin-top:1rem;background:var(--paper);border:2px solid var(--text);border-radius:var(--r);padding:.75rem 1rem;display:grid;gap:.1rem}
.weather-result strong{font:600 1.25rem var(--head)}
.weather-result[data-level=high]{background:var(--accent)}
.weather-result[data-level=mid]{background:color-mix(in srgb,var(--accent) 40%,var(--bg))}
.weather-result[data-level=some]{background:var(--sun)}
.ref-note{font-size:.92rem;color:var(--muted);margin:.8rem 0 0}
.check-top{display:flex;flex-wrap:wrap;gap:.6rem 1rem;justify-content:space-between;align-items:center}
.check-top h2{margin:0}
.check-tools{display:flex;gap:.5rem}
.check-progress{font-weight:700;margin:.7rem 0 1rem}
.check-bar{display:block;height:.7rem;background:var(--soft);border-radius:999px;overflow:hidden;margin-top:.3rem;border:1px solid var(--text)}
.check-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}
[data-checklist]{display:grid;gap:1rem}
@media (min-width:56rem){[data-checklist]{grid-template-columns:1fr 1fr}}
.phase{border:2px solid var(--line);border-radius:var(--r);margin:0;padding:.3rem 1rem .8rem;min-width:0;background:var(--paper)}
.phase.is-now{border-color:var(--text);background:var(--sun)}
.phase legend{font:600 1.18rem var(--head);padding:0 .4rem}
.phase legend span{font:700 .85rem var(--body);color:var(--muted);margin-left:.3rem}
.phase ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.phase label{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}
.phase input{appearance:none;-webkit-appearance:none;flex:none;width:1.55rem;height:1.55rem;margin:.08rem 0 0;border:2px solid var(--link);border-radius:50%;background:var(--bg);display:grid;place-items:center;cursor:pointer}
.phase input:checked{background:var(--accent)}
.phase input:checked::after{content:"";width:.42rem;height:.75rem;border:solid var(--text);border-width:0 3px 3px 0;transform:translateY(-1px) rotate(42deg)}
.phase input:checked+span{text-decoration:line-through;text-decoration-color:var(--link)}
.ref-sources h2{font-size:1.35rem}

/* Seiten */
.page-narrow{max-width:46rem;padding:1rem 0 3rem}
.prose h2{margin-top:1.8rem;font-size:1.4rem}
.prose h3{margin-top:1.3rem}
.prose ul{padding-left:1.2rem}
.prose [data-consent-open]{font:700 1rem var(--body);background:var(--text);color:var(--bg);border:0;border-radius:12px;padding:.55rem .95rem;cursor:pointer}
.contact-grid{display:grid;gap:2rem;max-width:64rem}
@media (min-width:56rem){.contact-grid{grid-template-columns:1fr 1.1fr;gap:3rem}}
.lost{text-align:center}
.lost .frog{width:6.5rem;margin-bottom:.5rem}
.finder-small{text-align:left;margin-bottom:1rem}
.finder-small label{font-size:1.1rem}

/* Fuß */
.site-footer{margin-top:1rem;color:var(--text)}
.wave{display:block;width:100%;height:32px;fill:currentColor}
.foot-in{background:var(--text);color:var(--bg);padding:1.75rem 0 2.25rem;margin-top:-1px}
.foot-grid{display:grid;gap:1.5rem}
@media (min-width:50rem){.foot-grid{grid-template-columns:1.6fr 1fr 1fr;gap:3rem}}
.foot-name{display:flex;align-items:center;gap:.5rem;font:600 1.4rem var(--head);margin-bottom:.4rem}
.site-footer .frog-pupil{fill:var(--text)}
.site-footer h2{font:700 1rem var(--body);margin-bottom:.35rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:.12rem 0}
.site-footer a{color:var(--bg);font-weight:400}
.site-footer a:hover{color:var(--extra)}

/* Consent: beide Knöpfe gleich groß, gleiche Farbe */
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:60;max-width:30rem;background:var(--paper);border:3px solid var(--text);border-radius:var(--r);padding:.9rem 1rem}
.consent p{margin:0 0 .65rem;font-size:.97rem}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
[data-consent-choice]{font:700 1rem var(--body);background:var(--text);color:var(--bg);border:2px solid var(--text);border-radius:12px;padding:.5rem;cursor:pointer}
[data-consent-choice]:hover{background:var(--accent);color:var(--text)}

@media print{
  .site-header,.site-footer,.consent,.skip-link,.ref-head p:last-child,.ref-season,.ref-weather,.check-tools,.ref-sources{display:none!important}
  body{font-size:11pt;background:#fff}
  .phase{break-inside:avoid;background:#fff}
  .phase input{border-color:#000}
}
