.search_main {
    display: flex;
}

#search_howto {
    background-color: var(--beige1);
    width: 20%;
    padding: 56px 72px;
}
#search_howto > h3 {
    margin: 0;
}

#search_form {
    padding: 64px;
    width: 660px;
    margin: auto;
}
#search_form > * {
    display: block;
}
#search_form > h1 {
    margin: 0;
}
#search_form label {
    color: var(--gold);
    font-weight: bold;
}
#search_form > label {
    margin-top: 32px;
    margin-bottom: 8px;
}
#search_form > input {
    width: 100%;
    padding: 8px 16px;
    box-sizing: border-box;
}

#search_form > #year_search {
    display: flex;
    align-items: center;
}
#search_form > #year_search > label {
    margin-right: 8px;
}
#search_form > #year_search > label:not(:first-child) {
    margin-left: 32px;
}
#search_form > #year_search > input {
    padding: 5px 16px;
    width: 100%;
    box-sizing: border-box;
    font-family: "Space Grotesk", sans-serif;
}

div#full_text {
    margin-top: 32px;
}

#search_form > #search {
    width: auto;
    float: right;
    border-radius: 1000px;
    color: white;
    background-color: var(--black2);
    border: none;
    padding: 12px 20px;
}
#search_form > #search:hover {
    background-color: var(--black1);
    cursor: pointer;
}

/* Tablet / landscape phone: trim the generous desktop paddings before the full
   single-column stack at 640px (the form already shrinks via flex). */
@media (max-width: 1024px) {
    #search_howto {
        padding: 32px 24px;
    }
    #search_form {
        padding: 32px;
    }
}

/* Reflow (WCAG 1.4.10): stack the how-to sidebar above the form and make the
   fixed 660px form fluid so it fits a 320px viewport. */
@media (max-width: 640px) {
    .search_main {
        flex-direction: column;
    }
    #search_howto {
        width: 100%;
        padding: 24px 16px;
        box-sizing: border-box;
    }
    #search_form {
        width: 100%;
        max-width: 100%;
        padding: 24px 16px;
        box-sizing: border-box;
    }
}