.nami-info,
.nami-form {
	--nami-accent: #f5b600;
	--nami-ink: #1f2430;
	--nami-muted: #5f6775;
	--nami-border: #d8dbe2;
	--nami-bg: #ffffff;
	--nami-card: #f7f7fa;
	--nami-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.07);
	--nami-success: #1d7a4f;
	--nami-success-bg: #e6f6ee;
	--nami-error: #b42318;
	--nami-error-bg: #fdecec;
}

.nami-info {
	margin-bottom: 2rem;
}

.nami-info h2 {
	color: var(--nami-accent);
}

.nami-info h3 {
	color: var(--nami-ink);
	font-size: 1.35rem;
	font-weight: 500;
}

.nami-info p.achtung {
	color: var(--nami-ink);
	font-weight: 700;
	text-align: center;
	font-size: 1.2rem;
}

.nami-info p.achtung2 {
	color: var(--nami-ink);
	font-weight: 500;
	text-decoration: underline;
	text-align: center;
	font-size: 1.15rem;
}

.nami-info.is-success .nami-status,
.nami-info.is-error .nami-status {
	border: 1px solid var(--nami-border);
	border-radius: 1rem;
	box-shadow: var(--nami-shadow);
	padding: 1.25rem 1.5rem;
	background: var(--nami-bg);
}

.nami-info.is-success .nami-status {
	border-color: rgba(29, 122, 79, 0.35);
	background: var(--nami-success-bg);
}

.nami-info.is-error .nami-status {
	border-color: rgba(180, 35, 24, 0.35);
	background: var(--nami-error-bg);
}

.nami-info.is-success .nami-status h3 {
	color: var(--nami-success);
}

.nami-info.is-error .nami-status h3 {
	color: var(--nami-error);
}

.nami-info.is-success .nami-status p,
.nami-info.is-error .nami-status p {
	color: var(--nami-ink);
}

.nami-info a {
	color: var(--nami-accent);
	text-decoration: none;
}

.nami-info a:hover,
.nami-info a:focus {
	text-decoration: underline;
}

.nami-form fieldset {
	border: 0;
	margin-bottom: 1.25rem;
	padding: 1rem 0;
}

.nami-form legend {
	background-color: var(--nami-card);
	border: 1px solid var(--nami-border);
	border-radius: 0.75rem;
	color: var(--nami-ink);
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
	margin-bottom: 0.9rem;
	padding: 0.6rem 0.9rem;
	width: 100%;
}

.nami-form label {
	color: var(--nami-ink);
	display: inline-block;
	max-width: 100%;
}

.nami-form .label {
	display: none;
	margin-bottom: 0.5rem;
}

.nami-form input[type="text"],
.nami-form input[type="tel"],
.nami-form input[type="email"] {
	appearance: none;
	background: var(--nami-bg);
	border: 1px solid var(--nami-border);
	border-radius: 0.75rem;
	box-shadow: 0 1px 0 rgba(23, 27, 36, 0.04);
	color: var(--nami-ink);
	display: block;
	font-size: 1rem;
	margin-bottom: 1rem;
	padding: 0.65rem 0.85rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	width: 100%;
}

.nami-form input[type="text"]:focus,
.nami-form input[type="tel"]:focus,
.nami-form input[type="email"]:focus {
	border-color: var(--nami-accent);
	box-shadow: 0 0 0 3px rgba(245, 182, 0, 0.2);
	outline: none;
}

.nami-form input[type="text"]:valid,
.nami-form input[type="tel"]:valid,
.nami-form input[type="email"]:valid {
	border-color: #2e9f59;
}

.nami-form input[type="text"]:invalid,
.nami-form input[type="tel"]:invalid,
.nami-form input[type="email"]:invalid {
	border-color: #cf3b3b;
}

.nami-form .input-inline {
	display: inline-block;
	width: auto;
}

.nami-form .button {
	background-color: var(--nami-accent);
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.05rem;
	font-weight: 600;
	gap: 0.35rem;
	justify-content: center;
	margin-bottom: 0.75rem;
	padding: 0.75rem 1.6rem;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.3s;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 2px 4px rgba(0, 0, 0, 0.07);
}

.nami-form .button:disabled {
	background-color: #e0e0e0;
	box-shadow: none;
	cursor: not-allowed;
}

.nami-form .radio,
.nami-form .checkbox {
	display: block;
	margin-bottom: 0.7rem;
	margin-top: 0.7rem;
}

.nami-form .radio label,
.nami-form .checkbox label {
	align-items: center;
	display: inline-flex;
	gap: 0.5rem;
	min-height: 21px;
	font-weight: 500;
}

.nami-form input[type="checkbox"] {
	accent-color: var(--nami-accent);
	height: 1.1rem;
	width: 1.1rem;
}

.nami-form .ag-checkbox {
	height: 1.2rem;
	width: 1.2rem;
}

.nami-form table {
	background: var(--nami-bg);
	border: 1px solid var(--nami-border);
	border-collapse: separate;
	border-radius: 1rem;
	border-spacing: 0;
	margin-bottom: 1.5rem;
	overflow: hidden;
	width: 100%;
}

.nami-form th {
	background: var(--nami-card);
	border-bottom: 1px solid var(--nami-border);
	font-size: 1.75rem;
	font-weight: 600;
	padding: 0.6rem 0.9rem;
	text-align: center;
}

.nami-form td {
	padding: 0.5rem 0.9rem;
	vertical-align: top;
}

.nami-form td.key {
	color: var(--nami-muted);
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
	width: 20%;
}

.nami-form .montag {
	background-color: #d9f0ff;
}

.nami-form .dienstag {
	background-color: #ffe1ee;
}

.nami-form .mittwoch {
	background-color: #ddf7e3;
}

.nami-form .donnerstag {
	background-color: #ffe7da;
}

@media (max-width: 700px) {
	.nami-form td.key {
		text-align: left;
		width: auto;
	}
}