.ccc-search-card {
	--ccc-teal: #57c1bb;
	--ccc-teal-dark: #3fa39d;
	--ccc-blue: #397499;
	--ccc-text: #333333;
	--ccc-divider: #e0ded9;
	--ccc-surface: #f7f5f2;
	margin: 34px auto 0;
	width: fit-content;
	max-width: 100%;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 24px 60px rgba(32, 30, 29, 0.2);
	padding: 22px 26px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.ccc-search-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: 18px;
}
.ccc-sb-field {
	min-width: 220px;
}
.ccc-sb-field label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--ccc-text);
	margin-bottom: 7px;
}
.ccc-sb-input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--ccc-divider);
	border-radius: 8px;
	padding: 13px 14px;
	font: inherit;
	font-size: 15px;
	color: var(--ccc-text);
	background: var(--ccc-surface);
	cursor: pointer;
}
.ccc-guests-field {
	position: relative;
	min-width: 200px;
}
.ccc-guests-btn,
.ccc-guests-btn:hover,
.ccc-guests-btn:focus,
.ccc-guests-btn:active,
.ccc-guests-btn:focus-visible {
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	border: 1px solid var(--ccc-divider) !important;
	border-radius: 8px;
	padding: 13px 12px;
	font: inherit;
	font-size: 15px;
	color: var(--ccc-text) !important;
	background: var(--ccc-surface) !important;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	outline: none;
}
.ccc-guests-btn svg {
	flex: none;
	stroke: var(--ccc-blue);
}
.ccc-guests-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 20;
	width: 280px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 16px 40px rgba(32, 30, 29, 0.18);
	padding: 18px;
	display: none;
	flex-direction: column;
	gap: 14px;
}
.ccc-guests-dropdown.is-open {
	display: flex;
}
.ccc-counter-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.ccc-counter-row + .ccc-counter-row {
	padding-top: 12px;
	border-top: 1px solid var(--ccc-divider);
}
.ccc-counter-title {
	font-weight: 700;
	font-size: 14px;
	color: var(--ccc-text);
}
.ccc-counter-sub {
	font-size: 12px;
	color: #777;
}
.ccc-counter-controls {
	display: flex;
	align-items: center;
	gap: 12px;
}
.ccc-counter-controls button {
	width: 30px;
	height: 30px;
	border-radius: 999px;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
}
.ccc-counter-minus {
	border: 1px solid var(--ccc-divider);
	background: #fff;
	color: var(--ccc-text);
}
.ccc-counter-plus {
	border: none;
	background: var(--ccc-teal);
	color: #fff;
	font-size: 16px;
}
.ccc-counter-value {
	min-width: 16px;
	text-align: center;
	font-weight: 700;
	color: var(--ccc-text);
}
.ccc-child-age-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.ccc-child-age-row select {
	width: 96px;
	min-height: 32px;
	border-radius: 6px;
	border: 1px solid var(--ccc-divider);
}
.ccc-guests-confirm {
	width: 100%;
	margin-top: 4px;
	background: var(--ccc-teal);
	color: #fff;
	border: none;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 12px;
	border-radius: 999px;
	cursor: pointer;
}
.ccc-guests-confirm:hover {
	background: var(--ccc-teal-dark);
}
.ccc-search-submit {
	height: 48px;
	padding: 0 30px;
	border-radius: 999px;
	background: var(--ccc-teal);
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-family: inherit;
	font-size: 15px;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.ccc-search-submit:hover {
	background: var(--ccc-teal-dark);
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
	background: var(--ccc-teal, #57c1bb) !important;
	border-color: var(--ccc-teal, #57c1bb) !important;
}
.flatpickr-day.inRange {
	background: #57c1bb38 !important;
	border-color: #57c1bb38 !important;
	box-shadow: -5px 0 0 #57c1bb38, 5px 0 0 #57c1bb38 !important;
}
.flatpickr-day.today {
	border-color: var(--ccc-teal, #57c1bb);
	color: var(--ccc-teal, #57c1bb);
	font-weight: 700;
}
.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-weekdays {
	background: var(--ccc-blue, #397499);
}
span.flatpickr-weekday {
	background: var(--ccc-blue, #397499);
	color: #dff1ef;
}
.flatpickr-current-month input.cur-year,
.flatpickr-current-month .cur-month,
.flatpickr-current-month .flatpickr-monthDropdown-months {
	color: #fff !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months option {
	color: var(--ccc-blue, #397499) !important;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
	color: #fff;
	fill: #fff;
}

@media (max-width: 700px) {
	.ccc-search-card {
		width: calc(100% - 8px) !important;
	}
	.ccc-search-row {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 12px !important;
	}
	.ccc-search-row .ccc-sb-field,
	.ccc-search-row .ccc-guests-field {
		min-width: 0 !important;
		width: 100% !important;
	}
	.ccc-search-row > button {
		width: 100% !important;
		justify-content: center !important;
	}
}
