/* =========================================================================
   Macarons und Co. – Mein Konto (/mein-konto/ und alle Unterseiten)

   Geladen über inc/mein-konto.php nur auf Kontoseiten, alles unter der
   Body-Klasse .mc-konto. Farben und Schriften: Elementor-Globals (Kit 37).
   Abstände/Radien: zentrale Variablen (gleiche Werte wie Kalender und
   Kursseite). Buttons wie „Jetzt Kurs buchen“ auf der Startseite.
   ====================================================================== */

.mc-konto {
	/* --- Farben (Elementor-Globals, Fallback = aktueller Wert) --- */
	--mc-akzent: var(--e-global-color-50be59a, #D64A64);
	--mc-akzent-dunkel: var(--e-global-color-7abbf54, #A52B4B);
	/* Helle Akzentflächen (aktiver Menüpunkt, Badges): Rosa-Tönung statt Pfirsich (Korrektur 10/2026) */
	--mc-blush: color-mix(in srgb, var(--e-global-color-47a7e76, #F2B8C6) 60%, var(--e-global-color-f2ba8d3, #FFFFFF));
	--mc-rosa: var(--e-global-color-47a7e76, #F2B8C6);
	--mc-beere: var(--e-global-color-3889f7c, #A52B4B);
	--mc-creme: var(--e-global-color-550b681, #FFF9F5);
	--mc-weiss: var(--e-global-color-f2ba8d3, #FFFFFF);
	--mc-text: var(--e-global-color-text, #4E4947);
	--mc-primaer: var(--e-global-color-primary, #4E4947);
	--mc-linie: var(--e-global-color-secondary, #DCD7D4);
	--mc-dunkel: var(--e-global-color-accent, #292424);
	--mc-warnung: var(--e-global-color-03fc981, #D64A64);

	/* --- Schriften (Elementor-Globals) --- */
	--mc-schrift: var(--e-global-typography-text-font-family, 'Open Sans'), sans-serif;
	--mc-schrift-groesse: var(--e-global-typography-text-font-size, 16px);
	--mc-schrift-titel: var(--e-global-typography-primary-font-family, 'Rouge Script'), cursive;
	--mc-titel-gross: var(--e-global-typography-primary-font-size, 3.5rem);
	--mc-titel-mittel: var(--e-global-typography-840a037-font-size, 2.5rem);
	--mc-zwischentitel-groesse: var(--e-global-typography-d952c94-font-size, 1.2rem);
	--mc-zwischentitel-gewicht: var(--e-global-typography-d952c94-font-weight, 600);
	--mc-label-groesse: var(--e-global-typography-0b40f84-font-size, 12px);
	--mc-label-gewicht: var(--e-global-typography-0b40f84-font-weight, 700);
	--mc-label-abstand: var(--e-global-typography-0b40f84-letter-spacing, 2px);
	--mc-klein-groesse: var(--e-global-typography-accent-font-size, 0.8rem);
	--mc-klein-gewicht: var(--e-global-typography-accent-font-weight, 600);

	/* --- Abstände und Radien (zentral, keine Elementor-Globals vorhanden) --- */
	--mc-abstand-xs: 4px;
	--mc-abstand-s: 8px;
	--mc-abstand-m: 16px;
	--mc-abstand-l: 24px;
	--mc-abstand-xl: 32px;
	--mc-abstand-xxl: 48px;
	--mc-radius: 1rem;
	--mc-uebergang: 0.3s;

	/* --- Icons (Linien-Icons, eingefärbt über background: currentColor) --- */
	--mc-icon-dashboard: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
	--mc-icon-orders: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
	--mc-icon-bookings: url("data:image/svg+xml,%3Csvg 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'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
	--mc-icon-vouchers: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpolyline points='20 12 20 22 4 22 4 12'/%3E%3Crect x='2' y='7' width='20' height='5'/%3E%3Cline x1='12' y1='22' x2='12' y2='7'/%3E%3Cpath d='M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z'/%3E%3Cpath d='M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z'/%3E%3C/svg%3E");
	--mc-icon-address: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--mc-icon-account: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	--mc-icon-logout: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
	--mc-icon-rezepte: url("data:image/svg+xml,%3Csvg 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'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------
   Grundlagen und Seitenkopf
   ---------------------------------------------------------------------- */

.mc-konto .site-main {
	padding-bottom: var(--mc-abstand-xxl);
	color: var(--mc-text);
	font-family: var(--mc-schrift);
	font-size: var(--mc-schrift-groesse);
}

.mc-konto .site-main *,
.mc-konto .site-main *::before,
.mc-konto .site-main *::after {
	box-sizing: border-box;
}

.mc-konto .page-header .entry-title {
	margin: var(--mc-abstand-xl) 0 var(--mc-abstand-l);
	color: var(--mc-primaer);
	font-family: var(--mc-schrift-titel);
	font-size: var(--mc-titel-mittel);
	font-weight: 400;
	line-height: 1.2;
}

.mc-konto .site-main a {
	color: var(--mc-akzent-dunkel);
	text-underline-offset: 2px;
	transition: color var(--mc-uebergang);
}

.mc-konto .site-main a:hover {
	color: var(--mc-akzent);
}

.mc-konto .woocommerce-MyAccount-content h2,
.mc-konto .woocommerce-MyAccount-content h3 {
	margin: 0 0 var(--mc-abstand-m);
	color: var(--mc-primaer);
	font-family: var(--mc-schrift);
	font-size: var(--mc-zwischentitel-groesse);
	font-weight: var(--mc-zwischentitel-gewicht);
	line-height: 1.3;
}

/* -------------------------------------------------------------------------
   Layout: Navigation links, Inhalt rechts
   ---------------------------------------------------------------------- */

.mc-konto--angemeldet .page-content > .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: var(--mc-abstand-xl);
	align-items: start;
}

/* Clearfix-Pseudoelemente von WooCommerce wären sonst eigene Rasterzellen */
.mc-konto .page-content > .woocommerce::before,
.mc-konto .page-content > .woocommerce::after {
	content: none;
	display: none;
}

.mc-konto .woocommerce-MyAccount-navigation,
.mc-konto .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	margin: 0;
}

/* -------------------------------------------------------------------------
   Navigation
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-MyAccount-navigation {
	position: sticky;
	top: var(--mc-abstand-l);
	padding: var(--mc-abstand-s);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
}

.mc-konto .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-konto .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
}

.mc-konto .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: var(--mc-abstand-s);
	padding: 10px var(--mc-abstand-m);
	border-radius: var(--mc-radius);
	color: var(--mc-primaer);
	font-size: var(--mc-schrift-groesse);
	font-weight: 400;
	text-decoration: none;
	transition: background-color var(--mc-uebergang), color var(--mc-uebergang);
}

.mc-konto .woocommerce-MyAccount-navigation li a::before {
	content: "";
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--mc-icon, var(--mc-icon-dashboard)) no-repeat center / contain;
	mask: var(--mc-icon, var(--mc-icon-dashboard)) no-repeat center / contain;
}

.mc-konto .woocommerce-MyAccount-navigation li a:hover {
	background: var(--mc-creme);
	color: var(--mc-akzent-dunkel);
}

.mc-konto .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--mc-blush);
	color: var(--mc-akzent-dunkel);
	font-weight: var(--mc-klein-gewicht);
}

.mc-konto .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: var(--mc-abstand-s) !important;
	padding-top: var(--mc-abstand-s) !important;
	border-top: 1px solid var(--mc-linie);
}

.mc-konto .woocommerce-MyAccount-navigation-link--customer-logout a {
	opacity: 0.75;
}

/* Icons je Menüpunkt */
.mc-konto .woocommerce-MyAccount-navigation-link--dashboard { --mc-icon: var(--mc-icon-dashboard); }
.mc-konto .woocommerce-MyAccount-navigation-link--orders { --mc-icon: var(--mc-icon-orders); }
.mc-konto .woocommerce-MyAccount-navigation-link--bookings { --mc-icon: var(--mc-icon-bookings); }
.mc-konto .woocommerce-MyAccount-navigation-link--kurs-rezepte { --mc-icon: var(--mc-icon-rezepte); }
.mc-konto .woocommerce-MyAccount-navigation-link--vouchers { --mc-icon: var(--mc-icon-vouchers); }
.mc-konto .woocommerce-MyAccount-navigation-link--edit-address { --mc-icon: var(--mc-icon-address); }
.mc-konto .woocommerce-MyAccount-navigation-link--edit-account { --mc-icon: var(--mc-icon-account); }
.mc-konto .woocommerce-MyAccount-navigation-link--customer-logout { --mc-icon: var(--mc-icon-logout); }

/* -------------------------------------------------------------------------
   Inhaltsbereich: Karten
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-MyAccount-content > p:not([class]),
.mc-konto .woocommerce-MyAccount-content > form,
.mc-konto .woocommerce-MyAccount-content .woocommerce-order-details,
.mc-konto .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column,
.mc-konto .woocommerce-MyAccount-content .woocommerce-Address,
.mc-konto .mc-konto-karte {
	margin: 0 0 var(--mc-abstand-l);
	padding: var(--mc-abstand-l);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
}

/* Intro-Sätze ohne Kartenrahmen, wenn sie nur Text sind (Adressen, Bestellintro) */
.mc-konto .woocommerce-MyAccount-content > p:not([class]) {
	padding: var(--mc-abstand-m) var(--mc-abstand-l);
	background: var(--mc-creme);
}

/* -------------------------------------------------------------------------
   Tabellen (Bestellungen, Meine Kurse, Gutscheine, Bestelldetails)
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	margin: 0 0 var(--mc-abstand-l);
	overflow: hidden;
	border: 1px solid var(--mc-linie);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
	font-size: var(--mc-klein-groesse);
}

.mc-konto .woocommerce-MyAccount-content .woocommerce-order-details table.shop_table {
	border: 0;
	border-radius: 0;
}

.mc-konto .woocommerce-MyAccount-content table.shop_table th,
.mc-konto .woocommerce-MyAccount-content table.shop_table td {
	padding: var(--mc-abstand-m);
	border: 0;
	border-top: 1px solid var(--mc-linie);
	background: transparent;
	color: var(--mc-text);
	text-align: left;
	vertical-align: middle;
}

/* Zeilen immer weiß – ohne Zebra-Streifen und Hover (Hello-Theme-Reset) */
.mc-konto .woocommerce-MyAccount-content table.shop_table tbody tr > *,
.mc-konto .woocommerce-MyAccount-content table.shop_table tbody tr:hover > *,
.mc-konto .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(odd) > * {
	background: var(--mc-weiss);
}

.mc-konto .woocommerce-MyAccount-content table.shop_table thead th {
	border-top: 0;
	background: var(--mc-blush);
	color: var(--mc-primaer);
	font-size: var(--mc-label-groesse);
	font-weight: var(--mc-label-gewicht);
	letter-spacing: var(--mc-label-abstand);
	text-transform: uppercase;
}

.mc-konto .woocommerce-MyAccount-content table.shop_table tbody tr:first-child > * {
	border-top: 0;
}

.mc-konto .woocommerce-orders-table__cell-order-number a,
.mc-konto .my_account_bookings .booked-product a,
.mc-konto .my_account_bookings .order-number a {
	font-weight: var(--mc-klein-gewicht);
	text-decoration: none;
}

/* Aktionen rechtsbündig, Buttons umbrechen sauber */
.mc-konto .woocommerce-orders-table__cell-order-actions,
.mc-konto .woocommerce-orders-table__header-order-actions,
.mc-konto .my_account_bookings .booking-cancel {
	text-align: right !important;
}

/* Mehrere Aktionen (Anzeigen, Stornierung, Rechnungen): gleich breite,
   gleich hohe Buttons mit festen Abständen – ergibt ein ruhiges Raster. */
.mc-konto .woocommerce-orders-table__cell-order-actions,
.mc-konto .woocommerce-table--order-details tfoot td:has(.order-actions-button) {
	min-width: 270px;
}

.mc-konto .woocommerce-MyAccount-content table .button,
.mc-konto .woocommerce-MyAccount-content .order-actions-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 124px;
	height: 34px;
	margin: 3px 0 3px 6px !important;
	padding: 0 var(--mc-abstand-m) !important;
	border-width: 1px !important;
	line-height: 1 !important;
	white-space: nowrap;
	vertical-align: middle;
}

/* Buchungstabelle: eigene Überschrift weg (Seitentitel „Meine Kurse“ reicht) */
.mc-konto .woocommerce-MyAccount-content > h2:first-of-type:has(+ h3),
.mc-konto .bookings-my-account-notice:empty {
	display: none;
}

.mc-konto .my_account_bookings .booking-date-duration {
	color: var(--mc-primaer);
	opacity: 0.7;
}

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

.mc-konto .woocommerce-orders-table__cell-order-status,
.mc-konto .my_account_bookings .booking-status {
	white-space: nowrap;
}

.mc-konto .woocommerce-orders-table__cell-order-status,
.mc-konto .wc-bookings-status-label,
.mc-konto mark.order-status,
.mc-konto .mc-status {
	--mc-badge-bg: var(--mc-blush);
	--mc-badge-text: var(--mc-akzent-dunkel);
}

.mc-konto .wc-bookings-status-label,
.mc-konto mark.order-status,
.mc-konto .mc-status,
.mc-konto .woocommerce-orders-table__cell-order-status > * {
	display: inline-block;
	padding: 2px var(--mc-abstand-s);
	border-radius: var(--mc-radius);
	background: var(--mc-badge-bg);
	color: var(--mc-badge-text);
	font-size: var(--mc-klein-groesse);
	font-weight: var(--mc-klein-gewicht);
	line-height: 1.6;
}

/* Bestellstatus-Zelle enthält nur Text – Badge über ::before-freie Umhüllung */
.mc-konto td.woocommerce-orders-table__cell-order-status {
	color: var(--mc-badge-text);
	font-weight: var(--mc-klein-gewicht);
}

.mc-konto .woocommerce-orders-table__row--status-completed .woocommerce-orders-table__cell-order-status,
.mc-konto .mc-status--completed,
.mc-konto mark.order-status.status-completed {
	--mc-badge-bg: var(--mc-linie);
	--mc-badge-text: var(--mc-primaer);
}

.mc-konto .woocommerce-orders-table__row--status-on-hold .woocommerce-orders-table__cell-order-status,
.mc-konto .woocommerce-orders-table__row--status-pending .woocommerce-orders-table__cell-order-status,
.mc-konto .mc-status--on-hold,
.mc-konto .mc-status--pending {
	--mc-badge-bg: var(--mc-rosa);
	--mc-badge-text: var(--mc-beere);
}

.mc-konto .woocommerce-orders-table__row--status-cancelled .woocommerce-orders-table__cell-order-status,
.mc-konto .woocommerce-orders-table__row--status-refunded .woocommerce-orders-table__cell-order-status,
.mc-konto .woocommerce-orders-table__row--status-failed .woocommerce-orders-table__cell-order-status,
.mc-konto .mc-status--cancelled,
.mc-konto .mc-status--refunded,
.mc-konto .mc-status--failed {
	--mc-badge-bg: transparent;
	--mc-badge-text: var(--mc-primaer);
	opacity: 0.7;
}

/* Bestellintro: Nummer, Datum, Status als Hervorhebungen */
.mc-konto .woocommerce-MyAccount-content > p mark {
	background: transparent;
	color: var(--mc-primaer);
	font-weight: var(--mc-klein-gewicht);
}

.mc-konto .woocommerce-MyAccount-content > p mark.order-status {
	background: var(--mc-badge-bg);
	color: var(--mc-badge-text);
}

/* -------------------------------------------------------------------------
   Buttons – wie „Jetzt Kurs buchen“ auf der Startseite
   ---------------------------------------------------------------------- */

.mc-konto .site-main .button,
.mc-konto .site-main button.button,
.mc-konto .site-main button[type="submit"],
.mc-konto .site-main .woocommerce-Button {
	display: inline-block;
	margin: 0;
	padding: var(--mc-abstand-s) var(--mc-abstand-m);
	border: 2px solid var(--mc-akzent);
	border-radius: var(--mc-radius);
	background: var(--mc-akzent);
	color: var(--mc-weiss);
	font-family: var(--mc-schrift);
	font-size: var(--mc-schrift-groesse);
	font-weight: 400;
	line-height: 1.8;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	transition: background-color var(--mc-uebergang), border-color var(--mc-uebergang), color var(--mc-uebergang);
}

/* Das Elementor-Kit setzt bei button:hover/:focus border-style none und
   border-radius 5px – hier wieder festlegen. */
.mc-konto .site-main .button:hover,
.mc-konto .site-main .button:focus,
.mc-konto .site-main button[type="submit"]:hover,
.mc-konto .site-main button[type="submit"]:focus,
.mc-konto .site-main .woocommerce-Button:hover,
.mc-konto .site-main .woocommerce-Button:focus {
	border-style: solid;
	border-color: var(--mc-akzent-dunkel);
	border-radius: var(--mc-radius);
	background: var(--mc-akzent-dunkel);
	color: var(--mc-weiss);
}

/* Kleine Outline-Buttons in Tabellen (Anzeigen, Rechnung, Stornierung …) */
.mc-konto .woocommerce-MyAccount-content table .button,
.mc-konto .woocommerce-MyAccount-content .order-actions-button,
.mc-konto .woocommerce-Address-title .edit {
	padding: 2px var(--mc-abstand-m);
	border-color: var(--mc-linie);
	background: transparent;
	color: var(--mc-primaer);
	font-size: var(--mc-klein-groesse);
	line-height: 1.8;
}

.mc-konto .woocommerce-MyAccount-content table .button:hover,
.mc-konto .woocommerce-MyAccount-content table .button:focus,
.mc-konto .woocommerce-MyAccount-content .order-actions-button:hover,
.mc-konto .woocommerce-Address-title .edit:hover {
	border-color: var(--mc-akzent-dunkel);
	background: var(--mc-akzent-dunkel);
	color: var(--mc-weiss);
}

/* „Anzeigen“ als Hauptaktion einer Bestellzeile hervorheben */
.mc-konto .woocommerce-MyAccount-content table .button.view {
	border-color: var(--mc-akzent);
	background: var(--mc-akzent);
	color: var(--mc-weiss);
}

.mc-konto .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	gap: var(--mc-abstand-m);
	margin-top: var(--mc-abstand-m);
}

/* -------------------------------------------------------------------------
   Formulare (Konto, Adressen, Login, Passwort)
   ---------------------------------------------------------------------- */

.mc-konto .site-main form .form-row,
.mc-konto .site-main form .woocommerce-form-row {
	margin: 0 0 var(--mc-abstand-m);
	padding: 0;
}

.mc-konto .site-main form label {
	display: block;
	margin-bottom: var(--mc-abstand-xs);
	color: var(--mc-primaer);
	font-size: var(--mc-klein-groesse);
	font-weight: var(--mc-klein-gewicht);
	line-height: 1.5;
}

.mc-konto .site-main form label .required {
	color: var(--mc-akzent-dunkel);
	text-decoration: none;
}

.mc-konto .site-main form .input-text,
.mc-konto .site-main form input[type="text"],
.mc-konto .site-main form input[type="email"],
.mc-konto .site-main form input[type="tel"],
.mc-konto .site-main form input[type="password"],
.mc-konto .site-main form select,
.mc-konto .site-main form textarea,
.mc-konto .site-main .select2-container .select2-selection--single {
	width: 100%;
	min-height: 44px;
	padding: var(--mc-abstand-s) var(--mc-abstand-m);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
	color: var(--mc-text);
	font-family: var(--mc-schrift);
	font-size: var(--mc-schrift-groesse);
	line-height: 1.5;
	box-shadow: none;
	transition: border-color var(--mc-uebergang);
}

.mc-konto .site-main form .input-text:focus,
.mc-konto .site-main form input:focus,
.mc-konto .site-main form select:focus,
.mc-konto .site-main form textarea:focus,
.mc-konto .site-main .select2-container--focus .select2-selection--single,
.mc-konto .site-main .select2-container--open .select2-selection--single {
	border-color: var(--mc-akzent);
	outline: none;
}

/* Select2 (Land/Bundesland) */
.mc-konto .site-main .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: 44px;
}

.mc-konto .site-main .select2-container .select2-selection__rendered {
	padding: 0;
	color: var(--mc-text);
	line-height: 1.5;
}

.mc-konto .site-main .select2-container .select2-selection__arrow {
	top: 50%;
	right: var(--mc-abstand-m);
	height: auto;
	transform: translateY(-50%);
}

/* Passwort-Feld mit Anzeigen-Knopf */
.mc-konto .site-main .password-input {
	position: relative;
	display: block;
}

.mc-konto .site-main .password-input .show-password-input {
	top: 50%;
	right: var(--mc-abstand-m);
	transform: translateY(-50%);
}

.mc-konto .site-main form em,
.mc-konto .site-main form .description {
	display: block;
	margin-top: var(--mc-abstand-xs);
	color: var(--mc-primaer);
	font-size: var(--mc-klein-groesse);
	opacity: 0.8;
}

/* Zwei Spalten (Vorname/Nachname) */
.mc-konto .site-main form .form-row-first,
.mc-konto .site-main form .form-row-last {
	width: calc(50% - var(--mc-abstand-s));
}

.mc-konto .site-main form .form-row-first {
	float: left;
}

.mc-konto .site-main form .form-row-last {
	float: right;
}

.mc-konto .site-main form .clear {
	clear: both;
}

/* „Passwort ändern“ als eigener Bereich */
.mc-konto .woocommerce-EditAccountForm fieldset {
	margin: var(--mc-abstand-l) 0;
	padding: var(--mc-abstand-l);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-creme);
}

.mc-konto .woocommerce-EditAccountForm fieldset legend {
	padding: 0 var(--mc-abstand-s);
	color: var(--mc-primaer);
	font-weight: var(--mc-zwischentitel-gewicht);
}

/* Adressformular: Überschrift */
.mc-konto .woocommerce-MyAccount-content form > h2,
.mc-konto .woocommerce-MyAccount-content form > h3 {
	margin-bottom: var(--mc-abstand-l);
}

/* -------------------------------------------------------------------------
   Adressen (Übersicht)
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--mc-abstand-l);
}

.mc-konto .woocommerce-Addresses::before,
.mc-konto .woocommerce-Addresses::after {
	content: none;
}

.mc-konto .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	margin: 0;
}

.mc-konto .woocommerce-Address-title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--mc-abstand-s);
	margin-bottom: var(--mc-abstand-m);
	text-align: left;
}

.mc-konto .woocommerce-Address-title::before,
.mc-konto .woocommerce-Address-title::after {
	content: none;
}

.mc-konto .woocommerce-Address-title h2,
.mc-konto .woocommerce-Address-title h3 {
	float: none;
	margin: 0;
	text-align: left;
}

.mc-konto .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	height: 34px;
	float: none;
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	text-decoration: none;
	transition: background-color var(--mc-uebergang), border-color var(--mc-uebergang), color var(--mc-uebergang);
}

.mc-konto .woocommerce-MyAccount-content address {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--mc-text);
	font-style: normal;
	line-height: 1.7;
}

/* -------------------------------------------------------------------------
   Bestellansicht (view-order)
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-order-details {
	padding: 0 !important;
	overflow: hidden;
}

.mc-konto .woocommerce-order-details__title {
	margin: 0 !important;
	padding: var(--mc-abstand-l) var(--mc-abstand-l) var(--mc-abstand-m);
}

.mc-konto .woocommerce-table--order-details {
	margin: 0 !important;
}

/* Positionen: fest in der Kartenfarbe, ohne Hover (WooCommerce färbt sonst
   Zeilen unterschiedlich ein) */
.mc-konto .woocommerce-MyAccount-content .woocommerce-table--order-details tbody td,
.mc-konto .woocommerce-MyAccount-content .woocommerce-table--order-details tbody tr:hover td {
	background: var(--mc-creme) !important;
}

.mc-konto .woocommerce-table--order-details .product-name > a {
	font-weight: var(--mc-klein-gewicht);
	text-decoration: none;
}

.mc-konto .woocommerce-table--order-details .product-total {
	text-align: right !important;
	white-space: nowrap;
}

.mc-konto .woocommerce-table--order-details tfoot th,
.mc-konto .woocommerce-table--order-details tfoot td {
	background: var(--mc-creme) !important;
}

.mc-konto .woocommerce-table--order-details tfoot td {
	text-align: right !important;
}

.mc-konto .woocommerce-table--order-details tfoot tr:nth-last-child(n) th {
	font-weight: 400;
}

/* Gesamtzeile hervorheben (steht nach Zwischensumme/Versand) */
.mc-konto .woocommerce-table--order-details tfoot tr:has(.woocommerce-Price-amount) th:only-of-type {
	color: var(--mc-primaer);
}

.mc-konto .woocommerce-table--order-details .order-actions--heading {
	vertical-align: middle;
}

/* Positionsdaten (z. B. Veranstaltungsort) als Liste */
.mc-konto .wc-item-meta {
	margin: var(--mc-abstand-s) 0 0;
	padding: 0;
	list-style: none;
	color: var(--mc-text);
	font-size: var(--mc-klein-groesse);
}

.mc-konto .wc-item-meta li {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--mc-abstand-s);
	margin: 0;
}

.mc-konto .wc-item-meta li p {
	margin: 0;
}

.mc-konto .wc-item-meta-label {
	color: var(--mc-primaer);
	font-weight: var(--mc-klein-gewicht);
}

/* Buchungskasten von Bookings */
.mc-konto .wc-booking-summary {
	margin: var(--mc-abstand-s) 0 0;
	padding: var(--mc-abstand-m);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
	font-size: var(--mc-klein-groesse);
}

.mc-konto .wc-booking-summary-number {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--mc-abstand-s);
	color: var(--mc-primaer);
}

.mc-konto .wc-booking-summary .status-cancelled,
.mc-konto .wc-booking-summary [class^="status-"] {
	display: inline-block;
	padding: 2px var(--mc-abstand-s);
	border-radius: var(--mc-radius);
	background: var(--mc-blush);
	color: var(--mc-akzent-dunkel);
	font-size: var(--mc-klein-groesse);
	font-weight: var(--mc-klein-gewicht);
}

.mc-konto .wc-booking-summary .status-cancelled {
	background: var(--mc-linie);
	color: var(--mc-primaer);
}

.mc-konto .wc-booking-summary-list {
	margin: var(--mc-abstand-s) 0 0;
	padding: 0;
	list-style: none;
	line-height: 1.7;
}

.mc-konto .order-again {
	margin: 0;
	padding: var(--mc-abstand-l);
	border-top: 1px solid var(--mc-linie);
}

/* Rechnungs-/Lieferadresse unter der Bestellung */
.mc-konto .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--mc-abstand-l);
}

.mc-konto .woocommerce-customer-details .woocommerce-columns--addresses::before,
.mc-konto .woocommerce-customer-details .woocommerce-columns--addresses::after {
	content: none;
}

.mc-konto .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	margin: 0 !important;
}

/* Nur Rechnungsadresse (keine Lieferadresse): ganze Sektion als Karte */
.mc-konto .woocommerce-customer-details:not(:has(.woocommerce-columns)) {
	margin: 0 0 var(--mc-abstand-l);
	padding: var(--mc-abstand-l);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
}

.mc-konto .woocommerce-customer-details .woocommerce-column__title {
	margin-bottom: var(--mc-abstand-s);
}

.mc-konto .woocommerce-customer-details address p {
	margin: var(--mc-abstand-xs) 0 0;
}

/* -------------------------------------------------------------------------
   Hinweise (Info, Erfolg, Fehler)
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-info,
.mc-konto .woocommerce-message,
.mc-konto .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--mc-abstand-m);
	margin: 0 0 var(--mc-abstand-l);
	padding: var(--mc-abstand-m) var(--mc-abstand-l);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
	box-shadow: inset 4px 0 0 var(--mc-hinweis-farbe, var(--mc-akzent));
	color: var(--mc-text);
	font-size: var(--mc-klein-groesse);
	list-style: none;
}

.mc-konto .woocommerce-info::before,
.mc-konto .woocommerce-message::before,
.mc-konto .woocommerce-error::before {
	content: none;
}

.mc-konto .woocommerce-info .button,
.mc-konto .woocommerce-message .button,
.mc-konto .woocommerce-error .button {
	order: 2;
	float: none;
	font-size: var(--mc-klein-groesse);
}

.mc-konto .woocommerce-message {
	--mc-hinweis-farbe: var(--mc-akzent-dunkel);
}

.mc-konto .woocommerce-error {
	--mc-hinweis-farbe: var(--mc-warnung);
}

.mc-konto .woocommerce-error li {
	margin: 0;
}

/* -------------------------------------------------------------------------
   Dashboard (woocommerce/myaccount/dashboard.php)
   ---------------------------------------------------------------------- */

.mc-konto-start__kopf {
	margin-bottom: var(--mc-abstand-l);
}

.mc-konto .woocommerce-MyAccount-content .mc-konto-start__gruss {
	margin: 0 0 var(--mc-abstand-xs);
	color: var(--mc-primaer);
	font-family: var(--mc-schrift-titel);
	font-size: var(--mc-titel-mittel);
	font-weight: 400;
	line-height: 1.2;
}

.mc-konto-start__text {
	margin: 0;
}

.mc-konto-start__abmelden {
	margin: var(--mc-abstand-xs) 0 0;
	color: var(--mc-primaer);
	font-size: var(--mc-klein-groesse);
	opacity: 0.8;
}

.mc-konto-start__raster {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: var(--mc-abstand-l);
	align-items: start;
}

.mc-konto .mc-konto-karte {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--mc-abstand-m);
	margin: 0;
}

.mc-konto .woocommerce-MyAccount-content .mc-konto-karte__titel {
	margin: 0;
}

.mc-konto-karte__leer {
	margin: 0;
}

.mc-konto .site-main .mc-konto-karte__mehr {
	font-size: var(--mc-klein-groesse);
	font-weight: var(--mc-klein-gewicht);
}

/* Nächste Kurse */
.mc-konto-kurse {
	display: flex;
	flex-direction: column;
	gap: var(--mc-abstand-s);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-konto-kurs {
	display: flex;
	align-items: center;
	gap: var(--mc-abstand-m);
	margin: 0;
	padding: var(--mc-abstand-m);
	border-radius: var(--mc-radius);
	background: var(--mc-creme);
}

.mc-konto-kurs__datum {
	display: flex;
	flex: 0 0 56px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 56px;
	border-radius: var(--mc-radius);
	background: var(--mc-blush);
	color: var(--mc-akzent-dunkel);
	line-height: 1;
}

.mc-konto-kurs__tag {
	font-size: 1.4rem;
	font-weight: 700;
}

.mc-konto-kurs__monat {
	margin-top: 2px;
	font-size: var(--mc-label-groesse);
	font-weight: var(--mc-label-gewicht);
	text-transform: uppercase;
}

.mc-konto-kurs__info {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	font-size: var(--mc-klein-groesse);
	line-height: 1.5;
}

.mc-konto-kurs__titel {
	color: var(--mc-primaer);
	font-size: var(--mc-schrift-groesse);
}

.mc-konto-kurs__ort,
.mc-konto-kurs__personen {
	opacity: 0.8;
}

.mc-konto .site-main .mc-konto-kurs__link {
	flex: 0 0 auto;
	font-size: var(--mc-klein-groesse);
	font-weight: var(--mc-klein-gewicht);
}

/* Letzte Bestellung */
.mc-konto-bestellung {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: var(--mc-abstand-s) var(--mc-abstand-m);
	width: 100%;
	margin: 0;
	font-size: var(--mc-klein-groesse);
}

.mc-konto-bestellung dt {
	margin: 0;
	color: var(--mc-primaer);
	font-weight: var(--mc-klein-gewicht);
}

.mc-konto-bestellung dd {
	margin: 0;
}

.mc-konto-bestellung__summe {
	color: var(--mc-akzent);
	font-weight: 700;
}

/* -------------------------------------------------------------------------
   Meine Rezepte (inc/kurs-rezepte.php)
   ---------------------------------------------------------------------- */

.mc-konto .woocommerce-MyAccount-content .mc-rezepte__intro,
.mc-konto .woocommerce-MyAccount-content .mc-rezepte__zurueck {
	margin: 0 0 var(--mc-abstand-l);
}

.mc-konto .site-main .mc-rezepte__zurueck a {
	font-size: var(--mc-klein-groesse);
	font-weight: var(--mc-klein-gewicht);
}

.mc-rezepte-kurs__kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--mc-abstand-xs) var(--mc-abstand-m);
	width: 100%;
}

.mc-rezepte-kurs__termin {
	color: var(--mc-primaer);
	font-size: var(--mc-klein-groesse);
	opacity: 0.8;
}

.mc-rezepte-liste {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: var(--mc-abstand-m);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mc-rezepte-liste__eintrag {
	margin: 0;
}

.mc-konto .site-main .mc-rezepte-liste__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: var(--mc-radius);
	background: var(--mc-creme);
	color: var(--mc-primaer);
	text-decoration: none;
	transition: background-color var(--mc-uebergang);
}

.mc-konto .site-main .mc-rezepte-liste__link:hover,
.mc-konto .site-main .mc-rezepte-liste__link:focus-visible {
	background: var(--mc-blush);
}

.mc-rezepte-liste__bild {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--mc-blush) center / cover no-repeat;
}

.mc-rezepte-liste__titel {
	padding: var(--mc-abstand-s) var(--mc-abstand-m) var(--mc-abstand-m);
	font-weight: var(--mc-klein-gewicht);
	line-height: 1.4;
}

/* -------------------------------------------------------------------------
   Abgemeldet: Login und „Passwort vergessen“
   ---------------------------------------------------------------------- */

.mc-konto--abgemeldet .page-content > .woocommerce {
	max-width: 480px;
	margin: 0 auto;
}

.mc-konto--abgemeldet .page-content > .woocommerce > h2 {
	margin: 0 0 var(--mc-abstand-m);
	color: var(--mc-primaer);
	font-family: var(--mc-schrift-titel);
	font-size: var(--mc-titel-mittel);
	font-weight: 400;
	text-align: center;
}

.mc-konto .woocommerce-form-login,
.mc-konto .woocommerce-ResetPassword {
	margin: 0 0 var(--mc-abstand-l);
	padding: var(--mc-abstand-xl);
	border: 1px solid var(--mc-linie);
	border-radius: var(--mc-radius);
	background: var(--mc-weiss);
}

.mc-konto .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: var(--mc-abstand-s);
	margin: 0 0 var(--mc-abstand-m);
	font-weight: 400;
}

.mc-konto .woocommerce-form-login .woocommerce-form-login__submit,
.mc-konto .woocommerce-ResetPassword button[type="submit"] {
	width: 100%;
	float: none;
	margin: 0;
}

.mc-konto .woocommerce-form-login .lost_password {
	margin: var(--mc-abstand-m) 0 0;
	font-size: var(--mc-klein-groesse);
	text-align: center;
}

/* -------------------------------------------------------------------------
   Tablet: Navigation als Leiste über dem Inhalt
   Mit Umbruch statt seitlichem Scrollen – sonst waren „Meine Rezepte“,
   „Konto“ und „Abmelden“ ohne sichtbaren Hinweis außerhalb des Bildes.
   ---------------------------------------------------------------------- */

@media (max-width: 900px) {
	.mc-konto--angemeldet .page-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--mc-abstand-l);
	}

	.mc-konto .woocommerce-MyAccount-navigation {
		position: static;
		padding: var(--mc-abstand-xs);
	}

	.mc-konto .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--mc-abstand-xs);
	}

	.mc-konto .woocommerce-MyAccount-navigation li a {
		padding: var(--mc-abstand-s) var(--mc-abstand-m);
		font-size: var(--mc-klein-groesse);
		white-space: nowrap;
	}

	.mc-konto .woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0 0 0 var(--mc-abstand-xs) !important;
		padding: 0 0 0 var(--mc-abstand-xs) !important;
		border-top: 0;
		border-left: 1px solid var(--mc-linie);
	}

	.mc-konto-start__raster {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* -------------------------------------------------------------------------
   Smartphone: Tabellen als Karten, Formulare einspaltig
   ---------------------------------------------------------------------- */

@media (max-width: 768px) {
	.mc-konto .page-header .entry-title {
		margin-top: var(--mc-abstand-l);
	}

	/* Navigation: alle acht Punkte sichtbar, zwei Spalten */
	.mc-konto .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mc-konto .woocommerce-MyAccount-navigation li a {
		min-height: 44px;
		white-space: normal;
	}

	.mc-konto .woocommerce-MyAccount-navigation-link--customer-logout {
		margin: 0 !important;
		padding: 0 !important;
		border-left: 0;
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive thead {
		display: none;
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr {
		display: block;
		padding: var(--mc-abstand-s) 0;
		border-top: 1px solid var(--mc-linie);
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr:first-child {
		border-top: 0;
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > * {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--mc-abstand-m);
		padding: var(--mc-abstand-xs) var(--mc-abstand-m);
		border-top: 0;
		text-align: right !important;
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > *::before {
		content: attr(data-title);
		float: none;
		color: var(--mc-primaer);
		font-weight: var(--mc-klein-gewicht);
		text-align: left;
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > *:not([data-title])::before,
	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > *[data-title=""]::before {
		content: none;
	}

	/* „Meine Kurse“: Datum, Uhrzeit und Dauer sind einzelne Textteile – als
	   Flex-Zeile würden sie auseinandergezogen („12.12.2026,   10:00   (210 Min.)“). */
	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > td.booking-date {
		display: block;
	}

	.mc-konto .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > td.booking-date::before {
		float: left;
		margin-right: var(--mc-abstand-m);
	}

	.mc-konto .woocommerce-orders-table__cell-order-actions,
	.mc-konto .my_account_bookings .booking-cancel {
		flex-wrap: wrap;
		justify-content: flex-end !important;
	}

	.mc-konto .woocommerce-orders-table__cell-order-actions::before,
	.mc-konto .my_account_bookings .booking-cancel::before {
		content: none !important;
	}

	/* Bestellansicht: die Mindestbreite der Aktionen (Desktop-Raster) machte die
	   Tabelle breiter als das Handy – die Preise waren abgeschnitten. */
	.mc-konto .woocommerce-orders-table__cell-order-actions,
	.mc-konto .woocommerce-table--order-details tfoot td:has(.order-actions-button) {
		min-width: 0;
	}

	.mc-konto .woocommerce-Addresses,
	.mc-konto .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
	}

	.mc-konto .site-main form .form-row-first,
	.mc-konto .site-main form .form-row-last {
		width: 100%;
		float: none;
	}

	.mc-konto .woocommerce-MyAccount-content > p:not([class]),
	.mc-konto .woocommerce-MyAccount-content > form,
	.mc-konto .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column,
	.mc-konto .woocommerce-MyAccount-content .woocommerce-Address,
	.mc-konto .mc-konto-karte {
		padding: var(--mc-abstand-m);
	}

	.mc-konto-kurs {
		flex-wrap: wrap;
	}

	.mc-konto .site-main .mc-konto-kurs__link {
		width: 100%;
		text-align: right;
	}
}
