/************************************ 
-----------General Styling-----------
************************************/
*, *::before, *::after{
    margin: 0;
    box-sizing: border-box;
}

body{
    color: #2B283A;
    font-family: "Inter", sans-serif;
}

main{
    height: 100vh;
    min-height: 200px;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

form{
    background-color: white;
    padding: 24px 0;
    box-shadow: 0 4px 11px rgba(0,0,0,0.15);
}

input[type="color"],
button{
    cursor: pointer;
}

input[type="color"]{
    height: 0;
    width: 0;
    background-color: transparent;
    border: none;
}

input[type="color"]:hover,
input[type="color"]:focus{
    outline: none;
}

.submit-btn,
.color-label{
    font-weight: 500;
    font-size: 0.75rem;
}

.grid-container{
    display: grid;
}

.flex-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hidden{
    display: none;
}

/************************************ 
---------Color Form Styling----------
************************************/
.form-container{
    grid-template-columns: auto 1fr auto;
    gap: 0 0.75em;
    width: 94%;
    max-width: 550px;
    margin: 0 auto;
}

.select-field,
.submit-btn{
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05);
}

/*-------Color Input Styling---------*/
.seed-color-background{
    background-color: black;
    width: 51px;
    height: 34px;
    border: 0.5px solid #313131;
    box-sizing: content-box;
}

.color-input-label{
    padding: 4px 5px;
    background-color: #E5E5E5;
    border: 0.5px solid #D1D5DB;
    display: block;
    cursor: pointer;
}

/*----Color Mode Select Styling-----*/
.color-scheme-select-container{
    position: relative;
}

.select-field{
    background-color: white;
    border: 1px solid #D1D5DB;
    width: 100%;
    height: 100%;
    padding: 0 14px;
    font-family: inherit;
    font-weight: 400;
    font-size: 1rem;
    border-radius: 6px;
}

.down-arrow{
    color: #9CA3AF;
    font-size: 1.25rem;
}

.select-label{
    padding: 8px 36px 8px 12px;
    cursor: pointer;
}

.options-container{
    position: absolute;
    background: white;
    width: 100%;
    padding: 4px 0;
    box-shadow: 0 4px 6px -2px rgba(0,0,0,0.05);
    border-radius: 6px;
}

.checkmark{
    color: #4F46E5;
    font-size: 0.75rem;
}

.select-label:hover,
.select-label:focus{
    background-color: #d6d6d6;
}

.select-input:checked ~ .select-label{
    font-weight: 600;
}

/*-----Submit Button Styling------*/
.submit-btn{
    background-color: white;
    font-family: inherit;
    padding: 0.81rem 0.69rem;
    border: 1px solid #D1D5DB;
    border-radius: 4px;
    color: #374151;
}

/************************************ 
-------Generated Colors Styling------
************************************/
.color-scheme-section,
.color-scheme-labels-section{
    grid-auto-flow: column; 
    grid-auto-columns: 1fr;
}

.color-label{
    padding: 1em 0;
    line-height: 2;
}

.color-scheme-labels-section{
    background-color: white;
    box-shadow: 0 -4px 11px rgba(0,0,0,0.15);
    justify-items: center;
}