/*
Theme Name: PLACE MY ART
Theme URI: https://placemyart.com/
Description: Schlankes klassisches Theme für ar.placemyart.com. Nur die Hülle (Kopf- und Fußzeile, Seitenvorlagen); Tokens, Schriften und Bausteine kommen aus dem Plugin pma-plugin.
Author: Constantin Wittek-Saltzberg
Author URI: https://placemyart.com/
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pma
*/

/* Alle Werte aus tokens.css des Plugins; die Rueckfallwerte greifen nur, wenn das Plugin fehlt. */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--papier, #f4f2ee);
	color: var(--tusche, #141414);
}

img { max-width: 100%; height: auto; }

a { color: var(--schiefer, #4a6c8c); }

:focus-visible { outline: 2px solid var(--fokus, #4a6c8c); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.skip-link:focus {
	clip: auto; width: auto; height: auto;
	top: var(--space-2, 8px); left: var(--space-2, 8px);
	z-index: 100001;
	padding: var(--space-2, 8px) var(--space-4, 16px);
	background: var(--weiss, #fff);
}

/* Kopfzeile (Baustein pma-topbar, #401) */
.pma-site-kopf { position: relative; z-index: 50; }
.pma-site-kopf .pma-topbar { padding: 0 var(--space-5, 24px); gap: var(--space-4, 16px); }
.pma-wortmarke { display: inline-flex; align-items: center; color: var(--tusche, #141414); text-decoration: none; flex: 0 0 auto; }
.pma-wortmarke img { display: block; height: auto; }
.pma-wortmarke__voll { width: 110px; }
.pma-wortmarke__kurz { width: 36px; display: none !important; }
.pma-topbar__nav { gap: var(--space-1, 4px); }
.pma-topbar__nav .pma-tab { text-decoration: none; }
.pma-topbar__nav .pma-tab:hover { color: var(--tusche, #141414); }
.pma-chip--paket { text-decoration: none; }
.pma-chip__kurz { display: none; }

.pma-konto { position: relative; }
.pma-konto__knopf {
	display: flex; align-items: center; gap: var(--space-2, 8px);
	background: none; border: 0; padding: var(--space-1, 4px);
	font: 600 14.5px var(--font-sans, sans-serif); color: var(--tusche, #141414);
	cursor: pointer; border-radius: var(--radius-md, 6px);
}
.pma-konto__knopf:focus-visible { outline: 2px solid var(--fokus, #4a6c8c); outline-offset: 2px; }
.pma-konto__knopf[aria-current="page"] .pma-konto__name { text-decoration: underline; text-decoration-color: var(--schiefer, #4a6c8c); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.pma-konto__name { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pma-konto__burger { display: none; width: 20px; }
.pma-konto__burger span { display: block; height: 2px; margin: 4px 0; background: var(--tusche, #141414); }
.pma-konto__menue {
	position: absolute; right: 0; top: calc(100% + var(--space-2, 8px));
	min-width: 180px; margin: 0; padding: 6px; list-style: none;
	background: var(--weiss, #fff); border: 1px solid var(--linie, #d9d5cd);
	border-radius: var(--radius-lg, 8px); box-shadow: var(--schatten-karte);
}
.pma-konto__menue a {
	display: block; padding: 8px 10px; border-radius: var(--radius-sm, 4px);
	color: var(--tusche, #141414); text-decoration: none; font-size: 14.5px;
}
.pma-konto__menue a:hover { background: var(--karton, #eae6df); }
.pma-konto__menue a[aria-current="page"] { font-weight: 700; box-shadow: inset 2px 0 0 var(--schiefer, #4a6c8c); }

/* Inhalt */
.pma-site-inhalt { flex: 1 0 auto; }
.pma-wrap {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: var(--space-6, 32px) var(--space-6, 32px) var(--space-7, 48px);
}
.pma-titel {
	margin: 0 0 var(--space-5, 24px);
	font-size: var(--text-titel-size, 30px);
	line-height: var(--text-titel-line-height, 1.15);
	font-weight: var(--text-titel-weight, 800);
	letter-spacing: var(--text-titel-letter-spacing, -0.5px);
}

/* Fusszeile (#401): Papier mit Linie oben, keine dunkle Flaeche */
.pma-site-fuss { flex-shrink: 0; border-top: 1px solid var(--linie, #d9d5cd); background: var(--papier, #f4f2ee); }
.pma-site-fuss__zeile {
	display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2, 8px) var(--space-5, 24px);
	max-width: 1040px; margin: 0 auto; padding: var(--space-4, 16px) var(--space-6, 32px);
	font-size: var(--text-hinweis-size, 12.5px); color: var(--grau, #6e6b66);
}
.pma-site-fuss__marke { width: 100px; height: auto; margin-right: auto; }
.pma-site-fuss a, .pma-site-fuss__link { color: var(--grau, #6e6b66); }
.pma-site-fuss__link { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; cursor: pointer; }
.pma-datenschutz p { margin: 0 0 var(--space-3, 12px); }

/* Tab-Leiste mobil (#401) */
.pma-tabbar { display: none; }

@media (max-width: 720px) {
	.pma-site-kopf .pma-topbar { height: 54px; padding: 0 14px; gap: var(--space-2, 8px); }
	.pma-wortmarke__voll { display: none !important; }
	.pma-wortmarke__kurz { display: block !important; }
	.pma-topbar__nav { display: none; }
	.pma-chip__voll { display: none; }
	.pma-chip__kurz { display: inline; }
	.pma-konto__name, .pma-konto__pfeil { display: none; }
	.pma-konto__burger { display: block; }
	.pma-wrap { padding: var(--space-5, 24px) var(--space-4, 16px) var(--space-6, 32px); }
	.pma-site-fuss__zeile { padding: var(--space-4, 16px); }

	.pma-eingeloggt .pma-tabbar {
		display: flex; position: sticky; bottom: 0; z-index: 40;
		background: var(--weiss, #fff); border-top: 1px solid var(--linie, #d9d5cd);
		padding: 6px 8px calc(10px + env(safe-area-inset-bottom));
	}
	.pma-tabbar a {
		flex: 1; display: grid; justify-items: center; gap: 3px; padding: 4px;
		color: var(--grau, #6e6b66); font-size: 11.5px; text-decoration: none;
	}
	.pma-tabbar a[aria-current="page"] { color: var(--schiefer-gedrueckt, #3d5b77); font-weight: 700; }
}

/* Auth-Layout (page-auth.php, #402): links Karton mit Werk, rechts die Karte */
.pma-auth { flex: 1 0 auto; display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; }
.pma-auth__bild {
	display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-6, 32px);
	padding: var(--space-7, 48px) var(--space-7, 48px) var(--space-6, 32px);
	background: var(--karton, #eae6df); color: var(--tusche, #141414); overflow: hidden;
	/* Bei langen Formularen (Checkout) bleibt die Wand im Bild. */
	position: sticky; top: 0; height: 100vh; align-self: start;
}
.pma-auth__marke img { display: block; width: 160px; height: auto; }
.pma-auth__wand { position: relative; width: 240px; height: 196px; margin: var(--space-6, 32px) 0 var(--space-7, 48px) auto; }
.pma-auth__werk {
	display: block; width: 100%; height: 100%;
	border: 10px solid var(--tusche, #141414); box-shadow: var(--schatten-werk); box-sizing: border-box;
}
.pma-auth__mass { position: absolute; }
.pma-auth__mass--b { top: -34px; left: 50%; transform: translateX(-50%); }
.pma-auth__mass--h { left: -72px; top: 50%; transform: translateY(-50%); }
.pma-auth__claim {
	margin: 0 0 var(--space-3, 12px); max-width: 14ch;
	font-size: 34px; line-height: 1.1; font-weight: 800; letter-spacing: -0.5px;
}
.pma-auth__text { margin: 0; max-width: 36ch; color: var(--grau, #6e6b66); font-size: 14.5px; }
.pma-auth__fuer { margin: 0; color: var(--grau, #6e6b66); font-size: 13px; }

.pma-auth__seite { display: grid; place-items: center; padding: var(--space-7, 48px) var(--space-5, 24px); background: var(--papier, #f4f2ee); }
.pma-auth__spalte { width: 100%; max-width: 440px; }
.pma-auth__karte { padding: var(--space-6, 32px) var(--space-5, 24px); }
.pma-auth__karte > :first-child { margin-top: 0; }
.pma-auth__marke-mobil { display: none; margin-bottom: var(--space-5, 24px); }
.pma-auth__marke-mobil img { display: block; width: 160px; height: auto; }
.pma-auth__fuss {
	display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2, 8px) var(--space-4, 16px);
	margin-top: var(--space-5, 24px); font-size: 12px; color: var(--grau, #6e6b66);
}
.pma-auth__fuss a, .pma-auth__fuss .pma-site-fuss__link { color: var(--grau, #6e6b66); }

/* Fortschrittszeile 1 Paket · 2 Konto · 3 Willkommen */
.pma-schritte { display: flex; gap: 6px; margin: 0 0 var(--space-5, 24px); padding: 0; list-style: none; font-size: 13px; }
.pma-schritte__schritt {
	flex: 1; display: flex; align-items: center; gap: var(--space-2, 8px); min-width: 0;
	padding: 8px 10px; border-radius: 5px; background: var(--weiss, #fff);
	border: 1px solid var(--linie, #d9d5cd); color: var(--grau, #6e6b66);
}
.pma-schritte__nr {
	flex: 0 0 auto; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
	border: 1px solid var(--linie, #d9d5cd); font: 600 11px var(--font-mono, monospace);
}
.pma-schritte__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pma-schritte__schritt--aktuell { border-color: var(--schiefer, #4a6c8c); color: var(--tusche, #141414); font-weight: 700; }
.pma-schritte__schritt--aktuell .pma-schritte__nr { background: var(--schiefer, #4a6c8c); border-color: var(--schiefer, #4a6c8c); color: var(--papier, #f4f2ee); }
.pma-schritte__schritt--fertig { color: var(--erfolg, #3f7a52); }
.pma-schritte__schritt--fertig .pma-schritte__nr { background: var(--erfolg, #3f7a52); border-color: var(--erfolg, #3f7a52); color: var(--weiss, #fff); }

@media (max-width: 900px) {
	.pma-auth { grid-template-columns: 1fr; min-height: 0; }
	.pma-auth__bild { display: none; }
	.pma-auth__seite { place-items: start center; padding: var(--space-5, 24px) var(--space-4, 16px) var(--space-6, 32px); }
	.pma-auth__marke-mobil { display: inline-block; }
}
@media (max-width: 420px) {
	/* Nur optisch ausblenden, Screenreader lesen den Namen weiter. */
	.pma-schritte__schritt:not(.pma-schritte__schritt--aktuell) .pma-schritte__name {
		position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
	}
	.pma-schritte__schritt:not(.pma-schritte__schritt--aktuell) { flex: 0 0 auto; }
}

/* PMPro auf die Tokens (#403). :root:root, damit es unabhaengig von der
   Ladereihenfolge gegen PMPros eigenes :root gewinnt. */
:root:root {
	--pmpro--base--border-radius: var(--radius-lg, 8px);
	--pmpro--btn--border-radius: var(--radius-md, 6px);
	--pmpro--btn--top-bottom-padding: 9px;
	--pmpro--btn--left-right-padding: 16px;
	--pmpro--color--accent: var(--schiefer, #4a6c8c);
	--pmpro--color--base: var(--weiss, #fff);
	--pmpro--color--base-2: var(--karton, #eae6df);
	--pmpro--color--contrast: var(--tusche, #141414);
	--pmpro--color--border: var(--linie, #d9d5cd);
	--pmpro--color--error-background: var(--fehler-flaeche, #f6e4e1);
	--pmpro--color--error-border: var(--fehler-flaeche, #f6e4e1);
	--pmpro--color--error-text: var(--fehler, #a1443a);
	--pmpro--color--success-background: var(--erfolg-flaeche, #e1eee4);
	--pmpro--color--success-border: var(--erfolg-flaeche, #e1eee4);
	--pmpro--color--success-text: var(--erfolg, #3f7a52);
	--pmpro--color--alert-background: var(--warnung-flaeche, #f4ead6);
	--pmpro--color--alert-border: var(--warnung-flaeche, #f4ead6);
	--pmpro--color--alert-text: var(--warnung, #9a6b1f);
	--pmpro--color--info-background: var(--karton, #eae6df);
	--pmpro--color--info-border: var(--karton, #eae6df);
	--pmpro--color--info-text: var(--tusche, #141414);
}

/* Login, Passwort vergessen, Passwort zuruecksetzen in der Auth-Karte (#403) */
.pma-login__titel { margin: 0 0 4px; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -0.3px; }
.pma-login__einleitung { margin: 0 0 var(--space-5, 24px); color: var(--grau, #6e6b66); font-size: 14.5px; }
.pma-login .pma-notice { margin-bottom: var(--space-4, 16px); }
.pma-login .pma-notice a { color: inherit; font-weight: 600; }
.pma-login .pmpro, .pma-login .pmpro_section { margin: 0; padding: 0; }
.pma-login .pmpro_card { margin: 0; padding: 0; border: 0; box-shadow: none; background: none; }
.pma-login .pmpro_card_content { padding: 0; }
/* Meldungen, die die Vorlage nicht selbst uebernimmt, bleiben sichtbar (PMPro-Variablen auf Tokens). */
.pma-login .pmpro_message { margin: 0 0 var(--space-4, 16px); border-radius: var(--radius-lg, 8px); font-size: 14px; }
/* Die Einleitung steht ueber dem Formular; PMPros Absatz dazu ist leer. */
.pma-login .pmpro_lost_password-instructions, .pma-login .pmpro_spacer { display: none; }
.pma-login #loginform p, .pma-login .pmpro_form_field { margin: 0 0 var(--space-4, 16px); display: grid; gap: var(--space-1, 4px); }
.pma-login label, .pma-login .pmpro_form_label { font-size: 13px; font-weight: 600; color: var(--tusche, #141414); }
.pma-login input[type="text"], .pma-login input[type="email"], .pma-login input[type="password"] {
	width: 100%; min-height: 40px; padding: 9px 12px;
	font: inherit; font-size: 15px; color: var(--tusche, #141414);
	background: var(--weiss, #fff); border: 1px solid var(--linie, #d9d5cd); border-radius: var(--radius-md, 6px);
}
.pma-login input[type="text"]:focus, .pma-login input[type="email"]:focus, .pma-login input[type="password"]:focus {
	outline: none; border-color: var(--schiefer, #4a6c8c); box-shadow: 0 0 0 2px var(--schiefer-hell, #dde5ec);
}
.pma-login .login-password { position: relative; }
.pma-login .pmpro_form_field-password-toggle { position: absolute; top: 0; right: 0; }
.pma-login .pmpro_form_field-pass1 .pmpro_form_field-password-toggle { position: static; display: flex; justify-content: space-between; align-items: center; }
.pma-login .pmpro_btn-password-toggle, .pma-login .pmpro_form_field-password-toggle button {
	display: inline-flex; align-items: center; gap: 4px; padding: 0; background: none; border: 0;
	color: var(--schiefer, #4a6c8c); font: 600 13px var(--font-sans, sans-serif); cursor: pointer;
}
.pma-login .pmpro_icon { display: none; }
.pma-login #loginform p.login-remember { display: flex; align-items: center; gap: var(--space-2, 8px); }
.pma-login #loginform p.login-remember label { display: flex; align-items: center; gap: var(--space-2, 8px); font-weight: 400; font-size: 13.5px; color: var(--grau, #6e6b66); }
.pma-login input[type="submit"] {
	width: 100%; min-height: 42px; padding: 9px 16px; cursor: pointer;
	font: 600 14.5px var(--font-sans, sans-serif); color: var(--papier, #f4f2ee);
	background: var(--schiefer, #4a6c8c); border: 1px solid transparent; border-radius: var(--radius-md, 6px);
}
.pma-login input[type="submit"]:hover { background: var(--schiefer-gedrueckt, #3d5b77); }
.pma-login input[type="submit"]:focus-visible { outline: 2px solid var(--fokus, #4a6c8c); outline-offset: 2px; }
.pma-login .pmpro_card_actions { margin-top: var(--space-3, 12px); padding: 0; background: none; border: 0; font-size: 13.5px; text-align: right; }
.pma-login .pmpro_card_actions a { color: var(--schiefer, #4a6c8c); }
.pma-login .pmpro_form_hint, .pma-login #pass-strength-result { font-size: 12.5px; color: var(--grau, #6e6b66); }
.pma-login .pmpro_asterisk { color: var(--grau, #6e6b66); }
.pma-login .pmpro_asterisk abbr { text-decoration: none; }
.pma-login__neu {
	margin: var(--space-5, 24px) 0 0; padding-top: var(--space-4, 16px);
	border-top: 1px solid var(--linie, #d9d5cd); font-size: 14px; color: var(--grau, #6e6b66);
}
.pma-login__knoepfe { display: flex; flex-wrap: wrap; gap: var(--space-2, 8px); }

/* Pakete-Seite [pma_pakete] (#404) im breiten Auth-Layout */
.pma-auth--breit { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); }
.pma-auth--breit .pma-auth__spalte { max-width: 760px; }
.pma-auth--breit .pma-auth__karte { padding: var(--space-6, 32px); }
.pma-pakete__titel { margin: 0 0 4px; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -0.3px; }
.pma-pakete__einleitung { margin: 0 0 var(--space-5, 24px); color: var(--grau, #6e6b66); font-size: 14.5px; }
.pma-pakete__raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3, 12px); }
.pma-paket { display: flex; flex-direction: column; gap: var(--space-2, 8px); padding: var(--space-4, 16px); }
.pma-paket--empfohlen { border-color: var(--schiefer, #4a6c8c); box-shadow: 0 0 0 2px var(--schiefer-hell, #dde5ec); }
.pma-paket--eigen { background: var(--karton, #eae6df); }
.pma-paket__kopf { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2, 8px); }
.pma-paket__name { margin: 0; font-size: var(--text-karte-size, 17px); font-weight: 700; line-height: 1.25; }
.pma-paket__preis { margin: 0; display: flex; align-items: baseline; gap: 6px; }
.pma-paket__betrag { font-family: var(--font-mono, monospace); font-size: 20px; font-weight: 600; color: var(--tusche, #141414); }
.pma-paket__zyklus, .pma-paket__beginn { color: var(--grau, #6e6b66); font-size: 12.5px; }
.pma-paket__beginn { margin: -4px 0 0; }
.pma-paket__kontingent .pma-mass { font-family: var(--font-mono, monospace); font-weight: 600; color: var(--tusche, #141414); }
.pma-paket__kontingent { display: flex; align-items: flex-end; gap: var(--space-3, 12px); font-size: 13px; color: var(--grau, #6e6b66); }
.pma-paket__kontingent .pma-quota__bar { display: block; flex: 1; min-width: 60px; max-width: 160px; }
.pma-paket__kontingent .pma-ruler { display: block; }
.pma-paket__warnung { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--warnung, #9a6b1f); }
.pma-paket__warnung a { color: inherit; }
.pma-paket__punkte { margin: 0; padding-left: 18px; font-size: 13px; color: var(--grau, #6e6b66); }
.pma-paket__aktion { margin-top: auto; padding-top: var(--space-2, 8px); }
.pma-paket__aktion .pma-btn { width: 100%; }
.pma-paket__aktion .pma-btn[disabled] { opacity: .6; cursor: default; }
.pma-pakete__hinweis { margin-top: var(--space-5, 24px); max-width: none; }
.pma-pakete__login { margin: var(--space-4, 16px) 0 0; font-size: 14px; color: var(--grau, #6e6b66); }
@media (max-width: 900px) {
	.pma-auth--breit { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.pma-pakete__raster { grid-template-columns: 1fr; }
	.pma-auth--breit .pma-auth__karte { padding: var(--space-5, 24px) var(--space-4, 16px); }
}

/* Registrierung im Checkout (#406) */
.pma-checkout__titel { margin: 0 0 4px; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -0.3px; }
.pma-checkout__paket { margin: 0 0 var(--space-5, 24px); color: var(--grau, #6e6b66); font-size: 14px; }
.pma-checkout__paket .pma-mass { font-family: var(--font-mono, monospace); font-weight: 600; color: var(--tusche, #141414); }
.pma-checkout .pma-notice { margin-bottom: var(--space-4, 16px); max-width: none; }
.pma-checkout__gruppe { margin: 0 0 var(--space-3, 12px); padding: 0; border: 0; min-width: 0; }
.pma-checkout__legende { margin: var(--space-2, 8px) 0 var(--space-3, 12px); padding: 0; font-size: var(--text-karte-size, 17px); font-weight: 700; }
.pma-checkout .pma-field { max-width: none; }
.pma-field__kopf { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2, 8px); }
.pma-checkout__zwei, .pma-checkout__plz-ort { display: grid; gap: 0 var(--space-3, 12px); align-items: start; }
.pma-checkout__zwei { grid-template-columns: 1fr 1fr; }
.pma-checkout__plz-ort { grid-template-columns: 7rem 1fr; }
.pma-passwort-umschalter { padding: 0; background: none; border: 0; color: var(--schiefer, #4a6c8c); font: 600 13px var(--font-sans, sans-serif); cursor: pointer; }
.pma-passwort-umschalter:focus-visible { outline: 2px solid var(--fokus, #4a6c8c); outline-offset: 2px; }
.pma-field__error a { color: inherit; font-weight: 600; }
.pma-checkout__haken { display: flex; gap: var(--space-2, 8px); align-items: flex-start; font-size: 14px; }
.pma-checkout__haken input { margin-top: 3px; }
.pma-checkout__honig { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pma-checkout__fuss { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3, 12px); margin-top: var(--space-4, 16px); }
.pma-checkout__fuss #pmpro_submit_span { margin-left: auto; }
.pma-checkout__login { font-size: 14px; color: var(--grau, #6e6b66); }
#pmpro_processing_message { font-size: 13px; color: var(--grau, #6e6b66); margin-top: var(--space-2, 8px); }
@media (max-width: 420px) {
	.pma-checkout__zwei { grid-template-columns: 1fr; }
	.pma-checkout__fuss #pmpro_submit_span { flex: 1 1 100%; }
	.pma-checkout__fuss .pma-btn { width: 100%; }
}

/* Willkommen mit Checkliste (#407) */
.pma-willkommen__titel { margin: 0 0 4px; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -0.3px; }
.pma-willkommen__text { margin: 0 0 var(--space-5, 24px); color: var(--grau, #6e6b66); font-size: 14.5px; }
.pma-willkommen__liste { padding: 6px var(--space-4, 16px); box-shadow: none; }
.pma-willkommen__kopf { display: flex; justify-content: space-between; margin: 8px 0 6px; font-size: 14px; font-weight: 700; }
.pma-willkommen__kopf .pma-mass { font-family: var(--font-mono, monospace); font-weight: 400; color: var(--grau, #6e6b66); }
.pma-willkommen__liste ul { margin: 0; padding: 0; list-style: none; }
.pma-willkommen__punkt { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 0; border-top: 1px solid var(--linie, #d9d5cd); font-size: 14px; }
.pma-willkommen__haken { flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--linie, #d9d5cd); position: relative; }
.pma-willkommen__punkt--fertig .pma-willkommen__haken { border-color: var(--erfolg, #3f7a52); background: var(--erfolg, #3f7a52); }
.pma-willkommen__punkt--fertig .pma-willkommen__haken::after {
	content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px;
	border: solid var(--weiss, #fff); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.pma-willkommen__name { flex: 1; }
.pma-willkommen__punkt--fertig .pma-willkommen__name { color: var(--erfolg, #3f7a52); }
.pma-willkommen__zustand { font-size: 12.5px; color: var(--erfolg, #3f7a52); }
.pma-willkommen__zustand--offen { color: var(--grau, #6e6b66); }
.pma-willkommen__aktion { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--space-3, 12px); margin-top: var(--space-5, 24px); }

/* Paketwechsel im Checkout (#408) */
.pma-checkout__konto { margin: 0 0 var(--space-4, 16px); padding: var(--space-3, 12px) var(--space-4, 16px); background: var(--karton, #eae6df); border-radius: var(--radius-md, 6px); }
.pma-checkout__konto dl { display: grid; grid-template-columns: auto 1fr; gap: 4px var(--space-4, 16px); margin: 0; font-size: 14px; }
.pma-checkout__konto dt { color: var(--grau, #6e6b66); }
.pma-checkout__konto dd { margin: 0; overflow-wrap: anywhere; }
.pma-checkout__konto .pma-field__help { margin: var(--space-2, 8px) 0 0; display: block; }
.pma-bestaetigung__satz { font-size: 20px; font-weight: 800; margin: 0 0 4px; }

/* Seitenkopf im Kundenbereich: Titel, Zeile darunter, Knoepfe (#409) */
.pma-seitenkopf { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-4, 16px); margin-bottom: var(--space-5, 24px); }
.pma-seitenkopf__titel {
	margin: 0; font-size: var(--text-titel-size, 30px); line-height: var(--text-titel-line-height, 1.15);
	font-weight: var(--text-titel-weight, 800); letter-spacing: var(--text-titel-letter-spacing, -0.5px);
}
.pma-seitenkopf__titel:focus { outline: none; }
.pma-seitenkopf__sub { margin: 2px 0 0; color: var(--grau, #6e6b66); font-size: 14px; }
.pma-seitenkopf__aktionen { display: flex; flex-wrap: wrap; gap: var(--space-2, 8px); }

/* Werkliste als Karten (#409) */
.pma-werke__raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--space-4, 16px); }
.pma-werke__raster .pma-work { width: auto; }
.pma-werke__kontingent { margin-top: var(--space-5, 24px); font-size: 13.5px; flex-wrap: wrap; align-items: center; }
.pma-werke__kontingent .pma-quota__bar { display: block; }
.pma-werke__kontingent .pma-ruler { display: block; }
.pma-werke__hinweis { margin-top: var(--space-3, 12px); }
.pma-werke__leer { margin: 0 auto; }
.pma-empty__aktion { margin-top: var(--space-4, 16px); }
.pma-blaettern { display: flex; flex-wrap: wrap; gap: var(--space-2, 8px); margin-top: var(--space-5, 24px); font-size: 14px; }
.pma-blaettern .page-numbers { padding: 6px 10px; border: 1px solid var(--linie, #d9d5cd); border-radius: var(--radius-md, 6px); background: var(--weiss, #fff); color: var(--schiefer, #4a6c8c); text-decoration: none; }
.pma-blaettern .page-numbers.current { border-color: var(--tusche, #141414); color: var(--tusche, #141414); font-weight: 700; }
.pma-blaettern .page-numbers.dots { border: 0; background: none; }
/* Werkzeugzeile der Werkliste (#413) */
.pma-werkzeuge { display: flex; flex-wrap: wrap; gap: var(--space-3, 12px); align-items: center; margin-bottom: var(--space-4, 16px); }
.pma-werkzeuge__suche { flex: 1 1 260px; min-width: 0; }
.pma-werkzeuge__wahl { flex: 0 1 auto; }
.pma-werkzeuge .pma-input { margin: 0; }
.pma-werkzeuge select.pma-input { width: auto; max-width: 100%; }
.pma-werke__nichts { margin: var(--space-5, 24px) 0; color: var(--grau, #6e6b66); }
.pma-blaettern { align-items: center; }
.pma-blaettern__stand { margin-right: var(--space-2, 8px); color: var(--grau, #6e6b66); }
@media (max-width: 720px) {
	.pma-werkzeuge__suche { flex-basis: 100%; }
	.pma-werkzeuge__wahl { flex: 1 1 40%; }
	.pma-werkzeuge select.pma-input { width: 100%; }
	.pma-seitenkopf { align-items: flex-start; }
	.pma-seitenkopf__aktionen { width: 100%; }
	.pma-seitenkopf__aktionen .pma-btn { flex: 1 1 auto; }
	.pma-werke__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3, 12px); }
	.pma-work--add { min-height: 160px; }
	/* Linke Spalte: Menue nach rechts aufklappen, sonst ragt es aus dem Bild. */
	.pma-werke__raster .pma-work:nth-child(odd) .pma-menue { left: 8px; right: auto; }
}

/* Sammlungen (#411): Liste als Karte mit Zeilen, Formular als Karte */
.pma-sammlungen__hinweis { margin-bottom: var(--space-4, 16px); max-width: none; }
.pma-sammlungen__liste { margin: 0; padding: 0; list-style: none; }
.pma-sammlung { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: var(--space-4, 16px); align-items: center; padding: 14px var(--space-4, 16px); border-bottom: 1px solid var(--linie, #d9d5cd); position: relative; }
.pma-sammlung:last-child { border-bottom: 0; }
.pma-sammlung__logo { width: 72px; height: 72px; border-radius: var(--radius-lg, 8px); border: 1px solid var(--linie, #d9d5cd); background: var(--weiss, #fff); display: grid; place-items: center; overflow: hidden; }
.pma-sammlung__logo img { max-width: 88%; max-height: 88%; object-fit: contain; }
.pma-sammlung__logo--initialen { background: var(--karton, #eae6df); font-weight: 800; font-size: 20px; color: var(--tusche, #141414); }
.pma-sammlung__name { margin: 0; font-size: 15px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.pma-sammlung__name a { color: var(--tusche, #141414); text-decoration: none; }
.pma-sammlung__name a:hover { text-decoration: underline; }
.pma-sammlung__meta { margin: 2px 0 0; font-size: 13px; color: var(--grau, #6e6b66); }
.pma-sammlung__meta .pma-mass { font-family: var(--font-mono, monospace); color: var(--tusche, #141414); }
.pma-sammlung__meta--leer { color: var(--warnung, #9a6b1f); font-weight: 600; }
.pma-sammlung__vorschau { display: flex; gap: 6px; margin-top: var(--space-2, 8px); }
.pma-sammlung__bild { width: 44px; height: 44px; flex: none; border-radius: var(--radius-md, 6px); background: var(--karton, #eae6df); display: grid; place-items: center; overflow: hidden; }
.pma-sammlung__bild img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.pma-sammlung__bild--rest { font-family: var(--font-mono, monospace); font-size: 12px; color: var(--grau, #6e6b66); }
.pma-sammlung__aktion { position: relative; width: 30px; height: 30px; }
.pma-sammlung__aktion .pma-work__more { top: 0; right: 0; }
.pma-sammlung__aktion .pma-menue { top: 36px; right: 0; }
.pma-sammlung__aktion form { margin: 0; }
.pma-sammlungen__leer { margin: 0 auto; }
.pma-sammlung-form { padding: var(--space-5, 24px); }
.pma-sammlung-form__titel { margin: 0 0 var(--space-4, 16px); font-size: var(--text-abschnitt-size, 22px); font-weight: 800; }
.pma-sammlung-form__spalten { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--space-5, 24px); }
.pma-sammlung-form .pma-field { max-width: none; }
.pma-sammlung-form__logo { display: flex; gap: var(--space-3, 12px); align-items: center; }
.pma-sammlung-form__logo-aktionen { display: grid; gap: var(--space-2, 8px); justify-items: start; min-width: 0; flex: 1; }
.pma-sammlung-form__logo input[type="file"] { padding: 6px; min-height: 0; }
.pma-sammlung-form__fuss { display: flex; justify-content: space-between; gap: var(--space-3, 12px); margin-top: var(--space-2, 8px); }
@media (max-width: 720px) {
	.pma-sammlung { grid-template-columns: 56px minmax(0, 1fr) auto; gap: var(--space-3, 12px); padding: 12px; }
	.pma-sammlung__logo { width: 56px; height: 56px; }
	.pma-sammlung__bild { width: 36px; height: 36px; }
	.pma-sammlung-form__spalten { grid-template-columns: 1fr; }
	.pma-sammlung-form { padding: var(--space-4, 16px); }
}

/* Einstellungen (#412): eine Spalte, Abschnitte als Karten */
.pma-einstellungen { max-width: 720px; }
.pma-einstellungen__hinweis { margin-bottom: var(--space-4, 16px); max-width: none; }
.pma-einstellungen__abschnitt { padding: var(--space-5, 24px); margin-bottom: var(--space-4, 16px); }
.pma-einstellungen__titel { margin: 0 0 var(--space-2, 8px); font-size: 18px; font-weight: 800; line-height: 1.25; }
.pma-einstellungen__text { margin: 0 0 var(--space-4, 16px); color: var(--grau, #6e6b66); font-size: 14px; }
.pma-einstellungen .pma-field { max-width: none; }
.pma-einstellungen__abschnitt .pma-field:last-child { margin-bottom: 0; }
.pma-einstellungen__speichern { display: flex; justify-content: flex-end; margin: 0 0 var(--space-6, 32px); }
@media (max-width: 720px) {
	.pma-einstellungen__abschnitt { padding: var(--space-4, 16px); }
	.pma-einstellungen__speichern .pma-btn { width: 100%; }
}

/* Konto (#414): Reiter, Karten je Formular */
.pma-reiter { display: flex; gap: 2px; margin: 0 0 var(--space-5, 24px); border-bottom: 1px solid var(--linie, #d9d5cd); overflow-x: auto; }
.pma-reiter .pma-tab { padding: 10px 14px; margin-bottom: -1px; white-space: nowrap; text-decoration: none; }
.pma-reiter .pma-tab:hover { color: var(--tusche, #141414); }
.pma-konto { max-width: 760px; }
.pma-konto__hinweis { margin-bottom: var(--space-4, 16px); max-width: none; }
.pma-konto__karte { padding: var(--space-5, 24px); margin-bottom: var(--space-4, 16px); }
.pma-konto__titel { margin: 0 0 var(--space-3, 12px); font-size: 18px; font-weight: 800; line-height: 1.25; }
.pma-konto__titel--abstand { margin-top: var(--space-6, 32px); padding-top: var(--space-5, 24px); border-top: 1px solid var(--linie, #d9d5cd); }
.pma-konto__text { margin: -4px 0 var(--space-4, 16px); color: var(--grau, #6e6b66); font-size: 14px; }
.pma-konto .pma-field { max-width: none; }
.pma-konto__zwei, .pma-konto__plz-ort { display: grid; gap: 0 var(--space-4, 16px); }
.pma-konto__zwei { grid-template-columns: 1fr 1fr; }
.pma-konto__plz-ort { grid-template-columns: 8rem 1fr; }
.pma-konto__fuss { display: flex; justify-content: flex-end; }
/* Paket und Rechnungen (#415) */
.pma-paketkarte__kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: var(--space-4, 16px); }
.pma-paketkarte__klein { margin: 0; font-size: 13px; color: var(--grau, #6e6b66); }
.pma-paketkarte__name { margin: 2px 0 4px; font-size: 22px; font-weight: 800; line-height: 1.2; }
.pma-paketkarte__preis { font-size: 15px; font-weight: 400; color: var(--grau, #6e6b66); }
.pma-paketkarte__preis .pma-mass { font-family: var(--font-mono, monospace); font-weight: 600; color: var(--tusche, #141414); }
.pma-paketkarte__text { margin: 0 0 var(--space-3, 12px); color: var(--grau, #6e6b66); font-size: 14px; }
.pma-paketkarte__status { margin: 0 0 4px; font-size: 14px; font-weight: 600; }
.pma-paketkarte__status--gekuendigt { color: var(--warnung, #9a6b1f); }
.pma-paketkarte__aktionen { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2, 8px); }
.pma-paketkarte__kuendigen { margin: 0; }
.pma-paketkarte__kontingent { margin-top: var(--space-4, 16px); align-items: center; font-size: 13.5px; }
.pma-paketkarte__kontingent .pma-quota__bar, .pma-paketkarte__kontingent .pma-ruler { display: block; }
@media (max-width: 720px) {
	.pma-konto__karte { padding: var(--space-4, 16px); }
	.pma-konto__zwei { grid-template-columns: 1fr; }
	.pma-konto__fuss .pma-btn { width: 100%; }
}

/* Pflichtfeld-Stern in PMPro-Formularen (ohne PMPros CSS, #416) */
.pmpro_asterisk abbr { color: var(--fehler, #a1443a); text-decoration: none; border: 0; }

/* Rechnung (#416): PMPro-Vorlage invoice.php im Erscheinungsbild */
.pma-rechnung { max-width: 760px; }
.pma-rechnung .pma-notice { margin-bottom: var(--space-4, 16px); max-width: none; }
.pma-rechnung__karte { padding: var(--space-6, 32px); }
.pma-rechnung__kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-3, 12px); margin-bottom: var(--space-6, 32px); }
.pma-rechnung__marke { display: block; width: 160px; height: auto; }
.pma-rechnung__aktionen { display: flex; gap: var(--space-2, 8px); align-items: center; }
.pma-rechnung__titel { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2, 8px) var(--space-3, 12px); margin: 0 0 var(--space-5, 24px); font-size: 24px; font-weight: 800; line-height: 1.2; }
.pma-rechnung__titel .pma-mass { font-family: var(--font-mono, monospace); font-size: 18px; font-weight: 600; }
.pma-rechnung__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4, 16px) var(--space-5, 24px); margin: 0 0 var(--space-6, 32px); }
.pma-rechnung__meta dt { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--grau, #6e6b66); margin-bottom: 4px; }
.pma-rechnung__meta dd { margin: 0; font-size: 14.5px; overflow-wrap: anywhere; }
.pma-rechnung__zusatz { margin: 0 0 var(--space-5, 24px); padding-left: 18px; font-size: 14px; }
.pma-rechnung__vorher:not(:empty) { margin-bottom: var(--space-5, 24px); font-size: 14.5px; }
.pma-rechnung__vorher h2, .pma-rechnung__vorher h3 { margin: 0 0 var(--space-2, 8px); font-size: 16px; }
.pma-rechnung__vorher p { margin: 0; color: var(--grau, #6e6b66); }
.pma-rechnung__zeitraum { font-size: 13px; color: var(--grau, #6e6b66); }
.pma-rechnung__posten tfoot td { border-bottom: 0; }
.pma-rechnung__summe td { font-weight: 700; border-top: 1px solid var(--tusche, #141414); }
.pma-rechnung__text { color: var(--grau, #6e6b66); font-size: 14px; }
@media (max-width: 720px) {
	.pma-rechnung__karte { padding: var(--space-4, 16px); }
	.pma-rechnung__meta { grid-template-columns: 1fr; }
}
@media print {
	.pma-site-kopf, .pma-site-fuss, .pma-tabbar, .pma-rechnung__aktionen, .pma-hinweise, .skip-link { display: none !important; }
	body { background: #fff; }
	.pma-wrap { padding: 0; max-width: none; }
	.pma-rechnung__karte { border: 0; padding: 0; }
}

/* Hinweis, wenn das Plugin fehlt */
.pma-plugin-fehlt {
	margin: 0;
	padding: var(--space-3, 12px) var(--space-5, 24px);
	background: #f6e4e1;
	color: #a1443a;
	font-family: Arial, Helvetica, sans-serif;
}


/* Bestaetigung (#417) */
.pma-bestaetigung .pma-notice { margin: var(--space-4, 16px) 0; max-width: none; }
.pma-bestaetigung__text { margin: 0 0 var(--space-4, 16px); color: var(--grau, #6e6b66); font-size: 14.5px; }
.pma-bestaetigung__rechnung { margin: var(--space-4, 16px) 0 0; font-size: 14px; }

/* Galerie-Profil und Sammlungs-Archiv (#420) */
.pma-archiv__kopf { display: flex; gap: var(--space-5, 24px); align-items: flex-start; margin-bottom: var(--space-6, 32px); }
.pma-archiv__logo { flex: 0 0 auto; width: 96px; height: 96px; border: 1px solid var(--linie, #d9d5cd); border-radius: var(--radius-lg, 8px); background: var(--weiss, #fff); display: grid; place-items: center; overflow: hidden; text-decoration: none; }
.pma-archiv__logo img { max-width: 88%; max-height: 88%; object-fit: contain; }
.pma-archiv__logo--initialen { background: var(--karton, #eae6df); font-weight: 800; font-size: 26px; color: var(--tusche, #141414); }
.pma-archiv__text { min-width: 0; }
.pma-archiv__info { margin: var(--space-2, 8px) 0 0; color: var(--grau, #6e6b66); max-width: 60ch; }
.pma-archiv__kontakt { display: flex; flex-wrap: wrap; gap: 4px var(--space-4, 16px); margin: var(--space-2, 8px) 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--grau, #6e6b66); }
.pma-archiv__kontakt li { overflow-wrap: anywhere; }
.pma-archiv__leer { margin: 0 auto; }
@media (max-width: 720px) {
	.pma-archiv__kopf { gap: var(--space-4, 16px); }
	.pma-archiv__logo { width: 64px; height: 64px; }
	.pma-archiv__kontakt { flex-direction: column; }
	.pma-archiv__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3, 12px); }
}

/* 404 „Hier ist nichts zu sehen“ (#421) */
.pma-nichts { display: grid; justify-items: center; text-align: center; gap: var(--space-3, 12px); padding-top: var(--space-7, 48px); }
.pma-nichts__zeichen { width: 120px; height: auto; margin-bottom: var(--space-3, 12px); }
.pma-nichts__text { margin: 0; color: var(--grau, #6e6b66); max-width: 40ch; }
.pma-nichts__aktionen { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2, 8px); margin-top: var(--space-4, 16px); }
