/* ==========================================================================
 * Forms — creation forms, dropdowns, sliders
 * ========================================================================== */
.-push-slider-box {
	width: -webkit-fill-available;
	display: flex;
	position: relative;
	align-items: center;
	min-height: 6.25vw;
	margin: 0 3.125vw;
	justify-content: center;
}

.-push-slide {
	--slider-tail: var(--app-accent);
	z-index: 1;
	width: -webkit-fill-available;
	height: var(--hivergo-slider-height);
	position: relative;
	margin: 0;
	padding: 0;
	overflow: visible;
	border: 0;
	outline: 0;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 6.25vw;
	background-color: #0000;
	background-image: linear-gradient(90deg, #0000 0%, var(--slider-tail) var(--slider-mid), #fff var(--slider-fill), var(--dimmer) var(--slider-fill), var(--dimmer) 100%);
}

.-push-slide::-webkit-slider-runnable-track {
	height: var(--hivergo-slider-height);
	border-radius: 6.25vw;
	background-color: #0000;
	background-image: linear-gradient(90deg, #0000 0%, var(--slider-tail) var(--slider-mid), #fff var(--slider-fill), var(--dimmer) var(--slider-fill), var(--dimmer) 100%);
}

.-push-slide::-webkit-slider-thumb {
	width: var(--hivergo-slider-thumb);
	height: var(--hivergo-slider-thumb);
	margin-top: -1.875vw;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 50%;
	border: 0.625vw solid #fff;
	background: var(--slider-tail);
	box-shadow: none;
	filter: none;
}

.-push-slide::-moz-range-track {
	height: var(--hivergo-slider-height);
	border: 0;
	border-radius: 6.25vw;
	background-color: #0000;
	background-image: linear-gradient(90deg, #0000 0%, var(--slider-tail) var(--slider-mid), #fff var(--slider-fill), var(--dimmer) var(--slider-fill), var(--dimmer) 100%);
}

.-push-slide::-moz-range-thumb {
	width: var(--hivergo-slider-thumb);
	height: var(--hivergo-slider-thumb);
	border-radius: 50%;
	border: 0.625vw solid #fff;
	background: var(--slider-tail);
	box-shadow: none;
	filter: none;
}

.-widget-quota-slider {
	display: flex;
	gap: 3.125vw;
	position: relative;
	flex-flow: column;
	margin: 0 3.125vw;
}

.-form-root .-widget-divider::before {
	border-color: #fff;
}

.-foot-push-slide {
	margin: 0 3.125vw;
}

.-foot-push-slide.---seek-mode {
	--slider-tail: #78d9ff;
}

.-foot-push-slide.---video-seek-mode {
	--slider-tail: #ff806f;
}

.-foot-push-slide.---notepad-slider-mode {
	--slider-tail: #0d7111;
}

.-foot-push-slide.---editor-slider-mode {
	--slider-tail: var(--editor-slider-color);
}

.-hiver-suggest-form,
.-hiver-calendar-form {
	gap: 1.5625vw;
	width: 100%;
	display: flex;
	flex-flow: column;
}

.-hiver-suggest-form .-create-modal-input,
.-hiver-calendar-form .-hiver-suggest-note {
	resize: none;
	min-height: 25vw;
	padding-top: 3.125vw;
	padding-bottom: 3.125vw;
}

.-hiver-suggest-form .-widget-item {
	flex: 0 0 auto;
}

.-form-root {
	width: 100%;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
}

.-form-stack {
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	margin: 0 3.125vw;
	clip-path: var(--squircle);
	background: var(--field-surface);
}

.-form-stack >:first-child {
	margin-top: 3.125vw;
}

.-form-stack >:last-child {
	margin-bottom: 3.125vw;
}

.-form-field {
	display: flex;
	gap: 1.5625vw;
	flex-flow: column;
}

.-form-field label {
	display: flex;
	gap: .9375vw;
	color: var(--app-muted);
	align-items: center;
	padding: 0 15px;
	height: 12.5vw;
	font-size: 3.75vw;
	font-family: 'Delius';
	margin: 0 3.125vw;
	background: linear-gradient(45deg,hsl(0deg 0% 100% / 70%),transparent);
	clip-path: var(--squircle-small);
}

.-form-required {
	color: var(--app-accent);
}

.-form-field input,
.-form-field textarea {
	width: -webkit-fill-available;
	padding: 0 4.6875vw;
	min-height: 14.0625vw;
	border: 0;
	outline: 0;
	resize: none;
	margin: 0 3.125vw;
	color: var(--app-color);
	font-family: inherit;
	font-size: 3.4375vw;
	font-weight: 600;
	clip-path: var(--squircle);
	background: var(--surface);
	transition: background .2s,color .2s;
}

.-form-field input:focus,
.-form-field textarea:focus {
	background: var(--app-theme);
	color: var(--app-muted);
}

.-form-field input::placeholder,
.-form-field textarea::placeholder {
	color: color-mix(in srgb,var(--app-muted) 68%,transparent);
	opacity: 1;
	font-weight: 600;
}

.-form-field input:focus::placeholder,
.-form-field textarea:focus::placeholder {
	color: color-mix(in srgb,var(--app-muted) 78%,transparent);
}

.-form-field textarea {
	min-height: 31.25vw;
	line-height: 1.5;
	padding: 4.6875vw;
}

.-form-dropdown {
	min-height: 12.5vw;
	position: relative;
	display: flex;
	align-items: center;
	isolation: isolate;
	background: #0000;
	overflow: visible;
	margin: 0 3.125vw;
}

.-form-dropdown::before {
	inset: 0;
	content: "";
	z-index: -1;
	position: absolute;
	clip-path: var(--squircle);
	background: var(--surface);
}

.-form-dropdown-value {
	flex: 1;
	min-width: 0;
	padding: 0 0 0 4.6875vw;
	font-size: 3.4375vw;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.-form-dropdown-menu {
	display: none;
}

.-form-dropdown.---open {
	z-index: 130;
}

.-form-dropdown.---open .-form-dropdown-menu {
	display: none;
}

.-form-dropdown-option {
	min-height: 14.0625vw;
	display: flex;
	align-items: center;
	padding: 0 4.6875vw;
	font-size: 3.75vw;
	margin: 0 3.125vw;
	font-family: 'Nunito';
	color: var(--app-muted);
	clip-path: var(--squircle);
	background: var(--field-surface);
	justify-content: space-between;
}

.-form-dropdown-option.---active {
	color: #fff;
	background: var(--app-accent);
}

.-form-image-picker {
	position: relative;
	overflow: hidden;
	background: var(--surface);
	background-image: var(--preview-image,none);
	background-size: cover;
	background-position: center;
}

.-form-image-picker.---avatar {
	width: 18.75vw;
	height: 18.75vw;
	margin: 0 auto;
	border-radius: 50%;
}

.-form-image-picker.---square {
	width: -webkit-fill-available;
	aspect-ratio: 1/1;
	margin: 0 3.125vw;
	display: grid;
	place-items: center;
	clip-path: var(--squircle);
}

.-form-image-picker input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.-form-image-picker-copy {
	inset: 0;
	display: flex;
	gap: 1.5625vw;
	position: absolute;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 900;
	text-align: center;
}

.-form-image-picker-copy .material-symbols-rounded {
	color: var(--app-accent);
	font-size: 8.75vw;
}

.-form-image-picker.---avatar .-form-image-picker-copy span:last-child {
	display: none;
}

.-form-image-picker.---has-preview .-form-image-picker-copy {
	opacity: 0;
}

.-form-image-picker.---file-ready .-form-image-picker-copy {
	color: var(--app-accent);
}

.-form-geo {
	display: flex;
	gap: 1.5625vw;
}

.-form-geo input {
	flex: 1;
	min-width: 0;
}

.-form-geo-locate {
	width: 12.5vw;
	min-width: 12.5vw;
	display: grid;
	place-items: center;
	color: var(--app-accent);
	clip-path: var(--squircle);
	background: var(--control-surface);
}

.-form-geo-locate .material-symbols-rounded {
	font-size: 6.25vw;
}

.-form-map-field {
	gap: 3.125vw;
}

.-form-map {
	width: -webkit-fill-available;
	aspect-ratio: 1/1;
	margin: 0 3.125vw;
	position: relative;
	overflow: hidden;
	touch-action: none;
	clip-path: var(--squircle);
	background: var(--surface);
}

.-form-map.---map-hidden {
	display: none;
}

.-form-map-placeholder {
	inset: 0;
	display: flex;
	gap: 1.5625vw;
	position: absolute;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--app-muted);
	background: var(--surface);
}

.-form-map-placeholder .material-symbols-rounded {
	color: var(--app-accent);
	font-size: 12.5vw;
}

.-form-map-placeholder b {
	color: var(--app-color);
	font-size: 4.375vw;
}

.-form-map-placeholder small {
	max-width: 62.5vw;
	font-size: 3.125vw;
	line-height: 1.4;
}

.-form-map-grid {
	inset: 0;
	position: absolute;
	background-color: color-mix(in srgb,var(--app-theme) 48%,#fff);
	background-image: linear-gradient(rgb(255 255 255 / 52%) 1px,#0000 1px),linear-gradient(90deg,rgb(255 255 255 / 52%) 1px,#0000 1px);
	background-size: 12.5vw 12.5vw;
}

.-form-map-pin {
	left: 50%;
	top: 50%;
	z-index: 2;
	position: absolute;
	color: var(--app-accent);
	transform: translate(-50%,-100%);
}

.-form-map-pin .material-symbols-rounded {
	font-size: 12.5vw;
	filter: drop-shadow(0 1.5625vw 1.5625vw rgb(0 0 0 / 20%));
}

.-form-map.---map-editable > small {
	left: 3.125vw;
	right: 3.125vw;
	bottom: 3.125vw;
	z-index: 3;
	position: absolute;
	padding: 1.5625vw 3.125vw;
	text-align: center;
	color: var(--app-muted);
	font-size: 3.125vw;
	font-weight: 800;
	clip-path: var(--squircle);
	background: rgb(255 255 255 / 82%);
}

.-form-repeater {
	display: flex;
	gap: 2.1875vw;
	flex-flow: column;
}

.-form-repeater-list {
	display: flex;
	gap: 2.1875vw;
	flex-flow: column;
}

.-form-repeat-item {
	position: relative;
	display: flex;
	gap: 2.1875vw;
	flex-flow: column;
	padding: 4.6875vw 3.125vw 3.125vw;
	clip-path: var(--squircle);
	background: color-mix(in srgb,var(--app-theme) 45%,#fff);
}

.-form-repeat-index {
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .15625vw;
}

.-form-repeat-remove {
	top: 2.1875vw;
	right: 2.1875vw;
	width: 9.375vw;
	height: 9.375vw;
	display: grid;
	place-items: center;
	position: absolute;
	color: var(--app-accent);
	clip-path: var(--squircle);
	background: #fff;
}

.-form-repeater-add {
	min-height: 11.875vw;
	display: flex;
	gap: 1.5625vw;
	align-items: center;
	justify-content: center;
	color: var(--app-accent);
	font-size: 3.125vw;
	font-weight: 900;
	clip-path: var(--squircle);
	background: #fff;
}

.-right-form-suite {
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	padding: 3.125vw 0 9.375vw;
}

.-right-form-suite > .-widget-divider:first-child {
	margin-top: 3.125vw;
}

/* Form dropdown menus are portaled to the body so HiverGo widget clipping never cuts them off. */

.-form-dropdown-popover {
	z-index: 100000;
	display: flex;
	gap: 3.125vw;
	position: fixed;
	flex-flow: column;
	max-height: 68.75vw;
	overflow: visible;
	isolation: isolate;
}

.-form-dropdown-popover::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: -1;
	clip-path: var(--squircle);
	background: var(--surface);
}

.-form-dropdown-popover::after {
	content: '';
	z-index: -2;
	inset: 0;
	position: absolute;
	height: 100%;
	border-radius: 6.25vw;
	box-shadow: 0 0 3.125vw #00000050;
}

.-form-dropdown-popover-options {
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	max-height: inherit;
	overflow: hidden auto;
	clip-path: var(--squircle);
}

.-form-dropdown-popover-options >:first-child {
	margin-top: 3.125vw;
}

.-form-dropdown-popover .-form-dropdown-option {
	flex: none;
}

.-book-admin-form {
	width: 100%;
	display: flex;
	gap: 3.125vw;
	flex-flow: column;
	padding: 0 3.125vw 3.125vw;
}

.-book-admin-form > .-widget {
	width: 100%;
	margin: 0;
}

.-book-form-widget > .-widget-body {
	overflow: visible;
}
