/**
 * Convite de instalação e avisos de conexão.
 * Escopo em .hqt-install / .hqt-flash — não encosta em nada do tema.
 */

.hqt-install {
	position: fixed;
	left: 50%;
	bottom: max(16px, env(safe-area-inset-bottom));
	transform: translate(-50%, 130%);
	z-index: 9998;
	width: min(440px, calc(100vw - 24px));
	display: flex;
	gap: 14px;
	padding: 18px;
	border-radius: 22px;
	background: linear-gradient(160deg, #2C2447, #1A1438);
	border: 1px solid rgba(255, 209, 102, .22);
	box-shadow: 0 26px 60px -22px rgba(0, 0, 0, .8);
	color: #F4EEFF;
	font-family: "Nunito", ui-rounded, system-ui, -apple-system, sans-serif;
	transition: transform .34s cubic-bezier(.2, .8, .2, 1), opacity .34s ease;
	opacity: 0;
}
.hqt-install.is-in { transform: translate(-50%, 0); opacity: 1; }

.hqt-install__icon {
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #14102E url("../icons/icon-192.png") center/cover no-repeat;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .1);
}

.hqt-install__body { flex: 1; min-width: 0; }

.hqt-install__title {
	margin: 0 0 4px;
	font-family: "Fredoka", "Nunito", sans-serif;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.25;
	color: #fff;
}

.hqt-install__text {
	margin: 0;
	font-size: .86rem;
	line-height: 1.45;
	color: rgba(244, 238, 255, .72);
}

.hqt-install__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.hqt-install__cta {
	appearance: none;
	border: 0;
	cursor: pointer;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 999px;
	background: #F5A623;
	color: #4A2D00;
	font: inherit;
	font-weight: 800;
	font-size: .92rem;
	transition: transform .18s ease;
}
.hqt-install__cta:hover { transform: translateY(-1px); }
.hqt-install__cta:focus-visible { outline: 3px solid #FFD166; outline-offset: 2px; }

.hqt-install__ghost {
	appearance: none;
	cursor: pointer;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .2);
	color: rgba(244, 238, 255, .8);
	font: inherit;
	font-weight: 700;
	font-size: .88rem;
}
.hqt-install__ghost:hover { background: rgba(255, 255, 255, .08); }
.hqt-install__ghost:focus-visible { outline: 3px solid #FFD166; outline-offset: 2px; }

/* ------------------------------------------------------------------------
   Botao fixo "Instalar o app".
   Vive na biblioteca, na conta, no pe da capa e no fim da historia.
   O ghost herda a cor do contexto (claro na loja, claro-sobre-escuro no
   leitor), por isso funciona nos dois sem duas versoes de estilo.
   ------------------------------------------------------------------------ */

.hqt-app-cta__mark {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: #14102E url("../icons/icon-192.png") center/cover no-repeat;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .16);
}
.hqt-app-cta__mark--grande { width: 46px; height: 46px; border-radius: 12px; }

.hqt-app-cta--botao,
.hqt-app-cta--chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1.5px solid var(--hqt-primary, #F5A623);
	background: rgba(245, 166, 35, .14);
	color: inherit;
	font: inherit;
	font-weight: 800;
	font-size: .92rem;
	line-height: 1.2;
	cursor: pointer;
	transition: background .18s ease, transform .18s ease;
}
.hqt-app-cta--chip { min-height: 38px; padding: 0 14px; font-size: .84rem; }
.hqt-app-cta--botao:hover,
.hqt-app-cta--chip:hover { background: rgba(245, 166, 35, .26); transform: translateY(-1px); }
.hqt-app-cta--botao:focus-visible,
.hqt-app-cta--chip:focus-visible { outline: 3px solid var(--hqt-accent, #FFD166); outline-offset: 2px; }

.hqt-app-cta--faixa {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	margin: 0 0 22px;
	padding: 16px 18px;
	border-radius: 18px;
	background: linear-gradient(135deg,
		color-mix(in srgb, var(--hqt-primary, #F5A623) 14%, #fff),
		color-mix(in srgb, var(--hqt-accent, #FFD166) 26%, #fff));
	border: 1px solid color-mix(in srgb, var(--hqt-primary, #F5A623) 38%, #fff);
}
.hqt-app-cta__body { flex: 1 1 260px; min-width: 0; }
.hqt-app-cta__title {
	margin: 0 0 3px;
	font-family: "Fredoka", "Nunito", sans-serif;
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--hqt-ink, #221A52);
}
.hqt-app-cta__text {
	margin: 0;
	font-size: .88rem;
	line-height: 1.5;
	color: var(--hqt-muted, #6E6785);
}
.hqt-app-cta__btn {
	flex: 0 0 auto;
	appearance: none;
	border: 0;
	cursor: pointer;
	min-height: 46px;
	padding: 0 24px;
	border-radius: 999px;
	background: var(--hqt-primary, #F5A623);
	color: var(--hqt-cta-ink, #4A2D00);
	font: inherit;
	font-weight: 800;
	font-size: .95rem;
	transition: transform .18s ease;
}
.hqt-app-cta__btn:hover { transform: translateY(-1px); }
.hqt-app-cta__btn:focus-visible { outline: 3px solid var(--hqt-accent, #FFD166); outline-offset: 2px; }

@media (max-width: 480px) {
	.hqt-app-cta--faixa { flex-direction: column; align-items: stretch; text-align: center; }
	.hqt-app-cta--faixa .hqt-app-cta__mark--grande { align-self: center; }
	.hqt-app-cta__btn { width: 100%; }
}

/* Capa do leitor: "voltar" fica no canto esquerdo, o app no direito.
   Posicao absoluta igual a do voltar — assim nada empurra o miolo da capa. */
.hqt-cover__app {
	position: absolute;
	top: 14px;
	right: 18px;
	z-index: 2;
}
@media (max-width: 420px) {
	.hqt-cover__app { top: 10px; right: 10px; }
	.hqt-cover__app .hqt-app-cta--chip { min-height: 34px; padding: 0 11px; font-size: .78rem; }
}

/* No fim da historia o botao respira um pouco */
.hqt-end .hqt-app-cta--botao { margin-top: 14px; }

/* Ja instalado? Nao ha o que oferecer.
   A regra de media pega antes do JS rodar (evita o botao piscar dentro do app). */
@media all and (display-mode: standalone) {
	.hqt-app-cta { display: none !important; }
}
.hqt-standalone .hqt-app-cta { display: none !important; }

@media (prefers-reduced-motion: reduce) {
	.hqt-app-cta--botao, .hqt-app-cta--chip, .hqt-app-cta__btn { transition: none; }
}

/* Aviso flutuante (conexão, história salva) */
.hqt-flash {
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom));
	transform: translate(-50%, 14px);
	z-index: 9999;
	max-width: 86vw;
	margin: 0;
	padding: 12px 18px;
	border-radius: 999px;
	background: rgba(12, 9, 24, .94);
	border: 1px solid rgba(255, 255, 255, .14);
	color: #fff;
	font-family: "Nunito", ui-rounded, system-ui, sans-serif;
	font-size: .88rem;
	text-align: center;
	opacity: 0;
	transition: opacity .3s ease, transform .3s ease;
}
.hqt-flash.is-in { opacity: 1; transform: translate(-50%, 0); }

/* No app instalado o botão "sair da leitura" não deve levar para fora do app */
.hqt-standalone .hqt-cover__back { opacity: .85; }

@media (prefers-reduced-motion: reduce) {
	.hqt-install, .hqt-flash, .hqt-install__cta { transition: none; }
	.hqt-install { transform: translate(-50%, 0); }
}
