/* Combined date field + guests field (new design). */
.bk-fields{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.bk-field{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid rgba(0,0,0,.15)!important;border-radius:12px!important;background:#fff!important;cursor:pointer;font:inherit;text-align:left;position:relative;color:#111!important;box-shadow:none!important}
.bk-field:hover{border-color:rgba(0,0,0,.4)!important}
.bk-ico{width:18px;height:18px;flex:0 0 auto;opacity:.55}
.bk-field-text{flex:1;font-size:15px;line-height:1.2}
.bk-caret{width:16px;height:16px;flex:0 0 auto;opacity:.45}
.bk-guests{position:relative}

/* Calendar internals (JS-generated inside #calendarPanel). Prefixed .bk- and
   forced with !important so the theme's global button styles can't bleed in. */
.bk-cal{max-width:660px;margin:6px auto 4px}
.bk-cal-months{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.bk-cal-mhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;min-height:36px}
.bk-cal-title{flex:1;text-align:center;font-weight:600;font-size:15px}
.bk-cal-navspace{width:36px;flex:0 0 auto}
.bk-cal-nav{width:36px!important;height:36px!important;min-width:0!important;padding:0!important;border:1px solid rgba(0,0,0,.15)!important;background:#fff!important;color:#111!important;border-radius:8px!important;font-size:18px!important;line-height:1!important;cursor:pointer;box-shadow:none!important}
.bk-cal-nav:hover:not(:disabled){background:#f3f4f6!important}
.bk-cal-nav:disabled{opacity:.3;cursor:default}
.bk-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.bk-dow{font-size:11px;opacity:.5;padding-bottom:6px}
.bk-day{width:100%!important;height:38px!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#111!important;border-radius:8px!important;font-size:14px!important;font-weight:400!important;line-height:38px!important;cursor:pointer;box-shadow:none!important;text-shadow:none!important}
.bk-day:hover:not(.is-off):not(.is-empty){background:#eef2f7!important}
.bk-day.is-empty{cursor:default}
.bk-day.is-off{color:#c7c7c7!important;text-decoration:line-through;cursor:not-allowed}
.bk-day.is-between{background:#eef2f7!important;border-radius:0!important}
.bk-day.is-start,.bk-day.is-end{background:#111!important;color:#fff!important}
@media(max-width:600px){.bk-cal-months{grid-template-columns:1fr;gap:18px}.bk-cal{max-width:340px}}

/* Ledger rows (JS-generated inside #ledger). */
.ledger-row{display:flex;justify-content:space-between;padding:6px 0;font-size:15px}
.ledger-total{font-weight:700;border-top:1px solid rgba(0,0,0,.12);margin-top:6px;padding-top:10px}

/* Confirmation page card (unchanged). */
.bs-confirm-wrap{display:flex;justify-content:center;padding:40px 16px}
.bs-confirm-card{width:100%;max-width:480px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:20px;padding:40px 32px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.10)}
.bs-check{display:flex;justify-content:center;margin-bottom:14px}
.bs-check-ring{stroke:#16a34a;stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:bsRing .6s ease forwards}
.bs-check-tick{stroke:#16a34a;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:bsTick .35s .55s ease forwards}
@keyframes bsRing{to{stroke-dashoffset:0}}
@keyframes bsTick{to{stroke-dashoffset:0}}
.bs-confirm-title{margin:6px 0 4px;font-size:26px;font-weight:700}
.bs-confirm-sub{margin:0 0 18px;opacity:.65;font-size:15px}
.bs-ref-chip{display:inline-block;background:#f1f5f9;color:#0f172a;font-weight:600;letter-spacing:.02em;padding:8px 16px;border-radius:999px;font-size:14px;margin-bottom:22px}
.bs-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-bottom:20px}
.bs-detail{background:#f8fafc;border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:12px 14px}
.bs-detail span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;opacity:.55;margin-bottom:3px}
.bs-detail strong{font-size:16px}
.bs-confirm-email{font-size:14px;opacity:.75;margin:0 0 22px}
.bs-home-btn{display:inline-block;width:100%;box-sizing:border-box;padding:14px;background:#111;color:#fff;text-decoration:none;font-weight:600;font-size:15px;border-radius:12px;transition:opacity .2s}
.bs-home-btn:hover{opacity:.85;color:#fff}
@media(max-width:420px){.bs-detail-grid{grid-template-columns:1fr}.bs-confirm-card{padding:32px 22px}}

/* Homepage property selector */
.bk-property-field {
	width: 100%;
	cursor: default;
}
.bk-property-select {
	width: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 600;
	padding: 0 8px 0 0;
	cursor: pointer;
	appearance: auto;
}
.bk-property-select option {
	color: #17324d;
	background: #fff;
}
.home-booking-section .booking-card {
	box-shadow: 0 18px 50px rgba(6,77,136,.12);
}

/* Guest picker - restore the original booking widget layout */
.bk-guests { position: relative; }
.guest-panel {
	position: absolute;
	left: 0;
	top: calc(100% + 8px);
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid rgba(0,0,0,.18);
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0,0,0,.12);
	z-index: 1000;
}
.guest-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(0,0,0,.10);
}
.guest-row:last-child { border-bottom: 0; }
.guest-row > div:first-child { min-width: 0; flex: 1; }
.guest-row-label {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	color: #111;
}
.guest-row-sub {
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.35;
	color: #64748b;
}
.stepper {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex: 0 0 auto;
}
.step-btn {
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 1px solid #d5dde5 !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #0878B9 !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 36px !important;
	text-align: center !important;
	box-shadow: none !important;
	cursor: pointer !important;
}
.step-btn:hover:not(:disabled) {
	background: #f4faff !important;
	border-color: #0878B9 !important;
}
.step-btn:disabled {
	background: #f1f3f5 !important;
	color: #aeb5bc !important;
	border-color: #d8dde2 !important;
	cursor: not-allowed !important;
}
.step-count {
	min-width: 16px;
	font-size: 15px;
	line-height: 1;
	text-align: center;
	color: #111;
}
@media (max-width: 600px) {
	.guest-panel {
		left: 0;
		width: 100%;
		padding: 8px 12px;
	}
	.guest-row { gap: 10px; padding: 9px 0; }
	.guest-row-label { font-size: 14px; }
	.guest-row-sub { font-size: 11px; }
	.stepper { gap: 8px; }
	.step-btn { width: 36px !important; height: 36px !important; min-width: 36px !important; line-height: 34px !important; }
}
