/* ==================== GENERAL STYLES ==================== */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:ital,wght@0,300;0,400;0,500;1,300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap" rel="stylesheet');
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Exo:wght@900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');
@import url('https://unicons.iconscout.com/release/v2.1.6/css/unicons.css');

* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	text-decoration: none;
	list-style: none;
	box-sizing: border-box;
	font-family: var(--font-montserrat);
	color: var(--color-logo);
}

:root {
	--color-logo: #34495e;
	--color-logo-light: #526b84;
	--color-logo-red: #e74c3c;
	--color-font: #34495e;
	--color-primary: #b2cabb;
	--color-primary-light: #d9eee7;
	--color-success: #00bf8e;
	--color-warning: #f7c94b;
	--color-warning-light: #fff5da;
	--color-danger: #f75842;
	--color-danger-variant: rgba(247, 88, 66, 0.4);
	--color-white: #fff;
	--color-black: #000;
	--color-blue-gray: #4a536e;
	--color-blue-gray: #4a536e;
	--color-green-light: #9EDBC4;
	--color-green-dark: #6FC4A4;
	--color-red-light: #f98073;
	--color-silver-light: #ecf0f1;

	--color-bg2: #42c498;
	--color-bg3: #84eecb;

	--navbar-height-desktop: 110px;
	--navbar-height-mobile: 80px;
	--breadcrumbs-height-desktop: 25px;
	--breadcrumbs-height-mobile: 25px;

	--container-width-lg: 80%;
	--container-width-md: 90%;
	--container-width-sm: 94%;

	--font-size-lg: 1.2rem;
	--font-size-md: 1.0rem;
	--font-size-sm: 0.85rem;

	--font-montserrat: 'Montserrat', sans-serif;
	--font-method: 'Montserrat', sans-serif;
	--font-ps: 'Play', serif;
	--font-xb: 'Orbitron', sans-serif;
	--font-pc: 'Exo', sans-serif;
	--font-st: 'Exo', sans-serif;

	--color-ps: #003087;
	--color-xb: #107C10;
	--color-pc: #FF7F50;
	--color-st: #ff5050;

	--border-radius: 4px;

	--transition: all 200ms ease;

	--box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
	--box-shadow-2: rgba(99, 99, 99, 1.0) 0px 2px 8px 0px;
	--box-shadow-3: 0 4px 8px rgba(0, 0, 0, 0.1);
	--text-shadow: 1px 1px 5px #484848;
	--text-shadow-2: black 0.1em 0.1em 0.2em;
	--text-shadow-3: 0px 1px 2px rgb(0 0 0 / 50%);
	--text-shadow-ps: 1px 1px 2px rgba(0, 48, 135, 0.5);
	--text-shadow-xb: 1px 1px 2px rgba(16, 124, 16, 0.5);
	--text-shadow-pc: 1px 1px 2px rgba(255, 127, 80, 0.5);
	--text-shadow-st: 1px 1px 2px rgba(255, 80, 80, 0.5);
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	margin: 0px auto;
	background-color: var(--color-white);
	line-height: 1.7;
	box-shadow: var(--box-shadow);
}

.loader-container {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background: #fff;
  opacity: 0.9;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  flex-direction: column;
}

.loader-logo {
  width: 35px;
  height: auto;
  z-index: 1;
  animation: fadeIn 0.5s ease-in-out;
}

.loader-spinner {
  position: absolute;
  width: 90px;
  height: 90px;
  border: 8px solid #f3f3f3;
  border-top: 8px solid var(--color-logo);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  z-index: 2;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.btn-back + .holder-text {
  display: block;
  margin-top: 0.5rem; /* Optional: Abstand nach oben */
}

.btn-back {
	display: inline-flex;
	align-items: center;
	padding: 0.6rem 1.2rem;
	border-radius: 8px;
	font-size: 1rem;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-bottom: 1rem;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	text-shadow: var(--text-shadow-2);
	background: linear-gradient(180deg, var(--color-logo), var(--color-logo-light));
	box-shadow: var(--box-shadow-2);
}

.btn-back:hover {
  background: linear-gradient(180deg, #526b84d1, var(--color-logo-light));
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transform: translate(-2px, -50%);
}

.btn-back:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(100, 150, 250, 0.5);
}

.btn-back-summary i {
	color: #fff;
	text-shadow: var(--text-shadow-2);
}

.toggle-container {
    border: 1px solid #ccc;
    padding: 10px;
    margin-bottom: 10px;
    cursor: pointer;
    border-radius: 5px;
}

.toggle-header {
    font-weight: bold;
	font-variant: small-caps;
    display: flex;
    align-items: center;
	border-radius: var(--border-radius);
	font-size: 1.1rem;
	padding: 5px 10px;
	gap: 10px;
}

.toggle-container.open .toggle-header {
	background: #bbb8b85e;
	box-shadow: var(--box-shadow-2);
}

.process_info_header, .info_coins_header {
	width: 100%;
}

.toggle-indicator {
    display: inline-block;
    transition: transform 0.3s ease;
}

.toggle-container.open .toggle-indicator {
    transform: rotate(90deg); /* Pfeil nach rechts → nach unten */
}

.toggle-content {
    display: flex;
    overflow: hidden;
	max-height: 0;
    transition: max-height 0.3s ease;
}

.toggle-container.open .toggle-content {
	max-height: 715px; /* groß genug, um den Inhalt komplett zu zeigen */
	padding: 10px;
}

.form__title {
	margin-bottom: 2rem;
	text-align: center;
	font-variant: small-caps;
}

.form__input {
	display: block;
	width: 100%;
	padding: 0.75rem;
	box-sizing: border-box;
	border-radius: var(--border-radius);
	border: 1px solid #dddddd;
	outline: none;
	background: #eeeeee;
	transition: background 0.2s, border-color 0.2s;
}

.form__input:focus {
	border-color: var(--color-logo);
	background: #ffffff;
}

.form__input--error {
	color: var(--color-error);
	border-color: var(--color-error);
}

.form__input-error-message {
	margin-top: 0.5rem;
	font-size: 0.85rem;
	color: var(--color-error);
}

.form__button {
	width: 100%;
	padding: 1rem 2rem;
	margin-bottom: 20px;
	font-weight: 1.1rem;
	text-align: center;
	color: #ffffff;
	border: none;
	border-radius: var(--border-radius);
	outline: none;
	cursor: pointer;
	background: var(--color-logo);
	font-variant: small-caps;
	text-shadow: var(--text-shadow-2);
}

.form__button:hover {
	background: #556e86;
	;
}

.form__button:active {
	transform: scale(0.98);
}

.form__text {
	text-align: center;
}

.form__link {
	color: var(--color-secondary);
	text-decoration: none;
	cursor: pointer;
}

.form__link:hover {
	text-decoration: underline;
}

.not-found_container,
.verification_container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: linear-gradient(var(--color-logo-light), var(--color-primary-light));
}

.not-found_btn,
.verification_btn {
	height: 35px;
	width: 90px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	background-color: var(--color-logo);
	border-radius: 2px;
}

.not-found_btn:hover,
.verification_btn:hover {
	background-color: var(--color-logo-light);
	cursor: pointer;
}

.input-container {
	display: flex;
	gap: 20px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: linear-gradient(var(--color-logo) 0%, var(--color-logo-light) 55%, transparent);
	border-radius: 4px;
	padding: 40px;
}

.form-input-group {
	display: flex;
	gap: 10px;
	justify-content: center;
}

.form_input {
	display: flex;
	gap: 10px;
	width: 100%;
	padding: 0.75rem;
	box-sizing: border-box;
	border-radius: var(--border-radius);
	border: 1px solid var(--color-logo);
	outline: none;
	transition: background 0.2s, border-color 0.2s;
	text-align: center;
	font-size: 1.1rem;
	box-shadow: var(--box-shadow);
	background-color: #fff;
	font-weight: bold;
	color: var(--color-logo);
}

.form_input_ct {
	display: flex;
	gap: 10px;
	width: 100%;
	padding: 0.75rem;
	box-sizing: border-box;
	border-radius: var(--border-radius);
	border: 1px solid var(--color-logo);
	outline: none;
	transition: background 0.2s, border-color 0.2s;
	text-align: center;
	font-size: 0.9rem;
	box-shadow: var(--box-shadow);
	background: linear-gradient(#44636f, #6b8f9dcf);;
	font-weight: bold;
	color: #fff;
}

.form_input_ct:focus {
	background: none;
    background-color: #fff; /* Weißer Hintergrund beim Fokussieren */
    color: var(--color-logo); /* Schriftfarbe */
    border-color: var(--color-logo); /* Optional: auch Rahmenfarbe ändern */
    outline: none; /* Standardblaues Outline entfernen */
}

.form_input_ct::placeholder, .fa-eye::before, .fa-eye-slash::before {
	color: #ffffffc2;
}

/* Placeholder-Farbe bei Fokus */
.input-with-icon input:focus::placeholder {
    color: var(--color-logo-light);
}


.fa-eye::before, .fa-eye-slash::before {
  background: #fff;
  border-radius: 20px;
  padding: 5px;
  color: var(--border-radius);
}

.form_input::placeholder {
	color: var(--color-logo-light);
}

.form_input:focus {
	border-color: var(--color-logo);
	background-color: var(--color-white);
}

.input-with-icon {
    display: flex;
    align-items: baseline;
    gap: 10px;
	width: 100%;
}

.input-with-icon label {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #888;
}

.input-with-icon input {
    flex: 1;
    padding: 10px;
    border-radius: 6px;
}


.form_button {
	width: 50%;
	white-space: normal;
	padding: 1rem 2rem;
	color: var(--color-green-light);
	border: 1px solid var(--color-logo);
	border-radius: var(--border-radius);
	outline: none;
	cursor: pointer;
	background: var(--color-logo-light);
	font-variant: small-caps;
	text-shadow: var(--text-shadow-2);
}

.form_button:hover {
	background: var(--color-logo);
}

#extend-session-btn {
	background-color: var(--color-green-light);
}

#logout-btn {
	background-color: var(--color-red-light);
}

.modal-btn {
	padding: 5px;
	border-radius: 4px;
	width: 100px;
	border: none;
	color: var(--color-font);
	font-weight: bold;
	line-height: 2rem;
}

.modal-btn:hover {
	cursor: pointer;
}


.container {
	margin: 0 auto;
}

section {
	padding: 3rem 0;
}

section h2 {
	text-align: center;
	margin-bottom: 4rem;
}

h1,
h2,
h3,
h4,
h5 {
	line-height: 1.2;
}

h1 {
	font-size: 25px;
}

h2 {
	font-size: 22px;
}

h3 {
	font-size: 20px;
}

h4 {
	font-size: 18px;
}

h5 {
	font-size: 17px;
}

p {
	font-size: 16px;
}

a {
	color: #fff;
}

.btn-loading {
    background-color: var(--color-green-light);
}

.btn-loading .btn-text {
    visibility: hidden;
    opacity: 0;
}

.btn-loading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	backdrop-filter: blur(1px);
  }

.btn-loading::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 4px solid transparent;
    border-top-color: var(--color-font);
    border-radius: 50%;
    animation: button-loading-spinner 1s ease infinite;
	z-index: 2; 
}

.btn-loading[disabled] {
    pointer-events: none;  /* Verhindert Klicks */
    opacity: 0.5;  /* Helligkeit des Buttons verringern */
    cursor: not-allowed;  /* Zeigt den "nicht erlaubt"-Cursor */
}

@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

img {
	width: 100%;
	display: block;
	object-fit: cover;
}

/* Navbar ist wieder weiss -- das Logo (hell/fast weiss) braucht seine
   eigene dunkle Box, um ueberhaupt sichtbar zu sein. */
#logo_container {
	width: fit-content;
	border-radius: 10px;
	background: linear-gradient(165deg, var(--color-logo), var(--color-logo-light));
	padding: 7px 10px;
	box-shadow: 0 3px 10px rgba(52, 73, 94, 0.25);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

#logo_container:hover {
	box-shadow: 0 5px 14px rgba(52, 73, 94, 0.32);
	transform: translateY(-1px);
}

#logo_text {
	color: var(--color-font);
    padding: 0px 3px;
    letter-spacing: 0.5rem;
    font-variant: small-caps;
    font-weight: bolder;
    text-shadow: 1px 1px 5px #484848;
    text-align: center;
    color: #e74c3c;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.1;
}

#logo_slogan {
	font-size: 14px;
	letter-spacing: 7px;
	text-transform: uppercase;
	background: var(--color-logo);
	font-weight: 400;
	color: #fff;
	padding-left: 5px;
	text-align: center;
}

.btn {
	cursor: pointer;
	display: inline-block;
	background: var(--color-logo);
	color: #fff;
	padding: 1rem 2rem;
	border: 1px solid transparent;
	border-radius: var(--border-radius);
	font-weight: bold;
	font-variant: small-caps;
	transition: var(--transition);
	font-size: 1rem;
	text-shadow: var(--text-shadow-2);
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
	border: 1px solid var(--color-logo-light);
}

.btn:hover {
	border: 1px solid var(--color-primary-light);
	background: var(--color-logo);
	color: var(--color-white);
}

.info-badge {
	position: absolute;
	width: 100px;
	top: -48px;
  	left: -64px;
	color: white;
	font-size: 16px;
	font-weight: bold;
	padding: 5px 10px;
	border-radius: 10px;
	transform: rotate(-18deg) scale(0);
	cursor: pointer;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	margin: 10px;
	transition: transform 1s ease, background-position 0.5s ease; /* Smooth rotation added */
	background-size: 200% auto;
	box-shadow: 0 0 20px #eee;
	background-image: linear-gradient(to right, rgb(44, 62, 80) 0%, rgb(108 205 253) 51%, rgb(44, 62, 80) 100%);
	animation: growThenRotate 1.5s ease forwards;
}

.info-badge.auction-badge {
    background-image: linear-gradient(to right, rgb(44, 62, 80) 0%, rgb(108, 205, 253) 51%, rgb(44, 62, 80) 100%);
    top: calc(var(--navbar-height-desktop) + 130px); /* Startposition */
    z-index: 1;
    opacity: 1;
    transition: opacity 0.3s ease, transform 0.3s ease;  /* Transition für Blubb-Effekt */
	justify-content: center;
}

.timeline-container {
	padding-top: calc(var(--navbar-height-desktop)); /* Startposition */
	z-index: 1;
}

/* Keyframes für Wachsen und Rotieren */
@keyframes growThenRotate {
	0% {
		opacity: 0; /* Anfangs unsichtbar */
		transform: scale(0) rotate(-50deg); /* Start mit kleiner Skalierung und Rotation */
	}
	40% {
		opacity: 1; /* Voll sichtbar */
		transform: scale(1.0) rotate(18deg); /* Wachsen */
	}
	60% {
		transform: scale(1.0); /* Weiteres Wachstum */
	}
	62% { transform: translateY(-9px) }
	75% { transform: translateY(-9px) rotate(10deg) }
	80% { transform: translateY(-9px) rotate(-10deg) }
	85% { transform: translateY(-9px) rotate(10deg) }
	90% { transform: translateY(-9px) rotate(-10deg) }
	95% { transform: translateY(0) rotate(-14deg) }
	100% {
		transform:  rotate(-18deg); /* Endgröße und Rotation */
	}
}

/* Hover-Effekt */
.info-badge:hover {
	background-position: right center;
	color: #fff;
	text-decoration: none;
}

.info-badge.auction-badge.hide {
    opacity: 0;
    transform: scale(0.5);  /* Verkleinert das Badge beim Verblassen */
}

.info-badge.auction-badge.show {
    opacity: 1;
    transform: scale(1);  /* Rückkehr zur ursprünglichen Größe */
}


/* ==================== NAVBAR ==================== */

/* Zentrale Navbar-Clearance fuer ALLE Seiten (page-wrapper umschliesst
   ueberall den kompletten Seiteninhalt inkl. der von navbar_footer.php per
   JS eingefuegten .breadcrumbs-container). Vorher hatte JEDE Seite ihren
   eigenen margin-top:var(--navbar-height-desktop) (order_container,
   ct-container, account-content_container, trust-bar, #overlay...) UND die
   Breadcrumbs bekamen zusaetzlich ihren eigenen -- zwei Elemente, die beide
   dieselbe fixe Navbar wegraeumen wollten, addierten sich zu einer doppelt
   so grossen Luecke. Jetzt gibt es genau eine Stelle dafuer; die einzelnen
   Container brauchen nur noch normale (kleine) Abstaende zueinander. */
.page-wrapper {
	margin-top: var(--navbar-height-desktop);
}

/* Zurueck zu hell: die durchgehend dunkle Flaeche (Hauptbalken + Info-
   Leiste + Trust-Banner direkt darunter) ergab einen zu grossen, schweren
   dunklen Block am Seitenanfang -- passt nicht zum Rest der Seite, der
   durchgehend hell ist und Farbe nur gezielt als Akzent einsetzt (Buttons,
   Badges, aktive Zustaende). Standard-Muster fuer diese Art Seite: helle,
   leichte Navbar, Farbe bleibt den Akzenten vorbehalten. Nur die schmale
   Info-Leiste oben bleibt dunkel (Kontaktinfo, klar abgegrenzt), der
   Hauptbalken ist wieder weiss. */
nav {
	background: #fff;
	width: 100%;
	height: var(--navbar-height-desktop);
	position: fixed;
	top: 0px;
	z-index: 100;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	border-bottom: 1px solid var(--color-silver-light);
}

#nav_info_top {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 24px;
	width: 100%;
	background: var(--color-logo);
	gap: 10px;
	font-size: 12px;
	letter-spacing: 0.01em;
	text-shadow: none;
}

.info_top {
	opacity: 0.92;
}

/* Dezenter Trenner zwischen E-Mail und Telefon statt nur grossem Abstand. */
.info_top.phone::before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 11px;
	margin-right: 10px;
	background: rgba(255, 255, 255, 0.28);
	vertical-align: middle;
}

.info_top.phone {
	display: inline-flex;
	align-items: center;
	color: #fff;
}

.nav__container {
	position: relative;
	width: 100%;
	max-width: 1200px;
	height: 86px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.nav__container a {
	position: relative;
}

nav button {
	display: none;
}

.nav__menu {
	display: flex;
	text-align: center;
	align-items: center;
	gap: 6px;
}

/* Dezenter Trenner vor dem Account-Bereich (Username/Abmelden) -- gruppiert
   "Navigation" (Sprache/Home/Bestellungen) optisch getrennt von "Account",
   statt fuenf gleichwertige Links ohne erkennbare Struktur aneinanderzureihen. */
.nav__icon:has(#username) {
	margin-left: 6px;
	padding-left: 14px;
	border-left: 1px solid var(--color-silver-light);
}

.nav__menu__mobile {
    display: none; /* nur Mobile anzeigen */
}

.nav__icon {
	padding: 0;
}

/* Links als schlichte, abgerundete Pillen statt jede einzeln fest umrandet
   -- Rahmen um jeden ungeklickten Link wirkte wie eine Reihe Buttons statt
   eines zusammenhaengenden Menues. Farbe kommt jetzt ueber Hover-/Aktiv-
   Zustand statt permanent sichtbarer Umrandung. */
.nav__icon a {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--color-logo);
	text-shadow: none;
	padding: 9px 16px;
	border-radius: 999px;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nav__menu a {
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.nav__icon a i {
	color: inherit;
	text-shadow: none;
	font-size: 15px;
	opacity: 0.75;
	transition: opacity 0.2s ease;
}

/* Hover auf einem INAKTIVEN Link: dezente Mint-Toenung statt permanenter
   Umrandung -- Farbe kommt nur bei Interaktion dazu, nicht staendig sichtbar. */
.nav__icon:not(.active) a:hover {
	background-color: var(--color-primary-light);
	color: var(--color-logo);
	text-shadow: none;
	transform: translateY(-1px);
}

.nav__icon:not(.active) a:hover i {
	opacity: 1;
}

/* Aktiver Link: dunkle Pille mit sanftem Mint-Glow statt einer flachen
   Vollton-Flaeche -- der Glow macht daraus einen bewussten Akzent statt nur
   "dunkler als die anderen". Eigene :hover-Regel (statt sich auf
   .nav__icon a:hover zu verlassen) verhindert, dass Hovern den aktiven
   Zustand kaputt macht -- vorher gewann bei gleicher Spezifitaet zufaellig
   die Hover-Regel und loeschte den Hintergrund. */
.nav__icon.active a,
.nav__icon.active a i,
.nav__icon.active a:hover,
.nav__icon.active a:hover i {
	background: var(--color-logo);
	color: #fff;
	text-shadow: none;
	opacity: 1;
}

.nav__icon.active a {
	box-shadow: 0 3px 12px rgba(178, 202, 187, 0.55);
}

.nav__icon.active a:hover {
	box-shadow: 0 5px 16px rgba(178, 202, 187, 0.75);
	transform: translateY(-1px);
}

.language-nav {
	position: relative;
}

.language-dropdown {
	position: relative;
	width: 64px;
	cursor: pointer;
	user-select: none;
	color: var(--color-logo);
	font-family: inherit;
	background: #fff;
	border: 1px solid var(--color-silver-light);
	border-radius: 999px;
	transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.language-dropdown:hover {
	border-color: var(--color-primary);
	background: var(--color-primary-light);
	transform: translateY(-1px);
}

.selected-language {
	padding: 6px 10px;
	border-radius: 999px;
	text-align: center;
	color: var(--color-logo);
	text-shadow: none;
	font-weight: 600;
	font-size: 0.85rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
}

.language-options {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	border: 1px solid var(--color-silver-light);
	border-radius: 10px;
	margin-top: 6px;
	display: none;
	z-index: 10;
	box-shadow: var(--box-shadow-3);
	overflow: hidden;
}

.language-options li {
	justify-content: center;
  	align-items: center;
	padding: 8px 6px;
	transition: background-color 0.2s ease;
	cursor: pointer;
	color: var(--color-logo);
	font-weight: 600;
	font-size: 0.85rem;
	height: auto !important;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
}

.language-options li:hover {
	background: var(--color-primary-light);
}

.language-options li.active {
	background: var(--color-silver-light);
}

.logo {
	margin: 10px 0px;
	cursor: pointer;
	width: 50px;
}

#logo_img {
	width: 150px;
}

.container-prices {
	position: relative;
}

.nav_pricelist {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 50px;
	left: -115px;
	width: 320px;
	height: 35px;
	display: block;
	background-color: var(--color-primary-light);
	border: 1px solid #757575;
	border-radius: 0px 0px 4px 4px;
	box-shadow: var(--box-shadow);
	padding-left: 0.5rem;
	font-size: 1rem;
}

.nav_pricelist.active {
	visibility: visible;
	transition: 400ms ease;
	opacity: 1;
}

.nav_pricelist tbody {
	display: flex;
	gap: 20px;
	justify-content: center;
	padding: 0 5px;
}

.console-data {
	text-align: left;
}

.nav_price td {
	color: var(--color-font);
	font-weight: bold;
	font-variant: small-caps;
	vertical-align: middle;
	height: 2rem;
}

.nav_price td.price-data {
	width: 3rem;
	text-align: right;
}

.uil-bars {
	display: flex;
}

.uil-multiply {
	display: flex;
}

.custom-link:hover {
	text-decoration: underline;
}


/* ==================== ORDER ==================== */
.order_container {
	margin-bottom: 7rem;
    min-height: fit-content;
    display: flex;
    justify-content: center;
    /* Navbar-Clearance kommt jetzt zentral von .page-wrapper, hier nur noch
       ein kleiner Abstand zur (davorstehenden) Breadcrumb-Zeile. */
    margin-top: 12px;
}

.order_content {
	width: 1200px;
}

.header__title {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	margin-bottom: 1rem;
	text-align: center;
	font-variant: small-caps;
	background: linear-gradient(180deg, var(--color-logo), var(--color-logo-light));
	color: var(--color-white);
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-2);
	text-shadow: var(--text-shadow-2);
	width: 100%;
	max-width: 1200px;
	margin: 1rem auto 3rem auto;
	position: sticky;
	top: calc(var(--navbar-height-desktop) + 1px);
	z-index: 2;
}

.tableholder {
	width: 100%;
	max-width: 1200px;
	min-height: 72px;
	margin-bottom: 15px;
}

/* Bestellungen nebeneinander statt in einer Spalte, solange Platz reicht --
   row+wrap statt column heisst: passen zwei/drei Karten nebeneinander (breite
   Screens), stehen sie nebeneinander, sonst brechen sie automatisch um.
   align-items:stretch gleicht Karten in DERSELBEN Zeile auf dieselbe Hoehe an
   (siehe .order-card-transfer -- die Comfort-Trade-Box/der Platzhalter waechst
   dann mit auf die Hoehe der Nachbarkarte, statt dass eine Karte kuerzer wirkt
   als die danebenstehende). justify-content:center sorgt dafuer, dass eine
   letzte, alleinstehende Karte (naechste passt nicht mehr in die Zeile) mittig
   steht statt links zu kleben mit viel Leere rechts daneben. */
.order-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 16px;
}

/* ==========================================================================
   Bestellungen als echte Karten (siehe order.js) statt einer <table>, deren
   Zeilen per CSS Grid nur optisch zu Karten umgebaut wurden. Der Umbau auf
   echte <div>-Karten macht ein paar Kategorien von Problemen komplett
   ueberfluessig, die die Tabellen-Variante zwangslaeufig mit sich brachte:
   table-layout, das einzelne Spalten zusammenquetschte (Fortschrittskreis-
   Bug), colspan-Berechnungen fuer die Klapp-Zeile, <td> ohne umschliessendes
   <tr> direkt in <tbody>, und der Screenreader-Mismatch ("Tabelle"/"Spalte"
   angesagt, obwohl optisch laengst keine Tabelle mehr da war).
   ========================================================================== */

/* Abschnitts-Ueberschrift ("Offene/Geschlossene Bestellungen") + Filter in
   einer Zeile statt Filter separat oben und Ueberschrift als schlichter Satz
   darunter -- der Filter gehoert inhaltlich zum offenen Abschnitt (wirkt nur
   auf dessen Liste), steht deshalb jetzt auch direkt daneben. */
.order-section-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 32px 0 18px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--color-silver-light);
}

.order-section-header:first-of-type {
	margin-top: 0;
}

.order-section-title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--color-logo);
}

.order-section-title span {
	font-weight: 700;
}

/* Filter nach Transferart -- nur Arten, die aktuell tatsaechlich vorkommen,
   werden als Chip angeboten (siehe order.js renderMethodFilter). */
.method-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.method-filter-chip {
	font-family: inherit;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--color-logo);
	background: #fff;
	border: 1px solid var(--color-silver-light);
	border-radius: 999px;
	padding: 6px 14px;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.method-filter-chip:hover {
	background: var(--color-primary-light);
	border-color: var(--color-primary);
}

.method-filter-chip.active {
	background: var(--color-logo);
	border-color: var(--color-logo);
	color: #fff;
}

.method-filter-chip.active:hover {
	background: var(--color-logo-light);
	border-color: var(--color-logo-light);
}

.order-card {
	/* "Ticket-Kopf" statt vollflaechig eingefaerbter Karte (siehe
	   .order-card-header): der Kopf traegt die Farbe, der Koerper bleibt
	   weiss/ruhig. overflow:hidden rundet die farbige Kopfzeile zusammen mit
	   der Karte ab, kein eigenes Karten-Padding mehr -- jeder Bereich
	   (Kopf/Transfer/Fusszeile) bekommt sein Padding stattdessen selbst,
	   damit der Kopf randlos bis an die Kartenkante faerben kann. Flex-Column,
	   damit .order-card-transfer (flex:1, siehe dort) die durch
	   align-items:stretch (.order-list) entstehende Extra-Hoehe aufnehmen
	   kann, statt dass sie ungenutzt unter der Karte bliebe. */
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 12px;
	box-shadow: var(--box-shadow-3);
	font-size: 13px;
	color: var(--color-logo);
	transition: box-shadow 0.2s ease;
	overflow: hidden;
	/* Feste statt inhaltsabhaengige Breite -- Karten unterschiedlicher
	   Transferarten (mit/ohne Comfort-Trade-Box) sahen sonst unterschiedlich
	   breit aus. 560px, weil .tableholder max. 1200px breit ist: zwei Karten
	   + 16px gap (siehe .order-list) passen damit bequem nebeneinander,
	   eine dritte nicht mehr -- genau "mindestens zwei auf dem Desktop". */
	width: 560px;
	max-width: 100%;
}

.order-card:hover {
	box-shadow: var(--box-shadow-2);
}

/* Kopfzeile als farbige Flaeche (Verlauf je Transferart, siehe
   .comforttrade/.auction/.onecarddeal weiter unten -- dieselben Klassen wie
   beim Badge, hier direkt auf dem Kopf statt auf einer Pill). Ohne passende
   Transferart-Klasse (sollte praktisch nicht vorkommen) faerbt die Basisfarbe
   var(--color-logo). */
.order-card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	padding: 14px 20px;
	background: var(--color-logo);
	color: #fff;
}

.order-card-header .order-field-value {
	color: #fff;
}

.order-card-header .order-field-label {
	color: rgba(255, 255, 255, 0.7);
}

/* Zahlform im Kopf als Feld wie ID/Datum/EUR, aber mit einer LEICHTEN Pille
   um den Wert -- ganz ohne Hintergrund waren die pastelligen Marken-Farben
   (siehe unten) auf dem farbigen Kopf schlechter lesbar. Die Pille ist
   bewusst nur ein zartes Weiss (kein Vollton wie .paymentprovider-cell
   sonst), damit sie sich dem dunklen Kopf unterordnet statt wie die
   Konsole/Transferart-Badges als eigenes Element zu wirken. */
.order-card-header .paymentprovider-cell {
	background: rgba(255, 255, 255, 0.16);
	padding: 3px 10px;
	width: fit-content;
	margin: 0;
	line-height: 1.4rem;
}

.order-card-header .paymentprovider,
.order-card-header .paymentprovider-cell,
.order-card-header .paymentprovider-cell span {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-shadow: none;
	letter-spacing: normal;
}

/* Trotzdem je Zahlungsart unterscheidbar bleiben (statt einheitlich weiss)
   -- helle/pastellige Varianten der Marken-Farben, die auf allen drei
   Kopf-Farbverlaeufen (Comfort Trade/Auktion/One Card Deal) lesbar bleiben. */
.order-card-header .paypal-logo .paymentprovider-cell span {
	color: #8ecdfa;
}

.order-card-header .giftcard-logo .paymentprovider-cell span {
	color: #7fe0c2;
}

.order-card-header .paysafecard-logo .paymentprovider-cell span {
	color: #ffb199;
}

.order-card-header .klarna-logo .paymentprovider-cell span {
	color: #ffb3d9;
}

.order-card-header .skrill-logo .paymentprovider-cell span {
	color: #d9b8f5;
}

.order-field--transfer,
.order-field--console {
	gap: 4px;
}

/* Konsole- und Transferart-Badge als eigene zweite Zeile in der Fusszeile
   (siehe order.js footerBadgesHtml) statt in derselben Zeile wie Coins +
   Kreis -- vier Felder in einer Zeile machten die (jetzt inhaltsbreite)
   Karte unnoetig breit. flex-basis:100% erzwingt den Zeilenumbruch, egal
   wie schmal Coins/Kreis/Button in Zeile 1 zusammen sind. */
.order-card-footer-secondary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 22px;
	flex-basis: 100%;
	margin-top: 4px;
	padding-top: 12px;
	border-top: 1px solid var(--color-silver-light);
}

.order-card-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 16px;
	padding: 16px 20px;
}

.order-card-transfer {
	display: flex;
	flex-wrap: wrap;
	/* Comfort-Trade-Box hat eine feste Breite (siehe .comfort-trade-details),
	   die Karte selbst passt sich ihrem Inhalt an -- ist eine andere Zeile
	   (z.B. der Kopf) breiter, stand die Box sonst links mit Luft rechts.
	   justify-content:center zentriert sie stattdessen in der Zeile. Karten in
	   derselben Reihe koennen unterschiedlich hoch sein (mit/ohne Box, mit/
	   ohne Pausenverlauf) -- flex:1 1 auto laesst diesen Bereich die durch
	   align-items:stretch (.order-list) entstehende Extra-Hoehe aufnehmen,
	   align-items:center zentriert die (kuerzere) Box/den Platzhalter darin
	   vertikal statt sie oben kleben zu lassen. */
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 10px 16px;
}

.order-card-transfer:not(:empty) {
	padding: 14px 20px;
	border-bottom: 1px solid var(--color-silver-light);
}

.order-field {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 2px;
}

.order-field-label {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-logo-light);
}

.order-field-value {
	font-weight: 700;
}

.order-field--id .order-field-value {
	font-size: 15px;
}

.order-card-status {
	display: flex;
	align-items: center;
	margin-left: auto;
}

/* Status als runde Farb-Badge statt nacktem, freischwebendem Icon --
   funktioniert so in jedem Kontext (dunkler Kopf, weisses Mobil-Panel), da
   die Badge ihren Kontrast selbst mitbringt statt sich auf den Hintergrund
   zu verlassen. */
.status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	color: #fff;
	font-size: 13px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
	flex-shrink: 0;
}

.status-badge--processing {
	background: linear-gradient(160deg, #ffcf6b, var(--color-warning));
}

.status-badge--delivered {
	background: linear-gradient(160deg, #3fd6a6, var(--color-success));
}

.order-progress {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.order-progress-amount {
	font-size: 11px;
	font-weight: 600;
}

/* Coins-Betrag und Fortschrittskreis als eine Gruppe (statt Coins ganz
   links, Kreis+Button weit rechts) -- beide beschreiben denselben
   Fortschritt und gehoeren optisch zusammen. Der Aktions-Button ist die
   einzige Aktion in der Fusszeile und bekommt dafuer den rechten Rand fuer
   sich. */
.order-progress-group {
	display: flex;
	align-items: center;
	gap: 16px;
}

.paymentprovider {
	text-transform: uppercase;
}

/* Aufklapp-Button + Detailbereich fuer Datum/Zahlung/Status auf schmalen
   Screens (siehe Media Query weiter unten) -- ersetzt den frueheren
   .show_data/.subitem_data_container-Mechanismus, der colspan brauchte,
   weil er innerhalb einer echten Tabelle funktionieren musste. */
.order-expand-toggle {
	display: none;
	margin-left: auto;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	line-height: 0;
}

.order-expand-toggle:hover .uil-eye {
	color: var(--color-green-dark);
	transition: color 500ms ease;
}

.order-details-panel {
	display: none;
	width: 100%;
}

.order-details-panel.open {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 12px;
	padding: 12px 20px 16px;
	border-top: 1px solid var(--color-silver-light);
	font-size: 12px;
}

.order-details-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.order-details-label {
	font-size: 9px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-logo-light);
	flex-shrink: 0;
}

/* Auf schmalen Screens wandern Datum/Zahlung/Status hinter den Klapp-Button
   -- nur bei OFFENEN Bestellungen (#transfers). Abgeschlossene Bestellungen
   (#closed_transfers) hatten schon in der Tabellen-Version keine mobile
   Spaltenreduktion und zeigen weiterhin immer alle Felder direkt an. */
@media (max-width: 980px) {
	#transfers .order-field--date,
	#transfers .order-card-status,
	#transfers .order-card-header > .paymentprovider {
		display: none;
	}

	#transfers .order-expand-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

.uil::before {
	line-height: normal !important;
}

/* Aktion-Buttons als Segment-Pille statt gestapelter Zwei-Zeilen-Box: Status
   (links, Farbe = aktueller Zustand) + Aktion (rechts, dunkel = das eigentliche
   Klickziel) nebeneinander in EINER runden Pille. Bei einteiligen Buttons
   (Fortsetzen/Daten eingeben) gibt es nur das Status-Segment, das dann
   selbst der Klick-Bereich ist. */
.continue-cell, .continue-cell.active {
	display: flex;
	flex-direction: row-reverse;
	align-items: stretch;
	min-width: 96px;
	border-radius: 999px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: var(--box-shadow-3);
	overflow: hidden;
}

.continue-cell:hover {
	transform: translateY(-2px);
	box-shadow: var(--box-shadow-2);
	color: #fff;
	text-decoration: none;
}

.go-to-url, .pause-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-shadow: none;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	box-sizing: border-box;
	padding: 8px 14px;
	text-align: center;
	white-space: nowrap;
}

/* Status-Segment: nicht klickbar (siehe order.js, pointer-events:none),
   Farbe zeigt nur den aktuellen Zustand. Gruen = laeuft/aktiv, Rot = pausiert. */
.go-to-url {
	background: var(--color-success);
}

.continue-cell.inactive .go-to-url {
	background: var(--color-danger);
}

/* Aktions-Segment: einheitlich dunkel -- das ist der klickbare Teil, Farbe
   soll nicht mit dem Status-Segment daneben konkurrieren. */
.pause-btn {
	position: relative;
	background: var(--color-logo);
	border: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.pause-btn:hover {
	background: var(--color-logo-light);
}

/* Account-Info + Pausenverlauf als EINE zusammengefuehrte Karte (siehe
   order.js transferDetailsHtml) statt zwei getrennter Boxen (eine hell,
   eine dunkel) -- beide beschreiben denselben Comfort-Trade-Account. Feste
   statt volle Breite: die Karte passt sich seit Kurzem ihrem Inhalt an
   (siehe .order-card), und eine lange E-Mail-Adresse liess Comfort-Trade-
   Karten dadurch deutlich breiter werden als alle anderen Bestellarten.
   Mit fester Breite (Zeilenumbruch bei Bedarf, siehe .account-value) sehen
   alle Karten wieder einheitlich aus. */
.comfort-trade-details {
    width: 360px;
    max-width: 100%;
    box-sizing: border-box;
    margin: 6px 0;
    padding: 10px 14px;
    /* Dezente Mint-Tönung statt reinem Weiss -- die Box hebt sich so als
       eigener Info-Block vom (jetzt wieder weissen) Kartenkoerper ab. */
    background: rgba(178, 202, 187, 0.12);
    border: 1px solid var(--color-silver-light);
    border-left: 3px solid var(--color-logo);
    border-radius: 8px;
    color: var(--color-logo);
    box-shadow: var(--box-shadow-3);
    font-size: 11px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.comfort-trade-details:hover {
    background: rgba(178, 202, 187, 0.24);
    border-color: var(--color-primary);
    border-left-color: var(--color-logo);
}

.comfort-trade-details.tm-locked {
    background-color: #fbe0e0;
    border-color: var(--color-danger);
    color: #8a1414;
}

.comfort-trade-details.tm-locked:hover {
    background-color: #f7d0d0;
    border-color: var(--color-danger);
}

/* Laufende Pause hervorheben (isPausedTrade === "active") -- Amber statt Rot
   (wie .tm-locked), da eine Pause ein normaler, vom Kunden selbst gesetzter
   Zustand ist, kein Fehler. Dieselbe Farbe wie der "In Bearbeitung"-Status-
   Badge (var(--color-warning)) und der Pause-Toggle-Badge unten. */
.comfort-trade-details.paused {
    background-color: #fff6dd;
    border-color: var(--color-warning);
    border-left-color: var(--color-warning);
}

.comfort-trade-details.paused:hover {
    background-color: #fdecc0;
    border-color: var(--color-warning);
}

/* Beides gleichzeitig (gesperrter Transfermarkt WAEHREND einer Pause) --
   der Sperr-Zustand ist der dringendere, gewinnt daher per hoeherer
   Spezifitaet unabhaengig von der Reihenfolge oben. */
.comfort-trade-details.tm-locked.paused,
.comfort-trade-details.tm-locked.paused:hover {
    background-color: #fbe0e0;
    border-color: var(--color-danger);
    border-left-color: var(--color-danger);
}

.pause-toggle-status {
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--color-warning);
    padding: 2px 7px;
    border-radius: 999px;
}

/* Platzhalter statt leerer Transfer-Zone, wenn der Aktions-Button eine
   Nutzeraktion verlangt (Comfort Trade "Daten eingeben" oder Auktion/One
   Card Deal "Fortsetzen") -- erklaert den leeren Zustand statt ihn
   kommentarlos verschwinden zu lassen. align-self:stretch statt der
   zentrierten Standardgroesse (siehe .order-card-transfer): waechst auf die
   volle Hoehe, wenn eine Nachbarkarte in derselben Reihe hoeher ist (siehe
   .order-list align-items:stretch), statt als kleine Flaeche mittig in der
   dadurch entstehenden Leerflaeche zu haengen. display:flex zentriert die
   Nachricht dann selbst in der gewachsenen Box. */
.comfort-trade-placeholder {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left-color: var(--color-danger);
    background: rgba(247, 88, 66, 0.06);
}

.comfort-trade-placeholder:hover {
    background: rgba(247, 88, 66, 0.1);
    border-color: var(--color-danger);
    border-left-color: var(--color-danger);
}

.ct-placeholder {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 600;
    color: var(--color-danger);
}

.ct-placeholder .uil-exclamation-triangle {
    font-size: 15px;
    flex-shrink: 0;
}

.ct-details-pauses {
    /* Trennlinie nur, wenn tatsaechlich eine Account-Sektion DAVOR steht
       (Geschwister-Selektor) -- ohne Account-Info braucht der Verlauf
       keinen "Deckel" ueber sich. */
    margin-top: 0;
}

.ct-details-account + .ct-details-pauses {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--color-silver-light);
}

/* Dropdown statt fixer Liste -- bei Accounts mit vielen Pausen wurde die
   Zeitleiste sonst sehr lang. Zugeklappt zeigt der Button nur noch die
   Anzahl, der laufende Pausenstatus ist ueber INAKTIV/FORTSETZEN-Button und
   Fortschrittskreis bereits sichtbar. */
.pause-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    margin-bottom: 0;
    padding: 0;
    background: none;
    border: none;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.pause-toggle-label {
    font-weight: 700;
    color: var(--color-logo);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pause-toggle-count {
    font-size: 9px;
    font-weight: 700;
    color: #fff;
    background: var(--color-logo-light);
    border-radius: 999px;
    padding: 1px 7px;
}

.pause-toggle-icon {
    margin-left: auto;
    font-size: 12px;
    color: var(--color-logo-light);
    transition: transform 200ms ease;
}

.pause-toggle[aria-expanded="true"] .pause-toggle-icon {
    transform: rotate(180deg);
}

/* Pausenverlauf als Zeitleiste: verbindende Linie links + ein Punkt pro
   Eintrag, statt gestapelter "Start/Ende/Coins"-Bloecke mit wiederholten
   Labels. Der laufende (noch nicht beendete) Eintrag bekommt einen roten
   Punkt zur Wiedererkennung mit der "läuft noch"-Pille daneben. Scrollt nur
   der Verlauf selbst (nicht die ganze Karte), wenn sehr viele Pausen
   vorliegen -- die Account-Info bleibt dabei immer sichtbar. Per Default
   zugeklappt (siehe .pause-toggle) und öffnet sich per Klick. */
.pause-timeline {
    display: none;
    position: relative;
    flex-direction: column;
    gap: 10px;
    padding-left: 14px;
    max-height: 280px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--color-primary) transparent;
}

.pause-timeline.open {
    display: flex;
    margin-top: 10px;
}

.pause-timeline::-webkit-scrollbar { width: 6px; }
.pause-timeline::-webkit-scrollbar-thumb { background-color: var(--color-primary); border-radius: 3px; }
.pause-timeline::-webkit-scrollbar-track { background: transparent; }

.pause-timeline::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 4px;
    bottom: 4px;
    width: 2px;
    background: var(--color-primary-light);
}

.pause-item {
    position: relative;
}

.pause-item::before {
    content: "";
    position: absolute;
    left: -14px;
    top: 3px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--color-logo-light);
}

.pause-item.live::before {
    background: var(--color-danger);
}

.pause-range {
    font-size: 10px;
    font-weight: 600;
    color: var(--color-logo);
}

.pause-arrow {
    color: var(--color-logo-light);
    margin: 0 2px;
    font-weight: 400;
}

.pause-range em {
    display: inline-block;
    font-style: normal;
    font-weight: 700;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--color-danger);
    padding: 2px 8px;
    border-radius: 999px;
}

.pause-meta {
    font-size: 9px;
    color: var(--color-logo-light);
    margin-top: 2px;
}

/* Overlay für Modal */
.open-transfers-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5); /* halbtransparent für Fokus */
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9998;
}

.open-transfers-overlay.visible {
  opacity: 1;
  pointer-events: all;
}

/* Modal Box */
.open-transfers-box {
  width: 380px;
  background: #fff;
  color: #222;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.5);
  overflow: hidden;
  transform: translateY(-20px);
  transition: all 0.3s ease;
  font-family: 'Arial', sans-serif;
  z-index: 9999;
}

.open-transfers-box.visible {
  transform: translateY(0);
}

/* Header */
.open-transfers-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  background: var(--color-danger-variant);
  padding: 12px 16px;
  color: #fff;
}

.header-text {
	width: 100%;
	font-size: 20px;
	line-height: 1.4;
	font-variant: small-caps;
	text-align: center;
	margin-bottom: 10px;
	border-bottom: 2px solid var(--color-logo);
	padding-bottom: 10px;
	font-weight: bold;
}

.header-message {
	font-size: 14px;
	line-height: 1.2;
	width: 100%;
}

/* Close Button */
.open-transfers-header .close-btn {
	position: absolute;
	right: 5px;
	top: 5px;
	border-radius: 8px;  border: none;
	color: var(--color-logo);
	font-size: 22px;
	cursor: pointer;
	line-height: 1;
	padding: 0 4px;
}

.open-transfers-header .close-btn:hover {
  color: #ff6666;
}

/* Content */
.open-transfers-content {
  max-height: 300px;
  overflow-y: auto;
  padding: 14px 16px;
  background: #f7f7f7;
}

.open-cards-count {
	background: var(--color-danger);
	padding: 0px;
	border-radius: 8px;
	font-size: 20px;
	height: 30px;
	width: 30px;
	display: inline-block;
	text-align: center;
	color: #fff;
	text-shadow: var(--text-shadow-2);
}

/* Transfer Items */
.transfer-item {
  border-top: 1px solid #ddd;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.5;
}

.transfer-item:first-child {
  border-top: none;
}



/* ----------------------- */
/* Responsives Verhalten */
/* ----------------------- */

/* Kleine Geräte (Smartphones im Hochformat) */
@media (max-width: 480px) {
	.pause-toggle-label {
    	font-size: 8px;
	}

	.pause-timeline {
		gap: 8px;
	}

	.pause-timeline.open {
		max-height: 220px;
	}

	.pause-meta {
		font-size: 8px;
	}

	.continue-cell.active, .continue-cell.inactive {
		line-height: 1rem;
	}

	.pause-btn.active, .pause-btn.inactive {
		line-height: 1rem;
	}
}

/* Tablets / mittlere Screens */
@media (min-width: 481px) and (max-width: 1024px) {
	.pause-toggle-label {
    	font-size: 9px;
	}
}


.ct-no_data {
	position: relative;
	overflow: hidden;
	animation: border-pulse 1.5s infinite;
}

.ct-no_data .go-to-url {
	background: var(--color-danger);
}

.auction-continue {
	overflow: hidden;
    animation: wave-border 3s infinite;
}

.auction-continue:hover, .ct-no_data:hover, .pause-btn:hover {
	animation-play-state: paused;
}

.continue-cell.active .go-to-url, .continue-cell.inactive .go-to-url {
	cursor: wait;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0.5px);
  }
  50% {
    transform: translateY(-0.5px);
  }
}

@keyframes wave-border {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 178, 169, 0.5);
    }
    50% {
        box-shadow: 0 0 10px 5px rgba(0, 178, 169, 0.3);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 178, 169, 0.5);
    }
}

@keyframes border-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(244, 67, 54, 0.3);
  }
  50% {
    box-shadow: 0 0 10px 5px rgba(244, 67, 54, 0.3);
  }
}

/* Neu gestaltet: die Zahlen/Pfeile stecken jetzt gemeinsam in EINER
   abgerundeten Pille (.pagenumbers-group) statt als lose Kreise
   nebeneinander zu schweben, darunter zeigt .pagenumbers-info zusaetzlich
   die Gesamtzahl der Seiten -- vorher nur indirekt aus den (bei vielen
   Seiten ohnehin gekuerzten) Zahlen erschliessbar. */
.pagenumbers {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-bottom: 25px;
}

.pagenumbers-group {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 2px;
	background: #fff;
	border: 1px solid var(--color-silver-light);
	border-radius: 999px;
	padding: 5px;
	box-shadow: var(--box-shadow-3);
}

.pagenumbers button {
	width: 28px;
	height: 28px;

	appearance: none;
	border-radius: 50%;
	border: none;
	outline: none;
	cursor: pointer;

	background-color: transparent;
	color: var(--color-logo);

	transition: background-color 0.15s ease, color 0.15s ease;
	font-size: 0.75rem;
	font-weight: 600;
	text-shadow: none;
	box-shadow: none;
}

.pagenumbers button:hover:not(:disabled) {
	background-color: var(--color-primary-light);
}

.pagenumbers button.active_open_transfers,
.pagenumbers button.active_closed_transfers {
	background-color: var(--color-logo);
	color: #fff;
}

/* Vor-/Zurueck-Pfeile: dezenter als die Seitenzahlen, damit sie als
   Navigations-Geste statt als weitere Zahl wirken. Am Anfang/Ende der
   Seitenliste einfach deaktiviert statt versteckt, damit die Pfeile nicht
   bei jedem Seitenwechsel horizontal hin- und herspringen. */
.pagenumbers-arrow {
	color: var(--color-logo-light);
	font-size: 14px;
	font-weight: 700;
}

.pagenumbers-arrow:hover:not(:disabled) {
	color: var(--color-logo);
	background-color: var(--color-primary-light);
}

.pagenumbers button:disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.pagenumbers-info {
	font-size: 11px;
	font-weight: 600;
	color: var(--color-logo-light);
	letter-spacing: 0.02em;
}

/* Checkmark Style */
.checkmark {
	display: inline-block;
	width: 24px;
	height: 24px;
	position: relative;
}

.checkmark_green::before {
	content: '';
	display: block;
	width: 6px;
	height: 12px;
	border: solid green;
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 9px;
}

.checkmark::after {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	background-color: transparent;
	/* Hintergrundfarbe transparent */
	position: absolute;
	top: 0;
	left: 0;
}

/* Xmark Style */
.xmark {
	display: inline-block;
	width: 24px;
	height: 24px;
	position: relative;
}

.xmark_red::before,
.xmark_red::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 2px;
	background-color: red;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}

.xmark_red::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.payment-provider-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.payment-provider {
	display: inline-flex;
	align-items: center;
	justify-content: center;

}

.paymentprovider-cell {
	border-radius: 999px;
	background: var(--color-primary-light);
	font-size: 10px;
	font-weight: bold;
	text-shadow: none;
	width: fit-content;
	margin: 0 auto;
	letter-spacing: 0.04em;
	line-height: 1.4rem;
	padding: 3px 10px;
  }

.paymentprovider-cell span {
	font-family: 'Arial', sans-serif !important;
	text-shadow: var(--text-shadow-3);
	letter-spacing: 1px;
}

.paypal-blue {
	color: #003087;
	/* PayPal Dunkelblau */
}

.paypal-lightblue {
	color: #009cde;
	/* PayPal Hellblau */
}

.paysafe-blue {
	color: #004f9e;
	/* Paysafe Dunkelblau */
}

.paysafe-red {
	color: #e30613;
	/* Paysafe Rot */
}

.skrill-purple {
	color: #68217a;
	/* Skrill Lila */
}

.klarna-pink {
	color: #ff69b4;
	/* Klarna Pink */
}

.giftcard-darkblue {
	color: var(--color-logo);
}

.giftcard-blue {
	color: #1c5bf0;
}

.paypal-logo,
.paysafe-logo,
.skrill-logo,
.klarna-logo,
.giftcard-logo {
	font-size: 18px;
	position: relative;
	text-shadow: 0px 1px 2px rgb(0 0 0 / 50%);
	/* Leichter Textschatten */
}

.transfertype-cell {
	font-family: 'Arial', sans-serif;
	font-weight: bold;
	padding: 3px 10px;
	border-radius: 999px;
	display: inline-block;
	text-align: center;
	box-shadow: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 10px;
	line-height: 1.4rem;
	text-wrap: nowrap;
}

.order-card-transfer > .comfort-trade-details {
	flex: 0 0 auto;
	margin: 0;
}

/* Statt Dauer-Loop-Animation (lief auf jeder Zeile gleichzeitig, wirkte
   unruhig/ablenkend auf einer Datentabelle) ein ruhiger, statischer
   Verlauf -- die Farbe pro Transferart bleibt als Wiedererkennung erhalten.
   Dieselbe Klasse faerbt sowohl das Badge als auch (siehe zweiter Selektor)
   direkt die Kartenkopfzeile. */
.comforttrade,
.order-card-header.comforttrade {
	background: linear-gradient(135deg, #116a6f 0%, #242a73 100%);
	color: #fff;
}

/* Icon-Zeilen (Account/Start Coins/Tradepile) statt Fliesstext mit <br> --
   jede Zeile bekommt ein eigenes Icon statt eines einzelnen Icons in der
   Kartenecke, dezente Label-Spalte davor. */
.account-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	line-height: 1.6;
}

.account-icon {
	flex-shrink: 0;
	font-size: 11px;
	opacity: 0.7;
	width: 14px;
	text-align: center;
}

.account-label {
	flex-shrink: 0;
	font-size: 9px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-logo-light);
}

.account-value {
	font-weight: 600;
	/* Feste Box-Breite (siehe .comfort-trade-details) heisst: eine lange
	   E-Mail-Adresse muss umbrechen koennen statt die Box zu sprengen.
	   min-width:0 erlaubt dem Flex-Kind ueberhaupt erst, unter seine
	   Inhaltsbreite zu schrumpfen. */
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

.tm-warning-row {
	margin-top: 6px;
	font-size: 11px;
}

/* Warnhinweis */
.tm-warning {
    display: inline-block;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    background: var(--color-danger);
    padding: 3px 8px;
    border-radius: 999px;
    cursor: default;
}


.auction,
.order-card-header.auction {
	background: linear-gradient(135deg, #654EA3 0%, #b25a5a 100%);
	color: #fff;
}

.onecarddeal,
.order-card-header.onecarddeal {
	background: linear-gradient(135deg, #4f8a75 0%, #3a3a3a 100%);
	color: #fff;
}

@keyframes gradient-animation {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

.platform-cell {
	font-weight: bold;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--color-primary-light);
	display: inline-block;
	text-align: center;
	box-shadow: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 10px;
	line-height: 1.4rem;
}

.ps {
	font-family: var(--font-ps);
	color: var(--color-ps);
	text-shadow: var(--text-shadow-ps);
}

.xb {
	font-family: var(--font-xb);
	color: var(--color-xb);
	text-shadow: var(--text-shadow-xb);
}

.pc {
	font-family: var(--font-pc);
	color: var(--color-pc);
	text-shadow: var(--text-shadow-pc);
}

.st {
	font-family: var(--font-st);
	color: var(--color-st);
	text-shadow: var(--text-shadow-st);
}

/* Pille in der jeweiligen Konsolen-Farbe statt einer einheitlichen hellen
   Flaeche fuer alle -- kraeftig statt zart, deshalb Schrift auf weiss
   umgestellt (die Marken-Farben selbst sind teils zu dunkel/zu hell fuer
   ausreichend Kontrast auf sich selbst als Hintergrund). */
.platform-cell.ps {
	background: var(--color-ps);
}

.platform-cell.xb {
	background: var(--color-xb);
}

.platform-cell.pc {
	background: var(--color-pc);
}

.platform-cell.st {
	background: var(--color-st);
}

.platform-cell.ps span,
.platform-cell.xb span,
.platform-cell.pc span,
.platform-cell.st span {
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.other-platform {
	font-family: 'Arial', sans-serif;
	color: #555555;
	text-shadow: 1px 1px 2px rgba(85, 85, 85, 0.5);
}

.progress-circle {
	position: relative;
	/* Feste Groesse statt nur max-width, damit der Ring in jedem Flex-Kontext
	   zuverlaessig 40x40px bleibt statt sich am verfuegbaren Platz zu
	   orientieren. */
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	margin: 0 auto 3px auto;
  }

  .svg-circle {
	transform: rotate(-90deg); /* Start bei 12 Uhr */
	width: 100%; /* SVG passt sich an die Größe des Containers an */
	height: 100%;
  }
  
  circle {
	fill: none; /* Kein Innenbereich */
	stroke-width: 10 /* Dicke der Linie */
  }
  
  .bg {
	/* War #fff -- da die Kartenflaeche darunter ebenfalls weiss ist, war der
	   Hintergrundring komplett unsichtbar und nur der winzige farbige
	   Fortschrittsbogen blieb sichtbar ("kaputter" Look). */
	stroke: var(--color-silver-light);
  }
  
  .progress {
	stroke: var(--color-bg2); /* Fortschrittsfarbe */
	stroke-dasharray: 282.74; /* Umfang des Kreises: 2 * π * r (r=45) */
	stroke-dashoffset: 282.74; /* Start bei 0% */
	transition: stroke-dashoffset 0.5s ease; /* Animation */
  }
  
  .percentage {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 9px;
	font-weight: bold;
	color: #333;
  }

  /* Safari & iOS Fix (wegen SVG-Rendering) */
@supports (-webkit-touch-callout: none) {
	.svg-circle {
		transform: rotate(-90deg) translateZ(0);
	}
}


/* ==================== CONFIRMATION CODE ==========*/

.verification_data {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	align-items: center;
	min-width: 470px;
	gap: 20px;
	margin: 0 10px;
	padding: 20px 10px;
	border: 5px solid var(--color-logo);
	border-radius: var(--border-radius);
	background-color: #fff;
}

.verification_data p {
	font-size: 1.3rem;
}

.resend_confirmation_code {
	background-color: var(--color-primary-light);
	color: var(--color-logo);
	text-shadow: none;
}

.resend_confirmation_code:hover {
	background-color: var(--color-primary);
	;
}

/* ==================== COMFORT TRADE ============= */

.ct-container {
	display: flex;
	flex-direction: column;
	min-height: fit-content;
	width: 100%;
	align-items: center;
	justify-content: center;
	/* Navbar-Clearance kommt jetzt zentral von .page-wrapper, hier nur noch
	   ein kleiner Abstand zur davorstehenden Breadcrumb-Zeile. */
	margin-top: 12px;
	margin-bottom: 7rem;
}

.form_holder_ct {
	max-width: 1200px;
	width: 100%;
	height: fit-content;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 20px 0;
	justify-content: center;
}

.form_data {
	max-width: 400px;
	padding: 20px;
	border: 2px solid;
	border-radius: 4px;
	box-shadow: rgba(99, 99, 99, 1.0) 0px 2px 8px 0px;
	height: 100%;
	background-color: #fff;
	line-height: 0;
	background-color: var(--color-primary-light);
}

.form_data input {
	margin-bottom: 15px;
}

.password-container {
	display: flex;
	position: relative;
	width: 100%;
	margin-bottom: 15px;
}

.password-container #password {
	margin-bottom: 0;
}

.password-container input {
  width: 100%;
  padding-right: 40px; /* Platz für das Auge */
  box-sizing: border-box;
}

.password-container #togglePassword {
  position: absolute;
  right: 10px;       /* Abstand vom Rand */
  top: 50%;          /* Mitte vertikal */
  transform: translateY(-50%);
  cursor: pointer;
  color: #666;
  font-size: 18px;
}

.two-factor-auth-container-holder {
	display: flex;
	flex-direction: column;
	justify-content: center;
	justify-items: center;
	align-content: center;
	align-items: center;
	padding: 10px;
	margin-bottom: 15px;
	border: 1px solid var(--color-logo);
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-3);
}

.two-factor-auth-container-holder h3 {
	color: #ffffffc2;
}

.two-factor-auth-container {
  	display: flex;
  	gap: 15px;
	margin: 15px 0 25px 0;
}

.two-factor-auth-container label {
	font-size: 12px;
}


.auth-option {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	background: #ffffffc2;
	border: 2px solid lightgray;
	border-radius: 10px;
	padding: 10px 18px;
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	font-weight: 500;
	user-select: none;
}

.auth-option:hover {
  background: #e8e8e8;
}

.auth-option input[type="radio"] {
  appearance: none;
  margin-bottom: 0px;
  width: 18px;
  height: 18px;
  border: 2px solid #aaa;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  transition: border-color 0.2s;
}

.auth-option input[type="radio"]:checked {
  border-color: #44636f;
}

.auth-option input[type="radio"]:checked::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 3px;
  left: 3px;
  background: #44636f;
  border-radius: 50%;
}

.auth-option:has(input[type="radio"]:checked) {
  border-color: #44636f;
  background: #ffffffc2;
}

.auth-option span {
	line-height: 1.2rem;
	text-align: center;
}

.input_cta {
	line-height: 1.7rem;
	height: 3rem;
	border: 1px solid lightgray;
	border-radius: var(--border-radius);
	padding: 10px;
	width: 100%;
	margin: 10px auto;
	font-size: 1rem;
}

.confirm_data_container_holder {
	flex-direction: column;
	background-color: #fff;
	padding: 20px;
	width: 600px;
	border: 2px solid;
	border-radius: 4px;
	box-shadow: rgba(99, 99, 99, 1.0) 0px 2px 8px 0px;
	height: 100%;
	position: relative;
}

.confirm_data_details_container {
	width: 100%;
	padding: 20px 50px;
	margin-bottom: 20px;
	background-color: var(--color-primary-light);
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-2);
	min-height: 150px;
	border: 1px solid var(--color-logo);
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.confirm_data_details_container p,
.confirm_data_details_container p span {
	font-size: 1.1rem;
	color: var(--color-logo);
}

.confirm_data_container {
	display: flex;
	padding: 20px;
	background-color: #fff;
	width: 100%;
	flex-direction: column;
	position: relative;
	align-items: center;
}

.confirm_data {
	position: relative;
	display: flex;
	gap: 10px;
	margin: 15px 0;
}

.confirm_icon {
	width: 30px;
}

.confirm_text {
	display: inline-block;
	right: 0;
	position: absolute;
}

#transfer_img_holder {
	display: flex;
	justify-content: center;
	width: 50%;
}

.btn-container {
	display: flex;
	flex-direction: row;
	gap: 10px;
	width: 100%;
	justify-content: center;
}

.confirm_button {
	background-color: var(--color-logo-light);
	color: var(--color-green-light);
	text-shadow: var(--text-shadow-2);
	text-align: center;
	border: 1px solid var(--color-logo);
	font-weight: bold;
}

.cancel_button {
	background-color: var(--color-logo-light);
	color: var(--color-red-light);
	text-shadow: var(--text-shadow-2);
	text-align: center;
	border: 1px solid var(--color-logo);
	font-weight: bold;
}

.confirm_button:hover,
.cancel_button:hover {
	background-color: var(--color-logo);
}

#shortInfoError {
	display: none !important;
  	width: 90%;
	margin-bottom: 10px;
	background: #ff000042;
	position: relative;
	border-radius: var(--border-radius);
    height: auto !important;   /* Höhe automatisch anpassen */
    min-height: 0;             /* entfernt evtl. alte Mindesthöhe */
    padding: 0.5rem 1rem;      /* Abstand innen für bessere Lesbarkeit */
    white-space: normal;       /* Zeilenumbruch erlauben */
    word-wrap: break-word;     /* Lange Wörter umbrechen */
    overflow-wrap: break-word; /* fallback für alte Browser */
    line-height: 1.4;          /* etwas Abstand zwischen Zeilen */
}

.video-thumb-container {
	width: 100%;
 	display: flex;
  	justify-content: center;
	margin-bottom: 15px;
}

.video-thumb {
	padding: 10px;
	background-color: var(--color-danger);
	border-radius: 8px;
}

.video-thumb:hover {
	background-color: #f75842ad;
	cursor: pointer;
	transition: background-color 300ms ease;
}	

.video-link {
	display: flex;
  	color: var(--color-logo);
  	font-size: 0.9rem;
  	justify-content: center;
  	align-items: center;
}

.video-link, .uil-play {
	color: #fff;
  	text-shadow: var(--text-shadow-3);
}

.backup-codes-button{
	display: flex; 
	align-items: center; 
	gap: 10px; 
	margin: 15px 5px 30px 5px; 
	text-decoration: underline; 
	font-size: 0.9rem; 
	color: var(--color-text);
	text-align: center;
  	justify-content: center;
}

.btn-ct {
	display: flex;
	gap: 10px;
	flex-direction: row;
	width: fit-content;
	background: linear-gradient(#eed9d9, #e81a2eb2);
	font-weight: bold;
	margin: 0 auto;
	padding: 10px 20px;
	border-radius: var(--border-radius);
	border: 2px solid var(--color-logo);
	cursor: pointer;
	box-shadow: 0 4px 6px rgba(231, 76, 60, 0.7);
	transition: background 0.5s, box-shadow 0.5s, transform 0.3s;
}

.btn-ct:hover {
	background: var(--color-green-light);
  	box-shadow: 0 4px 6px rgba(60, 231, 111, 0.7);
  	transform: translateY(-2px);
}

.btn-text {
  color: #fff;
  text-shadow: var(--text-shadow-2);
  font-variant: small-caps;
  font-size: 20px;
}

.confirm_title {
	text-align: center;
}

.confirm_data {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.confirm_icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.confirm_text_block {
    display: flex;
    flex-direction: row;
    min-width: 0; /* EXTREM WICHTIG für Textumbruch */
	justify-content: space-between;
  	width: 100%;
  	gap: 10px;
}

.confirm_label {
    font-size: 0.85rem;
    color: #888;
    margin: 0;
}

.confirm_value {
    font-size: 1rem;
    font-weight: 600;
    word-break: break-word;
    overflow-wrap: anywhere;
    margin: 0;
	text-align: end;
}

#shortInfo {
	color: red;
	white-space: pre-line;
}

/* ==================== Footer ==================== */

footer {
	background: linear-gradient(180deg,var(--color-primary-light) 0%, #fff);
	padding-top: 2rem;
	font-size: 0.9rem;
	text-align: center;
	box-shadow: var(--box-shadow);
	border-top: 2px solid var(--color-logo);
	position: relative;
	margin-top: auto;
}

.footer__container {
	max-width: 1200px;
	display: flex;
	gap: 10rem;
	height: 5rem;
	justify-content: center;
}

.footer__container li {
	font-size: 0.7rem;
}

.footer__container>div h4 {
	font-variant: small-caps;
	margin-bottom: 1.2rem;
	color: var(--color-font);
}

footer p,
footer a {
	color: var(--color-font);
}

.footer__1 p {
	margin: 0 0 2rem;
}

footer ul li {
	color: var(--color-font);
}

footer ul li a:hover {
	text-decoration: underline;
}

.footer__copyright {
	text-align: center;
	margin-top: 2rem;
	padding: 0.5rem 0;
	border-top: 1px solid var(--color-logo);
	background-color: var(--color-logo);
}

.footer__copyright small,
.footer__copyright span {
	font-variant: small-caps;
	color: #fff;
}

/* ==================== MEDIA QUERIES (TABLETS) ==================== */
@media screen and (max-width: 1200px) {

	/* ==================== NAVBAR ==================== */
	.nav__container {
		padding: 0 20px;
	}

	nav button {
		display: inline-block;
		background: transparent;
		font-size: 1.8rem;
		color: var(--color-font);
		cursor: pointer;
	}

	nav button i {
		color: var(--color-font);
	}

	nav button#open-menu-btn {
		display: none !important;
	}

	nav button#close-menu-btn {
		display: none !important;
	}

	.nav__menu {
		position: fixed;
		bottom: 0;
		right: 0;
		height: fit-content;
		width: 100%;
		flex-direction: row;
		gap: 0;
		display: none;
	}

	.nav__menu.show {
		animation: slideIn 400ms ease forwards;
		/* Einblenden mit Gleiteffekt */
	}

	.nav__menu.hide {
		animation: slideOut 400ms ease forwards;
		/* Ausblenden mit Gleiteffekt */
	}

	.nav__menu li {
		width: 100%;
		height: 4.8rem;
		opacity: 1;
	}

	.nav__icon.active a,
	.nav__icon.active a i {
		text-shadow: var(--text-shadow-2);
	}

	.nav__menu li:nth-child(2) {
		animation-delay: 200ms;
	}

	.nav__menu li:nth-child(3) {
		animation-delay: 400ms;
	}

	.nav__menu li:nth-child(4) {
		animation-delay: 600ms;
	}

	
	@keyframes slideIn {
		0% {
			transform: translateY(100%);
			/* Start von unten */
			opacity: 0;
		}

		100% {
			transform: translateY(0);
			/* Endposition */
			opacity: 1;
		}
	}

	@keyframes slideOut {
		0% {
			transform: translateY(0);
			/* Start von aktueller Position */
			opacity: 1;
		}

		100% {
			transform: translateY(100%);
			/* Nach unten gleiten */
			opacity: 0;
		}
	}

	.nav__menu li a {
		background: var(--color-logo);
		color: var(--color-white);
		width: 100%;
		height: 100%;
		display: grid;
		place-items: center;
		text-shadow: var(--text-shadow-2);
		padding: 0px 10px;
	}


	.nav__icon a i {
		color: var(--color-white);
	}

	.nav__icon {
		width: 100%;
	}

	/*PRICES*/
	.nav_pricelist {
		top: 0;
		left: -100px;
		border-radius: 4px 0px 0px 4px;
	}

	/* Standard Navbar-Stil */
	#navbar {
		z-index: 1000;
	}

	/* Klassen, die Animationen auslösen */
	#navar.slide-in {
		animation: slideInNavBar 0.5s forwards;
	}

	#navbar.slide-out {
		animation: slideOutNavBar 0.5s forwards;
	}

	@keyframes slideOutNavBar {
		from { transform: translateY(0); }
		to { transform: translateY(-100%); }
	}

	/* Slide-In von oben */
	@keyframes slideInNavBar {
		from { transform: translateY(-100%); }
		to { transform: translateY(0); }
	}

	.nav__menu__mobile {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--color-logo);
        justify-content: space-around;
        border-top: 1px solid #ccc;
        box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
        z-index: 1000;
    }

	.nav__menu__mobile li a {
        background: var(--color-logo);
        color: var(--color-white);
        width: 100%;
        height: 100%;
        display: grid;
        place-items: center;
        text-shadow: var(--text-shadow-2);
        padding: 0px 10px;
    }

    .nav__menu__mobile li a {
        background: var(--color-logo);
        color: var(--color-white);
        font-size: 10px;
		font-variant: small-caps;
    }

	.nav__menu__mobile li {
        height: 3.4rem;
    }

	.language-dropdown {
		background: var(--color-logo);
		border-radius: 0;
	}

	.selected-language {
		height: 100%;
		background: var(--color-logo);
		padding: 3px 6px;
		border-radius: 0;
	}

	.language-options {
		height: fit-content;
		right: 0;
		top: 38px;
	}

	footer {
        padding-bottom: 55px;
    }

	
}

@media only screen and (max-width:950px) {
	h1 {
		font-size: 1.6rem;
	}

	h2 {
		font-size: 1.4rem;
	}

	h3 {
		font-size: 1.3rem;
	}

	h4 {
		font-size: 0.9rem;
	}

	h5 {
		font-size: 1.0rem;
	}

	p {
		font-size: 1.0rem;
	}
}

@media only screen and (max-width:900px) {
	/* For tablets: */

	.nav__icon {
		padding: 0px;
	}

	.nav__icon:not(.active):not(.language-nav) {
		border: none;
		border-radius: none;
	}

	.nav__icon.active {
		border-bottom: 2px solid var(--color-logo);
		padding: 0;
		border-radius: 0;
	}

	.header__title {
		top: 0;
	}

	.categories__right {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.7rem;
	}

	.footer__container {
		gap: 1.5rem;
	}

	.breadcrumbs-container, .order_content p{
		padding: 0 5px;
	}
}

@media screen and (max-width: 800px) {
	.container {
		width: var(--container-width-md);
	}

	/* ==================== HEADER ==================== */
	header {
		height: auto;
	}

	.header__container {
		gap: 0;
		padding-top: 15px;
		padding-bottom: 3rem;
		max-width: 1000px;
	}

	/* ==================== FOOTER ==================== */
	.footer__container {
		max-width: 480px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		height: auto;
	}

	/* ==================== COMFORT TRADE ============= */
	.form_holder {
		flex-direction: column;
		height: auto;
		gap: 5px;
	}

	.information_holder {
		border-radius: 4px 4px 0px 0px;
	}

	.information_holder h1 {
		margin: 15px;
	}

	#transfer_img_holder {
		width: 35%;
	}

	.continue-cell {
		line-height: 0.8rem;
	}

}

/* ==================== MEDIA QUERIES (PHONES) ==================== */
@media screen and (max-width: 600px) {
	.container {
		width: var(--container-width-sm);
	}

	.container,
	.form_input,
	.form_button {
		font-size: 0.9rem;
	}

	.info-badge {
		top: -23px;
        left: -9px;
        padding: 4px 4px;
        width: 30px;
        height: 30px;
        justify-content: center;
        align-items: center;
	}

	.info-badge span {
		display: none;
	}

	.breadcrumbs-container {
		padding: 10px 5px 0px !important;
		margin-top: 2px !important;
		top: auto !important;
	}

	/* ==================== NAVBAR ==================== */


	#logo_text::before {
		border-width: 0px 70px 30px 70px;
		left: calc(50% - 70px);
	}

	#logo_text::after {
		border-width: 30px 70px 0 70px;
		left: calc(50% - 70px);
	}

	.nav__icon, .nav__icon:not(.active):not(.language-nav) {
		width: 100%;
		border: none;
  		border-radius: 0;
		padding: 0;
	}

	.language-dropdown {
		width: 100%;
		height: 100%;
	}

	.language-options {
		top: auto; 
		bottom: 102%;
		border-radius: 0;
	}

	.selected-language {
		display: flex;
		flex-direction: column;
		justify-content: center;
		border-radius: 0;
		width: 100%;
		height: 100%;
		background: var(--color-logo);
		font-size: 10px;
	  }

	nav button#open-menu-btn {
		display: none;
	}

	.nav__icon.active {
		background:  var(--color-logo);
		border-radius: 0px;
	}
	
	.nav__icon.active a,
	.nav__icon.active a i {
		color: #fff;
	}

	#logo_img {
		width: 90px;
	}

	/* ==================== HEADER ==================== */
	header {
		height: auto;
		text-align: center;
		margin-top: 1rem;
	}

	.header_left p {
		margin-bottom: 1.3rem;
	}

	/* ==================== CATEGORIES ==================== */
	.categories {
		padding-top: 3rem;
		text-align: center;
	}

	.categories__right {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.7rem;
	}

	.category {
		padding: 1rem;
		border-radius: 1rem;
	}

	.category__icon {
		margin-top: 4px;
		display: inline-block;
	}

	/* ==================== FAQs ==================== */

	.faqs {
		padding-top: 3rem;
	}

	/* ==================== FOOTER ==================== */
	footer {
		text-align: center;
	}

	/* ==================== COMFORT TRADE ============= */
	.form_holder {
		padding: 10px;
	}

	.form__input,
	.form__button {
		width: 300px !important;
	}

	.information_holder,
	.form_data {
		max-width: 600px;
		width: 100%;
	}

	.confirm_data_container_holder {
		width: 100%;
		max-width: 600px;
	}

	.confirm_data_container {
		padding: 0px;
	}

	.confirm_data_details_container {
		padding: 20px 10px;
	}

	.confirm_data_details_container p, .confirm_data_details_container p span {
    	font-size: 0.9rem;
	}

	.information_holder h1+p {
		margin: 5px;
	}

	#transfer_img_holder {
		width: 25%;
	}

	/* ==================== CONFIRMATION CODE ==========*/
	.verification_data {
		min-width: 350px;
		width: 95%;
	}

	.verification_data p {
		font-size: 1rem;
	}

}

/* ==================== MEDIA QUERIES (PHONES) ==================== */
@media screen and (max-width: 480px) {

	.page-wrapper {
		margin-top: var(--navbar-height-mobile);
	}

	h1 {
		font-size: 20px !important;
	}

	h2 {
		font-size: 16px !important;
	}

	h3 {
		font-size: 14px !important;
	}

	h4 {
		font-size: 12px !important;
	}

	h5 {
		font-size: 10px;
	}

	th,
	td {
		padding: 2px;
	}

	p,
	.btn {
		font-size: 12px;
	}

	.nav__container {
		height: 57px;
	}

	#navbar {
		height: var(--navbar-height-mobile);
	}

	.nav__menu {
		bottom: 0;
		width: 100%;
		flex-direction: row;
	}

	.nav__menu li {
		height: 3.4rem;
	}

	.nav__menu a {
		letter-spacing: 0.05rem;
	}

	.nav__menu li a {
		background: var(--color-logo);
		color: var(--color-white);
		font-size: 10px;
	}

	.nav__icon a i {
		color: var(--color-white);
	}

	.breadcrumbs-container {
		padding: 2px 12px;
		margin: 2px 12px;
	}

	#breadcrumbs {
		font-size: 10px;
	}

	header {
   		padding: 60px 0 40px 0;
	}

	#nav_info_top {
		font-size: 12px;
	}

	#logo_slogan {
		font-size: 10px;
	}

	.red-circle {
		right: 12px !important;
		top: 8px !important;
		z-index: 2;
	  }

	.header__title {
		position: sticky;
		/*top: calc(var(--navbar-height-mobile) + 1px);*/
		top: 0;
		margin: 0 auto 2rem auto;
	}

	.footer__comp,
	.footer__links,
	.footer__privacy,
	.footer__contact,
	.footer__comp p,
	.footer__links p,
	.footer__privacy p,
	.footer__contact p,
	.footer__comp a,
	.footer__links a,
	.footer__privacy a,
	.footer__contact a {
		font-size: 0.7rem;
	}

	.footer__copyright {
		margin-top: 1rem;
	}

	/* ==================== ORDER ==================== */
	.tableholder {
		padding: 5px;
	}

	#transfers,
	#closed_transfers {
		font-size: 11px;
	}

	.uil-phone::before,
	.uil-envelope::before {
		font-size: 12px !important;
	}

	.uil-plus,
	.uil-minus {
		font-size: 20px;
	}

	.order_container {
        margin-top: 12px;
        margin-bottom: 5rem;
	}

	.transfertype-cell {
		text-wrap: wrap;
	}

	.transfertype-cell, .paymentprovider-cell {
		line-height: 1rem;
	}

	.platform-cell, .transfertype-cell, .paymentprovider-cell {
		font-size: 9px;
		padding: 3px 7px;
	}

	.uil.uil-check, .uil.uil-eye, .uil.uil-process, .uil.uil-clock{
		font-size: 10px !important;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
		margin: 0 auto;
	}

	.go-to-url, .pause-btn {
		padding: 4px 6px;
		font-size: 9px;
	}

	.comfort-trade-details {
		font-size: 9px;
    	word-wrap: break-word;
	}

	.progress-circle {
		max-width: 20px;
	}

	.percentage {
		font-size: 8px;
	  }

	/* ==================== COMFORT TRADE ============= */
	.cta_holder {
		padding: 15px 0;
		top: var(--navbar-height-mobile);
	}

	.form_holder {
		padding: 0;
	}

	/* ==================== ACCOUNT =================== */
	.account-content_container {
		margin-top: 12px;
	}
}


/* ==================== MEDIA QUERIES (PHONES) ==================== */
@media screen and (max-width: 300px) {
	.verification_data {
		min-width: 260px;
		width: 95%;
	}

	.form__input,
	.form__button {
		line-height: 0.8rem;
		width: 240px !important;
	}
}