.asr-reservation-form{
	display:grid;
	gap:18px;
	width:100%;
}

.asr-reservation-form .wp-block-columns{
	gap:18px;
}

.asr-field{
	display:grid;
	gap:7px;
	width:100%;
}

.asr-field-label{
	font-size:.9rem;
	font-weight:600;
	line-height:1.35;
}

.asr-field input:not([type=checkbox]),
.asr-field textarea,
.asr-field select{
	width:100%;
	min-height:46px;
	padding:10px 13px;
	border:1px solid #cbd5e1;
	border-radius:10px;
	background:#fff;
	color:#0f172a;
	-webkit-text-fill-color:#0f172a;
	caret-color:#0f172a;
	color-scheme:light;
	font:inherit;
	box-sizing:border-box;
	appearance:auto;
}

.asr-field input::placeholder,
.asr-field textarea::placeholder{
	color:#94a3b8;
	opacity:1;
	-webkit-text-fill-color:#94a3b8;
}

.asr-field input[type=date],
.asr-field input[type=time],
.asr-field input[type=number]{
	background:#fff;
	color:#0f172a;
	-webkit-text-fill-color:#0f172a;
}

.asr-field input[type=date]::-webkit-datetime-edit,
.asr-field input[type=time]::-webkit-datetime-edit,
.asr-field input[type=date]::-webkit-datetime-edit-fields-wrapper,
.asr-field input[type=time]::-webkit-datetime-edit-fields-wrapper{
	color:#0f172a;
	-webkit-text-fill-color:#0f172a;
}

.asr-field input[type=date]::-webkit-datetime-edit-text,
.asr-field input[type=date]::-webkit-datetime-edit-day-field,
.asr-field input[type=date]::-webkit-datetime-edit-month-field,
.asr-field input[type=date]::-webkit-datetime-edit-year-field,
.asr-field input[type=time]::-webkit-datetime-edit-hour-field,
.asr-field input[type=time]::-webkit-datetime-edit-minute-field,
.asr-field input[type=time]::-webkit-datetime-edit-ampm-field{
	color:#0f172a;
	-webkit-text-fill-color:#0f172a;
}

.asr-field input[type=date]::-webkit-calendar-picker-indicator,
.asr-field input[type=time]::-webkit-calendar-picker-indicator{
	opacity:.7;
	cursor:pointer;
}

.asr-field textarea{
	min-height:120px;
	resize:vertical;
}

.asr-field input:focus,
.asr-field textarea:focus,
.asr-field select:focus{
	outline:none;
	border-color:#4169e1;
	box-shadow:0 0 0 3px rgba(65,105,225,.14);
}

.asr-field-consent{
	display:flex;
	align-items:center;
	gap:10px;
	width:100%;
	font-size:.82rem;
	line-height:1.4;
	cursor:pointer;
}

.asr-field-consent input[type=checkbox]{
	flex:0 0 auto;
	width:17px;
	height:17px;
	margin:0;
	border:1px solid #94a3b8;
	border-radius:4px;
	background:#fff;
	accent-color:#4169e1;
	color-scheme:light;
	cursor:pointer;
}

.asr-field-consent span{
	display:block;
	margin:0;
}

.asr-submit{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:46px;
	padding:10px 20px;
	border:0;
	border-radius:10px;
	background:#2563eb;
	color:#fff;
	font:inherit;
	font-weight:700;
	cursor:pointer;
	transition:background-color .15s ease,transform .15s ease;
}

.asr-submit:hover{
	background:#1d4ed8;
}

.asr-submit:focus-visible{
	outline:3px solid rgba(65,105,225,.28);
	outline-offset:2px;
}

.asr-notice{
	padding:12px 14px;
	border-radius:10px;
	margin-bottom:16px;
}

.asr-success{
	background:#f0fdf4;
	border:1px solid #bbf7d0;
	color:#166534;
}

.asr-error{
	background:#fef2f2;
	border:1px solid #fecaca;
	color:#991b1b;
}

@media(max-width:781px){
	.asr-reservation-form .wp-block-columns{gap:14px}
	.asr-field-consent{font-size:.8rem}
}

.asr-date-picker{position:relative;width:100%}
.asr-date-trigger{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	width:100%;
	min-height:46px;
	padding:10px 13px;
	border:1px solid #cbd5e1;
	border-radius:10px;
	background:#fff;
	color:#0f172a;
	font:inherit;
	text-align:left;
	cursor:pointer;
	box-sizing:border-box;
}
.asr-date-trigger:hover{border-color:#94a3b8}
.asr-date-trigger:focus-visible{outline:none;border-color:#4169e1;box-shadow:0 0 0 3px rgba(65,105,225,.14)}
.asr-date-trigger-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asr-date-trigger-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#475569;flex:0 0 auto}
.asr-date-trigger-icon svg{width:20px;height:20px;fill:currentColor}
.asr-calendar{
	position:absolute;
	z-index:9999;
	top:calc(100% + 8px);
	left:0;
	width:min(340px,calc(100vw - 32px));
	padding:14px;
	border:1px solid #e2e8f0;
	border-radius:16px;
	background:#fff;
	color:#0f172a;
	box-shadow:0 18px 45px rgba(15,23,42,.18);
	box-sizing:border-box;
}
.asr-calendar[hidden]{display:none!important}
.asr-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:12px}
.asr-calendar-title{text-align:center;font-size:.95rem;font-weight:700;text-transform:capitalize}
.asr-calendar-nav{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	padding:0;
	border:0;
	border-radius:10px;
	background:#f8fafc;
	color:#334155;
	font:inherit;
	cursor:pointer;
}
.asr-calendar-nav:hover:not(:disabled){background:#eef2ff;color:#4169e1}
.asr-calendar-nav:disabled{opacity:.35;cursor:not-allowed}
.asr-calendar-weekdays,.asr-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.asr-calendar-weekdays{margin-bottom:4px}
.asr-calendar-weekdays span{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:28px;
	color:#64748b;
	font-size:.72rem;
	font-weight:700;
	text-transform:uppercase;
}
.asr-calendar-day{
	aspect-ratio:1/1;
	min-width:0;
	padding:0;
	border:0;
	border-radius:10px;
	background:transparent;
	color:#0f172a;
	font:inherit;
	font-size:.88rem;
	font-weight:600;
	cursor:pointer;
	transition:background-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.asr-calendar-day:hover:not(:disabled):not(.is-selected){background:rgba(65,105,225,.09);color:#3157c8}
.asr-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px rgba(65,105,225,.45);color:#3157c8}
.asr-calendar-day.is-selected{background:#4169e1;color:#fff;box-shadow:0 5px 14px rgba(65,105,225,.28)}
.asr-calendar-day:disabled{color:#cbd5e1;cursor:not-allowed;background:transparent}
.asr-calendar-day.is-outside{opacity:.32}
@media(max-width:520px){
	.asr-calendar{width:min(320px,calc(100vw - 24px));padding:12px}
	.asr-calendar-day{font-size:.82rem}
}
