@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');


:root {
    --app-bg: #ececec;
    --bg: #fff;
    --text: #111010;
    --subtext: #2f3032;
    --light-text: #6B7280;
    --hover: #e8c96a;
    --rating: #c9a84c;
    --message: #DFDDDD;
}

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

a {
    text-decoration: none;
}


body {
    background: var(--app-bg);
    font-family: "Inter", sans-serif;
    color: var(--text);
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
}

.app {
    background: var(--bg);
    width: 100%;
    max-width: 550px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* header */

.site-header {
    width: 100%;
    height: 220px;
    position: relative;
    overflow: visible;
    flex-shrink: 0;
}

.header-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to bottom, rgba(10, 9, 9, 0.55) 0%, rgba(10, 9, 9, 0.72) 100%),
        url('https://images.unsplash.com/photo-1753944847480-92f369a5f00e?q=80&w=2342&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D') center/cover no-repeat;
}


.header-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
    height: 100%;
    padding-bottom: 24px;
}

.site-header h1 {
    font-size: 2rem;
    font-weight: 800;
    color: var(--bg);
    display: flex;
    align-items: center;
}

nav a {
    color: var(--bg);
    text-decoration: none;
    font-size: 0.87rem;
    font-weight: 700;
}

nav a:hover {
    color: var(--hover);
}

/* search bar */

.search-bar {
    position: absolute;
    bottom: -24px;
    left: 28px;
    right: 28px;
    z-index: 10;
    display: flex;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--message);
}

.search-bar input {
    flex: 1;
    padding: 14px 18px 14px 42px;
    border: none;
    background: var(--bg);
    font-size: 1rem;
    outline: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8580' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
}

.search-bar input::placeholder {
    color: var(--light-text);
}

.search-bar button {
    padding: 14px 24px;
    background: var(--app-bg);
    color: var(--text);
    border: none;
    font-size: 0.87rem;
    border-left: 1px solid var(--message);
}

.search-bar button:hover {
    background: var(--hover);
}

/* main */

.watchlist,
.results {
    flex: 1;
    padding: 40px 28px 40px;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow-y: auto;
}

.message {
    font-size: 1.125rem;
    font-weight: bold;
    color: var(--message);
    margin: auto;
    text-align: center;
    width: 70%;
    line-height: 2;
}

.add-movies {
    display: block;
}

.add-movies a {
    font-size: 0.875rem;
    color: var(--subtext);
}

.add-movies a:hover {
    color: var(--hover);
}

.filmIcon {
    font-size: 5rem;
    color: var(--message);
    padding: 10px;
}


/* film card */
.film-card {
    display: flex;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid var(--message);
}

.film-card img {
    width: 100px;
    height: 148px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}

.film-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 2px;
    justify-content: center;
}

.film-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.film-info h2 {
    font-size: 1.12rem;
    color: var(--text);
    line-height: 1;
}

.year {
    font-size: 0.75rem;
    color: var(--subtext);
}

.rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--rating);
}

.rating .i {
    color: var(--rating);
}

.rating svg {
    width: 13px;
    height: 13px;
    fill: var(--rating);
}

.meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 0.75rem;
    color: var(--subtext);
}

.dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--light-text);
    display: inline-block;
}


.watchlist-add {
    display: block;
    margin-top: 10px;
    border: 0;
    background: none;
    color: var(--subtext);
}


.watchlist-add:hover {
    color: var(--hover);
    cursor: pointer;
}


.synopsis {
    font-size: 0.87rem;
    line-height: 1.6;
    color: var(--light-text);
    font-weight: 300;
}






/* github link */
.github-button {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 18px;
    height: 18px;
    color: #111;
}

.github-button svg {
    fill: currentColor;
    width: 100%;
    height: 100%;
    transition: color 0.3s ease;
}

.github-button:hover {
    color: #0366d6;
}



@media (min-width: 550px) {

    .site-header h1 {
        font-size: 2.62rem;
    }

}