:root {

     --main-color: #c0392c;
     --second-color: #3a3a3a;
     --clr-white: 0 0% 100%;

     --body-bg1: #181616;
     --body-bg2: #000;
     --box-bg: #221f1f;
     --text-color: #fff;

     --nav-height: 110px;
     --space-top: 30px;
     --clr-white: 0 0% 100%;

     --ff-cairo: 'cairo' sans-serif;
     --ff-monoton: 'monoton' sans-serif;
}

* {
     padding: 0;
     margin: 0;
     box-sizing: border-box;
}


html {
     font-size: 16px;
}

body {
     font-family: 'cairo', sans-serif;
     background-color: var(--body-bg2);
     color: var(--text-color);
     padding-top: 80px;
     min-height: 100vh;
     scroll-behavior: smooth;
}

a {
     text-decoration: none;
     color: unset;
}

ul {
     list-style: none;
}

img {
     max-width: 100%;
}


.fullWidth {
     width: 100%;
}

.fullHeight {
     height: 100vh;
}

.align-items-center {
     display: flex;
     align-items: center;
     justify-content: center;
     /* text-align: center; */
}

.bg-img {
     background-position: bottom;
     background-size: cover;
     background-repeat: no-repeat;
}

.bg-img-fixed {
     background-attachment: fixed;
}

.movie-banner {
     width: 100vw;
     margin-left: calc(-50vw + 50%);
     min-height: 520px;
     position: relative;
}


.bg-color {
     height: 80px;
     background-color: var(--second-color);
}

.movie-banner-item {
     width: 100%;
     height: 100%;
     top: 0;
     left: 0;
     overflow: hidden;
     position: absolute;
}

.movie-banner-item::after {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: #000;
     background: linear-gradient(to top, #000, rgba(0, 0, 0, 0.4));
     /* background: linear-gradient(0deg, rgb(8,8,8) 0%, rgba(0, 0, 0, 0.6)); */
}


.movie-banner-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center;
     position: absolute;
}



.movie-card {
     display: flex;
     justify-content: space-around;
     max-width: 1000px;
     margin: 0 auto;
     top: 18rem;
     position: relative;
}



.movie-card>img {
     width: 380px;
     height: 450px;
     border-radius: 10px;
     border: 2px solid var(--main-color);
     margin: 0 3rem;
     transition: all .4s ease-in-out;

}

.movie-card>img:hover {
     box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
     transform: translateY(-5px);
}

.movie-card-content h2 {
     font-size: 3rem;
     font-weight: 800;
     line-height: 100px;
     text-transform: capitalize;
     text-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
     user-select: none;
}

.movie-card-btns {
     display: flex;
     align-items: center;
     margin-bottom: 20px;
}

.movie-card-btn {
     font-size: 0.9rem;
     font-weight: 600;
     text-transform: capitalize;
     margin-right: 20px;
     padding: 8px 15px;
     border: 1px solid var(--text-color);
     border-radius: 20px;
     transition: all .4s ease-in-out;
     background-color: var(--second-color);
     overflow: hidden;
     position: relative;
     cursor: pointer;
     z-index: 100;
}

.movie-card-btn::before {
     content: "";
     position: absolute;
     left: 50%;
     top: 50%;
     width: 100%;
     height: 0;
     transform: translate(-50%, -50%) rotate(-45deg);
     background-color: var(--main-color);
     transition: .4s ease-in-out;
     z-index: -1;
}

.movie-card-btn:hover::before {
     height: 350%;
}

.movie-card-description {
     font-size: 1.1rem;
     margin: 20px 0;
     line-height: 1.5;
}

.movie-card-content h3 {
     font-size: 1.5rem;
     font-weight: 600;
     margin: 20px 0 10px;
     color: var(--main-color);
}

.movie-card-btn-watch-now {
     color: var(--text-color);
     border: 1px solid var(--main-color);
     text-transform: uppercase;
     margin-top: 20px;
     font-size: 1.5rem;
     font-weight: 650;
     text-align: center;
     padding: 8px 15px;
     box-shadow: 0 0 25px rgba(255, 255, 255, 0.8);
}

.movie-cast-item {
     display: inline-block;
     margin: 10px;
     text-align: center;
     width: 120px;
}

.movie-cast-item:hover {
     transform: scale(1.05);
}

.movie-cast-item>img {
     width: 100px;
     height: 100px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid var(--main-color);
}

/* Cast Horizontal Bar Styles */
.cast-horizontal-bar {
     display: flex;
     overflow-x: auto;
     gap: 20px;
     padding: 20px 0;
     scrollbar-width: thin;
     scrollbar-color: var(--main-color) var(--second-color);
}

.cast-horizontal-bar::-webkit-scrollbar {
     height: 8px;
}

.cast-horizontal-bar::-webkit-scrollbar-track {
     background: var(--second-color);
     border-radius: 10px;
}

.cast-horizontal-bar::-webkit-scrollbar-thumb {
     background: var(--main-color);
     border-radius: 10px;
}

.cast-item-circle {
     flex: 0 0 auto;
     text-align: center;
     width: 120px;
     transition: transform 0.3s ease;
}

.cast-item-circle:hover {
     transform: translateY(-5px);
}

.cast-item-circle img {
     width: 80px;
     height: 80px;
     border-radius: 50%;
     object-fit: cover;
     border: 3px solid var(--main-color);
     margin-bottom: 8px;
     transition: all 0.3s ease;
}

.cast-item-circle img:hover {
     border-color: #fff;
     box-shadow: 0 0 15px rgba(192, 57, 44, 0.5);
}

.cast-name {
     font-size: 0.9rem;
     font-weight: 600;
     color: var(--text-color);
     margin-bottom: 4px;
     word-wrap: break-word;
}

.cast-character {
     font-size: 0.8rem;
     color: #888;
     font-style: italic;
     word-wrap: break-word;
}

.international-trailer {
     margin: 20px 0;
     padding: 0 20px;
     text-align: center;
}

.margin {
     margin: 0 10px;
     overflow: hidden;
}

.trailer-title {
     font-size: 1.6rem;
     font-weight: 600;
     text-align: center;
}

.trailer-title:hover {
     cursor: pointer;
     color: var(--main-color);
}

.trailer-title h3 {
     font-size: 1.8rem;
     font-weight: 700;
     padding: 20px 0;
     color: var(--text-color);
}

.international-trailer iframe {
     width: 80%;
     height: 515px;
     border-radius: 10px;
     border: none;
     box-shadow: 0 5px 20px rgba(255, 0, 0, 0.3);
     display: block;
     margin: 0px 0px 10px 0px;
}

.international-vid {
     display: flex;
     justify-content: center;
     align-items: center;
     width: 100%;
     margin: 20px 0;
}

.trailer {
     padding: 20px 0;

}

.download-src {
     margin: 20px 0;
}

.download-src table {
     width: 100%;
     border-collapse: collapse;
}

.download-src table td {
     padding: 10px;
     border: 1px solid var(--second-color);
     text-align: center;
     background-color: var(--box-bg);
}

.movie-player-section {
     margin: 20px 0;
}

.movie-player-container {
     position: relative;
     width: 100%;
     max-width: 800px;
     margin: 0 auto;
}

#movie-player {
     width: 100%;
     height: auto;
}

.movie-info {
     background-color: var(--box-bg);
     padding: 20px;
     border-radius: 10px;
     margin: 20px 0;
}

.movie-info h2 {
     color: var(--main-color);
     margin-bottom: 10px;
}

.movie-info img {
     width: 200px;
     height: auto;
     border-radius: 10px;
}

.movie-cast {
     margin: 20px 0;
}

.cast-list {
     display: flex;
     overflow-x: auto;
     gap: 15px;
}

.cast-item {
     flex: 0 0 auto;
     text-align: center;
     background-color: var(--box-bg);
     padding: 10px;
     border-radius: 10px;
     width: 120px;
}

.cast-item img {
     width: 80px;
     height: 80px;
     border-radius: 50%;
     object-fit: cover;
}

.similar-list {
     display: flex;
     overflow-x: auto;
     gap: 15px;
     padding: 20px 0;
}

.similar-item {
     flex: 0 0 auto;
     width: 200px;
     background-color: var(--box-bg);
     border-radius: 10px;
     overflow: hidden;
     transition: transform 0.3s ease;
}

.similar-item:hover {
     transform: scale(1.05);
}

.similar-item img {
     width: 100%;
     height: 300px;
     object-fit: cover;
}

.similar-item a {
     color: var(--text-color);
     text-decoration: none;
}

/* Cast horizontal bar improved */
.movie-cast-container {
     display: flex;
     flex-direction: row;
     gap: 24px;
     overflow-x: auto;
     padding: 16px 0 8px 0;
     margin-bottom: 16px;
     scrollbar-width: thin;
     scrollbar-color: var(--main-color) var(--second-color);
}

.movie-cast-container::-webkit-scrollbar {
     height: 8px;
}

.movie-cast-container::-webkit-scrollbar-thumb {
     background: var(--main-color);
     border-radius: 8px;
}

.cast-item-improved {
     flex: 0 0 auto;
     display: flex;
     flex-direction: column;
     align-items: center;
     width: 90px;
     margin: 0 4px;
}

.cast-avatar {
     width: 64px;
     height: 64px;
     border-radius: 50%;
     overflow: hidden;
     border: 2px solid var(--main-color);
     margin-bottom: 6px;
     background: #222;
     display: flex;
     align-items: center;
     justify-content: center;
}

.cast-avatar img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     border-radius: 50%;
     display: block;
}

.cast-info {
     text-align: center;
}

.cast-name {
     font-size: 0.95rem;
     font-weight: 600;
     color: var(--text-color);
     margin-bottom: 2px;
     word-break: break-word;
}

.cast-character {
     font-size: 0.8rem;
     color: #aaa;
     font-style: italic;
     word-break: break-word;
}

/* Banner backdrop full width */
.movie-banner {
     width: 100vw;
     min-width: 100vw;
     margin-left: calc(-50vw + 50%);
     position: relative;
     min-height: 520px;
     overflow: hidden;
}

.movie-banner-item {
     width: 100vw;
     min-width: 100vw;
     height: 100%;
     top: 0;
     left: 0;
     overflow: hidden;
     position: absolute;
     z-index: 1;
     background-position: center;
     background-size: cover;
     background-repeat: no-repeat;
}

.movie-card {
     position: relative;
     z-index: 2;
}

/* Responsive design for trailer */
@media (max-width: 768px) {
     .international-trailer iframe {
          width: 95%;
          height: 300px;
     }

     .international-trailer {
          padding: 0 10px;
     }
}

@media (max-width: 480px) {
     .international-trailer iframe {
          width: 100%;
          height: 250px;
     }

     .international-trailer {
          padding: 0 5px;
     }
}

@media (min-width: 1200px) {
     .international-trailer iframe {
          width: 70%;
          height: 600px;
     }
}