.rio-ticket-popup {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	padding: 1rem;
	pointer-events: none;
	position: fixed;
	transition: opacity 180ms ease;
	z-index: 99999;
}

.rio-ticket-popup.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.rio-ticket-popup__backdrop {
	background: rgba(20, 54, 77, 0.62);
	inset: 0;
	position: absolute;
}

.rio-ticket-popup__dialog {
	max-width: 654px;
	position: relative;
	width: min(calc(100vw - 2rem), 654px);
}

.rio-ticket-popup .rio-ticket-popup__close {
	background: transparent;
	border: 0;
	color: rgba(255, 255, 255, 0.7);
	cursor: pointer;
	font-family: Arial, sans-serif;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1;
	outline: 0;
	padding: 0;
	position: absolute;
	right: -8rem;
	top: -2.5rem;
}

.rio-ticket-popup .rio-ticket-popup__close:hover,
.rio-ticket-popup .rio-ticket-popup__close:focus {
	background: transparent;
	color: #ffffff;
}

.rio-ticket-popup__panel {
	background: #ffffff;
	border: 2px solid #df5b22;
	border-radius: 0 0.85rem 0 0.85rem;
	box-shadow: 0 18px 50px rgba(5, 20, 35, 0.28);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 300px;
	outline: 10px solid #ffffff;
	padding: 0.45rem;
	position: relative;
	text-align: center;
}

.rio-ticket-popup__panel::before {
	border: 2px solid #22a6df;
	border-radius: 0 0.55rem 0 0.55rem;
	content: "";
	inset: 0.45rem;
	pointer-events: none;
	position: absolute;
}

.rio-ticket-popup__top,
.rio-ticket-popup__body {
	position: relative;
}

.rio-ticket-popup__top {
	background: #22a6df;
	border-radius: 0 0.55rem 0 0;
	color: #ffffff;
	padding: 0.75rem 1rem 0.65rem;
	text-transform: uppercase;
}

.rio-ticket-popup__brand,
.rio-ticket-popup__title,
.rio-ticket-popup__remaining,
.rio-ticket-popup__save {
	font-family: var(--header-font-family, Arial, sans-serif);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.rio-ticket-popup__brand {
	align-items: center;
	display: flex;
	gap: 0.35rem;
	justify-content: center;
	margin: 0 0 0.18rem;
}

.rio-ticket-popup__brand-img {
	display: block;
	height: auto;
	max-width: min(8.6rem, 58%);
}

.rio-ticket-popup__brand span {
	font-size: 2.5rem;
	padding-left: 0.25rem;
}

.rio-ticket-popup__title {
	font-size: 2.5rem;
}

.rio-ticket-popup__body {
	background: #f4f4f4;
	border: 2px solid #22a6df;
	border-radius: 0 0 0 0.55rem;
	border-top: 0;
	color: #14364d;
	flex: 1;
	padding: 1.5rem;
}

.rio-ticket-popup__remaining {
	font-size: 1.65rem;
	margin-bottom: 0.5rem;
}

.rio-ticket-popup__save {
	color: #df5b22;
	font-size: 1.65rem;
	margin-bottom: 1rem;
}

.rio-ticket-popup__button {
	background: #22a6df;
	border: 3px solid #22a6df;
	color: #ffffff;
	display: inline-flex;
	font-family: var(--header-font-family, Arial, sans-serif);
	font-size: 1rem;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-width: 12rem;
	padding: 0.75rem 1rem;
	text-decoration: none;
	text-transform: uppercase;
}

.rio-ticket-popup__button:hover {
	background: #14364d;
	color: #ffffff;
}

.rio-ticket-popup__button:focus,
.rio-ticket-popup__button:focus-visible {
	outline: 0;
}

body.rio-ticket-popup-open {
	overflow: hidden;
}
