.brs-form,
.brs-form *{
	font-family:"Montserrat", Sans-serif;
}

.brs-form{
	max-width:1100px;
	margin:0 auto;
	padding:28px;
	background:linear-gradient(180deg,#1c1a19 0%,#171514 100%);
	border:1px solid rgba(184,147,82,.18);
	border-radius:24px;
	box-shadow:0 20px 60px rgba(0,0,0,.28);
	color:#f5efe6;
}

.brs-message{
	max-width:1100px;
	margin:0 auto 18px;
	padding:14px 16px;
	border-radius:14px;
	font-size:15px;
	line-height:1.5;
}

.brs-success{
	background:rgba(21,53,31,.92);
	border:1px solid rgba(87,175,111,.28);
	color:#fff;
}

.brs-error{
	background:rgba(75,29,29,.92);
	border:1px solid rgba(208,98,98,.28);
	color:#fff;
}

.brs-form-messages{
	margin-bottom:16px;
}

.brs-honeypot{
	position:absolute !important;
	left:-99999px !important;
	top:auto !important;
	width:1px !important;
	height:1px !important;
	overflow:hidden !important;
	opacity:0 !important;
	pointer-events:none !important;
}

.brs-steps{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
	align-items:start;
	margin-bottom:28px;
}

.brs-step{
	position:relative;
	text-align:center;
	min-width:0;
	color:#fff;
}

.brs-step:not(:last-child):after{
	content:"";
	position:absolute;
	top:20px;
	left:calc(50% + 28px);
	width:calc(100% - 56px + 18px);
	height:1px;
	background:rgba(255,255,255,.3);
}

.brs-step-circle{
	width:40px;
	height:40px;
	margin:0 auto 10px;
	border-radius:999px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid rgba(255,255,255,.45);
	color:#fff;
	background:transparent;
	font-size:15px;
	font-weight:500;
	transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}

.brs-step.is-active .brs-step-circle{
	border-color:#b89352;
	color:#b89352;
	box-shadow:0 0 0 2px rgba(184,147,82,.08);
}

.brs-step.has-error .brs-step-circle{
	border-color:#e24d4d;
	color:#fff;
	background:#e24d4d;
	box-shadow:none;
}

.brs-step-title{
	font-size:15px;
	line-height:1.1;
	font-weight:500;
	white-space:normal;
}

.brs-step.is-active .brs-step-title{
	color:#b89352;
}

.brs-step.has-error .brs-step-title{
	color:#e24d4d;
}

.brs-sections{
	display:grid;
	gap:18px;
}

.brs-section{
	padding:0;
	margin:0;
	display:none;
}

.brs-section.active{
	display:block;
}

.brs-section-head{
	margin-bottom:16px;
}

.brs-section-head h2{
	margin:0;
	color:#fff;
	font-size:22px;
	line-height:1.2;
	font-weight:700;
}

.brs-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
}

.brs-field{
	min-width:0;
}

.brs-field label{
	display:inline-flex;
	align-items:center;
	margin-bottom:9px;
	color:#fff;
	font-weight:500;
	font-size:15px;
	line-height:1.35;
}

.brs-field-radio > .brs-field-label{
	display:flex;
	width:100%;
}

.brs-required{
	color:#d5ab61;
	margin-left:4px;
}

.brs-field input,
.brs-field textarea,
.brs-field select{
	width:100%;
	background:#2a2827;
	border:1px solid rgba(255,255,255,.06);
	color:#fff;
	padding:10px 16px;
	border-radius:12px;
	box-sizing:border-box;
	font-family:"Montserrat", Sans-serif;
	line-height:1.35;
	transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}

.brs-field textarea{
	min-height:132px;
	resize:vertical;
}

.brs-field input::placeholder,
.brs-field textarea::placeholder{
	color:rgba(255,255,255,.45);
}

.brs-field input:focus,
.brs-field textarea:focus,
.brs-field select:focus{
	outline:none;
	border-color:#b89352;
	box-shadow:0 0 0 3px rgba(184,147,82,.18);
	background:#2f2c2b;
}

.brs-field.is-invalid input,
.brs-field.is-invalid textarea,
.brs-field.is-invalid select{
	border-color:#e24d4d;
	box-shadow:0 0 0 3px rgba(226,77,77,.16);
}

.brs-field.is-invalid .brs-choice{
	border-color:#e24d4d;
	box-shadow:0 0 0 3px rgba(226,77,77,.08);
}

.brs-select{
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 5l4 4 4-4' stroke='%23d5ab61' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 16px center;
	background-size:14px 14px;
	padding-right:46px !important;
	text-align:left !important;
	text-align-last:left;
	justify-content:flex-start;
}

.brs-date-picker{
	cursor:pointer;
}

.brs-choices{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	gap:12px;
	align-items:stretch;
}

.brs-choice{
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:flex-start;
	gap:12px;
	padding:14px 16px;
	border:1px solid rgba(255,255,255,.08);
	border-radius:12px;
	background:#242221;
	cursor:pointer;
	transition:border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
	flex:1 1 100%;
	min-width:0;
}

.brs-choice:hover{
	border-color:rgba(184,147,82,.35);
	background:#272423;
}

.brs-choices-radio .brs-choice{
	flex:1 1 calc(50% - 12px);
	min-width:220px;
}

.brs-choices-checkboxes .brs-choice{
	flex:1 1 100%;
}

.brs-choice-single{
	width:100%;
}

.brs-choice input{
	flex:0 0 auto;
	width:18px;
	height:18px;
	margin:0;
	accent-color:#b89352;
}

.brs-choice span{
	color:#fff;
	line-height:1.45;
	flex:1 1 auto;
}

.brs-actions{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin-top:22px;
	flex-wrap:wrap;
}

.brs-actions > button{
	min-height:52px;
	padding:15px 28px;
	border-radius:12px;
	border:none;
	cursor:pointer;
	font-weight:500;
	letter-spacing:.01em;
	font-family:"Montserrat", Sans-serif;
	box-shadow:none;
	transition:transform .2s ease, filter .2s ease, background-color .2s ease, color .2s ease;
}

.brs-prev{
	background:#444;
	color:#fff;
}

.brs-prev:hover{
	background:#575757;
	transform:translateY(-1px);
}

.brs-next,
.brs-submit{
	background:#b89352;
	color:#14110f;
}

.brs-next:hover,
.brs-submit:hover{
	background:#d5ab61;
	transform:translateY(-1px);
}

.brs-next:active,
.brs-prev:active,
.brs-submit:active{
	transform:translateY(0);
}

/* Datepicker */
.ui-datepicker{
	z-index:999999 !important;
	background:#1f1d1c;
	color:#fff;
	border:1px solid rgba(184,147,82,.2);
	border-radius:16px;
	padding:12px;
	box-shadow:0 20px 40px rgba(0,0,0,.35);
}

.ui-datepicker .ui-datepicker-header{
	background:transparent;
	border:0;
	color:#fff;
	padding:0 0 10px;
}

.ui-datepicker .ui-datepicker-title{
	color:#fff;
	font-weight:500;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
	top:6px;
	cursor:pointer;
}

.ui-datepicker .ui-icon{
	background:none;
}

.ui-datepicker table{
	width:100%;
	border-collapse:separate;
	border-spacing:4px;
	margin:0;
}

.ui-datepicker th{
	color:#d5ab61;
	font-weight:500;
	font-size:12px;
	padding:4px 0;
}

.ui-datepicker td{
	padding:0;
}

.ui-datepicker td a,
.ui-datepicker td span{
	display:block;
	text-align:center;
	padding:8px 0;
	border-radius:10px;
	text-decoration:none;
}

.ui-datepicker .ui-state-default{
	background:#2a2827;
	border:1px solid rgba(255,255,255,.04);
	color:#fff;
}

.ui-datepicker .ui-state-hover{
	background:#353230;
	border-color:rgba(184,147,82,.35);
	color:#fff;
}

.ui-datepicker .ui-state-active{
	background:#b89352;
	border-color:#b89352;
	color:#14110f;
}

.ui-datepicker .ui-state-disabled .ui-state-default{
	background:#221f1e;
	color:rgba(255,255,255,.28);
	opacity:1;
	text-decoration:line-through;
}

.ui-datepicker .ui-datepicker-unselectable span{
	background:#221f1e;
	color:rgba(255,255,255,.28);
	text-decoration:line-through;
}

.ui-datepicker .ui-datepicker-current-day .ui-state-active{
	background:#d5ab61;
	border-color:#d5ab61;
	color:#14110f;
}


/* Availability calendar */
.brs-availability{
	max-width:1100px;
	margin:0 auto;
	padding:28px;
	background:linear-gradient(180deg,#151311 0%,#11100f 100%);
	border:1px solid rgba(184,147,82,.18);
	border-radius:24px;
	box-shadow:0 20px 60px rgba(0,0,0,.28);
	color:#f5efe6;
	font-family:"Montserrat", Sans-serif;
}

.brs-availability *{
	font-family:"Montserrat", Sans-serif;
	box-sizing:border-box;
}

.brs-availability-header{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:16px;
	margin-bottom:18px;
	flex-wrap:wrap;
}

.brs-availability-title{
	color:#fff;
	font-size:22px;
	line-height:1.2;
	font-weight:700;
}

.brs-availability-nav{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}

.brs-availability-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:0 14px;
	border-radius:10px;
	background:#b89352;
	color:#14110f !important;
	text-decoration:none;
	font-weight:600;
	border:none;
	box-shadow:none;
	transition:transform .2s ease, background-color .2s ease, filter .2s ease, color .2s ease;
	cursor:pointer;
	font-family:"Montserrat", Sans-serif;
	-webkit-tap-highlight-color:transparent;
}

.brs-availability-btn:hover{
	background:#d5ab61;
	transform:translateY(-1px);
	color:#14110f !important;
}

.brs-availability-btn:focus,
.brs-availability-btn:active,
.brs-availability-btn:visited{
	color:#14110f !important;
	text-decoration:none;
	outline:none;
}

.brs-availability-btn-ghost{
	background:#3f3d3c;
	color:#fff !important;
}

.brs-availability-btn-ghost:hover{
	background:#555251;
	color:#fff !important;
}

.brs-availability-btn-ghost:focus,
.brs-availability-btn-ghost:active,
.brs-availability-btn-ghost:visited{
	color:#fff !important;
}

.brs-availability-wrap{
	overflow:hidden;
	border:1px solid rgba(255,255,255,.08);
	border-radius:20px;
	background:#1b1918;
	min-width:0;
}

.brs-availability-days-head,
.brs-availability-body{
	display:grid;
	grid-template-columns:56px repeat(7,minmax(0,1fr));
	min-width:0;
}

.brs-availability-days-head{
	position:sticky;
	top:0;
	z-index:2;
	background:#1b1918;
}

.brs-availability-corner{
	background:#171615;
	border-right:1px solid rgba(255,255,255,.08);
	border-bottom:1px solid rgba(255,255,255,.08);
	min-height:32px;
	min-width:0;
}

.brs-availability-day-head{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:32px;
	padding:6px 10px;
	border-right:1px solid rgba(255,255,255,.08);
	border-bottom:1px solid rgba(255,255,255,.08);
	background:#1f1d1c;
	color:#e8dbc2;
	font-size:14px;
	line-height:1.2;
	font-weight:500;
	text-align:center;
	min-width:0;
	overflow:hidden;
}

.brs-availability-day-head.is-weekend{
	background:#201d1a;
	color:#f0e2c9;
}

.brs-availability-day-head.is-today{
	background:linear-gradient(180deg, rgba(184,147,82,.28) 0%, rgba(184,147,82,.16) 100%);
	color:#fff;
	box-shadow:inset 0 0 0 1px rgba(184,147,82,.35);
}

.brs-availability-body{
	align-items:start;
	background:#1b1918;
}

.brs-availability-hours{
	display:grid;
	grid-template-rows:repeat(24,var(--brs-row-height,26px));
	background:#2c2927;
	border-right:1px solid rgba(255,255,255,.08);
}

.brs-availability-hour{
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
	line-height:1;
	color:#fff;
	border-bottom:1px solid rgba(255,255,255,.08);
}

.brs-availability-day{
	position:relative;
	min-height:calc(var(--brs-row-height,26px) * 24);
	border-right:1px solid rgba(255,255,255,.08);
	background:
		repeating-linear-gradient(
			to bottom,
			transparent 0,
			transparent calc(var(--brs-row-height,26px) - 1px),
			rgba(255,255,255,.10) calc(var(--brs-row-height,26px) - 1px),
			rgba(255,255,255,.10) var(--brs-row-height,26px)
		);
	min-width:0;
	overflow:hidden;
}

.brs-availability-day.is-weekend{
	background:
		repeating-linear-gradient(
			to bottom,
			rgba(32,29,26,.95) 0,
			rgba(32,29,26,.95) calc(var(--brs-row-height,26px) - 1px),
			rgba(255,255,255,.10) calc(var(--brs-row-height,26px) - 1px),
			rgba(255,255,255,.10) var(--brs-row-height,26px)
		);
}

.brs-availability-day.is-today{
	background:
		repeating-linear-gradient(
			to bottom,
			rgba(184,147,82,.16) 0,
			rgba(184,147,82,.16) calc(var(--brs-row-height,26px) - 1px),
			rgba(255,255,255,.10) calc(var(--brs-row-height,26px) - 1px),
			rgba(255,255,255,.10) var(--brs-row-height,26px)
		);
	box-shadow:inset 0 0 0 1px rgba(184,147,82,.35);
}

.brs-availability-day-lines{
	position:absolute;
	inset:0;
	pointer-events:none;
}

.brs-availability-event{
	position:absolute;
	left:6px;
	right:6px;
	padding:8px 10px;
	border-radius:10px;
	background:#f5b51f;
	color:#fff;
	box-shadow:0 10px 20px rgba(0,0,0,.18);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	gap:4px;
	z-index:1;
	max-width:calc(100% - 12px);
}

.brs-availability-event-time{
	font-size:12px;
	line-height:1.1;
	font-weight:700;
	text-transform:none;
}

.brs-availability-event-title{
	font-size:13px;
	line-height:1.2;
	font-weight:600;
	text-transform:lowercase;
}

.brs-availability-legend{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	align-items:center;
	margin-top:14px;
	font-size:13px;
	color:#e7ddcc;
}

.brs-availability-legend span{
	display:inline-flex;
	align-items:center;
	gap:8px;
}

.brs-legend-dot{
	width:10px;
	height:10px;
	border-radius:999px;
	display:inline-block;
}

.brs-legend-dot-booked{ background:#f5b51f; }
.brs-legend-dot-today{ background:rgba(184,147,82,.8); border:1px solid rgba(184,147,82,.55); }
.brs-legend-dot-weekend{ background:#3a3734; border:1px solid rgba(255,255,255,.12); }

@media (max-width: 768px){
	.brs-availability{
		padding:18px;
		border-radius:18px;
	}
	.brs-availability-title{
		font-size:19px;
	}
	.brs-availability-days-head,
	.brs-availability-body{
		grid-template-columns:44px repeat(7,minmax(0,1fr));
	}
	.brs-availability-day-head{
		font-size:12px;
		padding:4px 6px;
	}
	.brs-availability-hour{
		font-size:11px;
	}
	.brs-availability-event{
		left:4px;
		right:4px;
		padding:7px 8px;
	}
	.brs-availability-event-time{
		font-size:10px;
	}
	.brs-availability-event-title{
		font-size:11px;
	}
}

@media (max-width: 980px){
	.brs-steps{
		grid-template-columns:repeat(2,minmax(0,1fr));
		row-gap:22px;
	}
	.brs-step:nth-child(2):after{
		display:none;
	}
	.brs-step:not(:last-child):after{
		width:calc(100% - 56px + 18px);
	}
	.brs-choices-radio .brs-choice{
		min-width:calc(50% - 12px);
	}
}

@media (max-width: 768px){
	.brs-form{
		padding:18px;
		border-radius:18px;
	}
	.brs-message{
		margin-bottom:14px;
	}
	.brs-steps{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:12px;
	}
	.brs-step:after{
		display:none !important;
	}
	.brs-step-title{
		font-size:12px;
		line-height:1.05;
	}
	.brs-step-circle{
		width:38px;
		height:38px;
		font-size:14px;
	}
	.brs-section-head h2{
		font-size:19px;
	}
	.brs-field input,
	.brs-field textarea,
	.brs-field select{
		padding:10px 14px;
		border-radius:11px;
	}
	.brs-choice{
		padding:13px 14px;
	}
	.brs-choices-radio .brs-choice,
	.brs-choice-single{
		flex:1 1 100%;
	}
	.brs-actions{
		flex-direction:column-reverse;
		align-items:stretch;
	}
	.brs-actions > button{
		width:100%;
	}
}

/* v111 */
.brs-field label{margin-bottom:8px}
.ui-datepicker{z-index:999999!important;font-family:Montserrat,sans-serif!important}
input[type="date"]{min-height:48px}

#ui-datepicker-div:empty{display:none!important;}
