/* INL Formulare – zurückhaltendes Basis-Styling.
   Nutzt weitgehend die Typografie/Farben des Themes; Divi-Designoptionen
   greifen über das Modul zusätzlich. */

.inl-form { max-width: 100%; }

.inl-form .inl-field { margin: 0 0 1.25em; }

.inl-form label,
.inl-form legend { display: block; font-weight: 600; margin-bottom: 0.25em; }

.inl-form .inl-option label { display: inline; font-weight: 400; margin: 0; }
.inl-form .inl-option { display: block; margin: 0.2em 0; }

.inl-form input[type="text"],
.inl-form input[type="email"],
.inl-form input[type="tel"],
.inl-form input[type="number"],
.inl-form input[type="date"],
.inl-form select,
.inl-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.5em 0.65em;
	border: 1px solid #b5b8bd;
	border-radius: 3px;
	background: #fff;
	box-sizing: border-box;
}

.inl-form input[type="file"] { max-width: 100%; }

.inl-form input:focus,
.inl-form select:focus,
.inl-form textarea:focus,
.inl-form .inl-submit:focus,
.inl-form .inl-cancel:focus {
	outline: 2px solid #2271b1;
	outline-offset: 1px;
}

.inl-form fieldset { border: 0; padding: 0; margin: 0; }

.inl-form .inl-field-desc { font-size: 0.9em; opacity: 0.8; margin: 0 0 0.35em; }
.inl-form .inl-field-hint { font-size: 0.85em; opacity: 0.75; margin: 0.3em 0 0; }

/* Liste der ausgewählten Dateien mit Entfernen-Button. */
.inl-form .inl-file-list { list-style: none; margin: 0.5em 0 0; padding: 0; }
.inl-form .inl-file-list li {
	display: flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.35em 0.6em;
	margin: 0.25em 0;
	background: rgba(0, 0, 0, 0.04);
	border-radius: 3px;
	font-size: 0.9em;
	overflow-wrap: anywhere;
}
.inl-form .inl-file-remove {
	margin-left: auto;
	border: 0;
	background: none;
	cursor: pointer;
	color: #c0392b;
	font-size: 1em;
	line-height: 1;
	padding: 0.2em 0.4em;
	flex-shrink: 0;
}
.inl-form .inl-file-remove:hover { background: rgba(192, 57, 43, 0.12); border-radius: 3px; }
.inl-form .inl-required { color: #c0392b; }

.inl-form .inl-field-error {
	color: #c0392b;
	font-size: 0.9em;
	margin: 0.3em 0 0;
	min-height: 0;
}
.inl-form .inl-field-error:empty { display: none; }

.inl-form .inl-field.has-error input,
.inl-form .inl-field.has-error select,
.inl-form .inl-field.has-error textarea { border-color: #c0392b; }

/* Honeypot: aus dem Sichtbereich, aber nicht display:none (Bots erkennen das). */
.inl-form .inl-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px; overflow: hidden;
}

.inl-form .inl-privacy { font-size: 0.9em; opacity: 0.85; margin-bottom: 1em; }

.inl-form .inl-status:empty { display: none; }
.inl-form .inl-status {
	padding: 0.75em 1em;
	border-radius: 3px;
	margin-bottom: 1em;
	background: #f0f6fc;
	border-left: 4px solid #2271b1;
}
.inl-form .inl-status.is-success { background: #edfaef; border-left-color: #00a32a; }
.inl-form .inl-status.is-error { background: #fcf0f1; border-left-color: #d63638; }

.inl-form .inl-progress { margin: 1em 0; }
.inl-form .inl-progress-bar {
	height: 14px;
	background: #e5e5e5;
	border-radius: 7px;
	overflow: hidden;
}
.inl-form .inl-progress-fill {
	height: 100%;
	width: 0;
	background: #2271b1;
	transition: width 0.3s ease;
}
.inl-form .inl-progress-text { font-size: 0.9em; margin: 0.4em 0; }

.inl-form .inl-submit {
	cursor: pointer;
	padding: 0.7em 1.6em;
}
.inl-form .inl-submit[disabled] { opacity: 0.6; cursor: default; }

.inl-form-missing { color: #996800; font-style: italic; }

/* Zusammenfassung (inline unter dem Formular oder auf der Ergebnis-Seite). */
.inl-summary { margin-top: 1.25em; max-width: 720px; }
.inl-summary-message {
	padding: 0.75em 1em;
	border-radius: 3px;
	background: #edfaef;
	border-left: 4px solid #00a32a;
}
.inl-summary h3 { margin: 0.75em 0 0.5em; }
.inl-summary dl {
	display: grid;
	grid-template-columns: minmax(140px, 38%) 1fr;
	gap: 0.35em 1.25em;
	margin: 0;
}
.inl-summary dt { font-weight: 600; overflow-wrap: anywhere; }
.inl-summary dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 480px) {
	.inl-summary dl { grid-template-columns: 1fr; gap: 0 0; }
	.inl-summary dd { margin-bottom: 0.6em; }
}
