/*!
 * RS Anfrageformulare – Ergänzungen zu .rs-form (rs-ui.css)
 * Typ-Chips, Kontext-Box, Feldfehler, Auswahlknöpfe, Erfolgszustand mit sich
 * zeichnendem Häkchen. Handle: rs-forms (abhängig von rs-ui).
 */

/* ===================================================================== Grundgerüst */
.rs-inquiry { --rs-chip-fg: var(--rs-c-ink-soft); --rs-chip-bg: transparent; --rs-chip-bd: var(--rs-c-line); --rs-chip-fg-on: var(--rs-c-paper); --rs-chip-bg-on: var(--rs-c-ink); --rs-chip-hint: var(--rs-c-muted); --rs-chip-r: var(--rs-r-pill); min-width: 0; }
.rs-inquiry [hidden] { display: none !important; } /* A11y: hidden muss gegen display-Regeln gewinnen */
.rs-inquiry fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.rs-inquiry legend { padding: 0; float: none; width: auto; }
.rs-inquiry__surface { display: grid; gap: clamp(22px, 3vw, 36px); min-width: 0; }
.rs-inquiry--surface-light .rs-inquiry__surface { background: var(--rs-c-surface); border-radius: var(--rs-r-leaf); padding: clamp(24px, 4.5vw, 64px); }
.rs-inquiry--surface-dark .rs-inquiry__surface { background: var(--rs-c-dark); border-radius: var(--rs-r-leaf); padding: clamp(24px, 4.5vw, 64px); }
.rs-inquiry__heading { display: grid; gap: 14px; }
.rs-inquiry__heading .rs-title, .rs-inquiry__heading .rs-lead { margin: 0; }
.rs-inquiry__heading .rs-lead > :last-child, .rs-inquiry__heading .rs-text > :last-child { margin-bottom: 0; }

/* Einspaltig / kompakt */
.rs-inquiry--one .rs-form .rs-form__half { grid-column: span 2; }
.rs-inquiry .rs-form .rs-inquiry__field--wide { grid-column: span 2; }
.rs-inquiry--compact .rs-inquiry__surface { gap: 18px; }
.rs-inquiry--compact .rs-form { gap: 14px; }
.rs-inquiry--compact .rs-form textarea { min-height: 110px; }
.rs-inquiry--compact.rs-inquiry--surface-light .rs-inquiry__surface,
.rs-inquiry--compact.rs-inquiry--surface-dark .rs-inquiry__surface { padding: clamp(20px, 3vw, 32px); }

/* ===================================================================== Typ-Auswahl (große Chips) */
.rs-inquiry__types { display: grid; gap: 12px; }
.rs-inquiry__types-label { font-size: 1rem; }
.rs-inquiry__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.rs-inquiry__chip { position: relative; display: flex; max-width: 100%; cursor: pointer; }
.rs-inquiry__chip-input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.rs-inquiry__chip-body {
	display: flex; align-items: center; gap: .75em; min-height: 54px; max-width: 100%;
	padding: .65em 1.25em .65em .65em; border: 1px solid var(--rs-chip-bd); border-radius: var(--rs-chip-r);
	background: var(--rs-chip-bg); color: var(--rs-chip-fg);
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast), border-color var(--rs-dur-fast), transform .4s var(--rs-ease-out);
}
.rs-inquiry__chip-icon {
	display: inline-grid; place-items: center; flex: none; width: 2.25em; height: 2.25em; border-radius: 50%;
	color: var(--rs-area); background: color-mix(in srgb, var(--rs-area) 12%, transparent);
	transition: background-color var(--rs-dur-fast), color var(--rs-dur-fast);
}
.rs-inquiry__chip-icon .rs-icon { width: 1.15em; height: 1.15em; }
.rs-inquiry__chip-text { display: grid; gap: 2px; min-width: 0; }
.rs-inquiry__chip-name { font: 500 1rem/1.2 var(--rs-f-ui); overflow-wrap: anywhere; }
.rs-inquiry__chip-hint { font: 400 .8rem/1.3 var(--rs-f-ui); color: var(--rs-chip-hint); overflow-wrap: anywhere; }
.rs-inquiry__chip:hover .rs-inquiry__chip-body { border-color: var(--rs-c-ink); }
.rs-inquiry__chip-input:checked + .rs-inquiry__chip-body { background: var(--rs-chip-bg-on); color: var(--rs-chip-fg-on); border-color: var(--rs-chip-bg-on); }
.rs-inquiry__chip-input:checked + .rs-inquiry__chip-body .rs-inquiry__chip-hint { color: color-mix(in srgb, var(--rs-chip-fg-on) 72%, transparent); }
.rs-inquiry__chip-input:checked + .rs-inquiry__chip-body .rs-inquiry__chip-icon { background: var(--rs-area); color: #fff; }
.rs-inquiry__chip-input:focus-visible + .rs-inquiry__chip-body { outline: 2px solid var(--rs-c-focus); outline-offset: 3px; }
.rs-inquiry__chip:active .rs-inquiry__chip-body { transform: scale(.98); }
.rs-inquiry__noscript { margin-top: -6px; }

.rs-on-dark .rs-inquiry__chips { --rs-chip-fg: var(--rs-c-on-dark); --rs-chip-bd: rgb(255 255 255 / .2); --rs-chip-hint: var(--rs-c-on-dark-muted); --rs-chip-bg-on: var(--rs-c-paper); --rs-chip-fg-on: var(--rs-c-ink); }
.rs-on-dark .rs-inquiry__chip:hover .rs-inquiry__chip-body { border-color: var(--rs-c-on-dark); }
.rs-on-dark .rs-inquiry__chip-icon { color: color-mix(in srgb, var(--rs-area) 45%, #fff); background: rgb(255 255 255 / .08); }

@media (max-width: 767px) {
	.rs-inquiry__chips { gap: 8px; }
	.rs-inquiry__chip-hint { display: none; }
	.rs-inquiry__chip-body { min-height: 46px; padding: .45em 1em .45em .45em; gap: .55em; }
	.rs-inquiry__chip-icon { width: 2em; height: 2em; }
	.rs-inquiry__chip-name { font-size: .95rem; }
}

/* ===================================================================== Kontext-Box */
.rs-inquiry__context {
	display: flex; gap: 14px; align-items: flex-start; padding: 16px 20px;
	border-left: var(--rs-line-w) solid var(--rs-area); border-radius: var(--rs-r-leaf);
	background: color-mix(in srgb, var(--rs-area) 7%, var(--rs-c-surface));
}
.rs-inquiry__context-icon { flex: none; color: var(--rs-area); line-height: 0; margin-top: 2px; }
.rs-inquiry__context-icon .rs-icon { width: 20px; height: 20px; }
.rs-inquiry__context-text { margin: 0; font: 400 1rem/1.5 var(--rs-f-body); color: var(--rs-c-ink-soft); overflow-wrap: anywhere; }
.rs-inquiry__context-label { color: var(--rs-c-muted); }
.rs-inquiry__context-text strong { font-weight: 550; color: var(--rs-c-ink); }
.rs-on-dark .rs-inquiry__context { background: rgb(255 255 255 / .06); }
.rs-on-dark .rs-inquiry__context-text, .rs-on-dark .rs-inquiry__context-text strong { color: var(--rs-c-on-dark); }
.rs-on-dark .rs-inquiry__context-label { color: var(--rs-c-on-dark-muted); }

/* ===================================================================== Felder */
.rs-inquiry .rs-form__label .req { text-decoration: none; }
.rs-inquiry .rs-form__hint { margin: 0; line-height: 1.45; }
.rs-form__error { margin: 0; font: 500 .85rem/1.4 var(--rs-f-ui); color: var(--rs-c-error); }
.rs-inquiry [aria-invalid="true"] { border-color: var(--rs-c-error); }
.rs-inquiry .rs-form__check { margin: 0; }
.rs-inquiry .rs-form__check label { cursor: pointer; }
.rs-inquiry .rs-form__check a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.rs-inquiry .rs-form__check a:hover { color: var(--rs-area); }
.rs-inquiry .rs-form__check input[aria-invalid="true"] { outline: 2px solid var(--rs-c-error); outline-offset: 2px; }
.rs-inquiry input[type="number"].rs-form__input { -moz-appearance: textfield; }

/* Auswahlknöpfe (Radio) */
.rs-inquiry__options { display: flex; flex-wrap: wrap; gap: 10px 22px; padding-top: 4px; }
.rs-inquiry__option { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; font: 400 .98rem/1.35 var(--rs-f-body); color: var(--rs-c-ink-soft); cursor: pointer; }
.rs-inquiry__option input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--rs-area); }
.rs-inquiry__choice[aria-invalid="true"] .rs-inquiry__option input { outline: 2px solid var(--rs-c-error); outline-offset: 2px; border-radius: 50%; }

/* Aktionen */
.rs-inquiry__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding-top: 6px; }
.rs-inquiry__required-note { margin: 0; font: 400 .85rem/1.4 var(--rs-f-ui); color: var(--rs-c-muted); }
.rs-inquiry__actions .rs-inquiry__submit { margin-left: auto; }
.rs-inquiry__actions .rs-btn--block { margin-left: 0; flex: 1 1 100%; }
.rs-inquiry .rs-form__status:empty { min-height: 0; }
.rs-inquiry .rs-form__status:focus { outline: none; }
.rs-inquiry .rs-form__status:focus-visible { outline: 2px solid var(--rs-c-focus); outline-offset: 4px; border-radius: 4px; }
@media (max-width: 767px) {
	.rs-inquiry__actions .rs-inquiry__submit { width: 100%; margin-left: 0; }
}

/* Dunkle Fläche */
.rs-on-dark .rs-form__error { color: #f2aaa6; }
.rs-on-dark .rs-inquiry__option, .rs-on-dark .rs-form__check { color: var(--rs-c-on-dark); }
.rs-on-dark .rs-inquiry__required-note, .rs-on-dark .rs-form__hint { color: var(--rs-c-on-dark-muted); }
.rs-on-dark .rs-form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23efece8' stroke-width='1.6'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); }
.rs-on-dark .rs-form select option { color: var(--rs-c-ink); background: var(--rs-c-surface); }
.rs-on-dark .rs-form__input::placeholder { color: rgb(239 236 232 / .55); }
.rs-on-dark .rs-form__status[data-state="success"] { color: #9fd3b6; }
.rs-on-dark .rs-form__status[data-state="error"] { color: #f2aaa6; }

/* ===================================================================== Erfolgszustand */
.rs-inquiry__success { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px 22px; align-items: start; padding: 6px 0; }
.rs-inquiry__success:focus { outline: none; }
.rs-inquiry__success:focus-visible { outline: 2px solid var(--rs-c-focus); outline-offset: 6px; border-radius: var(--rs-r-s); }
.rs-inquiry__tick { width: 64px; height: 64px; color: var(--rs-area); overflow: visible; }
.rs-inquiry__tick circle, .rs-inquiry__tick path { fill: none; stroke: currentColor; stroke-width: var(--rs-line-w); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.rs-inquiry__success:not([hidden]) .rs-inquiry__tick-circle { animation: rs-inquiry-draw 1s var(--rs-ease-in-out) both; }
.rs-inquiry__success:not([hidden]) .rs-inquiry__tick-check { animation: rs-inquiry-draw .55s .75s var(--rs-ease-out) both; }
@keyframes rs-inquiry-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.rs-inquiry__success-body { display: grid; gap: 10px; justify-items: start; padding-top: 6px; }
.rs-inquiry__success-title { margin: 0; font-family: var(--rs-f-display); font-weight: var(--rs-fw-heading); font-size: var(--rs-fs-h4); line-height: var(--rs-lh-heading); letter-spacing: var(--rs-ls-heading); color: var(--rs-c-ink); }
.rs-inquiry__success-text { margin: 0; max-width: 60ch; font-family: var(--rs-f-voice); font-style: italic; font-size: var(--rs-fs-lead); line-height: var(--rs-lh-voice); color: var(--rs-c-ink-soft); }
.rs-inquiry__again { margin-top: 6px; }
.rs-on-dark .rs-inquiry__success-title, .rs-on-dark .rs-inquiry__success-text { color: var(--rs-c-on-dark); }
.rs-on-dark .rs-inquiry__tick { color: color-mix(in srgb, var(--rs-area) 45%, #fff); }
@media (max-width: 767px) {
	.rs-inquiry__success { grid-template-columns: minmax(0, 1fr); }
	.rs-inquiry__tick { width: 52px; height: 52px; }
}

/* ===================================================================== Bewegung reduzieren */
@media (prefers-reduced-motion: reduce) {
	.rs-inquiry__success .rs-inquiry__tick-circle, .rs-inquiry__success .rs-inquiry__tick-check { animation: none !important; } /* A11y */
	.rs-inquiry__chip-body { transition: none; }
}
.rs-reduced .rs-inquiry__success .rs-inquiry__tick-circle, .rs-reduced .rs-inquiry__success .rs-inquiry__tick-check { animation: none !important; } /* A11y */
