/* ========================================
   SENFINA CSS
   ======================================== */

   /* Farbvariablen */
:root {
    --bg: #0a1530;
    --surface: rgba(255,255,255,0.06);
    --surface-2: rgba(255,255,255,0.04);
    --border: rgba(255,255,255,0.15);
    --text: #eaf1ff;
    --muted: #b9c5e4;
    --accent: #4cc0ff;
    --accent-2: #79e0ff;
    --primary-color: #63C4D7;
    --primary-dark: #4fa8ba;
    --primary-light: #8dd4e2;
    --text-color: #333333;
    --text-light: #b3b3b3;
    --background-light: #f9f9f9;
    --DarkBlue: #000731;
    --white: #ffffff;
    --shadow: rgba(0, 0, 0, 0.1);
    --danger: #B33434;
    --MarkerBlue: #011629;
    --BorderBlue: #263064;
    --Success: #77CC00;
    --Yellow: #FFF695;
    --YellowDark: #6B681B;
}

/* Reset & Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 22px;
    line-height: 1.2;
    color: var(--text-color);
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
    
    /* Vollflächiger Hintergrund ohne Wiederholung */
    
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
/* Startseite */
body.home {
  background-image: url('../images/Startscreen.jpg');
}

/* Kontaktseite */
body.std {
  background-image: url('../images/BackgroundMap.jpg');
}
/* Über uns */
body.clear {
  background-image: url('../images/BGClear.jpg');
}
/* Über uns */
body.about {
  background-image: url('../images/bg_about.jpg');
}
/* Optional: Overlay für bessere Lesbarkeit */

/* Typografie */
h1, h2, h3, h4, h5, h6 {
    font-family: "avenir-next-lt-pro", sans-serif;
    font-weight: 900;
    font-style: normal;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: var(--white);
}

h1 {
    font-size: 65px;
    font-weight: 900;
    margin-bottom: 2rem;
    line-height: 1.1;
    position: relative;
    display: inline-block;
}

/* Farbiges Wort in H1 */
h1 .highlight {
    color: var(--primary-color);
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

/* Unterstreichung mit Grafik */
h1 .highlight::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 110%;
    height: 20px;
    background-image: url('../images/Vektor.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
}

/* Farbiges Wort in H1 */
h1 .highlightWithout {
    color: var(--primary-color);
    position: relative;
    display: inline-block;
    padding-bottom: 15px;
}

h2 {
    font-size: 2.25rem;
    margin-top: 2rem;
}

h3 {
    font-size: 1.75rem;
}

p {
    margin-bottom: 1rem;
    color: var(--text-light);
}
/* Headline/Paragraph kompakter, damit Gap nicht riesig wirkt */
.InnerContentText h1{ margin:0 0 8px; }
.InnerContentText p { margin:0; }
.FontSize14
{
    font-size: 14px;
}
.FontColorPrimary
{
    color: var(--primary-color);
}
.PostingHeaderInfo
{
    font-size:13px;
    color: var(--primary-color);
    font-weight: 300;
    text-align: left;
}
.label-input
{
    color: var(--text-light);
    text-align: left;
}
input[type="text"], input[type="password"], select, input[type="date"]  {
            /* width: 100%; ← Nur außerhalb von Flexbox */
            padding: 12px;
            max-width: 100%; /* Wichtig: Input nimmt volle Container-Breite */
            border: 1px solid var(--DarkBlue);
            border-radius: 5px;
            font-size: 16px;
            cursor: text;
            background: white;
            transition: all 0.2s;
            box-sizing: border-box; /* Wichtig */
            font-family: inherit;
            height: 45px;
            padding-right: 1rem; /* mehr Platz zwischen Text und Pfeil */
        }
        input[type="text"]:focus {
            outline: none;
            border: 2px solid #0bb614 ;
            box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
        }
        select:not([class*="flex"]),
        input[type="text"]:not([class*="flex"]) {
            width: 100%;
padding-right: 4rem; /* mehr Platz zwischen Text und Pfeil */
        }
#de
{
    cursor:pointer;
    fill:#275275;
    fill-opacity:1;
    stroke:#000731;
    stroke-width:7.86454
}
#de:hover
{
    fill: var(--accent);
}
#cy
{
    cursor:pointer;
    fill:#275275;
    fill-opacity:1;
    stroke:#000731;
    stroke-width:7.86454
}
#cy:hover
{
    fill: var(--accent);
}
#ch
{
    cursor:pointer;
    fill:#275275;
    fill-opacity:1;
    stroke:#000731;
    stroke-width:1.0;
}
#ch:hover
{
    fill: var(--accent);
}
#hr
{
    cursor:pointer;
    fill:#275275;
    fill-opacity:1;
    stroke:#000731;
    stroke-width:1.0;
}
#hr:hover
{
    fill: var(--accent);
}
#pt
{
    cursor:pointer;
    fill:#275275;
    fill-opacity:1;
    stroke:#000731;
    stroke-width:1.0;
}
#pt:hover{    fill: var(--accent);}
#es{    cursor:pointer;    fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;}
#es:hover{    fill: var(--accent);}
#be{    cursor:pointer;    fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;}
#be:hover{    fill: var(--accent);}
#it{    cursor:pointer;    fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;}
#it:hover{    fill: var(--accent);}
#pl{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#pl:hover{    fill: var(--accent);}
#gr{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#gr:hover{    fill: var(--accent);}
#fi{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#fi:hover{    fill: var(--accent);}
#se{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#se:hover{    fill: var(--accent);}
#ie{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#ie:hover{    fill: var(--accent);}
#gb{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#gb:hover{    fill: var(--accent);}
#at{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#at:hover{    fill: var(--accent);}
#cz{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#cz:hover{    fill: var(--accent);}
#sk{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#sk:hover{    fill: var(--accent);}
#hu{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#hu:hover{    fill: var(--accent);}
#lt{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#lt:hover{    fill: var(--accent);}
#lv{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#lv:hover{    fill: var(--accent);}
#ro{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#ro:hover{    fill: var(--accent);}
#bg{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#bg:hover{    fill: var(--accent);}
#ee{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#ee:hover{    fill: var(--accent);}
#sm{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#sm:hover{    fill: var(--accent);}
#lu{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#lu:hover{    fill: var(--accent);}
#fr{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#fr:hover{    fill: var(--accent);}
#nl{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#nl:hover{    fill: var(--accent);}
#si{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#si:hover{    fill: var(--accent);}
#dk{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#dk:hover{    fill: var(--accent);}
#mt{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#mt:hover{    fill: var(--accent);}
#me{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#me:hover{    fill: var(--accent);}
#sr{    cursor:pointer;   fill:#275275;    fill-opacity:1;    stroke:#000731;    stroke-width:1.0;} 
#sr:hover{    fill: var(--accent);}

.drop-down-select-list 
{ 
	display: none;
	position: absolute;
	z-index: 1; 
	text-align: left;
	margin-top: 220px; 
    margin-left:-25px;
	padding: 10px; 
	background-color: var(--MarkerBlue);
    border: 1px solid var(--BorderBlue);
	height:300px;
	width:100%;
    max-width: 400px;
	overflow-y:scroll;
	overflow-x: hidden;
	box-shadow: 2px 10px 18px 1px rgba(16, 24, 40, 0.25);
	border-radius: 15px;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
} 
.InputBox
{
	box-sizing: border-box;
	/* Auto layout */
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 24px;
	height: 44px;

	/* Base/White */
	background: var(--MarkerBlue);
	/* Gray/300 */

	border: 1px solid var(--BorderBlue);
	/* Shadow/xs */

	box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
	border-radius: 15px;

	/* Inside auto layout */
    color: #ffffff;
    width: 100%;
    max-width: 400px;
}
.drop-down-select-list-li 
{ 
	margin-left:0px;
	display: inline-block; 
	min-height: 30px; 
	min-width: 280px; 
	width: 100%; 
	padding: 5px 15px 5px 35px; 
	padding-left:10px;
	background: var(--MarkerBlue);
	background-position: left 10px center; 
	background-repeat: no-repeat; 
	font-size: 16px; 
	text-align: left; 
	color: var(--background-light); 
	opacity: 0.7; 
	box-sizing: border-box; 
	cursor:pointer;
	overflow: hidden;
}
.drop-down-select-list-li:hover
{ 
	background-color: #f1f1f1; 
    color: var(--MarkerBlue);
}
.dropdown-search-box {
    display: flex;
    align-items: center;
    padding: 5px 10px;
    background: var(--MarkerBlue);
    border-bottom: 1px solid #ddd;
}
.dropdown-search-icon {
    font-size: 16px;
    margin-right: 8px;
    color: #888;
}
.dropdown-search-input {
    width: 100%;
    border: none;
    outline: none;
    padding: 6px 4px;
    background: transparent;
    font-size: 14px;
}
.drop-down .select-list li span:hover, .drop-down .select-list li span:focus { opacity: 1; }
/* Eck-Elemente */
.corner {
    position: fixed;
    z-index: 100;
    padding: 50px;
}

.corner-top-left {
    top: 0;
    left: 0;
}

.corner-top-right {
    top: 0;
    right: 0;
    text-align: right;
}

.corner-bottom-left {
    bottom: 0;
    left: 0;
    text-decoration: underline;
    font-size: 14px;
    color: var(--text-light);
}
.corner-bottom-left a
{
        color: var(--text-light);
}
.corner-bottom-right {
    bottom: 0;
    right: 0;
    text-align: right;
}

.corner-text {
    font-size: 14px;
    color: var(--text-light);
    margin: 0;
}
.corner-text-right {
    font-size: 14px;
    color: var(--text-light);
    text-decoration: underline;
    margin: 0;
}

.logo {
    max-width: 150px;
    height: auto;
    display: block;
}
.highlightInText {
    color: var(--primary-color);
    position: relative;
    display: inline-block;
}
.smallText
{
    font-size: 16px;
}
.lang-select {
  position: relative;
  display: inline-block;
  font-family: 'Work Sans', sans-serif;
  margin-top: -2px;
}

.lang-btn {
  background: none;
  border: none;
  font-size: 18px;
  color: var(--primary-color);
  cursor: pointer;
}

.lang-btn:focus {
  outline: none;
}

.lang-menu {
  font-family: 'Inter', sans-serif;
 position: absolute;
  top: 100%;
  left: -140px;
  margin: 5px 0 0;
  padding: 0;
  list-style: none;
  background: rgba(0, 31, 63, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  padding: 10px 10px;
  color: var(--background-light);
  display: none;
  min-width: 160px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  z-index: 100;
  text-align: left;
}

.lang-menu li {
  padding: 8px 12px;
  cursor: pointer;
}

.lang-menu li:hover {
  background: var(--muted);
}
        .error-message {
            display: none;
            position: relative;
            top: 100%;
            left: 0;
            right: 0;
            background: linear-gradient(135deg, #e74c3c, #c0392b);
            color: white;
            padding: 12px 15px;
            border-radius: 0 0 12px 12px;
            font-size: 14px;
            font-weight: 500;
            opacity: 0;
            transform: translateY(-10px);
            transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
            pointer-events: none;
            z-index: 10;
            box-shadow: 0 5px 15px rgba(231, 76, 60, 0.3);

        }

        .error-message::before {
            content: '';
            position: absolute;
            top: -6px;
            left: 20px;
            width: 0;
            height: 0;
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-bottom: 6px solid #e74c3c;
        }
.UnserName
{
    color: var(--background-light);
    font-size: 20px;
}
        .error-message.show {
            display: block;
            opacity: 1;
            transform: translateY(0);
            pointer-events: all;
            animation: shake 0.5s ease-in-out;
        }
		/* Schließen-Button */
		.error-message .close-btn {
		position: absolute;
		top: 4px;
		right: 6px;
		background: transparent;
		border: none;
		color: white;
		font-size: 20px;
		font-weight: bold;
		cursor: pointer;
		line-height: 1;
		}

		.error-message .close-btn:hover {
		color: #f1c0c0;
		}
        .error-icon {
            display: inline-block;
            margin-right: 8px;
            font-size: 16px;
        }

        .form-input.success {
            border-color: #27ae60;
            background: #f8fff8;
        }
        @keyframes shake {
            0%, 20%, 40%, 60%, 80%, 100% {
                transform: translateX(0);
            }
            10%, 30%, 50%, 70%, 90% {
                transform: translateX(-5px);
            }
        }
/* Hauptinhalt */
.content-area {
    position: relative;
    z-index: 10;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 20px;
}

.content-wrapper {
    width: 100%;
    max-width: 1400px;
    padding: 60px 80px;
    border-radius: 20px;
    box-shadow: 0 10px 40px var(--shadow);
    text-align: center;
    display:flex;
    flex-direction: column;
}
.content-wrapper-homepage {
    width: 100%;
    max-width: 950px;
    background: rgba(0, 7, 49, 0.7);
    padding: 60px 80px;
    border-radius: 20px;
    box-shadow: 0 10px 40px var(--shadow);
    text-align: center;
    display:flex;
    flex-direction: column;
}
/* Cards */
.card {
    background: var(--background-light);
    padding: 30px;
    border-radius: 12px;
    margin: 30px 0;
    border-left: 4px solid var(--primary-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px var(--shadow);
}

.card h3 {
    color: var(--primary-color);
    margin-bottom: 1rem;
}
.FlexColumn
{
    display: flex;
    flex-direction: column;
}
.FlexRow
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;  
}
.FlexColumn2C {
  flex: 1 1 48%;                /* beide ~50%, etwas Platz fürs gap */
  display: flex;
  flex-direction: column;
}
/* Der Zeilen-Container */
.FlexRowP {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;       /* wichtig: kein Umbruch */
  align-items: flex-start
}

/* Jede 2C-Spalte darf schrumpfen */
.FlexColumn2CP {
  flex: 1 1 0;             /* gleich verteilen, darf schrumpfen */
  min-width: 0;            /* verhindert erzwungenen Umbruch */
}

/* Inhalt in der linken Spalte nicht fest auf 400px einsperren */
.W400P { max-width: 400px; width: 100%; }  /* oder entferne W400 ganz */



/* Bei kleinen Viewports ruhig umbrechen (optional) */
@media (max-width: 900px){
  .FlexRowP { flex-wrap: wrap; }
  .FlexColumn2CP { flex: 1 1 100%; }
}
/* 📱 Auf kleinen Geräten untereinander */
@media (max-width: 768px) {
  .FlexColumn2C {
    flex: 1 1 100%;
  }
}
.JustifyContentSpaceBetween
{
    justify-content: space-between;
}
.JustifyContentFlexEnd
{
    justify-content: flex-end;
}

.Gap15
{
    gap: 15px;
}
.Gap20 
{
    gap: 20px;
}

#BottomNav {
  margin-top: 60px;            /* Abstand vom Formular */
  padding: 20px 0;

}
/* Buttons */
.button-group {
    display: flex;
    gap: 15px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.btn {
    padding: 12px 30px;
    border: none;
    border-radius: 8px;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
}

.btn-primary {
    background: var(--primary-color);
    color: var(--white);
}

.btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(99, 196, 215, 0.4);
}

.btn-secondary {
    background: var(--white);
    color: var(--text-light);
    border: 2px solid var(--text-light);
}

.btn-secondary:hover {
    background: var(--primary-color);
    color: var(--white);
    transform: translateY(-2px);
}

.btn-third {
    background: rgba(0, 31, 63, 0.1);
    color: var(--text-light);
    border: 1px solid var(--primary-color);
}

.btn-third:hover {
    background: var(--primary-color);
    color: var(--white);
    transform: translateY(-2px);
}
.btn-danger {
    background: var(--danger);
    color: var(--background-light);
    border: 1px solid var(--danger);
}

.btn-danger:hover {
    background: var(--bg);
    color: var(--white);
    transform: translateY(-2px);
    border: 1px solid var(--primary-light);
}
/* Links */
a {
    color: var(--primary-color);
    text-decoration: underline;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

        .accordion-item {
            border-bottom: 1px solid #ffffff;
        }

        .accordion-item:last-child {
            border-bottom: none;
        }

        .accordion-header {
            display: flex;
            align-items: center;
            padding: 20px 25px;
            cursor: pointer;
            transition: background-color 0.3s ease;
            color: #ffffff;
        }

        .accordion-header:hover {
            color: var(--primary-color);
        }

        .accordion-header.active {
            color: var(--primary-color);
        }

        .plus-icon {
            width: 24px;
            height: 24px;
            margin-right: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            font-weight: bold;
            transition: transform 0.3s ease;
            flex-shrink: 0;
        }

        .plus-icon.rotated {
            transform: rotate(45deg);
        }
.FAQHome
{
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 600px;
}
        .accordion-title {
            font-size: 16px;
            font-weight: 500;
            line-height: 1.4;
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            text-align: left;
        }

        .accordion-content-inner {
            padding: 20px 25px 20px 64px;
            color: #e8f4f8;
            font-size: 14px;
            line-height: 1.6;
        }

        .accordion-content.open {
            max-height: 500px;
        }

/* Responsive Design */
@media (max-width: 1024px) {
    .content-wrapper {
        max-width: 900px;
        padding: 50px 60px;
    }
    
    h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    body {
        background-attachment: scroll;
    }
    
    .content-wrapper {
        padding: 40px 30px;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.75rem;
    }
    
    .corner {
        padding: 15px;
    }
    
    .corner-text {
        font-size: 12px;
    }
    
    .logo {
        max-width: 100px;
    }
    
    .button-group {
        flex-direction: column;
    }
    
    .btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .content-area {
        padding: 80px 15px;
    }
    
    .content-wrapper {
        padding: 30px 20px;
        border-radius: 15px;
    }
    
    h1 {
        font-size: 1.75rem;
    }
    
    .card {
        padding: 20px;
    }
    
    /* Ecken auf mobil ausblenden oder anpassen */
    .corner-bottom-left,
    .corner-bottom-right {
        font-size: 11px;
        padding: 10px;
    }
}

/* Utility Classes */
.text-center {
    text-align: center;
}

.text-primary {
    color: var(--primary-color);
}

.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.p-1 { padding: 0.5rem; }
.p-2 { padding: 1rem; }
.p-3 { padding: 1.5rem; }
.p-4 { padding: 2rem; }
.CloudText
{
    width: 100%;
    max-width: 700px;
    color: var(--background-light);
    font-size: 14px;
    text-align: left;
}
.MargTop10
{
    margin-top: 10px;
}
.MargTop15
{
    margin-top: 15px;
}
.MargTop20
{
    margin-top: 20px;
}
.MargTop25
{
    margin-top: 25px;
}
.MargTop30
{
    margin-top: 30px;
}
.MargTop35
{
    margin-top: 35px;
}
.MargTop40
{
    margin-top: 40px;
}
.MargTop70
{
    margin-top: 70px;
}
.MargBottom20
{
    margin-bottom: 20px;
}
.Padding30
{
    padding: 30px;
}
.W200
{
    width:200px;
}
.W300
{
    width:300px;
}
.W400
{
    width:400px;
}
.W500
{
    width:500px;
}
.W600
{
    width:600px;
}
@media (max-width: 900px) {
    .W200
    {
        width:100%;
    }
    .W400
    {
        width:100%;
    }
    .W500
    {
        width:100%;
    }
    .W600
    {
        width:100%;
    }
}
.W250
{
    width:250px;
}
.WM250
{
    width: 100%;
    max-width:250px;
}
.WM300
{
    width: 100%;
    max-width:300px;
}
.WM400
{
    width: 100%;
    max-width:400px;
}
.WM500
{
    width: 100%;
    max-width:500px;
}
.WM520
{
    width: 100%;
    max-width:520px;
}
.WM600
{
    width: 100%;
    max-width:600px;
}
.W100P
{
    width: 100%;
}
.W100POR
{
    width: 500px;
}
@media (max-width: 900px) {
    .W100POR
    {
        width: 100%;
    }
}
.AlignItemsCenter
{
    align-items: center;
}
.JustifyContentCenter
{
    justify-content: center;
}
.AlignContentCenter
{
    align-content: center;
}
.AlignContentFlexStart
{
    align-content: flex-start
}
.AlignItemsStretch
{
    align-items: stretch;
}
/* Grundstruktur */
.alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  max-width: 1200px;
  margin: 16px auto;
  padding: 16px 20px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.4;
  animation: slideIn 0.35s ease-out;
  position: relative;
}
.alert ul
{
    list-style: none;
}
/* Erfolg */
.alert.success {
  background: rgba(46, 204, 113, 0.15);    /* halbtransparentes Grün */
  border-left: 6px solid rgba(46, 204, 113, 0.8);
  color: #1e824c;
  backdrop-filter: blur(12px);              /* Weichzeichnung */
  -webkit-backdrop-filter: blur(12px);      /* Safari */
}

/* Fehler */
.alert.error {
  background: rgba(231, 76, 60, 0.15);      /* halbtransparentes Rot */
  border-left: 6px solid rgba(231, 76, 60, 0.8);
  color: #a83226;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Icon */
.alert-icon {
  font-size: 22px;
  flex-shrink: 0;
  width:30px;
}

/* Textinhalt */
.alert-content {
  flex-grow: 1;
}

/* Schließen-Button */
.alert-close {
  background: transparent;
  border: none;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
  position: absolute;
  top: 10px;
  right: 14px;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.alert-close:hover {
  opacity: 1;
}

/* Einblende-Animation */
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsiveness */
@media (max-width: 480px) {
  .alert {
    font-size: 15px;
    padding: 14px 16px;
  }
  .alert-icon {
    font-size: 20px;
  }
}

/* Container mit Abstand und automatischem Umbruch */
.FlexColumnDash {
  display: flex;
  flex-direction: column;
  gap: 50px; /* vertikaler Abstand zwischen den Reihen */
}

.FlexRowDash {
  display: flex;
  justify-content: space-between;
  gap: 50px; /* horizontaler Abstand zwischen Spalten */
  flex-wrap: wrap; /* erlaubt Umbruch bei kleinen Displays */
}

/* Die einzelnen Button-Spalten */
.FlexColumn2CDash {
  flex: 1 1 45%; /* zwei Spalten nebeneinander */
  display: flex;
  justify-content: center;
}

/* Dashboard-Buttons */
.DashboardButtons {
  display: flex;
  flex-direction: row;         /* Symbol links, Text rechts */
  justify-content: left;     /* zentriert horizontal im Button */
  align-items: center;         /* zentriert vertikal im Button */
  gap: 40px;                   /* Abstand zwischen Symbol und Text */
  text-align: center;
  font-family: "avenir-next-lt-pro", sans-serif;
  background: rgba(0, 31, 63, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  padding: 40px 20px;
  flex-grow: 1;
  color: var(--background-light);
  font-weight: 900;
  font-size: 36px;             /* Textgröße */
  cursor: pointer;
  transition: all 0.25s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  max-width: 500px;
}
/* Symbol etwas größer */
.DashboardButtons div:first-child {
  font-size: 48px;
  line-height: 1; /* verhindert ungewollten Versatz */
}
/* Hover-Effekt */
.DashboardButtons:hover {
  background: rgba(0, 31, 63, 0.2);
  transform: translateY(-4px);
  border: 1px solid var(--primary-color);
  box-shadow: 0 8px 20px rgba(99, 196, 215, 0.4);
}

/* Symbol etwas größer und mit Abstand */
.DashboardButtons div:first-child {
  font-size: 40px;
  margin-bottom: 10px;
  top: 2px; /* optische Korrektur */
}

.icon-wrap
{
  display: flex;
  align-items: center;
  margin-top: 5px;
}
.text-wrap {
  display: flex;
  align-items: center;
}
/* 🔄 Responsive Anpassung */
@media (max-width: 900px) {
  .FlexRowDash {
    gap: 30px;
  }
  .FlexColumnDash {
    gap: 30px;
  }
  .FlexColumn2CDash {
    flex: 1 1 100%; /* untereinander auf kleineren Geräten */
  }
  .DashboardButtons {
    padding: 30px 20px;
    font-size: 16px;
  }
  .DashboardButtons div:first-child {
    font-size: 32px;
  }
}

@media (max-width: 500px) {
  .DashboardButtons {
    padding: 24px 16px;
    font-size: 15px;
  }
  .DashboardButtons div:first-child {
    font-size: 28px;
  }
}

/* Card - 100% Breite */
.team-card{
  width: 100%;
  color: var(--text);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.team-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  font: 600 12px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 1px solid var(--border);
  width: 100%;
}

/* Spaltenaufteilung - erweitert */
.team-header .col        { display:flex; align-items:center; }
.team-header .col-user   { flex: 0 0 60px; gap:12px; justify-content:center; }
.team-header .col-startdate{ flex: 1 1 120px; min-width:100px; }
.team-header .col-country{ flex: 1 1 160px; min-width:140px; }
.team-header .col-first  { flex: 1 1 140px; min-width:120px; }
.team-header .col-last   { flex: 1 1 140px; min-width:120px; }
.team-header .col-mail   { flex: 2 1 200px; min-width:180px; }
.team-header .col-status { flex: 1 1 160px; min-width:140px; }

/* Rows - 100% Breite */
.team-row{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px 18px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  transition: background .2s ease;
  cursor:pointer;
  width: 100%;
  font-weight: 400;
  font-size: 14px;
}
.team-row:hover{ background: rgba(255,255,255,0.10); }

/* Columns - gleiche Breiten wie Header */
.team-row .col        { display:flex; align-items:center; }
.team-row .col-user   { flex: 0 0 60px; gap:12px; justify-content:center; }
.team-row .col-startdate{ flex: 1 1 120px; min-width:100px; }
.team-row .col-country{ flex: 1 1 160px; min-width:140px; }
.team-row .col-first  { flex: 1 1 140px; min-width:120px; }
.team-row .col-last   { flex: 1 1 140px; min-width:120px; }
.team-row .col-mail   { flex: 2 1 200px; min-width:180px; }
.team-row .col-status { flex: 1 1 160px; min-width:140px; }

/* Cells */
.cell { display:flex; align-items:center; min-height:44px; }
.avatar{
  width:32px; height:32px; border-radius:50%;
  object-fit:cover; border:2px solid rgba(255,255,255,.25);
}
.name{ font-weight:600; }

/* Links */
.col-mail a{ color: var(--text); opacity:.9; text-decoration:none; }
.col-mail a:hover{ text-decoration:underline; }

/* Status Badge */
.StatusBadge {
  padding: 8px 12px;
  border-radius: 15px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.StatusBadge.Yellow {
  background: var(--Yellow);
  color: var(--YellowDark);
  border: 1px solid rgba(255, 193, 7, 0.4);
}
.StatusBadge.Grey {
  background: var(--muted);
  color: var(--MarkerBlue);
  border: 1px solid var(--MarkerBlue);
}
/* Responsive - Tablet */
@media (max-width: 1200px) {
  /* E-Mail-Spalte verkleinern */
  .team-header .col-mail,
  .team-row .col-mail { flex: 1 1 160px; min-width:140px; }
  
  /* Startdatum verstecken */
  .team-header .col-startdate,
  .team-row .col-startdate { display: none !important; }
}

/* Responsive - Mobile: nur Land, Name, Status */
@media (max-width: 900px) {
  /* Header verstecken */
  .team-header { display: none; }

  /* Nur diese Spalten zeigen: Land (col-user), Vorname, Nachname, Status */
  .team-row .col-startdate,
  .team-row .col-country,
  .team-row .col-mail { display: none !important; }

  /* Zeile kompakt gestalten */
  .team-row{
    flex-wrap: nowrap;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: var(--surface);
    margin: 8px 0;
  }

  /* Spalten nebeneinander */
  .col-user   { order: 1; flex: 0 0 50px; }
  .col-first  { order: 2; flex: 1 1 auto; min-width: 80px; }
  .col-last   { order: 3; flex: 1 1 auto; min-width: 80px; }
  .col-status { order: 4; flex: 0 0 auto; margin-left: auto; }

  /* Namen kompakt */
  .col-first, .col-last {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Avatar/Flagge etwas größer */
  .col-user img { width: 40px; height: 40px; border-radius: 50%; }
}

/* Sehr klein - nur noch essentials */
@media (max-width: 640px){
  .team-row{
    gap: 10px;
    padding: 10px 12px;
  }
  
  .col-user img { width: 36px; height: 36px; }
  
  /* Status Badge kompakter */
  .StatusBadge {
    padding: 4px 8px;
    font-size: 11px;
  }
  
  /* Namen noch kürzer */
  .col-first, .col-last { 
    max-width: 35%;
    font-size: 14px;
  }
}

/* Alternative für sehr kleine Screens: Namen untereinander */
@media (max-width: 480px){
  .team-row {
    flex-wrap: wrap;
    gap: 8px;
  }
  
  .col-user   { order: 1; flex: 0 0 36px; }
  .col-first  { order: 2; flex: 1 1 100%; }
  .col-last   { order: 3; flex: 1 1 100%; padding-left: 48px; }
  .col-status { order: 4; flex: 1 1 100%; padding-left: 48px; }
}

/* Buttons */
.role-btn {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  color: var(--text);
  border: 1px solid var(--border);
  font: 500 14px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  cursor: pointer;
  background-image: url("data:image/svg+xml;utf8,<svg fill='white' xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M4 6l4 4 4-4z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
}

/* Dropdown selbst */
.role-btn option {
  background: rgba(255,255,255,0.08);
  color: var(--bg);
}

/* Hover & Fokus */
.role-btn:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(76,192,255,0.25);
}
.chev{ opacity:.8; }

.perm-btn{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(76,192,255,0.6);
  background: linear-gradient(180deg, rgba(76,192,255,0.18), rgba(76,192,255,0.10));
  color:#dff5ff;
  font: 600 14px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .2s ease;
}
.perm-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(76,192,255,0.25);
}


.InnerContent
 {
    margin-top: 20px;
    padding: 15px;
    border-radius: 15px;
    border:1px solid var(--Grey);
    display: flex;
    flex-direction: column;
 }
.InnerContentText h1{ margin:0 0 8px; }
.InnerContentText p { margin:0; }
.InputLabel
{
    font-size: 1.0em;
    padding-top: 5px;
    padding-bottom: 5px;
    font-family: 'Inter', sans-serif;
    color: var(--background-light);
    text-align: left;
}
/* Row-Container */
.FlexRow.flex-container{
  display:flex;
  flex-wrap:wrap;
  gap:25px;
  align-items:flex-start;
}

/* Einleitung über volle Breite */
.FlexRow.flex-container > .W100P{
  flex:0 0 100%;
}

/* === MOBILE FIRST: < 600px genau 1 Spalte === */
.FlexRow.flex-container > .StableW{
  flex:1 0 100%;     /* volle Spaltenbreite */
  min-width:0;       /* darf schrumpfen */
  max-width:100%;
  width:100%;        /* Sicherheit, falls irgendwo width:auto gesetzt war */
}

/* Label oben, Control darunter */
.FlexRow.flex-container > .StableW.FlexColumn{
  display:flex;
  flex-direction:column;
}

/* Controls füllen IMMER die Spalte */
.FlexRow.flex-container > .StableW > input,
.FlexRow.flex-container > .StableW > select,
.FlexRow.flex-container > .StableW > textarea{
  width:100% !important; /* überstimmt evtl. width:auto */
  min-width:0;
  box-sizing:border-box;
  flex:0 0 auto;         /* neutralisiert evtl. flex:1-Regeln auf Inputs */
}

/* Ungültige Inline-Styles wie style="width:px" neutralisieren */
.FlexRow.flex-container > .StableW [style*="width:px"]{
  width:100% !important;
}

/* Headline/Paragraph kompakter, damit Gap nicht riesig wirkt */
.InnerContentText h1{ margin:0 0 8px; }
.InnerContentText p { margin:0; }
@media (max-width:500px) {
    .TextResponsive
    {
        text-align: center;
    }
}
/* === AB 600px: exakt 2 Spalten === */
@media (min-width:600px){
  .FlexRow.flex-container > .StableW{
    /* zwei Spalten + 25px Spaltengap */
    flex:0 0 calc((100% - 25px)/2);
    min-width:0;    /* wichtig: keine Minbreite blockiert das Layout */
    width:auto;
  }
}
/* === Tabelle Head Nav === */
        .tab-navigation {
            max-width: 950px;
            padding: 0;
            border-radius: 8px 8px 0 0;
            overflow: hidden;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        }

        .tab-list {
            display: flex;
            list-style: none;
            margin: 0;
            padding: 0;
            
        }

        .tab-item {
            flex: 1;
        }

        .tab-link {
            display: block;
            padding: 18px 24px;
            color: #a0a8b8;
            text-decoration: none;
            text-align: center;
            font-size: 15px;
            font-weight: 400;
            position: relative;
            transition: color 0.3s ease, border-bottom 0.3s ease;
            border-bottom: 2px solid #b9c5e4;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            white-space: nowrap
        }

        .tab-link::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background-color: #63C4D7;
            transform: scaleY(0);
            transform-origin: bottom;
            transition: transform 0.3s ease;
        }

        .tab-link:hover {
            color: #63C4D7;
            border-bottom: 4px solid #63C4D7;
        }

        .tab-link:hover::after {
            transform: scaleY(0);
        }

        .tab-link.active {
            color: #63C4D7;
            border-bottom: 4px solid #63C4D7;
        }

        .tab-link.active::after {
            transform: scaleY(0);
        }

    /* Responsive Design */
        @media (max-width: 768px) {
            .tab-list {
                flex-direction: column;
            }

            .tab-item {
                width: 100%;
            }

            .tab-link {
                text-align: left;
                padding: 16px 20px;
            }
        }

        @media (max-width: 480px) {
            .tab-link {
                font-size: 14px;
                padding: 14px 16px;
            }

            .tab-content {
                padding: 24px 20px;
            }
        }

/* === Modal Overlay === */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* Sichtbar machen */
.modal-overlay.active {
  opacity: 1;
  pointer-events: all;
}

/* === Modal Box === */
.modal {
  background: rgba(20, 28, 48, 0.85);
  color: #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 16px;
  padding: 30px 40px;
  max-width: 500px;
  width: 90%;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  animation: popIn 0.25s ease;
}

.modal h2 {
  margin-bottom: 12px;
  font-size: 20px;
}

.modal p {
  color: #d0d6e2;
  font-size: 15px;
  margin-bottom: 24px;
}

.modal-actions {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

/* === Animation === */
@keyframes popIn {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
          .photo-container {
            --size: 120px; /* Standardgröße */
            --border: calc(var(--size) * 0.01); /* 4 % der Gesamtgröße → passt sich automatisch an */
            --font: calc(var(--size) * 0.4);    /* 40 % der Größe = Initialen-Textgröße */
            width: var(--size);
            height: var(--size);
            border-radius: 50%;
            overflow: hidden;
            border: var(--border) solid white;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
            background: #e9ecef;
        }

        .photo-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .photo-container.sm  { --size: 30px; }
        .photo-container.md  { --size: 120px; }
        .photo-container.lg  { --size: 200px; }
            .initials-avatar {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: var(--font);     /* skaliert automatisch mit --size */
            font-weight: bold;
            color: #667eea;
            background: #e9ecef;
        }
/* ******************* UPLOAD ********************/
       /* 📌 Container */
        .upload-container {
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            margin-bottom: 20px;
        }
        .upload-containerIN {
            width: 100%;
            margin-bottom: 20px;
        }
         /* 📌 Hidden File Input */
        #desktopFileInput {
            display: none;
        }
        /* 📌 Mobile-Only Elemente (Standard versteckt) */
        .mobile-only {
            display: none;
        }

        /* 📌 Desktop-Only Elemente */
        .desktop-only {
            display: flex;
            flex-direction: column;
        }

        /* 📌 Drag & Drop Zone für Desktop */
        .drop-zone {
            min-height: 150px;
			width:100%;
            border: 1px solid var(--background-light);
            border-radius: 12px;
            background: var(--bg);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            text-align: center;
            padding: 40px 20px;
            position: relative;
        }

        .drop-zone:hover {
            border-color: #0056b3;
            background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
            transform: translateY(-2px);
        }

        .drop-zone.dragover {
            border-color: #28a745;
            background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
            transform: scale(1.02);
        }

        .drop-zone-icon {
            font-size: 48px;
            margin-bottom: 16px;
            color: #007bff;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .drop-zone-icon img{
        display:block;        /* keine Lücke unterhalb */
        max-width:300px;       /* niemals breiter als Container */
        height:auto;          /* Seitenverhältnis bewahren */
        object-fit:contain;   /* falls zusätzlich Höhe begrenzt wird */
        }
        .drop-zone h3 {
            margin: 0 0 12px 0;
            color: #333;
            font-size: 24px;
        }

        .drop-zone p {
            margin: 0;
           
            line-height: 1.4;
        }

        /* 📌 Hidden File Input */
        #desktopFileInput {
            display: none;
        }

        /* 📌 Upload Status */
        .upload-status {
            margin-top: 20px;
            padding: 15px;
            border-radius: 8px;
            display: none;
        }

        .upload-status.success {
            background: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
            display: block;
        }

        .upload-status.error {
            background: #f8d7da;
            border: 1px solid #f5c6cb;
            color: #721c24;
            display: block;
        }

        .upload-status.loading {
            background: #cce5ff;
            border: 1px solid #99d3ff;
            color: #004085;
            display: block;
        }

        /* 📌 Mobile Styles */
        @media (max-width: 768px) {
            .mobile-only {
                display: block;
            }
            
            .desktop-only {
                display: none;
            }

            .upload-container {
                padding: 15px;
            }
        }

        /* 📌 Mobile UI Elemente */
        .mobile-controls {
            text-align: center;
            margin-bottom: 20px;
        }

        .mobile-controls select,
        .mobile-controls button,
        .mobile-controls input[type="file"] {
            margin: 5px;
            padding: 12px 20px;
            border: 1px solid #ddd;
            border-radius: 8px;
            font-size: 16px;
        }

        .mobile-controls button.danger {
            background: #dc3545;
        }

        .mobile-controls button.danger:hover {
            background: #c82333;
        }

        .mobile-controls button.success {
            background: #28a745;
        }

        .mobile-controls button.success:hover {
            background: #218838;
        }

        /* 📌 Video für Mobile */
        #video {
            width: 100%;
            max-width: 400px;
            height: auto;
            border: 2px solid #ddd;
            border-radius: 8px;
            display: block;
            margin: 0 auto 15px auto;
        }

        /* 📌 Vorschau Container */
        .preview-container {
            min-height: 80px;
            border: 2px dashed #ddd;
            border-radius: 8px;
            padding: 15px;
            background: #fafafa;
            margin: 15px 0;
            text-align: center;
        }

        .preview-container:empty::before {
            content: "📱 Vorschau erscheint hier...";
            color: #999;
            font-style: italic;
        }

        /* 📌 Einzelne Dateivorschau */
        .file-preview {
            display: inline-block;
            position: relative;
            margin: 5px;
            transition: transform 0.2s;
        }

        .file-preview:hover {
            transform: scale(1.05);
        }

        .file-preview img,
        .file-preview .pdf-icon {
            width: 120px;
            height: 90px;
            object-fit: cover;
            border: 2px solid #ddd;
            border-radius: 4px;
        }

        .file-preview .pdf-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 30px;
            background: #f8f9fa;
        }

        .file-preview .delete-btn {
            position: absolute;
            top: -8px;
            right: -8px;
            background: #dc3545;
            color: white;
            border: none;
            border-radius: 50%;
            width: 24px;
            height: 24px;
            cursor: pointer;
            font-size: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .file-preview .file-label {
            position: absolute;
            bottom: 5px;
            left: 5px;
            background: rgba(0,0,0,0.7);
            color: white;
            padding: 2px 6px;
            font-size: 10px;
            border-radius: 3px;
        }

        /* 📌 Canvas (versteckt) */
        #canvas {
            display: none;
        }

        /* 📌 Progress Animation */
        .upload-progress {
            width: 100%;
            height: 4px;
            background: #e9ecef;
            border-radius: 2px;
            overflow: hidden;
            margin: 10px 0;
        }

        .upload-progress-bar {
            height: 100%;
            background: linear-gradient(90deg, #007bff, #0056b3);
            width: 0%;
            transition: width 0.3s ease;
            animation: shimmer 2s infinite;
        }

        @keyframes shimmer {
            0% { background-position: -200px 0; }
            100% { background-position: calc(200px + 100%) 0; }
        }
    /************************************* UPLOAD ENDE ********************************/
       .pricing-container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            align-items: stretch;
        }

        .pricing-card {
            background: rgba(30, 41, 66, 0.6);
            border: 1px solid rgba(99, 196, 215, 0.2);
            border-radius: 16px;
            padding: 40px 30px;
            position: relative;
            transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
        }

        .pricing-card:hover {
            transform: translateY(-5px);
            border-color: rgba(99, 196, 215, 0.5);
        }

        .pricing-card.featured {
            background: rgba(30, 41, 66, 0.9);
            border: 2px solid #63C4D7;
            box-shadow: 0 0 40px rgba(99, 196, 215, 0.3);
            transform: scale(1.05);
        }

        .pricing-card.featured:hover {
            transform: scale(1.05) translateY(-5px);
        }

        .card-header {
            margin-bottom: 24px;
        }

        .card-title {
            font-size: 28px;
            font-weight: 600;
            color: #ffffff;
            margin-bottom: 12px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .popular-badge {
            background: #4169E1;
            color: #ffffff;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            padding: 4px 10px;
            border-radius: 4px;
            letter-spacing: 0.5px;
        }

        .card-description {
            color: #b0b8c8;
            font-size: 14px;
            line-height: 1.6;
            min-height: 60px;
        }

        .price-section {
            margin: 30px 0;
            padding-bottom: 24px;
            border-bottom: 1px solid rgba(99, 196, 215, 0.2);
        }

        .price {
            display: flex;
            align-items: baseline;
            gap: 4px;
            margin-bottom: 8px;
        }

        .currency {
            font-size: 24px;
            color: #ffffff;
            font-weight: 600;
        }

        .amount {
            font-size: 56px;
            color: #ffffff;
            font-weight: 700;
            line-height: 1;
        }

        .period {
            font-size: 20px;
            color: #b0b8c8;
            font-weight: 500;
        }

        .price-note {
            color: #8892a6;
            font-size: 13px;
            line-height: 1.5;
        }

        .features-list {
            list-style: none;
            margin: 30px 0;
            min-height: 240px;
        }

        .feature-item {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            color: #d0d6e2;
            font-size: 14px;
            line-height: 1.5;
        }

        .feature-icon {
            width: 20px;
            height: 20px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            font-size: 12px;
            font-weight: bold;
        }

        .feature-icon.check {
            background: rgba(99, 196, 215, 0.2);
            color: #63C4D7;
        }

        .feature-icon.cross {
            background: rgba(220, 53, 69, 0.2);
            color: #dc3545;
        }

        .cta-button {
            width: 100%;
            padding: 16px 24px;
            background: transparent;
            border: 2px solid #63C4D7;
            border-radius: 8px;
            color: #ffffff;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .cta-button:hover {
            background: #63C4D7;
            color: #0a1628;
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(99, 196, 215, 0.3);
        }

        .pricing-card.featured .cta-button {
            background: #63C4D7;
            color: #0a1628;
        }

        .pricing-card.featured .cta-button:hover {
            background: #7dd4e5;
            box-shadow: 0 8px 30px rgba(99, 196, 215, 0.5);
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .pricing-container {
                grid-template-columns: 1fr;
            }

            .pricing-card.featured {
                transform: scale(1);
            }

            .pricing-card.featured:hover {
                transform: translateY(-5px);
            }

            .amount {
                font-size: 48px;
            }
        }
   .svg-mapP {
    width: 130%;           /* Volle Breite nutzen */
    max-width: 900px;      /* Maximale Breite erhöhen (vorher vermutlich 400px oder weniger) */
    height: auto;
    margin-top: -140px;     /* Nach oben verschieben (negativer Wert) */
    margin-bottom: 20px;
    margin-left: -50px;
}

/* Für größere Bildschirme noch größer */
@media (min-width: 768px) {
    .svg-mapP {
        max-width: 900px;   /* Auf größeren Screens noch breiter */
        margin-top: -80px;  /* Noch weiter nach oben */
    }
}

/* Für sehr große Bildschirme */
@media (min-width: 1200px) {
    .svg-mapP {
        max-width: 900px;
        margin-top: -100px;
    }
}
.FlexRowStayRow {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}
.FlexRowSwitch
{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: left;
}
@media (max-width: 500px) {
  .FlexRowSwitch {
    flex-direction: column; /* Stapelt die Blöcke vertikal */
  }
  .FlexRowSwitch > .W200 {
    order: -1;  /* Bild an den Anfang */
    margin-bottom: 1rem; /* Abstand darunter */
    width:100%;
  }
}
.CircleRed
{
    width: 5vw;           /* 5% der Viewport-Breite, passt sich an */
    height: 5vw;          /* gleiche Höhe für Kreis */
    max-width: 50px;
    max-height: 50px;
    font-size:20px;
    background: var(--Success);
    border-radius: 50px;
    color: #ffffff;
    text-align: center;
    padding: 5px;
    display: flex;
    justify-content: center; /* Horizontal zentrieren */
    align-items: center;     /* Vertikal zentrieren */
}
.CircleGrey
{
    width: 5vw;           /* 5% der Viewport-Breite, passt sich an */
    height: 5vw;          /* gleiche Höhe für Kreis */
    max-width: 50px;
    max-height: 50px;
    font-size:20px;
    color: var(--bg);
    background: var(--bg);
    border: 1px solid var(--background-light);
    border-radius: 50px;
    text-align: center;
    padding: 5px;
    display: flex;
    justify-content: center; /* Horizontal zentrieren */
    align-items: center;     /* Vertikal zentrieren */
}
@media (max-width: 500px) {
  .CircleRed,
  .CircleGrey {
    font-size: 0;        /* Schriftgröße auf 0, Text wird unsichtbar */
  }
}
.bar{
    width: 10vw;              /* Breite relativ zur Viewport-Breite */
    max-width: 100px;         /* Maximalgröße */
    min-width: 30px;          /* Mindesgröße */
    height: 1.2vw;            /* Höhe relativ skalieren */
    max-height: 1px;         /* Max-Höhe */
    min-height: 1px;          /* Min-Höhe */
  background: #eef1f5;   /* Track-Farbe (hellgrau) */
  border-radius: 999px;  /* runde Enden */
  overflow: hidden;
}
.bar__fill{
  width: var(--p, 0%);   /* Prozentwert hierher */
  height: 100%;
  background: var(--Success);   /* Rot der Füllung */
  border-radius: inherit;
  transition: width .4s ease; /* sanftes Füllen */
}
.bar__fill{ animation: fill .6s ease forwards; }
@keyframes fill{ from{width:0} to{width:var(--p,0%)} }

/* Row-Container */
.FlexRow.flex-container{
  display:flex;
  flex-wrap:wrap;
  gap:25px;
  align-items:flex-start;
}

/* Einleitung über volle Breite */
.FlexRow.flex-container > .W100P{
  flex:0 0 100%;
}

/* === MOBILE FIRST: < 600px genau 1 Spalte === */
.FlexRow.flex-container > .StableW{
  flex:1 0 100%;     /* volle Spaltenbreite */
  min-width:0;       /* darf schrumpfen */
  max-width:100%;
  width:100%;        /* Sicherheit, falls irgendwo width:auto gesetzt war */
}

/* Label oben, Control darunter */
.FlexRow.flex-container > .StableW.FlexColumn{
  display:flex;
  flex-direction:column;
}

/* Controls füllen IMMER die Spalte */
.FlexRow.flex-container > .StableW > input,
.FlexRow.flex-container > .StableW > select,
.FlexRow.flex-container > .StableW > textarea{
  width:100% !important; /* überstimmt evtl. width:auto */
  min-width:0;
  box-sizing:border-box;
  flex:0 0 auto;         /* neutralisiert evtl. flex:1-Regeln auf Inputs */
}

/* Ungültige Inline-Styles wie style="width:px" neutralisieren */
.FlexRow.flex-container > .StableW [style*="width:px"]{
  width:100% !important;
}

/* Headline/Paragraph kompakter, damit Gap nicht riesig wirkt */
.InnerContentText h1{ margin:0 0 8px; }
.InnerContentText p { margin:0; }
@media (max-width:500px) {
    .TextResponsive
    {
        text-align: center;
    }
}
/* === AB 600px: exakt 2 Spalten === */
@media (min-width:600px){
  .FlexRow.flex-container > .StableW{
    /* zwei Spalten + 25px Spaltengap */
    flex:0 0 calc((100% - 25px)/2);
    min-width:0;    /* wichtig: keine Minbreite blockiert das Layout */
    width:auto;
  }
}
       /* Fehler-Popup Overlay */
        .submit-overlayCO {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            backdrop-filter: blur(4px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            animation: fadeIn 0.3s ease;
        }

        .submit-overlayCO.show {
            display: flex;
        }
        /* Fehler-Popup Overlay */
        .error-overlayCO {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.3);
            backdrop-filter: blur(4px);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
            animation: fadeIn 0.3s ease;
        }

        .error-overlayCO.show {
            display: flex;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        /* Fehler-Popup */
        .error-popupCO {
            background: white;
            border-radius: 20px;
            width: 90%;
            max-width: 450px;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            animation: slideUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            overflow: hidden;
        }

        @keyframes slideUp {
            from {
                transform: translateY(100px) scale(0.9);
                opacity: 0;
            }
            to {
                transform: translateY(0) scale(1);
                opacity: 1;
            }
        }

        /* Fehler Header */
        .error-headerCO {
            background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);
            padding: 30px;
            text-align: center;
            position: relative;
        }
        .warning-headerCO {
            background: linear-gradient(135deg, #f7dd6d 0%, #d8c038 100%);
            padding: 30px;
            text-align: center;
            position: relative;
        }
        .error-iconCO {
            width: 80px;
            height: 80px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 15px;
            animation: shake 0.5s ease;
        }

        .error-iconCO i {
            font-size: 40px;
            color: #ff6b6b;
        }
        .warning-iconCO {
            width: 80px;
            height: 80px;
            background: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 15px;
            animation: shake 0.5s ease;
        }
        .warning-iconCO i {
            font-size: 40px;
            color: #d8c038;
        }
        .error-headerCO h3 {
            color: white;
            font-size: 24px;
            margin: 0;
        }

        /* Fehler Body */
        .error-bodyCO {
            padding: 30px;
        }

        .error-messageCO {
            color: #666;
            font-size: 16px;
            line-height: 1.6;
            margin-bottom: 20px;
            text-align: center;
        }

        .error-listCO {
            background: #fff5f5;
            border-left: 4px solid #ff6b6b;
            border-radius: 8px;
            padding: 20px;
            margin-bottom: 20px;
            max-height:250px;
            overflow-y: auto;
        }
        .warning-listCO {
            background: #fffced;
            border-left: 4px solid #ebc10a;
            border-radius: 8px;
            padding: 20px;
            margin-bottom: 20px;
            max-height:250px;
            overflow-y: auto;
            color:#000000;
        }
        .error-list-titleCO {
            font-weight: 600;
            color: #d32f2f;
            margin-bottom: 12px;
            font-size: 14px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .warning-list-titleCO {
            font-weight: 600;
            color: #000000;
            margin-bottom: 12px;
            font-size: 14px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .error-listCO ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .error-listCO li {
            padding: 6px 0;
            color: #666;
            font-size: 14px;
            display: flex;
            align-items: flex-start;
            gap: 4px;
        }

        .error-listCO li:before {
            content: "•";
            color: #ff6b6b;
            font-weight: bold;
            font-size: 20px;
            line-height: 1;
        }

        /* Fehler Footer */
        .error-footerCO {
            padding: 0 30px 30px;
            display: flex;
            gap: 10px;
        }
        .btn-warning{
            background: #d8c038;
            border: 1px solid #d8c038;
        }
/* Select2 Dropdown Anpassungen */
.select2-dropdown-large {
    background-color: var(--MarkerBlue) !important;

}

.select2-dropdown {
    background-color: var(--MarkerBlue) !important;
    border: 1px solid var(--BorderBlue) !important;
}

/* Dropdown-Höhe erhöhen */
.select2-results {
    max-height: 500px !important;  /* Höher machen */
    background-color: var(--MarkerBlue) !important;
}

/* Einzelne Einträge */
.select2-results__option {
    padding: 15px 12px !important;  /* Höher machen */
    background-color: var(--MarkerBlue) !important;
    color: #fff !important;
    font-size: 14px;
}

/* Hover-Effekt */
.select2-results__option--highlighted {
    background-color: var(--accent-2) !important;
    color: var(--bg) !important;
}

/* Suchfeld im Dropdown */
.select2-search--dropdown {
    background-color: var(--MarkerBlue) !important;
    padding: 10px !important;
    border-radius: 10px !important;  /* ← HIER */
}

.select2-search__field {
    background-color: var(--MarkerBlue) !important;
    border: 1px solid var(--BorderBlue) !important;
    color: #fff !important;
    padding: 10px !important;
    height: 40px !important;
    border-radius: 10px !important;  /* ← HIER */
}

/* Select-Feld selbst */
.select2-container--default .select2-selection--single {
    background-color: var(--MarkerBlue) !important;
    border: 1px solid var(--BorderBlue) !important;
    height: 55px !important;
    border-radius: 10px !important;  /* ← HIER */
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
    line-height: 45px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 55px !important;
}

/* Placeholder-Text */
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #aaa !important;
}

/* "Keine Ergebnisse" Text */
.select2-results__option.select2-results__message {
    color: #aaa !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
    line-height: 45px !important;
    padding-left: 25px !important;  /* Mehr Padding links */
    padding-right: 50px !important; /* Mehr Padding rechts */
    padding-top:5px;
}
/* Tablet */
@media (max-width: 1024px) {
    .select2-dropdown {
        max-width: calc(100vw - 40px) !important;
    }
    
    .select2-results {
        max-height: 400px !important;
    }
    
    .select2-results__option {
        padding: 14px 10px !important;
        font-size: 14px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .select2-container--default .select2-selection--single {
        height: 50px !important;  /* Höher für Touch */
    }
    
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 50px !important;
        font-size: 16px !important;  /* Größer für Lesbarkeit */
    }
    
    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 50px !important;
    }
    
    .select2-dropdown {
        max-width: calc(100vw - 20px) !important;
        left: 10px !important;
        right: 10px !important;
    }
    
    .select2-results {
        max-height: 60vh !important;  /* 60% der Bildschirmhöhe */
    }
    
    .select2-results__option {
        padding: 16px 12px !important;  /* Größer für Touch */
        font-size: 15px !important;
    }
    
    .select2-search__field {
        height: 45px !important;
        font-size: 16px !important;  /* Verhindert Zoom auf iOS */
        padding: 12px !important;
    }
    
    .select2-search--dropdown {
        padding: 12px !important;
    }
}

/* Sehr kleine Screens */
@media (max-width: 480px) {
    .select2-results {
        max-height: 50vh !important;
    }
    
    .select2-results__option {
        padding: 14px 10px !important;
        font-size: 14px !important;
    }
    
    /* Dropdown nimmt fast volle Breite */
    .select2-dropdown {
        left: 5px !important;
        right: 5px !important;
        max-width: calc(100vw - 10px) !important;
    }
}

/* Landscape Mobile */
@media (max-width: 900px) and (orientation: landscape) {
    .select2-results {
        max-height: 40vh !important;  /* Weniger Höhe im Landscape */
    }
}
/* Dropdown Container */
.postings-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 400px;
    max-height: 500px;
    background: var(--DarkBlue, rgba(0, 7, 49, 0.1));
    border: 1px solid var(--primary-color, #4CC0D7);
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    z-index: 9999;  /* ← Sehr hoher z-index */
    display: none;
    animation: dropdownSlideIn 0.2s ease;
    overflow: hidden;  /* ← Wichtig: hidden statt auto */
}
.posting-inner {
    overflow-y: scroll;
}
@keyframes dropdownSlideIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.postings-dropdown.active {
      display: flex;
    flex-direction: column;  /* ← Wichtig für flex layout */
}

/* Dropdown Header */
.dropdown-header {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border, #333);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;  /* ← Header nimmt keinen Scroll-Platz */
}

.dropdown-header h4 {
    margin: 0;
    color: var(--text, #fff);
    font-size: 16px;
    font-weight: 600;
}

.dropdown-close {
    background: none;
    border: none;
    color: var(--text, #fff);
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    transition: background 0.2s;
}

.dropdown-close:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Dropdown Body */
.dropdown-body {
    padding: 16px 20px;
    overflow-y: auto;  /* ← NUR hier Scroll */
    overflow-x: hidden;
    flex: 1;  /* Nimmt verfügbaren Platz */
    max-height: calc(500px - 60px);  /* Gesamthöhe minus Header-Höhe */
    text-align: left;
}

/* Posting Card im Dropdown */
.posting-card {
    background: var(--DarkBlue, rgba(0, 7, 49, 0.1));
    
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 12px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.posting-card:hover {
    transform: translateX(4px);
    box-shadow: 0 4px 16px rgba(76, 192, 215, 0.2);
}

.posting-card:last-child {
    margin-bottom: 0;
}

/* Country Flags im Card */
.posting-flags {
    display: flex;
    gap: 4px;
    margin-bottom: 10px;
}

.posting-flags img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

/* Company Info */
.posting-company {
    color: var(--text, #fff);
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
}

/* Date Range */
.posting-dates {
    color: var(--muted, #a0a8b8);
    font-size: 12px;
    margin-bottom: 10px;
}

/* Duplicate Button */
.posting-card .btn {
    width: 100%;
    padding: 8px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}

.posting-card .btn-primary {
    background: var(--primary-color, #4CC0D7);
    color: #fff;
    border: 1px solid var(--primary-color, #4CC0D7);
    width: 180px;
}

.posting-card .btn-primary:hover {
    background: var(--primary-color-hover, #3aa0b7);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(76, 192, 215, 0.3);
}

/* Container muss position: relative haben */
.col-countryd {
    position: relative;
    z-index: 1;  /* Basis z-index */
    flex: 1 1 180px !important;  /* ← HINZUFÜGEN */
    min-width: 160px !important;  /* ← HINZUFÜGEN */
    max-width: 200px !important;  /* ← HINZUFÜGEN */
}
.col-countryd.dropdown-open {
    z-index: 10000;  /* Noch höher als Dropdown */
}
.team-rowd {
    overflow: visible !important;
}
/* Team-card auch */
.team-cardd {
    overflow: visible !important;
}

/* Responsive - auf Mobile zentriert */
@media (max-width: 768px) {
    .postings-dropdown {
        position: fixed;
        top: 50%;
        left: 50%;
        right: auto;
        transform: translate(-50%, -50%);
        width: calc(100% - 32px);
        max-width: 400px;
    }
    
    .postings-dropdown.active {
        animation: modalSlideIn 0.3s ease;
    }
}
.SuccesInvitation{
    font-size: 18px;
    margin-left: 15px;
}
.TextCenter 
{
    text-align: center;
}