@charset "utf-8";
/* =========================================================
   Academias New Corpore — ASSISTENTE (News)
   Arquivo: assets/css/chat-assistente.css
   ---------------------------------------------------------
   Assistente Virtual padronizado com o visual do projeto.
   IDs compatíveis com as páginas (chat-toggle / chat-window / chat-messages etc.)
   ========================================================= */

:root{
	--nc-news-w: 360px;
	--nc-news-h: 520px;
	--nc-news-radius: 18px;
	--nc-news-shadow: 0 18px 60px rgba(0,0,0,.22);
	--nc-news-shadow-soft: 0 14px 40px rgba(0,0,0,.16);
	--nc-news-border: 1px solid rgba(235,92,29,.20);
}

/* Toggle (botão flutuante) */
#chat-toggle.nc-news-toggle,
#chat-toggle{
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 9999;
	width: 62px;
	height: 62px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(145deg, rgba(235,92,29,1), rgba(240,137,74,1));
	box-shadow: var(--nc-news-shadow-soft);
	outline: none;
}

#chat-toggle.nc-news-toggle:hover,
#chat-toggle:hover{
	transform: translateY(-2px);
	box-shadow: var(--nc-news-shadow);
}

#chat-toggle img{
	width: 34px;
	height: 34px;
	object-fit: contain;
	filter: drop-shadow(0 6px 10px rgba(0,0,0,.22));
}

.nc-news-toggle__badge{
	position: absolute;
	top: -8px;
	right: -6px;
	padding: 5px 8px;
	border-radius: 999px;
	background: rgba(8,9,10,.92);
	color: #fff;
	border: 1px solid rgba(255,255,255,.12);
	font-weight: 900;
	font-size: .72rem;
	letter-spacing: .02em;
}

/* Janela */
#chat-window.nc-news-window,
#chat-window{
	position: fixed;
	right: 18px;
	bottom: 92px;
	z-index: 9999;
	width: min(var(--nc-news-w), calc(100vw - 36px));
	height: min(var(--nc-news-h), calc(100vh - 140px));
	background: rgba(255,255,255,.96);
	border-radius: var(--nc-news-radius);
	border: var(--nc-news-border);
	box-shadow: var(--nc-news-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;

	opacity: 0;
	transform: translateY(12px) scale(.98);
	pointer-events: none;
	transition: opacity .22s ease, transform .22s ease;
}

#chat-window.is-open{
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

/* Header */
#chat-header.nc-news-header,
#chat-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 14px;
	background: linear-gradient(145deg, rgba(8,9,10,1), rgba(13,15,16,1));
	color: #fff;
	border-bottom: 1px solid rgba(255,255,255,.06);
}

.nc-news-header__title{
	display:flex;
	align-items:center;
	gap: 10px;
}

.nc-news-header__dot{
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(240,137,74,1);
	box-shadow: 0 0 0 4px rgba(240,137,74,.18);
}

.nc-news-header__title strong{
	display:block;
	font-weight: 900;
	letter-spacing: .01em;
	line-height: 1.1;
}

.nc-news-header__sub{
	font-size: .78rem;
	color: rgba(255,255,255,.72);
	line-height: 1.1;
	margin-top: 1px;
}

#chat-close.nc-news-close,
#chat-close{
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 12px;
	background: rgba(255,255,255,.06);
	color: rgba(255,255,255,.92);
	font-weight: 900;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	outline: none;
}

#chat-close:hover{
	background: rgba(255,255,255,.10);
	border-color: rgba(240,137,74,.45);
}

/* Mensagens */
#chat-messages.nc-news-messages,
#chat-messages{
	flex: 1 1 auto;
	padding: 14px 14px;
	overflow-y: auto;
	background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,245,245,.98));
}

#chat-messages:focus{
	outline: none;
	box-shadow: inset 0 0 0 3px var(--focus-ring-soft);
	border-radius: 12px;
}

.message{
	max-width: 88%;
	padding: 10px 12px;
	border-radius: 16px;
	margin-bottom: 10px;
	box-shadow: 0 10px 22px rgba(0,0,0,.06);
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.55;
	word-wrap: break-word;
}

.message.bot{
	background: rgba(235,92,29,.08);
	border: 1px solid rgba(235,92,29,.18);
	color: rgba(0,0,0,.82);
	border-top-left-radius: 10px;
}

.message.user{
	margin-left: auto;
	background: rgba(8,9,10,.92);
	border: 1px solid rgba(255,255,255,.08);
	color: rgba(255,255,255,.92);
	border-top-right-radius: 10px;
}

.message .nc-news-links{
	margin-top: 8px;
	display:flex;
	flex-wrap: wrap;
	gap: 8px;
}

.message .nc-news-links a{
	display:inline-flex;
	align-items:center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 999px;
	border: 1px solid rgba(0,0,0,.10);
	background: #fff;
	color: rgba(0,0,0,.80);
	text-decoration: none;
	font-weight: 900;
	font-size: .86rem;
}

.message.bot .nc-news-links a:hover{
	background: rgba(240,137,74,.14);
	border-color: rgba(240,137,74,.35);
	transform: translateY(-1px);
}

/* Typing */
.nc-news-typing{
	display:inline-flex;
	align-items:center;
	gap: 6px;
}

.nc-news-typing span{
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: rgba(235,92,29,.75);
	animation: ncNewsTyping 1.1s infinite ease-in-out;
}

.nc-news-typing span:nth-child(2){ animation-delay: .12s; }
.nc-news-typing span:nth-child(3){ animation-delay: .24s; }

@keyframes ncNewsTyping{
	0%, 80%, 100%{ transform: translateY(0); opacity: .55; }
	40%{ transform: translateY(-4px); opacity: 1; }
}

/* Quick actions */
#chat-options.nc-news-quick,
#chat-options{
	padding: 10px 12px;
	border-top: 1px solid rgba(0,0,0,.06);
	background: rgba(255,255,255,.92);
	display:flex;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}
#chat-options::-webkit-scrollbar{ display:none; }

#chat-options .chat-option{
	border: 1px solid rgba(0,0,0,.10);
	background: rgba(255,255,255,.92);
	border-radius: 999px;
	padding: 8px 12px;
	font-weight: 900;
	font-size: .86rem;
	color: rgba(0,0,0,.78);
	cursor: pointer;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

#chat-options .chat-option:hover{
	background: rgba(240,137,74,.14);
	border-color: rgba(240,137,74,.35);
	transform: translateY(-1px);
}

#chat-options .chat-option:focus{
	outline: none;
	box-shadow: 0 0 0 4px var(--focus-ring-soft);
}

/* Form */
#chat-form.nc-news-form,
#chat-form{
	display:flex;
	gap: 10px;
	padding: 12px 12px;
	border-top: 1px solid rgba(0,0,0,.06);
	background: #fff;
}

#chat-input.nc-news-input,
#chat-input{
	flex: 1 1 auto;
	border-radius: 14px;
	border: 1px solid rgba(0,0,0,.12);
	padding: 10px 12px;
	outline: none;
	background: rgba(245,245,245,.95);
}

#chat-input:focus{
	box-shadow: 0 0 0 4px var(--focus-ring-soft);
	border-color: rgba(240,137,74,.45);
	background: #fff;
}

#chat-send.nc-news-send,
#chat-send{
	border: 0;
	border-radius: 14px;
	padding: 10px 14px;
	background: var(--primary-color);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}

#chat-send:hover{
	background: var(--secondary-color);
	color: #000;
}

/* Responsivo */
@media (max-width: 575.98px){
	#chat-toggle{
		right: 14px;
		bottom: 14px;
	}
	#chat-window{
		right: 14px;
		bottom: 88px;
		width: calc(100vw - 28px);
		height: min(560px, calc(100vh - 140px));
	}
}
/* =========================================================
   Update 6.x — Ajustes de atalhos (icons) + inline flow form
   ========================================================= */

/* Icons inside shortcut buttons */
#chat-options .chat-option i{
  margin-right: 8px;
  color: var(--primary-color);
}

/* Keep label aligned */
#chat-options .chat-option span{
	display: inline-block;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


/* Inline buttons (fluxo guiado dentro das mensagens) */
.message .nc-news-inline{
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.message .nc-news-inline-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  color: rgba(0,0,0,.82);
  font-weight: 900;
  font-size: .86rem;
  cursor: pointer;
  transition: background-color var(--transition), border-color var(--transition), transform .2s ease;
}

.message.bot .nc-news-inline-btn:hover{
  background: rgba(240,137,74,.14);
  border-color: rgba(240,137,74,.35);
  transform: translateY(-1px);
}

.message .nc-news-inline-btn:focus{
  outline: none;
  box-shadow: 0 0 0 4px var(--focus-ring-soft);
}

.message .nc-news-inline-btn--primary{
  background: var(--primary-color);
  border-color: rgba(235,92,29,.35);
  color: #fff;
}

.message .nc-news-inline-btn--primary:hover{
  background: var(--secondary-color);
  color: #000;
  border-color: rgba(240,137,74,.45);
}

/* Inline form */
.nc-news-inline--form{
  width: 100%;
  flex-direction: column;
  align-items: stretch;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
}

.nc-news-inline__row{
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}

.nc-news-inline__label{
  font-weight: 900;
  font-size: .85rem;
  color: rgba(0,0,0,.76);
}

.nc-news-inline__input,
.nc-news-inline__textarea{
  width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 9px 10px;
  outline: none;
  background: rgba(245,245,245,.95);
  font-weight: 700;
}

.nc-news-inline__textarea{
  resize: vertical;
  min-height: 90px;
}

.nc-news-inline__input:focus,
.nc-news-inline__textarea:focus{
  box-shadow: 0 0 0 4px var(--focus-ring-soft);
  border-color: rgba(240,137,74,.45);
  background: #fff;
}

.nc-news-inline__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2px;
}

/* CTA container inside message (optional) */
.message .nc-news-cta{
  margin-top: 10px;
}


/* Truncamento seguro para labels longos nos atalhos */
#chat-options .chat-option span{
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}
