/**
 * Doe Crossing — Airbnb-style HBook booking widget
 */

.doe-booking-widget {
	--doe-ink: #222222;
	--doe-muted: #717171;
	--doe-line: #dddddd;
	--doe-bg: #ffffff;
	--doe-soft: #f7f7f7;
	--doe-radius: 12px;
	--doe-font: "Public Sans", "Inter", system-ui, -apple-system, sans-serif;
	max-width: 720px;
	margin: 0 auto 32px;
	padding: 8px 0 24px;
	font-family: var(--doe-font);
	color: var(--doe-ink);
	background: transparent;
}

.doe-booking-widget .btn-wrapper,
.doe-booking-widget .schedule-btn,
.doe-booking-widget .doe-booking-cal-mount,
.doe-booking-widget .hb-datepick-popup-wrapper,
.doe-booking-widget .hb-avail-caption-wrapper,
.doe-booking-widget .hb-booking-search-title,
.doe-booking-widget .hb-accom-number-wrapper,
.doe-booking-widget .hb-admin-search-type-wrapper,
.doe-booking-widget .hb-searched-summary,
.doe-booking-widget .hb-datepick-legend,
.doe-booking-widget .hb-dp-cmd-close {
	display: none !important;
	height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	line-height: 0 !important;
}

/* Kill leftover <br> / empty wrappers between shortcodes */
.doe-booking-widget > div > br,
.doe-booking-widget br.doe-booking-gap-br {
	display: none !important;
}

/* ---- Inline dual calendars ---- */
.doe-booking-widget .doe-booking-cal-mount {
	display: block !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: visible !important;
	line-height: 0 !important;
}

.doe-booking-widget .doe-booking-cal-mount .hb-datepick-popup-wrapper,
.doe-booking-widget .doe-booking-cal-mount .hb-datepick-popup,
.doe-booking-widget .doe-booking-cal-mount .hb-dp-month-row,
.doe-booking-widget .doe-booking-cal-mount .hb-dp-month {
	line-height: normal !important;
}

.doe-booking-widget .hb-datepick-popup-wrapper {
	position: relative !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	bottom: auto !important;
	inset: auto !important;
	transform: none !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	box-shadow: none !important;
	background: transparent !important;
	z-index: 2 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: visible !important;
}

.doe-booking-widget .hb-datepick-popup,
.doe-booking-widget .hb-datepick-wrapper,
.doe-booking-widget .hb-dp-month-row,
.doe-booking-widget .datepick {
	position: relative !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}

.doe-booking-widget .hb-dp-clearfix:after,
.doe-booking-widget .hb-dp-clearfix:before {
	display: none !important;
	content: none !important;
	clear: none !important;
	height: 0 !important;
}

.doe-booking-widget .hb-dp-month-row {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	justify-content: space-between !important;
}

.doe-booking-widget .hb-dp-month {
	flex: 1 1 280px !important;
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 18px 16px 14px !important;
	background: var(--doe-bg) !important;
	border: 1px solid var(--doe-line) !important;
	border-radius: var(--doe-radius) !important;
	box-sizing: border-box !important;
}

/* Nav sits over the full dual-calendar width, not HBook's fixed px width */
.doe-booking-widget .hb-dp-cmd-wrapper {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 56px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	pointer-events: none !important;
	z-index: 6 !important;
	box-sizing: border-box !important;
}

.doe-booking-widget .hb-dp-cmd-wrapper a,
.doe-booking-widget a.hb-dp-cmd {
	position: absolute !important;
	top: 26px !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: var(--doe-bg) !important;
	border: 1px solid var(--doe-line) !important;
	color: var(--doe-ink) !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 18px !important;
	line-height: 1 !important;
	z-index: 7 !important;
	text-decoration: none !important;
	pointer-events: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.doe-booking-widget .hb-dp-cmd-prev,
.doe-booking-widget a.hb-dp-cmd-prev {
	left: 20px !important;
	right: auto !important;
}

.doe-booking-widget .hb-dp-cmd-next,
.doe-booking-widget a.hb-dp-cmd-next {
	right: 20px !important;
	left: auto !important;
}

.doe-booking-widget .hb-dp-cmd-wrapper a.hb-dp-disabled,
.doe-booking-widget .hb-dp-cmd-prev.doe-dp-prev-locked {
	opacity: 0.28 !important;
	pointer-events: none !important;
	cursor: default !important;
}

.doe-booking-widget .hb-dp-day,
.doe-booking-widget .hb-dp-day-link {
	pointer-events: auto !important;
}

.doe-booking-widget .hb-dp-day.hb-day-available,
.doe-booking-widget .hb-dp-day.hb-day-available a {
	cursor: pointer !important;
}

.doe-booking-widget .hb-dp-month-header {
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--doe-ink) !important;
	margin: 0 44px 10px !important;
	padding: 4px 0 !important;
	background: transparent !important;
	border: 0 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	height: auto !important;
	min-height: 0 !important;
}

.doe-booking-widget .hb-dp-week-header,
.doe-booking-widget .hb-dp-week {
	display: flex !important;
	width: 100% !important;
}

.doe-booking-widget .hb-dp-week-header > div,
.doe-booking-widget .hb-dp-week > div,
.doe-booking-widget .hb-dp-day {
	flex: 1 1 0 !important;
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.doe-booking-widget .hb-dp-week-header > div {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--doe-muted) !important;
	padding: 6px 0 10px !important;
	text-transform: uppercase !important;
}

.doe-booking-widget .hb-dp-day {
	height: 40px !important;
	line-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border-radius: 50% !important;
}

.doe-booking-widget .hb-dp-day:not(.doe-dp-range-start):not(.doe-dp-range-end):not(.doe-dp-in-range):not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	color: var(--doe-ink) !important;
	background: transparent !important;
	-webkit-text-fill-color: var(--doe-ink) !important;
}

.doe-booking-widget .hb-dp-day a,
.doe-booking-widget .hb-dp-day-link,
.doe-booking-widget .hb-day-taken-content {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	line-height: 40px !important;
	text-decoration: none !important;
	border-radius: 50% !important;
}

.doe-booking-widget .hb-dp-day-past,
.doe-booking-widget .hb-dp-day-closed,
.doe-booking-widget .hb-dp-day-not-selectable,
.doe-booking-widget .hb-dp-day-no-check-in,
.doe-booking-widget .datepick-other-month {
	color: #c4c4c4 !important;
	font-weight: 400 !important;
	background: transparent !important;
}

.doe-booking-widget .hb-dp-day-past a,
.doe-booking-widget .hb-dp-day-closed a,
.doe-booking-widget .hb-dp-day-not-selectable a {
	color: #c4c4c4 !important;
	cursor: default !important;
}

/* Only the two boundary dates get the selected circle */
.doe-booking-widget .hb-dp-day.doe-dp-range-start,
.doe-booking-widget .hb-dp-day.doe-dp-range-end,
.doe-booking-widget .hb-dp-day.hb-dp-day-check-in,
.doe-booking-widget .hb-dp-day.hb-dp-day-check-out {
	background: #111111 !important;
	background-color: #111111 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-radius: 50% !important;
	position: relative;
	z-index: 1;
}

.doe-booking-widget .hb-dp-day.doe-dp-range-start *,
.doe-booking-widget .hb-dp-day.doe-dp-range-end *,
.doe-booking-widget .hb-dp-day.hb-dp-day-check-in *,
.doe-booking-widget .hb-dp-day.hb-dp-day-check-out *,
.doe-booking-widget .hb-dp-day.doe-dp-range-start a,
.doe-booking-widget .hb-dp-day.doe-dp-range-end a,
.doe-booking-widget .hb-dp-day.hb-dp-day-check-in a,
.doe-booking-widget .hb-dp-day.hb-dp-day-check-out a {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: transparent !important;
	background-color: transparent !important;
	border-radius: 50% !important;
}

/* Continuous stay fill — not individual selected circles */
.doe-booking-widget .hb-dp-day.doe-dp-in-range {
	background: #dbe7ff !important;
	background-color: #dbe7ff !important;
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
	border-radius: 0 !important;
}

.doe-booking-widget .hb-dp-day.doe-dp-in-range a,
.doe-booking-widget .hb-dp-day.doe-dp-in-range span,
.doe-booking-widget .hb-dp-day.doe-dp-in-range * {
	background: transparent !important;
	background-color: transparent !important;
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
	border-radius: 0 !important;
}

.doe-booking-widget .hb-dp-highlight:not(.doe-dp-range-start):not(.doe-dp-range-end):not(.doe-dp-in-range):not(.hb-dp-day-check-in):not(.hb-dp-day-check-out) {
	background: var(--doe-soft) !important;
}

.doe-booking-widget .hb-dp-selected:not(.doe-dp-range-start):not(.doe-dp-range-end):not(.hb-dp-day-check-in):not(.hb-dp-day-check-out),
.doe-booking-widget .hb-dp-day.hb-dp-selected:not(.doe-dp-range-start):not(.doe-dp-range-end) {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--doe-ink) !important;
	-webkit-text-fill-color: var(--doe-ink) !important;
}

.doe-booking-widget .hb-day-taken-start:before,
.doe-booking-widget .hb-day-taken-end:before,
.doe-booking-widget .hb-day-fully-taken {
	background: transparent !important;
}

.doe-booking-widget .hb-day-fully-taken,
.doe-booking-widget .hb-day-taken-start,
.doe-booking-widget .hb-day-taken-end {
	color: #c4c4c4 !important;
	font-weight: 400 !important;
}

/* ---- Check-in / Check-out rows ---- */
.doe-booking-widget .hb-search-fields {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	min-height: 0 !important;
}

.doe-booking-widget .hbook-wrapper,
.doe-booking-widget .hb-booking-search-form,
.doe-booking-widget .hb-search-fields-and-submit {
	margin-top: 0 !important;
	padding-top: 0 !important;
	height: auto !important;
	min-height: 0 !important;
}

.doe-booking-widget .doe-guests-card {
	order: 20;
	width: 100%;
	border: 1px solid var(--doe-line);
	border-radius: var(--doe-radius);
	background: var(--doe-bg);
	overflow: hidden;
	margin: 8px 0 18px;
}

.doe-booking-widget .doe-guests-limit {
	padding: 12px 20px 0;
	font-size: 13px;
	font-weight: 500;
	color: var(--doe-muted);
}

.doe-booking-widget .hb-search-submit-wrapper,
.doe-booking-widget .hb-search-button-wrapper {
	order: 30;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.doe-booking-widget .hb-check-dates-wrapper {
	order: 10;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 10px 4px !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.doe-booking-widget .hb-check-dates-wrapper > label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
}

.doe-booking-widget .hb-check-dates-wrapper::before {
	content: "";
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222222' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
}

.doe-booking-widget .doe-date-label {
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--doe-ink) !important;
	white-space: nowrap !important;
	pointer-events: none !important;
}

.doe-booking-widget .doe-date-label strong {
	font-weight: 700 !important;
}

.doe-booking-widget .hb-check-dates-wrapper .hb-input-datepicker,
.doe-booking-widget .hb-check-dates-wrapper .doe-date-input-overlay {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	z-index: 2 !important;
	color: transparent !important;
}

.doe-booking-widget .hb-datepick-check-in-out-trigger,
.doe-booking-widget .hb-datepick-check-in-out-mobile-trigger {
	display: none !important;
}

/* ---- Guest steppers ---- */
.doe-booking-widget .doe-guest-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
}

.doe-booking-widget .doe-guest-row + .doe-guest-row {
	border-top: 1px solid var(--doe-line);
}

.doe-booking-widget .doe-guest-copy .doe-guest-title {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: var(--doe-ink);
	line-height: 1.3;
}

.doe-booking-widget .doe-guest-copy .doe-guest-sub {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 400;
	color: var(--doe-muted);
}

.doe-booking-widget .doe-stepper {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.doe-booking-widget .doe-stepper-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid #b0b0b0;
	background: #fff;
	color: var(--doe-ink);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: border-color 0.15s ease, opacity 0.15s ease;
}

.doe-booking-widget .doe-stepper-btn:hover:not(:disabled) {
	border-color: var(--doe-ink);
}

.doe-booking-widget .doe-stepper-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.doe-booking-widget .doe-stepper-val {
	min-width: 1.25em;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	color: var(--doe-ink);
}

/* ---- Pets card ---- */
.doe-booking-widget .doe-pets-card {
	border: 1px solid var(--doe-line);
	border-radius: var(--doe-radius);
	background: var(--doe-bg);
	margin: 0 0 18px;
	overflow: hidden;
}

.doe-booking-widget .doe-pet-check-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	margin: 0;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	color: var(--doe-ink);
}

.doe-booking-widget .doe-pet-check-row input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: #111;
	cursor: pointer;
}

.doe-booking-widget .doe-pet-details {
	border-top: 1px solid var(--doe-line);
	padding: 0 0 8px;
}

.doe-booking-widget .doe-pet-qty-row {
	border-bottom: 0;
}

.doe-booking-widget .doe-pet-price-lines {
	padding: 0 20px 14px;
}

.doe-booking-widget .doe-pet-line {
	margin: 0 0 6px;
	font-size: 14px;
	color: var(--doe-muted);
}

.doe-booking-widget .doe-pet-line strong {
	color: var(--doe-ink);
	font-weight: 600;
}

/* Hide native HBook Pets quantity field — controlled by doe-pets-card */
.doe-booking-widget .hb-option:has(input[name^="hb-option-1-"]),
.hbook-wrapper .hb-option:has(input[name^="hb-option-1-"]),
.doe-booking-widget .doe-hbook-pet-option,
.hbook-wrapper .doe-hbook-pet-option {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

.doe-booking-widget .hb-summary-pets-price {
	font-weight: 600;
}

.doe-booking-widget .hb-title-extra,
.hbook-wrapper .hb-title-extra {
	display: none !important;
}

.doe-booking-account {
	margin: 8px 0 18px;
	padding: 18px 16px 16px;
	border: 1px solid var(--doe-line);
	border-radius: var(--doe-radius);
	background: #fff;
}

.doe-booking-account__title {
	margin: 0 0 6px;
	font-size: 20px;
	font-weight: 700;
	color: var(--doe-ink);
}

.doe-booking-account__lead,
.doe-booking-account__welcome {
	margin: 0 0 14px;
	font-size: 14px;
	color: var(--doe-muted);
}

.doe-booking-account__tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 14px;
}

.doe-booking-account__tab {
	flex: 1 1 0;
	height: 40px;
	border: 1px solid var(--doe-line);
	border-radius: 8px;
	background: #fff;
	color: var(--doe-ink);
	font-weight: 600;
	cursor: pointer;
}

.doe-booking-account__tab.is-active {
	background: #111;
	border-color: #111;
	color: #fff;
}

.doe-booking-account__form label {
	display: block;
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--doe-ink);
}

.doe-booking-account__form input[type="text"],
.doe-booking-account__form input[type="email"],
.doe-booking-account__form input[type="password"] {
	display: block;
	width: 100%;
	height: 46px;
	margin-top: 6px;
	padding: 10px 12px;
	border: 1px solid var(--doe-line);
	border-radius: 8px;
	background: #fff;
}

.doe-booking-account__remember {
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-weight: 500 !important;
}

.doe-booking-account__remember input {
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
}

.doe-booking-account__submit {
	width: 100%;
	height: 48px;
	border: 0;
	border-radius: 8px;
	background: #111;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.doe-booking-account__lost {
	margin: 10px 0 0;
	text-align: center;
}

.doe-booking-account__msg {
	margin: 0 0 12px;
	padding: 8px 10px;
	border-radius: 8px;
	background: #f4f7f2;
	color: #2f4a28;
	font-size: 13px;
}

.doe-booking-account__msg.is-error {
	background: #fdecee;
	color: #8a2b36;
}

.doe-booking-widget .doe-customer-welcome,
.hbook-wrapper .doe-customer-welcome {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #f4f7f2;
	color: #2f4a28;
	font-size: 14px;
	font-weight: 500;
}

.doe-booking-widget .hb-people-wrapper {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

/* ---- Search / Book now ---- */
.doe-booking-widget .hb-search-submit-wrapper label {
	display: none !important;
}

.doe-booking-widget .hb-search-submit-wrapper input[type="submit"],
.doe-booking-widget .hbook-wrapper input[type="submit"].doe-book-now,
.doe-booking-widget .hb-confirm-button input[type="submit"] {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 16px 24px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #111111 !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	font-family: var(--doe-font) !important;
	letter-spacing: 0.01em !important;
	cursor: pointer !important;
	text-align: center !important;
	box-shadow: none !important;
	transition: background 0.2s ease !important;
}

.doe-booking-widget .hb-search-submit-wrapper input[type="submit"]:hover,
.doe-booking-widget .hb-confirm-button input[type="submit"]:hover {
	background: #000000 !important;
}

.doe-booking-widget .hb-search-error,
.doe-booking-widget .hb-search-no-result {
	margin-top: 12px !important;
}

/* Details form keeps readable spacing inside widget flow */
.doe-booking-widget .hb-booking-details-form {
	margin-top: 24px !important;
	padding: 20px !important;
	border: 1px solid var(--doe-line) !important;
	border-radius: var(--doe-radius) !important;
	background: var(--doe-bg) !important;
}

.doe-booking-widget .hb-booking-details-form input[type="text"],
.doe-booking-widget .hb-booking-details-form input[type="email"],
.doe-booking-widget .hb-booking-details-form input[type="tel"],
.doe-booking-widget .hb-booking-details-form textarea,
.doe-booking-widget .hb-booking-details-form select {
	width: 100% !important;
	height: 48px !important;
	border: 1px solid var(--doe-line) !important;
	border-radius: 8px !important;
	padding: 10px 12px !important;
	background: #fff !important;
}

	@media (max-width: 640px) {
	.doe-booking-widget .hb-dp-month-row {
		gap: 12px !important;
	}

	.doe-booking-widget .hb-dp-cmd-prev,
	.doe-booking-widget a.hb-dp-cmd-prev {
		left: 12px !important;
	}

	.doe-booking-widget .hb-dp-cmd-next,
	.doe-booking-widget a.hb-dp-cmd-next {
		right: 12px !important;
	}

	.doe-booking-widget .doe-guest-row {
		padding: 16px;
	}
}

/* Hide HBook's second date picker so only the availability calendar is shown */
body.doe-booking-skin .hb-datepick-popup-wrapper,
body.doe-booking-skin .doe-booking-cal-mount {
	display: none !important;
}

/* Availability colors must win over the Airbnb datepick styles */
.doe-booking-widget .doe-listing-avail .hb-dp-day,
.doe-booking-widget .hb-availability-calendar .hb-dp-day {
	border-radius: 0 !important;
}

.doe-booking-widget .doe-listing-avail .hb-dp-day a,
.doe-booking-widget .hb-availability-calendar .hb-dp-day a,
.doe-booking-widget .doe-listing-avail .hb-day-taken-content,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-content {
	border-radius: 0 !important;
}

.doe-booking-widget .doe-listing-avail .hb-day-available,
.doe-booking-widget .hb-availability-calendar .hb-day-available,
.doe-booking-widget .doe-listing-avail .hb-day-available a,
.doe-booking-widget .hb-availability-calendar .hb-day-available a {
	background: #e7f4ec !important;
	background-color: #e7f4ec !important;
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

.doe-booking-widget .doe-listing-avail .hb-day-fully-taken,
.doe-booking-widget .hb-availability-calendar .hb-day-fully-taken,
.doe-booking-widget .doe-listing-avail .hb-day-fully-taken a,
.doe-booking-widget .hb-availability-calendar .hb-day-fully-taken a,
.doe-booking-widget .doe-listing-avail .hb-day-fully-taken .hb-day-taken-content,
.doe-booking-widget .hb-availability-calendar .hb-day-fully-taken .hb-day-taken-content {
	background: #f7d7dc !important;
	background-color: #f7d7dc !important;
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

.doe-booking-widget .doe-listing-avail .hb-dp-day-past,
.doe-booking-widget .hb-availability-calendar .hb-dp-day-past,
.doe-booking-widget .doe-listing-avail .hb-dp-day-past a,
.doe-booking-widget .hb-availability-calendar .hb-dp-day-past a {
	background: #ececec !important;
	background-color: #ececec !important;
	color: #8d8d8d !important;
	-webkit-text-fill-color: #8d8d8d !important;
}

.doe-booking-widget .doe-listing-avail .hb-day-taken-start,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-start {
	background: linear-gradient(135deg, #f7d7dc 50%, #e7f4ec 50%) !important;
	color: #111111 !important;
}

.doe-booking-widget .doe-listing-avail .hb-day-taken-end,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-end {
	background: linear-gradient(135deg, #e7f4ec 50%, #f7d7dc 50%) !important;
	color: #111111 !important;
}

.doe-booking-widget .doe-listing-avail .hb-day-taken-start a,
.doe-booking-widget .doe-listing-avail .hb-day-taken-end a,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-start a,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-end a,
.doe-booking-widget .doe-listing-avail .hb-day-taken-start .hb-day-taken-content,
.doe-booking-widget .doe-listing-avail .hb-day-taken-end .hb-day-taken-content,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-start .hb-day-taken-content,
.doe-booking-widget .hb-availability-calendar .hb-day-taken-end .hb-day-taken-content {
	background: transparent !important;
	background-color: transparent !important;
	color: #111111 !important;
}

.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-range-start,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-range-end,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-picked-in,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-picked-out,
.doe-booking-widget .hb-availability-calendar .hb-dp-day.doe-dp-range-start,
.doe-booking-widget .hb-availability-calendar .hb-dp-day.doe-dp-range-end,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-range-start a,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-range-end a,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-picked-in a,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-picked-out a,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-range-start,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-range-end,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-picked-in,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-picked-out,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-range-start a,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-range-end a {
	background: #111111 !important;
	background-color: #111111 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-radius: 50% !important;
}

.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-in-range,
.doe-booking-widget .hb-availability-calendar .hb-dp-day.doe-dp-in-range,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-in-range a,
.doe-booking-widget .doe-listing-avail .hb-dp-day.doe-dp-in-range span,
.doe-booking-widget .hb-availability-calendar .hb-dp-day.doe-dp-in-range a,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-in-range,
.doe-booking-widget .doe-listing-avail .hb-day-available.doe-dp-in-range a,
.doe-booking-widget .hb-availability-calendar .hb-day-available.doe-dp-in-range,
.doe-booking-widget .hb-availability-calendar .hb-day-available.doe-dp-in-range a {
	background: #dbe7ff !important;
	background-color: #dbe7ff !important;
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
	border-radius: 0 !important;
}

/* Datepick popup must stay hidden so it cannot cover Next / details. */
body.doe-booking-skin .hb-datepick-popup-wrapper,
body.doe-booking-skin .doe-booking-cal-mount,
.doe-booking-widget .hb-datepick-popup-wrapper,
.doe-booking-widget .doe-booking-cal-mount {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	z-index: 0 !important;
}

.doe-booking-widget .hb-accom-list,
.doe-booking-widget .hb-intermediate-step-wrapper,
.doe-booking-widget .hb-booking-details-form {
	position: relative;
	z-index: 40;
}

.doe-booking-widget .hb-step-button,
.doe-booking-widget .hb-next-step-1,
.doe-booking-widget .hb-next-step-2,
.doe-booking-widget .hb-previous-step-1,
.doe-booking-widget .hb-previous-step-2,
.doe-booking-widget .hb-confirm-button {
	position: relative;
	z-index: 41;
	pointer-events: auto !important;
}

.doe-booking-widget .hb-step-button input,
.doe-booking-widget .hb-next-step-1 input,
.doe-booking-widget .hb-next-step-2 input,
.doe-booking-widget .hb-previous-step-1 input,
.doe-booking-widget .hb-previous-step-2 input,
.doe-booking-widget .hb-confirm-button input {
	pointer-events: auto !important;
	cursor: pointer !important;
}

.doe-booking-widget.doe-dates-locked .hb-search-fields-and-submit,
.doe-booking-widget.doe-dates-locked .doe-guests-card,
.doe-booking-widget.doe-dates-locked .doe-pets-card,
.doe-booking-widget.doe-dates-locked .hb-search-submit-wrapper {
	display: none !important;
	pointer-events: none !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

.doe-booking-widget.doe-dates-locked .doe-listing-avail {
	pointer-events: none !important;
}

.doe-booking-widget.doe-dates-locked .doe-listing-avail .hb-dp-cmd-prev,
.doe-booking-widget.doe-dates-locked .doe-listing-avail .hb-dp-cmd-next {
	pointer-events: auto !important;
}
