:root {
	--font-family: "Montserrat", sans-serif;
	--wine: #980038;
	--black: #212529;
	--black-bg: #212529;
	--grey: #EAEAEA;
	--white: #FFFFFF;
}

h1 {
	font-size: 32px;
	line-height: 40px;
	font-weight: 700;
}

h2 {
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
}

h3 {
	font-size: 20px;
	line-height: 24px;
	font-weight: 500;
}

h4 {
	font-size: 16px;
	line-height: 20px;
	font-weight: 500;
}

h5 {
	font-size: 12px;
	line-height: 14px;
	font-weight: 400;
}

p {
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
}

small {
	font-size: 14px;
	line-height: 16px;
	font-weight: 400;
}

small a {
	font-size: 12px;
	line-height: 14px;
	font-weight: 400;
}

.text-light-red {
	color: var(--wine);
}

.text-orange {
	color: var(--wine);
}

#htmlPage[data-bs-theme="light"] {
	background: #EAEAEA;
}

body {
	font-family: var(--font-family);
	background: none;
}

.container {
	max-width: 1296px;
	width: 100%;
	margin: 0 auto;
	padding-left: 15px;
	padding-right: 15px;
}

header.wbanner {
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	z-index: 9;
	max-width: 1496px;
	width: 100%;
	margin: 0 auto;
	color: #fff;
}

.main-header {
	margin-top: 8px;
	margin-bottom: 4px;
	position: relative;
}

@media (max-width: 991px) {

	/* Comportamento padrão do header no mobile */
	header.wbanner {
		position: initial;
		background: none;
		color: initial;
	}

	/* Apenas na página do filme (quando há .poster-trailer) */
	body:has(.poster-trailer) header.wbanner {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
		color: #fff;
		z-index: 999;
	}

	.main-header {
		padding: 0;
	}
}

.logo {
	min-height: 7vh;
}

@media (max-width: 991px) {
	.logo {
		min-height: 6vh;
		max-height: 36px;
		height: auto;
		width: auto;
	}
}

.main-header .nav-link {
	font-size: 15px;
	font-weight: 600;
}

#htmlPage[data-bs-theme="light"] .main-header .nav-link {
	color: #000;
}

.nav-item .nav-link i {
	transition: 0.4s;
}

.nav-item:hover .nav-link i {
	transform: rotate(3.142rad);
}

.nav-item.dropdown:hover {
	background: #3D4244;
	border-radius: 16px 16px 0 0;
}

.nav-item.dropdown:hover a {
	color: #fff !important;
}

#htmlPage[data-bs-theme="light"] header.wbanner .main-header .nav-link,
#htmlPage[data-bs-theme="dark"] header.wbanner .main-header .nav-link {
	color: #fff;
}

@media (max-width: 991px) {
	.main-header .nav-link {
		font-weight: 900;
	}

	/* Apenas na página do filme */
	body:has(.poster-trailer) header.wbanner .main-header .nav-link {
		color: #fff !important;
	}

	body:has(.poster-trailer) header.wbanner .navbar-collapse {
		background: #fff;
	}

	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] header.wbanner .navbar-collapse .nav-link {
		color: #000 !important;
		transition: none;
	}

	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] header.wbanner .navbar-collapse {
		background: #212529;
	}

	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] header.wbanner .navbar-collapse .nav-link {
		color: #fff !important;
		transition: none;
	}

	/* Estilos padrão para outras páginas */
	#htmlPage[data-bs-theme="light"] header.wbanner .main-header .nav-link {
		color: #000 !important;
	}

	#htmlPage[data-bs-theme="dark"] header.wbanner .main-header .nav-link {
		color: #fff !important;
	}
}

.dropdown-item {
	font-size: 12px;
	font-weight: 700;
	color: #FFFFFF70;
	padding: 10px 15px;
}

.dropdown-item:focus,
.dropdown-item:hover {
	color: #FFFFFF;
	background: none;
}

.navbar-nav>.dropdown:hover>.dropdown-menu {
	display: block;
	margin-top: 0;
	background: #3D4244;
	border: 0;
	color: #FFFFFF70;
	border-radius: 0 0 16px 16px;
	min-width: 100%;
}

.dropdown-toggle::after {
	display: none;
}

@media (max-width: 991px) {
	.main-header .navbar-collapse {
		position: absolute;
		top: 106px;
		left: 0;
		width: 100%;
		z-index: 999;
		padding: 16px;
		background: #fff;
	}

	#htmlPage[data-bs-theme="dark"] .main-header .navbar-collapse {
		background: #212529;
	}

	#htmlPage[data-bs-theme="light"] .dropdown-item {
		color: #000 !important;
	}

	#htmlPage[data-bs-theme="dark"] .dropdown-item {
		color: #fff !important;
	}

	.nav-item.dropdown:hover,
	.navbar-nav>.dropdown:hover>.dropdown-menu {
		background: initial;
	}

	.main-header .navbar-collapse.show {
		display: block;
	}

	.nav-item .nav-link i {
		display: none;
	}

	.main-header .dropdown-menu {
		display: block;
		padding: 0;
		background: none;
		border: 0;
		margin-left: 7vw;
	}

	.dropdown-toggle::after {
		display: none;
	}

	.main-header .dropdown-menu li {
		list-style: none;
	}

	.main-header .dropdown-menu li a {
		padding: 10px 0;
	}

	.main-header .dropdown-toggle::after {
		border: 0;
	}
}

.navbar-toggler {
	border: 0;
	padding: 0;
}

.navbar-toggler h2 {
	color: var(--grey);
}

@media (max-width: 991px) {

	/* Apenas na página do filme */
	body:has(.poster-trailer) header.wbanner .navbar-toggler h2 {
		color: #fff;
	}
}

.main-header .dropdown-menu {
	margin-top: 0;
}

.btn-club {
	text-decoration: none;
	font-size: 42px;
	color: var(--bs-heading-color);
}

.main-banner {
	width: 100%;
	box-sizing: border-box;
}

.destaque {
	position: relative;
	max-width: 1496px;
	width: 100%;
	margin: 0 auto;
}

.destaque::after {
	content: '';
	width: 100%;
	height: 20px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
	position: absolute;
	bottom: 22px;
}

@media (max-width: 991px) {
	.destaque::after {
		bottom: 12px;
		background: #00000000;
	}
}

.main-banner .swiper-slide {
	width: 100%;
	overflow: hidden;
}

.swiper-slide {
	position: relative;
}

.swiper-slide .corp {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 26px;
	background: rgba(115, 113, 113, 0.4);
	border-radius: 0 0 16px 16px;
	backdrop-filter: blur(9px);
	-webkit-backdrop-filter: blur(9px);
	position: absolute;
	bottom: 0;
	width: 100%;
	transition-duration: 0.2s;
}

.swiper-slide .corp .corp-title {
	color: var(--white);
	font-weight: 800;
	font-size: 20px;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-right: 12px;
}

.swiper-slide .corp span {
	width: 55px;
	height: 55px;
	min-width: 55px;
	min-height: 55px;
	background: var(--wine);
	color: var(--white);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	transform: rotate(-45deg);
	flex-shrink: 0;
}

.swiper-slide a {
	display: block;
	position: relative;
	text-decoration: none;
}

.swiper-slide:hover .corp {
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.swiper-slide:hover .corp span {
	background: var(--white);
	color: var(--wine);
}

.swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

@media (max-width: 991px) {
	.main-swiper .swiper-slide a {
		display: block;
	}

	.main-swiper .swiper-slide a img {
		border-radius: 12px;
		width: 120%;
	}

	.main-swiper .swiper-slide .dstk-data {
		position: relative;
		padding-block: 4px;
		background: #00000000;
	}

	.btn-slide-section {
		justify-content: center;
		margin: 0;
	}

	.btn-slide-comprar {
		padding-block: 5px !important;
		width: 100% !important;
		font-size: 1em !important;
	}

	.main-swiper .swiper-slide .dstk-data .container h1 {
		text-align: center;
		margin: 0;
	}

	.class-box-carrossel {
		position: absolute !important;
		top: 5% !important;
		right: 5% !important;
	}

	.class-box-carrossel img {
		width: 100%;
	}
}

.swiper-button-next,
.swiper-button-prev {
	color: var(--white);
}

.swiper-button-disabled {
	opacity: .35;
	cursor: auto;
	pointer-events: none;
}

.custom-swiper-button {
	color: var(--white);
	position: absolute;
	z-index: 9;
	top: 0;
	background: var(--wine);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	font-size: 13px;
	text-align: center;
	padding-top: 10px;
}

.custom-swiper-button.main-banner-prev {
	right: 57px;
	top: initial;
	bottom: 64px;
}

.custom-swiper-button.main-banner-next {
	right: 15px;
	top: initial;
	bottom: 64px;
}

.custom-swiper-button.cs-prev {
	right: 42px;
}

.custom-swiper-button.cs-next {
	right: 0;
}

.custom-swiper-button.cs-prev.movie-now-prev,
.custom-swiper-button.cs-next.movie-now-next,
.custom-swiper-button.cs-prev.movie-nxt-prev,
.custom-swiper-button.cs-next.movie-nxt-next,
.custom-swiper-button.cs-prev.movie-pvn-prev,
.custom-swiper-button.cs-next.movie-pvn-next {
	top: -50px;
}

@media (max-width: 991px) {

	.has-multiple-tabs .custom-swiper-button.cs-prev.movie-now-prev,
	.has-multiple-tabs .custom-swiper-button.cs-next.movie-now-next,
	.has-multiple-tabs .custom-swiper-button.cs-prev.movie-nxt-prev,
	.has-multiple-tabs .custom-swiper-button.cs-next.movie-nxt-next,
	.has-multiple-tabs .custom-swiper-button.cs-prev.movie-pvn-prev,
	.has-multiple-tabs .custom-swiper-button.cs-next.movie-pvn-next {
		top: -10px;
	}
}

.custom-swiper-button.bombo-prev {
	top: -50px;
	right: 42px;
}

.custom-swiper-button.bombo-next {
	top: -50px;
	right: 0;
}

.bombo-content {
	height: 615px;
	position: relative;
	margin-top: 40px;
}

@media (max-width: 829px) {
	.bombo-content {
		height: 255px;
	}
}

.custom-swiper-button.cs-prev2 {
	left: -40px;
	background: none;
	top: 40px;
	color: var(--bs-heading-color);
}

.custom-swiper-button.cs-next2 {
	right: -40px;
	background: none;
	top: 40px;
	color: var(--bs-heading-color);
}

@media (max-width: 991px) {
	.custom-swiper-button.cs-prev2 {
		left: 0px;
	}

	.custom-swiper-button.cs-next2 {
		right: 0px;
	}

}

.main-banner-pagination {
	position: initial;
	margin-top: 24px;
}

.main-banner-pagination:hover {
	position: initial;
	margin-top: 24px;
}

.swiper-pagination-bullet {
	width: 16px;
	height: 16px;
	background: #000;
	border-radius: 50%;
	opacity: 1;
}

.swiper-pagination-bullet-active {
	background: var(--wine);
}

@media (max-width: 991px) {
	.main-banner-pagination {
		bottom: 20px !important;
	}

	.swiper-pagination-bullet {
		width: 8px;
		height: 8px;
	}
}



.poster-small {
	height: 90px;
	border-radius: 8px 0 0 8px;
}

.movie-info h3 {
	color: var(--wine);
	font-weight: 600;
	margin: 0;
}

.movie-info p {
	color: var(--grey);
	margin: 0;
}

.countdown-wrapper {
	min-width: 220px;
}

.countdown-wrapper h4 {
	margin: 0;
	color: var(--wine);
}

.countdown-segment {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.countdown-value {
	font-size: 24px;
	font-weight: 700;
}

.countdown-label {
	font-size: 12px;
	color: var(--wine);
}

@media (max-width: 991px) {

	.colw100 {
		width: 100%;
		padding-top: 16px;
	}

	.movie-info {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	.movie-info h3 {
		font-size: 16px;
	}

	.movie-info p {
		font-size: 14px;
	}

	.poster-small {
		position: absolute;
		top: 0;
		left: 0;
	}

	.countdown-wrapper {
		display: flex;
		width: 88%;
		gap: 16px;
		align-items: center;
	}

	.countdown-segment {
		flex-direction: row;
		gap: 8px;
	}

	.btn-light-red.btn-countdown {
		position: absolute;
		bottom: 8px;
		padding: 4px;
		right: 8px;
	}
}

section.promocoes {
	padding: 40px 0;
}

section.serv-facil {
	margin-bottom: 40px;
}

div.ad-block {
	padding: 32px 16px;
	text-align: center;
	text-transform: uppercase;
	color: var(--white);
	display: grid;
	grid-gap: 8px;
}

.nav-tabs .nav-link {
	border: none !important;
	border-bottom: 2px solid transparent;
	margin-right: 24px;
	color: #00000050;
	position: relative;
	padding: 2px 0;
}

#htmlPage[data-bs-theme="light"] .nav-tabs .nav-link {
	color: #00000050;
}

#htmlPage[data-bs-theme="dark"] .nav-tabs .nav-link {
	color: #ffffff50;
}


.nav-tabs .nav-link.active {
	background-color: transparent;
	font-weight: 700;
	color: var(--black);
}

.nav-tabs .nav-link.active::after {
	content: '';
	width: 40px;
	height: 4px;
	background: var(--wine);
	position: absolute;
	bottom: -4px;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 4px;
}

#htmlPage[data-bs-theme="light"] .nav-tabs .nav-link.active {
	color: var(--black);
}

#htmlPage[data-bs-theme="dark"] .nav-tabs .nav-link.active {
	color: #fff;
}

.nav-tabs {
	border: none !important;
}

.nav-tabs .nav-item:last-child .nav-link {
	margin-right: 0;
}

.tab-content {
	border: none !important;
	padding: 0;
}

.nav-tabs h2 {
	font-size: 30px;
	line-height: 38px;
	font-weight: 800;
	margin: 0;
}

@media (max-width: 991px) {
	.nav-tabs {
		/* margin-bottom: 40px; */
		/* border-bottom: 1px solid #000 !important; */
		/* padding-bottom: 15px; */
		width: 100%;
	}

	.nav-tabs.bomb {
		gap: 6px;
		margin-bottom: 10px;
		border-bottom: 0 !important;
	}

	.nav-tabs h2 {
		font-size: 20px;
		line-height: 24px;
	}

	.nav-tabs .nav-link {
		margin-right: 15px;
	}

	.nav-tabs.bomb .nav-link {
		margin-right: 9px;
	}

	.nav-tabs .nav-link h3 {
		font-size: 16px;
		line-height: 22px;
	}
}

.btn-light-red {
	background-color: var(--wine);
	color: var(--white);
	border: none;
	padding: 8px;
	font-weight: 700;
	border-radius: 8px;
	transition: background-color 0.3s ease;
}

.btn-light-red.xxl {
	padding: 16px;
	border-radius: 16px;
}

.btn-light-red.selected {
	background-color: #7F7F7F;
}

.btn-light-red.active {
	background-color: var(--wine);
	color: var(--white);
}

.btn-light-red.large {
	text-transform: uppercase;
	font-size: 23px;
	padding: 20px 30px;
	font-weight: 800;
}

.btn-light-red.reverse {
	background-color: var(--white);
	color: var(--wine);
}

.btn-light-red.fup {
	font-size: 35px;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 100%;
}

.btn-light-red.anexo {
	background-color: #a3a3a3;
	height: 64px;
	padding: 22px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
	font-weight: 400;
	margin-bottom: 8px;
}

.btn-light-red.fup span {
	width: 75%;
}

.btn-light-red:hover,
.btn-light-red:focus {
	background-color: #6f042b;
	color: var(--white);
	text-decoration: none;
}

@media (max-width: 991px) {
	.btn-light-red {
		font-size: 13px;
	}

	.btn-geo {
		font-size: 0.6em !important;
		padding-block: 14px;
	}

	.btn-light-red.fup {
		font-size: 22px;
	}
}

.btn-orange {
	background-color: var(--black);
	color: var(--wine);
	border: 1px solid var(--wine);
	padding: 0.5rem 1rem;
	font-weight: 500;
	border-radius: 4px;
	transition: background-color 0.3s ease;
}

.btn-orange:hover,
.btn-orange:focus {
	background-color: var(--black-bg);
	border: 1px solid var(--wine);
	color: var(--wine);
	text-decoration: none;
}

@media (max-width: 991px) {
	.btn-orange {
		font-size: 13px;
	}
}

.badge-sessao {
	background-color: #FBC115;
	color: #000;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 11px;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.badge-sessao.badge-destaque {
	border-radius: 8px;
	line-height: 10px;
	height: 21px;
}

.badge-sessao.badge-azul {
	background-color: #007BFF;
	color: #fff;
}

.poster-wrapper {
	position: relative;
	/* display: inline-block; */
	overflow: hidden;
	padding: 16px;
	background: #3B3B3B;
	border-radius: 16px 16px 0 0;
}

.poster-img {
	display: block;
	border-radius: 8px !important;
	width: 100%;
	height: auto;
	transition: transform .5s;
}

.tag {
	position: absolute;
	top: 32px;
	left: 32px;
	background: rgba(255, 255, 255, 0.21);
	backdrop-filter: blur(9.7px);
	-webkit-backdrop-filter: blur(9.7px);
	color: var(--white);
	font-size: 15px;
	padding: 5px 12px;
	border-radius: 6px;
	z-index: 4;
	font-weight: 700;
}

.poster-wrapper .tag {
	top: 32px !important;
	left: 32px !important;
}

.poster-wrapper .classificacao-indicativa {
	position: absolute !important;
	top: 32px !important;
	right: 32px !important;
	left: auto !important;
	margin: 0 !important;
	z-index: 5;
}

.poster-wrapper .classificacao-box {
	position: absolute;
	top: 32px;
	right: 32px;
	left: auto;
	margin: 0;
}

.poster-wrapper .classificacao-box .classificacao-indicativa {
	top: 0 !important;
	right: 0 !important;
}

.card-body {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 8px;
	padding: 0 16px 16px 16px;
	background: #3B3B3B;
	border-radius: 0 0 16px 16px;
	justify-content: space-between;
}

.card-title {
	color: var(--white);
	font-weight: bold;
	text-align: left;
	width: 100%;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
	font-size: 18px;
	line-height: 22px;
}

.card-text {
	color: #ffffff50;
	font-weight: 300;
	text-align: left;
	margin-bottom: 0;
	width: 100%;
	height: 24px;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 16px;
	line-height: 20px;
}

.classificacao-box {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 32.5px;
	height: 32px;
	color: var(--white);
	font-weight: 700;
	font-size: 16px;
	border-radius: 4px;
	font-family: var(--font-family);
	user-select: none;
	text-transform: uppercase;
	position: absolute;
	top: 28px;
	right: 28px;
}

.classificacao-box.on-dsc {
	width: 26px;
	height: 22px;
	position: initial;
	border-right: 0 !important;
	text-align: center;
	padding-right: 0 !important;
	margin-right: 0;
}

.classificacao-livre {
	background-color: #4CAF50;
}

.classificacao-L {
	background-color: #4CAF50;
}

.classificacao-10 {
	background-color: #2196F3;
}

.classificacao-12 {
	background-color: #cfbb0b;
}

.classificacao-14 {
	background-color: #FF9800;
}

.classificacao-16 {
	background-color: #F44336;
}

.classificacao-18 {
	background-color: #000;
}


footer {
	margin-top: 60px;
}

.footer-bottom h4 {
	margin: 0;
	font-size: 16px;
}

.footer-bottom img {
	height: 40px;
}

.footer-bottom .col-md {
	display: flex;
	align-items: center;
	justify-content: center;
}

footer .col-desc {
	width: 26%;
	margin-right: 6%;
}

footer .col-link {
	width: 35%;
	margin-right: 3%;
}

footer .col-link .wmgr {
	margin-right: 13%;
}

footer .col-link ul li {
	margin-bottom: 20px;
	font-size: 18px;
}

footer .col-form {
	width: 30%;
}

@media (max-width: 991px) {
	footer .col-desc {
		width: 100%;
		margin-right: 0;
		text-align: center;
		border-bottom: 1px solid #000;
	}

	footer .col-link {
		width: 100%;
		margin-right: 0;
		margin-top: 24px;
		margin-bottom: 24px;
	}

	footer .col-link .wmgr {
		margin-right: 10%;
	}

	footer .col-link ul li {
		margin-bottom: 5px;
		font-size: 16px;
	}

	footer .col-form {
		width: 100%;
	}

	.footer-top .foot-desc,
	footer .col-desc h3 {
		text-align: left;
	}
}

.border-opacity {
	border-color: #000 !important;
	border-radius: 8px;
}

.footer-top h3 {
	font-weight: 600;
	margin-bottom: 16px;
	font-size: 18px;
	line-height: 24px;
}

.footer-top ul li a {
	text-decoration: none;
	display: block;
	margin-bottom: 8px;
}

#htmlPage[data-bs-theme="light"] .footer-top ul li a {
	color: #000;
}

#htmlPage[data-bs-theme="dark"] .footer-top ul li a {
	color: #fff;
}

.footer-top ul li a:hover {
	color: var(--white);
}

.footer-top .border-opacity {
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-top .btn-light-red {
	background-color: var(--white);
	color: var(--wine);
	border: none;
	border-radius: 0 8px 8px 0;
	height: 48px;
	border: var(--bs-border-width) solid var(--bs-border-color);
	width: 100%;
	border-left: 0;
}

.footer-top .btn-light-red:hover {
	background-color: var(--wine);
	color: var(--white);
	border: none;
	border-radius: 0 8px 8px 0;
}

.footer-top .btn-light-red:hover {
	background-color: var(--wine);
}

.footer-top .text-light-red {
	color: var(--wine);
}

.footer-top .ft-social {
	width: 40px;
	height: 40px;
	background: #212529;
	color: #fff;
	display: block;
	border-radius: 50%;
	text-align: center;
	padding-top: 11px;
	font-size: 18px;
}

#htmlPage[data-bs-theme="dark"] .footer-top .ft-social {
	background: #EAEAEA;
	color: #212529;
}

.footer-bd {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding-top: 32px;
	padding-bottom: 32px;
}

.footer-top .foot-desc {
	font-size: 10px;
	line-height: 22px;
	letter-spacing: 1.12px;
	text-transform: uppercase;
}

.modal .modal-title {
	font-size: 24px;
	color: var(--wine);
}

#htmlPage[data-bs-theme="light"] .modal .modal-title {
	color: #000000 !important;
	font-weight: 600;
	
}

#htmlPage[data-bs-theme="dark"] .modal .modal-title {
	color: #FFFFFF !important;
}

/* Estilos para títulos do SweetAlert2 */
#htmlPage[data-bs-theme="light"] .swal2-title {
	color: #000000 !important;
}

#htmlPage[data-bs-theme="dark"] .swal2-title {
	color: #FFFFFF !important;
}

.modal .form-label {
	font-weight: 500;
}

@media (max-width: 991px) {
	.footer-bd {
		margin-bottom: 16px;
	}

	.footer-top .text-center {
		justify-content: center;
		text-align: center;
	}

	.footer-top .d-md-flex {
		display: none !important;
	}

	.footer-bottom .row {
		flex-direction: column;
		text-align: center;
	}

	.footer-bottom .col-md {
		flex-direction: column !important;
		justify-content: center !important;
		margin-bottom: 16px;
	}
}

.custom-breadcrumb {
	background-color: transparent;
	font-family: var(--font-family);
	font-size: 1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
	padding: 0;
}

.custom-breadcrumb .breadcrumb-item a {
	color: var(--grey);
	text-decoration: none;
}

.custom-breadcrumb .breadcrumb-item a:hover {
	text-decoration: underline;
}

.custom-breadcrumb .breadcrumb-item.active {
	color: var(--wine);
}

.cinema-title {
	font-size: 32px;
	margin-bottom: 4px;
	font-weight: 800;
}

.cinema-title.ultra {
	font-size: 64px;
	line-height: 66px;
	margin-bottom: 4px;
}

.text-ultra {
	font-size: 20px;
	line-height: 24px;
	font-weight: 300;
}

.list-ultra li {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 25px;
	line-height: 28px;
	font-weight: 300;
	margin-bottom: 24px;
	letter-spacing: 5px;
}

.list-ultra li i {
	font-size: 32px;
	color: #2EC947;
}

@media (max-width: 991px) {
	.cinema-title {
		font-size: 22px;
	}

	.cinema-title.ultra {
		font-size: 26px;
		line-height: 30px;
		margin-bottom: 4px;
	}

	.text-ultra {
		font-size: 16px;
		line-height: 18px;
		font-weight: 300;
	}

	.list-ultra li {
		font-size: 16px;
		line-height: 18px;
		letter-spacing: 2px;
	}

	.list-ultra li i {
		font-size: 25px;
	}
}

.cinema-address {
	font-family: var(--font-family);
	color: var(--grey);
	font-size: 1.125rem;
	margin: 0;
}


.date-tab {
	text-align: center;
	padding: 12px;
	cursor: pointer;
}

.date-tab.active {
	border-bottom: 1px solid var(--wine);
}

.tab-pane {
	display: none;
}

.tab-pane.active {
	display: block;
}

.date-carousel {
	padding-bottom: 24px;
}

#htmlPage[data-bs-theme="light"] .date-carousel {
	border-bottom: 1px solid #000;
}

#htmlPage[data-bs-theme="dark"] .date-carousel {
	border-bottom: 1px solid #fff;
}

.date-carousel .swiper-slide {
	border: 2px solid var(--wine);
	text-align: center;
	padding: 16px 0;
	cursor: pointer;
	min-width: 72px;
	border-radius: 8px;
}

.date-carousel .swiper-slide.active {
	background: var(--wine);
	color: var(--white);
}


.date-carousel .label {
	font-size: 12px;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.date-carousel .day {
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
}

.date-carousel .month {
	font-size: 14px;
	text-transform: uppercase;
	margin-top: 4px;
}

/* Desktop */
@media (max-width: 991px) {
	.date-carousel .day {
		font-size: 14px;
	}
}

.card-filme {
	background-color: var(--black-bg);
	padding: 1.5rem;
}

.poster-filme {
	width: 100%;
	object-fit: cover;
	border-radius: 8px;
}


.filme-box {
	background: #37393A;
	padding: 30px;
	border-radius: 16px;
	color: var(--grey);
}

.filme-box-content {
	overflow: hidden;
}


.titulo-filme {
	width: 80%;
	float: right;
	padding: 0 0 0 24px;
	margin-bottom: 0;
}

.col-poster {
	width: 20%;
	float: left;
	position: relative;
	overflow: hidden;
}

.col-poster2 {
	width: 20%;
	float: left;
	position: relative;
}

.info-cinema {
	font-size: 20px;
	width: 100%;
	padding: 8px 0;
	gap: 24px;
	align-items: center;
	border-bottom: 1px solid #ffffff20;
}

.info-cinema .info-cinema-content {
	gap: 16px;
}

.info-cinema .info-cinema-contentspan {
	border-right: 1px solid var(--grey);
	padding-right: 16px;
	line-height: 22px;
}

.info-cinema .info-cinema-content h3 {
	cursor: pointer;
}

@media (max-width: 991px) {
	.info-cinema {
		align-items: start;
		gap: 8px;
	}
}


.info-filme {
	font-size: 20px;
	width: calc(80% - 24px);
	margin-left: 24px;
	float: right;
	padding: 8px 0 8px 0;
	gap: 24px;
	align-items: center;
	border-bottom: 1px solid #ffffff20;
}

.info-filme .info-filme-content {
	gap: 16px;
}

.info-filme .info-filme-content span {
	border-right: 1px solid var(--grey);
	padding-right: 16px;
	line-height: 22px;
}

.info-filme .info-filme-content span.link {
	cursor: pointer;
}

.info-filme .info-filme-content span:last-child {
	border-right: 0;
	padding-right: 0;
}

.info-filme.small {
	font-size: 16px;
	gap: 16px;
}

.info-filme.small .info-filme-content {
	gap: 16px;
}

@media (max-width: 991px) {
	.filme-box-content {
		display: flex;
		flex-wrap: wrap;
		overflow: initial;
	}

	.titulo-filme {
		order: 1;
		width: 100%;
		float: none;
		padding: 0;
		margin-bottom: 8px;
	}

	.col-poster {
		order: 2;
		float: none;
		width: 40%;
		margin-bottom: 20px;
	}

	.info-filme {
		flex-wrap: wrap;
		align-items: start;
		height: fit-content;
		order: 3;
		float: none;
		width: 60%;
		padding: 0 0 0 16px;
		margin-top: 0;
		margin-left: 0;
		font-size: 16px;
		gap: 0;
		border-bottom: 0;
	}

	.info-filme .info-filme-content {
		gap: 8px;
		flex-direction: column;
	}

	.info-filme .info-filme-content span {
		border-right: 0;
		padding-right: 0;
	}

	.info-filme.small {
		gap: 0;
	}

	.info-filme.small .info-filme-content {
		gap: 4px;
	}
}

.botao-filme {
	font-size: 20px;
	color: var(--white);
	background-color: var(--wine);
	border: none;
	border-radius: 8px;
	padding: 6px 16px;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.botao-filme:hover {
	background-color: var(--wine);
}

.horarios-filme {
	gap: 0.5rem;
}

.info-filme-linha {
	padding-bottom: 32px;
	margin-bottom: 32px;
}

.horarios-box {
	width: 80%;
	padding: 0 0 0 24px;
	float: right;
}

@media (max-width: 991px) {
	.horarios-box {
		order: 4;
		padding: 4px;
		float: none;
		width: 100%;
	}
}

@media (min-width: 991px) {
	.horarios-box.snpContentm {
		display: block;
		height: auto !important;
		visibility: visible;
	}
}

.btn-horario {
	background-color: var(--wine);
	color: var(--white);
	border: 0;
	border-radius: 8px;
	padding: 10px 20px;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	transition: background-color 0.3s ease;
}

.btn-horario .small {
	display: block;
	font-size: 12px;
	font-weight: 300;
}

.btn-horario:hover {
	background-color: var(--white);
	color: var(--wine);
}

.btn.btn-horario-disabled {
	opacity: 0.5;
	background-color: #939393;
	color: var(--grey);
	border: 0;
	border-radius: 8px;
	padding: 10px 20px;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}

.btn.btn-horario-disabled .small {
	display: block;
	font-size: 12px;
	opacity: 0.6;
	font-weight: 300;
}

ul.infos {
	width: 100%;
	position: absolute;
	background: linear-gradient(180deg, #15151570 0%, #111111 100%);
	border-radius: 8px;
	top: 0;
	color: var(--white);
	height: 100%;
	align-items: center;
	justify-content: center;
	padding: 0;
	display: flex;
	gap: 16px;
	z-index: -1;
	opacity: 0;
	transition-duration: 0.5s;
	flex-direction: column;
}

ul.infos li {
	cursor: pointer;
	text-align: center;
	color: var(--grey);
}

ul.infos li a {
	color: var(--grey);
}

.poster-wrapper:hover ul.infos,
.col-poster:hover ul.infos {
	z-index: 2;
	opacity: 1;
}

.stuck {
	position: fixed !important;
	top: 0;
	padding: 10px 10px 16px;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	z-index: 99;
	max-width: 1320px;
	width: 100%;
}

#htmlPage[data-bs-theme="light"] .stuck {
	background: #EAEAEA;
}

#htmlPage[data-bs-theme="dark"] .stuck {
	background: #21252D;
}

.checkbox {
	opacity: 0;
	position: absolute;
	display: none !important;
}

.checkbox-label {
	background-color: #dedede;
	width: 88px;
	height: 48px;
	border-radius: 50px;
	position: relative;
	padding: 14px;
	display: flex;
	justify-content: space-between;
	align-self: center;
	border: 1px solid #333333ad;
}

#htmlPage[data-bs-theme="light"] header.wbanner .checkbox-label {
	background: #000;
}

.tg-lgt {
	color: var(--white);
	font-size: 20px;
	z-index: 9;
	width: 20px;
	text-align: center;
	transition: transform 0.2s linear;
	text-align: center;
	opacity: 1;
}

.tg-drk {
	color: var(--white);
	font-size: 20px;
	z-index: 9;
	width: 20px;
	transition: transform 0.2s linear;
	text-align: center;
	opacity: 0.9;
}

.checkbox-label .ball {
	background-color: var(--wine);
	width: 32px;
	height: 32px;
	position: absolute;
	left: 8px;
	top: 8px;
	border-radius: 50%;
	transition: transform 0.2s linear;
}

.checkbox:checked+.checkbox-label {
	background: #000;
}

.checkbox:checked+.checkbox-label .ball {
	transform: translateX(42px);
}

.checkbox:checked+.checkbox-label .fa-moon {
	opacity: 1;
}

#checkbox {
	display: none;
}

@media (max-width: 991px) {
	.checkbox-label {
		background: #222;
	}

	/* Apenas na página do filme */
	body:has(.poster-trailer) header.wbanner .checkbox-label {
		background: rgba(0, 0, 0, 0.5);
		border: 1px solid rgba(255, 255, 255, 0.3);
	}

	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] header.wbanner .checkbox-label {
		background: rgba(0, 0, 0, 0.5);
	}
}

.btn-cidade {
	background: none;
	font-size: 15px;
	font-weight: 500;
	font-weight: bold;
	text-transform: uppercase;
}

/* ========== DESKTOP ========== */
/* Tema claro */
#htmlPage[data-bs-theme="light"] .btn-cidade {
	color: #000;
}

/* Tema escuro */
#htmlPage[data-bs-theme="dark"] .btn-cidade {
	color: #fff;
}

/* Desktop - header.wbanner sempre branco (ambos os temas) */
#htmlPage[data-bs-theme="light"] header.wbanner .btn-cidade,
#htmlPage[data-bs-theme="dark"] header.wbanner .btn-cidade {
	color: #fff;
}

/* ========== MOBILE ========== */
@media (max-width: 991px) {

	/* Padrão mobile - tema claro: #090909 (demais páginas) */
	#htmlPage[data-bs-theme="light"] .btn-cidade {
		color: #090909 !important;
	}

	/* Padrão mobile - tema escuro: branco */
	#htmlPage[data-bs-theme="dark"] .btn-cidade {
		color: #fff !important;
	}
}

/* EXCEÇÃO: Página do filme - branco em AMBOS os temas (PRECISA vir DEPOIS) */
@media (max-width: 991px) {

	/* Múltiplos seletores com alta especificidade para botão E conteúdo */
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] header nav .container .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] header .main-header .container .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] header .main-header .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] header nav .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] button.btn-cidade[data-bs-toggle],
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] .order-4.btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] header nav .container .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] header .main-header .container .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] header .main-header .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] header nav .btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] button.btn-cidade[data-bs-toggle],
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] .order-4.btn-cidade,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] .btn-cidade {
		color: #fff !important;
	}

	/* Garantir que ícones mantenham suas cores */
	body:has(.poster-trailer) #htmlPage[data-bs-theme="light"] .btn-cidade i.fa-location-dot,
	body:has(.poster-trailer) #htmlPage[data-bs-theme="dark"] .btn-cidade i.fa-location-dot {
		color: var(--wine) !important;
	}
}


.btn-cidade i.fa-location-dot {
	color: var(--wine);
	font-size: 25px;
}

@media (max-width: 991px) {
	.btn-cidade i {
		color: var(--wine);
	}

	/* Layout mobile: primeira linha (hamburger, logo, tema) e segunda linha (cidade centralizada) */
	.main-header .container .btn-cidade {
		flex-basis: 100%;
		justify-content: center;
		order: 4;
	}

	/* Container do hamburger */
	.hamburger-container {
		width: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.hamburger-container .navbar-toggler {
		padding: 0;
		border: none;
	}
}

/* Telas muito pequenas: reduzir tamanhos para caber tudo na primeira linha */
@media (max-width: 400px) {

	/* Reduzir container do hamburger */
	.hamburger-container {
		width: 40px;
	}

	.hamburger-container .navbar-toggler h2 {
		font-size: 20px;
	}

	/* Reduzir logo */
	.logo {
		max-height: 24px !important;
	}

	/* Reduzir toggle de tema */
	.checkbox-label {
		width: 64px;
		height: 36px;
		padding: 10px;
	}

	.checkbox-label .ball {
		width: 24px;
		height: 24px;
		left: 6px;
		top: 6px;
	}

	.checkbox:checked+.checkbox-label .ball {
		transform: translateX(28px);
	}

	.tg-lgt,
	.tg-drk {
		font-size: 16px;
	}
}

.btn-search {
	text-decoration: none;
	font-size: 24px;
	color: var(--bs-heading-color);
}

.box-search {
	position: absolute;
	right: 15px;
	height: 48px;
	background: #222;
	border-radius: 32px;
	padding: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	z-index: -10;
	opacity: 0;
}

.box-search.active {
	z-index: 10;
	opacity: 1;
}

.box-search i {
	color: var(--grey);
}

.box-search .icon-search {
	font-size: 24px;
}

.box-search .close-search {
	font-size: 24px;
	cursor: pointer;
}

.box-search input {
	appearance: none;
	border: 0;
	background: none;
	text-transform: uppercase;
	color: var(--grey);
}

@media (max-width: 991px) {
	.box-search {
		z-index: 10;
		opacity: 1;
		position: initial;
		border-radius: 8px;
		background: #A3A3A3;
		margin-bottom: 16px;
	}

	.box-search .close-search {
		display: none;
	}
}

.dstk-data {
	position: absolute;
	width: 100%;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: baseline;
	justify-content: flex-end;
	text-align: left;
	padding: 24px;
	color: var(--white);
	background: #29123C;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
}

.dstk-data p {
	font-size: 14px;
}

.dstk-data.main h1 {
	max-width: 500px;
	width: 100%;
}

.dstk-data.main p {
	max-width: 500px;
	width: 100%;
	height: 80px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 20px;
}

.dstk-data.main .btn-light-red {
	font-weight: 700;
	font-size: 24px;
	width: 190px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 8px;
}

.dstk-data.main .classificacao-box {
	position: initial;
	margin-right: 0;
}

.dstk-data.main .fa-circle-play {
	font-size: 42px;
	cursor: pointer;
}

@media (max-width: 991px) {
	.dstk-data {
		padding: 24px 0;
	}

	.dstk-data.main h1 {
		font-size: 20px;
		line-height: 20px;
	}
}

.poster-trailer {
	position: relative;
	/* max-width: 1496px; */
	width: 100%;
	margin: 0 auto 24px;
}

@media (max-width: 991px) {

	/* Na página do filme, fazer a imagem começar do topo atrás do header */
	body:has(.poster-trailer) {
		padding-top: 236px;
	}

	.poster-trailer {
		margin-top: -236px;
		margin-bottom: 24px;
		position: relative;
		z-index: 1;
		height: 236px;
		overflow: hidden;
	}

	.poster-trailer .mask {
		position: relative;
		z-index: 1;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.poster-trailer .mask img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	/* Botão do player posicionado 20px acima da borda inferior */
	.poster-trailer .mask .play-trailer2 {
		position: absolute !important;
		bottom: 20px !important;
		left: 50% !important;
		right: auto !important;
		top: auto !important;
		transform: translateX(-50%) !important;
		margin: auto !important;
	}

	/* Remover padding-top do container com título do filme */
	.poster-trailer~.container.pt-4:has(.cinema-title) {
		padding-top: 0 !important;
	}

	/* Alternativa: remover de todos os containers na página do filme */
	body:has(.poster-trailer) .container.pt-4.mb-0 {
		padding-top: 0 !important;
	}
}

.poster-trailer::after {
	content: '';
	width: 100%;
	height: 80px;
	position: absolute;
	bottom: 0;
}

#htmlPage[data-bs-theme="light"] .poster-trailer::after {
	background: linear-gradient(180deg, rgba(234, 234, 234, 0) 0%, rgba(234, 234, 234, 1) 100%);
}

#htmlPage[data-bs-theme="dark"] .poster-trailer::after {
	background: linear-gradient(180deg, rgba(18, 18, 18, 0) 0%, rgba(18, 18, 18, 1) 100%);
}

.poster-trailer .mask {
	max-height: 800px;
	width: 100%;
	display: flex;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.poster-trailer .mask .play-trailer,
.poster-trailer .mask .play-trailer2 {
	position: absolute;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9;
	width: 54px;
	height: 54px;
	font-size: 54px;
	color: var(--white);
	cursor: pointer;
	opacity: 0.8;
}

.trailer-box {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: #eaeaea90;
	display: none;
	align-items: center;
	z-index: 9;
}

#htmlPage[data-bs-theme="light"] .trailer-box {
	background: #eaeaea90;
}

#htmlPage[data-bs-theme="dark"] .trailer-box {
	background: #12121290;
}

.trailer-box.active {
	display: block;
}

.trailer-box iframe {
	width: 100%;
	height: 600px;
}

.trailer-box .close-trailer {
	text-align: right;
	font-size: 32px;
	margin-bottom: 16px;
	cursor: pointer;
}

.others-trailers {
	position: relative;
	height: 168px;
	display: flex;
	align-items: center;
	overflow: hidden;
	margin-bottom: 16px;
	border-radius: 16px;
	cursor: pointer;
}

.others-trailers .play-trailer {
	position: absolute;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9;
	width: 54px;
	height: 54px;
	font-size: 54px;
	color: var(--white);
	opacity: 0.8;
}

.content-wimg {
	position: relative;
	max-width: 1496px;
	width: 100%;
	margin: 0 auto 24px;
}

.content-wimg::after {
	content: '';
	width: 100%;
	height: 20px;
	position: absolute;
	bottom: 0;
}

#htmlPage[data-bs-theme="light"] .content-wimg::after {
	background: linear-gradient(180deg, rgba(234, 234, 234, 0) 0%, rgba(234, 234, 234, 1) 100%);
}

#htmlPage[data-bs-theme="dark"] .content-wimg::after {
	background: linear-gradient(180deg, rgba(18, 18, 18, 0) 0%, rgba(18, 18, 18, 1) 100%);
}

.content-wimg .mask {
	max-height: 540px;
	width: 100%;
	display: flex;
	align-items: baseline;
	position: relative;
	overflow: hidden;
	background: var(--black);
}

.content-wimg .mask img {
	width: 100%;
	opacity: 0.5;
}

.content-wimg .ctwimg-box {
	color: var(--white);
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 24px;
}

.content-wimg .ctwimg-box h1 {
	font-size: 40px;
	line-height: 72px;
}

@media (max-width: 991px) {
	.content-wimg .ctwimg-box h1 {
		font-size: 40px;
		line-height: 45px;
	}
}

.novidades {
	margin: 90px auto;
	padding: 90px 50px;
	background: url("../images/newsletter.jpg");
}

.novidades h3 {
	font-size: 48px;
	line-height: 53px;
	font-weight: 800;
	color: var(--white);
	text-transform: uppercase;
}

.novidades h3 span {
	color: #d61e43;
}

.frm-stl .form-group {
	padding-left: 5px;
	padding-right: 5px;
}

.frm-stl input,
.frm-stl select {
	margin-bottom: 10px;
	background-color: #a3a3a3;
	color: var(--white);
	border: 0;
	height: 64px;
	padding: 16px;
}

.frm-stl textarea {
	background-color: #a3a3a3;
	color: var(--white);
	border: 0;
	height: 250px;
	padding: 22px;
}

.frm-stl input::placeholder,
.frm-stl textarea::placeholder {
	color: var(--white);
}

.frm-stl input[type="search"] {
	padding-left: 65px;
}

input.form-mod {
	height: 48px;
	width: 100%;
	border-radius: 8px 0 0 8px;
	border-right: 0;
}

input.form-mod2,
select.form-mod2 {
	height: 48px;
	width: 100%;
	border-radius: 8px;
	border-right: 0;
}

.frm-stl i.frm-stl-i {
	position: absolute;
	left: 22px;
	top: 18px;
	font-size: 26px;
	color: var(--white);
}

.frm-stl button {
	margin-top: 8px;
	width: 100%;
	font-weight: 800;
	font-size: 20px;
	height: 64px;
	text-transform: uppercase;
}

.form-success {
	width: 100%;
	background: #BDFDF6;
	border-radius: 16px;
	border: 1px solid #00A491;
	color: #00A491;
	padding: 13px 10px;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
}

.form-success i {
	font-size: 29px;
}

.form-error {
	width: 100%;
	background: #FFEBEB;
	border-radius: 16px;
	border: 1px solid #D32F2F;
	color: #D32F2F;
	padding: 13px 10px;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
}

.form-error i {
	font-size: 29px;
}

.form-success.home,
.form-error.home {
	position: absolute;
	top: -90px;
}

@media (max-width: 991px) {
	.novidades {
		margin: 45px auto;
		padding: 35px 12px;
	}

	.novidades h3 {
		font-size: 32px;
		line-height: 36px;
		text-align: center;
		margin-bottom: 45px;
	}

	.frm-stl input,
	.frm-stl select {
		height: 58px;
		margin-bottom: 8px;
	}

	.frm-stl button {
		height: 58px;
	}
}

.accordion-button {
	background: #3B3B3B;
	color: var(--white);
	font-weight: 700;
	font-size: 22px;
	padding: 40px;
	border-radius: 8px !important;
	outline: none;
	box-shadow: none;
}

.accordion-button:focus {
	outline: none;
	box-shadow: none;
	border: none;
}

.accordion-header {
	border: none;
}

@media (max-width: 991px) {
	.accordion-button {
		font-size: 16px;
	}
}

.accordion-body {
	padding: 40px;
}

.accordion-item {
	background: #3B3B3B;
	color: var(--white);
	border-radius: 8px !important;
}

.accordion-button:not(.collapsed) {
	background: #3B3B3B;
	color: var(--white);
	border-radius: 8px !important;
}

.bomb-item {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #3B3B3B;
	border-radius: 24px;
	padding: 32px;
	position: relative;
}

.bomb-item img {
	height: 240px;
	width: auto;
}

.bomb-item .bomb-item-desc {
	background: #D9D9D9;
	color: #000;
	border-radius: 16px;
	padding: 8px 16px;
	position: absolute;
	bottom: 16px;
	width: calc(100% - 32px);
	min-height: 84px;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

@media (max-width: 829px) {
	.bomb-item img {
		height: 150px;
		margin-bottom: 40px;
	}

	.bomb-item .bomb-item-desc {
		padding: 8px;
	}

	.bomb-item .bomb-item-desc h4 {
		font-size: 14px;
		line-height: 16px;
	}
}

.bomb-item .bomb-item-desc p {
	margin-bottom: 0;
}

.busca-sinopse {
	width: 100%;
	height: 100px;
	display: -webkit-box;
	-webkit-line-clamp: 5;
	line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	position: relative;
}

.bullet {
	position: absolute;
	top: -10px;
	right: -10px;
	font-size: 14px;
	background: var(--wine);
	width: 20px;
	height: 20px;
	line-height: 20px;
	color: var(--white);
	font-weight: 500;
	border-radius: 50%;
	display: flex;
	justify-content: center;
}

.sec-custom {
	font-size: 45px;
	font-weight: 800;
	line-height: 45px;
}

@media (max-width: 991px) {
	.sec-custom {
		font-size: 32px;
		font-weight: 800;
		line-height: 36px;
	}

	.sec-custom.dtc {
		display: table-caption;
	}
}

.sec-custom2 {
	font-size: 30px;
	font-weight: 800;
	line-height: 38px;
}

.leis-acc .accordion-button.collapsed::after {
	background: url("../images/leis.png");
	width: 24px;
	height: 24px;
}

.leis-acc .accordion-button:not(.collapsed)::after {
	background: url("../images/leis.png");
	width: 24px;
	height: 24px;
	transform: rotate(-0.126turn);
}

.leis-acc .col {
	margin-top: 0;
}

.bd-desk {
	border-bottom: 1px solid #000;
}

.home-serv-facil .swiper-slide {
	height: auto;
}

.info-cine-det-internal {
	padding: 12px;
}

#sessaoModal .modal-dialog {
	width: min(95vw, 1200px);
	max-width: 100%;
	height: 100vh;
	margin: 0 auto !important;
	display: flex;
	align-items: center;
}

.sessao-modal-content {
	width: 100%;
	height: 90vh;
	max-height: 90vh;
	justify-self: center;
}

@media (max-width: 991px) {
	#sessaoModal .modal-dialog {
		width: 100vw;
		max-width: 100vw;
		height: 100vh;
		margin: 0 !important;
		align-items: center;
	}

	.sessao-modal-content {
		height: 92vh;
		max-height: 92vh;
		justify-self: center;
	}
}

/* ========================================================================== */
/* REGRA FINAL: Força cor branca no botão cidade - página filme mobile */
/* Esta DEVE ser a ÚLTIMA regra do arquivo para garantir prioridade máxima */
/* ========================================================================== */
@media (max-width: 991px) {

	/* Selector com máxima especificidade possível */
	html#htmlPage[data-bs-theme="light"] body:has(.poster-trailer) header nav.main-header .container button.btn-cidade.order-4[data-bs-toggle="modal"],
	html#htmlPage[data-bs-theme="dark"] body:has(.poster-trailer) header nav.main-header .container button.btn-cidade.order-4[data-bs-toggle="modal"],
	html#htmlPage[data-bs-theme="light"] body:has(.poster-trailer) .btn-cidade,
	html#htmlPage[data-bs-theme="dark"] body:has(.poster-trailer) .btn-cidade {
		color: #ffffff !important;
	}
}

/* ========================================================================== */
/* Input de busca: texto sempre branco independente do tema */
/* ========================================================================== */
.frm-stl input[type="search"].form-control,
.frm-stl input.form-control[type="search"] {
	color: var(--white) !important;
}

#htmlPage[data-bs-theme="light"] .frm-stl input[type="search"].form-control,
#htmlPage[data-bs-theme="light"] .frm-stl input.form-control[type="search"] {
	color: var(--white) !important;
}

#htmlPage[data-bs-theme="dark"] .frm-stl input[type="search"].form-control,
#htmlPage[data-bs-theme="dark"] .frm-stl input.form-control[type="search"] {
	color: var(--white) !important;
}

/* ========================================================================== */
/* Input de busca: texto sempre branco independente do tema */
/* ========================================================================== */
.frm-stl input[type="search"].form-control,
.frm-stl input.form-control[type="search"] {
	color: var(--white) !important;
}

#htmlPage[data-bs-theme="light"] .frm-stl input[type="search"].form-control,
#htmlPage[data-bs-theme="light"] .frm-stl input.form-control[type="search"] {
	color: var(--white) !important;
}

#htmlPage[data-bs-theme="dark"] .frm-stl input[type="search"].form-control,
#htmlPage[data-bs-theme="dark"] .frm-stl input.form-control[type="search"] {
	color: var(--white) !important;
}

/* ========================================================================== */
/* Modal de preços: imagem ocupa 75% da altura, largura dinâmica centralizada */
/* ========================================================================== */
/* Desktop: largura dinâmica baseada no conteúdo */
@media (min-width: 992px) {
	#precoModalCinema .modal-dialog {
		max-width: none;
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}

	#precoModalCinema .modal-content {
		width: fit-content;
		max-width: 90vw;
	}

	#precoModalCinema .compartilhar-modal-body {
		text-align: center;
		width: fit-content;
	}

	#precoModalCinema .compartilhar-modal-body img {
		height: 75vh !important;
		max-height: 75vh !important;
		width: auto !important;
		max-width: 90vw !important;
		object-fit: contain !important;
		border-radius: 1rem;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
		margin: 0 auto;
		display: block;
	}
}

/* Mobile: comportamento original */
@media (max-width: 991px) {
	#precoModalCinema .modal-dialog {
		max-width: 500px;
		width: 100%;
		margin: 1.75rem auto;
	}

	#precoModalCinema .modal-content {
		width: 100%;
		max-width: 100%;
	}

	#precoModalCinema .compartilhar-modal-body {
		text-align: left;
		width: 100%;
		justify-content: flex-start;
		align-items: flex-start;
	}

	#precoModalCinema .compartilhar-modal-body img {
		height: auto !important;
		max-height: none !important;
		width: auto !important;
		max-width: 100% !important;
		object-fit: initial !important;
		border-radius: 1rem;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
		margin: 0;
		display: block;
	}
}

/* ========================================================================== */
/* Componente de Erro de Carregamento de Poster */
/* ========================================================================== */
#htmlPage .poster-error {
	background-color: #EAEAEA !important;
	object-fit: contain !important;
	padding: 20px !important; /* Espaço interno para o logo não encostar na moldura */
	aspect-ratio: 2/3 !important;
	min-height: 200px !important;
	width: 100% !important;
	height: auto !important;
	display: block !important;
	border-radius: 8px !important; /* Arredondamento da imagem igual ao poster original */
}

#htmlPage[data-bs-theme="dark"] .poster-error {
	background-color: #121212 !important;
}
