.softland-ai {
	--softland-bg: #20112d;
	--softland-bg-2: #3e165b;
	--softland-card: #fffafd;
	--softland-card-2: #fff8fc;
	--softland-text: #2e1b58;
	--softland-text-soft: #735f97;
	--softland-accent: #b16cff;
	--softland-accent-strong: #ff4da1;
	--softland-chip-bg: #faf3ff;
	--softland-chip-text: #2f215c;
	--softland-border: rgba(188, 138, 255, 0.28);
	--softland-launcher-bg: #f3f3f3;
	--softland-launcher-bg-2: #e9e9e9;
	--softland-launcher-border: #dadada;
	--softland-launcher-accent-red: #ef1d2f;
	--softland-launcher-accent-orange: #f6a229;
	--softland-launcher-icon: #ffffff;
	position: fixed;
	inset-block-end: 18px;
	z-index: 1200;
}

.softland-ai [hidden] {
	display: none !important;
}

[dir="rtl"].softland-ai {
	inset-inline-end: 18px;
}

[dir="ltr"].softland-ai {
	inset-inline-start: 18px;
}

.softland-ai__launcher {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-height: 42px;
	padding: 0.72rem 1.2rem;
	border: 1px solid var(--softland-launcher-border);
	border-radius: 0;
	background:linear-gradient(135deg, rgba(255, 255, 255, 0.02), rgba(255, 77, 179, 0.03)), linear-gradient(135deg, #f59923, #e71b2d);
	box-shadow: 0 12px 24px rgba(26, 8, 34, 0.24);
	color: #ffffff !important;
	font-size: 0.86rem;
	font-weight: 800;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

#softland-ai-input {
  color: #000;
  min-height: 96px;
}

.softland-ai__submit {
  color: #fff;
  background: #e81d2e;
}

.softland-ai__launcher:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 28px rgba(26, 8, 34, 0.18);
	border-color: #d0d0d0;
}

.softland-ai__launcher::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	background: linear-gradient(180deg, var(--softland-launcher-accent-red), var(--softland-launcher-accent-orange));
	opacity: 1;
	pointer-events: none;
	z-index: -1;
}

.softland-ai__spark,
.softland-ai__hero-icon {
	color: #fff;
	font-size: 1.05rem;
	line-height: 1;
}

.softland-ai__panel {
	position: absolute;
	inset-block-end: calc(100% + 12px);
	inline-size: min(330px, calc(100vw - 20px));
}

[dir="rtl"] .softland-ai__panel {
	inset-inline-end: 0;
}

[dir="ltr"] .softland-ai__panel {
	inset-inline-start: 0;
}

.softland-ai__card {
	display: grid;
	gap: 0.65rem;
	padding: 0.95rem;
	border: 1px solid rgba(204, 177, 237, 0.55);
	border-radius: 0 0 24px 24px;
	background:
		radial-gradient(circle at top right, rgba(255, 77, 161, 0.08), transparent 28%),
		radial-gradient(circle at top left, rgba(177, 108, 255, 0.08), transparent 35%),
		linear-gradient(180deg, var(--softland-card) 0%, var(--softland-card-2) 100%);
	box-shadow: 0 18px 42px rgba(72, 35, 114, 0.14);
}

.softland-ai__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.softland-ai__head strong {
	display: block;
	font-size: 0.98rem;
	color: var(--softland-text);
}

.softland-ai__head p,
.softland-ai__intro p,
.softland-ai__disclaimer {
	margin: 0.2rem 0 0;
	color: var(--softland-text-soft);
	line-height: 1.5;
	font-size: 0.82rem;
}

.softland-ai__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 36px;
	block-size: 36px;
	border: 0;
	border-radius: 50%;
	background: rgba(177, 108, 255, 0.08);
	color: #7b5aa8;
	font-size: 1.55rem;
	cursor: pointer;
}

.softland-ai__body {
	display: grid;
	gap: 0.7rem;
}

.softland-ai__intro {
	display: grid;
	justify-items: center;
	text-align: center;
	gap: 0.35rem;
	padding: 0.05rem 0 0.2rem;
}

.softland-ai__intro h3 {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 900;
	line-height: 1.1;
	color: var(--softland-text);
}

.softland-ai__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.softland-ai__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0.55rem 0.95rem;
	border: 1px solid rgba(204, 177, 237, 0.9);
	border-radius: 999px;
	background: var(--softland-chip-bg);
	color: var(--softland-chip-text);
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.softland-ai__chip:hover {
	transform: translateY(-1px);
	background: #f7ebff;
	border-color: rgba(177, 108, 255, 0.8);
}

.softland-ai__messages {
	display: grid;
	gap: 0.55rem;
	max-block-size: 220px;
	overflow: auto;
	padding-inline-end: 0.25rem;
}

.softland-ai__message {
	display: grid;
	gap: 0.45rem;
}

.softland-ai__message-label {
	font-size: 0.68rem;
	font-weight: 800;
	color: #8f79b5;
}

.softland-ai__message-body {
	padding: 0.72rem 0.82rem;
	border-radius: 16px;
	line-height: 1.55;
	font-size: 0.88rem;
}

.softland-ai__message--assistant .softland-ai__message-body {
	background: #f9f2ff;
	color: #2b2050;
	border: 1px solid rgba(204, 177, 237, 0.55);
}

.softland-ai__message--user {
	justify-items: end;
}

.softland-ai__message--user .softland-ai__message-body {
	background: linear-gradient(135deg, #3b1457, #5d1d82);
	color: #fff9ff;
}

.softland-ai__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.4rem;
}

.softland-ai__link {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0.42rem 0.65rem;
	border-radius: 999px;
	background: #f2e8ff;
	border: 1px solid rgba(204, 177, 237, 0.75);
	color: #4b2f7b;
	font-size: 0.8rem;
	font-weight: 700;
	text-decoration: none;
}

.softland-ai__status {
	min-height: 0.95rem;
	color: #7f69a6;
	font-size: 0.78rem;
}

.softland-ai__status.is-error {
	color: #c14b52;
}

.softland-ai__composer {
	position: relative;
	height: 100px !important;
    border: 1px solid #ff6060;
	border-radius: 20px;
}

.softland-ai__composer textarea {
	inline-size: 100%;
	min-block-size: 62px;
	padding: 0.65rem 3.5rem 0.65rem 0.7rem;
	border: 2px solid #d3b2f3;
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.96);
	color: #6e5e98;
	font: inherit;
	font-size: 0.88rem;
	resize: vertical;
	box-shadow: 0 0 0 3px rgba(200, 140, 255, 0.09);
}

.softland-ai__composer textarea:focus {
	outline: 0;
	border-color: #b16cff;
	box-shadow: 0 0 0 4px rgba(177, 108, 255, 0.14);
}

.softland-ai__composer textarea::placeholder {
	color: #8d79b7;
	opacity: 1;
}

.softland-ai__submit {
	position: absolute !important;
	inset-inline-end: 12px;
	inset-block-end: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 34px;
	block-size: 34px;
	border: 0;
	border-radius: 50%;
	background: #e3d5f0;
	color: #7e5da7;
	font-size: 1rem;
	font-weight: 800;
	cursor: pointer;
	transition: transform 180ms ease, filter 180ms ease;
}

.softland-ai__submit:hover:not(:disabled) {
	transform: translateY(-1px);
	filter: brightness(0.98);
}

.softland-ai__submit:disabled,
.softland-ai.is-busy .softland-ai__chip {
	cursor: wait;
	opacity: 0.72;
}

@media (max-width: 640px) {
	.softland-ai {
		left: 10px;
		right: auto;
		inset-inline: auto;
		inset-inline-start: auto;
		inset-inline-end: auto;
		inset-block-end: 50px;
	}

	[dir="rtl"].softland-ai,
	[dir="ltr"].softland-ai {
	right: auto !important;
    left: 10px !important; 
		inset-inline: auto;
		inset-inline-start: auto;
		inset-inline-end: auto;
	}

	.softland-ai__launcher {
		position: relative;
		inline-size: 58px;
		min-inline-size: 58px;
		block-size: 58px;
		min-block-size: 58px;
		padding: 0;
		justify-content: center;
		border-radius: 0;
		max-inline-size: 58px;
		font-size: 0;
		box-shadow: 0 10px 22px rgba(26, 8, 34, 0.3);
		animation: softland-ai-pulse 2.2s ease-out infinite;
	}

	.softland-ai__launcher span:last-child {
		display: none;
	}

	.softland-ai__launcher .softland-ai__spark {
		display: none;
	}

	.softland-ai__launcher::before {
		content: "AI";
		font-size: 0.98rem;
		font-weight: 900;
		letter-spacing: 0.02em;
		color: #ffffff;
		position: relative;
		z-index: 1;
	}

	.softland-ai__launcher::after {
		opacity: 1;
		inline-size: 100%;
		background: linear-gradient(180deg, var(--softland-launcher-accent-red), var(--softland-launcher-accent-orange));
	}

	.softland-ai__panel {
		position: fixed;
		left: 10px;
		right: auto;
		inset-inline: auto;
		inset-inline-start: auto;
		inset-inline-end: auto;
		inset-block-end: 112px;
		inline-size: min(330px, calc(100vw - 20px));
		max-block-size: calc(100dvh - 124px);
	}

	.softland-ai__card {
		gap: 0.45rem;
		padding: 0.72rem;
		border-radius: 0 0 22px 22px;
		max-block-size: calc(100dvh - 124px);
		overflow: auto;
	}

	.softland-ai__intro h3 {
		font-size: 1.15rem;
	}

	.softland-ai__head strong {
		font-size: 0.88rem;
	}

	.softland-ai__head p,
	.softland-ai__intro p,
	.softland-ai__disclaimer {
		font-size: 0.75rem;
		line-height: 1.4;
	}

	.softland-ai__body {
		gap: 0.45rem;
	}

	.softland-ai__intro {
		gap: 0.2rem;
		padding: 0;
	}

	.softland-ai__chips {
		gap: 0.35rem;
	}

	.softland-ai__chip {
		min-height: 32px;
		padding: 0.42rem 0.72rem;
		font-size: 0.78rem;
	}

	.softland-ai__messages {
		max-block-size: 180px;
	}

	.softland-ai__composer textarea {
		min-block-size: 48px;
		padding: 0.55rem 3.2rem 0.55rem 0.62rem;
		font-size: 0.82rem;
	}

	.softland-ai__submit {
		inline-size: 30px;
		block-size: 30px;
		inset-inline-end: 10px;
		inset-block-end: 10px;
		font-size: 0.9rem;
	}
}

@keyframes softland-ai-pulse {
	0% {
		box-shadow: 0 10px 22px rgba(26, 8, 34, 0.3), 0 0 0 0 rgba(179, 70, 199, 0.34);
	}

	70% {
		box-shadow: 0 10px 22px rgba(26, 8, 34, 0.3), 0 0 0 10px rgba(179, 70, 199, 0);
	}

	100% {
		box-shadow: 0 10px 22px rgba(26, 8, 34, 0.3), 0 0 0 0 rgba(179, 70, 199, 0);
	}
}

.elfagalla-quote {
	--elfagalla-red: #e71b2d;
	--elfagalla-orange: #f59923;
	--elfagalla-ink: #241f2f;
	--elfagalla-muted: #756b86;
	--elfagalla-line: #eadce7;
	inline-size: min(920px, 100%);
	margin-inline: auto;
	color: var(--elfagalla-ink);
}

.elfagalla-quote * {
	box-sizing: border-box;
}

.elfagalla-quote__panel {
	display: grid;
	gap: 18px;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid var(--elfagalla-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 18px 48px rgba(36, 31, 47, 0.08);
}

.elfagalla-quote__header {
	display: grid;
	gap: 8px;
}

.elfagalla-quote__header h2 {
	margin: 0;
	font-size: clamp(1.35rem, 2.3vw, 2rem);
	line-height: 1.25;
	font-weight: 900;
	color: var(--elfagalla-ink);
}

.elfagalla-quote__header p {
	margin: 0;
	color: var(--elfagalla-muted);
	line-height: 1.7;
}

.elfagalla-quote__drop {
	display: grid;
	place-items: center;
	gap: 8px;
	min-block-size: 170px;
	padding: 24px;
	border: 2px dashed rgba(231, 27, 45, 0.35);
	border-radius: 8px;
	background: #fffafa;
	text-align: center;
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease;
}

.elfagalla-quote__drop:hover {
	border-color: var(--elfagalla-red);
	background: #fff5f5;
}

.elfagalla-quote__drop input {
	inline-size: min(100%, 360px);
	padding: 10px;
	border: 1px solid var(--elfagalla-line);
	border-radius: 6px;
	background: #fff;
	color: var(--elfagalla-ink);
}

.elfagalla-quote__drop span {
	font-size: 1.05rem;
	font-weight: 900;
	color: var(--elfagalla-red);
}

.elfagalla-quote__drop small,
.elfagalla-quote__summary small {
	display: block;
	color: var(--elfagalla-muted);
	font-size: 0.86rem;
	line-height: 1.6;
}

.elfagalla-quote__progress {
	display: grid;
	gap: 12px;
}

.elfagalla-quote__bar {
	block-size: 10px;
	overflow: hidden;
	border-radius: 999px;
	background: #f3edf2;
}

.elfagalla-quote__bar span {
	display: block;
	inline-size: 0%;
	block-size: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--elfagalla-red), var(--elfagalla-orange));
	transition: inline-size 240ms ease;
}

.elfagalla-quote__progress ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.elfagalla-quote__progress li {
	min-block-size: 42px;
	padding: 10px;
	border: 1px solid var(--elfagalla-line);
	border-radius: 6px;
	background: #fff;
	color: var(--elfagalla-muted);
	font-size: 0.85rem;
	font-weight: 800;
	text-align: center;
}

.elfagalla-quote__progress li.is-active {
	border-color: rgba(231, 27, 45, 0.55);
	color: var(--elfagalla-red);
	background: #fff6f7;
}

.elfagalla-quote__progress li.is-done {
	border-color: rgba(245, 153, 35, 0.45);
	color: #8f560b;
	background: #fff9ee;
}

.elfagalla-quote__status {
	min-block-size: 24px;
	color: var(--elfagalla-muted);
	font-weight: 800;
}

.elfagalla-quote__status.is-error {
	color: var(--elfagalla-red);
}

.elfagalla-quote__summary {
	padding: 14px 16px;
	border: 1px solid rgba(245, 153, 35, 0.3);
	border-radius: 8px;
	background: #fffaf0;
	color: var(--elfagalla-ink);
	line-height: 1.8;
}

.elfagalla-quote__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.elfagalla-quote__download,
.elfagalla-quote__order {
	justify-self: start;
	min-block-size: 46px;
	padding: 0 22px;
	border: 0;
	border-radius: 6px;
	background: linear-gradient(135deg, var(--elfagalla-red), var(--elfagalla-orange));
	color: #fff;
	font: inherit;
	font-weight: 900;
	cursor: pointer;
	transition: transform 180ms ease, opacity 180ms ease;
}

.elfagalla-quote__order {
	background: #1fa855;
}

.elfagalla-quote__download:hover:not(:disabled),
.elfagalla-quote__order:hover:not(:disabled) {
	transform: translateY(-1px);
}

.elfagalla-quote__download:disabled,
.elfagalla-quote__order:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

@media (max-width: 700px) {
	.elfagalla-quote__progress ol {
		grid-template-columns: 1fr;
	}

	.elfagalla-quote__actions,
	.elfagalla-quote__download,
	.elfagalla-quote__order {
		inline-size: 100%;
	}
}
