/* Schädlingsratgeber im vorhandenen Erscheinungsbild. */
.pest-public { --serif: "Inter", system-ui, sans-serif; --ink: var(--petrol); --rule: var(--line); }
.pest-home-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.pest-home-copy h2 { margin-bottom: 1.25rem; }
.pest-home-copy p { max-width: 48ch; }
.pest-home-copy > p:not(.eyebrow) + p { margin-top: 1rem; }
.pest-home-categories { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--petrol); }
.pest-home-categories li { border-bottom: 1px solid oklch(76% .025 160); }
.pest-home-categories a { display: block; padding: 1.5rem .25rem; text-decoration: none; color: var(--petrol); }
.pest-home-categories a:hover strong { text-decoration: underline; text-underline-offset: .2em; }
.pest-home-categories strong { display: flex; justify-content: space-between; gap: 1rem; font-size: 1.4rem; }
.pest-home-categories p { margin: .45rem 0 0; color: var(--text); max-width: 52ch; }
.pest-home-categories small { display: block; color: var(--green-700); margin-top: .55rem; font-weight: 600; }
.pest-breadcrumb { padding-top: 2rem; }
.pest-breadcrumb nav { display: flex; gap: .65rem; flex-wrap: wrap; font-size: .875rem; }
.pest-intro { padding-top: clamp(2rem,5vw,5rem); padding-bottom: 3rem; }
.pest-intro h1 { font-family: var(--font-head); font-size: clamp(2rem,4.5vw,3.75rem); line-height: 1.12; max-width: 22ch; letter-spacing: -.035em; }
.pest-intro > p { max-width: 66ch; }
.pest-lead { font-size: clamp(1.1rem,2vw,1.35rem); line-height: 1.65; margin-top: 1.5rem; color: var(--petrol); }
.pest-latin, .pest-updated { color: var(--muted); margin-top: 1rem; }
.pest-updated { font-size: .875rem; }
.pest-reading { max-width: 850px; margin-inline: auto; padding-bottom: 4rem; }
.pest-cover { max-width: 1000px; margin-bottom: 2rem; }
.pest-help { padding-block: 2.5rem; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); margin-bottom: 3rem; }
.pest-help p { max-width: 65ch; margin-block: 1rem; }
.pest-related { padding-bottom: 4rem; }
.pest-related ul { margin-block: 1rem; }
.pest-category { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 3rem; padding-block: 2.5rem; border-top: 1px solid oklch(76% .025 160); }
.pest-category-intro p { max-width: 40ch; margin-top: 1rem; }
.pest-category-intro h2 { font-size: 2rem; }
.pest-entry-list { list-style: none; margin: 0; padding: 0; }
.pest-entry-list li + li { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.pest-entry-link { display: flex; align-items: start; gap: 1.25rem; text-decoration: none; color: var(--text); }
.pest-entry-link h3 { color: var(--petrol); font-size: 1.35rem; }
.pest-entry-link p { margin-top: .65rem; }
.pest-entry-link:hover h3 { text-decoration: underline; }
.pest-entry-link img { width: 130px; height: 100px; object-fit: cover; border-radius: 8px; }
.pest-read { display: block; color: var(--green-700); font-weight: 700; margin-top: .75rem; }
.pest-preview { padding: .75rem; border: 1px solid var(--petrol); background: var(--green-50); font-weight: 700; }
@media(max-width:760px) { .pest-home-layout,.pest-category { grid-template-columns: minmax(0,1fr); gap: 1.5rem; } .pest-intro h1 { font-size: 2rem; } .pest-entry-link { flex-direction: column; } .pest-entry-link img { width: 100%; height: 180px; } }

/* Kompaktes Verzeichnis; die ausführlichen Steckbriefe behalten ihre Lesedarstellung. */
.pest-directory-intro { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.pest-directory-intro h1 { font-size: clamp(1.8rem,3.5vw,2.75rem); max-width: 32ch; }
.pest-directory-intro .pest-lead { margin-top: .75rem; font-size: 1.05rem; line-height: 1.5; }
.pest-directory { padding-bottom: 2.5rem; }
.pest-category-compact { border-top: 1px solid var(--line); }
.pest-category-compact:last-of-type { border-bottom: 1px solid var(--line); }
.pest-category-compact > summary { display: flex; align-items: center; gap: 1rem; min-height: 70px; padding: 1rem .25rem; cursor: pointer; list-style: none; color: var(--petrol); }
.pest-category-compact > summary::-webkit-details-marker { display: none; }
.pest-category-compact > summary:hover { background: var(--green-50); }
.pest-category-compact > summary:focus-visible,.pest-directory a:focus-visible { outline: 3px solid var(--green-700); outline-offset: 3px; }
.pest-category-compact h2 { margin: 0; font-size: 1.35rem; line-height: 1.3; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.pest-category-count { color: var(--muted); font-size: .875rem; white-space: nowrap; }
.pest-toggle { width: 1.25rem; flex: 0 0 1.25rem; text-align: center; font-size: 1.5rem; line-height: 1; }
.pest-toggle::before { content: '+'; }
.pest-category-compact[open] > summary .pest-toggle::before { content: '−'; }
.pest-category-content { padding: 0 .25rem 1.25rem; }
.pest-category-description { max-width: 75ch; margin: 0 0 1rem; font-size: .95rem; line-height: 1.5; }
.pest-category-description a { white-space: nowrap; }
.pest-directory .pest-entry-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 1.75rem; }
.pest-directory .pest-entry-list li,.pest-directory .pest-entry-list li + li { margin: 0; padding: 0; border-top: 1px solid var(--line); min-width: 0; }
.pest-directory .pest-entry-link { flex-direction: row; align-items: center; gap: .75rem; height: 100%; min-height: 80px; padding: .75rem 0; }
.pest-directory .pest-entry-link > span:not(.pest-entry-arrow) { min-width: 0; flex: 1; }
.pest-directory .pest-entry-link h3 { margin: 0; font-size: 1rem; line-height: 1.4; font-weight: 650; overflow-wrap: anywhere; }
.pest-directory .pest-entry-link img { width: 56px; height: 56px; flex: 0 0 56px; object-fit: cover; border-radius: 4px; }
.pest-entry-latin { display: block; margin-top: .25rem; font-size: .8rem; line-height: 1.4; font-style: italic; color: var(--muted); overflow-wrap: anywhere; }
.pest-entry-arrow { color: var(--green-700); flex: 0 0 auto; }
.pest-directory-note { color: var(--muted); max-width: 75ch; font-size: .875rem; margin-top: 1.5rem; }
@media(max-width:1000px) { .pest-directory .pest-entry-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .pest-directory .pest-entry-list { grid-template-columns: minmax(0,1fr); } .pest-category-compact > summary { gap: .65rem; min-height: 64px; } .pest-category-compact h2 { font-size: 1.15rem; } .pest-category-count { font-size: .8rem; } .pest-directory .pest-entry-link { min-height: 72px; } }
