@charset "utf-8";
/*
 * Alertas (alerts.js) no estilo quadrinho.
 */

#popup-overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(74, 84, 104, 0.45);
	background-image: radial-gradient(rgba(255, 255, 255, 0.18) 1.5px, transparent 1.5px);
	background-size: 10px 10px;
	z-index: 99998;
}

#popup-container {
	position: fixed;
	padding: 0;
	margin: 0;
	display: none;
	background-color: var(--comic-card);
	border: var(--comic-border);
	border-radius: 14px;
	box-shadow: var(--comic-shadow);
	z-index: 99999;
}

#popup-icon {
	width: 420px;
	max-width: calc(100vw - 72px);
	min-height: 84px;
	padding: 14px 20px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	box-sizing: border-box;
	border-radius: 11px 11px 0 0;
	border-bottom: var(--comic-border);
	background-image: radial-gradient(rgba(0, 0, 0, 0.12) 1.5px, transparent 1.5px);
	background-size: 8px 8px;
}

#popup-icon.confirm { background-color: var(--comic-accent); }
#popup-icon.alert { background-color: var(--comic-brand); }
#popup-icon.error,
#popup-icon.delete { background-color: var(--comic-red); }
#popup-icon.loading { background-color: var(--comic-yellow); min-height: 20px; padding: 0; border-bottom: none; }

#popup-icon .burst {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--comic-yellow);
	border: 3px solid var(--color-outline);
	border-radius: 50%;
	box-shadow: 3px 3px 0 var(--color-outline);
	transform: rotate(-8deg);
}

#popup-icon .burst i {
	font-size: 30px;
	color: var(--color-outline);
}

#popup-title {
	font-family: 'Bangers', Verdana, Arial;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: 1.5px;
	line-height: 1.1;
	color: #FFFFFF;
	text-transform: uppercase;
	-webkit-text-stroke: 1px var(--color-outline);
	paint-order: stroke fill;
	text-shadow: 2px 2px 0 var(--color-outline);
}

#popup-content {
	width: 420px;
	max-width: calc(100vw - 72px);
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
}

#popup-message {
	width: 100%;
	min-height: 90px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: 'Montserrat', Verdana, Arial;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	color: var(--color-text);
	text-align: center;
	box-sizing: border-box;
}

#popup-buttons {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-evenly;
	gap: 12px;
	width: 100%;
	min-height: 72px;
	padding: 0 20px 6px;
	box-sizing: border-box;
}

.button-alert {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 42px;
	padding: 0 24px;
	font-family: 'Bangers', Verdana, Arial;
	font-size: 22px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #FFFFFF;
	text-shadow: 1px 1px 0 var(--color-outline);
	background-color: var(--comic-accent);
	border: 3px solid var(--color-outline);
	border-radius: 10px;
	box-shadow: 3px 3px 0 var(--color-outline);
	cursor: pointer;
	user-select: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease;
	box-sizing: border-box;
}

.button-alert .icon,
.button-alert .icon i { width: 20px; height: 20px; font-size: 20px; display: flex; align-items: center; }
.button-alert .text { text-align: center; }

.button-alert.confirm { background-color: var(--comic-accent); }
.button-alert.alert { background-color: var(--comic-brand); }
.button-alert.error,
.button-alert.delete { background-color: var(--comic-red); }

.button-alert.close {
	color: var(--color-outline);
	text-shadow: none;
	background-color: #FFFFFF;
}

.button-alert:hover {
	transform: translate(-2px, -2px);
	box-shadow: 5px 5px 0 var(--color-outline);
}

.button-alert:active {
	transform: translate(2px, 2px);
	box-shadow: 1px 1px 0 var(--color-outline);
}

.loading-spinner-alert {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
}

.loading-spinner {
	width: 44px;
	height: 44px;
	border: 5px solid rgba(74, 84, 104, 0.2);
	border-top-color: var(--comic-red);
	border-radius: 50%;
	animation: comic-spin 0.8s linear infinite;
}

.loading-spinner > div { display: none; }

@keyframes comic-spin { to { transform: rotate(360deg); } }

@media screen and (max-width: 480px) {
	#popup-icon,
	#popup-content { max-width: calc(100vw - 38px); }

	#popup-icon { min-height: 72px; padding: 12px 16px; gap: 10px; }
	#popup-icon .burst { width: 44px; height: 44px; }
	#popup-icon .burst i { font-size: 26px; }

	#popup-title { font-size: 26px; }

	#popup-message { min-height: 70px; padding: 18px 16px; font-size: 15px; }

	#popup-buttons { flex-wrap: wrap; gap: 10px; min-height: 0; padding: 0 16px 16px; }

	.button-alert { flex: 1 1 auto; padding: 0 16px; }
}
