/* Some stylesheet reset */
/* ../css/gaestebuch.css */

.success-message {
    color: #006400; /* Dunkelgrün für den Text */
    font-weight: bold;
    padding: 10px;
    border: 1px solid #006400; /* Passender dunkelgrüner Rahmen */
    background-color: #e0ffe0; /* Sehr helles Grün für den Hintergrund */
    border-radius: 5px;
    margin-bottom: 15px; /* Behält den Abstand nach unten bei */
}

.warning-message {
    color: #CC6600; /* Ein etwas dunkleres Orange */
    font-weight: bold;
    padding: 10px;
    border: 1px solid #CC6600;
    background-color: #fff8e6;
    border-radius: 5px;
    margin-bottom: 15px;
}
.error-message {
    color: red;
    font-weight: bold;
    padding: 10px;
    border: 1px solid red;
    background-color: #ffe6e6;
    border-radius: 5px;
    margin-bottom: 15px;
}


.gaestebuch_error {
	width: 70%;
	margin: auto;
	margin-top: 10px;
	padding: 1% 2% 1% 2%; 
	border-radius: 5px;
	background-color: #ff9900;
	display: none;
}

.gaestebuch_content {
	width: 100%; 
    font-size: 14px;
	color: #000;
	margin-left: auto; 
	margin-right: auto;	
	margin-bottom: 15px;
	background-color: #0078BA;
}

.gaestebuch_comment {
	width: 100%;
	background-color: #ffffff;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
}

.gaestebuch_header {
	text-align:center;
	padding-top: 5px;
	font-size: 14px;
	width: 100%;
	overflow: auto;
}

.gaestebuch_entryContent {
	width: 96%;
	font-size: 14px; 
	color: #000;
	border: 1px solid #ddd;
	border-bottom-right-radius: 5px; 
	border-bottom-left-radius: 5px; 
	padding: 1% 2% 1% 2%; 
	word-wrap: break-word;
}

.gaestebuch_entryHeader {
	width: 98%; 
	min-height: 24px;  /* Wichtig für lange Texte und den Zeilenumbruch */
	overflow: auto; /* Wichtig für lange Texte und den Zeilenumbruch */
	word-wrap: break-word; /* Wichtig für lange Texte und den Zeilenumbruch */
	font-size: 14px;
	font-weight: bold; 
	background-color: #f4f4f4; 
	border: 1px solid #ddd;
	color: #444; 
	margin-top: 30px; 
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	padding-left: 2%; 
	padding-top: 2px;	
}

.gaestebuch_entryHeader_Category {
	width: 40.7%; 
	float: left; 
	margin-left: 10px; 
	padding-top: 2px; 
	padding-bottom: 1px;
}

.gaestebuch_entryHeader_Date {
	width: 20%; 
	float: left; 
	margin-left: 10px; 
	padding-top: 2px; 
	padding-bottom: 1px; 
	border-right: 1px solid #fff;
}

.gaestebuch_entryHeader_Name {
	width: 25%; 
	float: left; 
	border-right: 1px solid #fff;	
	padding-top: 1px; 
	padding-bottom: 1px; 
}

.gaestebuch_newEntry {
	width: 96%;
	padding: 2%;
	border-radius: 5px;
	margin-left: auto; 
	margin-right: auto;	
	margin-bottom: 15px;
}

.gaestebuch_newEntry span {
	font-weight: bold;
}

.gaestebuch_Element_Abstand {
	margin-left:: 20px;	
}

.gaestebuch_textfield {
    background-color: #F4F4F4;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
    color: #444;
    display: block;
    font-size: 14px;
    line-height: 1.2;
    padding: 6px 12px;
    transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
    width: 50%;
	max-width: 50%;
}
.gaestebuch_textfield:focus {
	background-color: #fff;
	box-shadow: none;
	border: 1px solid #bfc966;	
}
.gaestebuch_textfield::-moz-placeholder {
    color: #999;
    opacity: 1;
}

.gaestebuch_dropdown {
	width: 52.7%;
	color: #444;
	-webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
	background: url("../images/ArrowMenuDown.gif") no-repeat right #F4F4F4;
}

.gaestebuch_Button {
	-webkit-border-top-left-radius:6px;
	-moz-border-radius-topleft:6px;
	border-top-left-radius:6px;
	-webkit-border-top-right-radius:6px;
	-moz-border-radius-topright:6px;
	border-top-right-radius:6px;
	-webkit-border-bottom-right-radius:6px;
	-moz-border-radius-bottomright:6px;
	border-bottom-right-radius:6px;
	-webkit-border-bottom-left-radius:6px;
	-moz-border-radius-bottomleft:6px;
	border-bottom-left-radius:6px;
	background-color:#368cdb;
	text-indent:0;
	border:1px solid #FFFFFF;
	display:inline-block;
	color:#ffffff;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	font-style:normal;
	height:46px;
	line-height:46px;
	padding:0 28px;
	margin:0;
	box-sizing:border-box;
	vertical-align:middle;

	text-decoration:none;
	text-align:center;
	border: 1px solid #666;
	cursor: pointer;
}.gaestebuch_Button:hover {
	background-color:#8e9458;
}.gaestebuch_Button:active {
	position:relative;
	top:1px;
}
/* Native <button>-Elemente bringen browserseitig eigenes, oft asymmetrisches Padding mit
   (z.B. Firefox' inneres Fokus-Padding via ::-moz-focus-inner) - ohne diesen Reset landet
   der Text trotz height/line-height nicht mittig, sondern sichtbar zu tief im Button. */
.gaestebuch_Button::-moz-focus-inner {
	border:0;
	padding:0;
}

.pages {
 	font: 83%/1.4 arial, helvetica, sans-serif;
	padding-bottom: 5px;
	padding-top: 20px;
    font-size: 85%;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.pages a, .pages span {
	color:#000000;
    padding: 0.2em 0.5em;
    margin-right: 0.1em;
    border: 1px solid #fff;
    background: #fff;
}

.pages a.current {
    border: 1px solid #898581;
    background: #ddd;
    color: #000000;
}

.pages a {
    border: 1px solid #666;
    text-decoration: none;
	display:inline-block; /* Wichtig für den Zeilenumbruch, wenn die Seiten zu viel werden */
	margin-top: 4px;
}

.pages a:hover {
    border-color: #333;
}

.pages a.nextprev {
    font-weight: bold;
}

.pages .nextprev-dots {
	border: none;
	background: none;
	color: #999;
	padding: 0.2em 0.3em;
}

.pages span.nextprev {
    color: #666;
}

.pages span.nextprev {
    border: 1px solid #ddd;
    color: #999;
}

.pages .nextprev-next {
    float: right;
}

@media only screen and (max-device-width: 760px) {
.gaestebuch_entryHeader {
	width: 98%; 
	min-height: 24px;  /* Wichtig für lange Texte und den Zeilenumbruch */
	overflow: auto; /* Wichtig für lange Texte und den Zeilenumbruch */
	word-wrap: break-word; /* Wichtig für lange Texte und den Zeilenumbruch */
	font-size: 20px;
	font-weight: bold; 
	background-color: #f4f4f4; 
	border: 1px solid #ddd;
	color: #444; 
	margin-top: 30px; 
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	padding-left: 2%; 
	padding-top: 2px;	
}

.gaestebuch_entryContent {
	width: 96%;
	font-size: 14.5px; 
	color: #000;
	border: 1px solid #ddd;
	border-bottom-right-radius: 5px; 
	border-bottom-left-radius: 5px; 
	padding: 1% 2% 1% 2%; 
	word-wrap: break-word;
}
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {

.gaestebuch_entryHeader {
	width: 98%; 
	min-height: 24px;  /* Wichtig für lange Texte und den Zeilenumbruch */
	overflow: auto; /* Wichtig für lange Texte und den Zeilenumbruch */
	word-wrap: break-word; /* Wichtig für lange Texte und den Zeilenumbruch */
	font-size: 16px;
	font-weight: bold; 
	background-color: #f4f4f4; 
	border: 1px solid #ddd;
	color: #444; 
	margin-top: 30px; 
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	padding-left: 2%; 
	padding-top: 2px;	
}

.gaestebuch_entryContent {
	width: 96%;
	font-size: 16px;
	color: #000;
	border: 1px solid #ddd;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	padding: 1% 2% 1% 2%;
	word-wrap: break-word;
}
}

/* Bewertungssystem (Sterne) im Gästebuch-Formular */
.gaestebuch_rating-box {
	background-color: #fcfbf7;
	border: 2px solid #dfb76c;
	border-radius: 8px;
	padding: 25px;
	margin: 10px 0 25px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.gaestebuch_rating-title {
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: #2c3e50;
	text-transform: uppercase;
	letter-spacing: .5px;
	border-bottom: 1px solid #dfb76c;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.gaestebuch_rating-row {
	display: flex;
	flex-direction: column;
	margin-bottom: 18px;
}

.gaestebuch_rating-row:last-of-type {
	margin-bottom: 0;
}

.gaestebuch_rating-label {
	font-size: 14px;
	font-weight: bold;
	color: #444;
	margin-bottom: 6px;
}

.gaestebuch_stars-and-text {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.gaestebuch_stars-container {
	display: inline-flex;
	flex-direction: row-reverse;
}

.gaestebuch_stars-container input[type="radio"] {
	display: none;
}

.gaestebuch_stars-container label {
	font-size: 30px;
	line-height: 1;
	color: #ddd2b8;
	cursor: pointer;
	padding: 0 3px;
	transition: color .1s ease-in-out, transform .1s;
}

.gaestebuch_stars-container label:hover {
	transform: scale(1.15);
}

.gaestebuch_stars-container input[type="radio"]:checked ~ label,
.gaestebuch_stars-container label:hover,
.gaestebuch_stars-container label:hover ~ label {
	color: #dfb76c;
}

.gaestebuch_rating-text-display {
	font-size: 13px;
	font-weight: bold;
	color: #7f8c8d;
	background: #fff;
	padding: 4px 10px;
	border-radius: 4px;
	border: 1px solid #e5d7b3;
	min-width: 110px;
	text-align: center;
}

.gaestebuch_total-rating-box {
	background: #fff;
	border: 2px solid #e5d7b3;
	padding: 15px;
	border-radius: 6px;
	margin-top: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 20px;
	transition: all .3s ease;
}

.gaestebuch_total-rating-box.active {
	border-color: #dfb76c;
	background-color: #fffdf6;
}

.gaestebuch_total-title {
	font-size: 15px;
	font-weight: bold;
	color: #2c3e50;
}

.gaestebuch_total-score-display {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gaestebuch_total-number {
	font-size: 26px;
	font-weight: bold;
	color: #7f8c8d;
	transition: color .3s;
}

.gaestebuch_total-rating-box.active .gaestebuch_total-number {
	color: #dfb76c;
}

.gaestebuch_total-stars {
	display: inline-flex;
	font-size: 22px;
	line-height: 1;
}

.gaestebuch_total-star {
	position: relative;
	display: inline-block;
	color: #ddd2b8;
}

.gaestebuch_entry-rating-breakdown {
	font-size: 13px;
	color: #666;
	gap: 15px;
}

.gaestebuch_entry-rating-breakdown .gaestebuch_entry-rating {
	font-size: 13px;
	margin-left: 4px;
}

.gaestebuch_entry-rating {
	font-size: 16px;
	vertical-align: middle;
}

.gaestebuch_total-star .gaestebuch_total-star-fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	white-space: nowrap;
	color: #dfb76c;
}

/* Gesamtbewertung eines einzelnen Hauses: eigene Box direkt über der Kurzinfo-Box
   (Personen/qm/Schlafzimmer/etc.) in der rechten Spalte neben der Bilder-Gallery (haus.php).
   Optisch an .infoBox angelehnt (gleicher Verlauf/Schatten), Textfarbe wie die sitewide
   Gesamtbewertung auf der Startseite (#308f90). */
.haus-gesamtbewertung-box {
	background: #eee;
	background: -moz-linear-gradient(top, #f4f4f4, #fff);
	background: -webkit-linear-gradient(top, #f4f4f4, #fff);
	background: -ms-linear-gradient(top, #f4f4f4, #fff);
	background: -o-linear-gradient(top, #f4f4f4, #fff);
	box-shadow: 1px 2px 4px rgba(0, 0, 0, .2);
	border-radius: 6px;
	padding: 20px;
	margin-bottom: 20px;
	text-align: center;
}

.haus-gesamtbewertung-box-top {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.haus-gesamtbewertung-box-top .gaestebuch_total-stars {
	font-size: 26px;
	align-self: center;
}

.haus-gesamtbewertung-box-zahl {
	font-size: 30px;
	font-weight: 700;
	color: #308f90;
	line-height: 1;
}

.haus-gesamtbewertung-box-von5 {
	color: #8a8a8a;
	font-size: 15px;
}

/* Im Ruhezustand nur Sterne + Zahl zeigen - Anzahl/Link erst bei Mouse-Over einblenden. */
.haus-gesamtbewertung-box-details {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.2s ease, opacity 0.2s ease;
}

.haus-gesamtbewertung-box:hover .haus-gesamtbewertung-box-details {
	max-height: 70px;
	opacity: 1;
}

.haus-gesamtbewertung-box-anzahl {
	margin-top: 8px;
	color: #555;
	font-size: 14px;
}

.haus-gesamtbewertung-box-link {
	display: inline-block;
	margin-top: 6px;
	color: #308f90;
	font-weight: 600;
	text-decoration: none;
}

.haus-gesamtbewertung-box-link:hover {
	text-decoration: underline;
}

/* ===================================================================================
   Gästebuch-Übersichtsseite (html/gaestebuch.html): Such-/Filter-/Sortierleiste,
   Leerzustand und Verweis-Box zur neuen Bewertungsseite (html/bewertung.html).
   =================================================================================== */

.gaestebuch_cta-box {
	background-color: #fcfbf7;
	border: 2px solid #dfb76c;
	border-radius: 8px;
	padding: 20px 25px;
	margin-bottom: 25px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 15px;
}

.gaestebuch_cta-box-text {
	color: #2c3e50;
	font-size: 15px;
	margin: 0;
}

.gaestebuch_cta-box-text strong {
	display: block;
	font-size: 17px;
	margin-bottom: 2px;
}

.gaestebuch_cta-box-button {
	display: inline-block;
	background-color: #dfb76c;
	color: #fff;
	padding: 10px 22px;
	border-radius: 5px;
	font-weight: bold;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .15s ease-in-out;
}

.gaestebuch_cta-box-button:hover {
	background-color: #c9a25a;
	color: #fff;
	text-decoration: none;
}

.gaestebuch_filter-bar {
	background: #f7f7f4;
	border: 1px solid #e5e0d3;
	border-radius: 8px;
	padding: 15px 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 12px 15px;
}

.gaestebuch_filter-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1 1 160px;
	min-width: 140px;
}

.gaestebuch_filter-group label {
	font-size: 12px;
	font-weight: bold;
	color: #7f8c8d;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0;
}

.gaestebuch_filter-group input,
.gaestebuch_filter-group select {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 7px 10px;
	font-size: 14px;
	color: #444;
	width: 100%;
}

.gaestebuch_filter-group input:focus,
.gaestebuch_filter-group select:focus {
	outline: none;
	border-color: #dfb76c;
}

.gaestebuch_filter-actions {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}

.gaestebuch_filter-actions button {
	border-radius: 5px;
	padding: 8px 16px;
	font-size: 14px;
	font-weight: bold;
	cursor: pointer;
	border: 1px solid #dfb76c;
	transition: background-color .15s ease-in-out;
}

.gaestebuch_filter-search-button {
	background-color: #dfb76c;
	color: #fff;
}

.gaestebuch_filter-search-button:hover {
	background-color: #c9a25a;
}

.gaestebuch_filter-reset-button {
	background-color: #fff;
	color: #dfb76c;
}

.gaestebuch_filter-reset-button:hover {
	background-color: #fcfbf7;
}

.gaestebuch_keine-eintraege {
	text-align: center;
	color: #7f8c8d;
	background-color: #f7f7f4;
	border: 1px solid #e5e0d3;
	border-radius: 8px;
	padding: 30px 20px;
	margin-top: 20px;
	font-size: 15px;
}

.gaestebuch_back-link {
	display: inline-block;
	margin-top: 10px;
	color: #308f90;
	font-weight: 600;
	text-decoration: none;
}

.gaestebuch_back-link:hover {
	text-decoration: underline;
}

/* ===================================================================================
   Bewertungsseite (html/bewertung.html): kompakteres Layout, damit Google-Box +
   Formular nach Möglichkeit ohne viel Scrollen auf eine Seite passen.
   =================================================================================== */

@media (min-width: 700px) {
	.gaestebuch_rating-box {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 30px;
	}

	.gaestebuch_rating-title,
	.gaestebuch_total-rating-box {
		grid-column: 1 / -1;
	}

	.gaestebuch_rating-row {
		margin-bottom: 16px;
	}
}
