/* =========================================================================
   INIMA AI — stilurile chat-ului (widget plutitor + pagina dedicată)
   ========================================================================= */
:root {
	--iai-magenta: #E5097F;
	--iai-magenta-dark: #B30765;
	--iai-ink: #33102B;
	--iai-roz: #FDF0F7;
	--iai-linie: #F0DDE9;
}

/* ---------- Butonul plutitor ---------- */
.inima-ai-buton {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: linear-gradient(135deg, var(--iai-magenta), var(--iai-magenta-dark));
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: .85rem 1.3rem;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 8px 26px rgba(229, 9, 127, .45);
	transition: transform .25s, box-shadow .25s;
}
.inima-ai-buton:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(229, 9, 127, .55); }
.inima-ai-buton svg { width: 22px; height: 22px; animation: iai-bataie 1.8s ease-in-out infinite; }
@keyframes iai-bataie {
	0%, 100% { transform: scale(1); }
	12% { transform: scale(1.25); }
	24% { transform: scale(1); }
	36% { transform: scale(1.12); }
	48% { transform: scale(1); }
}
@media (max-width: 560px) {
	.inima-ai-buton__text { display: none; }
	.inima-ai-buton { padding: .9rem; }
}

/* ---------- Panoul widget ---------- */
.inima-ai-panou {
	position: fixed;
	right: 18px;
	bottom: 84px;
	z-index: 95;
	width: min(400px, calc(100vw - 36px));
	height: min(580px, calc(100dvh - 120px));
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 24px 64px rgba(51, 16, 43, .3);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	animation: iai-aparitie .3s cubic-bezier(.34, 1.4, .64, 1);
}
@keyframes iai-aparitie {
	from { opacity: 0; transform: translateY(20px) scale(.96); }
	to { opacity: 1; transform: none; }
}
.inima-ai-panou[hidden] { display: none; }
.inima-ai-panou__cap {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .9rem 1.1rem;
	background: linear-gradient(135deg, var(--iai-magenta), var(--iai-magenta-dark));
	color: #fff;
}
.inima-ai-panou__cap strong { font-size: 1.05rem; }
.inima-ai-panou__cap span { font-size: .8rem; opacity: .85; }
.inima-ai-panou__inchide {
	margin-left: auto;
	background: rgba(255, 255, 255, .18);
	border: 0;
	color: #fff;
	width: 32px; height: 32px;
	border-radius: 50%;
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
}
.inima-ai-panou__inchide:hover { background: rgba(255, 255, 255, .32); }

/* ---------- Zona de chat (comună widget + pagină) ---------- */
.inima-ai-chat { display: flex; flex-direction: column; flex: 1; min-height: 0; font-size: .95rem; }
.iai-mesaje {
	flex: 1;
	overflow-y: auto;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: .7rem;
	background: var(--iai-roz);
}
.iai-mesaj {
	max-width: 86%;
	padding: .7rem 1rem;
	border-radius: 16px;
	line-height: 1.55;
	white-space: pre-wrap;
	overflow-wrap: break-word;
	animation: iai-mesaj-in .25s ease;
}
@keyframes iai-mesaj-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}
.iai-mesaj--ai { background: #fff; color: var(--iai-ink); border-bottom-left-radius: 4px; box-shadow: 0 2px 10px rgba(51, 16, 43, .07); align-self: flex-start; }
.iai-mesaj--eu { background: var(--iai-magenta); color: #fff; border-bottom-right-radius: 4px; align-self: flex-end; }
.iai-mesaj a { color: var(--iai-magenta-dark); font-weight: 700; }
.iai-mesaj--ai strong { color: var(--iai-magenta-dark); }

.iai-surse { font-size: .8rem; margin-top: .4rem; padding-top: .4rem; border-top: 1px dashed var(--iai-linie); }
.iai-surse a { display: block; margin-top: .15rem; }

/* indicator de scriere */
.iai-scrie { display: inline-flex; gap: 5px; padding: .9rem 1rem; }
.iai-scrie i {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--iai-magenta);
	animation: iai-puncte 1.2s ease-in-out infinite;
}
.iai-scrie i:nth-child(2) { animation-delay: .15s; }
.iai-scrie i:nth-child(3) { animation-delay: .3s; }
@keyframes iai-puncte {
	0%, 60%, 100% { transform: translateY(0); opacity: .4; }
	30% { transform: translateY(-6px); opacity: 1; }
}

/* sugestii rapide */
.iai-sugestii { display: flex; flex-wrap: wrap; gap: .4rem; padding: .6rem 1rem 0; background: var(--iai-roz); }
.iai-sugestii button {
	background: #fff;
	border: 1.5px solid var(--iai-linie);
	border-radius: 999px;
	padding: .35rem .8rem;
	font-family: inherit;
	font-size: .8rem;
	font-weight: 700;
	color: var(--iai-ink);
	cursor: pointer;
	transition: border-color .2s, color .2s;
}
.iai-sugestii button:hover { border-color: var(--iai-magenta); color: var(--iai-magenta-dark); }

/* formular */
.iai-formular { display: flex; gap: .5rem; padding: .8rem 1rem; background: #fff; border-top: 1px solid var(--iai-linie); }
.iai-formular textarea {
	flex: 1;
	resize: none;
	border: 2px solid var(--iai-linie);
	border-radius: 14px;
	padding: .6rem .9rem;
	font-family: inherit;
	font-size: .95rem;
	max-height: 110px;
}
.iai-formular textarea:focus { border-color: var(--iai-magenta); outline: none; }
.iai-formular button {
	background: var(--iai-magenta);
	border: 0;
	color: #fff;
	border-radius: 14px;
	width: 48px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s;
	flex: none;
}
.iai-formular button:hover { background: var(--iai-magenta-dark); }
.iai-formular button:disabled { opacity: .5; cursor: not-allowed; }
.iai-formular button svg { width: 20px; height: 20px; }

.iai-disclaimer {
	font-size: .72rem;
	color: #8a6a80;
	text-align: center;
	padding: 0 1rem .7rem;
	background: #fff;
}

/* ---------- Pagina dedicată ---------- */
.inima-ai-pagina .inima-ai-chat {
	border: 1px solid var(--iai-linie);
	border-radius: 20px;
	overflow: hidden;
	height: min(70vh, 720px);
	box-shadow: 0 14px 44px rgba(140, 5, 80, .12);
	font-size: 1rem;
}

@media (prefers-reduced-motion: reduce) {
	.inima-ai-buton svg, .iai-scrie i { animation: none !important; }
	.inima-ai-panou, .iai-mesaj { animation: none !important; }
}
