
/*******************************************************************/
/* 6. Seiteninhalte */
/*******************************************************************/
/* Content-Seiten */
.Content-Title {
	width: 100%;
	padding: 5px;
	color: #F0EAD6;
	text-align: center;
}
	.caption-text { margin-top: 5px; font-style: italic; font-size: 1.85rem; color: #F0EAD6; text-align: left; min-height: 1.2em; transition: opacity 0.2s ease; }
	.caption-text a { text-decoration: none; color: var(--color-accent); }
	

		.column {
		  flex: 1; /* Beide Spalten teilen sich den Platz 50/50 */
		  min-width: 300px; /* Ab wann die Spalte umbrechen soll */
		  padding: 20px;
		  box-sizing: border-box;
		  color: #F0EAD6;
		}
		
		.column p {
			padding: 5px;
		}

		/* Bild-Styling mit Fokuspunkt */
		.image-wrapper img {
		  width: 100%;
		  height: 500px; /* Feste Höhe für den Effekt */
		  object-fit: cover; /* Bild füllt den Bereich */
		  object-position: 50% 50%; /* Dein gewünschter Fokuspunkt in Prozent */
		  border-radius: 8px;
		}
		
.image-col {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Abstand zwischen Hauptbild und Grid */
}
.main-content-page {
padding: 20px;
}
		.main-container {
		  display: flex;
		  flex-wrap: wrap; /* Erlaubt das Umbrechen auf neue Zeilen */
		  align-items: flex-start; /* Zentriert Inhalte vertikal */
		  max-width: 100%;
		  margin: 0 auto;
		  padding: 20px;
		}
/* Standard-Zustand für Links in den Text-Boxen */
.content-text a {
    color: var(--color-accent);
    text-decoration: none; /* Optional: Unterstreichung für bessere Erkennbarkeit */
    transition: color 0.2s ease-in-out;
}

/* Hover-Zustand */
.content-text a:hover {
    color: var(--color-accent-hover);
    text-decoration: none; /* Optional: Unterstreichung beim Hover entfernen */
}

/* Verhindert, dass der Editor-Modus das Design überschreibt */
.content-text[contenteditable="true"] a {
    cursor: pointer;
}	
.kuden-highlight {
    font-family: serif; 
    font-style: italic;
	font-size: 18px;
	font-weight: bold;
    color: #F0EAD6;
    border-left: 3px solid #F0EAD6;
    padding-left: 15px;
    margin: 20px 0;
}
/* Styles aus dem Gästebuch */
    .experience-page { width: 100%; background: var(--color-bg); color: #F0EAD6; padding: 30px; border: 1px solid #333; border-radius: 8px; max-width: var(--container-width); min-width: 500px; margin: 20px auto;}
    .experience-page2 { background: var(--color-bg); color: #F0EAD6; padding: 30px; border: 1px solid #333; border-radius: 8px; max-width: var(--w800); min-width: 500px; margin: 20px auto;}
    .experience-header { width: 100%; border-bottom: 2px solid #8A9A5B; padding-bottom: 15px; margin-bottom: 30px; display: flex; justify-content: space-between; align-items: center;}
    .experience-header h1 { color: #8A9A5B; font-size: 1.4rem; margin: 0; flex: 1; }
    #form-container { display: none; background: var(--color-bg); padding: 20px; border: 1px solid #8A9A5B; margin-bottom: 30px; border-radius: 5px; }
    .form-group { margin-bottom: 15px; }
	.form-user-avatar { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; border: 2px solid #8A9A5B; flex-shrink: 0; }
    .form-footer { display: flex; justify-content: flex-end; align-items: center; gap: 15px; margin-top: 20px; }
    .error-msg {width: var(--wmax); margin-bottom: 25px; color: var(--color-warn);}
    .form-group label { display: block; margin-bottom: 5px; color: #8A9A5B; }
    .form-group input { width: 100%; padding: 10px; background: #222; border: 1px solid #444; color: #fff; box-sizing: border-box; display: block;}
    .form-group textarea { width: 100%; padding: 10px; background: #222; border: 1px solid #444; color: #fff; box-sizing: border-box; resize: vertical; min-height: 100px; max-height: 400px; }	
    #editor-toolbar { display: none; position: absolute; z-index: 99999; background: #fff; border: 2px solid #8A9A5B; padding: 8px; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.2); gap: 8px; }
    #editor-toolbar button { padding: 8px 12px; cursor: pointer; }
    .form-group input[type="file"]::file-selector-button {
	    background-color: var(--color-bg);
	    color: var(--color-accent);
	    border: 1px solid var(--color-accent);
	    padding: 8px 16px;
	    border-radius: 4px;
	    cursor: pointer;
	    margin-right: 25px;
	    transition: background 0.3s ease, transform 0.2s ease;
	    text-transform: uppercase;
	}
	.form-group input[type="file"]::file-selector-button:hover {
	    border: 1px solid var(--color-accent-hover);
	    transform: scale(1.1);
	}
	.form-hint { display: block; margin-top: 5px; font-size: 0.75rem; color: var(--color-accent);
	}
	.edit-image-preview img {border: 1px solid var(--color-accent); border-radius: 4px; width: 50px; height: auto; }
    .user-info-row { display: flex; align-items: center; gap: 15px; }
	.name-input-wrapper { flex-grow: 1; }
	.edit-image-preview { display: flex; align-items: center; gap: 15px; background: #222; padding: 10px; border-radius: 4px; margin-top: 10px; }
    .edit-image-preview img { height: 60px; border-radius: 3px; border: 1px solid #444; }
     
    .review-card { background: var(--bg-3d); border: 1px solid var(--color-accent); padding: 20px; margin-bottom: 25px; border-radius: 5px; }
    .review-meta { display: flex; align-content: flex-start; align-items: flex-start; margin-bottom: 15px; font-size: 1.0rem; color: var(--color-text-highlight); gap: 15px;}
    .review-content-wrapper { display: flex; flex-wrap: wrap; gap: 20px;}
    .review-body { flex: 1; min-width: 250px; }
    .review-title { font-weight: bold; display: block; margin-bottom: 5px; color: var(--color-accent); font-size: 1.1rem; }
    .review-text { border-top: 1px solid var(--color-accent); padding-top: 10px; line-height: 1.5; }
    .review-image-container img { max-width: 200px; border-radius: 4px; border: 1px solid #333; }
    .review-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 15px; border-top: 1px solid #222; padding-top: 10px; }
    .review-user-info { display: flex; align-items: center; gap: 12px; }
    .review-user-pic { width: 60px; height: 60px; border-radius: 50%; border: 2px solid #8A9A5B; object-fit: cover; background-color: #333; margin-right: 5px;}
    .review-date {margin-left: 5px; color: var(--color-text-muted); font-size: 0.85rem;}

/* Anpassungen für Reviews-Seite */
	.stars-avg { color: var(--color-stars); font-size: 1.2rem; display: flex; align-items: center; gap: 8px; }
	.review-stars { color: var(--color-stars); margin-bottom: 10px; margin-left: auto; }
    /* Admin Styles */
    .admin-reply { margin-top: 15px; padding: 15px; background: var(--bg-3d); border-left: 3px solid #8A9A5B; border-radius: 0 4px 4px 0; }
    .admin-reply-label { color: var(--color-accent); font-weight: bold; font-size: 0.8rem; text-transform: uppercase; display: flex; justify-content: space-between; cursor: pointer; margin-bottom: 5px; }
    .review-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 15px; border-top: 1px solid #222; padding-top: 10px; }
    .reply-form-container { display: none; margin-top: 15px; background: #1a1a1a; padding: 15px; border: 1px solid #444; border-radius: 4px; }
    .reply-form-container textarea { width: 100%; background: #222; border: 1px solid #555; color: var(--color-text); padding: 10px; box-sizing: border-box; margin-bottom: 10px; font-size: 1.0em;}
    .reply-text { display: none; line-height: 1.5; color: #ccc; }
    .reply-toggle { display: none;}
    .reply-toggle:checked ~ .reply-text { display: block; }
	.reply-toggle:checked ~ .admin-reply-label .label-right::after { content: " (X)"; color: #D2691E; }
/* Partner-spezifisches Layout */
.partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
    background: var(--bg-3d);
}

.partner-item {
    background: var(--bg-3d);
    border: 1px solid var(--color-border2);
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.partner-item:hover {
    border-color: #8A9A5B;
    background: var(--bg-3d2);
    transform: translateY(-3px);
}

.partner-item img {
    max-width: 120px;
    height: 80px;
    object-fit: contain;
    filter: grayscale(40%) contrast(1.1);
    transition: filter 0.3s ease;
    margin-bottom: 15px;
}

.partner-item:hover img {
    filter: grayscale(0%) contrast(1.2);
}

.partner-item span {
    color: #F0EAD6;
    font-size: 0.85rem;
    display: block;
    line-height: 1.3;
}

.partner-item a {
    text-decoration: none;
    color: inherit;
    display: block;
    width: 100%;
}
/* Styling für die Checkbox */
.checkbox-line {
    display: flex !important;
    flex-direction: row !important; /* Erzwingt die Reihe */
    flex-wrap: nowrap;              /* Verhindert das Umbrechen */
    align-items: flex-start;        /* Richtet Box oben am Text aus */
    gap: 12px;
    margin: 10px 0 20px 0;
    width: 100%;
    box-sizing: border-box;
}

/* Die Checkbox selbst */
.checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    
    background-color: #111;
    border: 2px solid #8A9A5B;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;           /* Ganz wichtig: Verhindert das Zusammenquetschen */
    margin: 0 !important;     /* Entfernt alle Abstände vom allgemeinen Input-Style */
    position: relative;
    display: inline-block;
}

.checkbox:checked {
    background-color: #d1c9b0;
    border-color: #8A9A5B;
}

.checkbox:checked::after {
    content: '✔';
    position: absolute;
    color: #000;               
    font-size: 14px;
    left: 3px;
    top: -1px;
}

/* Der Text daneben */
.checkbox-line label {
    margin-bottom: 0;
    color: #6d7b46;
    font-weight: normal;
    font-size: 0.85em;
    line-height: 1.4;
    cursor: pointer;
    flex: 1;
}

.checkbox-line label a {
    color: #6d7b46;
    font-weight: bold;
    text-decoration: none;
    }
    
.checkbox-line label a:hover {
    text-decoration: underline;
    }
/* Profilverwaltung */
.form-info2 {
	color: var(--color-warn2) !important;
	padding: 15px;
	border: 1px solid var(--color-accent);
	border-radius: 8px;
	margin-bottom: 10px;
	background-color: var(--bg-3d);
}
.form-line-wrap {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
	margin-bottom: 10px;
}

.form-line-wrap label {
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 0.9em;
}

.form-line-wrap select {
    background: #111; 
    border: 1px solid #5B574C; 
    color: #F0EAD6; 
    width: 100%; 
    margin-bottom: 15px; 
    padding: 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}
.form-line {
	margin-bottom: 10px;
    color: #000;
    display: flex;
    flex-direction: column;
}

.form-line label {
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 0.9em;
    color: #F0EAD6;
}

.form-line input, 
.form-line textarea {
    background: #111; 
    border: 1px solid #5B574C; 
    color: #F0EAD6; 
    width: 100%; 
    margin-bottom: 15px; 
    padding: 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.form-line input:focus, 
.form-line textarea:focus {
    border-color: #333;
}

.form-line2 {
	margin-bottom: 10px;
    color: #000;
    display: flex;
    flex-direction: row;
	gap: 25px;
}

.form-line2 label {
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 0.9em;
    color: #F0EAD6; 
}

.form-line2 input, 
.form-line2 textarea {
    background: #111; 
    border: 1px solid #5B574C; 
    color: #F0EAD6; 
    width: 100%; 
    margin-bottom: 15px; 
    padding: 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.form-line2 input:focus, 
.form-line2 textarea:focus {
    border-color: #333;
}
#preview-container {
    display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
}

.profile-card {
    background-color: var(--bg-3d);
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    width: 100%;
    max-width: 800px;
    border: 1px solid var(--color-accient);
}

.profile-card h2 {
    color: #8A9A5B; 
    font-size: 1.4rem; 
    margin: 0; 
    flex: 1;
    border-bottom: 2px solid #8A9A5B; 
    padding-bottom: 15px; 
    margin-bottom: 30px;
}
.profile-info-grid {
    padding: 25px;
    background: var(--bg-3d);
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 30px;
    margin-top: 20px;
    border: 1px solid var(--color-accent);
    border-radius: 8px;
}

.current-profile-img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #8A9A5B; /* Highlight Farbe */
    margin-bottom: 10px;
}

.distance-seperator {
    border: 0; 
    border-top: 1px solid #8A9A5B; 
    margin: 15px 0;
}

/* CSS für die Info-Felder mit Buttons unten rechts */
.info-field h3 {
    color: #8A9A5B;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 0;
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
}

.card-button {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: transparent;
    color: #8A9A5B;
    border: 1px solid #8A9A5B;
    padding: 8px 16px;
    font-size: 0.85rem;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.card-button:hover {
    background: #8A9A5B;
    color: #000;
}
/* Dateiupload schöner machen */
.form-button-delete {
    background-color: #000; 
    color: #333; 
    border: 1px solid #333; 
    padding: 8px 12px; 
    border-radius: 4px; 
    cursor: pointer; 
    font-size: 0.8em; 
    width: 100%;
}

.form-button-delete:hover {
    color: #F0EAD6; 
    border: 1px solid #ff4444; 
}

.form-button {
    display: inline-block; 
	padding: 8px 12px;
    cursor: pointer; 
	background: #8A9A5B; 
	color: #5B574C; 
	border-radius: 4px;
	margin: 10px 0;
}

.form-button2 {
	width: 90%;
    display: inline-block; 
	padding: 10px 12px;
    cursor: pointer; 
	background: #8A9A5B; 
	color: #5B574C; 
	border-radius: 4px;
	margin: 15px 0;
}

.form-button:hover {
    background: #6d7b46;
	color: #F0EAD6;
}

.mini-thumb { 
	width: 100px; 
	height: 100px; 
	object-fit: cover; 
	border-radius: 6px; 
	box-shadow: 0 2px 5px rgba(0,0,0,0.2); 
	}
	
.pw-requirements {
    list-style: none;
    padding: 0;
    margin: 5px 0;
    font-size: 0.85em;
    color: var(--color-warn);
}
.pw-requirements li::before {
    content: "○ "; /* Leerer Kreis */
}
.pw-requirements li.valid {
    color: #8A9A5B; /* Dein Salbeigrün */
    font-weight: bold;
}
.pw-requirements li.valid::before {
    content: "● "; /* Gefüllter Kreis */
}


/*******************************************************************/
/* 7. Allgemeine Formular-Strukturen */
/*******************************************************************/
/********************/
/* General Settings */
/********************/
.content-scroll {
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--color-accient);
    flex-grow: 1;
}
.close-link {
    display: inline-block;
    width: 100%;
    text-align: right;
    text-decoration: none;
    font-weight: bold;
    color: var(--color-accent);
    transition: all 0.2s ease-in-out;
    transform-origin: right center;
    cursor: pointer;
}
.close-link:hover {
    color: var(--color-accent-hover);
    transform: scale(1.1);
}

.IMG-Caption {
	color: var(--color-text-main);
	font-size: 0.9em;
	text-align: center;
}

.IMG-Caption a {
	color: var(--color-accent);
	font-size: 1.0em;
	font-weight: bold;
	text-decoration: none;
}

.IMG-Caption a:hover{
	color: var(--color-accent-hover);
	font-size: 1.0em;
	font-weight: bold;
}
#mainImage {
        transition: opacity 0.2s;
    }	

/* Container für Bild und Text */
.card-content-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    text-align: left;
}

/* Bild-Styling */
.card-content-img {
   	width: 150px;
    height: auto;
    border-radius: 8px;
}

/* Text-Bereich */
.card-text {
    flex: 1;
    border-left: 1px solid var(--color-border2);
    padding-left: 25px;
    height: 150px;
}
.card-text h4 {
	color: var(--color-stars);
	padding-bottom: 25px;
}
