.saq-form-wrap {
	--saq-primary: #2271b1;
	--saq-accent: #1a8917;
	--saq-text: #1d2327;
	--saq-background: #ffffff;
	background: var(--saq-background);
	color: var(--saq-text);
	max-width: var(--saq-max-width, 980px);
	width: 100%;
	margin: 0 auto;
	padding: 32px 40px;
	border: 1px solid #e2e5ea;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(20, 30, 60, 0.06);
	font-size: 15px;
	box-sizing: border-box;
}
.saq-form-wrap * {
	box-sizing: border-box;
}

/* ---------- Hero-Kopfzeile ---------- */
.saq-hero-head {
	text-align: center;
	margin-bottom: 20px;
}
.saq-hero-title {
	font-size: 26px;
	font-weight: 800;
	color: var(--saq-primary);
	margin: 0 0 8px 0;
	line-height: 1.3;
}
.saq-hero-subline {
	margin: 0;
	color: #5a6472;
	font-size: 15px;
}
.saq-hero-price {
	color: var(--saq-primary);
	font-weight: 800;
}
.saq-hero-date {
	color: var(--saq-accent);
	font-weight: 700;
}
.saq-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #eaf7ec;
	color: var(--saq-accent);
	border: 1px solid #cdedd2;
	border-radius: 999px;
	padding: 8px 18px;
	margin-top: 14px;
	font-weight: 700;
	font-size: 14px;
}
.saq-hero-badge .saq-icon {
	width: 18px;
	height: 18px;
}

/* ---------- Vertrauens-Badges ---------- */
.saq-trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	background: #f7f9fc;
	border: 1px solid #e2e5ea;
	border-radius: 10px;
	padding: 14px 20px;
	margin-bottom: 24px;
}
.saq-trust-item {
	flex: 1;
	min-width: 200px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	font-size: 14px;
}
.saq-trust-item .saq-icon {
	color: var(--saq-primary);
	width: 26px;
	height: 26px;
	flex-shrink: 0;
}

/* ---------- Icons allgemein ---------- */
.saq-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
.saq-icon svg {
	width: 100%;
	height: 100%;
}

/* ---------- Layout: Felder nebeneinander (Querformat) ---------- */
.saq-form-wrap .saq-field,
.saq-form-wrap .saq-field-row {
	margin-bottom: 18px;
}
.saq-field-row {
	display: flex;
	gap: 20px;
}
.saq-field-row .saq-field {
	flex: 1;
}

.saq-auto-hint {
	font-weight: 400;
	color: #8a94a3;
	font-size: 12px;
}

.saq-form-wrap label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}
.saq-required {
	color: #d63638;
	font-weight: 700;
}

.saq-vat-id-status {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 600;
	min-height: 18px;
}
.saq-vat-id-status.is-checking { color: #646970; font-weight: 400; }
.saq-vat-id-status.is-valid { color: var(--saq-accent); }
.saq-vat-id-status.is-invalid { color: #d63638; }

.saq-form-wrap select,
.saq-form-wrap input[type="text"],
.saq-form-wrap input[type="email"],
.saq-form-wrap input[type="number"] {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #d5d9e0;
	border-radius: 8px;
	box-sizing: border-box;
	font-size: 15px;
}

/* ---------- Mode-Toggle (Pills) ---------- */
.saq-mode-toggle {
	display: flex;
	gap: 10px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}
.saq-radio-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid #d5d9e0;
	border-radius: 999px;
	padding: 8px 16px;
	font-weight: 500;
	font-size: 14px;
	cursor: pointer;
	margin: 0;
}
.saq-radio-pill input {
	margin: 0;
}

/* ---------- Upload ---------- */
.saq-upload-label {
	display: flex;
	align-items: center;
	gap: 12px;
	cursor: pointer;
	border: 1.5px dashed #c3cbd6;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 10px;
}
.saq-upload-label .saq-icon {
	width: 30px;
	height: 30px;
	color: var(--saq-primary);
}
.saq-upload-label small {
	font-weight: 400;
	color: #646970;
}

.saq-btn-secondary {
	background: #fff;
	border: 1.5px solid var(--saq-primary);
	color: var(--saq-primary);
	border-radius: 8px;
	padding: 10px 16px;
	cursor: pointer;
	font-weight: 700;
	transition: background 0.15s, color 0.15s;
}
.saq-btn-secondary:hover {
	background: var(--saq-primary);
	color: #fff;
}

.saq-status {
	margin: 10px 0;
	font-size: 14px;
	color: #3c434a;
}

.saq-upload-controls {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 4px;
}
.saq-upload-buttons {
	margin: 0;
}

.saq-status-light {
	position: fixed;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: #fff;
	border-radius: 14px;
	padding: 10px;
	box-shadow: 0 6px 24px rgba(20, 30, 60, 0.25);
	animation: saq-light-pop 0.2s ease-out;
}
@keyframes saq-light-pop {
	from { transform: translateY(-50%) scale(0.8); opacity: 0; }
	to { transform: translateY(-50%) scale(1); opacity: 1; }
}
.saq-light-housing {
	display: flex;
	flex-direction: column;
	gap: 7px;
	background: #23272e;
	border-radius: 10px;
	padding: 10px 8px;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.4);
}
.saq-light {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	display: block;
	background: #3a3f47;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.5);
	transition: background 0.2s, box-shadow 0.2s;
}
/* "aus" - gedimmte Grundfarbe je Licht, solange nicht aktiv */
.saq-light-red    { background: #5a2323; }
.saq-light-yellow { background: #5a4a1a; }
.saq-light-green  { background: #234a24; }

/* "an" - kräftig leuchtend mit Glow, wie eine echte Ampel */
.saq-status-light.is-red .saq-light-red {
	background: #ff3b3b;
	box-shadow: 0 0 10px 3px rgba(255, 59, 59, 0.9), 0 0 22px 6px rgba(255, 59, 59, 0.5);
}
.saq-status-light.is-yellow .saq-light-yellow {
	background: #ffc72c;
	box-shadow: 0 0 10px 3px rgba(255, 199, 44, 0.9), 0 0 22px 6px rgba(255, 199, 44, 0.5);
}
.saq-status-light.is-green .saq-light-green {
	background: #34e05a;
	box-shadow: 0 0 10px 3px rgba(52, 224, 90, 0.9), 0 0 22px 6px rgba(52, 224, 90, 0.5);
}
.saq-status-light-text {
	color: #3c434a;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	max-width: 130px;
}
.saq-total-words-display {
	color: var(--saq-primary);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

.saq-detected-words-row {
	margin-top: 10px;
}
.saq-notes-option-row {
	background: #f7f9fc;
	border: 1px solid #e2e5ea;
	border-radius: 8px;
	padding: 10px 14px;
	margin: 10px 0;
	font-size: 14px;
}
.saq-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
	margin: 0;
	cursor: pointer;
}
.saq-checkbox input {
	width: 18px;
	height: 18px;
	margin: 0;
}

.saq-ai-describe-box {
	background: #eef6ff;
	border: 1px solid #cfe2ff;
	border-radius: 8px;
	padding: 12px 16px;
	margin: 10px 0;
	font-size: 14px;
}
.saq-ai-describe-box > div {
	padding: 2px 0;
}

.saq-file-type-list {
	background: #f7f9fc;
	border: 1px solid #e2e5ea;
	border-radius: 8px;
	padding: 12px 16px;
	margin: 10px 0;
	font-size: 14px;
}
.saq-file-type-hint {
	font-weight: 400;
	margin: 0 0 8px 0;
	color: #3c434a;
}
.saq-file-type-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 4px 0;
}
.saq-file-type-row .saq-file-type-name {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.saq-file-type-row select {
	width: auto;
	max-width: 220px;
}

/* ---------- Options-Listen (Lieferzeit, Versand, Zusatzoptionen) ---------- */
.saq-option-list {
	border: 1px solid #e2e5ea;
	border-radius: 10px;
	margin-bottom: 18px;
	overflow: hidden;
}
.saq-option-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid #eef0f3;
	cursor: pointer;
	font-weight: 400;
	margin: 0;
}
.saq-option-list .saq-option-row:last-child {
	border-bottom: none;
}
.saq-option-row input {
	margin: 0;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}
.saq-option-row .saq-icon {
	color: var(--saq-accent);
}
.saq-option-label {
	flex: 1;
	font-weight: 600;
}
.saq-option-price {
	color: var(--saq-accent);
	font-weight: 700;
	white-space: nowrap;
}
.saq-option-row-qty {
	cursor: default;
}
.saq-addon-qty {
	width: 70px !important;
	padding: 6px 8px !important;
	text-align: center;
}

/* ---------- Icon-Eingabefeld (E-Mail) ---------- */
.saq-icon-input-label {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid #d5d9e0;
	border-radius: 8px;
	padding: 0 14px;
}
.saq-icon-input-label .saq-icon {
	color: var(--saq-primary);
}
.saq-icon-input-label input {
	border: none !important;
	padding: 11px 0 !important;
	flex: 1;
}
.saq-icon-input-label input:focus {
	outline: none;
}

/* ---------- Preisanzeige ---------- */
.saq-price-box {
	background: #f7f9fc;
	border: 1px solid #e2e5ea;
	border-radius: 10px;
	padding: 18px 20px;
	margin-bottom: 18px;
}
.saq-price-box > div > div {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
}
.saq-total-row {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #d5d9e0;
	margin-top: 10px;
	padding-top: 10px;
	font-size: 19px;
	color: var(--saq-accent);
}
.saq-delivery-estimate {
	margin-top: 8px;
	font-size: 14px;
	color: #3c434a;
}
.saq-discount-line {
	color: var(--saq-accent);
}

/* ---------- Fehler ---------- */
.saq-error {
	background: #fcf0f1;
	border-left: 4px solid #d63638;
	padding: 12px 16px;
	margin-bottom: 16px;
	border-radius: 6px;
	color: #d63638;
}

/* ---------- Buttons ---------- */
.saq-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.saq-form-wrap button[type="submit"],
.saq-form-wrap button.button-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--saq-primary);
	border-color: var(--saq-primary);
	color: #fff;
	padding: 15px 24px;
	border-radius: 10px;
	border: none;
	cursor: pointer;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	flex: 1;
	min-width: 240px;
}
.saq-form-wrap button.button-primary .saq-icon {
	width: 18px;
	height: 18px;
}
.saq-form-wrap button.button-primary:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ---------- Datenschutz-/Vertrauens-Icons (unten) ---------- */
.saq-privacy-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #eef0f3;
}
.saq-privacy-icon {
	flex: 1;
	min-width: 180px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: #5a6472;
}
.saq-privacy-icon .saq-icon {
	width: 30px;
	height: 30px;
	color: var(--saq-accent);
	background: #eaf7ec;
	border-radius: 50%;
	padding: 6px;
	flex-shrink: 0;
}
.saq-privacy-icon strong {
	color: var(--saq-text);
	display: block;
}

/* ---------- Responsive: schmale Bildschirme (Handy) ---------- */
@media (max-width: 640px) {
	.saq-status-light {
		right: 10px;
		padding: 8px;
	}
	.saq-status-light-text {
		display: none; /* auf kleinen Bildschirmen nur die Lichter zeigen, spart Platz */
	}
	.saq-form-wrap {
		padding: 20px;
	}
	.saq-field-row {
		flex-direction: column;
		gap: 12px;
	}
	.saq-hero-title {
		font-size: 21px;
	}
	.saq-trust-item,
	.saq-privacy-icon {
		min-width: 100%;
	}
}
