/* Cinema - Tribuna do Sertão
   Portado de tribunadosertao-frontend (assets/scss/pages/index/index.geral.scss e index.mobile.scss).
   Carregado apenas nas páginas /cinema. */

/* .page-internal do mockup (fundo da página) */
body { background: #002310; height: auto; }

/* O header (com os menus) segue branco: sem isso ele herdaria o fundo verde do body */
.header { background-color: #FFF; }

.movie-page { margin-bottom: 97px; }

.movie-page__wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 35px 30px;
	margin-top: 54px;
}

.movie-page__card { display: inline-flex; flex-direction: column; gap: 15px; width: 100%; text-decoration: none; }
.movie-page__card picture,
.movie-page__card img { width: 100%; }
.movie-page__card img { aspect-ratio: 2 / 3; object-fit: cover; }

.movie-page__info h2,
.movie-page__info p { color: #FFF; font-size: 20px; font-weight: bold; line-height: 26px; margin-bottom: 2px; }
.movie-page__info p { font-size: 18px; line-height: 24px; font-weight: 400; margin: 0; }

.movie-banner {
	width: 100%; background-repeat: no-repeat; background-size: cover; background-position: center;
	position: relative; z-index: 1; margin-bottom: 32px;
}
.movie-banner::after {
	content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 27.38%, rgba(0, 0, 0, 0.34) 43.63%, rgba(0, 0, 0, 0.70) 77.62%);
	transform: rotate(179.917deg);
	z-index: -1;
}

.movie-title {
	display: flex; align-items: center; gap: 7px; color: #FFF;
	font-size: 30px; font-weight: 700; line-height: 33px;
	margin: 0; padding-left: 8px;
	position: absolute; top: -17px; z-index: 10;
}
.movie-title::before {
	background: #FEDB05; width: 8px; height: 8px; display: block; border-radius: 50%;
	content: ''; position: absolute; top: 50%; transform: translate(-50%, -50%); left: 0;
}
.movie-title span { position: relative; }
.movie-title span::after,
.movie-title span::before {
	content: ''; width: 100vw; height: 1px; background: #E0E0E0; opacity: .4;
	position: absolute; top: 50%; margin-left: 10px;
}
.movie-title span::before { right: 143px; }
.movie-title.--primary { position: static; }

.movie-banner__wrapper { display: flex; justify-content: space-between; align-items: center; padding-top: 94px; gap: 16px; }

.movie-trailer { display: inline-flex; width: 100%; max-width: 370px; position: relative; }
.movie-trailer::after {
	content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 6.09%, #000 100%);
	border-radius: 5px;
}
.movie-trailer img { border-radius: 5px; object-fit: cover; }
.movie-trailer__info {
	display: flex; flex-direction: column; align-items: center;
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	gap: 4px; z-index: 1;
}
.movie-trailer__info span { color: #FFF; font-size: 14px; font-weight: 700; line-height: 16px; letter-spacing: -0.35px; }

.movie-pic { position: relative; bottom: -32px; }
.movie-pic img { aspect-ratio: 2 / 3; object-fit: cover; }

.movie-content { margin-bottom: 100px; }
.movie-content .row { justify-content: center; }

.movie-content__info { max-width: 900px; margin: 0 auto; }
.movie-content__info h1 {
	color: #FFF; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	font-size: 42px; font-weight: 700; line-height: 30px; letter-spacing: -0.4px;
	margin: 0 0 40px; padding-top: 60px;
}

.movie-content__synopsis span,
.movie-content__synopsis p { color: #FFF; font-size: 20px; font-weight: 700; line-height: 32px; margin: 0; }
.movie-content__synopsis p { font-weight: 400; }

.movie-content__wrapper {
	background: #565656; padding: 20px 40px; border-radius: 4px; margin-top: 24px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(176px, 1fr)); gap: 8px;
}
.movie-content__details span,
.movie-content__details p { color: #FFF; font-size: 18px; font-weight: 700; line-height: 32px; margin: 0; }
.movie-content__details p { font-weight: 400; }

.sessions-container { max-width: 900px; margin: 60px auto 0; }
.sessions-container > h2 { color: #FFF; font-size: 20px; font-weight: 700; line-height: 32px; margin-bottom: 16px; }

.sessions-wrap { border-radius: 4px; border: 1px solid #E8E8E8; overflow: hidden; }
.days-bar { display: flex; background: #6b6b6b; }
.day-item { flex: 1; text-align: center; color: #D2D2D2; cursor: pointer; background: #565656; border: none; font-weight: 600; line-height: 32px; }
.day-item .dow { font-size: 14px; display: block; }
.day-item .num { font-size: 32px; font-weight: 600; display: block; }
.day-item .mon { font-size: 12px; letter-spacing: .5px; display: block; text-transform: uppercase; }
.day-item.active { background: #E8E8E8; color: #000000; }

.cinemas-grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
	padding: 35px 35px 60px; border-radius: 0 0 4px 4px; border: 1px solid #767676;
}
.cinemas-grid[hidden] { display: none; }
.cinemas-grid__empty { color: #b9c4bd; grid-column: 1 / -1; margin: 0; }

.cinema-card { background: transparent; border-radius: 4px; border: 1px solid #767676; padding: 16px; }
.cinema-card h3 { color: #FFF; font-size: 18px; font-weight: 700; line-height: 32px; margin: 0; }
.cinema-card .addr,
.cinema-card .phone { color: #FFF; font-size: 14px; font-weight: 400; line-height: 32px; margin: 0; }

.sessions-row { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 16px; }
.session-btn {
	border-radius: 2px; border: 1px solid #767676; background: #F4F4F4; padding: 5px;
	min-width: 80px; text-align: center; cursor: pointer; text-decoration: none;
	display: flex; flex-direction: column; transition: all .3s ease-in-out;
}
.session-btn .time { color: #000; text-align: center; font-size: 14px; font-weight: 600; line-height: normal; }
.session-btn .lang { color: #000; font-size: 10px; font-weight: 400; line-height: normal; }
.session-btn:hover { background: #dfe3df; }

.btn-more {
	border-radius: 20px; background: #D4B600; color: #000; text-align: center;
	font-size: 14px; font-weight: 700; line-height: 18px; padding: 16px 24px;
	width: 100%; max-width: 765px; margin: 30px auto 0; display: block;
	transition: all .3s ease-in-out; text-decoration: none; text-transform: uppercase;
}
.btn-more:hover { background: #c4a800; color: #000; }

.movie-note { color: #b9c4bd; font-size: 12px; margin: 16px 0 0; }

@media (max-width: 991px) {
	.movie-page__wrapper { grid-template-columns: repeat(2, 1fr); }
	.movie-pic img { max-width: 304px; }
}

@media screen and (max-width: 767px) {
	.movie-page__card { gap: 8px; }
	.movie-page__wrapper { gap: 24px; margin-top: 32px; }
	.movie-page__info h2 { font-size: 16px; line-height: 22px; }
	.movie-page__info p { font-size: 14px; line-height: 20px; }
	.movie-page { margin-bottom: 64px; }
	.movie-banner { margin-bottom: 0; }
	.movie-banner__wrapper { flex-direction: column; padding-block: 40px; }
	.movie-pic { bottom: auto; }
	.movie-pic img { max-width: 196px; }
	.movie-content__info h1 { font-size: 28px; line-height: normal; padding-top: 32px; margin-bottom: 20px; }
	.movie-content__wrapper { padding: 24px; }
	.movie-content { margin-bottom: 64px; }
	.cinemas-grid { padding: 24px 24px 40px; }
	.days-bar { width: 100%; overflow: auto; }
	.day-item { min-width: 110px; }
}

@media (max-width: 640px) {
	.cinemas-grid { grid-template-columns: 1fr; }
}
