.form-container {
	max-width: 30rem;
	margin-inline: auto;
}

.form-container > form {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1rem;
}

.form-container > form :where(
	input, select, textarea, button, label
) {
	padding: 1rem;
}

.sub-inputs,
.options {
	--gap: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--gap);
}

.sub-inputs > :where(
	input, select, button, label
) {
	width: calc(50% - (var(--gap) / 2));
}

.form-container > form > button,
.sub-inputs > :where(button, label) {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .75rem;
	
	border: 2px solid var(--color-gray);
	box-shadow: var(--default-shadow);

	font-size: 1.1rem;
}

.sub-inputs > button > svg {
	width: 1rem;
	height: 1rem;
}

.sub-inputs > button[data-selected="false"] > svg {
	opacity: 0;
}

#color-button {
	--color: var(--color-dark);
	background-color: var(--color);
}

#info-form:has(#color-toggle:checked) .color-list {
	display: flex;
}

.color-list {
	display: none;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;

	padding: 1rem;
	border: 2px solid var(--color-gray);
	border-radius: 4px;
	box-shadow: var(--default-shadow);
}

.color-list > label {
	padding: 1rem;
	border: 1px solid transparent;
	background-color: var(--color);
}

.color-list > label:has(input:checked) {
	border-color: var(--color-white);
}

#info-form:has(#notification-service-selection-toggle:checked) .notification-service-selection {
	display: flex;
}

.notification-service-selection {
	width: 100%;
	max-height: 10rem;
	overflow-y: auto;

	display: none;
	flex-direction: column;
	
	border: 2px solid var(--color-gray);
	border-radius: 4px;

	box-shadow: var(--default-shadow);
}

.notification-service-selection > div {
	display: flex;
	gap: 1rem;
	padding: .5rem .75rem;
}

.notification-service-selection > div:not(:first-child) {
	border-top: 1px solid var(--color-gray);
}

.form-container > form .repeat-options > button {
	width: calc((100% / 3) - (var(--gap) / 1.5));
	min-width: min-content;
	padding: 1rem 0rem;
}

.repeat-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow-x: auto;

	border: 2px solid var(--color-gray);
	border-radius: 4px;
	box-shadow: var(--default-shadow);
}

.repeat-bar > input,
.repeat-bar > select {
	border: 0;
	box-shadow: none;
}

.repeat-bar > p {
	min-width: 7rem;

	padding: 1rem;
	padding-right: .25rem;
}

.repeat-bar > input[type="number"] {
	min-width: 5rem;
	
	padding-left: .25rem;
}

.repeat-bar > select {
	min-width: 8rem;
}

.weekday-bar {
	display: grid;
	grid-template-columns: auto auto auto auto auto auto auto;
	row-gap: .6rem;

	border: 2px solid var(--color-gray);
	border-radius: 4px;
	padding: 1rem;

	box-shadow: var(--default-shadow);
}

.weekday-bar > p {
	text-align: center;
	grid-row: 1 / 2;
}

.weekday-bar > input {
	margin: auto;
	width: 1.3rem;
	aspect-ratio: 1/1;
}

div.options > button {
	width: 6rem;
	
	border: 2px solid var(--color-gray);
	padding: .5rem 1rem;
	
	font-size: 1.1rem;

	transition: background-color .1s ease-in-out;
}

.options > button:hover {
	background-color: var(--color-gray);
}

#delete-info {
	border-color: var(--color-error);
	color: var(--color-error);
}

#test-reminder,
#test-service {
	display: flex;
	gap: 1rem;
	
	overflow-x: hidden;
}

#test-reminder > div,
#test-service > div {
	width: 100%;
	flex: 0 0 auto;
	
	font-size: inherit;
	
	transition: transform .1s linear;
}

#test-reminder.show-sent > div,
#test-service.show-sent > div {
	transform: translateX(calc(-100% - 1rem));
}

@media (max-width: 460px) {
	.sub-inputs > input,
	.sub-inputs > select,
	.sub-inputs > button,
	.sub-inputs > label,
	.form-container > form .repeat-options > button {
		width: 100%;
	}
	
	.weekday-bar {
		grid-template-columns: auto auto;
		grid-auto-flow: dense;
		column-gap: 1rem;
		row-gap: .8rem;
	}
	
	.weekday-bar > p {
		grid-row: unset;
		text-align: right;
	}
	
	.weekday-bar > input {
		margin: unset;
		width: min-content;
	}
}

/*  */
/* Adding */
/*  */
#info.show-add-reminder #delete-info {
	display: none;
}

#info.show-add-static-reminder #time-input,
#info.show-add-static-reminder #normal-button,
#info.show-add-static-reminder #repeat-button,
#info.show-add-static-reminder #weekday-button,
#info.show-add-static-reminder .repeat-bar,
#info.show-add-static-reminder .weekday-bar,
#info.show-add-static-reminder #delete-info {
	display: none;
}

#info.show-add-static-reminder #text-input {
	margin-top: -1rem;
}

#info.show-add-static-reminder #template-selection,
#info.show-add-static-reminder #color-button,
#info.show-add-static-reminder #notification-service-selection-button {
	width: 100%;
}

#info.show-add-template #template-selection,
#info.show-add-template #time-input,
#info.show-add-template #normal-button,
#info.show-add-template #repeat-button,
#info.show-add-template #weekday-button,
#info.show-add-template .repeat-bar,
#info.show-add-template .weekday-bar,
#info.show-add-template #test-reminder,
#info.show-add-template #delete-info {
	display: none;
}

#info.show-add-template #text-input {
	margin-top: -1rem;
}

#info.show-add-template #color-button,
#info.show-add-template #notification-service-selection-button {
	width: 100%;
}

/*  */
/* Editing */
/*  */
#info.show-edit-reminder #template-selection,
#info.show-edit-reminder #test-reminder {
	display: none;
}

#info.show-edit-reminder #color-button {
	width: 100%;
}

#info.show-edit-static-reminder #template-selection,
#info.show-edit-static-reminder #time-input,
#info.show-edit-static-reminder #normal-button,
#info.show-edit-static-reminder #repeat-button,
#info.show-edit-static-reminder #weekday-button,
#info.show-edit-static-reminder .repeat-bar,
#info.show-edit-static-reminder .weekday-bar {
	display: none;
}

#info.show-edit-static-reminder #text-input {
	margin-top: -1rem;
}

#info.show-edit-static-reminder #color-button,
#info.show-edit-static-reminder #notification-service-selection-button {
	width: 100%;
}

#info.show-edit-template #template-selection,
#info.show-edit-template #time-input,
#info.show-edit-template #normal-button,
#info.show-edit-template #repeat-button,
#info.show-edit-template #weekday-button,
#info.show-edit-template .repeat-bar,
#info.show-edit-template .weekday-bar,
#info.show-edit-template #test-reminder {
	display: none;
}

#info.show-edit-template #text-input {
	margin-top: -1rem;
}

#info.show-edit-template #color-button,
#info.show-edit-template #notification-service-selection-button {
	width: 100%;
}
