/* Global
----------------------------*/

/* Responsive Breakpoint System
----------------------------------------
xs-micro: max-width: 320px           (iPhone SE portrait)
xs:       max-width: 576px           (Mobile)
sm:       max-width: 767px           (Small tablet/Large mobile)
md:       min-width: 768px           (Medium tablet/laptop)
lg:       min-width: 992px           (Desktop)
xl:       min-width: 1200px          (Large desktop)

Note: Some rules use ranges like (768px - 991px) for precise targeting
----------------------------------------*/
[v-cloak] {display: none}
body {
	background-color: #141414;
	color: #C7C7C7;
	font-family: "Helvetica Neue", Helvetica, Arial, "Noto Sans TC", "PingFang TC", "儷黑 Pro", "Microsoft JhengHei", 微軟正黑體, STHeiti, "Heiti TC Medium", "Apple LiGothic", PMingLiu, 新細明體;
}
h1 {
	padding: 20px 0;
	font-size: 30px;
	font-weight: bold;
	color: #FFF;
}
h2 {
	padding-top: 20px;
	font-size: 21px;
	font-weight: bold;
	color: #C7C7C7;
}
h3 {
	padding-top: 20px;
	font-size: 14px;
	font-weight: bold;
	color: #c7c7c7;
}
p {
	padding-bottom: 10px;
	font-size: 14px;
	line-height: 24px;
	color: #AAA;
}
a {
	color: #FF586D;
}
a:hover {
	text-decoration: none;
	color: #F33C52;
}
hr {
	border-color: #424242;
}
.text-grey {
	color: #777777;
}
.font-size-12 {
	font-size: 12px;
}
a.text-grey:hover {
	color: #999;
}

#page-content-wrapper {
	padding-top: 50px;
}

/* lg: Desktop only */
@media (min-width: 992px) and (max-width: 1199px) {
	.navbar-nav .nav-link {
	  font-size: 0.9rem;
	  padding-left: 0.4rem !important;
	  padding-right: 0.4rem !important;
	}
  }
  
  /* xl: Large desktop */
  @media (min-width: 1200px) {
	.navbar-nav .nav-link {
	  font-size: 1rem;
	}
  }
/* rating icon text - moved to xs-micro breakpoint */

/* Tag */
.badge {
	font-size: 12px;
	font-weight: normal;
}
/* Red Button */
.button-red {
	display: inline-block;
	padding: 8px 30px;
	margin-bottom: 5px;
	background-color: #FF586D;
	color: #FFF;
	border-radius: 50px;
	text-align: center;
}
.button-red:hover {
	background-color: #F33C52;
	color: #FFF;
}
/* sm: Small tablet/Large mobile - Button layouts */
@media (max-width: 767px) {
	.button-red  {
		width: 100%;
	}
}
/* Grey Button */
.button-grey {
	display: inline-block;
	padding: 8px 30px;
	margin-bottom: 5px;
	background-color: #222222;
	color: #7B7B7B;
	border-radius: 50px;
	text-align: center;
}
.button-grey:hover {
	background-color: #333;
	color: #7B7B7B;
}
@media (max-width: 767px) {
	.button-grey  {
		width: 100%;
	}
}

/* no OutLine Button */
.button-outline-none {
	outline: 0 !important;
}

/* Outline Button */
.button-outline {
	display: inline-block;
	padding: 5px 30px;
	margin-bottom: 5px;
	border: 1px solid #FF586D;
	color: #FF586D;
	border-radius: 50px;
	text-align: center;
}
.button-outline:hover {
	border-color: #F33C52;
	color: #F33C52;
}
.small-button-outline {
	display: inline-block;
	padding: 3px 18px;
	margin-bottom: 5px;
	border: 1px solid #FF586D;
	color: #FF586D;
	border-radius: 50px;
	text-align: center;
	font-size: 15px;
}
.small-button-outline:hover {
	border-color: #F33C52;
	color: #F33C52;
}
@media (max-width: 767px) {
	.button-outline  {
		padding: 5px 40px;
		width: 100%;
		font-size: 13px;
	}
}
/* Tab */
@media (max-width: 767px) {
	.tab-mobile .btn {
		/* margin-top: 15px; */
		font-size: 13px;
	}
}
/* Arrow */
.arrow {
    border: solid #979797;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
}
.arrow-right {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.arrow-left {
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
}
.red-arrow {
	border-color: #ff586d;
}
/*breadcrumb*/
.nav-breadcrumb {
	display: flex;
	align-items:center;
	margin: 0px 0 20px;
	font-family: "Helvetica Neue", Helvetica, Arial, "Noto Sans TC", "PingFang TC", "儷黑 Pro", "Microsoft JhengHei", 微軟正黑體, STHeiti, "Heiti TC Medium", "Apple LiGothic", PMingLiu, 新細明體;
}
.nav-breadcrumb .arrow {
	margin: 0 6px 0 3px;
	border-color: #979797;
	padding: 2px;
}
.nav-breadcrumb a {
	font-size: 13px;
	font-weight: normal;
	color: #979797;
}
.nav-breadcrumb a:hover {
	color: #888;
}
.nav-breadcrumb .active {
	font-size: 13px;
	font-weight: normal;
	color: #FF586D;
}
.nav-breadcrumb .active:hover {
	color: #F33C52;
}
.breadcrumb-bottom {
	margin-top: 40px;
}
.breadcrumb-bottom .arrow {
	margin: 0;
}
.nav-breadcrumb .separater {
	font-size: 13px;
	color: #656569;
}
/*submenu*/
.submenu{
	display: flex;
	align-items:center;
	margin: 0px 0 20px;
}
.submenu .arrow {
	margin: 0 6px 0 3px;
}
.submenu a {
	font-size: 13px;
	color: #8E8E93;
	background-color: #181818; 
	padding: 2px 6px;
	border-radius: 6px;
	border:1px solid ;
	border-color:#333333; 
}
.submenu a:hover {
	color: #7a7a7f;
}
.submenu .active {
	color: #FF586D;
	
}
.submenu .active:hover {
	color: #F33C52;
}

/* Round corner */
.round-corner {
	border-radius: 8px;
}
/* Profile pic mask */
.profile-mask {
	display: inline-block;
	border-radius: 50%;
	overflow: hidden;
}
.profile-mask img {
	object-fit: cover;
	max-width: 100%;
	height: auto;
}
.red-dot {
	position: absolute;
	right: 0px;
	top: 0px;
}

.header {
	border-bottom: 1px solid #222222;
	background-color: #141414;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, border-bottom-color 0.3s ease;
}

/* Translucent navigation bar for pages with backdrops */
.header.translucent {
	background-color: rgba(20, 20, 20, 0.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(34, 34, 34, 0.5);
}

/* Ensure solid navigation for pages without backdrops */
.header.solid {
	background-color: #141414;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: 1px solid #222222;
}
.header .logo {
	max-width: 66px;
	margin-top: -7px;
}
.header a {
	color: #DDD;
}
.header a:hover {
	color: #F33C52;
}
.header .right-nav {
	line-height: 100%;
}
.header .right-nav a:hover {
	opacity: .8;
}
/* Language Switch*/
#dropdownLanguageSwitch{
	background-color: rgba(0, 0, 0, 0);
	border-color: rgba(0, 0, 0, 0);
}
#dropdownLanguageSwitch::after {
    display: none;
}
#language-switch-menu{
	margin-top: 6px;
	background-color: #1a1a1a;
	color: #ffffff;
	border-radius: 0%;
	padding: 0px;
	width: 131px;
	min-width: 131px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.94);
}
#language-switch-menu .language-switch-item{
	padding-top: 18px;
	text-align: center;
}
#language-switch-menu .language-switch-item:last-child{
	padding-bottom: 18px;
}
#language-switch-menu li:hover{
	background-color: rgba(0, 0, 0, 0);
	color: #F33C52;
	opacity: .8;
}
/* Mobile Language Switch*/
#mobile-language-switch-menu{
	list-style-type: none;
}
/* Mobile Header */
.mobile-header div {
	background-color: #141414;
	z-index: 1;
	width: 100%;
	padding: 10px;
	line-height: 100%;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
}

/* Translucent mobile navigation for pages with backdrops */
.mobile-header.translucent div {
	background-color: rgba(20, 20, 20, 0.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Ensure solid mobile navigation for pages without backdrops */
.mobile-header.solid div {
	background-color: #141414;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.mobile-header input {
  display: block;
  width: 40px;
  height: 100%;
  margin-left: 15px;
  position: absolute;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}
.mobile-header button {
	height: 100%;
	background-color: transparent;
	border: none;
}
.mobile-header button span {
	display: block;
	width: 24px;
	height: 1px;
	margin-bottom: 5px;
	background: #ddd;
	border-radius: 1px;
	z-index: 1;
	transform-origin: 16px 0px;
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.55s ease;
}
.mobile-header button span:first-child {
	transform-origin: 0% 0%;
}
.mobile-header button span:nth-last-child {
	transform-origin: 0% 100%;
}
.mobile-header button span:last-child {
	margin-bottom: 0;
}

#mobile-profile-wrapper{
	width: auto;
}

/* Animation of menu icon*/
.mobile-header input:checked ~ div button span {
	opacity: 1;
	transform: rotate(45deg) translate(0, 0);
}
.mobile-header input:checked ~ div button span:nth-last-child(3) {
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}
.mobile-header input:checked ~ div button span:nth-last-child(2) {
  transform: rotate(-45deg) translate(0, 0);
}
.mobile-header .menu {
	position: absolute;
	width: 100%;
	padding: 0;
	background: #141414;
	list-style-type: none;
	top: 55px;
	left: 0;
	transform-origin: 0% 0%;
	transform: translate(0, -130%);
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	z-index: -1;
	overflow-y: auto; 
	height: 100vh;
}
.mobile-header .menu-language-item {
	position: absolute;
	width: 100%;
	padding: 0;
	background: #141414;
	list-style-type: none;
	top: 49px;
	left: 0;
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	z-index: 10;
	overflow-y: auto; 
	height: 100vh;
}
.mobile-header input:checked ~ ul {
	transform: none;
}
.mobile-header .menu a,
.mobile-header .menu-language-item a{
	padding: 10px 0 10px 25px;
	display: block;
	border-bottom: 1px solid #222222;
}
.mobile-header .logo {
	top: 32%;
    left: 100px;
    position: absolute;
    margin-left: -40px;
}
.mobile-header .item-display-none {
	display: none !important;
}
.mobile-header .mobile-menu-item {
	color: #ddd;
	font-size: 15px;
	padding: 10px 0 10px 25px;
	border-bottom: 1px solid #222;
}
.mobile-header .mobile-menu-item:hover {
	color: #f33c52;
	cursor: pointer;
}

/* Sidebar */
.sidebar .arrow {
	border-color: #FF586D;
}
.sidebar .movie-title {
	color: #c7c7c7;
}
.sidebar .movie-extra-info {
	color: #8B8B8B;
}
.sidebar a:hover {
	opacity: .8;
}

/* Table */
table {
	width: 100%;
	line-height: 20px;
	color: #DDD;
}
tr {
	border-bottom: 1px solid #2E2E2E;
}
td {
	padding: 15px;
}
td:first-child {
	padding: 15px 0;
}
td:last-child {
	padding: 15px 0 15px 15px;
}
/* xs: Mobile devices - Table padding */
@media (max-width: 576px) {
	td {
		padding: 13px;
	}
	td:first-child {
		padding: 13px 0;
	}
	td:last-child {
		padding: 13px 0 13px 13px;
	}
}

/* Select */
select {
	width: 100%;
	height: 40px;
	color: #E6E6E6;
	background-color: #262626;
	border-color: #363636;
	font-size: 15px;
}

/* Search */
.form-control {
	color: #E6E6E6;
	background-color: #262626;
	border-color: #363636;
}
/* 下拉式選單箭頭的樣式 */
.arrow-style {
	appearance: none;
	font-size: 15px;
	background: url(../svg/down-arrow.svg) no-repeat 97% 50%;
	background-size: 20px 20px;
}
.form-control:focus {
	color: #E6E6E6;
	background-color: #262626;
	border-color: #363636;
}

.search-round-corner {
	border-radius: 5px;
}
.search-input {
	color: #E6E6E6;
	background-color: #3B3B3B;
	border-color: #DDDDDD;
	font-size: 15px;
	border: 1px;
}
.search-input:focus {
	color: #E6E6E6;
	background-color: #262626;
	border-color: #271515;
}
.search-setting {
	background-color: #3B3B3B;
	z-index: 2;
	height: 31px;
	border: 1px solid;
	border-radius: 5px;
	width: 850px;
}
.search-input {
	z-index: 10;
	height: 29px;
	font-size: 15px;
	color:#DDDDDD;
}
.search-setting input:focus {
	outline: none;
	box-shadow: none;
	border: none;
	background-color: #3B3B3B;
}
.search-setting input::placeholder {
	color: #696969; 
	font-size: 15px;
	opacity: 1;
}
.dropdown-setting {
	z-index: -5;
	border-radius: 0px 0px 5px 5px;
	font-size: 15px;
	background-color: #242424;
}
.dropdown-line {
	border: 1px solid;
	border-color: #292929;
	margin: 0;
}
.history-setting {
	color: #696969;
	font-size: 15px;
}
.mobile-header-search {
	padding: 11px 15px 12px 15px;
	height: 53px;
	background-color: #141414;
	border-bottom: 1px solid #222222;
}
.mobile-header-search div {
	z-index: 2;
	width: 100%;
	line-height: 100%;
}
.header-search {
	background-color: #141414;
}
.header-search .logo {
	max-width: 66px;
	margin-top: -7px;
}
.header-search a {
	color: #696969;
}

.header-search .right-nav {
	line-height: 100%;
}
.header-search .right-nav a:hover {
	opacity: .8;
}
.desktop-header-search {	
	padding: 0;
	height: 38px;
	background-color: #141414;
	margin: 2px 0px;
}
.desktop-header-search div {
	z-index: 2;
	line-height: 100%;
}
.dropdown-setting a:hover {
	color: #F33C52;
}
.cancel-btn {
	z-index: 2;
	border: solid 1px;
	border-color: #DDDDDD;
	font-size: 15px;
	color:#DDDDDD;
	background-color:#141414;
	border-radius: 50px;
	height: 31px;
	width: 75px;
	padding: 6px 15px; 
}
.cancel-btn:hover {
	color: #F33C52;
	border-color: #F33C52;
}


/* Movie rating in review */
.review-rating {
	display: inline-block;
	padding: 6px 15px;
	background-color: #FF586D;
	color: #E6E6E6;
	font-size: 28px;
	line-height: 26px;
}
.review-rating span {
	font-size: 10px;
	line-height: 12px;
	display: block;
}

/* Video */
.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
	background-color: #444;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Collection Preview */
.related-collection-title {
	font-size: 30px;
	font-weight: 700;
}
.overlapped-poster a {
	color: #c7c7c7;
	font-size: 20px;
}
.overlapped-poster .poster {
	position: relative;
	width: 32.5%;
	height: auto;
}
.overlapped-poster .poster img {
	box-shadow: 3px 0 5px rgba(0,0,0,.7);
	width: 100%;
	height: auto;
}
.overlapped-poster .poster:first-child {
    z-index: 5;
}
.overlapped-poster .poster:nth-of-type(2) {
    z-index: 4;
    margin-left: -12.5%;
}
.overlapped-poster .poster:nth-of-type(3) {
    z-index: 3;
    margin-left: -12.5%;
}
.overlapped-poster .poster:nth-of-type(4) {
    z-index: 2;
    margin-left: -12.5%;
}
.overlapped-poster .poster:nth-of-type(5) {
    z-index: 1;
    margin-left: -12.5%;
    box-shadow: none;
}
.overlapped-poster h4.related-collection-movie-name {
    font-size: 20px;
}
/* App Promotion banner in footer and sidebar */
.app-download {
	background: #242424; 
	border-radius: 8px;
	font-weight: 500; 
}
.app-download p{
	font-size: 18px;
	line-height: 25px;
}
.app-link-mobile{
	position: relative;
}
.app-store-link {
	position: absolute;
	top: 30px;
	right: 30px;
	padding: 10px 4px;
	border-radius: 4px;
	z-index: 10;
	background-color:rgba(0, 0, 0, 0.5);
	text-align: center;
	color: #ffffff;
	border: #ffffff77 solid 1px;
	font-size: 20px;
}
/* App Promotion banner in footer */
.enjoy-movie-app-ad-title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 0;
}
.app-promotion-banner-ad {
	padding-top: 50px;
	background-color: #212121;
}
.app-promotion h2 {
	font-size: 24px;
}
.app-promotion b {
	display: block;
	font-size: 35px;
	color: #FF586D;
}
.app-promotion a {
	align-items: center;
}
.app-promotion .arrow {
    border-color: #FF586D;
    margin-left: 5px;
}
footer {
	position: relative;
	padding: 80px 0 40px 0;
	color: #979797;
	font-size: 14px;
}
footer a{
	color: #979797;
	display: inline-block;
}
footer a:hover {
	color: #C7C7C7;
	text-decoration: none;
}
footer .language {
	padding-bottom: 16px;
}
footer .language .active {
	color: #FFF;
	font-weight: bold;
}
footer .social-link a:not(:last-child) {
	padding-right: 10px;
}
footer .social-link a:hover {
	opacity: .7;
}
.copyright {
	font-size: 14px;
	color: #8E8E93;
}
/* Bookmark Button */
.movie-detail .bookmark-button {
	border-radius: 20px;
}
.movie-detail .bookmark-button {
	padding: 0 20px 0 20px;
	border: solid 1px #f33c52;
}
.movie-detail .bookmark-button img {
	padding-bottom: 1px;
}
.movie-detail .bookmark-button:hover {
	color: #f33c52;
	opacity: .8;
}

/* Share Buttons */
.f-share,
.w-share,
.p-share {
	width: 40px;
	height: 40px;
	line-height: 37px;
}
.f-share:hover,
.w-share:hover,
.p-share:hover {
	opacity: .9;
}
.f-share {
	background-color: #4267b2;
}
.w-share {
	background-color: #33b545;
}
.p-share {
	background-color: #cb2027;
}

/* VOD on poster */
.vod-on-poster {
	z-index: 0;
	line-height: 16px;
}

/* Poster View */
.poster-view .vod {
	z-index: 0;
}
.poster-view .position-relative .movie-img img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
.poster-view .position-relative:hover .movie-img img {
	-webkit-transform: scale(1.08);
	transform: scale(1.08);
}
.movie-img {
	overflow: hidden;
	transform: translateZ(0);
}

.poster-view .vod img {
    margin-bottom: 0.15rem;
	width: 20%;
	height: 20%;
	max-width: 32px;
	max-height: 32px;
	min-width: 20px;
	min-height: 20px;
}
.poster-view .poster-overlay {
	height: 30%;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.85));
	border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
	z-index: 0;
}
.poster-view h3.movie-title, .poster-view .movie-title {
	font-weight: 500;
	font-size: 16px;
	z-index: 0;
	padding-left: 0.6rem !important;
}

@media (max-width: 576px) {
    .poster-view .vod img {
        margin-bottom: 0.1rem;
        max-width: 26px;
        max-height: 26px;
        min-width: 20px;
        min-height: 20px;
    }
}
@media (min-width: 768px) {
	.poster-view .movie-title {
		padding-left: 0.8rem !important;
	}
}
@media (min-width: 992px) {
	.app-promotion {
		max-height: 573px;
    	overflow: hidden;
	}
	.app-promotion b {
		padding-top: 150px;
	}
}
/* md: Tablet typography */
@media (min-width: 768px) and (max-width: 991px) {
	p {
		font-size: 14px;
		line-height: 22px;
	}
	table {
		font-size: 14px;
	}
	.header a {
		padding-right: 0;
		font-size: 15px;
	}
	.header .logo {
		text-align: center;
	}
	.app-promotion {
		max-height: 650px;
		overflow: hidden;
	}
	.app-promotion b {
		font-size: 25px;
	}
	.app-promotion img {
		padding-top: 40px;
	}
	footer .copyright,
	footer .language {
		text-align: center;
	}
	footer {
		text-align: center;
	}
	.overlapped-poster a {
		font-size: 17px;
		line-height: 17px;
	}
}

/* Browse View */
.source-btn {
	color: #ffffff;
	background-color: rgba(102, 102, 102, 0.2);
	height: 36px;
	padding-top: 5px;
	width: auto;
	min-width: 75px;
	white-space:nowrap;
}
.source-btn:hover {
	color: #ffffff;
	background-color: rgba(102, 102, 102, 0.6);
}
.status-btn {
	color: #999999;
	background-color: rgba(0, 0, 0, 0);
	white-space:nowrap;
}
.status-btn:hover {
	color: #ffffff;
}
.status-btn.selected {
	color: #f33c52;
	background-color: rgba(0, 0, 0, 0);
}
.source-btn.selected {
	background-color: #f33c52;
}
.status-btn.selected:hover {
	color: #FF586D;
	background-color: rgba(0, 0, 0, 0);
}
.source-btn.selected:hover {
	background-color: #FF586D;
}

/* Home
----------------------------*/
.top-reviews::-webkit-scrollbar {
    width: 4px;
}
.top-reviews::-webkit-scrollbar-track {
   	background: #222; 
    border-radius: 8px;
}
.top-reviews::-webkit-scrollbar-thumb {
	background: #444; 
    border-radius: 8px;
}
.home-review-content { 
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
.home-review-content p { 
	font-size: 13px; 
	line-height: 20px; 
	color: #c7c7c7;
}
.home-top-reviews-movie-name { 
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.home-top-reviews-movie-name a { 
	color: #c7c7c7;
	font-size: 15px;
	font-weight: 600;
	line-height: 18px;
	display: inline-block;
}
.home-review-liked, .home-review-liked a {
	color: #888;
	font-size: 11px;
	line-height: 15px;
	vertical-align: text-top;
	margin-top: 2px;
}
.home-review-liked, .reaction-num.is-active {
	color: #888;
}
.home-review-liked .heart {
	width: 40px;
	height: 40px;
	background: url("../png/reaction-heart.png") no-repeat;
	background-position: 0 0;
	background-size: cover;
	cursor: pointer;
	transition: background-position 1s steps(28);
	transition-duration: 0s;
    margin-left: -12px;
    margin-top: -10.5px;
    display: inline-block;
}
.home-review-liked .heart.is-active {
	transition-duration: 1s;
	background-position: -1120px 0;
}
.home-review-liked .disable-reaction {
	cursor: default !important;
    pointer-events: none;
}
.home-review-liked .reaction-num {
	margin-left: 20px;
    margin-top: -32px;
    display: flex;
}
.movie-article span {
	color: #c7c7c7;
}
.home .hero-app-promo{
	margin-top: -10px;
}
/* Hero banner & thin banner*/
.chrome-ext-hero .promo-content span,
.chrome-ext-banner .promo-content span {
	color: #F0F0F0;
}
.chrome-ext-banner {
	max-height: 263px;
	overflow: hidden;
}
.hero-app-promo .backdrop-meta {
	right: 5%;
	top: 50%;
	color: #FFF;
	-webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: translate3D(100%,0,0) rotate(-90deg);
    -ms-transform: translate3D(100%,0,0) rotate(-90deg);
    transform: translate3D(100%,0,0) rotate(-90deg);
    opacity: .5;
}
.hero-app-promo .content {
	margin-top: -60px;
}
.hero-app-promo .content span {
	font-size: 33px;
}
.showtimes-link:hover {
	opacity: .8;
}
@media (min-width: 992px) {
	.home .birthday-people .col-lg-2 {
	    max-width: 14.2%;
	}

}
@media (max-width: 576px) {
	
	.hero-app-promo .backdrop-meta {
		right: 7%;
		top: 60%;
		font-size: 12px;
	}
	.hero-app-promo .content {
		margin-top: -30px;
	}
	.hero-app-promo .content span {
		font-size: 24px;
	}
}

/* About Enjoy app
----------------------------*/
#aboutenjoy .logo {
	margin: 0;
	max-width: 108px;
}
#aboutenjoy h1 {
	font-size: 35px;
	line-height: 46px;
}
#aboutenjoy h2 {
	font-size: 28px;
}
#aboutenjoy p {
	padding-bottom: 0;
}
/* sm: Standardized from 760px */
@media (max-width: 767px) {
	#aboutenjoy h2 {
		font-size: 20px;
		line-height: 38px;
	}
}

/* Movie Detail
----------------------------*/
/* WTW button */
.movie-detail .wtw-flow a {
	font-size: 15px;
	color: #FFF;
	background-color: #303030;
}
/* Disable status */
.movie-detail .wtw-flow .disabled {
	color: #999;
}
.movie-detail .wtw-flow .inner-arrow-button.disabled:hover,
.movie-detail .wtw-flow .arrow-button.disabled:hover {
	background-color: #303030;
}
.movie-detail .wtw-flow .arrow-button.disabled:hover:after {
	border-color: transparent transparent transparent #303030;
}
/* Active status */
.movie-detail .wtw-flow .inner-arrow-button.active,
.movie-detail .wtw-flow .arrow-button.active,
.movie-detail .wtw-flow .inner-arrow-button.active:hover,
.movie-detail .wtw-flow .arrow-button.active:hover {
	background-color: #ff586d;
}
.movie-detail .wtw-flow .arrow-button.active:after,
.movie-detail .wtw-flow .arrow-button.active:hover:after {
	border-color: transparent transparent transparent #ff586d;
}

/* wtw button */
.movie-detail .wtw-flow .arrow-button {
    vertical-align:middle;
    text-align:center;
    position:relative;
}
.movie-detail .wtw-flow .arrow-button:after {
	position:absolute;
    right:-20px;
    content:" ";
    top: 0;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 19px 0 19px 20px;
    border-color: transparent transparent transparent #303030;
    z-index: 1;
}
.movie-detail .wtw-flow .arrow-button:hover,
.movie-detail .wtw-flow .inner-arrow-button:hover {
	background-color: #3A3A3A;
}
.movie-detail .wtw-flow .arrow-button:hover:after {
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 19px 0 19px 20px;
    border-color: transparent transparent transparent #3A3A3A;
}
.movie-detail .wtw-flow .inner-arrow-button {
    vertical-align:middle;
    text-align:center;
    position:relative;
}
.movie-detail .wtw-flow .inner-arrow-button:after {
	position:absolute;
    left: 3px;
    content:" ";
    top: 0px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 19px 0 19px 20px;
    border-color: transparent transparent transparent #444;
}
.movie-detail .wtw-flow a:first-child {
	border-radius: 50px 0 0 50px;
}
.movie-detail .wtw-flow a:last-child {
	border-radius: 0 50px 50px 0;
}
.movie-detail h3 {
	color: #696969;
	font-weight: normal;
	font-size: 14px;
}
.movie-detail .section-title {
	color: #696969;
	font-weight: normal;
	font-size: 14px;
}
/* Legacy backdrop settings moved to global backdrop section above */
.movie-detail .content {
	position: relative;
}
/* md: Movie detail layout */
@media (min-width: 768px) and (max-width: 991px) {
	.movie-detail .content {
		margin-top: -30px;
	}
}
.movie-detail h1, .person-detail h1 {
	margin: 0;
	padding: 0;
	font-size: 35px;
}
.movie-detail h2, .person-detail h2 {
	margin: 0;
	padding-top: 0;
	font-size: 24px;
	font-weight: normal;
}
.movie-detail .movie-meta {
	font-size: 13px;
	color: #C7C7C7;
	vertical-align: middle;
}
.movie-detail .movie-meta img {
	margin-right: 5px;
}
/* My Review Box */
.movie-detail .my-review-box {
	background-color: rgba(51, 51, 51, 0.3);
}
.movie-detail .my-review-box p {
	font-size: 14px;
}
.movie-detail .my-review-box .caption {
	font-size: 13px;
	color: #8e8e93;
}
.movie-detail .vod {
	font-size: 15px;
}
.movie-detail .vod-title {
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: #999;
	margin-top: -5px;
}
.movie-detail .vod-block .img-title{
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: #c7c7c7;
	width: 100%; 
	display: inline-block; 
	height: 12px;
	position: absolute;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%); 
	width: 100%;
}
.movie-detail .vod-img{
	overflow: hidden;
	width: 100%;
	margin-bottom: 5px;
	display: inline-block;
	min-width: 80px;
	min-height: 40.5px;
}
.movie-detail .vod-block {
	margin-bottom: 15px;
}
.movie-detail .vod-block-title {
	width: 100%;
	height: 20px;
	margin: 27px auto 14px auto;
}
.movie-detail .vod-block-title {
	width: 100%;
	font-size: 14px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: #666;
}
.movie-detail .vod a {
	padding: 10px 0;
}
.movie-detail .enjoy-rating {
	background-color: #222;
	border-radius: 8px;
}
.movie-detail .enjoy-rating,
.movie-detail .enjoy-rating a {
	color: #8e8e93;
	font-size: 15px;
}
.movie-detail .enjoy-rating b {
	color: #c7c7c7;
}
.movie-detail .enjoy-rating-meta div, 
.movie-detail .enjoy-rating-meta a {
	background-color: #262626;
	color: #8e8e93;
	font-size: 14px;
}
.trailer a:hover, .trailer-video-container:hover {
	cursor: pointer;
	opacity: 0.8;
}
.trailer .wrap {
	width: 100%;
	aspect-ratio: 16/9;
	margin: 0;
    background: #333;
    position: relative;
    overflow: hidden;
}
.trailer .wrap img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transform: scale(1.25);
	object-position: center;
}
.trailer .play-button-circle {
    background: rgba(243, 60, 82, 0.8); /* Added alpha for transparency */
    border-radius: 40px;
    height: 40px;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 40px;
    margin: -20px 0 0 -20px;
}
.trailer .play-button-circle-inner {
    position: relative;
    height: 100%;
}
.trailer .play-button-circle-inner:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 20px;
    border-color: transparent transparent transparent rgba(255, 255, 255, 0.8); /* Added alpha for transparency */
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -10px 0 0 -7px;
}
.play-youtube-button:hover {
	cursor: pointer;
	opacity: .8;
}
/* Trailer Player Modal - Framework-Agnostic Component
   Used by: Any page with trailer functionality
   Components: 
   - components/trailer_player_vanilla.erb (vanilla JS)
   - components/trailer_player_modal.erb (Vue.js)
   Helper: js/TrailerPlayer.js (vanilla JS class)
   ----------------------------------------*/
.video-overlay {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.8); /* Black background with opacity */
	z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
	cursor: pointer; /* Add a pointer on hover */
	z-index: 1031;
}
.video-player .video-container {
	top: 48%;
  left:0;
  right:0;
  transform: translateY(-50%);
  display:block;
  text-align:center;
	z-index: 1032;
}
.video-player .close-button {
	position: fixed;
	top: 70px;
	right: 20px;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	z-index: 1040;
	cursor: pointer;
	background: none;
	border: none;
	padding: 10px;
	line-height: 1;
	text-shadow: 0 0 3px rgba(0,0,0,0.5);
}
.video-player .close-button:hover {
	color: #FF586D;
}

/* Mobile responsiveness improvements */
@media (max-width: 768px) {
	.video-player .video-container {
		top: 50%;
		transform: translateY(-50%);
		padding: 0 10px;
	}
	
	.videoWrapper iframe {
		max-width: 100%;
		height: auto;
		aspect-ratio: 16/9;
	}
	
}

/* Vanilla JS compatibility - default hidden state */
.trailer-player-container {
	position: relative;
	width: 0;
	height: 0;
	overflow: hidden;
}

.trailer-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1031;
}

/* Accessibility improvements for trailer thumbnails */
.play-youtube-button {
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.play-youtube-button:hover {
	opacity: 0.8;
}

.play-youtube-button:focus {
	outline: 2px solid #F33C52;
	outline-offset: 2px;
}

.play-youtube-button:focus-visible {
	opacity: 0.8;
}

/* Loading state for player */
.player-loading {
	position: relative;
}

.player-loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #F33C52;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	transform: translate(-50%, -50%);
}

.player-loading-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 1034;
}

.player-error-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1034;
}

@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* vdieo pop up end */

/* related article */
.related-article-mask {
	overflow: hidden;
	width: 100%;
	padding: 26.1% 0;
	position: relative;
}
.related-article-mask img {
	position: absolute;
	top: 0%;
	left: 0%;
	object-fit: cover;
	width: 100%;
	height: auto;
	min-height: 100%;
}
/* related article end */

.movie-detail .enjoy-rating h3 {
	font-size: 14px;
    line-height: 1.5;
    color: rgb(142, 142, 147);
}
.movie-detail .cast a,
.birthday-people a {
	text-align: center;
	font-size: 13px;
	line-height: 16px;
	color: #C7C7C7;
}
.movie-detail .cast a:hover,
.birthday-people a:hover,
.blog-article a:hover,
.mobile-wtw-btn-aria div button:hover,
.movie-detail .vod-block a:hover,
.movie-detail .review-block a:hover,
.movie-detail .related-collection a:hover,
.movie-detail .my-review-box a:not(.button-red,.new-rating):hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.movie-detail .cast .col,
.birthday-people .col {
	max-width: 105px;
	min-width: 105px;
}
.movie-detail .btn-group-toggle {
	font-size: 13px;
}
.movie-detail .crew {
	font-size: 14px;
}
.movie-detail .crew .section-title {
	color: #8B8B8B;
}
.movie-detail .crew a {
	color: #c7c7c7;
}
.movie-detail .crew a:hover {
	color: #ddd;
}
.movie-detail .movie-quote a {
	display: inline-flex;
    align-items: center;
}
.movie-detail .movie-quote .arrow,
.section-header .arrow,
.movie-detail .movie-review .arrow,
.movie-detail .next-action-showing .arrow {
	border-color: #FF586D;
}
.movie-detail .movie-quote a:hover .arrow,
.collection-detail .section-header a:hover .arrow,
.movie-detail .movie-review a:hover .arrow {
	border-color: #F33C52;
}
.movie-detail .movie-review {
	color: #888;
}
.collection-detail .author img {
	width: 20px;
	height: auto;
}
.movie-detail .movie-review .profile-name:hover {
	color: #888;
}
.movie-detail .movie-review .meta {
	font-size: 13px;
}
.movie-detail .movie-review hr {
	width: 100%;
	border-color: #8e8e93;
}
.movie-detail .movie-review .button-red {
	padding: 8px 70px;
}
.movie-detail .review-block {
	margin: 0 0 14px 0;
}
.movie-detail .review-block .profile-name {
    color: #8B8B8B;
    font-size: 13px;
    line-height: 16.5px;
}
.movie-detail .review-block .meta {
    color: #8B8B8B;
    font-size: 11px;
    line-height: 14.5px;
}
.imax-text{
	font-size: 14px !important;
	line-height: 21px !important;
}
/* lg: Rating icons for desktop */
@media (min-width: 992px) and (max-width: 1199px) {
	.movie-detail .rating-icon img {
		width: auto !important;
		max-width: 15px !important;
		height: auto !important;
		max-height: 20px !important;
	}
	.movie-detail .rating-icon {
		font-size: 13px;
	}
	.movie-detail .rating-icon span.pr-2 {
		padding-right: 0.25rem !important;
		line-height: 20px !important;
	}
	.movie-detail .rating-icon > span.pr-2:last-child {
		padding-right: 0px !important;
	}
}
/* Movie Review */
.movie-review h3 {
	color: #696969;
}
.review-enjoy-rating-title{
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: #999;
}
.write-review-btn{
	background-color: #FF586D;;
	font-size: 16px;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	text-align: center;
	color: #fff;
}
.write-review-btn:hover{
	color: #fff;
	background-color: #f33c52;
}
/* Review box in homepage */
.review-block{
	width: 100%;
	height: auto;
	margin: 0 14px 14px 14px;
	padding: 14px 14px 12px;
	border-radius: 8px;
	background-color: #262626;
}
.review-content{
	height: auto;
}
.review-content p{
	margin-bottom: 0;
	padding-bottom: 0;
}
.review-rating-bar .rating-title{
	font-size: 11px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 11px;
	letter-spacing: 0.24px;
	text-align: right;
}
.review-rating-bar  .bar-content{
	margin-bottom: 0.25rem;
	height: 11px;
	margin-right: 0;
}
.review-rating-bar{
	margin-top: -11px;
	width: 70%;
	display: inline-block;
}
.review-rating-bar .bar-bg{
	width: 100%;
	background-color: #444;
	display: inline-block;
	height: 4px;
	z-index: 1;
	border-radius: 2px;
}
.review-rating-bar .bar{
	background-color: #c7c7c7;
	display: inline-block;
	height: 4px;
	z-index: 2;
	border-radius: 2px;
}
/* Netflix Promotion Box */
.movie-detail .netflix-push-promotion-box {
	border-radius: 20px;
	background-color: #242424;
}
.movie-detail .netflix-push-promotion-box h3 {
	font-size: 18px;
	line-height: normal;
	font-weight: 500;
}
.movie-detail .netflix-push-promotion-box p {
	color: #999;
	line-height: normal;
}
@media (min-width: 992px) {
	/*Horionztal scrollbar*/
	.trailer .flex-nowrap::-webkit-scrollbar,
	.movie-detail .cast::-webkit-scrollbar,
	.search-result .person-result::-webkit-scrollbar,
	.cinema-detail .other-movies::-webkit-scrollbar,
	.birthday-people .row::-webkit-scrollbar {
		width: 4px;
	}
	.trailer .flex-nowrap::-webkit-scrollbar-track,
	.movie-detail .cast::-webkit-scrollbar-track,
	.search-result .person-result::-webkit-scrollbar-track,
	.cinema-detail .other-movies::-webkit-scrollbar-track,
	.birthday-people .row::-webkit-scrollbar-track {
		background: transparent;
	}
	.trailer .flex-nowrap::-webkit-scrollbar-thumb,
	.movie-detail .cast::-webkit-scrollbar-thumb,
	.search-result .person-result::-webkit-scrollbar-thumb,
	.cinema-detail .other-movies::-webkit-scrollbar-thumb,
	.birthday-people .row::-webkit-scrollbar-thumb {
		background: transparent;
		border-radius: 8px;
	}
}
.mobile-wtw-num{
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: #999;
}
.mobile-wtw-review{
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	color: #999;
	display: inline-block;
	text-align: right;
	width: 100%;
	padding-right: 10px;
}
.mobile-wtw-btn{
	height: 30px;
	margin: 0 10px 0 0;
	box-sizing: border-box;
	background-color: #555;
	display: inline-block;
	width: 78px;
	min-width: 78px;
}
#has-review-watched-btn:hover + #watched-alert{
	display: flex;
}
#watched-alert-before{
	width: 7.5px;
	height: 30px;
	clip-path: polygon(100% 30%, 0% 50%, 100% 70%);
	background-color: #555;
	display: inline-block;
	margin: 0;
	align-items: center;
}
#watched-alert-content{
	min-height: 30px;
	height: auto;
	box-sizing: border-box;
	background-color: #555;
	color: #ffffff;
	display: inline-block;
	width: auto;
	min-width: 80px;
	font-size: 12px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	/* white-space:nowrap; */
	padding: 5px 13px 3px 13px;
	border-radius: 4px;
	margin: 0 0 0 -2px;
 	align-items: center;
}
#watched-alert{
	display: none;
}
.mobile-wtw-btn.mobile-active{
	background-color: #f33c52;
	color: #ffffff;
}
.mobile-wtw-btn a,.mobile-active.mobile-wtw-btn a,.mobile-wtw-btn span,.mobile-active.mobile-wtw-btn span,.mobile-active.mobile-wtw-btn span,.mobile-wtw-btn span.review-btn-text{
	font-size: 12px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	line-height: 14px;
	letter-spacing: normal;
	text-align: right;
	color: #ddd;
	display: inline-block;
	width: 100%;
	min-width: 78px;
	height: 14px;
	padding: 1px 14px 1px 0;
	margin-bottom: 8px;
}
.mobile-wtw-btn a img,.mobile-active.mobile-wtw-btn a img,.mobile-wtw-btn span img,.mobile-active.mobile-wtw-btn span img,.mobile-active.mobile-wtw-btn span img,.mobile-wtw-btn span.review-btn-text img{
	width: 14px;
	height: 14px;
	display: inline-block;
	margin-right: 13px;
	margin-bottom: 2px;
}

.mobile-wtw-btn-aria{
	width: 100%;
}
.mobile-wtw-btn-aria .col-6{
	margin-top: 5px;
}
.watched-alert-display{
	display: none;
}
.movie-detail .mobile-wtw-btn.disabled {
	background-color: #373636;
	opacity: 1;
}
.movie-detail .mobile-wtw-btn.disabled a,
.movie-detail .mobile-wtw-btn.disabled span {
	color: rgb(150, 150, 150);
	opacity: 1;
}
.movie-detail .mobile-wtw-btn.disabled img {
	opacity: .7;
}
.movie-detail .mobile-wtw-btn.disabled:hover {
	background-color: #373636;
	cursor: default;
	opacity: 1;
}
.movie-detail .mobile-wtw-btn.disabled a:hover {
	cursor: default;
	opacity: 1;
	color: rgb(150, 150, 150);
}
/* md: Movie detail typography */
@media (min-width: 768px) and (max-width: 991px) {
	.movie-detail h1, .person-detail h1 {
		font-size: 25px;
		line-height: 32px;
	}
	.movie-detail h2, .person-detail h2 {
		font-size: 20px;
	}
	.movie-detail h3 {
		font-size: 14px;
	}
	.movie-detail .cast .col {
		max-width: 100px;
		min-width: 100px;
	}
	.swipe-trailer {
		overflow-x: auto;
	}
	.swipe-trailer .col-md-5 {
		padding-right: 0;
	}
}
@media (max-width: 767px) {
	.movie-detail .button-red ~ span {
		display: block;
		text-align: center;
	}
	.swipe-trailer a {
		min-width: 260px;
	}
	.movie-detail .next-action-showing .col {
		min-width: 116px;
	}
	.netflix-push-promotion-box {
		margin: 5px 0px 5px 0px;
	}
	.desk-top-review{
		display: none;
	}
}
@media (max-width: 576px) {
	.movie-detail .enjoy-rating, .movie-detail .enjoy-rating h3 {
		font-size: 13px;
	}
	.movie-detail .enjoy-rating .small {
		font-size: 10px;
	}
	.movie-detail .enjoy-rating-meta div {
		font-size: 13px;
	}
	.movie-detail .cast a {
		font-size: 13px;
		line-height: 16px;
	}
	.movie-detail .crew {
		font-size: 15px;
	}
}
/* @media (min-width: 767px) {
	.mobile-wtw-btn-aria{
		display: none;
	}
} */

/* Movie Showtimes
----------------------------*/
.movie-showtime .poster {
	border-radius: 4px;
}
.movie-quotes h1,
.movie-showtime h1 {
	line-height: 35px;
}
.movie-showtime .filter-popup {
	background-color: rgba(0, 0, 0, 0.7);
}
.movie-showtime .cinema-filter a:hover {
	color: #666;
}
.movie-showtime .filter-popup .active,
.cinema-list .cinema-filter .active {
	background-color: #ff586d;
	color: #FFF;
}
.movie-showtime .filter-popup .district{
	border-bottom: 1px solid #444;
}
.movie-showtime .poster-select .col {
	min-width: 135px;
	max-width: 135px;
}
.movie-showtime .poster-select img {
	opacity: .6;
}
.movie-showtime .poster-select .selected img,
.movie-showtime .poster-select img:hover {
	opacity: 1;
}
.movie-showtime .date-picker a {
	font-size: 15px;
	line-height: 19px;
	color: #444444;
	white-space: nowrap;
}
.movie-showtime .date-picker a:hover {
	opacity: .8;
}
.movie-showtime .date-picker .col {
	max-width: 70px;
	min-width: 70px;
}
.movie-showtime .date-picker h2 {
	color: #999999;
}
.movie-showtime .date-picker .selected,
.movie-showtime .date-picker .selected h2, .movie-showtime .date-picker b.selected {
	color: #ff586d;
	white-space: nowrap;
}
.movie-showtime .date-picker b {
	color: #999999;
	white-space: nowrap;
}
.movie-showtime .cinema-info {
	font-size: 14px;
	line-height: 20px;
	color: #999999;
}
.movie-showtime .cinema-info a {
	color: #dddddd;
}
.movie-showtime .cinema-info a:hover {
	color: #bbb;
}
.movie-showtime .status-box {
	width: 95%;
	height: 47px;
	line-height: 17px;
}
.movie-showtime .status-box:hover {
	opacity: .9;
}
.movie-showtime .status-box .time {
	color: #FFF;
	font-size: 16px;
}
.movie-showtime .status-box .price {
	color: #202020;
	font-size: 13px;
}
.movie-showtime .showtimes-avaliable, .movie-showtime .showtimes-normal {
	background-color: #7ED321;
	border: 3px solid #7ED321;
}
.movie-showtime .showtimes-half {
	background-color: #F5A623;
	border: 3px solid #F5A623;
}
.movie-showtime .showtimes-full, .movie-showtime .showtimes-almost-full {
	background-color: #FF586D;
	border: 3px solid #FF586D;
}
.movie-showtime .showtimes-na {
	background-color: #8B8B8B;
	border: 3px solid #8B8B8B;
}
.movie-showtime .current-showtimes {
	border: 3px solid #F0F0F0;
}
.movie-showtime table {
	margin-top: 15px;
	font-size: 14px;
}
.movie-showtime td:last-child a{
	white-space: nowrap;
}
.movie-showtime .movie-meta {
	font-size: 13px;
	color: #C7C7C7;
	vertical-align: middle;
}
.movie-showtime .movie-meta img {
	margin-right: 5px;
}
.movie-showtime h3 {
    color: #696969;
    font-weight: normal;
    font-size: 14px;
	margin-top: 24px;
	margin-bottom: 5px;
}
.movie-showtime p.description {
	line-height: 1.55;
	margin-bottom: 2px;
}
.movie-showtime .open-date {
	margin-bottom: 30px;
}


/* sm: Standardized from 768px */
@media (max-width: 767px) {
	.movie-showtime h3 {
		margin-top: 12px;
	}
	.movie-showtime p.description {
		margin-bottom: 8px;
	}
	.movie-showtime .open-date {
		margin-bottom: 26px;
	}

}
.movie-showtime .status-avaliable, .movie-showtime .status-normal {
	background-color: #7ED321;
}
.movie-showtime .status-half {
	background-color: #F5A623;
}
.movie-showtime .status-full, .movie-showtime .status-almost-full {
	background-color: #FF586D;
}

.movie-showtime .status-na {
	background-color: #8B8B8B;
}
.movie-showtime b {
	padding-right: 5px;
}
.movie-showtime .cinema-detail {
	color: #999999;
}
.movie-showtime .empty-states {
	padding: 120px 0 80px;
}
.movie-showtime .empty-states p {
	padding-top: 16px;
}
/* filter button active */
.btn-dark:not(:disabled):not(.disabled).active.filter-button-active {
	border-color: #ff586d !important;
	background-color: #ff586d !important;
    color: #FFF !important;
}
@media (max-width: 576px) {
	.movie-showtime h1 {
		font-size: 22px;
		line-height: 30px;
	}
	.movie-showtime table {
		line-height: 17px;
	}
	.movie-showtime .poster-select .col {
		min-width: 115px;
		max-width: 115px;
	}
}

/* Movie Showtime Table View */
.view-mode-change-button:hover {
	cursor: pointer;
}
.view-mode-change-button:hover img {
	opacity: .8;
}
/* Common showtime-status styles for table views */
.movie-showtime .showtime-status {
	border-radius: 999px;
	padding: 3px 10px;
	width: auto;
	height: 26px;
	font-weight: 600;
	color: #141414;
}

.movie-showtime .movie-showtime-table-view .versiontag {
	font-size: 12px;
}

/* Table-specific h3 styling for cinema links */
.movie-showtime .cinema-detail-table h3 {
	font-size: inherit;
	margin: 0;
	font-weight: normal;
	display: inline;
	color: #ff586d;
}
.movie-showtime .cinema-detail-table a:hover h3 {
	color: #e64d61;
}

/* Consistent table column widths */
.cinema-detail-table {
	table-layout: fixed;
	width: 100%;
}

.cinema-detail-table th:nth-child(1),
.cinema-detail-table td:nth-child(1) {
	width: 80px;
}

.cinema-detail-table th:nth-child(2),
.cinema-detail-table td:nth-child(2) {
	width: auto;
	min-width: 200px;
}

.cinema-detail-table th:nth-child(3),
.cinema-detail-table td:nth-child(3) {
	width: 120px;
}

.cinema-detail-table th:nth-child(4),
.cinema-detail-table td:nth-child(4) {
	width: 80px;
}

.cinema-detail-table th:nth-child(5),
.cinema-detail-table td:nth-child(5) {
	width: 70px;
}

.cinema-detail-table th:nth-child(6),
.cinema-detail-table td:nth-child(6) {
	width: 60px;
}

@media (max-width: 767px) {
	.cinema-detail-table th:nth-child(2),
	.cinema-detail-table td:nth-child(2) {
		min-width: 150px;
	}
}
.cinema-option, .cinema-option-district {
	color: #E6E6E6;
}
.cinema-option:not(:last-child), .cinema-option-district {
	border-style: solid;
  	border-width: 0 0 1px 0;
	border-color: #343434;
}
.cinema-option.active {
	color: #E6E6E6 !important;
	background-color: rgba(0,0,0,0) !important;
	padding-right: 33px;
    position: relative;
}
.cinema-option-district.active {
	color: #999999 !important;
	background-color: rgba(0,0,0,0) !important;
}
.cinema-option:hover, .cinema-option-district:hover {
	cursor: pointer;
	color: #f33c52;
}
.cinema-option.active::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 23px;
	height: 100%;
	background: url('../png/checkmark.png') no-repeat center;
}

/* Taiwan locale styling for district buttons */
body[data-locale="zh-tw"] .cinema-option-district {
	padding-left: 1rem; /* pl-3 equivalent */
}

.filter-popup .modal-content.bg-dark {
	background-color: #262626 !important;
	height: 680px;
    overflow-y: hidden;
}
.filter-popup .modal-content .modal-body {
	height: 65%;
    overflow-y: auto;
}
.filter-popup .modal-content .modal-body::-webkit-scrollbar {
	width: 4px;
}
  
.filter-popup .modal-content .modal-body::-webkit-scrollbar-track {
	background: transparent;        /* color of the tracking area */
}
  
.filter-popup .modal-content .modal-body::-webkit-scrollbar-thumb {
	background-color: transparent;
	border-radius: 8px;
}
.filter-popup .modal-title {
	padding-bottom: 0px !important;
}

@media (max-width: 767px) {
	.filter-popup .modal-content.bg-dark {
		height: 70vh;
		overflow-y: hidden;
	}
	.filter-popup .modal-content .modal-body {
		height: 70%;
		overflow-y: auto;
	}
	.filter-popup .button-red {
		width: auto !important;
	}
	.cinema-filter .tab-mobile .btn {
		font-size: 13px;
	}
}


/* Showtimes Detail
----------------------------*/
.showtimes-detail h1 {
	padding: 0;
}
.showtimes-detail {
	font-size: 15px;
}
.showtimes-detail .showtimes-meta span {
	display: inline-block;
	margin-right: 30px;
	font-size: 16px;
    line-height: 24px;
    color: #AAA;
}
/*
disabled just to make my tuning inline easier
you can consolidate and enable it again
*/
/* .showtimes-detail .seatplan {
	margin: 40px 0;
} */
.showtimes-detail .seatplan::-webkit-scrollbar {
  width: 4px;
}
.showtimes-detail .seatplan::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 8px;
}
.showtimes-detail .seatplan::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 8px;
}
.showtimes-detail .seatplan::-webkit-scrollbar-thumb:hover {
  background: transparent;
}
.showtimes-detail .seatplan {
	font-size: 13px;
	line-height: 23px;
}
.showtimes-detail .feature-wheelchair-1 {
	background-image: url("../png/seatplan_wheelchair_white.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 18px;
}
.showtimes-detail .feature-wheelchair-0 {
	background-image: url("../png/seatplan_wheelchair_grey.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 18px;
}
.showtimes-detail .feature-shake-1 {
	background-image: url("../png/seatplan_shake.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 24px;
}
.showtimes-detail .feature-shake-0 {
}
.showtimes-detail .type-corridor {
	border-radius: 2px;
	line-height: 30px;
	color: #E6E6E6;
}
.showtimes-detail .type-seat {
	border: 1px solid;
	border-radius: 2px;
}
.showtimes-detail .available-0 {
	border-color:  #4A4A4A;
	background-image: none;
	color: transparent;
}
.showtimes-detail .available-1 {
	border-color:  #7ED321;
	background-color: #7ED321;
	color: #FFF;
}
.showtimes-detail .available-2 {
	border-color:  #4A4A4A;
	background-image: none;
}
.showtimes-detail .seatplan span {
	display: inline-block;
	padding: 20px 0;
	font-size: 13px;
	color: #979797;
}
.showtimes-detail .button-red .arrow {
	margin-right: 5px;
	padding: 4px;
	border-color: #FFF;
}
.showtimes-detail .seatplan-expired {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(26, 26, 26, 0.85);
}
.showtimes-detail .showtime-block {
	width: 95%;
    height: 50px;
	min-width: 60px;
	border-radius: 5px;
	display: inline-block;
}
.showtimes-detail .showtime-block.selected-time {
	border: #ffffff;
	border-style: solid;
}
.showtimes-detail .showtime-block-time {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.15px;
	color: #fff;
}
.showtimes-detail .showtime-block-price {
	opacity: 0.88;
	font-size: 14px;
	color: #202020;
}
@media (max-width: 767px) {
	.showtimes-detail .showtimes-meta span {
		font-size: 14px;
	    line-height: 22px;
	}
	.showtimes-detail .seatplan-container {
		margin: 0 -15px;
	}
	.showtimes-detail .sticky-buy-ticket,
	.sticky-showtimes-btn {
		position: fixed;
	    bottom: 0;
	    width: 100%;
	    background-color: rgba(0, 0, 0, 0.6);
	    z-index: 9;
	}
}

/* Movie Quotes
-----------------------------*/
.movie-quotes h1 {
	color: #ddd;
	font-weight: normal;
}
.movie-quotes .more-quotes .quote:hover {
	opacity: 1;
}
.movie-quotes .more-quotes .quote {
	background-color: #1f1f1f;
	border-radius: 16px;
	opacity: .8;
}
.movie-quotes a:hover{
	opacity: 0.8;
}
.movie-quotes .more-quotes .arrow {
	border-color: #FF586D;
}
@media (max-width: 576px) {
	.movie-quotes .h2 {
		font-size: 18px;
	}
	.movie-quotes h1 {
		font-size: 21px;
		line-height: 28px;
	}
}
/* For Quote listing */
.top-quotes a:hover img {
	opacity: .8;
}
/* Text quote must apply with 2 columns*/
.top-quotes .text-quote {
	background-color: #8e8e93;
	color: #FFF;
}
.top-quotes .text-quote:hover {
	background-color: #777;
}
.top-quotes .text-quote:after {
	content: "";
	display: block;
	padding-bottom: 53%;
}
/* Text quote must apply with 1 column*/
.top-quotes .movie-quotes {
	background-color: #f33c52;
	color: #FFF;
}
.top-quotes .movie-quotes:hover {
	background-color: #ff586d;
}
.top-quotes .movie-quotes:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}
.top-quotes .movie-quotes .arrow {
	border-color: #FFF;
}
/* md: Quote typography */
@media (min-width: 768px) and (max-width: 991px) {
	.top-quotes .h3 {
		font-size: 19px;
	}
	.top-quotes .movie-quotes span:last-child {
		font-size: 13px;
	}
}
/* xs-micro: iPhone SE portrait and smaller */
@media (max-width: 320px) {
	.top-quotes .movie-quotes .h3 {
		font-size: 18px;
	}
	
	/* Rating icons for very small screens */
	.rating-icon img {
		width: auto !important;
		max-width: 15px !important;
		height: auto !important;
		max-height: 20px !important;
	}
	.rating-icon {
		font-size: 13px;
	}
	.rating-icon > span.pr-2:last-child {
		padding-right: 0px !important;
	}
	.rating-icon span.pr-2 {
		padding-right: 0.25rem !important;
		line-height: 20px;
	}
}

/* Movie Ranking
----------------------------*/
.movie-ranking .rank-header {
	font-size: 58px;
	font-weight: 500;
}
.movie-ranking .rank-header-thin {
	font-size: 38px;
	font-weight: 100;
}
.movie-ranking .movie-boxoffice {
	font-size: 40px;
	font-weight: 100;
}

.movie-ranking .rank-header .overlay {
	height: 30px;
	margin-left: -100px;
	background: linear-gradient(to right, #141414 9%, #393939 53%, #141414 95%);
	z-index: -1;
}
.movie-ranking .rank-header small {
	font-size: 15px;
	color: #c7c7c7;
}
.movie-boxoffice-small{
	vertical-align: baseline !important;	
	font-size: 21px !important;
	font-weight: 300 !important;
	margin-left: -2px !important;
}
.background-dark{
	background:#636363 ;
}
@media (max-width: 576px) {
	.movie-ranking .list a {
		font-size: 15px;
	}
	.movie-ranking .rank-header-thin {
		font-size: 30px;
	}
	.movie-ranking .movie-boxoffice{
		font-size: 18px;
	}
	.movie-boxoffice-small{
		vertical-align: baseline !important;
		font-size: 12px !important;
		margin-left: -2px !important;
	}
}

/* Blog Collection
----------------------------*/
.blog-collection h3,
.blog-collection a,
.blog-collection p {
	color: #C7C7C7;
}
.blog-collection p.text-grey {
	color: #777;
}
.blog-collection a:hover {
	color: #AAA;
}
.blog-collection .quote {
	font-size: 89px;
	line-height: 20px;
	color: #444;
}

/* Movie Collection
----------------------------*/
.collection-detail .meta {
	color: #8E8E93;
}
.collection-detail .author {
	font-size: 14px;
	line-height: 14px;
}
.collection-detail .movie-list {
	padding-bottom: 24px;
	padding-left: 0px;
}
.collection-detail .movie-list a:hover img:not(.vod img,.movie-img img),
.collection-detail .movie-list a:hover span {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.collection-detail .movie-list a {
	font-size: 16px;
	line-height: 21px;
	color: #FFF;
}
.collection-detail .movie-list .enjoy-grade,
.watched-collection .enjoy-grade {
	width: 100%;
	background-image: linear-gradient(to bottom, transparent, rgba(28,28,28,0.8));
	z-index: 0;
}
.collection-detail .movie-list .enjoy-grade img {
	max-width: 28px;
	height: auto;
}
.collection-detail .movie-list .num-review {
	font-size: 13px;
	/* color: #aaa; */
}
.collection-detail .people-list a {
	line-height: 21px;
	color: #f0f0f0;
}
.collection-detail .people-list a:hover {
	opacity: .7;
}
.collection-detail footer {
	padding-top: 60px;
}
.collection-watched-movie div.row.col-12 {
	padding-right: 0 !important;
}
@media (max-width: 576px) {
	.collection-detail .movie-list a {
		font-size: 13px;
		line-height: 17px;
	}
	.collection-detail .movie-list .enjoy-grade img {
		max-width: 18px;
		height: auto;
	}
	.collection-detail .movie-list .num-review {
		font-size: 11px;
	}
	.collection-detail .people-list a {
		font-size: 13px;
		line-height: 17px;
	}
}

/* Coming Movies
----------------------------*/
.coming-movies
.coming-movies .list a:hover h2,
.coming-movies .list a:hover h3 {
	opacity: 0.8;
}
.coming-movies h3 {
	color: #C7C7C7;
}
.coming-movies small {
	font-size: 14px;
}
.coming-movies .tag-red {
	width: 60px;
	background-color: #f33c52;
	font-size: 12px;
	border-radius: 16px;
	color: #dddddd;
}
@media (max-width: 576px) {
	.coming-movies .h4 {
		font-size: 19px;
	}
	.coming-movies .h5 {
		font-size: 16px;
	}
	.coming-movies small {
		font-size: 13px;
	}
}

/* Person Detail
----------------------------*/
.person-detail {
	margin-top: 40px;
}
.person-detail p {
	padding-top: 20px;
}
.person-detail td {
	vertical-align: top;
}
.person-detail td:first-child {
	min-width: 50px;
}
.person-detail .filmography {
	margin-bottom: 50px;
}
.person-detail .filmography .poster-section {
	margin: 20px 0 26px;
}
.person-detail .filmography .poster-section a {
	padding-top: 7px;
	padding-bottom: 24px;
	font-size: 15px;
	line-height: 20px;
	color: #FFF;
}
.person-detail .filmography .poster-section a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.person-detail .filmography .department {
	color: #999999;
}
.person-detail h3 {
	padding-top: 29px !important;
	margin-bottom: 6px !important;
	color: #696969;
	font-weight: 400;
	font-size: 14px;
	line-height: 17px;
}
.person-detail .profile-desc span {
	margin-bottom: 6px !important;
	color: #AAA;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
}
.person-detail .article-section-title h3 {
	padding-top: 0px !important;
}
.person-detail .profile{
	margin-top: 44px !important;
}
.person-detail .table-section{
	font-size: 14px;
	line-height: 20px;
}
.person-detail .table-section thead{
	color: #DDD;
	font-weight: 700;
	font-family: Noto Sans TC;
}
.person-detail .table-section tbody{
	color: #AAA;
	font-weight: 400;
	letter-spacing: -0.14px;
}
.person-detail .table-section .vod-icon div{
	display: inline-block;
	margin-right: 3px;
}
.person-detail .table-section td.movie-open-year{
	width: 10%;
	min-width: 60px;
}
.person-detail .table-section td.movie-name{
	width: 38%;
}
.person-detail .table-section td.movie-name .mobile-credits{
	font-size: 12px;
	line-height: 17px;
}
.person-detail .table-section td.credit{
	width: 40%;
}
.person-detail .table-section td.vod-col{
	width: 12%;
	min-width: 100px;
}
.person-detail .table-section th{
	padding: 15px 0 15px 0px;
}
.person-detail .table-section td{
	padding: 15px 4px 15px 0px;
}
.blog-article {
	margin-bottom: 20px;
}
.filmography h3 {
	padding-top: 0 !important;
}
@media (max-width: 767px) {
	.profile-desc {
		margin-bottom: 34px;
	}

	.blog-article{
		margin-bottom: 20px;
	}
}

/* Cinema
----------------------------*/
.cinema-list select {
	margin-bottom: 15px;
}
.cinema-list ul {
	padding-left: 0;
	margin-bottom: 40px;
	list-style: none;
}
.cinema-list .cinema-name {
	line-height: 15px;
}
.cinema-list .cinema-name a {
	font-weight: bold;
	font-size: 15px;
	color: #DDD;
	text-transform: uppercase;
}
.cinema-list .cinema-name a:hover {
	color: #C7C7C7;
}
.cinema-list .cinema-address {
	font-size: 14px;
	color: #999;
}
.cinema-detail h1 {
	padding: 20px 0 0;
}
.cinema-detail .cinema-address {
	display: block;
	padding-bottom: 20px;
    font-size: 14px;
    line-height: 24px;
    color: #AAA;
}
.cinema-detail .other-movies .movie-list {
	min-width: 100px;
	max-width: 100px;
}
.cinema-detail .other-movies .movie-list:hover {
	opacity: .7;
}
.cinema-detail-table td,.cinema-detail-table th {
	padding: 15px 0 15px 1px;
}
@media (max-width: 576px) {
	.cinema-detail .other-movies .movie-list {
		min-width: 67px;
		max-width: 67px;
	}
}
.cinema-detail-table .price {
	padding-right: 14px;
	text-align: right;
}
.cinema-detail-table .price-th {
	min-width: 60px; 
	padding-right: 14px; 
	text-align: right;
}
/* md: Standardized from 769px */
@media (min-width: 768px) {
	.cinema-detail-table .price-th {
		padding-right: 30px; 
	}
	.cinema-detail-table .price {
		padding-right: 30px;
		width: 60px;
		text-align: right;
	}
}

/* Trailer List
----------------------------*/
.list .trailer{
	color: #c7c7c7;
}
.list .trailer p {
	margin-bottom: 0;
	padding-bottom: 0;
}
.list .trailer a:hover {
	opacity: .8;
}

/* User Profile
----------------------------*/
.edit-user-profile-pic {
	color: #ff586d;
}
.edit-user-profile-pic:hover {
	color: #f33c52;
	cursor: pointer;
}
.user-profile {
	font-size: 15px;
}
.user-profile h1 {
	color: #FFF;
}
.user-profile .profile-button .button-outline {
	color: #8e8e93;
	border: 1px solid #8e8e93;
}
.user-profile .about p {
	font-size: 18px;
	color: #bbb;
}
.user-profile .about span{
	color: #C7C7C7;
	word-break: keep-all;
	letter-spacing: -0.38px;
	font-size: 15px;
}
.user-profile .footnote {
	width: 16px;
	height: 16px;
	font-size: 13px;
	line-height: 17px;
	border-radius: 10px;
	background-color: #999;
	color: #FFF;
}
.user-profile .wtw a {
	color: #f0f0f0;
}
.user-profile .wtw a:hover {
	color: #c7c7c7;
}
.user-profile .rating-graph {
	width: 200px;
}
.user-profile .rating-bar {
	line-height: 5px;
}
.user-profile .year-bar {
	line-height: 13px;
}
.user-profile .rating-bar,
.user-profile .year-bar {
	font-size: 13px;
}
.user-profile .rating-bar .bar-bg {
	background-color: #222;
	border-radius: 10px;
}
.user-profile .rating-bar .bar,
.user-profile .year-bar .bar
 {
	height: 6px;
	border-radius: 10px;
	background-color: #444444;
}

.user-profile .genre-bar{
	border-radius: 5px;
	height: 25px;
	background-color: #444444;
	color: #8B8B8B;

}


@media (min-width: 992px){
	.user-profile  .genre-bar{
	margin-left: -4.5rem !important;	
	
	}
}



.user-profile .small-rating {
	margin-left: -5px;
	margin-bottom: -5px;
	z-index: 0;
}
.user-profile .recent-review a.movie-title {
	color: #c7c7c7;
	line-height: 18px;
}
.user-profile .recent-review p {
	font-size: 13px;
	line-height: 20px;
	padding-bottom: 0;
	margin-bottom: 0;
}
.user-profile .recent-review .button-outline {
	font-size: 14px;
}
.user-profile .recent-review .button-outline:hover {
	color: #FF586D;
}
.user-profile .recent-review .review-button {
	color: #FF586D;
}
.user-profile .recent-review .spoiler-button {
	color: #7B7B7B;
	font-size: 15px;
}
.user-profile .my-bookmark a:hover {
	color: #bbb;
}
.user-profile .tab a {
	color: #8E8E93;
}
.user-profile .tab a:hover {
	color: #FF586D;
	cursor: pointer;
}
.user-profile .tab a.active {
	color: #FF586D;
}
.user-profile hr {
	border-color: #333;
}
.user-profile .bookmark .thumbnail {
	min-height: 135px;
	background-color: #333;
}
.user-profile .bookmark h3 {
	font-size: 19px;
	color: #F0F0F0;
}
.user-profile .bookmark span {
	font-size: 15px;
}
.user-profile .user-meta {
	color: #8E8E93;
}
.user-profile .user-meta span {
	font-size: 32px;
	line-height: 36px;
	color: #BBB;
}
.user-profile form, .user-profile .form-control {
	font-size: 13px;
	color: #BBB;
}
.profile-link {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	color: #FF586D;
	margin-right: 7px;
}

.user-profile .section-header {
	font-weight: 500; 
	font-size: 17px
}

.user-profile .guide-box {
	background-color: rgba(51, 51, 51, 0.3);
	width: 60%;
	border-radius: 20px;
	padding: 25px;
	margin-right: 14px;
	margin-left: 15px;
}
.user-profile .guide-box h5 {
	font-size: 15px;
	font-weight: medium;
	color:#DDDDDD;
}
.user-profile .guide-box p {
	font-size: 14px;
	font-weight: normal;
	color:#8E8E93;
	margin-bottom:18px;
	padding: 0;
}
.guide-icon {
	display: inline-block;
	border-radius: 50%;
	overflow: hidden;
	background-color: #656060;
	padding: 15px;
	border:solid 1px #8E8E93;
}
.guide-icon svg{
	object-fit: cover;
	height: auto;
}
.gray-button-outline {
	display: inline-block;
	padding: 8px 30px;
	margin-bottom: 5px;
	border: 1px solid #8E8E93;
	color: #8E8E93;
	border-radius: 50px;
	text-align: center;
	width: 100%;
}
.red-check {
	margin-top:25px;
	margin-left: 55px;
}

@media (min-width: 768px){
	.user-profile .review-list-review-content {
		height: 60px !important;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}
}
@media (min-width: 992px){
	.user-profile .review-list-review-content {
		height: 80px !important;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		overflow: hidden;
	}
}
@media (min-width: 1200px){
	.user-profile .review-list-review-content {
		height: 100px !important;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 5;
		overflow: hidden;
	}
}
/* md: User profile layout */
@media (min-width: 768px) and (max-width: 991px) {
	.user-profile .my-recommend {
		overflow-x: auto;
	}
}
@media (max-width: 767px) {
	.user-profile h1 {
		font-size: 24px;
	}
	.user-profile .about p {
		font-size: 17px;
	}
	.user-profile h2 {
		font-size: 21px;
	}
	.user-profile .my-recommend .col-6 {
		max-width: 46%;
	}
	.user-profile .wtw,
	.user-profile .watched {
		overflow-x: auto;
	}
	.user-profile .recent-review b {
		font-size: 13px;
	}
	.user-profile .rating-graph {
		width: 100%;
	}
	.user-profile span,
	.user-profile .bookmark span {
		font-size: 13px;
	}
	.user-profile .bookmark h3 {
		font-size: 17px;
	}
	.user-profile .h5 {
		font-size: 17px;
	}
	.button-outline  {
		width: 100%;
	}
}

/* Want To Watch Collection & Watched Collection
-----------------------------*/
.wtw-collection .eng-title,
.watched-collection .eng-title {
	font-size: 12px;
	color: #999999;
}
.wtw-collection a:hover .eng-title,
.wtw-collection a:hover b,
.wtw-collection a:hover img,
.watched-collection a:hover .eng-title,
.watched-collection a:hover b 
.watched-collection a:hover img :not(.vod img,.movie-img img){
	opacity: .8;
}

.watched-collection .review-button,
.watched-collection .spoiler-button {
	font-size: 15px;
}

/* Review form
-----------------------------*/
.review-form {
	color: #c7c7c7;
}
.review-form .alert {
	background-color: #2F2E2E;
	color: #8E8E93;
	border-radius: 0;
}
.review-form .grade-box {
	padding-right: 0;
}
.review-form .grade-box:last-child {
	padding-right: 15px;
}
.review-form .grade {
	padding: 13px 0;
	height: 100%;
	background-color: #444;
	color: #BBBBBB;
	font-size: 13px;
}
.review-form .grade:hover {
	background-color: #666;
	cursor: pointer;
}
.review-form .selected,
.review-form .selected:hover {
	background-color: #F33C52;
	color: #E6E6E6;
}
.review-form .grade span {
	padding-bottom: 8px;
	font-weight: 500;
	color: #E6E6E6;
	font-size: 21px;
	line-height: 21px;
}
.review-form textarea.form-control {
	font-size: 16px;
}

/* All Reviews
-----------------------------*/
.review-list-review-content { 
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}
.review-list-review-content p { 
	font-size: 13px; 
	line-height: 20px; 
	color: #c7c7c7;
}
.review-list-top-reviews-movie-name { 
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.review-list-top-reviews-movie-name a { 
	color: #c7c7c7;
	font-size: 15px;
	font-weight: 600;
	line-height: 18px;
	display: inline-block;
}
.review-list-review-liked, .review-list-review-liked a, .review-list-review-liked div {
	color: #888;
	font-size: 11px;
	line-height: 15px;
}
.review-list-review-liked, .reaction-num.is-active {
	color: #FF586D;
}
.review-list-review-liked .heart {
	width: 40px;
	height: 40px;
	background: url("../png/reaction-heart.png") no-repeat;
	background-position: 0 0;
	background-size: cover;
	cursor: pointer;
	transition: background-position 1s steps(28);
	transition-duration: 0s;
    margin-left: -12px;
    margin-top: -10.5px;
    display: inline-block;
}
.review-list-review-liked .heart.is-active {
	transition-duration: 1s;
	background-position: -1120px 0;
}
.review-list-review-liked .disable-reaction {
	cursor: default !important;
    pointer-events: none;
}
.review-list-review-liked .reaction-num {
	margin-left: 20px;
    margin-top: -32px;
    display: flex;
}
@media (min-width: 768px) {
	.review-list-review-content { 
		height: 100px !important;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 5;
		overflow: hidden;
	}
}
@media (min-width: 992px) {
	/*Horionztal scrollbar*/
	.review-list .all-reviews::-webkit-scrollbar {
		width: 4px;
	}
	.review-list .all-reviews::-webkit-scrollbar-track {
		background: transparent; 
	}
	.review-list .all-reviews::-webkit-scrollbar-thumb {
		background: transparent; 
		border-radius: 8px;
	}
}
@media (min-width: 1200px) {
	.review-list-review-content { 
		height: 120px !important;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 6;
		overflow: hidden;
	}
}
.review-list .rating,
.movie-ranking .rating {
	margin-left: -5px;
    margin-bottom: -5px;
    z-index: 0;
}
.review-list .rating .profile-pic {
	top: 0;
	margin-left: 25px;
    margin-top: -5px;
    z-index: 1;
}
.review-list .rating .profile-pic .profile-mask {
	border: solid 1px #444;
}
.review-list .profile-name{
	font-size: 14px;
	color: #aaa;
}
.review-list .movie p {
	font-size: 18px;
}
.review-list .movie p:hover {
	color: #BBB;
}
.review-list .review-block .profile-name {
	font-size: 16px;
	color: #888;
    line-height: 18px;
}
.review-list .review-block .meta {
    font-size: 13px;
}
.review-list hr {
	border-top: 1px solid #2E2E2E;
}
.review-list .review-block{
	margin: 0 14px 14px 0;
}
.review-list .user-leaderboard a:hover,
.review-list .review-box a:not(.promote-btn,.view-btn):hover{
	opacity: .8;
}
@media (max-width: 576px) {
	.review-list .review-rating {
		padding: 7px 18px;
	}
}

/* movie review list */
.movie-review-list.review-block .profile-name {
	color: #8B8B8B;
	font-size: 13px;
	line-height: 16.5px;
}
.movie-review-list.review-block .meta {
	color: #8B8B8B;
	font-size: 11px;
	line-height: 16px;
}
span.button-red:hover {
	cursor: pointer;
}
/* top reviewers */
.top-reviewers .reviewer-block{
	background-color: #262626;
}
.top-reviewers .reviewer-block p{
	font-size: 12px;
	line-height: 18px;
}
.top-reviewers .reviewer-block h3 {
	color: #E6E6E6;
	font-size: 15px;
}
.top-reviewers .poster:nth-last-child(2) {
	padding-right: 10px;			
}
.top-reviewers .poster:nth-last-child(1) {
	padding-right: 0;		
}
.top-reviewers .rating {
	margin-left: -10px;
    margin-bottom: -10px;
    z-index: 0;
}
.top-reviewers .biggrade {
	width: 25px; 
	margin-left: -8px; 
	margin-bottom: -8px;
	z-index:1;
}
.top-reviewers .user-pic {
	width: 80px;
	height: 80px;
}
/* movie boxoffice */
.image-size {
	width: 100%;
	height: 80px;
}
/* Single Review
-----------------------------*/
.single-review {
	padding-top: 80px;
}
.single-review p {
	font-size: 18px;
	line-height: 28px;
	color: #C7C7C7;
	padding: 20px 0 0 0;
}
.single-review p br {
	margin: 0 0 30px 0;
}
.single-review .poster:hover {
	opacity: .8;
}
.single-review .credit h1{
	color: #aaa;
	font-size: 17px;
	font-weight: normal;
}
.single-review .credit a:last-child {
	color: #aaa;
}
.single-review .profile-name {
	color: #8B8B8B;
	font-size: 13px;
	line-height: 16.5px;
}
.single-review .meta {
	color: #8B8B8B;
	font-size: 11px;
	line-height: 14.5px;
}
.single-review .profile-mask {
	margin-right: 8px;
}
.single-review .review-list-review-liked {
	margin-bottom: 52px;
}

/* Login
-----------------------------*/
.login .btn {
	height: 44px;
	width: 300px;
	color: #E6E6E6;
    border-radius: 5.5px;
    font-weight: 500;
}
.login .btn-google {
	background-color: #DC4E41;
}
.login .btn-facebook {
	background-color: #4267B2;
}
@media (max-width: 576px) {
	.login h1 {
		font-size: 21px;
	}
}

/* Search
-----------------------------*/
.search-result h2 {
	color: #AAA;
}
.search-result .no-result {
	min-height: 300px;
}
.search-result .person-result a {
	min-width: 130px;
	max-width: 130px;
	color: #FFF;
	font-size: 14px;
	line-height: 18px;
}
.search-result .person-result a:hover {
	opacity: .8;
}
.search-result .collection-result{
	/* Removed max-height to prevent vertical overlap */
}
@media(max-width: 576px) {
	.search-result .person-result a {
		min-width: 100px;
		max-width: calc(50% - 0.5rem);
		flex: 0 0 calc(50% - 0.5rem);
		margin-bottom: 1rem;
	}
	input, textarea {
		font-size: initial !important;
	}
}
@media (max-width: 767px) {
	.search-result .person-result a {
		max-width: calc(33.333% - 0.5rem);
		flex: 0 0 calc(33.333% - 0.5rem);
	}
	.search-result .collection-result{
		/* Removed max-height to prevent vertical overlap on mobile */
	}
}
/* Removed mobile-specific collection CSS to maintain consistency with desktop */

/* Error Page
----------------------------*/
.error-page .row {
	min-height: 500px;
}
.error-page h1 {
	color: #AAA;
	font-weight: normal;
}

/* Absolute Center Spinner
----------------------------*/
.loading {
  position: fixed;
  z-index: 999;
  height: 2em;
  width: 2em;
  overflow: show;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

/* Transparent Overlay */
.loading:before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0, .8));
  background: -webkit-radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0,.8));
}

/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
  /* hide "loading..." text */
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.loading:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  -webkit-animation: spinner 1500ms infinite linear;
  -moz-animation: spinner 1500ms infinite linear;
  -ms-animation: spinner 1500ms infinite linear;
  -o-animation: spinner 1500ms infinite linear;
  animation: spinner 1500ms infinite linear;
  border-radius: 0.5em;
  -webkit-box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
}

/* Animation */

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

.divider-wrapper
{
	padding-bottom: 20px;
}

.divider
{
	position: relative;
	margin-top: 20px;
	height: 1px;
}

.div-transparent:before
{
	content: "";
	position: absolute;
	top: 0;
	left: 5%;
	right: 5%;
	width: 90%;
	height: 1px;
	background-image: linear-gradient(to right, transparent, rgb(60, 60, 60), transparent);
}

/* Member Benefit Pop up */
#member-benefit-pop.back {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 750px;
	height: 650px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	background-color: rgba(25, 24, 24, 0.8);
	border-radius: 1.5rem;
	z-index: 20;
}

/* Enhanced popup container styles - backwards compatible */
.popup-container.back {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 640px;
	height: 568px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	background-color: rgba(25, 24, 24, 0.8);
	border-radius: 1.5rem;
	z-index: 20;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

#member-benefit-pop-back.pop-display-background,
.popup-backdrop.pop-display-background {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	filter: blur(10px);
	-webkit-filter: blur(10px);
	background-color: rgba(31, 31, 31, 0.5);
	z-index: 10;
}

#app-container.pop-blur{
	filter: blur(10px);
	-webkit-filter: blur(10px);
}

#app-container{
	margin-top: -10px;
}

#member-benefit-pop.display,
.popup-container.display {
	/* display: none; */
	visibility: hidden;
}

#member-benefit-pop.display .benefit-text{
	display: none;
}

/* Enhanced popup content styles */
.popup-content {
	/* padding: 15px 30px 12px 30px; */
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	box-sizing: border-box;
}

.popup-header {
	text-align: center;
	margin-bottom: 10px;
	width: 100%;
	flex-shrink: 0;
}

.popup-close-container {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 30;
}

.popup-close {
	background: none;
	border: none;
	color: #ffffff;
	font-size: 24px;
	cursor: pointer;
	padding: 5px;
	line-height: 1;
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.popup-close:hover,
.popup-close:focus {
	opacity: 1;
	outline: none;
}

.popup-benefits {
	flex-grow: 0;
	margin: 0 0 10px 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.popup-actions {
	text-align: center;
	margin: 0 0 8px 0;

	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
}

.popup-secondary-actions {
	text-align: center;
	width: 100%;
	flex-shrink: 0;
}

/* Override original absolute positioning for new structure */
.popup-container .pop-title {
	position: static !important;
	left: auto !important;
	top: auto !important;
	margin: 0 auto 0 auto;
	text-align: center;
	width: 100%;
	font-size: 1.05em;
	font-weight: 600;
	line-height: 1.2;
}

.popup-container .enjoy-logo {
	text-align: center;
	margin: 0 0 8px 0;
	display: block;
}

.popup-container .enjoy-logo img {
	max-width: 80px;
	height: auto;
	display: block;
	margin: 0 auto;
}

.popup-container .pop-content {
	position: static !important;
	left: auto !important;
	top: auto !important;
	margin: 4px auto;
	text-align: left;
	width: 100%;
	max-width: 380px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.popup-container .pop-content .pop-content-icon {
	display: flex;
	margin-right: 15px;
	flex-shrink: 0;
}

.popup-container .pop-content .benefit-text {
	flex-grow: 1;
	text-align: left;
	line-height: 1.4;
}

.popup-container .pop-sign-up-btn {
	margin: 0 auto;
	display: inline-block;
	min-width: 200px;
	padding: 8px 30px;
	text-align: center;
}

.popup-container .pop-cancel-btn {
	margin: 0 auto;
	color: #ffffff;
	background: none;
	border: none;
	font-size: 0.9em;
	opacity: 0.8;
	padding: 4px 8px;
}

.popup-container .pop-cancel-btn:hover {
	opacity: 1;
}

/* Reduce first benefit item spacing */
.popup-container .pop-content:first-child {
	margin-top: 2px;
}

#member-benefit-pop .enjoy-logo img{
	width: 86.5px;
	height: 40px;
	margin: 47px auto 14px auto;
}

#member-benefit-pop .pop-title,
.popup-container .pop-title {
	position: relative; 
	width: 205px;
	height: 22px;
	margin: 14px auto 41px auto;
	font-size: 16px;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: center;
	color: rgba(255, 255, 255, 0.99);
}

#member-benefit-pop .pop-content,
.popup-container .pop-content {
	width: 289px;
	height: 40px;
	margin-top: 27px;
	position: relative;
	left: 175.5px;
}

#member-benefit-pop .pop-content div,
.popup-container .pop-content div {
	font-size: 14px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	letter-spacing: normal;
	color: rgba(255, 255, 255, 0.99);
	width: 224px;
	height: auto;
	display: inline-block;
	margin-left: 19px;
}

#member-benefit-pop .pop-content-icon,
.popup-container .pop-content-icon {
	width: 36px;
	height: 36px;
	display: inline-block;
	margin-bottom: 19px;
}

#member-benefit-pop .pop-sign-up-btn,
.popup-container .pop-sign-up-btn {
	width: 238px;
	height: 50px;
	margin-top: 34px;
	margin-bottom: 27px;
	padding: 14px 81px 7px 81px;
	color: #ffffff;
	text-align: center;
}

#member-benefit-pop .pop-cancel-btn,
.popup-container .pop-cancel-btn {
	height: 21px;
	font-size: 15px;
	font-weight: 600;
	font-stretch: normal;
	font-style: normal;
	line-height: normal;
	color: #bbb;
	display: inline-block;
}

#member-benefit-pop .pop-sign-up-btn:hover,
.popup-container .pop-sign-up-btn:hover {
	background-color: #f33c52;
}

#member-benefit-pop .pop-cancel-btn:hover,
.popup-container .pop-cancel-btn:hover {
	color: #ffffff;
}
/* sm: Standardized from 660px */
@media (max-width: 767px) {
	#member-benefit-pop.back {
		top: 32%;
		transform: translate(-50%, -30%);
		width: 660px;
		height: auto;
		background-color: rgba(0, 0, 0, 0);
		border-radius: 0;
	}
	
	#member-benefit-pop-back.pop-display-background,
	.popup-backdrop.pop-display-background {
		width: 100%;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		filter: blur(10px);
		-webkit-filter: blur(10px);
		background-color: rgba(31, 31, 31, 0.8);
		z-index: 10;
	}
	
	#member-benefit-pop .pop-title,
	.popup-container .pop-title {
		position: relative;
		left: 17.5px;
	}
	
	#member-benefit-pop .pop-content,
	.popup-container .pop-content {
		width: 230px;
		height: 40px;
		position: relative;
		left: 5px;
		vertical-align: middle;
	}
	
	#member-benefit-pop .pop-content div,
	.popup-container .pop-content div {
		width: 170px;
		height: auto;
		display: inline-block;
		margin-left: 12;
		vertical-align: middle;
	}
	
	#member-benefit-pop .pop-sign-up-btn,
	.popup-container .pop-sign-up-btn {
		width: 238px;
		height: 50px;
		margin-top: 38px;
		margin-bottom: 23px;
	}
	
	#member-benefit-pop .pop-sign-up-btn {
		padding: 12.5px;
	}

	
	#member-benefit-pop .enjoy-logo img {
		position: relative;
		left: 50%;
		transform: translate(-50%, 0%);
		margin-left: 0;
	}
	
	.popup-close-container {
		top: 10px;
		right: 10px;
	}
	
	.popup-content {
		padding: 15px;
	}
}

/* Audio Description List */
.movie-showtime .audio-description-list-table .versiontag {
	font-size: 12px;
}


@media (min-width: 768px) {
    .desktop-video {
        max-width: 400px; /* 限制最大宽度为 500px */
    }
}

/* Vue-style loading circles - reusable across all pages */
.loading-circles {
    position: relative;
    display: inline-block;
    margin: 5px 0;
    width: 28px;
    height: 28px;
}

.loading-circles .circle-item {
    position: absolute;
    top: 50%;
    left: 50%;
    display: inline-block;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    background: #666;
    animation: loading-circles linear 0.75s infinite;
}

.loading-circles .circle-item:nth-child(1) {
    margin-top: -15px;
    margin-left: -3px;
}

.loading-circles .circle-item:nth-child(2) {
    margin-top: -11.26px;
    margin-left: 6.26px;
    animation-delay: 0.093s;
}

.loading-circles .circle-item:nth-child(3) {
    margin-top: -3px;
    margin-left: 9px;
    animation-delay: 0.186s;
}

.loading-circles .circle-item:nth-child(4) {
    margin-top: 6.26px;
    margin-left: 6.26px;
    animation-delay: 0.279s;
}

.loading-circles .circle-item:nth-child(5) {
    margin-top: 9px;
    margin-left: -3px;
    animation-delay: 0.372s;
}

.loading-circles .circle-item:nth-child(6) {
    margin-top: 6.26px;
    margin-left: -11.26px;
    animation-delay: 0.465s;
}

.loading-circles .circle-item:nth-child(7) {
    margin-top: -3px;
    margin-left: -15px;
    animation-delay: 0.558s;
}

.loading-circles .circle-item:nth-child(8) {
    margin-top: -11.26px;
    margin-left: -11.26px;
    animation-delay: 0.651s;
}

@keyframes loading-circles {
    0% { background: #ddd; }
    50% { background: #666; }
    100% { background: #ddd; }
}

/* Pink variant for activities page */
.loading-circles.pink .circle-item {
    background: #FF586D;
}

@keyframes loading-circles-pink {
    0% { background: #ffb3c1; }
    50% { background: #FF586D; }
    100% { background: #ffb3c1; }
}

.loading-circles.pink .circle-item {
    animation-name: loading-circles-pink;
}

/* ========================================
   GLOBAL BACKDROP STYLES
   ======================================== */

/* Base backdrop container */
.backdrop,
.movie-detail .backdrop,
.movie-showtime .backdrop {
    position: relative;
    overflow: hidden;
}

/* Backdrop images - Mobile first approach with portrait ratio */
.backdrop img,
.movie-detail .backdrop img,
.movie-showtime .backdrop img,
.hero-app-promo .backdrop img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top;
    background-color: #141414;
    aspect-ratio: 3 / 4;
    max-height: 500px;
}



/* Desktop screens - landscape ratio and controlled height */
@media (min-width: 768px) {
    .backdrop img,
    .movie-detail .backdrop img,
    .movie-showtime .backdrop img,
    .hero-app-promo .backdrop img {
        aspect-ratio: 2048 / 640;
        max-height: 700px;
        object-position: top;
    }
    
    /* Home page gets taller for visual impact */
    .hero-app-promo .backdrop img {
        max-height: 900px;
    }
}

/* Gradient overlay for smooth transition */
.backdrop .overlay,
.movie-detail .backdrop .overlay,
.movie-showtime .backdrop .overlay,
.hero-app-promo .backdrop .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background-image: linear-gradient(
        to bottom, 
        transparent 0%, 
        transparent 30%,
        rgba(20, 20, 20, 0.2) 50%,
        rgba(20, 20, 20, 0.5) 70%,
        rgba(20, 20, 20, 0.8) 85%, 
        #141414 100%
    );
}

/* Responsive negative margins - only apply on desktop */
.backdrop-container {
    margin-top: 0;
}

@media (min-width: 576px) {
    .backdrop-container {
        margin-top: -100px;
    }
    
    /* Home page gets larger negative margin for more overlap */
    .hero-app-promo .backdrop-container {
        margin-top: -150px;
    }
}

/* Override page wrapper padding for backdrop pages */
.home #page-content-wrapper,
.movie-detail #page-content-wrapper,
.movie-showtime #page-content-wrapper {
    padding-top: 0 !important;
}

/* ========================================
   TRANSLUCENT NAVIGATION STYLES
   ======================================== */

/* Translucent navigation - for pages with backdrops */
.header.translucent {
    background-color: rgba(20, 20, 20, 0.8) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
}

/* Solid navigation - for pages without backdrops */
.header.solid {
    background-color: #141414 !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: background-color 0.3s ease;
}

/* Mobile navigation translucent styles */
.mobile-header.translucent {
    background-color: rgba(20, 20, 20, 0.8) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background-color 0.3s ease, backdrop-filter 0.3s ease;
}

.mobile-header.solid {
    background-color: #141414 !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transition: background-color 0.3s ease;
}

/* Chrome Extension Promotion Box Component */
.chrome-extension-promotion-box {
	background-color: #242424;
	border-radius: 20px;
	text-align: center;
	color: #fff;
	padding: 25px 20px;
	margin: 5px 0;
	position: relative;
	height: 100%;
	min-height: 280px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.chrome-ext-logo {
	width: 87px;
	height: 40px;
	margin: 0 auto 25px auto;
	flex-shrink: 0;
	display: block;
}

.chrome-ext-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0;
}

.chrome-ext-content .chrome-ext-title {
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0 0 15px 0;
	padding: 0;
}

.chrome-ext-description {
	color: #aaa;
	font-size: 14px;
	line-height: 1.4;
	margin: 0 0 20px 0;
	padding: 0;
}

.chrome-ext-actions {
	flex-shrink: 0;
	margin-top: 0;
}

.chrome-ext-button {
	background-color: #f33c52;
	color: #fff;
	border: none;
	border-radius: 50px;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	margin-bottom: 12px;
	transition: background-color 0.2s ease;
}

.chrome-ext-button:hover {
	background-color: #e02d43;
	color: #fff;
	text-decoration: none;
}

.chrome-ext-footer {
	color: #999;
	font-size: 10px;
	line-height: 1.2;
	margin: 0;
	padding: 0;
}

/* Responsive behavior - compact sizing for tight spaces */
.chrome-extension-promotion-box.chrome-ext-responsive {
	min-height: 200px;
	padding: 15px 12px;
	border-radius: 8px;
}

.chrome-extension-promotion-box.chrome-ext-responsive .chrome-ext-logo {
	width: 65px;
	height: 30px;
	margin-bottom: 8px;
}

.chrome-extension-promotion-box.chrome-ext-responsive .chrome-ext-title {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 8px;
}

.chrome-extension-promotion-box.chrome-ext-responsive .chrome-ext-description {
	font-size: 12px;
	line-height: 1.3;
	margin-bottom: 12px;
}

.chrome-extension-promotion-box.chrome-ext-responsive .chrome-ext-button {
	padding: 8px 16px;
	font-size: 12px;
	margin-bottom: 8px;
}

.chrome-extension-promotion-box.chrome-ext-responsive .chrome-ext-footer {
	font-size: 9px;
}

/* Adjustments for smaller containers */
@media (max-width: 767px) {
	.chrome-extension-promotion-box {
		min-height: 240px;
		padding: 15px;
	}
	
	.chrome-ext-title {
		font-size: 16px;
		font-weight: 500;
	}
	
	.chrome-ext-description {
		font-size: 13px;
	}
	
	.chrome-ext-button {
		padding: 10px 16px;
		font-size: 13px;
	}
}

/* Center all ad containers */
.ad-container {
	text-align: center;
}