/**
 * D24 Kundenkonto & Portal – modernes Layout für "Konto bearbeiten".
 */

/* Fallback: nur das Statistik-Widget ausblenden (nicht den ganzen Wrapper mit
   dem Konto-Formular). Greift nur, falls der Template-Override nicht aktiv ist. */
.woocommerce-account .woocommerce-MyAccount-content aside.d24-stats {
	display: none !important;
}

/* ---------- Oberen Abstand (Menü ↔ Inhalt) verkleinern ---------- */
.woocommerce-edit-account .i-section {
	padding-top: 20px !important;
}

/* ---------- Breite der Kontoseite auf Desktop (1500px) ---------- */
@media (min-width: 1200px) {
	.woocommerce-edit-account .container.section-body {
		width: 1520px !important;
		max-width: 100% !important;
	}
	.woocommerce-account .container.section-body:has(.d24ap-account) {
		width: 1520px !important;
		max-width: 100% !important;
	}
}

/* ---------- Layout ---------- */
.d24ap-account {
	max-width: 1500px;
	margin: 0 auto;
	color: #111827;
	font-family: inherit;
}
.d24ap-account *,
.d24ap-account *::before,
.d24ap-account *::after {
	box-sizing: border-box;
}
.d24ap-account input,
.d24ap-account button,
.d24ap-account select,
.d24ap-account textarea,
.d24ap-account a {
	font-family: inherit;
}
.d24ap-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
	gap: 20px;
	align-items: start;
}
.d24ap-side {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* ---------- Karten ---------- */
.d24ap-card {
	background: #fff;
	border: 1px solid #e8ebef;
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px rgba(16, 24, 40, .04);
	overflow: visible;
}
.d24ap-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 22px;
	border-bottom: 1px solid #f1f4f8;
}
.d24ap-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: #eaf3fb;
	color: #1e73be;
	flex: 0 0 auto;
}
.d24ap-card__icon--danger {
	background: #fef2f2;
	color: #dc2626;
}
.d24ap-card__title {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	color: #111827;
	line-height: 1.3;
}
.d24ap-card__body {
	padding: 22px;
}

/* ---------- Formularelemente ---------- */
.d24ap-fieldset {
	margin-bottom: 26px;
}
.d24ap-fieldset:last-child {
	margin-bottom: 0;
}
.d24ap-fieldset__title {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #8a94a6;
}
.d24ap-field {
	margin-bottom: 16px;
}
.d24ap-field:last-child {
	margin-bottom: 0;
}
.d24ap-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.d24ap-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 13.5px;
	font-weight: 600;
	color: #374151;
}
.d24ap-account input[type="text"],
.d24ap-account input[type="email"],
.d24ap-account input[type="password"] {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #d5dae1;
	border-radius: 10px;
	font-size: 15px;
	line-height: 1.4;
	color: #111827;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
.d24ap-account input:focus {
	border-color: #1e73be;
	box-shadow: 0 0 0 3px rgba(30, 115, 190, .20);
	outline: none;
}
.d24ap-account textarea,
.d24ap-account select {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #d5dae1;
	border-radius: 10px;
	font-size: 15px;
	line-height: 1.4;
	color: #111827;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.d24ap-account textarea {
	resize: vertical;
	min-height: 96px;
}
.d24ap-account textarea:focus,
.d24ap-account select:focus {
	border-color: #1e73be;
	box-shadow: 0 0 0 3px rgba(30, 115, 190, .20);
	outline: none;
}
.d24ap-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
}

/* Passwort ein-/ausblenden */
.d24ap-input-wrap {
	position: relative;
}
.d24ap-input-wrap input {
	padding-right: 46px;
}
.d24ap-account .d24ap-toggle-pw {
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	width: 34px;
	min-width: 34px;
	height: 34px;
	min-height: 0;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 20px 20px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
	cursor: pointer;
	border-radius: 8px;
	opacity: .65;
	transition: opacity .15s ease, background-color .15s ease;
}
.d24ap-account .d24ap-toggle-pw:hover {
	opacity: 1;
	background-color: #f3f4f6 !important;
}
.d24ap-account .d24ap-toggle-pw.is-visible {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E") !important;
}
.d24ap-pw-hint {
	margin: 6px 0 0;
	color: #dc2626;
	min-height: 1em;
}

.d24ap-form__actions {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid #f1f4f8;
}

/* ---------- Buttons ---------- */
.d24ap-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 10px;
	border: 1px solid transparent;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, opacity .15s ease, transform .05s ease;
}
.d24ap-btn:active {
	transform: translateY(1px);
}
.d24ap-btn--block {
	width: 100%;
}
.d24ap-btn--primary {
	background: #1e73be;
	color: #fff;
}
.d24ap-btn--primary:hover {
	background: #17608f;
	color: #fff;
}
.d24ap-btn--outline {
	background: #fff;
	border-color: #1e73be;
	color: #1e73be;
}
.d24ap-btn--outline:hover {
	background: #eaf3fb;
	color: #17608f;
}
.d24ap-btn--danger {
	background: #dc2626;
	color: #fff;
}
.d24ap-btn--danger:hover:not(:disabled) {
	background: #b91c1c;
	color: #fff;
}
.d24ap-btn:disabled {
	opacity: .5;
	cursor: not-allowed;
}
.d24ap-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 4px;
}

/* Mitgliedschaftskarte in der breiten Hauptspalte angenehm lesbar halten */
.d24ap-card--membership .d24ap-card__body {
	max-width: 760px;
}

/* ---------- Hinweise / Texte ---------- */
.d24ap-muted {
	margin: 0 0 14px;
	color: #6b7280;
	font-size: 14px;
	line-height: 1.55;
}
.d24ap-small {
	font-size: 12.5px;
}
.d24ap-hint {
	margin: 10px 0 0;
	color: #6b7280;
	font-size: 12.5px;
	line-height: 1.5;
}
.d24ap-note {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.55;
}
.d24ap-note--warning {
	background: #fff8e6;
	border: 1px solid #f2d48a;
	color: #7a5b00;
}
.d24ap-note--danger {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
}
.d24ap-note:not(.d24ap-note--warning):not(.d24ap-note--danger) {
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
	color: #374151;
}
.d24ap-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 2px 0 18px;
	font-size: 14px;
	line-height: 1.45;
	color: #374151;
	cursor: pointer;
}
.d24ap-check input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	flex: 0 0 auto;
	accent-color: #dc2626;
}
.d24ap-inline-error,
.d24ap-inline-success {
	margin-bottom: 18px;
}
.d24ap-info-link {
	display: inline-block;
	margin-top: 2px;
	color: #1e73be;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
}
.d24ap-info-link:hover {
	color: #17608f;
	text-decoration: underline;
}
.d24ap-card--info .d24ap-muted:last-of-type {
	margin-bottom: 10px;
}

/* ---------- Profil-Header ---------- */
.d24ap-profile {
	display: flex;
	gap: 22px;
	align-items: center;
	padding: 22px 24px;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #e8ebef;
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px rgba(16, 24, 40, .04);
}
.d24ap-profile__avatar {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.d24ap-avatar-frame {
	position: relative;
	width: 96px;
	height: 96px;
}
.d24ap-account .d24ap-avatar-img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	display: block;
	object-fit: cover;
	box-shadow: 0 0 0 4px #f3f6fb;
}
.d24ap-avatar-form {
	margin: 0;
}
.d24ap-avatar-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
}
.d24ap-avatar-edit {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #1e73be;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	border: 3px solid #fff;
	box-shadow: 0 2px 6px rgba(16, 24, 40, .2);
	transition: background-color .15s ease;
}
.d24ap-avatar-edit:hover {
	background: #17608f;
}
.d24ap-avatar-remove-form {
	margin: 0;
	text-align: center;
}
.d24ap-account .d24ap-avatar-remove {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	line-height: 1.3 !important;
	color: #9aa3b2 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	cursor: pointer;
	text-decoration: underline;
	white-space: nowrap;
}
.d24ap-account .d24ap-avatar-remove:hover {
	color: #dc2626 !important;
}
.d24ap-account .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
.d24ap-profile__main {
	min-width: 0;
	flex: 1;
}
.d24ap-profile__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}
.d24ap-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 11px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}
.d24ap-badge__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}
.d24ap-badge--pro {
	background: #eaf3fb;
	color: #17608f;
}
.d24ap-badge--muted {
	background: #f3f4f6;
	color: #4b5563;
}
.d24ap-badge--ok {
	background: #e7f7ee;
	color: #067647;
}
.d24ap-profile__name {
	margin: 2px 0 3px;
	font-size: 22px;
	font-weight: 700;
	color: #111827;
	line-height: 1.2;
}
.d24ap-profile__email {
	margin: 0 0 14px;
	color: #6b7280;
	font-size: 14.5px;
	word-break: break-word;
}
.d24ap-meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
}
.d24ap-meta__item {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13.5px;
	color: #374151;
}
.d24ap-meta__item svg {
	color: #9aa3b2;
	flex: 0 0 auto;
}
.d24ap-meta__label {
	color: #8a94a6;
	margin-right: 3px;
}

/* ---------- Mitgliedschaftskarte ---------- */
.d24ap-status-row {
	margin-bottom: 16px;
}
.d24ap-status-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 13px;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 700;
}
.d24ap-status-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}
.d24ap-status-badge.is-active { background: #e7f7ee; color: #067647; }
.d24ap-status-badge.is-trialing { background: #eef2ff; color: #4338ca; }
.d24ap-status-badge.is-canceling { background: #fff4e5; color: #b45309; }
.d24ap-status-badge.is-past_due { background: #fdecea; color: #b42318; }
.d24ap-status-badge.is-none,
.d24ap-status-badge.is-role { background: #f3f4f6; color: #4b5563; }

.d24ap-deflist {
	margin: 0 0 18px;
	display: grid;
	gap: 0;
}
.d24ap-deflist > div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px dashed #eef1f5;
	font-size: 14px;
}
.d24ap-deflist > div:last-child {
	border-bottom: 0;
}
.d24ap-deflist dt {
	margin: 0;
	color: #6b7280;
}
.d24ap-deflist dd {
	margin: 0;
	font-weight: 600;
	color: #111827;
	text-align: right;
}
/* Abstand zwischen gestapelten Buttons (z. B. in der Mitgliedschaftskarte) */
.d24ap-card__body .d24ap-btn--block + .d24ap-btn--block {
	margin-top: 12px;
}

/* ---------- Tooltips ---------- */
.d24ap-tip {
	display: inline-flex;
	position: relative;
	vertical-align: middle;
	margin-left: 6px;
	cursor: help;
}
.d24ap-card__head .d24ap-tip {
	margin-left: auto;
}
.d24ap-tip__icon {
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: #e5e7eb;
	color: #4b5563;
	font-size: 11px;
	font-weight: 700;
	font-style: italic;
	font-family: Georgia, "Times New Roman", serif;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	transition: background-color .15s ease, color .15s ease;
}
.d24ap-tip:hover .d24ap-tip__icon,
.d24ap-tip:focus .d24ap-tip__icon,
.d24ap-tip.is-open .d24ap-tip__icon {
	background: #1e73be;
	color: #fff;
}
.d24ap-tip__bubble {
	position: absolute;
	bottom: calc(100% + 9px);
	left: 50%;
	transform: translateX(-50%);
	width: 240px;
	max-width: 62vw;
	padding: 10px 12px;
	background: #111827;
	color: #fff;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	border-radius: 9px;
	box-shadow: 0 10px 28px rgba(16, 24, 40, .22);
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s ease, visibility .15s ease;
	z-index: 9999;
	pointer-events: none;
}
.d24ap-card__head .d24ap-tip__bubble {
	left: auto;
	right: 0;
	transform: none;
}
.d24ap-tip__bubble::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #111827;
}
.d24ap-card__head .d24ap-tip__bubble::after {
	left: auto;
	right: 6px;
	transform: none;
}
.d24ap-tip:hover .d24ap-tip__bubble,
.d24ap-tip:focus .d24ap-tip__bubble,
.d24ap-tip.is-open .d24ap-tip__bubble {
	opacity: 1;
	visibility: visible;
}

/* ---------- Hauptspalte: Karten untereinander mit Abstand ---------- */
.d24ap-main {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}
/* Newsletter-Status */
.d24ap-nls-state {
	display: inline-block;
	font-weight: 700;
	font-size: 12px;
	padding: 2px 9px;
	border-radius: 999px;
	margin-right: 6px;
	vertical-align: middle;
}
.d24ap-nls-state--on {
	background: #e7f7ee;
	color: #067647;
}

/* ---------- Feedback / Bewertung ---------- */
.d24ap-field__label {
	display: block;
	margin-bottom: 8px;
	font-size: 13.5px;
	font-weight: 600;
	color: #374151;
}
.d24ap-rate {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 7px 11px;
	background: linear-gradient(180deg, #fffaf0 0%, #fbfcfe 100%);
	border: 1px solid #f0ead9;
	border-radius: 12px;
}
.d24ap-stars {
	display: flex;
	align-items: center;
	gap: 2px;
}
.d24ap-account .d24ap-star {
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 2px !important;
	margin: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	line-height: 0 !important;
	color: #dfe4ec;
	cursor: pointer;
	transition: color .12s ease, transform .12s cubic-bezier(.34, 1.56, .64, 1);
}
.d24ap-star svg {
	width: 27px;
	height: 27px;
	fill: currentColor;
	display: block;
}
.d24ap-star:hover {
	transform: scale(1.18);
}
.d24ap-star.is-on {
	color: #f5b301;
	filter: drop-shadow(0 1px 3px rgba(245, 179, 1, .4));
}
.d24ap-stars-hint {
	font-size: 13px;
	font-weight: 700;
	color: #a98a3a;
	white-space: nowrap;
}

/* Kategorie als moderne Chips */
.d24ap-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.d24ap-account .d24ap-chip {
	background: #f4f6fa !important;
	border: 1.5px solid #e7ebf2 !important;
	color: #52607a !important;
	padding: 7px 13px !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	box-shadow: none !important;
	transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .1s ease;
}
.d24ap-account .d24ap-chip:hover {
	border-color: #c9d8ea !important;
	background: #eef4fb !important;
	color: #1e73be !important;
}
.d24ap-account .d24ap-chip.is-active {
	background: linear-gradient(180deg, #2a82cf, #1e73be) !important;
	border-color: #1e73be !important;
	color: #fff !important;
	box-shadow: 0 6px 14px -7px rgba(30, 115, 190, .6) !important;
}
.d24ap-account .d24ap-chip:active {
	transform: translateY(1px);
}

.d24ap-feedback-form .d24ap-field {
	margin-bottom: 16px;
}
.d24ap-feedback-form .d24ap-btn {
	margin-top: 4px;
}

/* Sterne-Pop beim Auswählen */
@keyframes d24apStarPop {
	0%   { transform: scale(1); }
	45%  { transform: scale(1.4); }
	70%  { transform: scale(.92); }
	100% { transform: scale(1); }
}
.d24ap-account .d24ap-star.pop {
	animation: d24apStarPop .42s ease;
}

/* Danke-Zustand nach dem Absenden */
.d24ap-fb-thanks {
	text-align: center;
	padding: 16px 6px 6px;
	animation: d24apRise .45s ease both;
}
.d24ap-fb-check {
	position: relative;
	display: inline-flex;
}
.d24ap-fb-check::before {
	content: "";
	position: absolute;
	inset: 8px;
	border-radius: 50%;
	background: rgba(22, 163, 74, .16);
	transform: scale(.4);
	opacity: 0;
	animation: d24apPulse .65s .3s ease-out forwards;
}
@keyframes d24apPulse {
	0%   { transform: scale(.4); opacity: 0; }
	40%  { opacity: .55; }
	100% { transform: scale(1.55); opacity: 0; }
}
.d24ap-fb-check svg {
	width: 74px;
	height: 74px;
	overflow: visible;
	position: relative;
}
.d24ap-fb-check__circle {
	stroke: #16a34a;
	stroke-width: 3;
	stroke-dasharray: 151;
	stroke-dashoffset: 151;
	animation: d24apDraw .5s cubic-bezier(.65, 0, .45, 1) forwards;
}
.d24ap-fb-check__path {
	stroke: #16a34a;
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 40;
	stroke-dashoffset: 40;
	animation: d24apDraw .34s .5s cubic-bezier(.65, 0, .45, 1) forwards;
}
@keyframes d24apDraw {
	to { stroke-dashoffset: 0; }
}
.d24ap-fb-thanks__title {
	margin: 12px 0 4px;
	font-size: 19px;
	font-weight: 750;
	letter-spacing: -.01em;
	color: #111827;
}
.d24ap-fb-thanks .d24ap-btn {
	margin-top: 14px;
}
@media (prefers-reduced-motion: reduce) {
	.d24ap-account .d24ap-star.pop { animation: none; }
	.d24ap-fb-check::before { animation: none; opacity: 0; }
	.d24ap-fb-check__circle,
	.d24ap-fb-check__path { animation: none; stroke-dashoffset: 0; }
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	/* Karten in eine Spalte; Reihenfolge: Konto → Newsletter → Mitgliedschaft → Löschen */
	.d24ap-grid {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}
	.d24ap-main,
	.d24ap-side {
		display: contents;
	}
	.d24ap-card--account {
		order: 1;
	}
	.d24ap-card--newsletter {
		order: 2;
	}
	.d24ap-card--feedback {
		order: 3;
	}
	.d24ap-card--membership {
		order: 4;
	}
	.d24ap-card--danger {
		order: 5;
	}
	.d24ap-field-row {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	.d24ap-profile {
		flex-direction: column;
		align-items: flex-start;
		text-align: left;
	}
	.d24ap-tip__bubble {
		width: 200px;
	}
}

/* =====================================================================
   UI/UX-Politur (v2) – edleres, konversionsstärkeres Design
   ===================================================================== */

/* Sanfte, gestaffelte Einblendung beim Laden */
@keyframes d24apRise {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}
.d24ap-account .d24ap-profile,
.d24ap-account .d24ap-card {
	animation: d24apRise .5s cubic-bezier(.16, .84, .44, 1) both;
}
.d24ap-account .d24ap-main > .d24ap-card:nth-child(2) { animation-delay: .06s; }
.d24ap-account .d24ap-main > .d24ap-card:nth-child(3) { animation-delay: .12s; }
.d24ap-account .d24ap-side > .d24ap-card:nth-child(1) { animation-delay: .08s; }
.d24ap-account .d24ap-side > .d24ap-card:nth-child(2) { animation-delay: .14s; }
@media (prefers-reduced-motion: reduce) {
	.d24ap-account .d24ap-profile,
	.d24ap-account .d24ap-card { animation: none; }
}

/* Karten: feinere, geschichtete Schatten + dezenter Hover-Auftrieb */
.d24ap-account .d24ap-card {
	border-color: #eceff4;
	border-radius: 18px;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px -12px rgba(16, 24, 40, .14);
	transition: box-shadow .28s ease, border-color .28s ease;
}
.d24ap-account .d24ap-card:hover {
	box-shadow: 0 2px 4px rgba(16, 24, 40, .05), 0 18px 42px -18px rgba(16, 24, 40, .24);
	border-color: #e3e7ef;
}
.d24ap-account .d24ap-card__head {
	padding: 18px 22px 15px;
	border-bottom-color: #f1f4f9;
}
.d24ap-account .d24ap-card__title {
	font-size: 16.5px;
	font-weight: 650;
	letter-spacing: -.01em;
}
.d24ap-account .d24ap-card__body {
	padding: 22px;
}

/* Icon-Badges: leicht abgerundet, feine Innenkontur + Farbcodierung je Karte */
.d24ap-account .d24ap-card__icon {
	border-radius: 12px;
	box-shadow: inset 0 0 0 1px rgba(30, 115, 190, .10);
}
.d24ap-card--membership .d24ap-card__icon,
.d24ap-card--feedback .d24ap-card__icon {
	background: #fff5e2;
	color: #e0a80f;
	box-shadow: inset 0 0 0 1px rgba(224, 168, 15, .16);
}

/* Profil-Header: dezenter Akzent-Verlauf, größerer Avatar, klarere Typo */
.d24ap-account .d24ap-profile {
	border-radius: 20px;
	border-color: #eceff4;
	background:
		radial-gradient(900px 150px at 0% -60%, rgba(30, 115, 190, .07), transparent 65%),
		#fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 34px -16px rgba(16, 24, 40, .18);
}
.d24ap-avatar-frame { width: 104px; height: 104px; }
.d24ap-account .d24ap-avatar-img {
	width: 104px;
	height: 104px;
	box-shadow: 0 0 0 4px #fff, 0 0 0 6px #eaf0f7;
}
.d24ap-account .d24ap-profile__name {
	font-size: 24px;
	font-weight: 750;
	letter-spacing: -.02em;
}

/* Meta-Zeile als moderne Chips */
.d24ap-account .d24ap-meta { gap: 8px 10px; }
.d24ap-account .d24ap-meta__item {
	background: #f6f8fb;
	border: 1px solid #eef1f6;
	padding: 6px 12px;
	border-radius: 999px;
	transition: border-color .2s ease, background-color .2s ease;
}
.d24ap-account .d24ap-meta__item:hover {
	background: #eef4fb;
	border-color: #dbe6f3;
}
.d24ap-account .d24ap-meta__item svg { color: #1e73be; }
.d24ap-account .d24ap-meta__item a { color: #1e73be; text-decoration: none; font-weight: 600; }

/* Buttons: mehr Präsenz, sanfter Lift, CTA-Glow */
.d24ap-account .d24ap-btn {
	border-radius: 11px;
	font-weight: 650;
	letter-spacing: .003em;
	transition: background-color .18s ease, box-shadow .2s ease, transform .12s ease, border-color .18s ease;
}
.d24ap-account .d24ap-btn--primary {
	background: linear-gradient(180deg, #2a82cf 0%, #1e73be 100%);
	box-shadow: 0 1px 2px rgba(16, 24, 40, .12), 0 10px 20px -10px rgba(30, 115, 190, .55);
}
.d24ap-account .d24ap-btn--primary:hover {
	background: linear-gradient(180deg, #1f77c3 0%, #175f9c 100%);
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(16, 24, 40, .14), 0 14px 26px -10px rgba(30, 115, 190, .6);
}
.d24ap-account .d24ap-btn--outline {
	border-width: 1.5px;
}
.d24ap-account .d24ap-btn--outline:hover {
	transform: translateY(-1px);
}
.d24ap-account .d24ap-btn--danger {
	box-shadow: 0 1px 2px rgba(16, 24, 40, .1), 0 10px 20px -10px rgba(220, 38, 38, .5);
}
.d24ap-account .d24ap-btn--danger:hover:not(:disabled) {
	transform: translateY(-1px);
}
.d24ap-account .d24ap-btn:active { transform: translateY(0); }

/* Eingabefelder: luftiger, weicher Fokus */
.d24ap-account input[type="text"],
.d24ap-account input[type="email"],
.d24ap-account input[type="password"],
.d24ap-account textarea,
.d24ap-account select {
	border-radius: 11px;
	border-color: #dde2ea;
	background: #fcfdfe;
	padding: 12px 14px;
}
.d24ap-account input:focus,
.d24ap-account textarea:focus,
.d24ap-account select:focus {
	background: #fff;
	border-color: #1e73be;
	box-shadow: 0 0 0 4px rgba(30, 115, 190, .14);
}
.d24ap-account .d24ap-fieldset__title {
	color: #94a0b4;
	letter-spacing: .08em;
}

/* Status-/Badges & Sterne feiner */
.d24ap-account .d24ap-status-badge { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .03); }
.d24ap-account .d24ap-star.is-on {
	filter: drop-shadow(0 1px 2px rgba(245, 179, 1, .35));
}

/* Hinweise/Notices moderner */
.d24ap-account .d24ap-note,
.d24ap-inline-success,
.d24ap-inline-error { border-radius: 12px; }

/* Deflist (Mitgliedschaft) klarer */
.d24ap-account .d24ap-deflist > div { border-bottom-color: #eef1f6; }

/* =====================================================================
   Buttons exakt im Startseiten-Stil (.em24-btn)
   ===================================================================== */
.d24ap-account .d24ap-btn {
	padding: 14px 18px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: normal;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.d24ap-account .d24ap-btn--primary {
	background: linear-gradient(180deg, #1e73be, #155a96);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 10px 24px rgba(30, 115, 190, .05);
}
.d24ap-account .d24ap-btn--primary:hover {
	background: linear-gradient(180deg, #1e73be, #155a96);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(30, 115, 190, .15);
}
.d24ap-account .d24ap-btn--outline {
	background: #fff;
	border: 1px solid #e5e7eb;
	color: #242429;
}
.d24ap-account .d24ap-btn--outline:hover {
	background: #fff;
	color: #242429;
	border-color: #1e73be;
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(30, 115, 190, .10);
}
.d24ap-account .d24ap-btn--danger {
	background: linear-gradient(180deg, #e0463b, #c0392b);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 10px 24px rgba(192, 57, 43, .06);
}
.d24ap-account .d24ap-btn--danger:hover:not(:disabled) {
	background: linear-gradient(180deg, #d8382d, #b23328);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(192, 57, 43, .16);
}
.d24ap-account .d24ap-btn:active {
	transform: translateY(0);
}
.d24ap-account .d24ap-btn:disabled {
	transform: none;
	box-shadow: none;
}

/* Aktive Kategorie-Chips im gleichen Verlauf */
.d24ap-account .d24ap-chip.is-active {
	background: linear-gradient(180deg, #1e73be, #155a96) !important;
	box-shadow: 0 8px 18px -8px rgba(30, 115, 190, .55) !important;
}
