.pf-booking-form-wrapper{
	--pf-bg:#1f1f1f;
	--pf-border:#3a3a3a;
	--pf-text:#e8d9a6;
	--pf-accent:#d1a55f;
	--pf-accent-strong:#f1c77a;
	--pf-input-bg:#ffffff;
	--pf-input-text:#1c1c1c;
	--pf-input-border:#d2b57a;
	--pf-input-placeholder:#c7ab6d;
	--pf-card-bg:#ffffff;
	--pf-card-border:#ece6d8;
	--pf-card-text:#2d2d2d;
	--pf-title:#caa76a;
	--pf-muted:#bfa56c;
	--pf-card-shadow:0 10px 24px rgba(0, 0, 0, 0.35);
	padding:18px;
	border-radius:12px;
	background:var(--pf-bg);
	border:1px solid var(--pf-border);
	color:var(--pf-text);
	box-shadow:0 14px 32px rgba(0, 0, 0, 0.35);
}

.pf-booking-form-wrapper.pf-booking--rent{
	--pf-bg:#2f3e50;
	--pf-border:#475b75;
	--pf-text:#e7f0ff;
	--pf-accent:#f1c77a;
	--pf-accent-strong:#f4d08c;
	--pf-input-bg:#223040;
	--pf-input-text:#e7f0ff;
	--pf-input-border:#5a7590;
	--pf-input-placeholder:#99b0c5;
	--pf-card-bg:#2f3e50;
	--pf-card-border:#3e556c;
	--pf-card-text:#e7f0ff;
	--pf-title:#d7c08f;
	--pf-muted:#b6c9dc;
	--pf-card-shadow:0 8px 16px rgba(0, 0, 0, 0.28);
}

.pf-booking-form-wrapper h3{margin:0 0 12px 0;font-size:16px;letter-spacing:0.5px}

.pf-booking-title{
	margin:14px 0 8px;
	font-size:16px;
	font-weight:700;
	letter-spacing:0.4px;
	color:var(--pf-title);
}

.pf-booking-field{margin:12px 0}

.pf-booking-form-wrapper .control--radio,
.pf-booking-form-wrapper .control--checkbox{
	position:relative;
	display:block;
	cursor:pointer;
	user-select:none;
}

.pf-booking-form-wrapper .control--radio input,
.pf-booking-form-wrapper .control--checkbox input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.pf-booking-days{
	position:relative;
	margin-bottom:14px;
}

.pf-booking-days-track{
	display:flex;
	gap:10px;
	overflow-x:auto;
	padding:8px 38px;
	scroll-behavior:smooth;
	scroll-snap-type:x mandatory;
}

.pf-booking-days-track::-webkit-scrollbar{height:6px}
.pf-booking-days-track::-webkit-scrollbar-thumb{background:rgba(255, 255, 255, 0.25);border-radius:10px}

.pf-booking-days .control__indicator{
	min-width:72px;
	padding:10px 6px;
	text-align:center;
	line-height:1.1;
	border-radius:10px;
	background:var(--pf-card-bg);
	border:1px solid var(--pf-card-border);
	color:var(--pf-card-text);
	font-weight:600;
	box-shadow:var(--pf-card-shadow);
	scroll-snap-align:start;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:2px;
}

.pf-booking-days .control__indicator br{display:none}

.pf-booking-days .control__indicator_day{
	display:block;
	margin:4px 0;
	font-size:22px;
	font-weight:800;
	color:#111111;
}

.pf-booking-days .control--radio input:checked + .control__indicator{
	background:#111111;
	color:var(--pf-accent);
	border-color:var(--pf-accent);
	box-shadow:0 10px 24px rgba(0, 0, 0, 0.45);
}

.pf-booking-days .control--radio input:checked + .control__indicator .control__indicator_day{
	color:var(--pf-accent);
}

.pf-booking-days-arrow{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:34px;
	height:34px;
	border-radius:50%;
	border:1px solid #e0e0e0;
	background:#f5f5f5;
	color:#a28a4f;
	font-size:18px;
	line-height:1;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 8px 18px rgba(0, 0, 0, 0.35);
	z-index:2;
}

.pf-booking-days-prev{left:0}
.pf-booking-days-next{right:0}

.pf-booking-tour-type{
	display:flex;
	gap:10px;
}

.pf-booking-tour-type .control--radio{flex:1}

.pf-booking-tour-type .control__indicator{
	display:block;
	text-align:center;
	padding:12px 10px;
	border-radius:8px;
	border:1px solid var(--pf-input-border);
	background:var(--pf-input-bg);
	color:var(--pf-input-text);
	font-weight:700;
	transition:all 0.2s ease;
}

.pf-booking-tour-type .control--radio input:checked + .control__indicator{
	background:#111111;
	color:var(--pf-accent);
	border-color:var(--pf-accent);
	box-shadow:inset 0 0 0 1px var(--pf-accent);
}

.pf-booking-form-wrapper.pf-booking--rent .pf-booking-tour-type .control--radio input:checked + .control__indicator{
	background:#1b2532;
}

.pf-booking-input,
.pf-booking-select,
.pf-booking-form-wrapper .select2-container--default .select2-selection--single{
	width:100%;
	padding:12px 14px;
	border:1px solid var(--pf-input-border);
	border-radius:8px;
	background:var(--pf-input-bg);
	color:var(--pf-input-text);
	box-shadow:0 4px 12px rgba(0, 0, 0, 0.18);
}

.pf-booking-form-wrapper.pf-booking--rent .pf-booking-input,
.pf-booking-form-wrapper.pf-booking--rent .pf-booking-select,
.pf-booking-form-wrapper.pf-booking--rent .select2-container--default .select2-selection--single{
	box-shadow:none;
}

.pf-booking-form-wrapper textarea.pf-booking-input{min-height:120px;resize:vertical}

.pf-booking-form-wrapper ::placeholder{color:var(--pf-input-placeholder);opacity:1}

.pf-booking-form-wrapper .select2-container{width:100% !important}
.pf-booking-form-wrapper .select2-container--default .select2-selection--single{
	height:auto;
}
.pf-booking-form-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered{
	color:var(--pf-input-text);
	line-height:24px;
	padding-left:0;
}
.pf-booking-form-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow{
	height:100%;
}

.pf-booking-terms{
	font-size:13px;
	color:var(--pf-muted);
}

.pf-booking-form-wrapper .control--checkbox{
	padding-left:28px;
	line-height:1.4;
}

.pf-booking-form-wrapper .control--checkbox .control__indicator{
	position:absolute;
	left:0;
	top:2px;
	width:18px;
	height:18px;
	border-radius:4px;
	border:1px solid var(--pf-input-border);
	background:var(--pf-input-bg);
}

.pf-booking-form-wrapper .control--checkbox .control__indicator:after{
	content:"";
	position:absolute;
	display:none;
	left:4px;
	top:1px;
	width:6px;
	height:10px;
	border:solid #1a1a1a;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}

.pf-booking-form-wrapper .control--checkbox input:checked ~ .control__indicator{
	background:var(--pf-accent);
	border-color:var(--pf-accent);
}

.pf-booking-form-wrapper .control--checkbox input:checked ~ .control__indicator:after{display:block}

.pf-booking-form-wrapper a{color:var(--pf-accent)}

.pf-booking-submit{
	width:100%;
	padding:12px 14px;
	border:0;
	border-radius:8px;
	background:var(--pf-accent);
	color:#1a1a1a;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:0.5px;
	box-shadow:0 8px 16px rgba(0, 0, 0, 0.25);
}

.pf-booking-result{margin-top:10px;font-weight:600}

/* Flatpickr tweaks */
.pf-booking-form-wrapper .flatpickr-calendar{
	box-shadow:none;
	border-radius:10px;
	border:1px solid #3c4b60;
}

.pf-booking-form-wrapper .flatpickr-day{border-radius:6px}

.pf-booking-form-wrapper.pf-booking--rent .flatpickr-calendar{
	background:#2f3e50;
	color:#e7f0ff;
	border-color:#3e556c;
}

.pf-booking-form-wrapper.pf-booking--rent .flatpickr-months,
.pf-booking-form-wrapper.pf-booking--rent .flatpickr-weekdays{
	color:#e7f0ff;
}

.pf-booking-form-wrapper.pf-booking--rent .flatpickr-day{color:#e7f0ff}

.pf-booking-form-wrapper.pf-booking--rent .flatpickr-day.selected,
.pf-booking-form-wrapper.pf-booking--rent .flatpickr-day.startRange,
.pf-booking-form-wrapper.pf-booking--rent .flatpickr-day.endRange{
	background:var(--pf-accent);
	color:#1a1a1a;
	border-color:var(--pf-accent);
}

.golden-forms form input, form textarea {
    color: #777 !important;
}