/* Description and title of selected game */
.game-text-container {
    position: fixed;
    margin-top: 5vh;
    margin-left: 4vw;
    width: 100%;
    font-family: "Arial";
    max-width: 40%;
    font-size: calc(0.4vw + 0.4vh + .55vmin);
}

.game-container {
    opacity: 0;
    transition: 0.3s;
}

.game-text-container p {
    width: 41vw;
    white-space: normal;
    word-wrap: break-word;
    letter-spacing: 0.025em;
    font-size: 1.2em;
    line-height: 2.75vh;
}

h1 {
    margin-top: 3vh;
    letter-spacing: 0.035em;
    margin-bottom: 4vh;
}

h1::after {
    content: '';
    position: fixed;
    left: 4vw; /* Align underline with updated text column */
    height: .25vh;
    top: 16.5vh;
    width: 30%;
    background-image: linear-gradient(to right, rgb(79, 79, 79), rgba(53, 23, 186, 0));
}

/* For the display images of the selected game (slideshow images) */
.slideshow-container {
    position: absolute;
    top: 4vh;
    left: 50vw;
    width: 43vw;
    height: 50vh;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 22px;
    overflow: hidden;
    background: rgb(28, 28, 30);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.slide .hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.22s ease-in-out;
    z-index: 0;
    border-radius: inherit;
}

.slide .hero-image-secondary {
    opacity: 0;
}

.slide[data-active-image="primary"] .hero-image-primary {
    opacity: 1;
}

.slide[data-active-image="primary"] .hero-image-secondary {
    opacity: 0;
}

.slide[data-active-image="secondary"] .hero-image-primary {
    opacity: 0;
}

.slide[data-active-image="secondary"] .hero-image-secondary {
    opacity: 1;
}

.slide.is-crossfading .hero-image-primary {
    opacity: 0;
}

.slide.is-crossfading .hero-image-secondary {
    opacity: 1;
}

.slide::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    pointer-events: none;
    z-index: 4;
}

#heroPreview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    z-index: 1;
    border-radius: inherit;
}

#heroPreview.is-visible {
    opacity: 1;
}

#heroPreviewYT {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
    border: none;
    z-index: 1;
    border-radius: inherit;
    /* Prevent focus and interaction to hide UI elements */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#heroPreviewYT.is-visible {
    opacity: 1;
}

.hero-media-counter {
    position: absolute;
    inset: auto 16px 16px auto;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: rgba(245, 248, 251, 0.96);
    background: rgba(5, 11, 19, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(10px);
    z-index: 6;
    max-width: calc(100% - 32px);
    pointer-events: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
    white-space: nowrap;
}

.hero-media-comment {
    position: absolute;
    left: 16px;
    bottom: 16px;
    max-width: calc(100% - 120px);
    padding: 0.45rem 0.7rem;
    border-radius: 12px;
    font-size: 0.95rem;
    font-style: italic;
    line-height: 1.35;
    color: rgba(245, 248, 251, 0.96);
    background: rgba(5, 11, 19, 0.62);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
    z-index: 6;
    pointer-events: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
    opacity: 0;
    transition: opacity 0.22s ease-in-out;
}

.hero-media-comment.has-comment {
    opacity: 1;
}

.hero-media-comment.is-swapping {
    opacity: 0;
}

.hero-media-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    padding: calc(0.72vw + 0.72vh - 0.36vmin);
    line-height: 1;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 5%;
    background-color: rgba(0,0,0,0.45);
    color: white;
    font-size: calc(0.85vw + 0.85vh + .3vmin);
    cursor: pointer;
    z-index: 5;
    backdrop-filter: blur(8px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
    transition: transform 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.hero-media-nav:hover {
    transform: translateY(-50%) scale(1.15);
    color: #f0f0f0;
    background-color: rgba(0,0,0,0.72);
}

.hero-media-nav:active {
    transform: translateY(-50%) scale(0.94);
    color: rgb(255, 210, 11);
    background-color: rgba(0,0,0,0.9);
}

.hero-media-prev {
    left: -1.8vw;
}

.hero-media-next {
    right: -1.8vw;
}

/* Hide YouTube top-right chrome (Watch later/Share) with a subtle top gradient only while YT preview is visible */
.slide.yt-visible::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 18vw;
    height: 12vh;
    background: linear-gradient(to bottom, rgba(0,0,0,0.85), rgba(0,0,0,0));
    pointer-events: none;
    z-index: 3;
}

/* When previewing, hide the underlying hero image */
.slide.is-previewing .hero-image {
    opacity: 0;
}

.logo img {
    position: fixed;
    width: 25%;
    top: 5vh;
    left: 59vw;
    mask-image:none;
    border-radius: 24px;
}

.player-button {
    position: fixed;
    left: 35%;
    top: 45%;
    width: 8vw;
    font-size: calc(0.5vw + 0.5vh + .5vmin);
    height: 6.5vh;
    color:rgb(159, 159, 159);
    border-radius: 8px;
    background-color: rgb(51, 51, 51);
    transition: 0.25s;
    transform: scale(1);
    cursor: pointer;
    display: flex;        /* Enable Flexbox */
    justify-content: center; /* Center horizontally */
    align-items: center;  /* Center vertically */
    text-align: center; 
    border: none;
}

.player-button i {
    margin-left: 0.35vw; /* Space between text and icon */
    font-size: calc(0.7vw + 0.7vh); /* Slightly larger icon than text */
}

.player-button:hover {
    background-color: rgb(255, 210, 11);
    color:black;
    transition: 0.25s;
    transform: scale(1.1);
}

.player-button:active {
    background-color: rgb(79, 17, 141);
    color:black;
    transition: 0.25s;
    transform: scale(0.9);
}

.slide-icon {
    position: relative;
    width: calc(2.5vh + 2.5vw);
    height: calc(2.5vh + 2.5vw);
    border-radius: 16px;
}

/* Link to the game page or more information */
.game-text-link {
    display: inline-block;
    margin-top: 4vh;
    color:rgb(129, 129, 129);
    font-size: 0.95em;
    line-height: 1.2;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.18em;
}

.titleWord {
    position:relative;
    font-size: calc(0.7vw + 0.7vh);
    text-shadow: 0px 3px 4px #0000002a;
    letter-spacing: 0.1em;
    margin-left: 1vw;
    top: -5vh;
}

/* Genre of the game */
.game-text-role {
    text-decoration: none;
    font-style: italic;
    color:rgb(147, 147, 147);
    margin-top: -2vh;
    margin-bottom: 2vh;
}

/* Removed horizontal line that was causing the big white line */

/* Vertical line separator */
.vertical-line {
    position: fixed;
    border-radius: 24px;
    top: 5%; /* Aligns with the content vertically */
    left: 45%; /* Positioning the line correctly between the text and image */
    height: 45%; /* Adjust based on your design needs */
    width: 6px; /* Line thickness */
    background-image: linear-gradient(to top, rgb(20, 20, 20), rgb(41, 41, 41));
}

.nav {
    cursor: pointer;
    position: fixed;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.left-nav {
    left: 0;
    border-radius: 3px 0 0 3px;
}

.right-nav {
    right: 0;
    border-radius: 0 3px 3px 0;
}

.nav:hover {
    background-color: rgba(0,0,0,0.8);
}
