/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by idlab media Team
Author: idlab media GmbH
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

 
 
/* =Theme customization starts here
------------------------------------------------------- */
/* Übersteuerte Elementor classes*/
.elementor-countdown-item{
	padding-bottom: 0 !important;
}

.elementor-progress-percentage,
.entry-title{
	font-family: var(--e-global-typography-text-font-family), Sans-serif;	 
	color: var(--e-global-color-text);
}


/* CE eigene classes*/
/* === Container mit Linie === */
#betrag_input{
	font-size: var(--e-global-typography-text-line-height);
	font-weight: bold;
}
/* ensures the increment/decrement arrows always display */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button {
  opacity: 1;
}

.user-profile-info,
.ce-tab-content,
.zusammenfassung-liste,
.zusammenfassung-form{
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-size: var(--e-global-typography-text-font-size);
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);    
}
.ce-account-tabs-elementor{
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
    line-height: var(--e-global-typography-text-line-height);    
}

.steps-bar {
	display: flex;
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	justify-content: space-between;
	align-items: center;
	margin: 30px 0 40px;
	position: relative;
}

.ce-user-login-options,
.ce-user-profile-info{
	display: inline-block; 
	float: left;
}
/* === Hintergrundlinie hinter den Steps === */
.steps-bar::before {
	content: '';
	position: absolute;
	top: 18px; /* exakt Mitte des Kreises */
	left: 0;
	right: 0;
	height: 2px;
	background: #e0e0e0;
	z-index: 0;
}

/* === Ein einzelner Schritt === */
.step {
	flex: 1;
	text-align: center;
	font-size: 14px;
	position: relative;
	z-index: 1;
}

/* === Kreis mit Nummer === */
.circle {
	display: inline-block;
	width: 36px;
	height: 36px;
	line-height: 36px;
	border-radius: 50%;
	background-color: #ccc;
	color: #fff;
	font-weight: bold;
}

/* === Aktiver Schritt (orange) === */
.step.active .circle {
	background-color: #f7941d;
}

/* === Beschriftung unterhalb des Kreises */
.step div {
	margin-top: 8px;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* === Aktive Beschriftung (orange) */
.step.active div {
	color: #f7941d;
}

/* === Linie in Mobile ausblenden === */
@media (max-width: 768px) {
	.steps-bar::before {
		display: none;
	}
}

.betrag-buttons {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
	border-radius: none !important;
}
.betrag-btn, 
input.button,
.button-link.orange, 
.user-registration-Button{
	border: none !important;
	background: var(--e-global-color-primary) !important;
	cursor: pointer;	
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-65e8e6a-font-size) !important;
    font-weight: var(--e-global-typography-65e8e6a-font-weight) !important;
    line-height: var(--e-global-typography-65e8e6a-line-height) !important;
    fill: var(--e-global-color-text) !important;
    color: var(--e-global-color-text) !important;
    border-radius: 0px 0px 0px 0px !important;
    padding: 25px 25px 25px 25px !important;
	
	
}
.betrag-btn:hover, 
input.button:hover, 
.button-link.orange:hover, 
.user-registration-Button:hover{
	background: var(--e-global-color-text) !important;
	color: var(--e-global-color-primary) !important;
}

.button-link.orange{display: inline-block;}
.ce_warning_msg{
	background:#fff3cd;
	color:#856404;
	padding:15px;
	border:1px solid #ffeeba;
	margin:20px auto;
	max-width:700px;
	text-align:center;
	border-radius:0px;
	font-family: var(--e-global-typography-text-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-65e8e6a-font-size) !important;
}
.ce_invest-form{
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
}
.ce_invest-form input,
.ce_invest-form select {
	display: block;
	width: 100%;
	padding: 8px;
	margin-bottom: 15px;
	border-radius: 0 !important;
}
.ce_invest-form label {
	font-weight: bold;
	margin-bottom: 5px;
	display: block;
}

.ce_repayment-table table{
	border-collapse: collapse; width: 70%;font-family: Outfit, sans-serif;
}
.ce_repayment-table thead tr{
	background-color:var(--e-global-color-primary); 
	border-top: 2px solid var(--e-global-color-primary); 
	border-bottom: 2px solid var(--e-global-color-primary);
	/*width pro spalte in Coding hartkodiert*/
}
.ce_repayment-table thead tr th {
	text-align:center; border-left:none; border-right:none;
}
.ce_repayment-table tbody tr{
	border-bottom: 1px solid var(--e-global-color-primary);
}
.ce_repayment-table tbody tr td{
	text-align:center; 
	border-left:none; 
	border-right:none;
	/*width pro spalte in Coding hartkodiert*/
}
.ce_repayment-table tbody tr:last-child{
	background-color: var(--e-global-color-primary); font-weight: bold; border-top: 2px solid #F9AE62;
}
.ce_repayment-table tbody tr:last-child td:first-child{
	text-align:right; border-left:none; border-right:none;
}
.ce_repayment-table tbody tr:last-child td{
	text-align:center; border-left:none; border-right:none;
}

.ce_docs_table_h3{margin-bottom: 20px; font-weight: bold;}
.ce_docs_table{border-collapse: collapse; width: 100%;font-family: Outfit, sans-serif;}
.ce_docs_table thead tr{background-color:var(--e-global-color-primary); border-top: 2px solid var(--e-global-color-primary); border-bottom: 2px solid var(--e-global-color-primary);}
.ce_docs_table thead tr th{text-align:left; border-left:none; border-right:none;}

.ce_docs_table tbody tr{border-bottom: 1px solid var(--e-global-color-primary);}
.ce_docs_table tbody tr td{text-align:left; border-left:none; border-right:none;}

.ce_errormsg {color:red;}
.ce_successmsg {color:green;}
.ce_debugmsg {color:blue;}
.ce_infomsg {color: var(--e-global-color-primary);}

.projekt-overview-greeting{
	margin-bottom: 20px;
}
.projekt-overview-greeting h3{margin: 0; font-size: 20px;}
.projekt-overview-greeting p{margin-top: 5px;}

.projekt-overview-wrapper{}
.projekt-overview-wrapper p{margin-top: 5px}

.projekt-image{flex: 0 0 250px;}
.projekt-image img{width: 100%; height: 100%; object-fit: cover;}

.projekt-details{padding: 20px; flex: 1;}
.projekt-details h3{margin-top: 0; }
.projekt-details h3 a{color: var(--e-global-color-primary);}
.projekt-details h3 a:hover{color: var(--e-global-color-primary);}

.projekt-card{border: 1px solid #ddd; margin-bottom: 30px; padding: 0;}
.projekt-box1{width: 100%; max-height: 250px; overflow: hidden;}
.projekt-box1 img{width: 100%; height: auto;}
.projekt-box1 div{width:100%;height:250px;background:#eee;} /*Platzhalter wenn kein img da*/

.projekt-box2{padding: 20px;}
.projekt-box2 h2{margin-top: 0; color: #f7941d;}
.elementor-button-wrapper{margin-top: 15px;}

.ce_invest_overview{
	margin-bottom: 20px; font-weight: bold;
}

.verifizierung-card{
	border:1px solid #ccc; border-radius:8px; padding:20px; max-width:600px; background:#fdfdfd; box-shadow:0 0 10px rgba(0,0,0,0.05);
}
.zusammenfassung-liste {
	list-style: none;
	padding: 0;
	margin-bottom: 25px;
}
.zusammenfassung-liste li {
	padding: 5px 0;
	border-bottom: 1px solid #eee;
}
.zusammenfassung-form label {
	display: block;
	margin-bottom: 12px;
	font-size: 14px;
}
.zusammenfassung-form a {
	text-decoration: underline;
	color: #ffa95a;
}

.info-container {
      position: relative;
      display: inline-block;
      margin-left: 8px;
    }

button.info-icon{
	font-family: var(--e-global-typography-6b37932-font-family);
	padding: 10px 20px;	
	border-radius: none !important;
	border: none !important;
	background: var(--e-global-color-4a73c49) !important;
	color: var(--e-global-color-text) !important;
	font-weight: var(--e-global-typography-741d22b-font-weight);
	cursor: pointer;
}

/* CSS Tooltip (nur sichtbar wenn JS nicht aktiv ist) */
.tooltip-fallback .tooltiptext {
	visibility: hidden;
	min-width: 400px;
	max-height: 150px;
	overflow-y: auto;
	background-color: #333;
	color: #fff;
	text-align: left;
	padding: 8px;
	border-radius: 4px;
	position: absolute;
	z-index: 1;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity 0.3s;
}

.tooltip-fallback:hover .tooltiptext {
	visibility: visible;
	opacity: 1;
}

/* JavaScript Tooltipbox (initial unsichtbar) */
.js-tooltipbox {
	display: none;
	position: absolute;
	top: 120%;
	left: 0;
	min-width: 400px;
	max-height: 150px;
	overflow-y: auto;
	background-color: #eef;
	border: 1px solid #88c;
	padding: 8px;
	border-radius: 4px;
	z-index: 100;
}

/* Optional für bessere Optik */
.checkbox-label {
	display: flex;
	align-items: center;
	gap: 6px;
}
/*CSS Konto Dashboard - Meine Daten*/
/*Style account.php*/
.ce-account-tabs-elementor .ce-elementor-tab-button {
	background-color: #fff !important;
	color: #000 !important;
	border: 2px solid #000;
	display: block;
	padding: 12px 20px;
	text-align: center;
	text-decoration: none;
	/*border-radius: 3px;*/
	transition: all 0.3s ease;
	width: 100%;
	box-sizing: border-box;
	font-weight: 500;
}

/* Hover - nur wenn nicht aktiv ist */
.ce-account-tabs-elementor .ce-elementor-tab-button:not(.active):hover {
	background-color: #000 !important;
	color: #fff !important;
}

/* Tab aktiv*/
.ce-account-tabs-elementor .ce-elementor-tab-button.active {
	background-color: #000 !important;
	color: #fff !important;
}

.ce-account-page{
	display: flex; 
	justify-content: center; 
	gap: 30px; 
	align-items: flex-start; 
	flex-wrap: wrap;
}

/* Haupt container */
.ce-userdata-box {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* Sections */
.ce-userdata-section {
	background: #fff;
	border: 1px solid #ccc;
	padding: 25px;
}

.ce-userdata-section h3 {
	margin-top: 0;
	font-size: 20px;
	color: #f7941d;
	text-transform: uppercase;
	border-bottom: 2px solid #f7941d;
	padding-bottom: 5px;
	margin-bottom: 20px;
}

/* Formuläre */
.ce-userdata-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.ce-userdata-form p {
	margin: 0;
}

.ce-userdata-form label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	color: #333;
}

.ce-userdata-form input[type="text"],
.ce-userdata-form input[type="email"],
.ce-userdata-form input[type="date"] {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	background-color: #f4f4f4;
}

/* Editable fields */
.ce-userdata-form input:not([readonly]):not([disabled]) {
	background-color: #fff;
}

/* Full width rows */
.ce-userdata-form .full-width {
	grid-column: span 2;
}
/* Style [ce_dashboard_overview]*/
.projekt-horizontal {
    flex-direction: column;
    max-width: 100%;
}

@media (min-width: 768px) {
    .projekt-horizontal {
        flex-direction: row;
    }
    .projekt-image {
        max-width: 250px;
    }
}
.projekt-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* Style [ce_dashboard_projects]*/
.projekt-box3 table,
.projekt-box3 table th,
.projekt-box3 table td {
	box-sizing: border-box;
	padding: 2px;
}

/* Mobile: stapeln oder Schriftgröße anpassen */
@media (max-width: 480px) {
	.steps-bar {
		flex-direction: column;
		align-items: center;
	}

	.step {
		margin-bottom: 15px;
	}

	.step div {
		font-size: 13px;
		white-space: normal;
	}
}


/* User Registration Style Updates */
.user-registration.ur-frontend-form,
body.user-registration-page #user-registration:not(.user-registration-MyAccount) .ur-frontend-form.login, body.user-registration-page .user-registration:not(.user-registration-MyAccount) .ur-frontend-form.login, body.user-registration-membership_page_user-registration-login-forms #user-registration:not(.user-registration-MyAccount) .ur-frontend-form.login, body.user-registration-membership_page_user-registration-login-forms .user-registration:not(.user-registration-MyAccount) .ur-frontend-form.login
{box-shadow: none!important;}