/* BuBerg Ballooning – Buchung (Theme „bubi“) */

/* Gäste */
.bubi-gaeste { width: 100%; margin: 12px 0 16px; display: flex; flex-direction: column; gap: 8px; }
.bubi-gaeste__anzahl { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.bubi-gaeste__anzahl label, .bubi-gaeste__titel { font-size: 14px; font-weight: 600; margin: 0; }
.bubi-gaeste__anzahl select { min-height: 48px; padding: 10px 14px; border: 1px solid #6B737C; border-radius: 12px; background: #FFFFFF; font: inherit; max-width: 220px; }
.bubi-gaeste__liste { display: flex; flex-direction: column; gap: 8px; }
.bubi-gaeste__zeile { display: grid; grid-template-columns: 22px minmax(0, 1fr) minmax(0, 1fr) 96px; gap: 8px; align-items: center; }
@media (max-width: 640px) { .bubi-gaeste__zeile { grid-template-columns: 22px minmax(0, 1fr) minmax(0, 1fr); } .bubi-gaeste__zeile input[type="number"] { grid-column: 2 / 4; } }
.bubi-gaeste__nr { color: #6B737C; font-weight: 600; text-align: right; }
.bubi-gaeste__zeile input { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid #6B737C; border-radius: 12px; background: #FFFFFF; color: #1D1D1F; font: inherit; }
.bubi-gaeste__hinweis { margin: 0; font-size: 13px; color: #5E6670; }
.bubi-gaeste__gesundheit { margin: 8px 0 0; font-size: 14px; }
.bubi-gaeste__gesundheit label { display: flex; gap: 8px; align-items: flex-start; cursor: pointer; }
.bubi-gaeste__gesundheit input { margin-top: 3px; flex: none; }
.bubi-gaeste__beweglichkeit { margin: 8px 0 0; font-size: 14px; display: grid; gap: 4px; }
.bubi-gaeste__beweglichkeit input { width: 100%; }

/* Kalender von Booking Activities im BuBerg-Stil */
.bookacti-booking-system .fc { --fc-border-color: #E4E7EB; --fc-today-bg-color: #F2F4F6; --fc-event-bg-color: #3559C7; --fc-event-border-color: #3559C7; font-size: 14px; }
.bookacti-booking-system .fc .fc-toolbar-title { font-size: 19px; font-weight: 600; letter-spacing: -0.015em; }
.bookacti-booking-system .fc .fc-button { background: #F2F4F6; border: 0; color: #1D1D1F; border-radius: 980px; min-width: 44px; min-height: 40px; box-shadow: none; }
.bookacti-booking-system .fc .fc-button:hover { background: #E4E7EB; }
.bookacti-booking-system .fc .fc-daygrid-event { border-radius: 8px; padding: 2px 4px; white-space: normal; }
.bookacti-booking-system .fc .fc-list-event:hover td { background: #F2F4F6; }
.bookacti-booking-system .fc a { text-decoration: none; }

/* Startseite: Fahrt wählen + Kalender */
.bubi-buchung { display: grid; gap: 20px; }
.bubi-buchung__wahl { display: flex; flex-wrap: wrap; gap: 8px; }
.bubi-buchung__wahl button,
.bubi-buchung__wahl a { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 44px; padding: 10px 16px; border: 1px solid #D2D6DA; border-radius: 16px; background: #FFFFFF; color: #1D1D1F; font: inherit; font-size: 17px; text-align: left; cursor: pointer; text-decoration: none; }
.bubi-buchung__wahl span { font-size: 13px; color: #5E6670; }
.bubi-buchung__wahl [aria-pressed="true"] { border-color: #1D1D1F; box-shadow: inset 0 0 0 1px #1D1D1F; }
.bubi-buchung__wahl a:hover { text-decoration: none; border-color: #6B737C; }
.bubi-buchung__karte { padding: clamp(20px, 3vw, 32px); border-radius: 28px; background: #FFFFFF; }
.bubi-buchung__formular { position: absolute; left: -10000px; width: calc(100% - 64px); max-width: 1116px; visibility: hidden; }
.bubi-buchung__formular.ist-aktiv { position: static; width: auto; visibility: visible; }
.bubi-buchung__formular form.cart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin: 0; }
.bubi-buchung__formular .bookacti-booking-system-container,
.bubi-buchung__formular .bookacti-form-fields,
.bubi-buchung__formular .bookacti-wc-form-fields { flex: 1 1 100%; }
.bubi-buchung__formular .quantity input.qty { min-height: 48px; width: 80px; border: 1px solid #6B737C; border-radius: 12px; padding: 0 10px; font: inherit; }
.bubi-menge__zeile { display: inline-flex; align-items: center; gap: 8px; }
.bubi-menge__knopf { width: 48px; height: 48px; border-radius: 50%; border: 1px solid #6B737C; background: #FFFFFF; color: #1D1D1F; font-size: 24px; line-height: 1; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
.bubi-menge__knopf:active { background: #F2F2F4; }
.bubi-menge__zeile input.qty { width: 56px !important; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.bubi-menge__zeile input.qty::-webkit-outer-spin-button,
.bubi-menge__zeile input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bubi-buchung__formular .single_add_to_cart_button { min-height: 48px; padding: 0 26px; border-radius: 980px; background: #3559C7; color: #FFFFFF; border: 0; font-size: 17px; font-weight: 500; cursor: pointer; }
.bubi-buchung__hinweis { margin: 0; color: #5E6670; font-size: 14px; }

/* Anfrageformular (Contact Form 7) im BuBerg-Stil */
.bubi-anfrage { display: flex; flex-wrap: wrap; gap: 14px; }
.bubi-anfrage p { flex: 1 1 100%; margin: 0; }
.bubi-anfrage .bubi-anfrage__halb { flex: 1 1 calc(50% - 7px); min-width: 200px; }
.bubi-anfrage label { font-size: 14px; font-weight: 600; display: block; }
.bubi-anfrage .wpcf7-form-control-wrap { display: block; margin-top: 6px; font-weight: 400; }
.bubi-anfrage input[type=text], .bubi-anfrage input[type=email], .bubi-anfrage input[type=tel], .bubi-anfrage input[type=number], .bubi-anfrage select, .bubi-anfrage textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid #6B737C; border-radius: 12px; background: #FFFFFF; color: #1D1D1F; font: inherit; font-size: 17px;
}
.bubi-anfrage textarea { min-height: 120px; resize: vertical; }
.bubi-anfrage .bubi-anfrage__einwilligung { font-size: 14px; color: #5E6670; }
.bubi-anfrage .bubi-anfrage__einwilligung .wpcf7-list-item { margin: 0; }
.bubi-anfrage .bubi-anfrage__einwilligung input { width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: -4px; accent-color: #1D1D1F; }
.bubi-anfrage .wpcf7-submit { min-height: 48px; padding: 0 26px; border: 0; border-radius: 980px; background: #3559C7; color: #FFFFFF; font: inherit; font-size: 17px; font-weight: 500; cursor: pointer; }
.bubi-anfrage .wpcf7-submit:hover { filter: brightness(1.1); }
.wpcf7 form .wpcf7-response-output { margin: 14px 0 0; padding: 12px 16px; border-radius: 12px; font-size: 15px; }
.wpcf7-not-valid-tip { font-size: 13px; margin-top: 4px; }
