/* WPressProfis Kundenbereich
   Tokens 1:1 aus wpressprofis.de (Elementor Design-System) */

:root {
	--wpp-navy: #0A1B36;
	--wpp-navy-hover: #1B2C4A;
	--wpp-teal: #12CFAA;
	--wpp-teal-dark: #047A70;
	--wpp-teal-mid: #03A699;
	--wpp-teal-soft: #E3F8F3;
	--wpp-teal-line: #CDEFE6;
	--wpp-teal-on-dark: #7DE8D2;
	--wpp-ink: #111827;
	--wpp-text: #4B5563;
	--wpp-muted: #6B7280;
	--wpp-gray-700: #374151;
	--wpp-border: #E4E8EE;
	--wpp-divider: #EEF1F4;
	--wpp-input-border: #CBD2DC;
	--wpp-surface: #F5F7FA;
	--wpp-white: #FFFFFF;
	--wpp-dark-panel: #12264A;
	--wpp-dark-border: #23375C;
	--wpp-dark-line: #3A4A66;
	--wpp-dark-text: #C9D1DC;
	--wpp-dark-text-strong: #E5E9F0;
	--wpp-dark-muted: #9AA6B8;
	--wpp-danger: #B42318;
	--wpp-danger-soft: #FDECEA;
	--wpp-font-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--wpp-font-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--wpp-container: 1400px;
	--wpp-gutter: 40px;
	--wpp-radius-sm: 8px;
	--wpp-radius-md: 12px;
	--wpp-radius-card: 14px;
	--wpp-radius-lg: 20px;
	--wpp-radius-xl: 24px;
	--wpp-radius-pill: 999px;
	--wpp-shadow-card: 0 1px 2px rgba(10, 27, 54, .04), 0 8px 24px rgba(10, 27, 54, .05);
}

/* ---------- Basis ---------- */

:where(.wpp-portal) *, :where(.wpp-portal) *::before, :where(.wpp-portal) *::after { box-sizing: border-box; }

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

body.wpp-portal {
	margin: 0;
	background: var(--wpp-surface);
	color: var(--wpp-text);
	font-family: var(--wpp-font-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

:where(.wpp-portal) :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
:where(.wpp-portal) :where(h1, h2, h3, h4) { color: var(--wpp-ink); font-family: var(--wpp-font-sans); line-height: 1.2; }
:where(.wpp-portal) a { color: var(--wpp-teal-dark); text-decoration: none; }
:where(.wpp-portal) a:hover { color: var(--wpp-navy); }
:where(.wpp-portal) img { max-width: 100%; height: auto; display: block; }
:where(.wpp-portal) strong { color: var(--wpp-ink); font-weight: 700; }
:where(.wpp-portal) :focus-visible { outline: 2px solid var(--wpp-teal-dark); outline-offset: 2px; border-radius: 4px; }

.wpp-i { width: 18px; height: 18px; flex: none; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
#ast-scroll-top, .ast-scroll-top-icon { display: none !important; }

.wpp-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--wpp-navy); color: #fff; padding: 10px 16px; border-radius: var(--wpp-radius-sm); }
.wpp-skip:focus { left: 16px; color: #fff; }

/* ---------- Kopf und Fuß ---------- */

.wpp-top {
	background: var(--wpp-white);
	border-bottom: 1px solid var(--wpp-border);
	padding: 0 var(--wpp-gutter);
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wpp-top { top: 32px; }
.wpp-top__inner {
	max-width: var(--wpp-container);
	margin: 0 auto;
	min-height: 76px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.wpp-logo { display: flex; align-items: center; gap: 14px; }
.wpp-logo img { width: 196px; height: auto; }
.wpp-logo__tag {
	font-family: var(--wpp-font-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wpp-teal-dark);
	background: var(--wpp-teal-soft);
	border: 1px solid var(--wpp-teal-line);
	padding: 3px 9px;
	border-radius: var(--wpp-radius-pill);
	white-space: nowrap;
}
.wpp-top__right { display: flex; align-items: center; gap: 22px; }
.wpp-top__link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14px; color: var(--wpp-gray-700); }
.wpp-top__link .wpp-i { width: 15px; height: 15px; }
.wpp-user { display: flex; align-items: center; gap: 10px; padding: 5px 12px 5px 5px; border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-pill); transition: border-color .2s; }
.wpp-user:hover { border-color: var(--wpp-input-border); }
.wpp-avatar {
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--wpp-navy); color: var(--wpp-teal-on-dark);
	display: grid; place-items: center;
	font-size: 13px; font-weight: 800; letter-spacing: .02em;
}
.wpp-user__name { display: flex; flex-direction: column; font-size: 14px; font-weight: 700; color: var(--wpp-ink); line-height: 1.25; }
.wpp-user__name small { font-size: 12px; font-weight: 500; color: var(--wpp-muted); }

.wpp-main { flex: 1 0 auto; padding: 40px var(--wpp-gutter) 72px; }
.wpp-container { max-width: var(--wpp-container); margin: 0 auto; }
.wpp-container--shop { max-width: 1100px; }

.wpp-foot { border-top: 1px solid var(--wpp-border); background: var(--wpp-white); padding: 22px var(--wpp-gutter); font-size: 13px; color: var(--wpp-muted); }
.wpp-foot__inner { max-width: var(--wpp-container); margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
.wpp-foot__links { display: flex; flex-wrap: wrap; gap: 20px; }
.wpp-foot a { color: var(--wpp-muted); }
.wpp-foot a:hover { color: var(--wpp-navy); }

/* ---------- Konto-Raster mit Navigation ---------- */

.wpp-container--account > .woocommerce {
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	gap: 36px;
	align-items: start;
}
.wpp-container--account > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.wpp-container--account > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }

.woocommerce-MyAccount-navigation {
	position: sticky;
	top: 100px;
	background: var(--wpp-white);
	border: 1px solid var(--wpp-border);
	border-radius: var(--wpp-radius-lg);
	padding: 10px;
}
.admin-bar .woocommerce-MyAccount-navigation { top: 132px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-MyAccount-navigation li a {
	display: flex; align-items: center; gap: 12px;
	padding: 11px 14px;
	border-radius: var(--wpp-radius-md);
	font-size: 15px; font-weight: 600;
	color: var(--wpp-gray-700);
	transition: background-color .15s, color .15s;
}
.woocommerce-MyAccount-navigation li a::before {
	content: '';
	width: 19px; height: 19px; flex: none;
	background-color: currentColor;
	opacity: .85;
	-webkit-mask: var(--wpp-ico) center / contain no-repeat;
	mask: var(--wpp-ico) center / contain no-repeat;
}
.woocommerce-MyAccount-navigation li a:hover { background: var(--wpp-surface); color: var(--wpp-ink); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--wpp-navy); color: var(--wpp-white); }
.woocommerce-MyAccount-navigation li.is-active a::before { background-color: var(--wpp-teal); opacity: 1; }
.woocommerce-MyAccount-navigation-link--subscriptions { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--wpp-divider); }
.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--wpp-divider); }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--wpp-muted); }

.woocommerce-MyAccount-navigation-link--dashboard { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='7' height='9' rx='1.5'/><rect x='14' y='3' width='7' height='5' rx='1.5'/><rect x='14' y='12' width='7' height='9' rx='1.5'/><rect x='3' y='16' width='7' height='5' rx='1.5'/></svg>"); }
.woocommerce-MyAccount-navigation-link--projekte { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='14' rx='2'/><path d='M3 9h18M8 21h8M12 18v3'/></svg>"); }
.woocommerce-MyAccount-navigation-link--reports { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 20h16M6 16l4-5 3 3 5-7'/></svg>"); }
.woocommerce-MyAccount-navigation-link--support { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 15a2 2 0 0 1-2 2H8l-4 4V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z'/><path d='M8 9h8M8 13h5'/></svg>"); }
.woocommerce-MyAccount-navigation-link--subscriptions { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20 11a8 8 0 0 0-14.9-4M4 4v4h4M4 13a8 8 0 0 0 14.9 4M20 20v-4h-4'/></svg>"); }
.woocommerce-MyAccount-navigation-link--orders { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h9l4 4v14H6z'/><path d='M14 3v5h5M9 13h6M9 17h6'/></svg>"); }
.woocommerce-MyAccount-navigation-link--payment-methods { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='M3 10h18M7 15h3'/></svg>"); }
.woocommerce-MyAccount-navigation-link--edit-address { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 21V9l8-5 8 5v12z'/><path d='M9 21v-6h6v6'/></svg>"); }
.woocommerce-MyAccount-navigation-link--edit-account { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 21a8 8 0 0 1 16 0'/></svg>"); }
.woocommerce-MyAccount-navigation-link--customer-logout { --wpp-ico: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M15 4h4v16h-4M10 17l5-5-5-5M15 12H3'/></svg>"); }

.woocommerce-MyAccount-content { min-width: 0; display: flex; flex-direction: column; gap: 20px; }

/* ---------- Seitenkopf ---------- */

.wpp-page-head { margin-bottom: 6px; }
.wpp-page-head__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.wpp-page-head__actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.wpp-eyebrow {
	font-family: var(--wpp-font-mono);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wpp-teal-dark);
	margin-bottom: 10px;
}
.wpp-eyebrow--dark { color: var(--wpp-teal-on-dark); }
.wpp-h1 { font-size: clamp(28px, 3.2vw, 40px); font-weight: 800; letter-spacing: -.025em; color: var(--wpp-ink); }
.wpp-h2 { font-size: 19px; font-weight: 800; letter-spacing: -.01em; color: var(--wpp-ink); }
.wpp-lead { margin-top: 10px; max-width: 64ch; font-size: 16px; color: var(--wpp-text); }
.wpp-muted { color: var(--wpp-muted); font-size: 14px; }
.wpp-back { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--wpp-muted); margin-bottom: 14px; }
.wpp-back .wpp-i { width: 16px; height: 16px; }

/* ---------- Karten und Kacheln ---------- */

.wpp-card {
	background: var(--wpp-white);
	border: 1px solid var(--wpp-border);
	border-radius: var(--wpp-radius-xl);
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.wpp-card--flush { padding: 0; gap: 0; overflow: hidden; }
.wpp-card--flush > .wpp-card__head { padding: 24px 28px 18px; }
.wpp-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.wpp-card--dark { background: var(--wpp-navy); border-color: var(--wpp-navy); color: var(--wpp-dark-text); gap: 6px; }
.wpp-card--dark .wpp-eyebrow { margin-bottom: 2px; }

.wpp-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.wpp-tile {
	background: var(--wpp-white);
	border: 1px solid var(--wpp-border);
	border-radius: var(--wpp-radius-lg);
	padding: 20px 22px;
	color: inherit;
	transition: border-color .2s, transform .2s;
}
.wpp-tile:hover { border-color: var(--wpp-input-border); transform: translateY(-2px); color: inherit; }
.wpp-tile.is-hot { border-color: var(--wpp-teal); box-shadow: inset 0 0 0 1px var(--wpp-teal); }
.wpp-tile__label { font-size: 13px; font-weight: 700; color: var(--wpp-muted); }
.wpp-tile__value { font-size: 40px; font-weight: 800; letter-spacing: -.03em; color: var(--wpp-ink); line-height: 1.1; margin: 6px 0 4px; font-variant-numeric: tabular-nums; }
.wpp-tile__value--sm { font-size: 22px; line-height: 1.25; margin: 12px 0 10px; letter-spacing: -.01em; }
.wpp-tile__meta { font-size: 13px; color: var(--wpp-muted); }
.wpp-tile.is-hot .wpp-tile__meta { color: var(--wpp-teal-dark); font-weight: 700; }

.wpp-grid-2 { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.wpp-stack { display: flex; flex-direction: column; gap: 20px; }

.wpp-alert {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	background: var(--wpp-navy);
	color: var(--wpp-dark-text);
	border-radius: var(--wpp-radius-lg);
	padding: 20px 24px;
	font-size: 14px;
}
.wpp-alert__title { color: var(--wpp-white); font-weight: 800; font-size: 17px; margin-bottom: 2px; }

.wpp-project-name { font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: var(--wpp-ink); margin-top: -8px; }

.wpp-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; font-size: 15px; color: var(--wpp-navy); align-self: flex-start; }
.wpp-link .wpp-i { transition: transform .2s; }
.wpp-link:hover .wpp-i { transform: translateX(3px); }

.wpp-contact__name { font-size: 20px; font-weight: 800; color: var(--wpp-white); }
.wpp-contact__role { font-size: 14px; color: var(--wpp-dark-muted); }
.wpp-contact__links { display: flex; flex-direction: column; gap: 6px; margin: 14px 0 18px; }
.wpp-contact__links a { display: inline-flex; align-items: center; gap: 10px; color: var(--wpp-dark-text-strong); font-weight: 600; font-size: 15px; }
.wpp-contact__links a:hover { color: var(--wpp-teal-on-dark); }
.wpp-contact__links .wpp-i { color: var(--wpp-teal); }

.wpp-empty { border: 1px dashed var(--wpp-input-border); border-radius: var(--wpp-radius-lg); padding: 28px; background: var(--wpp-surface); font-size: 15px; }
.wpp-empty__title { font-weight: 800; color: var(--wpp-ink); margin-bottom: 4px; font-size: 16px; }

/* ---------- Badges ---------- */

.wpp-badge {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 11px;
	border-radius: var(--wpp-radius-pill);
	font-size: 12px; font-weight: 800; letter-spacing: .01em;
	white-space: nowrap;
	line-height: 1.5;
}
.wpp-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.wpp-badge--neutral { background: var(--wpp-surface); color: var(--wpp-gray-700); box-shadow: inset 0 0 0 1px var(--wpp-border); }
.wpp-badge--teal { background: var(--wpp-teal-soft); color: var(--wpp-teal-dark); }
.wpp-badge--action { background: var(--wpp-navy); color: var(--wpp-white); }
.wpp-badge--action::before { background: var(--wpp-teal); }
.wpp-badge--muted { background: transparent; color: var(--wpp-muted); box-shadow: inset 0 0 0 1px var(--wpp-border); }

/* ---------- Phasen ---------- */

.wpp-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.wpp-step { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.wpp-step__bar { height: 6px; border-radius: 3px; background: var(--wpp-divider); }
.wpp-step__num { font-family: var(--wpp-font-mono); font-size: 11px; color: var(--wpp-muted); letter-spacing: .06em; }
.wpp-step__label { font-size: 13px; font-weight: 700; color: var(--wpp-muted); line-height: 1.3; margin-top: -6px; }
.wpp-step.is-done .wpp-step__bar { background: var(--wpp-teal); }
.wpp-step.is-done .wpp-step__label { color: var(--wpp-gray-700); }
.wpp-step.is-current .wpp-step__bar { background: linear-gradient(90deg, var(--wpp-navy) 55%, var(--wpp-divider) 55%); }
.wpp-step.is-current .wpp-step__num { color: var(--wpp-teal-dark); }
.wpp-step.is-current .wpp-step__label { color: var(--wpp-ink); }

.wpp-progress { height: 6px; background: var(--wpp-divider); border-radius: 3px; overflow: hidden; margin-top: 12px; max-width: 420px; }
.wpp-progress span { display: block; height: 100%; background: var(--wpp-teal); border-radius: 3px; }

.wpp-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--wpp-divider); }
.wpp-facts--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wpp-facts > div { padding: 16px 16px 0 0; }
.wpp-facts dt { font-size: 12px; font-weight: 700; color: var(--wpp-muted); text-transform: uppercase; letter-spacing: .06em; font-family: var(--wpp-font-mono); }
.wpp-facts dd { margin: 4px 0 0; font-weight: 700; color: var(--wpp-ink); font-size: 15px; }

/* ---------- Projektliste ---------- */

.wpp-list { display: flex; flex-direction: column; gap: 12px; }
.wpp-row-card {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	background: var(--wpp-white);
	border: 1px solid var(--wpp-border);
	border-radius: var(--wpp-radius-lg);
	padding: 22px 24px;
	color: inherit;
	transition: border-color .2s;
}
.wpp-row-card:hover { border-color: var(--wpp-input-border); color: inherit; }
.wpp-row-card__main { flex: 1; min-width: 0; }
.wpp-row-card__title { font-size: 18px; font-weight: 800; color: var(--wpp-ink); }
.wpp-row-card__meta { font-size: 14px; color: var(--wpp-muted); margin-top: 2px; }
.wpp-row-card__side { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.wpp-row-card__go { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--wpp-border); display: grid; place-items: center; color: var(--wpp-navy); transition: background-color .2s, color .2s; }
.wpp-row-card:hover .wpp-row-card__go { background: var(--wpp-navy); color: var(--wpp-white); border-color: var(--wpp-navy); }

/* ---------- Freigaben ---------- */

.wpp-approvals { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.wpp-approval { border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-lg); padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.wpp-approval.is-offen { border-color: var(--wpp-teal); box-shadow: inset 3px 0 0 var(--wpp-teal); }
.wpp-approval__head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.wpp-approval__title { font-weight: 800; color: var(--wpp-ink); font-size: 16px; }
.wpp-approval__meta { font-size: 13px; color: var(--wpp-muted); }
.wpp-approval__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.wpp-approval__actions form { margin: 0; }
.wpp-quote { margin: 0; padding: 10px 14px; border-left: 3px solid var(--wpp-input-border); background: var(--wpp-surface); border-radius: 0 var(--wpp-radius-sm) var(--wpp-radius-sm) 0; font-size: 14px; color: var(--wpp-gray-700); }
.wpp-change summary { cursor: pointer; font-weight: 700; font-size: 14px; color: var(--wpp-gray-700); display: inline-flex; list-style: none; }
.wpp-change summary::-webkit-details-marker { display: none; }
.wpp-change summary::before { content: '+'; display: inline-block; width: 18px; font-weight: 800; color: var(--wpp-teal-dark); }
.wpp-change[open] summary::before { content: '\2212'; }
.wpp-change form { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.wpp-change label { font-size: 14px; font-weight: 700; color: var(--wpp-ink); }

/* ---------- Kennzahlen ---------- */

.wpp-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.wpp-kpis--compact { grid-template-columns: 1fr; gap: 0; }
.wpp-kpi { border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-card); padding: 16px 18px; }
.wpp-kpis--compact .wpp-kpi { border: 0; border-top: 1px solid var(--wpp-divider); border-radius: 0; padding: 14px 0; display: grid; grid-template-columns: 1fr auto; grid-template-areas: 'l v' 'f f'; column-gap: 12px; }
.wpp-kpis--compact .wpp-kpi:first-child { border-top: 0; padding-top: 0; }
.wpp-kpis--compact .wpp-kpi__label { grid-area: l; align-self: center; }
.wpp-kpis--compact .wpp-kpi__value { grid-area: v; font-size: 22px; margin: 0; }
.wpp-kpis--compact .wpp-kpi__foot { grid-area: f; }
.wpp-kpi__label { font-size: 13px; font-weight: 700; color: var(--wpp-muted); }
.wpp-kpi__value { font-size: 30px; font-weight: 800; color: var(--wpp-ink); letter-spacing: -.02em; margin: 4px 0 6px; font-variant-numeric: tabular-nums; line-height: 1.15; }
.wpp-kpi__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 22px; }
.wpp-delta { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; font-weight: 700; color: var(--wpp-muted); white-space: nowrap; }
.wpp-delta .wpp-i { width: 16px; height: 16px; }
.wpp-delta.is-up { color: var(--wpp-teal-dark); }
.wpp-delta.is-down { color: var(--wpp-danger); }
.wpp-spark { width: 96px; height: 28px; overflow: visible; }
.wpp-spark polyline { fill: none; stroke: var(--wpp-teal-mid); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; }
.wpp-spark circle { fill: var(--wpp-navy); }

/* ---------- Tabellen (eigene und WooCommerce) ---------- */

.wpp-table,
.woocommerce-MyAccount-content table.shop_table,
.wpp-container--shop table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	background: var(--wpp-white);
}
.woocommerce-MyAccount-content table.shop_table,
.wpp-container--shop table.shop_table { border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); overflow: hidden; border-collapse: separate; border-spacing: 0; }
.wpp-table th,
table.shop_table th {
	text-align: left;
	font-family: var(--wpp-font-mono);
	font-size: 11px; font-weight: 500;
	text-transform: uppercase; letter-spacing: .08em;
	color: var(--wpp-muted);
	padding: 12px 20px;
	background: var(--wpp-surface);
	border-bottom: 1px solid var(--wpp-border);
}
.wpp-table td,
table.shop_table td { padding: 16px 20px; border-top: 1px solid var(--wpp-divider); vertical-align: middle; color: var(--wpp-text); }
.wpp-table tbody tr:first-child td,
table.shop_table tbody tr:first-child td { border-top: 0; }
table.shop_table tbody th { background: transparent; border-bottom: 0; border-top: 1px solid var(--wpp-divider); }
table.shop_table tfoot th, table.shop_table tfoot td { border-top: 1px solid var(--wpp-border); background: var(--wpp-white); font-family: var(--wpp-font-sans); font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--wpp-ink); }
.wpp-table td a strong { color: var(--wpp-ink); }
.wpp-table td a:hover strong { color: var(--wpp-teal-dark); }
.wpp-r { text-align: right !important; }
.wpp-icon-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: var(--wpp-navy); }
.wpp-icon-link .wpp-i { width: 16px; height: 16px; color: var(--wpp-teal-dark); }
table.shop_table .button { min-height: 38px; padding: 0 14px; font-size: 13px; margin: 2px 4px 2px 0; }

/* ---------- Unterhaltung (Support) ---------- */

.wpp-thread { display: flex; flex-direction: column; gap: 12px; }
.wpp-msg { background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-lg); padding: 18px 22px; max-width: 760px; }
.wpp-msg.is-me { align-self: flex-end; background: var(--wpp-white); }
.wpp-msg.is-team { align-self: flex-start; background: var(--wpp-teal-soft); border-color: var(--wpp-teal-line); }
.wpp-msg header { display: flex; gap: 12px; align-items: baseline; justify-content: space-between; margin-bottom: 6px; font-size: 14px; }
.wpp-msg time { font-size: 12px; color: var(--wpp-muted); font-family: var(--wpp-font-mono); }
.wpp-msg__body p + p { margin-top: 10px; }
.wpp-msg__body { font-size: 15px; color: var(--wpp-gray-700); overflow-wrap: anywhere; }

.wpp-prose p + p { margin-top: 12px; }
.wpp-prose { gap: 12px; }

/* ---------- Buttons ---------- */

.wpp-btn,
.wpp-portal .button,
.wpp-portal button[type='submit'],
.wpp-portal input[type='submit'] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px;
	padding: 0 20px;
	border-radius: var(--wpp-radius-md);
	border: 0;
	font-family: var(--wpp-font-sans);
	font-size: 15px; font-weight: 800; line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	background: var(--wpp-navy);
	color: var(--wpp-white);
	transition: background-color .2s, transform .2s, border-color .2s, color .2s;
}
.wpp-btn:hover,
.wpp-portal .button:hover,
.wpp-portal button[type='submit']:hover { background: var(--wpp-navy-hover); color: var(--wpp-white); }
.wpp-btn--teal, .wpp-portal .wpp-btn--teal, .wpp-portal button.wpp-btn--teal { background: var(--wpp-teal); color: var(--wpp-navy); }
.wpp-btn--teal:hover, .wpp-portal .wpp-btn--teal:hover, .wpp-portal button.wpp-btn--teal:hover { background: var(--wpp-teal); color: var(--wpp-navy); transform: translateY(-2px); }
.wpp-btn--outline { background: var(--wpp-white); color: var(--wpp-navy); box-shadow: inset 0 0 0 1px var(--wpp-input-border); }
.wpp-btn--outline:hover { background: var(--wpp-white); color: var(--wpp-navy); box-shadow: inset 0 0 0 1px var(--wpp-navy); }
.wpp-btn--block { width: 100%; }
.wpp-btn .wpp-i { width: 17px; height: 17px; }
.wpp-textbtn, .wpp-portal button.wpp-textbtn {
	background: none; min-height: 0; padding: 0; color: var(--wpp-muted); font-weight: 700; font-size: 14px; display: inline-flex; gap: 6px; align-items: center;
}
.wpp-portal button.wpp-textbtn:hover { background: none; color: var(--wpp-teal-dark); }
.wpp-form-inline { margin: 0; padding-top: 16px; border-top: 1px solid var(--wpp-divider); }

/* ---------- Formulare ---------- */

.wpp-form { display: flex; flex-direction: column; gap: 18px; margin: 0; }
.wpp-form__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
.wpp-field { display: flex; flex-direction: column; gap: 6px; }
.wpp-form__foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

.wpp-portal label { font-size: 14px; font-weight: 700; color: var(--wpp-ink); }
.wpp-portal label .required { color: var(--wpp-danger); text-decoration: none; border: 0; }
.wpp-portal :is(input[type='text'], input[type='email'], input[type='password'], input[type='tel'], input[type='url'], input[type='number'], input[type='search'], select, textarea),
.wpp-portal .input-text {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid var(--wpp-input-border);
	border-radius: 10px;
	background: var(--wpp-white);
	color: var(--wpp-ink);
	font-family: var(--wpp-font-sans);
	font-size: 15px;
	line-height: 1.4;
	transition: border-color .15s, box-shadow .15s;
	appearance: none;
}
.wpp-portal textarea { min-height: 120px; resize: vertical; }
.wpp-portal select { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round'><path d='M7 10l5 5 5-5'/></svg>"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; padding-right: 40px; }
.wpp-portal :is(input, select, textarea):focus { outline: none; border-color: var(--wpp-teal-dark); box-shadow: 0 0 0 3px var(--wpp-teal-soft); }
.wpp-portal input[type='checkbox'] { width: 18px; height: 18px; accent-color: var(--wpp-teal-dark); margin: 0; }

/* WooCommerce-Formulare */
.wpp-portal .woocommerce form .form-row,
.wpp-portal form.woocommerce-EditAccountForm .form-row,
.wpp-portal .woocommerce-address-fields .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: 0; }
.wpp-portal .form-row-first, .wpp-portal .form-row-last { width: auto; }
.wpp-wc form.woocommerce-EditAccountForm, .wpp-wc .woocommerce-address-fields, .wpp-wc form:not(.wpp-form) {
	background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); padding: 28px;
}
.wpp-wc .woocommerce-EditAccountForm, .wpp-wc .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.wpp-wc .woocommerce-EditAccountForm > *:not(.form-row-first):not(.form-row-last),
.wpp-wc .woocommerce-address-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
.wpp-wc .woocommerce-EditAccountForm > .clear { display: none; }
.wpp-wc fieldset { grid-column: 1 / -1; border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-lg); padding: 20px 20px 4px; margin: 8px 0 20px; }
.wpp-wc legend { font-weight: 800; color: var(--wpp-ink); padding: 0 8px; }
.wpp-wc em, .wpp-wc #account_display_name_description { font-size: 13px; color: var(--wpp-muted); font-style: normal; }
.wpp-wc .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wpp-wc .woocommerce-Address { background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); padding: 24px; }
.wpp-wc .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.wpp-wc .woocommerce-Address-title h2 { font-size: 17px; font-weight: 800; }
.wpp-wc address { font-style: normal; color: var(--wpp-gray-700); }
.wpp-wc > p:first-child, .wpp-wc .woocommerce-Addresses + p { color: var(--wpp-muted); }
.wpp-wc h2, .wpp-wc h3 { font-size: 19px; font-weight: 800; margin: 8px 0 12px; }
.wpp-wc .woocommerce-order-details, .wpp-wc .woocommerce-customer-details { margin-top: 24px; }
.wpp-wc mark { background: var(--wpp-teal-soft); color: var(--wpp-teal-dark); padding: 0 4px; border-radius: 4px; }
.wpp-wc .woocommerce-pagination { margin-top: 16px; display: flex; gap: 10px; }
.wpp-portal .password-input { position: relative; display: block; }
.wpp-portal .show-password-input { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); background: none; border: 0; min-height: 0; padding: 6px; cursor: pointer; color: var(--wpp-muted); }
.wpp-portal .show-password-input::after { content: 'Anzeigen'; font-size: 12px; font-weight: 700; font-family: var(--wpp-font-sans); }
.wpp-portal .show-password-input.display-password::after { content: 'Verbergen'; }
.wpp-portal .woocommerce-password-strength { font-size: 13px; padding: 6px 10px; border-radius: var(--wpp-radius-sm); margin-top: 6px; background: var(--wpp-surface); }
.wpp-portal .woocommerce-password-strength.strong { background: var(--wpp-teal-soft); color: var(--wpp-teal-dark); }
.wpp-portal .woocommerce-password-strength.short, .wpp-portal .woocommerce-password-strength.bad { background: var(--wpp-danger-soft); color: var(--wpp-danger); }
.wpp-portal .woocommerce-password-hint { font-size: 13px; color: var(--wpp-muted); }

/* Hinweise */
.wpp-portal .woocommerce-notices-wrapper:empty { display: none; }
.wpp-portal :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	list-style: none;
	margin: 0 0 4px;
	padding: 14px 18px;
	border-radius: var(--wpp-radius-md);
	background: var(--wpp-teal-soft);
	border: 1px solid var(--wpp-teal-line);
	color: var(--wpp-ink);
	font-size: 15px; font-weight: 600;
	display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.wpp-portal .woocommerce-info { background: var(--wpp-white); border-color: var(--wpp-border); }
.wpp-portal .woocommerce-error { background: var(--wpp-danger-soft); border-color: #F5C2BC; color: var(--wpp-danger); flex-direction: column; align-items: flex-start; }
.wpp-portal :is(.woocommerce-message, .woocommerce-info) .button { min-height: 38px; font-size: 14px; order: 2; }
.wpp-portal :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)[role='alert'] li { list-style: none; }
.wpp-portal .woocommerce-error li { margin: 0; }
.wpp-wc :is(.woocommerce-info, .woocommerce-message) a.button[href*='/shop'], .wpp-wc .woocommerce-info .woocommerce-Button { display: none; }

/* ---------- Anzahlung ---------- */

.wpp-pay { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; background: var(--wpp-white); border: 1px solid var(--wpp-teal); box-shadow: inset 4px 0 0 var(--wpp-teal); border-radius: var(--wpp-radius-lg); padding: 18px 22px; font-size: 14px; }
.wpp-pay__title { font-size: 17px; font-weight: 800; color: var(--wpp-ink); margin-bottom: 2px; }
.wpp-pay.is-paid { border-color: var(--wpp-border); box-shadow: inset 4px 0 0 var(--wpp-teal-line); }

/* ---------- Kasse ---------- */

.wpp-container--shop .woocommerce { display: block; }
.wpp-container--shop form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.wpp-container--shop form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.wpp-container--shop #customer_details { background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); padding: 28px; grid-row: span 2; }
.wpp-container--shop #customer_details .col-1, .wpp-container--shop #customer_details .col-2 { width: auto; float: none; }
.wpp-container--shop .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
.wpp-container--shop .woocommerce-billing-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
.wpp-container--shop .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: 0; }
.wpp-container--shop h3 { font-size: 19px; font-weight: 800; margin: 0 0 18px; }
.wpp-container--shop #order_review_heading { display: none; }
.wpp-container--shop #order_review { background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); padding: 24px; position: sticky; top: 100px; }
.wpp-container--shop #order_review::before { content: 'Ihre Bestellung'; display: block; font-size: 19px; font-weight: 800; color: var(--wpp-ink); margin-bottom: 14px; }
.wpp-container--shop #order_review table.shop_table { border: 0; border-radius: 0; }
.wpp-container--shop #order_review table.shop_table th, .wpp-container--shop #order_review table.shop_table td { padding: 12px 0; background: transparent; }
.wpp-container--shop #order_review table.shop_table thead { display: none; }
.wpp-container--shop .order-total td, .wpp-container--shop .order-total th { font-size: 18px !important; font-weight: 800; color: var(--wpp-ink); }
.wpp-container--shop .recurring-totals th { padding-top: 20px !important; font-family: var(--wpp-font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--wpp-muted); }
.wpp-container--shop .first-payment-date small, .wpp-container--shop .subscription-details { color: var(--wpp-muted); font-size: 13px; }
.wpp-container--shop #payment { margin-top: 12px; }
.wpp-container--shop #payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 8px; }
.wpp-container--shop #payment ul.payment_methods > li { border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-md); padding: 12px 14px; }
.wpp-container--shop #payment .payment_box { margin-top: 10px; font-size: 14px; color: var(--wpp-text); }
.wpp-container--shop .woocommerce-privacy-policy-text { font-size: 13px; color: var(--wpp-muted); margin-bottom: 14px; }
.wpp-container--shop #place_order { width: 100%; min-height: 54px; font-size: 16px; }
.wpp-container--shop .woocommerce-account-fields { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--wpp-divider); }
.wpp-container--shop .woocommerce-form-login-toggle .woocommerce-info { margin-bottom: 16px; }
.wpp-container--shop form.woocommerce-form-login { background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); padding: 24px; margin-bottom: 20px; }
.wpp-container--shop .select2-container .select2-selection--single { height: 48px; border: 1px solid var(--wpp-input-border); border-radius: 10px; display: flex; align-items: center; }
.wpp-container--shop .select2-container .select2-selection__arrow { height: 46px; }
.wpp-container--shop .woocommerce-order { display: flex; flex-direction: column; gap: 20px; }
.wpp-container--shop ul.woocommerce-order-overview { list-style: none; padding: 20px 24px; margin: 0; background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; font-size: 13px; color: var(--wpp-muted); }
.wpp-container--shop ul.woocommerce-order-overview strong { display: block; font-size: 16px; }
.wpp-container--shop .woocommerce-thankyou-order-received { font-size: 20px; font-weight: 800; color: var(--wpp-ink); }
.wpp-container--shop .wpp-legal-row { margin: 0 0 12px; }
.wpp-container--shop .wpp-legal-row label { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--wpp-ink); cursor: pointer; }
.wpp-container--shop .wpp-legal-row input[type='checkbox'] { flex: none; margin-top: 2px; }
.wpp-container--shop .wpp-legal-row a { color: var(--wpp-teal-dark); text-decoration: underline; text-underline-offset: 2px; }
.wpp-container--shop abbr.required { color: var(--wpp-danger); text-decoration: none; border: 0; }
.wpp-container--shop .wpp-tax-note { font-size: 13px; line-height: 1.6; color: var(--wpp-muted); margin: 4px 0 16px; padding: 12px 14px; background: var(--wpp-surface); border-radius: var(--wpp-radius-md); }
.wpp-container--shop .wpp-tax-note strong { color: var(--wpp-gray-700); }
.wpp-container--shop .woocommerce-additional-fields h3 { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--wpp-divider); }
.wpp-container--shop .woocommerce-account-fields .create-account { margin-top: 4px; }
.wpp-container--shop .woocommerce-account-fields::before { content: 'Zugang zum Kundenbereich'; display: block; font-size: 19px; font-weight: 800; color: var(--wpp-ink); margin-bottom: 6px; }
.wpp-container--shop .woocommerce-account-fields .create-account::before { content: 'Mit Ihrer E-Mail-Adresse und diesem Passwort melden Sie sich später im Kundenbereich an.'; display: block; font-size: 14px; color: var(--wpp-muted); margin-bottom: 14px; }
.wpp-container--shop .includes_tax { display: block; font-size: 12px; font-weight: 500; color: var(--wpp-muted); }
@media (max-width: 900px) {
	.wpp-container--shop form.checkout { grid-template-columns: 1fr; }
	.wpp-container--shop #order_review { position: static; }
	.wpp-container--shop .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.wpp-container--shop #customer_details { padding: 20px; }
}

/* ---------- Login ---------- */

.wpp-auth { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); min-height: 100vh; }
.wpp-auth__panel {
	background: var(--wpp-navy);
	color: var(--wpp-dark-text);
	padding: 48px clamp(32px, 5vw, 80px);
	display: flex; flex-direction: column; justify-content: space-between; gap: 48px;
	position: relative; overflow: hidden;
}
.wpp-auth__panel::after {
	content: ''; position: absolute; right: -180px; bottom: -180px; width: 520px; height: 520px; border-radius: 50%;
	border: 1px solid var(--wpp-dark-border);
	box-shadow: 0 0 0 70px rgba(18, 207, 170, .04), 0 0 0 140px rgba(18, 207, 170, .025);
	pointer-events: none;
}
.wpp-auth__logo img { width: 220px; filter: brightness(0) invert(1); }
.wpp-auth__copy { position: relative; z-index: 1; max-width: 480px; }
.wpp-auth__title { color: var(--wpp-white); font-size: clamp(34px, 3.6vw, 52px); font-weight: 800; letter-spacing: -.03em; line-height: 1.08; }
.wpp-auth__title span { color: var(--wpp-teal); display: block; }
.wpp-checks { list-style: none; padding: 0; margin-top: 28px; display: flex; flex-direction: column; gap: 12px; }
.wpp-checks li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: var(--wpp-dark-text-strong); }
.wpp-checks .wpp-i { color: var(--wpp-navy); background: var(--wpp-teal); border-radius: 50%; padding: 4px; width: 24px; height: 24px; stroke-width: 3; }
.wpp-auth__legal { display: flex; gap: 20px; font-size: 13px; position: relative; z-index: 1; }
.wpp-auth__legal a { color: var(--wpp-dark-muted); }
.wpp-auth__legal a:hover { color: var(--wpp-white); }
.wpp-auth__main { display: grid; place-items: center; padding: 48px 24px; background: var(--wpp-surface); }
.wpp-auth__card { width: 100%; max-width: 440px; background: var(--wpp-white); border: 1px solid var(--wpp-border); border-radius: var(--wpp-radius-xl); padding: 36px; box-shadow: var(--wpp-shadow-card); }
.wpp-auth__card h2 { font-size: 28px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 20px; }
.wpp-auth__card .woocommerce-form-login, .wpp-auth__card .lost_reset_password { display: flex; flex-direction: column; gap: 0; }
.wpp-auth__card .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; }
.wpp-auth__card .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { flex-direction: column-reverse; gap: 16px; margin-top: 4px; }
.wpp-auth__card .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--wpp-gray-700); }
.wpp-portal .wpp-auth__card button.woocommerce-form-login__submit, .wpp-portal .wpp-auth__card .lost_reset_password button { width: 100%; background: var(--wpp-teal); color: var(--wpp-navy); min-height: 52px; font-size: 16px; }
.wpp-portal .wpp-auth__card button.woocommerce-form-login__submit:hover, .wpp-portal .wpp-auth__card .lost_reset_password button:hover { background: var(--wpp-teal); color: var(--wpp-navy); transform: translateY(-2px); }
.wpp-auth__card .lost_password { margin: 4px 0 0; font-size: 14px; font-weight: 700; }
.wpp-auth__card .lost_reset_password > p:first-of-type { margin-bottom: 16px; color: var(--wpp-text); }
.wpp-auth__note { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--wpp-divider); font-size: 14px; color: var(--wpp-muted); }
.wpp-auth__note a { font-weight: 700; }
.wpp-auth .woocommerce-notices-wrapper { margin-bottom: 16px; }

/* ---------- Responsiv ---------- */

@media (max-width: 1200px) {
	.wpp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpp-grid-2 { grid-template-columns: 1fr; }
	.wpp-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wpp-facts--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
	:root { --wpp-gutter: 32px; }
	.wpp-container--account > .woocommerce { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce-MyAccount-navigation { position: static; padding: 6px; overflow-x: auto; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation ul { flex-direction: row; gap: 4px; width: max-content; }
	.woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	.woocommerce-MyAccount-navigation li a { padding: 9px 14px; font-size: 14px; white-space: nowrap; gap: 8px; }
	.woocommerce-MyAccount-navigation li a::before { width: 17px; height: 17px; }
	.wpp-auth { grid-template-columns: 1fr; }
	.wpp-auth__panel { padding: 32px 24px; gap: 28px; }
	.wpp-auth__legal { display: none; }
	.wpp-checks { margin-top: 20px; }
}

@media (max-width: 767px) {
	:root { --wpp-gutter: 20px; }
	.admin-bar .wpp-top { top: 0; position: relative; }
	.wpp-top__inner { min-height: 64px; gap: 12px; }
	.wpp-logo img { width: 150px; }
	.wpp-logo__tag, .wpp-top__link, .wpp-user__name { display: none; }
	.wpp-user { padding: 3px; }
	.wpp-main { padding-top: 24px; padding-bottom: 48px; }
	.wpp-card { padding: 22px 20px; border-radius: var(--wpp-radius-lg); }
	.wpp-card--flush { padding: 0; }
	.wpp-card--flush > .wpp-card__head { padding: 20px 20px 14px; }
	.wpp-tiles { gap: 10px; }
	.wpp-tile { padding: 16px; }
	.wpp-tile__value { font-size: 32px; }
	.wpp-tile__value--sm { font-size: 17px; }
	.wpp-kpis { grid-template-columns: 1fr; }
	.wpp-steps { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
	.wpp-step__label { display: none; }
	.wpp-step.is-current .wpp-step__label { display: block; position: absolute; }
	.wpp-steps { position: relative; padding-bottom: 22px; }
	.wpp-step.is-current .wpp-step__label { left: 0; bottom: 0; margin: 0; white-space: nowrap; }
	.wpp-facts, .wpp-facts--4 { grid-template-columns: 1fr 1fr; }
	.wpp-row-card { flex-direction: column; align-items: stretch; gap: 14px; padding: 18px; }
	.wpp-row-card__side { justify-content: flex-start; }
	.wpp-row-card__go { display: none; }
	.wpp-form__row { grid-template-columns: 1fr; }
	.wpp-wc .woocommerce-EditAccountForm, .wpp-wc .woocommerce-address-fields__field-wrapper, .wpp-wc .woocommerce-Addresses { grid-template-columns: 1fr; }
	.wpp-wc form:not(.wpp-form) { padding: 20px; }
	.wpp-msg { padding: 16px; }
	.wpp-auth__card { padding: 26px 22px; }
	.wpp-auth__title { font-size: 30px; }

	/* Tabellen als Karten */
	.wpp-table thead, table.shop_table_responsive thead { display: none; }
	.wpp-table, .wpp-table tbody, .wpp-table tr, .wpp-table td,
	table.shop_table_responsive, table.shop_table_responsive tbody, table.shop_table_responsive tr, table.shop_table_responsive td { display: block; width: 100%; }
	.wpp-table tr, table.shop_table_responsive tbody tr { padding: 14px 20px; border-top: 1px solid var(--wpp-divider); }
	.wpp-table tbody tr:first-child, table.shop_table_responsive tbody tr:first-child { border-top: 0; }
	.wpp-table td, table.shop_table_responsive td { border: 0 !important; padding: 4px 0 !important; display: flex; justify-content: space-between; gap: 16px; text-align: right !important; }
	.wpp-table td::before, table.shop_table_responsive td::before { content: attr(data-title); font-family: var(--wpp-font-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--wpp-muted); text-align: left; flex: none; padding-top: 3px; }
	table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.wpp-portal * { transition: none !important; }
}
