/* ==========================================================================
   WP Booking Calendar (free) – restyled to match the theme.
   Scoped to .booking__widget so admin screens are untouched.
   ========================================================================== */
.booking__widget {
	/* Calendar colour tokens used by the plugin skin */
	--wpbc_cal-day-cell-border-radius: 8px;
	--wpbc_cal-day-cell-border-width: 0px;
	--wpbc_cal-day-bg-color-opacity: 100%;
	--wpbc_cal-selected-day-bg-color-opacity: 100%;
	--wpbc_cal-text-general-size: 15px;
	--wpbc_cal-text-header-size: 20px;
	--wpbc_cal-text-weekdays-size: 11px;
	--wpbc_cal-main-background-color: #fff;
	--wpbc_cal-header-text-color: var(--forest);
	--wpbc_cal-text-prev-next-links-color: var(--gold-dark);
	--wpbc_cal-text-weekdays-color: var(--slate);
	--wpbc_cal-unavailable-day-color: #fff;
	--wpbc_cal-unavailable-text-color: #c9cec9;
	--wpbc_cal-available-day-color: #e3eee6;
	--wpbc_cal-available-text-color: var(--forest);
	--wpbc_cal-approved-day-color: #e6e0d2;
	--wpbc_cal-approved-text-color: #a39a86;
	--wpbc_cal-pending-day-color: #f6e6bd;
	--wpbc_cal-pending-text-color: #8a6416;
	--wpbc_cal-selected-day-color: var(--forest);
	--wpbc_cal-selected-text-color: var(--cream);
	--wpbc_cal-hover-day-color: var(--gold-light);
	--wpbc_cal-hover-text-color: var(--forest-deep);
	--wpbc_cal-day-cells-padding: 2px;
	font-family: var(--font-body);
	color: var(--ink);
}
/* Booked days: subtle strike-through so they read as unavailable */
.booking__widget .datepick-inline td.datepick-days-cell.date_approved .date-cell-content span,
.booking__widget .datepick-inline td.datepick-days-cell.date2approve .date-cell-content span { text-decoration: line-through; text-decoration-thickness: 1px; }

/* Remove the plugin's inner frame – our card provides it */
.booking__widget .wpbc_bfb_form.wpbc_wizard__border_container { border: 0 !important; box-shadow: none !important; padding: 0 !important; background: transparent !important; }
.booking__widget .wpbc_cal_container,
.booking__widget .bk_calendar_frame { box-shadow: none !important; border: 0 !important; max-width: 100% !important; }
.booking__widget .datepick-inline { box-shadow: none !important; border: 0 !important; background: transparent !important; }
.booking__widget .datepick-header,
.booking__widget .datepick-title-row th { font-family: var(--font-display) !important; font-weight: 600 !important; letter-spacing: .02em; }
.booking__widget .datepick-title-row th { font-family: var(--font-body) !important; text-transform: uppercase; letter-spacing: .12em; }

/* Section headings inside the form */
.booking__widget .wpbc_static_text[style*="font-weight:bold"] { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600 !important; color: var(--forest); line-height: 1.1; }
.booking__widget small.wpbc_static_text { color: var(--muted); font-size: .92rem; }

/* Check-in / out summary */
.booking__widget .wpbc_field_hint, .booking__widget [class*="_date_hint"], .booking__widget .wpbc_free_date_hint { font-family: var(--font-display); font-size: 1.25rem; color: var(--forest); }

/* Legend */
.booking__widget .block_hints, .booking__widget .wpbc_calendar_legend { font-size: .85rem; color: var(--muted); }

/* Labels + fields */
.booking__widget l, .booking__widget label { font-weight: 700; font-size: .92rem; color: var(--forest); letter-spacing: .01em; }
.booking__widget input[type="text"],
.booking__widget input[type="email"],
.booking__widget input[type="tel"],
.booking__widget select,
.booking__widget textarea {
	width: 100%; font: inherit; font-size: 1rem; color: var(--ink);
	background: var(--cream) !important; border: 1px solid rgba(36, 64, 44, .22) !important; border-radius: 10px !important;
	padding: .75rem .9rem !important; min-height: 48px; box-shadow: none !important; transition: border-color .2s, box-shadow .2s;
}
.booking__widget textarea { min-height: 120px; }
.booking__widget input:focus, .booking__widget select:focus, .booking__widget textarea:focus {
	outline: none; border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(192, 140, 48, .22) !important; background: #fff !important;
}
.booking__widget .wpbc_field_description { font-size: .8rem; color: var(--muted); margin-top: .25rem; }

/* Submit */
.booking__widget .wpbc_bfb__btn--primary { flex: none !important; }
.booking__widget input[type="button"], .booking__widget button[type="submit"], .booking__widget .wpbc_button_light, .booking__widget .btn-primary, .booking__widget input[type="submit"] {
	font-family: var(--font-body) !important; font-weight: 700 !important; letter-spacing: .04em; font-size: 1rem !important;
	border-radius: 999px !important; padding: .95rem 2rem !important; min-height: 50px; cursor: pointer;
	background: var(--gold) !important; color: var(--forest-deep) !important; border: 0 !important; box-shadow: none !important;
}
.booking__widget input[type="button"]:hover, .booking__widget button[type="submit"]:hover, .booking__widget .btn-primary:hover { background: var(--gold-light) !important; }
.booking__widget .wpbc_bfb_divider--h { border-top-color: var(--line) !important; }

/* Messages after submit */
.booking__widget .wpbc_after_booking_thank_you_section, .booking__widget .ajax_respond_insert { font-family: var(--font-display); font-size: 1.3rem; color: var(--forest); }

/* ---------- Month navigation: clear 44px prev / next buttons ---------- */
.booking__widget .datepick-inline.datepick-multi { position: relative; }
.booking__widget .datepick-header { height: 48px; line-height: 48px !important; padding: 0 52px !important; font-size: 1.4rem !important; text-align: center !important; justify-content: center !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--forest); }
.booking__widget .calendar-links { position: absolute !important; top: 2px; left: 0; right: 0; height: 44px; display: flex !important; justify-content: space-between !important; align-items: center; pointer-events: none; z-index: 3; margin: 0 !important; padding: 0 !important; }
.booking__widget .calendar-links .datepick-prev,
.booking__widget .calendar-links .datepick-next { position: static !important; width: 44px; height: 44px; margin: 0 !important; padding: 0 !important; display: block !important; }
.booking__widget .calendar-links a {
	position: static !important; pointer-events: auto; display: inline-flex !important; align-items: center; justify-content: center;
	width: 44px !important; height: 44px !important; line-height: 1 !important; font-size: 1.7rem !important; padding: 0 0 4px !important; margin: 0 !important;
	border-radius: 50%; background: var(--duck-pale); border: 1px solid var(--duck-light); color: var(--forest) !important; text-decoration: none !important;
	-webkit-tap-highlight-color: transparent; touch-action: manipulation; transition: background .2s, border-color .2s;
}
.booking__widget .calendar-links a:hover, .booking__widget .calendar-links a:focus-visible { background: var(--gold-light); border-color: var(--gold); color: var(--forest-deep) !important; }

/* Day cells: no double-tap zoom delay, readable numbers */
.booking__widget #calendar_booking1 td.datepick-days-cell { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

/* Never let the plugin's tables/containers force a width */
.booking__widget table.datepick, .booking__widget .datepick-one-month { max-width: 100%; }
.booking__widget .wpbc_bfb_form, .booking__widget .wpbc__row, .booking__widget .wpbc__field { min-width: 0 !important; max-width: 100%; }

/* ---------- Phones ---------- */
@media (max-width: 599px) {
	.booking__widget { --wpbc_cal-text-general-size: 15px; padding: 1.1rem .85rem 1.4rem; border-radius: var(--radius); }
	/* One month at a time – the arrows step through the months */
	.booking__widget #calendar_booking1 .datepick-one-month ~ .datepick-one-month { display: none !important; }
	.booking__widget #calendar_booking1 .datepick-one-month { width: 100% !important; float: none !important; margin: 0 !important; }
	.booking__widget .wpbc__row { flex-wrap: wrap !important; }
	.booking__widget .wpbc__field { flex: 1 1 100% !important; width: 100% !important; margin-right: 0 !important; }
	.booking__widget .wpbc__field[style*="48.5%"] { flex-basis: 100% !important; }
	/* Full-width, thumb-friendly submit */
	.booking__widget .bfb_element:has(.wpbc_bfb__btn--primary) { width: 100% !important; flex: 1 1 100% !important; }
	.booking__widget .wpbc_bfb__btn--primary, .booking__widget .wpbc_bfb__btn--primary input, .booking__widget .wpbc_bfb__btn--primary button { width: 100% !important; flex: 1 1 100% !important; display: block; }
}
