/* ==========================================================================
   SIM Pop-ups — front-end (paleta navy/teal SIM)
   Prefixo de classe: .sim-pop
   ========================================================================== */

.sim-pop {
	--sim-pop-navy: #22587a;
	--sim-pop-teal: #39a3a6;
	--sim-pop-teal-bg: #e8f5f6;
	--sim-pop-border: #b8e0e2;
	--sim-pop-text: #2d3f4a;
	--sim-pop-muted: #6b8fa0;
	--sim-pop-red: #dc4848;
	--sim-pop-amber: #f59e0b;

	font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--sim-pop-text);
	box-sizing: border-box;
}

.sim-pop[hidden] {
	display: none;
}

.sim-pop *,
.sim-pop *::before,
.sim-pop *::after {
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   MODAL (centro da tela, com overlay)
   -------------------------------------------------------------------------- */

.sim-pop--modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.sim-pop__overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 40, 55, .62);
	cursor: pointer;
	animation: sim-pop-fade .22s ease;
}

.sim-pop--modal .sim-pop__box {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: 92vh;
	overflow-y: auto;
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(20, 40, 55, .35);
	animation: sim-pop-pop .26s cubic-bezier(.2, .9, .3, 1.1);
}

/* --------------------------------------------------------------------------
   BANNER (canto, discreto, sem overlay)
   -------------------------------------------------------------------------- */

.sim-pop--banner {
	position: fixed;
	z-index: 100000;
	max-width: 360px;
	width: calc(100% - 32px);
}

.sim-pop--banner.sim-pop--pos-bottom-right { right: 16px; bottom: 16px; }
.sim-pop--banner.sim-pop--pos-bottom-left  { left: 16px;  bottom: 16px; }

.sim-pop--banner .sim-pop__box {
	background: #ffffff;
	border: 1px solid var(--sim-pop-border);
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(20, 40, 55, .22);
	overflow: hidden;
	animation: sim-pop-slide .28s ease;
}

/* --------------------------------------------------------------------------
   Conteúdo comum
   -------------------------------------------------------------------------- */

.sim-pop__close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--sim-pop-navy);
	cursor: pointer;
	transition: background-color .16s ease, color .16s ease;
}

.sim-pop__close:hover,
.sim-pop__close:focus-visible {
	background: var(--sim-pop-navy);
	color: #ffffff;
	outline: none;
}

.sim-pop__img {
	display: block;
	width: 100%;
	height: auto;
}

.sim-pop__imglink {
	display: block;
}

.sim-pop__flag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 10px 16px;
	background: var(--sim-pop-red);
	color: #ffffff;
	font-weight: 700;
	font-size: .82rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	width: 100%;
}

.sim-pop__body {
	padding: 22px 24px 24px;
}

.sim-pop--banner .sim-pop__body {
	padding: 18px 18px 20px;
}

.sim-pop__title {
	margin: 0 0 10px;
	font-family: "Fraunces", Georgia, "Times New Roman", serif;
	font-size: 1.4rem;
	line-height: 1.22;
	font-weight: 600;
	color: var(--sim-pop-navy);
}

.sim-pop--banner .sim-pop__title {
	font-size: 1.15rem;
}

.sim-pop__text {
	font-size: .98rem;
	line-height: 1.6;
	color: var(--sim-pop-text);
}

.sim-pop__text p { margin: 0 0 .7em; }
.sim-pop__text p:last-child { margin-bottom: 0; }
.sim-pop__text a { color: var(--sim-pop-teal); }

.sim-pop__video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: 14px 0 4px;
	border-radius: 10px;
	overflow: hidden;
}

.sim-pop__video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.sim-pop__btn {
	display: inline-block;
	margin-top: 18px;
	padding: 12px 26px;
	border-radius: 999px;
	background: var(--sim-pop-navy);
	color: #ffffff;
	font-weight: 700;
	font-size: .98rem;
	text-decoration: none;
	transition: background-color .16s ease, transform .16s ease;
}

.sim-pop__btn:hover,
.sim-pop__btn:focus-visible {
	background: var(--sim-pop-teal);
	color: #ffffff;
	transform: translateY(-1px);
	outline: none;
}

/* Estilo ALERTA */
.sim-pop--alerta .sim-pop__title {
	color: var(--sim-pop-red);
}

.sim-pop--alerta .sim-pop__btn {
	background: var(--sim-pop-red);
}

.sim-pop--alerta .sim-pop__btn:hover,
.sim-pop--alerta .sim-pop__btn:focus-visible {
	background: #b93a3a;
}

/* --------------------------------------------------------------------------
   Animações
   -------------------------------------------------------------------------- */

@keyframes sim-pop-fade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

@keyframes sim-pop-pop {
	from { opacity: 0; transform: translateY(14px) scale(.96); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes sim-pop-slide {
	from { opacity: 0; transform: translateY(18px); }
	to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.sim-pop__overlay,
	.sim-pop--modal .sim-pop__box,
	.sim-pop--banner .sim-pop__box {
		animation: none;
	}
	.sim-pop__btn:hover { transform: none; }
}

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */

@media (max-width: 480px) {
	.sim-pop--modal { padding: 14px; }
	.sim-pop--modal .sim-pop__box { max-width: 100%; border-radius: 16px; }
	.sim-pop__title { font-size: 1.25rem; }
	.sim-pop__body { padding: 20px 18px 22px; }
	.sim-pop--banner { width: calc(100% - 24px); right: 12px; left: 12px; }
	.sim-pop--banner.sim-pop--pos-bottom-left,
	.sim-pop--banner.sim-pop--pos-bottom-right { left: 12px; right: 12px; }
}
