/* --------------------
   HORIZONTAL STRIPS
   -------------------- */

.movie-strip,
.show-strip {
	display: flex;
	flex-wrap: nowrap;
	gap: 12px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 8px 4px 12px;
	margin-top: 8px;
	border: 3px ridge var(--border);
	background: linear-gradient(var(--gradientTop), var(--gradientBottom));
	box-sizing: border-box;
}

/* scrollbars */

.movie-strip,
.show-strip {
	scrollbar-width: thin; /* Firefox */
}

/* WebKit scrollbars (Chrome, Edge, etc.) */
.movie-strip::-webkit-scrollbar,
.show-strip::-webkit-scrollbar {
	height: 10px;
}

.movie-strip::-webkit-scrollbar-track,
.show-strip::-webkit-scrollbar-track {
	background: var(--bg);
}

.movie-strip::-webkit-scrollbar-thumb,
.show-strip::-webkit-scrollbar-thumb {
	border: 2px ridge var(--border);
	background: var(--accent);
}

/* --------------------
   CARD STYLING
   -------------------- */

.movie-card,
.show-card {
	flex: 0 0 220px; /* width of each card */
	border: 3px ridge var(--border);
	background: linear-gradient(var(--gradientTop), var(--gradientBottom));
	padding: 6px;
	box-sizing: border-box;
}

.movie-card img,
.show-card img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 4px;
	border: 2px solid var(--border);
}

.movie-card h2,
.show-card h2 {
	font-size: 1.1rem;
	margin: 4px 0;
	color: var(--accent);
}

.movie-card p,
.show-card p {
	font-size: 0.9rem;
	line-height: 1.3;
}

/* --------------------
   MOVIES PAGE 3-COLUMN LAYOUT
   -------------------- */

/* Turn the movies page container into a 3-column grid */
.container.movies-layout {
	display: grid !important; /* override flex in cyanobacteria.css */
	grid-template-columns: minmax(110px, 170px) minmax(0, 1fr);
	/* minmax(140px, 200px); */
	grid-template-rows: auto auto auto;
	grid-template-areas:
		"header header header"
		"nav-left main nav-right"
		"shows shows shows";
	gap: 5px;
}

/* map existing elements to grid areas */

.container.movies-layout > header {
	grid-area: header;
}

/* the whole left column (wraps multiple nav boxes) */
.container.movies-layout > .left-nav-column {
	grid-area: nav-left;
	display: flex;
	flex-direction: column;
	gap: 8px;   /* space between the two nav boxes */
}

/* existing sidebar styling still applies */
.side-nav {
	display: flex;
	flex-direction: column;
}

.side-nav > img {
	max-width: 100%;
	height: auto;
}

.container.movies-layout > .side-nav-right {
	grid-area: nav-right;
}

.container.movies-layout > .movie-main {
	grid-area: main;
}

.container.movies-layout > .shows-section {
	grid-area: shows;
}

/* sidebars */

.side-nav {
	display: flex;
	flex-direction: column;
}

.side-nav > img {
	max-width: 100%;
	height: auto;
}

/* make sure the strip scrolls inside the center box */
.movie-main {
	overflow: hidden; /* keeps the section tidy; strip itself scrolls */
}

.movie-main .movie-strip {
	max-width: 100%;
}

/* --------------------
   RESPONSIVE: STACK ON NARROW SCREENS
   -------------------- */

@media (max-width: 800px) {
	.container.movies-layout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"header"
			"nav-left"
			"main"
			"nav-right"
			"shows";
	}
}

/* mobile: let cards wrap instead of endless horizontal scroll */
@media (max-width: 600px) {
	.movie-strip,
	.show-strip {
		flex-wrap: wrap;
		overflow-x: visible;
	}

	.movie-card,
	.show-card {
		flex: 1 1 calc(50% - 12px);
		max-width: calc(50% - 12px);
	}
}


/* .left-nav-column {
    outline: 2px solid red;
}

.left-nav-column > * {
    outline: 2px solid blue;
} */


/* left column with two stacked nav boxes on movie_list page */
.left-nav-column {
	display: flex;
	flex-direction: column;
	gap: 4px;           /* adjust spacing between the two nav boxes */
}

/* make sure the sidebar boxes themselves don't add extra margins */
.left-nav-column .side-nav {
	margin: 0;
}

/* this page shouldn't stretch the center section down to match nav height */
.container.movies-list-layout {
	align-items: flex-start;
}
