/* FK Ratings – Sterne wie bisher (Bildsatz "bruno", 40px), Hover per CSS, Rückmelde-Formular bei 1–3 Sternen */
.fk-ratings { text-align: center; }
.fk-stars { display: inline-flex; flex-wrap: nowrap; line-height: 0; }
.fk-star {
	width: 40px; height: 40px; margin: 6px 3px; padding: 0; border: 0; border-radius: 0;
	background: url(rating_off.gif) center / contain no-repeat transparent;
	cursor: pointer; display: inline-block; appearance: none; -webkit-appearance: none;
	box-shadow: none; outline-offset: 2px;
}
.fk-star.is-on { background-image: url(rating_on.gif); }
.fk-ratings:not(.is-rated):not(.is-asking) .fk-stars:hover .fk-star { background-image: url(rating_over.gif); }
.fk-ratings:not(.is-rated):not(.is-asking) .fk-stars .fk-star:hover ~ .fk-star { background-image: url(rating_off.gif); }
.fk-ratings.is-rated .fk-star, .fk-ratings.is-busy .fk-star { cursor: default; }
.fk-ratings.is-busy .fk-stars { opacity: .5; }

.fk-ratings-info { font-size: .9rem; color: #555; margin: .35rem 0 0; }
.fk-ratings.is-rated .fk-ratings-info { display: none; }
.fk-ratings-msg { margin: .75rem 0 0; line-height: 1.3; }
.fk-ratings-msg > span { display: block; }
.fk-msg-thanks { color: #1a7f37; font-weight: bold; }
.fk-msg-sorry { color: #000; font-size: 1.5rem; font-weight: bold; line-height: 1.2; }
.fk-msg-info { color: #333; margin-top: .4rem; }

/* Rückmelde-Formular */
.fk-feedback { display: block; text-align: left; max-width: 420px; margin: .75rem auto 0; }
.fk-reasons { display: flex; flex-direction: column; gap: .35rem; margin-bottom: .6rem; }
.fk-reason { display: flex; align-items: flex-start; gap: .5rem; font-size: .95rem; line-height: 1.3; cursor: pointer; margin: 0; }
.fk-reason input { margin: .2rem 0 0; flex: 0 0 auto; }
.fk-feedback textarea, .fk-feedback input[type="email"] {
	width: 100%; box-sizing: border-box; font: inherit; font-size: .95rem; padding: .5rem .6rem;
	border: 1px solid #bbb; border-radius: 4px; margin-bottom: .5rem; background: #fff; color: #000;
}
.fk-feedback-error { display: block; color: #b32d2e; font-weight: 600; font-size: .9rem; margin-bottom: .5rem; }
.fk-feedback-privacy { display: block; font-size: .8rem; color: #777; margin-top: .5rem; text-align: center; }
.fk-confirm { margin-top: .25rem; display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; }
.fk-confirm button {
	font: inherit; font-size: .95rem; padding: .5rem .9rem; border-radius: 4px; cursor: pointer;
	border: 1px solid #888; background: #fff; color: #333;
}
.fk-confirm .fk-feedback-send { background: #333; color: #fff; border-color: #333; font-weight: 600; }

/* Theme-Popup (#hinweis, position: fixed) muss mit dem Formular scrollen können */
#hinweis { max-height: 86vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }
