.aib-instancia {
	--aib-primario: #D4A017;
	--aib-texto: #0B1D3A;
	--aib-secundario: #0D47A1;
}

/* ================= BOTÓN FLOTANTE ================= */
.aib-btn-wrap {
	position: fixed;
	z-index: 999998;
	touch-action: none;
}
.aib-btn-wrap.aib-hidden { display: none; }
.aib-btn-wrap.aib-pre-delay { opacity: 0; transform: scale(.7); pointer-events: none; }
.aib-btn-wrap.aib-revelado { animation: aib-entrada .45s ease-out forwards; }

@keyframes aib-entrada {
	from { opacity: 0; transform: scale(.7); }
	to   { opacity: 1; transform: scale(1); }
}

.aib-float-btn,
.aib-inline-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--aib-primario);
	color: var(--aib-texto);
	border: none;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .3);
	transition: transform .2s ease, opacity .2s ease;
	user-select: none;
	-webkit-user-select: none;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.aib-float-btn { cursor: grab; touch-action: none; }
.aib-float-btn:active { cursor: grabbing; }
.aib-float-btn:hover, .aib-inline-btn:hover { transform: translateY(-2px); }

/* Formas */
.aib-forma-pill   { border-radius: 999px; }
.aib-forma-square { border-radius: 10px; }
.aib-forma-circle { border-radius: 50%; justify-content: center; padding: 0 !important; aspect-ratio: 1/1; }

/* Tamaños */
.aib-tamano-sm { padding: 9px 16px; font-size: .85rem; }
.aib-tamano-md { padding: 13px 22px; font-size: 1rem; }
.aib-tamano-lg { padding: 17px 28px; font-size: 1.15rem; }
.aib-forma-circle.aib-tamano-sm { width: 44px; height: 44px; }
.aib-forma-circle.aib-tamano-md { width: 58px; height: 58px; }
.aib-forma-circle.aib-tamano-lg { width: 72px; height: 72px; }

/* Animaciones de llamado de atención */
.aib-anim-pulse { animation: aib-pulso 1.8s ease-in-out infinite; }
@keyframes aib-pulso {
	0%, 100% { box-shadow: 0 8px 22px rgba(0,0,0,.3), 0 0 0 0 rgba(212,160,23,.5); }
	50%      { box-shadow: 0 8px 22px rgba(0,0,0,.3), 0 0 0 12px rgba(212,160,23,0); }
}
.aib-anim-bounce { animation: aib-rebote 1.6s ease-in-out infinite; }
@keyframes aib-rebote {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-8px); }
}

.aib-dismiss-btn {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ffffff;
	color: #555555;
	border: 1px solid rgba(0, 0, 0, .12);
	font-size: 14px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
	z-index: 2;
	padding: 0;
}
.aib-dismiss-btn:hover { color: #111111; background: #f5f5f5; }

.aib-btn-logo { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.aib-forma-circle .aib-btn-logo { width: 60%; height: 60%; }
.aib-btn-icon { width: 20px; height: 20px; flex-shrink: 0; }
.aib-forma-circle .aib-btn-icon { width: 46%; height: 46%; }

/* ================= BOTÓN INSERTABLE ================= */
.aib-inline-btn { box-shadow: 0 6px 16px rgba(0,0,0,.18); }

/* ================= VENTANA MODAL (compartida) ================= */
.aib-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .65);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.aib-modal-overlay[hidden] { display: none; }

.aib-modal-box {
	position: relative;
	background: #ffffff;
	color: #111111;
	border-radius: 18px;
	padding: 38px 30px 30px;
	max-width: 380px;
	width: 100%;
	text-align: center;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}

.aib-modal-close {
	position: absolute;
	top: 10px;
	right: 14px;
	background: none;
	border: none;
	color: #555555;
	font-size: 22px;
	cursor: pointer;
	line-height: 1;
}
.aib-modal-close:hover { color: #111111; }

.aib-modal-logo {
	width: 76px;
	height: 76px;
	border-radius: 18px;
	object-fit: cover;
	margin: 0 auto 16px;
	display: block;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
}

.aib-modal-title { margin: 0 0 8px; font-size: 1.4rem; font-weight: 800; color: var(--aib-secundario); }
.aib-modal-subtitle { margin: 0 0 22px; color: #111111; font-size: 1rem; line-height: 1.55; font-weight: 500; }

.aib-install-cta {
	background: var(--aib-secundario);
	color: #ffffff;
	border: none;
	border-radius: 999px;
	padding: 15px 30px;
	font-size: 1.05rem;
	font-weight: 700;
	cursor: pointer;
	width: 100%;
	margin-bottom: 10px;
}
.aib-install-cta:hover { opacity: .9; }
.aib-install-cta[hidden] { display: none; }

.aib-guide-cta {
	display: block;
	background: var(--aib-secundario);
	color: #ffffff;
	border: none;
	border-radius: 999px;
	padding: 16px 28px;
	font-size: 1.1rem;
	font-weight: 800;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.aib-guide-cta:hover { opacity: .9; transform: translateY(-1px); }
.aib-guide-cta[hidden] { display: none; }

.aib-status {
	margin: 14px 0 0;
	font-size: .85rem;
	color: #111111;
	min-height: 1em;
	font-weight: 600;
}
