/*
 * GOLFSTUN.DE -- Mein Konto (akademie.golfstun.de/einstellungen/) im Aussehen der Designvorlagen.
 *
 * Maßstab: docs/design/ (Design-Fundament, CSS-Startpaket) in der Website-Fassung der neuen
 * Kasse (golfstunde-kasse/assets/kasse-neu.css): Grundschrift 20 px, kleinere Texte 17 px,
 * nichts darunter (Projektinhaber 15.09.2026); Felder 52 px hoch; Karten mit 1,5-px-Rahmen
 * und 12 px Radius; Knöpfe nach der Drei-Stufen-Hierarchie (Fundament 2): gefüllt nur, wo
 * etwas abgeschickt wird, Rahmen (Ghost), wo ein Ablauf beginnt, neutral zum Ansehen,
 * Kündigen/Löschen nur als Text in cta-Farbe.
 *
 * Alles hängt an body.gs-konto (GS_Konto_Aussehen::body_klasse), wirkt also nur, solange die
 * Schaltung für die Besucherin an ist. Die Datei wird nach den Oxygen-Stylesheets ausgegeben;
 * universal.css setzt trotzdem einige WooCommerce-Regeln mit !important -- nur dort steht hier
 * ebenfalls !important.
 *
 * Breiten: Handy < 600 px, Tablet 600-899 px, PC ab 900 px (Navigation links als Liste).
 */

body.gs-konto {
	--gs-cta: #d81e5b;
	--gs-cta-dunkel: #b3164b;
	--gs-cta-tint: #fbe9f0;
	--gs-brand-dark: #173753;
	--gs-link: #2c7a86;
	--gs-teal: #58b7c4;
	--gs-teal-tint: #e7f4f6;
	--gs-teal-rand: #cfe6ea;
	--gs-hover: #f4f6f3;
	--gs-text: #000000;
	--gs-text-2: #595959;
	--gs-rahmen: #e2e2e2;
	--gs-feldrand: #8a8a8a;
	--gs-warn: #b8860b;
	--gs-fehler: #c0392b;
	--gs-fehler-text: #a23232;
	--gs-r-karte: 12px;
	--gs-r-knopf: 10px;
}

body.gs-konto .woocommerce *,
body.gs-konto .woocommerce *::before,
body.gs-konto .woocommerce *::after {
	box-sizing: border-box;
}

body.gs-konto .woocommerce :focus-visible {
	outline: 3px solid rgba(23, 55, 83, 0.35);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ */
/* Seitentitel (wie die Kasse: Anton 32 px, Dunkelblau)                */
/* ------------------------------------------------------------------ */

body.gs-konto .ct-section-inner-wrap > h1.ct-headline {
	color: var(--gs-brand-dark);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.12;
	margin: 0;
}

/* Leere Oxygen-Codeblöcke (Treue-Hinweis nur auf der Mitgliedschaft) kosten sonst 20 px Abstand */
body.gs-konto .ct-section-inner-wrap > .ct-code-block:empty {
	display: none;
}

/* Handy/Tablet: erst das eigene Konto, dann das Upgrade-Angebot */
@media (max-width: 899px) {
	body.gs-konto .ct-section-inner-wrap > .ct-shortcode {
		order: 1;
	}
}

/* ------------------------------------------------------------------ */
/* Mitgliedschaft-Upgrade ([gs_mitgliedschaft_upgrade], golfstunde-page)*/
/* Nur auf Übersicht und Mitgliedschaft; ausgeloggt steht das          */
/* Einlog-Formular direkt darunter, der doppelte Hinweis entfällt.     */
/* ------------------------------------------------------------------ */

body.gs-konto.logged-in:not(.woocommerce-dashboard):not(.woocommerce-subscriptions):not(.woocommerce-view-subscription) .ct-shortcode:has(> .gs-upgrade),
body.gs-konto.logged-in:not(.woocommerce-dashboard):not(.woocommerce-subscriptions):not(.woocommerce-view-subscription) .ct-shortcode > .gs-upgrade,
body.gs-konto:not(.logged-in) .ct-shortcode:has(> .gs-upgrade--plain),
body.gs-konto:not(.logged-in) .ct-shortcode > .gs-upgrade--plain {
	display: none;
}

/* Bronze/Silber: Karte mit genau einem Primär-CTA (Fundament 3.8) */
body.gs-konto .gs-upgrade--inline {
	background: #fff;
	border: 1.5px solid var(--gs-rahmen);
	border-radius: var(--gs-r-karte);
	color: var(--gs-text);
	font-size: 20px;
	line-height: 1.45;
	padding: 16px;
}

/* Medaille | Stufe und Nutzen | Preis; auf dem Handy der Preis unter der Stufe */
body.gs-konto .gs-upgrade--inline .gs-upgrade__target {
	align-items: center;
	border-bottom: 0;
	column-gap: 12px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	margin: 0 0 8px;
	padding: 0;
}

body.gs-konto .gs-upgrade--inline .gs-upgrade__price {
	grid-column: 2;
}

@media (min-width: 600px) {
	body.gs-konto .gs-upgrade--inline .gs-upgrade__target {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	body.gs-konto .gs-upgrade--inline .gs-upgrade__price {
		grid-column: 3;
	}
}

body.gs-konto .gs-upgrade__medal {
	font-size: 32px;
}

body.gs-konto .gs-upgrade__tier {
	color: var(--gs-brand-dark);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

body.gs-konto .gs-upgrade__benefit {
	color: var(--gs-text-2);
	font-size: 17px;
	line-height: 1.4;
	margin-top: 2px;
}

body.gs-konto .gs-upgrade__price {
	color: var(--gs-text);
	font-size: 20px;
	font-weight: 700;
}

body.gs-konto .gs-upgrade--inline .gs-upgrade__fineprint {
	color: var(--gs-text-2);
	font-size: 17px;
	line-height: 1.45;
	margin: 0 0 14px;
}

body.gs-konto .gs-upgrade--inline .gs-upgrade__help {
	color: var(--gs-text-2);
	font-size: 17px;
	margin: 10px 0 0;
}

body.gs-konto .gs-upgrade--inline .gs-upgrade__help a {
	color: var(--gs-link);
	text-decoration: underline;
}

body.gs-konto .gs-upgrade .button.gs-upgrade__btn,
body.gs-konto .gs-upgrade__btnwrap .button.gs-upgrade__btn {
	align-items: center;
	border: 1.5px solid var(--gs-cta);
	border-radius: var(--gs-r-knopf);
	box-shadow: none;
	display: flex;
	font-size: 20px;
	font-weight: 500;
	justify-content: center;
	letter-spacing: normal;
	line-height: 1.2;
	min-height: 56px;
	padding: 0 24px;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	width: 100%;
}

body.gs-konto .gs-upgrade--inline .button.gs-upgrade__btn {
	background: var(--gs-cta);
	color: #fff;
}

body.gs-konto .gs-upgrade--inline .button.gs-upgrade__btn:hover,
body.gs-konto .gs-upgrade--inline .button.gs-upgrade__btn:focus {
	background: var(--gs-cta-dunkel);
	border-color: var(--gs-cta-dunkel);
	color: #fff;
}

/* Kostenlos/keine Mitgliedschaft: der Knopf öffnet die Verkaufsseite -> Ghost (Fundament 2) */
body.gs-konto .gs-upgrade__btnwrap .button.gs-upgrade__btn {
	background: #fff;
	color: var(--gs-cta);
}

body.gs-konto .gs-upgrade__btnwrap .button.gs-upgrade__btn:hover,
body.gs-konto .gs-upgrade__btnwrap .button.gs-upgrade__btn:focus {
	background: var(--gs-cta-tint);
	color: var(--gs-cta-dunkel);
}

@media (min-width: 600px) {
	body.gs-konto .gs-upgrade .button.gs-upgrade__btn,
	body.gs-konto .gs-upgrade__btnwrap .button.gs-upgrade__btn {
		display: inline-flex;
		width: auto;
	}
}

@media (min-width: 900px) {
	body.gs-konto .gs-upgrade--inline {
		align-items: center;
		column-gap: 32px;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 18px 20px;
	}

	body.gs-konto .gs-upgrade--inline > * {
		grid-column: 1;
	}

	body.gs-konto .gs-upgrade--inline > .button.gs-upgrade__btn {
		grid-column: 2;
		grid-row: 1 / span 3;
	}

	body.gs-konto .gs-upgrade--inline .gs-upgrade__fineprint {
		margin: 0;
	}

	body.gs-konto .gs-upgrade--inline .gs-upgrade__help {
		margin: 6px 0 0;
	}
}

/* ------------------------------------------------------------------ */
/* Aufteilung Navigation / Inhalt                                      */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce-MyAccount-navigation,
body.gs-konto .woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

body.gs-konto .woocommerce-MyAccount-navigation {
	margin: 0 0 28px;
}

/* Inhalt als eigener Block: "clear" in Formularen schiebt sonst unter die Navigation. */
body.gs-konto .woocommerce-MyAccount-content {
	color: var(--gs-text);
	display: flow-root;
	font-size: 20px;
	line-height: 1.5;
	min-width: 0;
}

@media (min-width: 900px) {
	body.gs-konto .woocommerce-MyAccount-navigation {
		float: left;
		margin: 0 40px 0 0;
		width: 280px;
	}
}

/* ------------------------------------------------------------------ */
/* Navigation                                                          */
/* Handy/Tablet: Kacheln in 2 bzw. 4 Spalten; PC: Liste als Karte      */
/* (Listen-Zeile, Fundament 3.4). Abmelden ruhig als Textlink (3.5).   */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

body.gs-konto .woocommerce-MyAccount-navigation li {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.gs-konto .woocommerce-MyAccount-navigation li a {
	align-items: center;
	background: #fff;
	border: 1.5px solid var(--gs-rahmen);
	border-radius: var(--gs-r-knopf);
	color: var(--gs-brand-dark);
	display: flex;
	font-size: 17px;
	font-weight: 500;
	height: 100%;
	justify-content: center;
	line-height: 1.25;
	min-height: 52px;
	overflow-wrap: anywhere;
	padding: 6px 8px;
	text-align: center;
	text-decoration: none;
}

body.gs-konto .woocommerce-MyAccount-navigation li a:hover {
	background: var(--gs-hover);
	color: var(--gs-brand-dark);
}

body.gs-konto .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--gs-teal-tint);
	border-color: var(--gs-teal-rand);
	font-weight: 700;
}

body.gs-konto .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	background: none;
	border-color: transparent;
	color: var(--gs-link);
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (min-width: 600px) {
	body.gs-konto .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	body.gs-konto .woocommerce-MyAccount-navigation ul {
		background: #fff;
		border: 1.5px solid var(--gs-rahmen);
		border-radius: var(--gs-r-karte);
		display: block;
		overflow: hidden;
	}

	body.gs-konto .woocommerce-MyAccount-navigation li + li {
		border-top: 1px solid var(--gs-rahmen);
	}

	body.gs-konto .woocommerce-MyAccount-navigation li a {
		border: 0;
		border-radius: 0;
		font-size: 20px;
		gap: 12px;
		justify-content: space-between;
		min-height: 58px;
		padding: 8px 16px;
		text-align: left;
	}

	body.gs-konto .woocommerce-MyAccount-navigation li a::after {
		color: var(--gs-text-2);
		content: "\203A";
		flex: none;
		font-size: 28px;
		font-weight: 400;
		line-height: 1;
	}

	body.gs-konto .woocommerce-MyAccount-navigation li.is-active a {
		box-shadow: inset 4px 0 0 var(--gs-brand-dark);
	}

	body.gs-konto .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
		font-size: 17px;
		justify-content: flex-start;
		min-height: 52px;
	}

	body.gs-konto .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::after {
		content: none;
	}
}

/* ------------------------------------------------------------------ */
/* Inhalt: Text, Überschriften, Links                                  */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty {
	display: none;
}

/* universal.css setzt Absätze im Konto, Adressen und Tabellen auf 16 px grau (#666) */
body.gs-konto .woocommerce-MyAccount-content p,
body.gs-konto .woocommerce form.lost_reset_password p,
body.gs-konto .woocommerce form.login p {
	color: var(--gs-text);
	font-size: 20px;
	line-height: 1.5;
	margin: 0 0 14px;
}

/* Kleingedrucktes über den Adressen ("werden standardmäßig auf der Kassenseite verwendet") */
body.gs-konto.woocommerce-edit-address .woocommerce-MyAccount-content > p:first-of-type {
	color: var(--gs-text-2);
	font-size: 17px;
}

body.gs-konto .woocommerce-MyAccount-content a:not(.button) {
	color: var(--gs-link);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.gs-konto .woocommerce-MyAccount-content a:not(.button):hover {
	color: var(--gs-brand-dark);
}

body.gs-konto .woocommerce-MyAccount-content h2,
body.gs-konto .woocommerce-MyAccount-content h3,
body.gs-konto .woocommerce-MyAccount-content legend,
body.gs-konto .woocommerce > h2 {
	color: var(--gs-brand-dark);
	font-family: inherit;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.3;
	margin: 32px 0 12px;
	padding: 0;
	text-transform: none;
}

body.gs-konto .woocommerce-MyAccount-content > h2:first-child,
body.gs-konto .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty + h2,
body.gs-konto .woocommerce-MyAccount-content > form > h2:first-child,
body.gs-konto .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty + section > h2:first-child,
body.gs-konto .woocommerce > h2:first-child,
body.gs-konto .woocommerce > .woocommerce-notices-wrapper + h2 {
	margin-top: 0;
}

body.gs-konto .woocommerce-MyAccount-content mark {
	background: none;
	color: inherit;
	font-weight: 700;
}

body.gs-konto .woocommerce-MyAccount-content address {
	color: var(--gs-text);
	font-size: 20px;
	font-style: normal;
	line-height: 1.5;
	margin: 0;
}

body.gs-konto .woocommerce .woocommerce-Price-amount.amount,
body.gs-konto .woocommerce .woocommerce-Price-amount.amount bdi {
	color: inherit !important;
	font-size: inherit;
	font-weight: inherit;
}

/* ------------------------------------------------------------------ */
/* Knöpfe                                                              */
/* Grundform neutral (Ansehen, Rechnung, Herunterladen); Varianten     */
/* weiter unten. !important nur für Farben/Abstand, weil universal.css */
/* sie für .order-actions und .button.alt so setzt.                    */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce a.button,
body.gs-konto .woocommerce button.button,
body.gs-konto .woocommerce button[type="submit"],
body.gs-konto .woocommerce input[type="submit"] {
	align-items: center;
	background-color: #fff !important;
	background-image: none;
	border: 1.5px solid var(--gs-feldrand);
	border-radius: var(--gs-r-knopf);
	box-shadow: none;
	color: var(--gs-brand-dark) !important;
	cursor: pointer;
	display: inline-flex;
	float: none;
	font-family: inherit;
	font-size: 20px;
	font-weight: 500;
	gap: 8px;
	justify-content: center;
	letter-spacing: normal;
	line-height: 1.2;
	margin: 0 !important;
	min-height: 48px;
	outline-offset: 2px;
	padding: 6px 20px;
	text-align: center;
	text-decoration: none;
	text-shadow: none;
	text-transform: none;
	white-space: normal;
}

body.gs-konto .woocommerce a.button:hover,
body.gs-konto .woocommerce a.button:focus,
body.gs-konto .woocommerce button.button:hover,
body.gs-konto .woocommerce button.button:focus {
	background-color: var(--gs-teal-tint) !important;
	border-color: var(--gs-brand-dark);
	color: var(--gs-brand-dark) !important;
}

/* Primär (etwas wird abgeschickt oder bezahlt) */
body.gs-konto .woocommerce button[name="save_account_details"],
body.gs-konto .woocommerce button[name="save_address"],
body.gs-konto .woocommerce button.woocommerce-form-login__submit,
body.gs-konto .woocommerce .lost_reset_password button[type="submit"],
body.gs-konto .woocommerce #add_payment_method #place_order,
body.gs-konto .woocommerce a.button.pay {
	background-color: var(--gs-cta) !important;
	border-color: var(--gs-cta);
	color: #fff !important;
	min-height: 56px;
	padding: 8px 28px;
}

body.gs-konto .woocommerce button[name="save_account_details"]:hover,
body.gs-konto .woocommerce button[name="save_account_details"]:focus,
body.gs-konto .woocommerce button[name="save_address"]:hover,
body.gs-konto .woocommerce button[name="save_address"]:focus,
body.gs-konto .woocommerce button.woocommerce-form-login__submit:hover,
body.gs-konto .woocommerce button.woocommerce-form-login__submit:focus,
body.gs-konto .woocommerce .lost_reset_password button[type="submit"]:hover,
body.gs-konto .woocommerce .lost_reset_password button[type="submit"]:focus,
body.gs-konto .woocommerce #add_payment_method #place_order:hover,
body.gs-konto .woocommerce #add_payment_method #place_order:focus,
body.gs-konto .woocommerce a.button.pay:hover,
body.gs-konto .woocommerce a.button.pay:focus {
	background-color: var(--gs-cta-dunkel) !important;
	border-color: var(--gs-cta-dunkel);
	color: #fff !important;
}

/* Ghost (ein Ablauf beginnt: stöbern, Zahlungsart ändern/hinzufügen, erneuern, wechseln) */
body.gs-konto .woocommerce .woocommerce-info a.button,
body.gs-konto .woocommerce .woocommerce-message a.button,
body.gs-konto .woocommerce a.button[href*="add-payment-method"],
body.gs-konto .woocommerce .order-again a.button,
body.gs-konto .woocommerce a.button.change_payment_method,
body.gs-konto .woocommerce a.button.subscription_renewal_early,
body.gs-konto .woocommerce a.button.resubscribe,
body.gs-konto .woocommerce a.button.reactivate,
body.gs-konto .woocommerce a.button.wcs-switch-link {
	background-color: #fff !important;
	border-color: var(--gs-cta);
	color: var(--gs-cta) !important;
}

body.gs-konto .woocommerce .woocommerce-info a.button:hover,
body.gs-konto .woocommerce .woocommerce-info a.button:focus,
body.gs-konto .woocommerce .woocommerce-message a.button:hover,
body.gs-konto .woocommerce .woocommerce-message a.button:focus,
body.gs-konto .woocommerce a.button[href*="add-payment-method"]:hover,
body.gs-konto .woocommerce a.button[href*="add-payment-method"]:focus,
body.gs-konto .woocommerce .order-again a.button:hover,
body.gs-konto .woocommerce .order-again a.button:focus,
body.gs-konto .woocommerce a.button.change_payment_method:hover,
body.gs-konto .woocommerce a.button.change_payment_method:focus,
body.gs-konto .woocommerce a.button.subscription_renewal_early:hover,
body.gs-konto .woocommerce a.button.subscription_renewal_early:focus,
body.gs-konto .woocommerce a.button.resubscribe:hover,
body.gs-konto .woocommerce a.button.resubscribe:focus,
body.gs-konto .woocommerce a.button.reactivate:hover,
body.gs-konto .woocommerce a.button.reactivate:focus,
body.gs-konto .woocommerce a.button.wcs-switch-link:hover,
body.gs-konto .woocommerce a.button.wcs-switch-link:focus {
	background-color: var(--gs-cta-tint) !important;
	border-color: var(--gs-cta-dunkel);
	color: var(--gs-cta-dunkel) !important;
}

/* Destruktiv (kündigen, stornieren, löschen): nur Text in cta-Farbe, kein Rahmen (Fundament 2) */
body.gs-konto .woocommerce a.button.cancel,
body.gs-konto .woocommerce a.button.suspend,
body.gs-konto .woocommerce a.button.delete {
	background-color: transparent !important;
	border-color: transparent;
	color: var(--gs-cta) !important;
	padding-left: 8px;
	padding-right: 8px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.gs-konto .woocommerce a.button.cancel:hover,
body.gs-konto .woocommerce a.button.cancel:focus,
body.gs-konto .woocommerce a.button.suspend:hover,
body.gs-konto .woocommerce a.button.suspend:focus,
body.gs-konto .woocommerce a.button.delete:hover,
body.gs-konto .woocommerce a.button.delete:focus {
	background-color: var(--gs-cta-tint) !important;
	border-color: transparent;
	color: var(--gs-cta-dunkel) !important;
}

/* WooCommerce setzt vor die Download-Knöpfe ein Pfeilzeichen */
body.gs-konto .woocommerce a.woocommerce-MyAccount-downloads-file::before {
	content: "\2193";
	font-weight: 700;
}

/* ------------------------------------------------------------------ */
/* Hinweise (Hinweis-Banner, Fundament 3.3)                            */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce .woocommerce-info,
body.gs-konto .woocommerce .woocommerce-message,
body.gs-konto .woocommerce .woocommerce-error,
body.gs-konto .contentbox.note {
	background: var(--gs-teal-tint);
	border: 1px solid var(--gs-teal-rand) !important;
	border-radius: var(--gs-r-karte);
	box-shadow: none;
	color: var(--gs-brand-dark);
	font-size: 20px;
	line-height: 1.45;
	list-style: none;
	margin: 0 0 20px;
	padding: 14px 16px 14px 42px;
	position: relative;
	width: auto;
}

body.gs-konto .woocommerce .woocommerce-info::before,
body.gs-konto .woocommerce .woocommerce-message::before,
body.gs-konto .woocommerce .woocommerce-error::before,
body.gs-konto .contentbox.note::before {
	background: var(--gs-teal);
	border-radius: 50%;
	color: transparent !important;
	content: "";
	display: block;
	font-family: inherit;
	height: 10px;
	left: 17px;
	position: absolute;
	top: 23px;
	width: 10px;
}

body.gs-konto .woocommerce .woocommerce-info::after,
body.gs-konto .woocommerce .woocommerce-message::after,
body.gs-konto .woocommerce .woocommerce-error::after {
	content: none;
}

body.gs-konto .woocommerce .woocommerce-error {
	background: #fdecec;
	border-color: #f5c7c7 !important;
	color: var(--gs-fehler-text);
}

body.gs-konto .woocommerce .woocommerce-error::before {
	background: var(--gs-fehler);
}

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

body.gs-konto .woocommerce .woocommerce-error li + li {
	margin-top: 6px;
}

body.gs-konto .woocommerce .woocommerce-info a:not(.button),
body.gs-konto .woocommerce .woocommerce-message a:not(.button),
body.gs-konto .woocommerce .woocommerce-error a:not(.button),
body.gs-konto .contentbox.note a {
	color: inherit;
	text-decoration: underline;
}

/* Knopf im Hinweis (leere Listen: "Produkte durchsuchen") in eigener Zeile */
body.gs-konto .woocommerce .woocommerce-info a.button,
body.gs-konto .woocommerce .woocommerce-message a.button,
body.gs-konto .woocommerce .woocommerce-error a.button {
	display: flex;
	float: none;
	margin: 12px 0 2px !important;
	width: fit-content;
}

/* [box type="note"] (Treue-Hinweis über der Mitgliedschaft) bringt eigene Einrückung mit */
body.gs-konto .contentbox.note .box_content {
	margin: 0;
	min-height: 0;
	padding: 0;
}

/* ------------------------------------------------------------------ */
/* Tabellen: Grundform als Karte                                       */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce table.shop_table {
	background: #fff;
	border: 1.5px solid var(--gs-rahmen);
	border-collapse: separate;
	border-radius: var(--gs-r-karte);
	border-spacing: 0;
	box-shadow: none;
	color: var(--gs-text);
	font-size: 20px;
	margin: 0 0 24px;
	padding: 0;
	width: 100%;
}

body.gs-konto .woocommerce table.shop_table tr {
	border: 0;
}

body.gs-konto .woocommerce table.shop_table th,
body.gs-konto .woocommerce table.shop_table td {
	background: transparent;
	border: 0;
	color: var(--gs-text);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.45;
	padding: 12px 16px;
	text-align: left;
	text-transform: none;
	vertical-align: top;
}

/* Trennlinien zwischen Tabellenzeilen; die Listen weiter unten ziehen sie am Zeilenkasten. */
body.gs-konto .woocommerce table.shop_table:not(.woocommerce-orders-table):not(.woocommerce-MyAccount-paymentMethods):not(.woocommerce-table--order-downloads) tbody tr + tr > *,
body.gs-konto .woocommerce table.shop_table:not(.woocommerce-orders-table):not(.woocommerce-MyAccount-paymentMethods):not(.woocommerce-table--order-downloads) tfoot tr > *,
body.gs-konto .woocommerce table.shop_table:not(.woocommerce-orders-table):not(.woocommerce-MyAccount-paymentMethods):not(.woocommerce-table--order-downloads) thead + tbody tr:first-child > * {
	border-top: 1px solid var(--gs-rahmen);
}

body.gs-konto .woocommerce table.shop_table thead th {
	color: var(--gs-text-2);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

body.gs-konto .woocommerce table.shop_table td small {
	font-size: 17px;
}

/* Sichtbar ausgeblendet, für Screenreader bleiben die Spaltenköpfe */
body.gs-konto .woocommerce table.woocommerce-orders-table thead,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods thead,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads thead,
body.gs-konto .woocommerce table.order_details thead {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* ------------------------------------------------------------------ */
/* Listen (Bestellungen, Mitgliedschaften, Downloads, Zahlungsarten):  */
/* jede Zeile eine Kartenzeile, auf jeder Breite gleich aufgebaut      */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce table.woocommerce-orders-table,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads {
	display: block;
	overflow: hidden;
}

body.gs-konto .woocommerce table.woocommerce-orders-table tbody,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods tbody,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads tbody {
	display: block;
}

body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods tbody tr,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads tbody tr {
	align-items: start;
	column-gap: 16px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 14px 16px;
}

body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr + tr,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods tbody tr + tr,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads tbody tr + tr {
	border-top: 1px solid var(--gs-rahmen);
}

body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr > *,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods tbody tr > *,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads tbody tr > * {
	background: transparent !important;
	border: 0;
	display: block;
	padding: 0;
	text-align: left !important;
}

/* WooCommerce (Handy) schreibt die Spaltennamen vor jede Zelle und blendet th aus */
body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr > *::before,
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods tbody tr > *::before,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads tbody tr > *::before {
	content: none;
}

/* Bestellungen und Mitgliedschaften */
body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number {
	font-size: 20px;
	font-weight: 700;
	grid-column: 1;
	grid-row: 1;
}

body.gs-konto .woocommerce table.woocommerce-orders-table th.woocommerce-orders-table__cell-order-number::before,
body.gs-konto .woocommerce table.woocommerce-orders-table td.order-number[data-title="Bestellnummer"]::before {
	content: attr(data-title) " ";
	float: none;
	font-weight: 700;
}

/* Links in Listenzeilen: 44 px Tippfläche, ohne die Zeile höher zu machen */
body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-product a,
body.gs-konto .woocommerce table.order_details td.product-name a {
	display: inline-block;
	margin: -8px 0;
	padding: 8px 0;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	color: var(--gs-link);
	font-weight: 700;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
	font-size: 20px;
	grid-column: 2;
	grid-row: 1;
	text-align: right !important;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total .woocommerce-Price-amount {
	font-weight: 700;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date,
body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	color: var(--gs-text-2);
	font-size: 17px;
	line-height: 1.4;
	margin-top: 4px;
	white-space: normal !important;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date {
	grid-column: 1;
	grid-row: 2;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	grid-column: 2;
	grid-row: 2;
	text-align: right !important;
}

/* Mitgliedschaft: "Nächste Zahlung: 14. Oktober 2026" mit Zahlart darunter */
body.gs-konto .woocommerce table.woocommerce-orders-table td.subscription-next-payment::before {
	content: attr(data-title) ": ";
	float: none;
	font-weight: 400;
}

/* Status, die eine Handlung verlangen: gelber bzw. roter Punkt */
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-on-hold"] .woocommerce-orders-table__cell-order-status,
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-pending"] .woocommerce-orders-table__cell-order-status,
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-failed"] .woocommerce-orders-table__cell-order-status,
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-pending-cancel"] .woocommerce-orders-table__cell-order-status {
	color: var(--gs-text);
}

body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-on-hold"] .woocommerce-orders-table__cell-order-status::before,
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-pending"] .woocommerce-orders-table__cell-order-status::before,
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-failed"] .woocommerce-orders-table__cell-order-status::before,
body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-pending-cancel"] .woocommerce-orders-table__cell-order-status::before {
	background: var(--gs-warn);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 10px;
	margin: 0 8px 1px 0;
	vertical-align: middle;
	width: 10px;
}

body.gs-konto .woocommerce table.woocommerce-orders-table tr[class*="--status-failed"] .woocommerce-orders-table__cell-order-status::before {
	background: var(--gs-fehler);
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	grid-column: 1 / -1;
	grid-row: 3;
	margin-top: 12px;
}

body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions:empty {
	display: none;
}

/* Downloads */
body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-product {
	align-self: center;
	font-weight: 700;
	grid-column: 1;
}

body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-remaining,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-expires {
	color: var(--gs-text-2);
	font-size: 17px;
	grid-column: 1;
}

body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-remaining::before,
body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-expires::before {
	content: attr(data-title) ": ";
	float: none;
	font-weight: 400;
}

body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-file {
	align-self: center;
	grid-column: 2;
	grid-row: 1 / span 3;
}

body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-file .button {
	overflow-wrap: anywhere;
}

/* Zahlungsarten */
body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods td.payment-method-method {
	font-weight: 700;
	grid-column: 1;
}

body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods td.payment-method-expires {
	color: var(--gs-text-2);
	font-size: 17px;
	grid-column: 1;
	margin-top: 4px;
}

body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods td.payment-method-expires::before {
	content: attr(data-title) ": ";
	float: none;
	font-weight: 400;
}

body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods td.payment-method-actions {
	align-items: center;
	align-self: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	grid-column: 2;
	grid-row: 1 / span 2;
	justify-content: flex-end;
}

/* Handy: alles untereinander -- Nummer, Datum, Betrag, Status, Knöpfe */
@media (max-width: 599px) {
	body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr {
		grid-template-columns: minmax(0, 1fr);
	}

	body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr > *,
	body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr > .woocommerce-orders-table__cell-order-total,
	body.gs-konto .woocommerce table.woocommerce-orders-table tbody tr > .woocommerce-orders-table__cell-order-status {
		grid-column: 1 !important;
		grid-row: auto !important;
		text-align: left !important;
	}

	body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date {
		order: 1;
	}

	body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total {
		margin-top: 6px;
		order: 2;
	}

	body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
		margin-top: 2px;
		order: 3;
	}

	body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
		order: 4;
	}

	body.gs-konto .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button,
	body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-file .button {
		flex: 1 1 100%;
		width: 100%;
	}

	body.gs-konto .woocommerce table.woocommerce-table--order-downloads td.download-file {
		grid-column: 1 / -1;
		grid-row: auto;
		margin-top: 12px;
	}

	body.gs-konto .woocommerce table.woocommerce-MyAccount-paymentMethods td.payment-method-actions {
		grid-column: 1 / -1;
		grid-row: auto;
		justify-content: flex-start;
		margin-top: 8px;
	}
}

/* ------------------------------------------------------------------ */
/* Bestelldetails und Mitgliedschaft (Summen-Karte wie die Kasse)      */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce .woocommerce-order-details,
body.gs-konto .woocommerce .woocommerce-order-downloads,
body.gs-konto .woocommerce .woocommerce-customer-details {
	margin: 0 0 28px;
}

body.gs-konto .woocommerce table.order_details td.product-total,
body.gs-konto .woocommerce table.order_details tfoot td {
	text-align: right;
	white-space: nowrap;
}

body.gs-konto .woocommerce table.order_details td.product-name {
	font-weight: 700;
}

body.gs-konto .woocommerce table.order_details td.product-name a {
	color: var(--gs-text);
	font-weight: inherit;
	text-decoration: none;
}

body.gs-konto .woocommerce table.order_details .product-quantity {
	color: var(--gs-text-2);
	font-size: 20px;
	font-weight: 400;
	white-space: nowrap;
}

body.gs-konto .woocommerce table.order_details .wc-item-meta,
body.gs-konto .woocommerce table.order_details .wc-item-meta li {
	color: var(--gs-text-2);
	font-size: 17px;
	font-weight: 400;
	list-style: none;
	margin: 4px 0 0;
	padding: 0;
}

body.gs-konto .woocommerce table.order_details tfoot th {
	font-weight: 400;
}

body.gs-konto .woocommerce table.order_details tfoot td {
	font-weight: 400;
}

body.gs-konto .woocommerce table.order_details tfoot small,
body.gs-konto .woocommerce table.order_details tfoot .includes_tax {
	color: var(--gs-text-2);
	display: block;
	font-size: 17px;
	white-space: normal;
}

/* Zeile "Aktionen" (Rechnung, Widerruf) */
body.gs-konto .woocommerce table.order_details tfoot th.order-actions--heading {
	vertical-align: middle;
}

body.gs-konto .woocommerce table.order_details tfoot th.order-actions--heading + td {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
	white-space: normal;
}

body.gs-konto .woocommerce .order-again {
	margin: 0;
}

/* Mitgliedschaft: Angaben als Liste Beschriftung / Wert */
body.gs-konto .woocommerce table.subscription_details td:first-child {
	color: var(--gs-text-2);
	font-size: 17px;
	padding-top: 14px;
	width: 42%;
}

body.gs-konto .woocommerce table.subscription_details td:last-child {
	font-weight: 700;
}

body.gs-konto .woocommerce table.subscription_details td:last-child .button {
	font-weight: 500;
	margin: 0 10px 8px 0 !important;
	max-width: none;
	width: auto;
}

body.gs-konto .woocommerce table.subscription_details .subscription-payment-method {
	font-weight: 700;
}

@media (max-width: 599px) {
	body.gs-konto .woocommerce table.subscription_details,
	body.gs-konto .woocommerce table.subscription_details tbody,
	body.gs-konto .woocommerce table.subscription_details tr,
	body.gs-konto .woocommerce table.subscription_details td,
	body.gs-konto .woocommerce table.subscription_details td:first-child {
		display: block;
		width: auto;
	}

	/* Summen-Karte als Zeilen (wie die Übersicht der Kasse): Name links, Betrag rechts, bei
	   Platzmangel rutscht der Betrag in die nächste Zeile statt über den Kartenrand. */
	body.gs-konto .woocommerce table.order_details,
	body.gs-konto .woocommerce table.order_details tbody,
	body.gs-konto .woocommerce table.order_details tfoot {
		display: block;
	}

	body.gs-konto .woocommerce table.order_details tr {
		align-items: baseline;
		display: flex;
		flex-wrap: wrap;
		gap: 2px 12px;
		justify-content: space-between;
		padding: 12px 14px;
	}

	body.gs-konto .woocommerce table.order_details tbody tr + tr,
	body.gs-konto .woocommerce table.order_details tfoot tr {
		border-top: 1px solid var(--gs-rahmen);
	}

	body.gs-konto .woocommerce table.order_details tr > * {
		border-top: 0 !important;
		display: block;
		padding: 0;
	}

	body.gs-konto .woocommerce table.order_details td.product-total,
	body.gs-konto .woocommerce table.order_details tfoot td {
		margin-left: auto;
	}

	body.gs-konto .woocommerce table.order_details tfoot th.order-actions--heading + td {
		justify-content: flex-start;
		margin-left: 0;
		width: 100%;
	}

	body.gs-konto .woocommerce table.subscription_details td:first-child {
		padding-bottom: 0;
	}

	body.gs-konto .woocommerce table.subscription_details td:last-child {
		border-top: 0 !important;
		padding-top: 2px;
	}

	body.gs-konto .woocommerce table.subscription_details td:last-child .button {
		margin: 6px 0 0 !important;
		width: 100%;
	}
}

/* ------------------------------------------------------------------ */
/* Adressen                                                            */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce .woocommerce-Addresses,
body.gs-konto .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses {
	background: none;
	border: 0;
	box-shadow: none;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 0;
}

body.gs-konto .woocommerce .woocommerce-Addresses::before,
body.gs-konto .woocommerce .woocommerce-Addresses::after,
body.gs-konto .woocommerce .woocommerce-columns--addresses::before,
body.gs-konto .woocommerce .woocommerce-columns--addresses::after,
body.gs-konto .woocommerce .woocommerce-Address-title::before,
body.gs-konto .woocommerce .woocommerce-Address-title::after {
	content: none;
}

@media (min-width: 600px) {
	body.gs-konto .woocommerce .woocommerce-Addresses,
	body.gs-konto .woocommerce .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body.gs-konto .woocommerce .woocommerce-Address,
body.gs-konto .woocommerce .woocommerce-customer-details .woocommerce-column {
	float: none;
	margin: 0;
	padding: 0;
	width: auto;
}

/* Zwei Adresskarten nebeneinander gleich hoch */
body.gs-konto .woocommerce .woocommerce-customer-details .woocommerce-column {
	display: flex;
	flex-direction: column;
}

body.gs-konto .woocommerce .woocommerce-customer-details .woocommerce-column address {
	flex: 1;
}

body.gs-konto .woocommerce .woocommerce-Address {
	background: #fff;
	border: 1.5px solid var(--gs-rahmen);
	border-radius: var(--gs-r-karte);
	padding: 14px 16px 16px;
}

body.gs-konto .woocommerce .woocommerce-Address-title {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0 12px;
	justify-content: space-between;
	margin: 0 0 6px;
}

body.gs-konto .woocommerce .woocommerce-Address-title h2,
body.gs-konto .woocommerce .woocommerce-Address-title h3 {
	float: none;
	font-size: 20px;
	margin: 0;
}

body.gs-konto .woocommerce .woocommerce-Address-title .edit {
	align-items: center;
	display: inline-flex;
	float: none;
	font-size: 17px;
	min-height: 44px;
}

body.gs-konto .woocommerce .woocommerce-customer-details address {
	background: #fff;
	border: 1.5px solid var(--gs-rahmen);
	border-radius: var(--gs-r-karte);
	padding: 14px 16px;
}

body.gs-konto .woocommerce .woocommerce-customer-details address p {
	color: inherit;
	font-size: 20px;
	margin: 6px 0 0;
	overflow-wrap: anywhere;
	padding: 0;
}

body.gs-konto .woocommerce .woocommerce-customer-details--email::before,
body.gs-konto .woocommerce .woocommerce-customer-details--phone::before {
	content: none;
}

/* ------------------------------------------------------------------ */
/* Formulare (Kontodetails, Adresse, Einloggen, Passwort)              */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce form.woocommerce-EditAccountForm,
body.gs-konto .woocommerce .woocommerce-address-fields {
	background: none;
	border: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}

body.gs-konto .woocommerce form .form-row {
	margin: 0 0 16px;
	padding: 0;
}

body.gs-konto .woocommerce form .form-row-first,
body.gs-konto .woocommerce form .form-row-last {
	float: none;
	width: auto;
}

@media (min-width: 600px) {
	body.gs-konto .woocommerce form.woocommerce-EditAccountForm .form-row-first,
	body.gs-konto .woocommerce .woocommerce-address-fields .form-row-first {
		float: left;
		width: calc(50% - 8px);
	}

	body.gs-konto .woocommerce form.woocommerce-EditAccountForm .form-row-last,
	body.gs-konto .woocommerce .woocommerce-address-fields .form-row-last {
		float: right;
		width: calc(50% - 8px);
	}
}

body.gs-konto .woocommerce form .form-row label,
body.gs-konto .woocommerce form.login label,
body.gs-konto .woocommerce form.lost_reset_password label {
	color: var(--gs-text);
	display: block;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.35 !important;
	margin: 0 0 6px;
}

body.gs-konto .woocommerce form .form-row .required {
	display: none;
}

body.gs-konto .woocommerce form .form-row .optional {
	color: var(--gs-text-2);
	font-weight: 400;
}

body.gs-konto .woocommerce form .input-text,
body.gs-konto .woocommerce form select,
body.gs-konto .woocommerce form textarea {
	background-color: #fff;
	border: 1.5px solid var(--gs-feldrand);
	border-radius: var(--gs-r-knopf);
	box-shadow: none;
	color: var(--gs-text);
	font-family: inherit;
	font-size: 20px;
	height: auto;
	line-height: 1.3;
	min-height: 52px;
	padding: 10px 14px;
	width: 100%;
}

body.gs-konto .woocommerce form select {
	padding-right: 44px;
}

body.gs-konto .woocommerce form textarea {
	min-height: 120px;
}

body.gs-konto .woocommerce form .input-text:focus,
body.gs-konto .woocommerce form select:focus,
body.gs-konto .woocommerce form textarea:focus {
	border-color: var(--gs-brand-dark);
	box-shadow: none;
	outline: 3px solid rgba(23, 55, 83, 0.35);
	outline-offset: 1px;
}

body.gs-konto .woocommerce form .form-row.woocommerce-invalid label {
	color: var(--gs-text);
}

body.gs-konto .woocommerce form .form-row.woocommerce-invalid .input-text,
body.gs-konto .woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--gs-fehler);
	border-width: 2px;
}

body.gs-konto .woocommerce form .form-row.woocommerce-validated .input-text,
body.gs-konto .woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--gs-feldrand);
}

/* Erklärtexte unter Feldern ("So wird dein Name ... angezeigt") */
body.gs-konto .woocommerce form .form-row > span[id$="_description"],
body.gs-konto .woocommerce form .form-row .description {
	color: var(--gs-text-2);
	display: block;
	font-size: 17px;
	line-height: 1.45;
	margin: 6px 0 0;
}

body.gs-konto .woocommerce form .form-row > span[id$="_description"] em {
	font-style: normal;
}

/* Land als Auswahl (selectWoo) */
body.gs-konto .woocommerce form .select2-container {
	width: 100% !important;
}

/* Oxygen gibt der Auswahl 8/12 px Innenabstand -- ohne Reset wird sie 68 statt 52 px hoch */
body.gs-konto .woocommerce form .select2-container .select2-selection--single {
	background-color: #fff;
	border: 1.5px solid var(--gs-feldrand);
	border-radius: var(--gs-r-knopf);
	height: 52px;
	min-height: 52px;
	padding: 0;
}

body.gs-konto .woocommerce form .select2-container .select2-selection--single .select2-selection__rendered {
	color: var(--gs-text);
	font-size: 20px;
	line-height: 49px;
	padding: 0 44px 0 14px;
}

body.gs-konto .woocommerce form .select2-container .select2-selection--single .select2-selection__arrow {
	background-position: center;
	background-size: 12px;
	height: 49px;
	right: 8px;
	width: 28px;
}

body.gs-konto .select2-dropdown .select2-results__option,
body.gs-konto .select2-dropdown .select2-search__field {
	font-size: 20px;
}

body.gs-konto .select2-dropdown .select2-results__option {
	padding: 10px 14px;
}

/* Abschnitte im Formular (Passwort ändern, Lern-Erinnerungen) */
body.gs-konto .woocommerce-MyAccount-content fieldset {
	border: 0;
	border-top: 1px solid var(--gs-rahmen);
	margin: 12px 0 0;
	min-width: 0;
	padding: 24px 0 0;
}

body.gs-konto .woocommerce-MyAccount-content fieldset legend {
	float: left;
	margin: 0 0 12px;
	width: 100%;
}

body.gs-konto .woocommerce-MyAccount-content fieldset legend + * {
	clear: both;
}

body.gs-konto .woocommerce-MyAccount-content form > p:last-of-type {
	margin: 24px 0 0;
}

/* Häkchen: Kästchen 24 px links, Text daneben */
body.gs-konto .woocommerce form .form-row label.checkbox {
	display: block;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5 !important;
	margin: 0;
	padding: 0 0 0 36px;
	position: relative;
}

body.gs-konto .woocommerce form .form-row label.checkbox input[type="checkbox"] {
	height: 24px;
	left: 0;
	margin: 0;
	position: absolute;
	top: 3px;
	width: 24px;
}

body.gs-konto .woocommerce form input[type="checkbox"] {
	accent-color: var(--gs-brand-dark);
	flex: none;
	height: 24px;
	width: 24px;
}

body.gs-konto .woocommerce form .form-row label.checkbox .optional {
	display: none;
}

body.gs-konto .woocommerce form .form-row label:has(> input[type="checkbox"]) {
	font-weight: 400;
}

/* Passwort zeigen: 44-px-Fläche statt 20-px-Symbol */
body.gs-konto .woocommerce form .password-input input.input-text {
	padding-right: 56px;
}

body.gs-konto .woocommerce form .show-password-input {
	align-items: center;
	display: flex;
	height: 44px;
	justify-content: center;
	min-height: 0;
	padding: 0;
	right: 4px;
	width: 44px;
}

body.gs-konto .woocommerce form .show-password-input::before {
	height: 22px;
	width: 22px;
}

/* Knopf unter dem Formular: Handy volle Breite */
@media (max-width: 599px) {
	body.gs-konto .woocommerce button[name="save_account_details"],
	body.gs-konto .woocommerce button[name="save_address"],
	body.gs-konto .woocommerce button.woocommerce-form-login__submit,
	body.gs-konto .woocommerce .lost_reset_password button[type="submit"],
	body.gs-konto .woocommerce #add_payment_method #place_order {
		width: 100%;
	}
}

/* ------------------------------------------------------------------ */
/* Ausgeloggt: Einloggen, Passwort vergessen (Formularspalte 560 px)   */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce form.login,
body.gs-konto .woocommerce form.lost_reset_password {
	background: #fff;
	border: 1.5px solid var(--gs-rahmen);
	border-radius: var(--gs-r-karte);
	box-shadow: none;
	margin: 0;
	max-width: 560px;
	padding: 20px;
}

body.gs-konto .woocommerce > h2 {
	max-width: 560px;
}

body.gs-konto .woocommerce form.login .form-row-first,
body.gs-konto .woocommerce form.login .form-row-last,
body.gs-konto .woocommerce form.lost_reset_password .form-row-first,
body.gs-konto .woocommerce form.lost_reset_password .form-row-last {
	float: none;
	width: 100%;
}

body.gs-konto .woocommerce form.lost_reset_password > p:first-child {
	margin: 0 0 16px;
}

/* "Angemeldet bleiben" über dem Knopf (Oxygen/WooCommerce stellen beides nebeneinander) */
body.gs-konto .woocommerce form.login .form-row:has(> .woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 8px 0 0;
}

body.gs-konto .woocommerce form.login button.woocommerce-form-login__submit {
	width: 100%;
}

/* "Angemeldet bleiben": Oxygen blendet das Kästchen aus und zeichnet ein eigenes */
body.gs-konto .woocommerce form.login label.woocommerce-form-login__rememberme {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-size: 20px;
	font-weight: 400;
	margin: 0;
	min-height: 44px;
	padding-left: 0;
	position: relative;
}

body.gs-konto .woocommerce form.login label.woocommerce-form-login__rememberme span {
	margin-left: 36px;
}

body.gs-konto .woocommerce form.login label.woocommerce-form-login__rememberme span::before {
	background-color: #fff;
	border: 1.5px solid var(--gs-feldrand);
	border-radius: 6px;
	height: 24px;
	left: 0;
	top: 10px;
	width: 24px;
}

body.gs-konto .woocommerce form.login .lost_password,
body.gs-konto .woocommerce form.login .woocommerce-LostPassword {
	font-size: 17px;
	margin: 14px 0 0;
}

body.gs-konto .woocommerce form.login .lost_password a,
body.gs-konto .woocommerce form.lost_reset_password a {
	color: var(--gs-link);
	text-decoration: underline;
}

/* ------------------------------------------------------------------ */
/* Zahlungsart hinzufügen: Radio-Zeilen wie in der Kasse (3.24)        */
/* ------------------------------------------------------------------ */

body.gs-konto .woocommerce #add_payment_method #payment {
	background: none;
	border-radius: 0;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods {
	border: 1.5px solid var(--gs-rahmen);
	border-radius: var(--gs-r-karte);
	margin: 0 0 20px;
	overflow: hidden;
	padding: 0;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods::before,
body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods::after {
	content: none;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li {
	border-bottom: 1px solid var(--gs-rahmen);
	line-height: 1.4;
	margin: 0;
	padding: 0;
	position: relative;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li:last-child {
	border-bottom: 0;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li:has(> input.input-radio:checked) {
	background: var(--gs-teal-tint);
}

/* Oxygen zeichnet Radioknöpfe selbst (appearance: none, 24 px, schwarzer Punkt) */
body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li > input.input-radio {
	background: #fff;
	border: 1.5px solid var(--gs-feldrand);
	border-radius: 50%;
	box-shadow: none;
	height: 22px;
	left: 16px;
	margin: 0;
	position: absolute;
	top: 19px;
	width: 22px;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li > input.input-radio:checked {
	background: var(--gs-brand-dark);
	border-color: var(--gs-brand-dark);
	box-shadow: inset 0 0 0 4px #fff;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li > label {
	align-items: center;
	color: var(--gs-text);
	cursor: pointer;
	display: flex;
	flex-wrap: wrap;
	font-size: 20px;
	font-weight: 500;
	gap: 8px;
	line-height: 1.3 !important;
	margin: 0;
	min-height: 60px;
	padding: 8px 16px 8px 52px;
}

body.gs-konto .woocommerce #add_payment_method #payment ul.payment_methods li > label img {
	float: none;
	margin: 0 0 0 auto;
	max-height: 24px;
	width: auto;
}

body.gs-konto .woocommerce #add_payment_method #payment div.payment_box {
	background: transparent;
	color: var(--gs-text);
	font-size: 17px;
	margin: 0;
	padding: 0 16px 14px 52px;
}

body.gs-konto .woocommerce #add_payment_method #payment div.payment_box::before {
	content: none;
}

body.gs-konto .woocommerce #add_payment_method #payment fieldset.wc-upe-form {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

body.gs-konto .woocommerce #add_payment_method #payment div.form-row {
	padding: 0;
}
