/*/////////////////////////////
             GLOBAL
/////////////////////////////*/
:root {
    --main: #1B6534;
}

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

body {
    background-color: #f7f9fb;
    background-image: linear-gradient(hsl(210, 33%, 100%), hsl(210, 33%, 94%));
    font-family: 'Inter', Tahoma, sans-serif;
    min-height: 100vh;
}

img {
    width: 100%;
}

button {
    cursor: pointer;
}

/*/////////////////////////////
             LOGO
/////////////////////////////*/

.logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2em 0;
}

.logo svg {
    margin-right: .5em;
}

.logo span {
    color: var(--main);
}

/*/////////////////////////////
             SEARCH
/////////////////////////////*/

.search {
    /* display: flex; */
    display: grid;
    row-gap: 1em;
}

.search select {
    background-color: white;
    border: 2px solid var(--main);
    border-radius: .5em;
    /* width: 14em; */
    padding: 1em;
}

.search input {
    border: 2px solid var(--main);
    border-radius: .5em;
    width: 100%;
    padding: 1em;
}

.search button {
    border: 2px solid var(--main);
    background-color: var(--main);
    border-radius: .5em;
    color: #fff;
    padding: 1em;
    /* width: 3em; */
    /* margin-left: 1em; */
}

/*/////////////////////////////
             RESULTS
/////////////////////////////*/

.results-section {
    padding-top: 2em;
    padding-bottom: 5em;
}

.results-message {
    padding: 1em;
    text-align: center;
    font-weight: bold;
    font-size: 1.5rem;
}

.results {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    row-gap: 2em;
    column-gap: 2em;
}

.result:hover {
    cursor: pointer;
}

.result:hover .title {
    color: #1B6534;
}

.result a {
    display: block;
    text-decoration: none;
}

.result img {
    border-radius: .5em;
    aspect-ratio: 1.98;
    object-fit: cover;
    object-position: center;
}

.result .title {
    color: hsl(0, 0%, 15%);
    font-size: 1.25rem;
    font-weight: bold;
    margin: .75em 0;
    transition: 300ms;
}

.result .row {
    display: flex;
    justify-content: space-between;
    margin-bottom: .75em;
    color: hsl(0, 0%, 15%);
}

.result .channel {
    font-weight: bold;
}

.result .description {
    color: hsl(0, 0%, 35%);
    line-height: 1.5;
}

/*/////////////////////////////
             UTILITY
/////////////////////////////*/

.wrapper {
    width: clamp(270px, 90%, 1020px);
    margin: auto;
}

@media(min-width: 888px) {
    .search {
        display: grid;
        grid-template-columns: 14em auto 3em;
        column-gap: 1em;
        row-gap: 0;
    }
}