html * {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

body {
	font-family: "Georgia", "Avenir Next", system-ui, sans-serif;
	font-size: 100%;
	line-height: 135%;
	background-color: #0d0d0d;
	margin: 0;
	color: #eaeaea;
}

header {
	padding: 30px 20px;
	text-align: center;
	/*background: linear-gradient(to right, #111, #222, #111);
	color: gold;*/
	background: linear-gradient(
        135deg,
        #000000 0%,
        #1a1a1a 40%,
        #b8860b 70%,
        #ffd700 100%
    );
    color: #ffd700;
}

header h1 {
	margin: 0;
	font-size: 2.2em;
	letter-spacing: 1px;
	text-shadow: 0 0 10px #0d0d0d;
}

.first {
	margin-bottom: 30px;
	padding: 10px;
}

.first h2 {
	font-size: 1.6em;
}

.first p {
	font-size: 125%;
	
}

.container {
	display: flex;
    align-items: flex-start;
}

aside {
	width: 220px;
	min-height: 100vh;
	position: sticky;
	top: 0;
	padding: 20px;
	background-color: #111;
}

aside ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

aside li {
    margin-bottom: 12px;
}

aside a {
	display: block;
    text-decoration: none;
    color: #ffd700;
	transition: background 0.2s ease, transform 0.1s ease;
}

aside a:hover {
    text-decoration: underline;
	transform: translateX(3px);
}

aside h2 {
	margin-top: 0;
	font-size: 1.2em;
	letter-spacing: 0.5px;
    text-align: center;
	border-bottom: 2px solid;
    padding-bottom: 10px;
}

main {
	flex: 1;
    padding: 20px;
}

.movie-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(250px, 1fr));
    gap: 20px;
}

.card {
    text-decoration: none;
    color: inherit;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
	border-top: 2px solid #b8860b;
    overflow: hidden;
	padding: 10px;
	background: #141414;
	color: #eaeaea;
	transition: transform 0.5s ease;
}

.card:hover {
    transform: scale(1.05);
}

.card:target {
	outline: 3px solid #ffcc00;
	transition: transform 0.5s ease;
	transform: scale(1.02);
	scroll-margin-top: 20px;
	
}

.card h2 {
	min-height: 2em;
	text-align: center;
}

.card img {
    width: 100%;
    height: 400px;
	object-fit: contain;
	/*border: 1px solid #888;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
	background-color: ;*/
}

.card p {
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	color: #ffd700;
}

figure {
    margin: 0;
}

footer {
	text-align: right;
	border-top: 1px solid #ccc;
	margin-top: 15px;
}

.movie-page {
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
}

.movie-hero {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 40px;
}
.poster {
	width: 300px;
    border-radius: 10px;
    border: 2px solid #b8860b;
    box-shadow: 0 5px 20px rgba(0,0,0,0.5);
}

.trailer {
	margin-top: 40px;
}

section.trailer h3 {
	color: #ffd700;
}

.revenue {
	font-weight: bold;
	color: #ffd700;
}

.imdb-link {
	display: inline-block;
	margin-top: 10px;
	color: #ffd700;
	text-decoration: none;
	transition: transform 0.3s ease;
}

.imdb-link:hover {
	text-decoration: underline;
	transform: translateX(3px);
}

.back-link {
    display: inline-block;
	margin-top: 20px;
    margin-bottom: 20px;
	font-size: 1.1em;
    color: #ffd700;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.back-link:hover {
    transform: translateX(-4px);
    text-decoration: underline;
}

@media (max-width: 900px) {
    .movie-grid {
        grid-template-columns: repeat(2, minmax(250px, 1fr));
    }
}

@media (max-width: 600px) {
    .movie-grid {
        grid-template-columns: 1fr;
    }

    .container {
        flex-direction: column;
    }

    aside {
        width: 100%;
        position: relative;
        min-height: auto;
    }
}

@media (max-width: 700px) {
    .movie-hero {
        flex-direction: column;
        align-items: center;
    }

    .poster {
        width: 80%;
    }
}