/* ============================== ARCHIV: /projekte/ und Projekttypen ============================== */
.pm-archive-page {
	--pmx-overlay-strong: var(--pm-overlay-dark-strong, #1A1E27EB);
	--pmx-overlay-mid: var(--pm-overlay-dark-mid, #1A1E27B3);
	--pmx-overlay-soft: var(--pm-overlay-dark-soft, #1A1E2766);
	--pmx-glass: var(--pm-glass, #FFFFFF1F);
	--pmx-glass-line: var(--pm-glass-line, #FFFFFF66);
	--pmx-on-dark: var(--pm-on-dark, #FFFFFF);
	--pmx-shadow: var(--pm-shadow, #2D323F1F);
	--pmx-gap: 24px;
}
.pm-archive-page .site-content > .ast-container { display: block; max-width: none; padding: 0; }
.pmx-archive { display: flex; flex-direction: column; background: var(--pmx-bg); font-family: var(--pmx-body); color: var(--pmx-text); }
.pmx-wrap { display: flex; flex-direction: column; width: 100%; max-width: var(--pmx-container); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* Hero */
.pmx-hero {
	display: flex; padding: 72px 0 64px;
	background-color: var(--pmx-ink);
	background-image: linear-gradient(100deg, var(--pmx-overlay-strong) 0%, var(--pmx-overlay-mid) 55%, var(--pmx-overlay-soft) 100%), var(--pmx-hero-img, none);
	background-size: cover; background-position: center right;
}
.pmx-hero-inner { gap: 16px; }
.pmx-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--pmx-on-dark-muted); }
.pmx-crumbs a { color: var(--pmx-on-dark-muted); text-decoration: none; }
.pmx-crumbs a:hover { color: var(--pmx-on-dark); }
.pmx-kicker { margin: 8px 0 0; font-family: var(--pmx-head); font-size: 14px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--pmx-primary); }
.pmx-hero-title { margin: 0; font-family: var(--pmx-head); font-size: 48px; font-weight: 700; line-height: 1.15; color: var(--pmx-on-dark); }
.pmx-hero-lead { margin: 0; max-width: 680px; font-size: 19px; line-height: 1.6; color: var(--pmx-on-dark-muted); }

/* Typ-Filter */
.pmx-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.pmx-chip {
	display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 16px;
	border-radius: var(--pmx-pill); border: 1px solid var(--pmx-glass-line); background: var(--pmx-glass);
	font-family: var(--pmx-head); font-size: 14px; font-weight: 500; color: var(--pmx-on-dark); text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.pmx-chip:hover { border-color: var(--pmx-primary); color: var(--pmx-on-dark); }
.pmx-chip.is-active { background: var(--pmx-primary); border-color: var(--pmx-primary); color: var(--pmx-ink); }
.pmx-chip-count { display: inline-flex; min-width: 22px; justify-content: center; padding: 1px 6px; border-radius: var(--pmx-pill); background: var(--pmx-glass); font-size: 12px; }
.pmx-chip.is-active .pmx-chip-count { background: var(--pmx-surface); color: var(--pmx-ink); }

/* Liste */
.pmx-section { display: flex; padding: 56px 0 72px; }
.pmx-section-white { background: var(--pmx-surface); padding: 64px 0; }
.pmx-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.pmx-count { margin: 0; font-size: 16px; color: var(--pmx-muted); }
.pmx-count strong { font-family: var(--pmx-head); color: var(--pmx-ink); }

.pmx-grid { display: flex; flex-wrap: wrap; gap: var(--pmx-gap); }
.pmx-card {
	display: flex; flex-direction: column; flex: 0 0 calc((100% - 2 * var(--pmx-gap)) / 3); min-width: 0;
	background: var(--pmx-surface); border: 1px solid var(--pmx-line); border-radius: var(--pmx-radius); overflow: hidden;
	transition: box-shadow .3s, border-color .3s;
}
.pmx-card:hover { border-color: var(--pmx-primary); box-shadow: 0 12px 28px var(--pmx-shadow); }
.pmx-card-media { display: flex; height: 200px; overflow: hidden; background: var(--pmx-tint); }
.pmx-card-img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.pmx-card:hover .pmx-card-img { transform: scale(1.06); }
.pmx-card-body { display: flex; flex-direction: column; flex: 1 1 auto; gap: 8px; padding: 22px 24px 24px; }
.pmx-price { display: inline-flex; align-self: flex-start; padding: 4px 12px; border-radius: var(--pmx-pill); background: var(--pmx-primary); font-family: var(--pmx-head); font-size: 14px; font-weight: 600; color: var(--pmx-ink); }
.pmx-label { margin-top: 4px; font-size: 13px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--pmx-primary-text); }
.pmx-card-title { margin: 0; font-family: var(--pmx-head); font-size: 18px; font-weight: 600; line-height: 1.35; color: var(--pmx-ink); }
.pmx-card-title a { color: var(--pmx-ink); text-decoration: none; }
.pmx-card-title a:hover { color: var(--pmx-primary-text); }
.pmx-card-text { flex: 1 1 auto; margin: 0; font-size: 15px; line-height: 1.6; color: var(--pmx-muted); }
.pmx-card-meta { margin: 4px 0 0; font-size: 13px; line-height: 1.4; color: var(--pmx-muted); }
.pmx-card-more { margin-top: 6px; font-family: var(--pmx-head); font-size: 15px; font-weight: 600; color: var(--pmx-primary-text); text-decoration: none; }
.pmx-card-more:hover { color: var(--pmx-ink); }

/* Blätterfunktion */
.pmx-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 48px; }
.pmx-page {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 14px; box-sizing: border-box;
	border-radius: var(--pmx-radius-s); border: 1px solid var(--pmx-line); background: var(--pmx-surface);
	font-family: var(--pmx-head); font-size: 15px; font-weight: 600; color: var(--pmx-ink); text-decoration: none;
	transition: border-color .2s, background-color .2s, color .2s;
}
a.pmx-page:hover { border-color: var(--pmx-primary); color: var(--pmx-primary-text); }
.pmx-page.current { background: var(--pmx-primary); border-color: var(--pmx-primary); color: var(--pmx-ink); }
.pmx-page.dots { border-color: transparent; background: transparent; min-width: 24px; padding: 0; }

/* Buttons, leer, CTA */
.pmx-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: var(--pmx-pill);
	border: 1px solid var(--pmx-primary); background: var(--pmx-primary); font-family: var(--pmx-head); font-size: 15px; font-weight: 600;
	color: var(--pmx-ink); text-decoration: none; transition: background-color .2s, border-color .2s, color .2s;
}
.pmx-btn:hover { background: var(--pmx-primary-dark); border-color: var(--pmx-primary-dark); color: var(--pmx-surface); }
.pmx-btn-ghost { background: var(--pmx-surface); border-color: var(--pmx-line); color: var(--pmx-ink); }
.pmx-btn-ghost:hover { background: var(--pmx-surface); border-color: var(--pmx-primary); color: var(--pmx-primary-text); }
.pmx-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 64px 24px; border-radius: var(--pmx-radius); background: var(--pmx-surface); border: 1px solid var(--pmx-line); text-align: center; }
.pmx-empty-title { margin: 0; font-family: var(--pmx-head); font-size: 22px; font-weight: 600; color: var(--pmx-ink); }
.pmx-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 40px 48px; border-radius: 18px; background: var(--pmx-tint); }
.pmx-cta-copy { display: flex; flex-direction: column; gap: 8px; }
.pmx-cta-copy p { margin: 0; color: var(--pmx-muted); }
.pmx-cta-title { margin: 0; font-family: var(--pmx-head); font-size: 30px; font-weight: 700; color: var(--pmx-ink); }
.pmx-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Tablet */
@media (max-width: 1024px) {
	.pmx-hero { padding: 56px 0 48px; }
	.pmx-hero-title { font-size: 38px; }
	.pmx-card { flex-basis: calc((100% - var(--pmx-gap)) / 2); }
	.pmx-cta { padding: 32px; }
}
/* Mobil */
@media (max-width: 767px) {
	.pm-archive-page { --pmx-gap: 16px; }
	.pmx-wrap { padding: 0 16px; }
	.pmx-hero { padding: 40px 0 36px; }
	.pmx-hero-title { font-size: 30px; }
	.pmx-hero-lead { font-size: 17px; }
	.pmx-section { padding: 36px 0 48px; }
	.pmx-card { flex-basis: 100%; }
	.pmx-card-media { height: 190px; }
	.pmx-page { min-width: 40px; height: 40px; padding: 0 10px; }
	.pmx-cta { padding: 28px 20px; }
	.pmx-cta-title { font-size: 24px; }
}

/* SEO-Text auf Projekttyp-Seiten */
.pmx-seo-inner{max-width:820px}
.pmx-seo-inner h2{font-size:1.5rem;line-height:1.3;margin:2rem 0 .75rem}
.pmx-seo-inner h2:first-child{margin-top:0}
.pmx-seo-inner p,.pmx-seo-inner li{font-size:1.05rem;line-height:1.7}
.pmx-seo-inner ul{margin:0 0 1.25rem 1.25rem;padding:0}
.pmx-seo-inner li{margin-bottom:.4rem}
.pmx-seo-inner a{text-decoration:underline}
