.bbr-booking-form-wrap {
	margin-top: 24px;
	padding: 20px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	background: #fafafa;
	max-width: 480px;
}

.bbr-booking-form-wrap h3 {
	margin-top: 0;
}

.bbr-field {
	margin-bottom: 14px;
}

.bbr-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}

.bbr-field input[type="text"],
.bbr-field input[type="email"],
.bbr-field input[type="tel"],
.bbr-field textarea {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 14px;
}

.bbr-availability-hint {
	font-size: 12px;
	color: #777;
	margin: 4px 0 0;
}

.bbr-price-preview {
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	padding: 12px 14px;
	margin-bottom: 16px;
}

.bbr-price-preview p {
	margin: 4px 0;
}

.bbr-price-line strong {
	font-size: 1.15em;
}

.bbr-submit-btn {
	width: 100%;
}

.bbr-form-message {
	margin-top: 12px;
	padding: 10px 12px;
	border-radius: 4px;
	display: none;
	font-size: 14px;
}

.bbr-form-message.success {
	display: block;
	background: #e6f6e6;
	color: #256029;
	border: 1px solid #b7e2b7;
}

.bbr-form-message.error {
	display: block;
	background: #fbe9e7;
	color: #a53d2f;
	border: 1px solid #f3c2b8;
}

.bbr-form-message.notice {
	display: block;
	background: #fff8e1;
	color: #8a6d1a;
	border: 1px solid #f0dd9a;
}

/* ===========================================================
   Kalender: echtes Tabellenraster mit sichtbaren Linien -
   Spalten-/Wochentag-Zuordnung ist dadurch eindeutig, kein Raten mehr nötig.
   =========================================================== */

.bbr-field {
	position: relative;
}

/* Kalender fest im Formular verankert (static-Modus) statt frei/losgelöst
   positioniert - verhindert Darstellungsfehler durch Theme-Layouts. */
.flatpickr-calendar.static {
	position: relative !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 8px;
	background: #ffffff;
	border: 1px solid #d8d8dc;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	padding: 14px 14px 16px;
	overflow: hidden;
}

.flatpickr-calendar.static.arrowTop::before,
.flatpickr-calendar.static.arrowTop::after,
.flatpickr-calendar.static.arrowBottom::before,
.flatpickr-calendar.static.arrowBottom::after {
	display: none; /* Sprechblasen-Pfeil entfernen - Kalender ist eingebettet, kein Popup */
}

.flatpickr-calendar.static .flatpickr-innerContainer,
.flatpickr-calendar.static .flatpickr-rContainer,
.flatpickr-calendar.static .flatpickr-days {
	width: 100%;
	max-width: 100%;
	background: transparent;
}

/* Kopfzeile: Monat/Jahr + Navigation */
.flatpickr-calendar.static .flatpickr-month {
	color: #1a2b4a;
	height: 38px;
}

.flatpickr-calendar.static .flatpickr-current-month {
	font-size: 15px;
	font-weight: 700;
	color: #1a2b4a;
	padding: 0;
}

.flatpickr-calendar.static .flatpickr-current-month input.cur-year,
.flatpickr-calendar.static .flatpickr-current-month .flatpickr-monthDropdown-months {
	color: #1a2b4a;
	font-weight: 700;
}

.flatpickr-calendar.static .flatpickr-prev-month,
.flatpickr-calendar.static .flatpickr-next-month {
	fill: #6b6b76;
	color: #6b6b76;
}

.flatpickr-calendar.static .flatpickr-prev-month:hover svg,
.flatpickr-calendar.static .flatpickr-next-month:hover svg {
	fill: #1a2b4a;
}

/* Wochentage-Kopfzeile: exakt dieselbe 7-Spalten-Rasterbreite wie die
   Tage darunter, damit die Ausrichtung garantiert übereinstimmt.
   Ein deutlicher Trennstrich grenzt Kopf und Raster klar voneinander ab. */
.flatpickr-calendar.static .flatpickr-weekdays {
	background: transparent;
	margin-top: 6px;
	border-bottom: 2px solid #d8d8dc;
	padding-bottom: 6px;
}

.flatpickr-calendar.static .flatpickr-weekdaycontainer {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	width: 100%;
}

.flatpickr-calendar.static span.flatpickr-weekday {
	background: transparent;
	color: #1a2b4a;
	font-weight: 700;
	font-size: 12px;
}

/* Tage-Raster: echtes CSS-Grid mit 7 exakt gleich breiten Spalten und
   sichtbaren Rahmenlinien um jede Zelle - ein Tabellenraster wie bei
   einem Kalenderblatt, keine frei schwebenden Kreise mehr. */
.flatpickr-calendar.static .dayContainer {
	display: grid !important;
	grid-template-columns: repeat(7, 1fr);
	width: 100% !important;
	max-width: 100% !important;
	row-gap: 0;
	column-gap: 0;
}

.flatpickr-calendar.static .flatpickr-day {
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	height: 38px;
	line-height: 38px;
	margin: 0 -1px -1px 0; /* Rahmenlinien der Nachbarzellen überlappen -> durchgehendes Raster */
	border: 1px solid #eaeaee;
	border-radius: 0;
	color: #2b2b33;
	font-size: 13px;
}

/* Wochenend-Spalten (Sa/So) dezent einfärben - zusätzliche, unmissverständliche
   Orientierungshilfe zur Kopfzeile, unabhängig von Auswahl/Status. */
.flatpickr-calendar.static .flatpickr-day:nth-child(7n+6):not(.selected):not(.startRange):not(.endRange):not(.inRange):not(.bbr-unavailable),
.flatpickr-calendar.static .flatpickr-day:nth-child(7n):not(.selected):not(.startRange):not(.endRange):not(.inRange):not(.bbr-unavailable) {
	background: #f6f7fa;
}

.flatpickr-calendar.static .flatpickr-day.prevMonthDay,
.flatpickr-calendar.static .flatpickr-day.nextMonthDay {
	color: #c4c4cc;
	background: #fafafb;
}

.flatpickr-calendar.static .flatpickr-day:hover {
	background: #eef1f7;
	position: relative;
	z-index: 1;
}

.flatpickr-calendar.static .flatpickr-day.today {
	font-weight: 700;
	box-shadow: inset 0 0 0 2px #1a2b4a;
	position: relative;
	z-index: 1;
}

.flatpickr-calendar.static .flatpickr-day.selected,
.flatpickr-calendar.static .flatpickr-day.startRange,
.flatpickr-calendar.static .flatpickr-day.endRange {
	background: #1a2b4a;
	border-color: #1a2b4a;
	color: #ffffff;
	position: relative;
	z-index: 1;
}

.flatpickr-calendar.static .flatpickr-day.inRange {
	background: #dbe3f0;
	color: #1a2b4a;
}

/* Nicht verfügbare Tage: deutlich rot/durchgestrichen, eigene Rasterzelle bleibt erhalten */
.flatpickr-calendar.static .flatpickr-day.bbr-unavailable {
	background: #fdf1f0 !important;
	color: #c0392b !important;
	text-decoration: line-through;
}

.flatpickr-calendar.static .flatpickr-day.bbr-unavailable:hover {
	background: #fbe4e2 !important;
	cursor: not-allowed;
}

.flatpickr-calendar.static .flatpickr-day.flatpickr-disabled {
	color: #d5d5db;
}
