/* Projektmensa – Kopf-/Fußzeile (Astra) und Marktplatz-Seiten. Design 1 „Mensa Cyan“.
   Farben und Schriften greifen auf die globalen Elementor-Variablen zu (Fallback = gleiche Werte). */
:root {
	--pmx-primary: var(--pm-primary, #00BFD3);
	--pmx-primary-dark: var(--pm-primary-dark, #019CC0);
	--pmx-primary-text: var(--pm-primary-text, #00768A);
	--pmx-tint: var(--pm-tint, #E3F7F9);
	--pmx-ink: var(--pm-ink, #2D323F);
	--pmx-text: var(--pm-text, #31313B);
	--pmx-muted: var(--pm-muted, #5F6470);
	--pmx-bg: var(--pm-bg, #F5F7F8);
	--pmx-surface: var(--pm-surface, #FFFFFF);
	--pmx-line: var(--pm-line, #E1E6EA);
	--pmx-footer: var(--pm-footer, #2B2F38);
	--pmx-on-dark-muted: var(--pm-on-dark-muted, #B9BFC9);
	--pmx-danger: #B42318;
	--pmx-danger-tint: #FDECEA;
	--pmx-success-tint: #E6F6EC;
	--pmx-success: #1E6B3A;
	--pmx-head: "Poppins", sans-serif;
	--pmx-body: "Lato", sans-serif;
	--pmx-radius: 14px;
	--pmx-radius-s: 8px;
	--pmx-pill: 999px;
	--pmx-container: 1240px;
}

/* ============================== HEADER ============================== */
.site-header .ast-primary-header-bar,
.site-header .ast-below-header-bar { background: var(--pmx-surface); }
.site-header .ast-primary-header-bar { border-bottom: 0; }
.site-header .ast-below-header-bar { border-bottom: 1px solid var(--pmx-line); border-top: 1px solid var(--pmx-line); }

/* Hauptnavigation zentriert, Poppins */
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link {
	font-family: var(--pmx-head); font-weight: 500; font-size: 15px; color: var(--pmx-ink); padding: 0 16px;
}
.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link:hover,
.ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link { color: var(--pmx-primary-text); }

/* Login / Registrieren */
.pm-hd-account { display: flex; align-items: center; gap: 12px; }
.pm-hd-account a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: var(--pmx-pill); font-family: var(--pmx-head); font-size: 15px; text-decoration: none; transition: background-color .2s, color .2s; }
.pm-hd-login { padding: 0 16px; color: var(--pmx-ink); font-weight: 500; }
.pm-hd-login:hover { color: var(--pmx-primary-text); }
.pm-hd-register { padding: 0 24px; background: var(--pmx-primary); color: var(--pmx-ink); font-weight: 600; }
.pm-hd-register:hover { background: var(--pmx-primary-dark); color: var(--pmx-surface); }
.ast-header-html-2 p, .ast-header-html-1 p { margin: 0; }

/* Kategorie-Leiste als Chips */
.ast-header-html-1 .ast-builder-html-element p {
	font-family: var(--pmx-body); font-size: 13px; font-weight: 700; color: var(--pmx-muted); text-transform: uppercase; letter-spacing: .08em; margin-right: 8px;
}
.ast-builder-menu-2 .main-header-menu { gap: 8px; flex-wrap: wrap; justify-content: center; }
.ast-below-header-bar .site-header-below-section-center { justify-content: center; flex: 1 1 auto; }
.ast-builder-menu-2 .main-header-menu > .menu-item > .menu-link {
	display: inline-flex; align-items: center; min-height: 32px; line-height: 1; padding: 0 12px; margin: 9px 0;
	border-radius: var(--pmx-pill); background: var(--pmx-bg); color: var(--pmx-ink);
	font-family: var(--pmx-body); font-size: 13px; font-weight: 700; transition: background-color .2s;
}
.ast-builder-menu-2 .main-header-menu > .menu-item > .menu-link:hover,
.ast-builder-menu-2 .main-header-menu > .current-menu-item > .menu-link { background: var(--pmx-tint); color: var(--pmx-ink); }

/* Mobiles Menü */
.ast-header-break-point .ast-header-html-2, .ast-header-break-point .ast-header-html-2 .ast-builder-html-element { width: 100%; }
.ast-header-break-point .pm-hd-account { flex-direction: column; align-items: stretch; gap: 10px; padding: 16px 20px; }
.ast-header-break-point .pm-hd-login { border: 2px solid var(--pmx-line); }
.ast-mobile-popup-content .pm-hd-account,
.ast-header-break-point .ast-mobile-header-content .pm-hd-account { flex-direction: column; align-items: stretch; padding: 16px 20px; }
.ast-header-break-point .ast-builder-menu-2 .main-header-menu { padding: 8px 20px 16px; }
.ast-header-break-point .ast-builder-menu-2 .main-header-menu > .menu-item > .menu-link { margin: 0; border-bottom: 0; }

/* ============================== FOOTER ============================== */
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap { background: var(--pmx-footer); }
.site-footer .site-below-footer-wrap { border-top: 1px solid rgba(255,255,255,.08); }
.site-footer, .site-footer p { font-family: var(--pmx-body); font-size: 15px; color: var(--pmx-on-dark-muted); }
.site-footer .ast-footer-html-1, .site-footer .ast-footer-html-1 .ast-builder-html-element { width: 100%; }
.site-footer .ast-footer-html-1 .ast-builder-html-element > p:empty { display: none; }

/* Spalten */
.pmf { display: flex; flex-wrap: wrap; gap: 48px 40px; width: 100%; padding: 24px 0 8px; }
.pmf-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; flex: 1.5 1 300px; min-width: 0; }
.pmf-logo { display: inline-flex; }
.pmf-logo img { display: block; width: 200px; height: auto; }
.site-footer .pmf-text { max-width: 380px; margin: 0; line-height: 1.65; color: var(--pmx-on-dark-muted); }
.site-footer .pmf-mail { color: var(--pmx-surface); text-decoration: none; font-family: var(--pmx-head); font-size: 15px; font-weight: 500; }
.site-footer .pmf-mail:hover { color: var(--pmx-primary); }
.site-footer .pmf-cta {
	display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; border-radius: var(--pmx-pill);
	background: var(--pmx-primary); color: var(--pmx-ink); font-family: var(--pmx-head); font-size: 14px; font-weight: 600; text-decoration: none;
	transition: background-color .2s, color .2s;
}
.site-footer .pmf-cta:hover { background: var(--pmx-surface); color: var(--pmx-ink); }

.pmf-col { display: flex; flex-direction: column; gap: 16px; flex: 1 1 180px; min-width: 0; }
.site-footer .pmf-title { margin: 0; font-family: var(--pmx-head); font-size: 15px; font-weight: 600; letter-spacing: .4px; color: var(--pmx-surface); }
.pmf-menu { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pmf-menu li { margin: 0; padding: 0; }
.site-footer .pmf-menu a {
	display: inline-flex; align-items: center; padding-left: 0; border-left: 2px solid transparent;
	color: var(--pmx-on-dark-muted); font-size: 15px; line-height: 1.45; text-decoration: none;
	transition: color .2s, padding-left .2s, border-color .2s;
}
.site-footer .pmf-menu a:hover { color: var(--pmx-surface); }

/* Gerade besuchte Seite (bzw. Ressort des aktuellen Artikels) farblich markieren */
.site-footer .pmf-menu .current-menu-item > a,
.site-footer .pmf-menu .current_page_item > a,
.site-footer .pmf-menu .current-post-ancestor > a,
.site-footer .pmf-menu .current-menu-parent > a,
.site-footer .pmf-menu .current-category-ancestor > a {
	padding-left: 10px; border-left-color: var(--pmx-primary); color: var(--pmx-primary); font-weight: 700;
}

/* Untere Leiste */
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { font-size: 13px; color: var(--pmx-on-dark-muted); }
.site-footer .ast-footer-html-2 a { color: var(--pmx-on-dark-muted); text-decoration: none; font-size: 14px; }
.site-footer .ast-footer-html-2 a:hover { color: var(--pmx-primary); }
.pm-social { display: flex; gap: 20px; flex-wrap: wrap; justify-content: flex-end; margin: 0; }

@media (max-width: 921px) {
	.pmf { gap: 36px 32px; }
	.pmf-brand { flex-basis: 100%; }
	.pm-social { justify-content: flex-start; }
}
@media (max-width: 544px) {
	.pmf { gap: 32px 20px; }
	.pmf-col { flex: 1 1 calc(50% - 10px); }
	.pmf-col:last-child { flex-basis: 100%; }
	.pm-social { justify-content: center; }
}

/* ============================== MARKTPLATZ-SEITEN ============================== */
.pm-app { font-family: var(--pmx-body); color: var(--pmx-text); font-size: 16px; line-height: 1.6; background: var(--pmx-bg); padding-bottom: 64px; }
.pm-wrap { max-width: var(--pmx-container); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.pm-narrow { max-width: 720px; padding-top: 40px; }
.pm-page-head { background: var(--pmx-surface); padding: 64px 0 48px; margin-bottom: 40px; }
.pm-kicker { margin: 0 0 12px; font-family: var(--pmx-head); font-size: 15px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pmx-primary-text); }
.pm-app h1.pm-page-title { margin: 0 0 16px; font-family: var(--pmx-head); font-size: 48px; line-height: 1.15; font-weight: 700; color: var(--pmx-ink); }
.pm-lead { margin: 0; max-width: 720px; font-size: 20px; color: var(--pmx-muted); }
.pm-app h2.pm-h2 { margin: 0 0 12px; font-family: var(--pmx-head); font-size: 24px; line-height: 1.3; font-weight: 600; color: var(--pmx-ink); }

.pm-split { display: flex; gap: 24px; flex-wrap: wrap; align-items: flex-start; }
.pm-split > .pm-form-card { flex: 2 1 520px; min-width: 0; }
.pm-split > aside { flex: 1 1 320px; min-width: 0; }
.pm-card { background: var(--pmx-surface); border: 1px solid var(--pmx-line); border-radius: var(--pmx-radius); padding: 32px; box-sizing: border-box; }
.pm-card-tint { background: var(--pmx-tint); border-color: var(--pmx-tint); }
.pm-empty { text-align: center; }

.pm-form { display: flex; flex-direction: column; gap: 4px; }
.pm-row { display: flex; gap: 16px; flex-wrap: wrap; }
.pm-row > .pm-field { flex: 1 1 240px; min-width: 0; }
.pm-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.pm-field label { font-family: var(--pmx-head); font-size: 14px; font-weight: 600; color: var(--pmx-ink); }
.pm-req { color: var(--pmx-primary-text); }
.pm-app input[type="text"], .pm-app input[type="email"], .pm-app input[type="password"], .pm-app input[type="url"], .pm-app input[type="tel"], .pm-app input[type="file"], .pm-app select, .pm-app textarea,
.pm-inquiry textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 16px; border: 1px solid var(--pmx-line); border-radius: var(--pmx-radius-s);
	background: var(--pmx-surface); color: var(--pmx-text); font-family: var(--pmx-body); font-size: 16px; line-height: 1.5;
}
.pm-app input:focus, .pm-app select:focus, .pm-app textarea:focus, .pm-inquiry textarea:focus { outline: 2px solid var(--pmx-primary); outline-offset: 1px; border-color: var(--pmx-primary); }
.pm-app input:disabled { background: var(--pmx-bg); color: var(--pmx-muted); }
.pm-help { font-size: 13px; color: var(--pmx-muted); }
.pm-check { margin: 0 0 16px; }
.pm-check label { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--pmx-text); }
.pm-check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--pmx-primary-text); }
.pm-hp { display: none; }
.pm-form-links { font-size: 15px; margin: 8px 0 0; }
.pm-app a, .pm-inquiry a { color: var(--pmx-primary-text); }

.pm-btn, .pm-app button.pm-btn, .pm-inquiry button.pm-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; border: 0; border-radius: var(--pmx-pill);
	background: var(--pmx-primary); color: var(--pmx-ink); font-family: var(--pmx-head); font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s;
}
.pm-app a.pm-btn, .pm-inquiry a.pm-btn { color: var(--pmx-ink); }
.pm-btn:hover, .pm-app a.pm-btn:hover, .pm-inquiry a.pm-btn:hover { background: var(--pmx-primary-dark); color: var(--pmx-surface); }
.pm-btn-ghost, .pm-app button.pm-btn-ghost, .pm-inquiry button.pm-btn-ghost, .pm-app a.pm-btn-ghost, .pm-inquiry a.pm-btn-ghost { background: var(--pmx-surface); border: 2px solid var(--pmx-line); color: var(--pmx-ink); font-weight: 500; }
.pm-btn-ghost:hover, .pm-app a.pm-btn-ghost:hover, .pm-inquiry a.pm-btn-ghost:hover { background: var(--pmx-surface); border-color: var(--pmx-primary); color: var(--pmx-primary-text); }
.pm-btn-block { width: 100%; }
.pm-btn-row { display: flex; gap: 12px; flex-wrap: wrap; }

.pm-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pm-list li { display: flex; gap: 12px; align-items: flex-start; }
.pm-dot { flex: 0 0 10px; height: 10px; margin-top: 8px; border-radius: 50%; background: var(--pmx-primary); }

.pm-notice { padding: 14px 18px; border-radius: var(--pmx-radius-s); margin: 0 0 20px; font-size: 15px; }
.pm-notice-error { background: var(--pmx-danger-tint); color: var(--pmx-danger); }
.pm-notice-success { background: var(--pmx-success-tint); color: var(--pmx-success); }
.pm-notice-info { background: var(--pmx-tint); color: var(--pmx-ink); }

.pm-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 24px; }
.pm-tab { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: var(--pmx-pill); background: var(--pmx-surface); border: 1px solid var(--pmx-line); color: var(--pmx-ink) !important; font-family: var(--pmx-head); font-size: 14px; font-weight: 500; text-decoration: none; }
.pm-tab:hover { border-color: var(--pmx-primary); }
.pm-tab.is-active { background: var(--pmx-primary); border-color: var(--pmx-primary); font-weight: 600; }
.pm-tab-logout { margin-left: auto; }
.pm-tab-body > * + * { margin-top: 24px; }

.pm-listing-table { display: flex; flex-direction: column; background: var(--pmx-surface); border: 1px solid var(--pmx-line); border-radius: var(--pmx-radius); overflow: hidden; }
.pm-listing-row { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 18px 24px; border-top: 1px solid var(--pmx-line); }
.pm-listing-row:first-child { border-top: 0; }
.pm-listing-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 320px; }
.pm-listing-title { font-family: var(--pmx-head); font-weight: 600; color: var(--pmx-ink); }
.pm-meta { font-size: 13px; color: var(--pmx-muted); }
.pm-status { align-self: flex-start; padding: 2px 10px; border-radius: var(--pmx-pill); font-size: 12px; font-weight: 700; background: var(--pmx-bg); color: var(--pmx-ink); }
.pm-status-publish { background: var(--pmx-success-tint); color: var(--pmx-success); }
.pm-status-pending { background: var(--pmx-tint); color: var(--pmx-primary-text); }
.pm-listing-actions { display: flex; gap: 16px; align-items: center; }
.pm-listing-actions form { margin: 0; }
.pm-link, .pm-app button.pm-link { background: none; border: 0; padding: 0; font-family: var(--pmx-head); font-weight: 600; font-size: 14px; color: var(--pmx-primary-text); cursor: pointer; text-decoration: none; }
.pm-app button.pm-link-danger { color: var(--pmx-danger); }

/* Projekt-Detail: Anfrage-Box */
.pm-inquiry { margin-top: 40px; font-family: var(--pmx-body); }
.pm-inquiry .pm-h2 { margin: 0 0 12px; font-family: var(--pmx-head); font-size: 24px; font-weight: 600; color: var(--pmx-ink); }
.pm-inquiry .pm-field label { font-family: var(--pmx-head); font-size: 14px; font-weight: 600; color: var(--pmx-ink); }
.pm-watch { margin: 8px 0 0; }

@media (max-width: 767px) {
	.pm-page-head { padding: 40px 0 32px; margin-bottom: 24px; }
	.pm-app h1.pm-page-title { font-size: 32px; }
	.pm-lead { font-size: 17px; }
	.pm-wrap { padding: 0 16px; }
	.pm-card { padding: 20px; }
	.pm-tab-logout { margin-left: 0; }
	.pm-hd-account a { width: 100%; }
}
