* { margin: 0; padding: 0; box-sizing: border-box; }
html{
    font-size: 18px;
}

img{
    max-width: 100%;
    height: auto;
    display: block;
}

body{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-inline: .5rem;
    margin: 0;
    font-family: 'Nunito', Cambria, Cochin, Georgia, Times, 'Times New Roman', sans-serif;
    font-size: 18px;
    color: #2e261c;
    background-color: #F7F1E8;
}

header, main, footer{
    width: 700px;
}

header{
    margin-bottom:3rem;
}

.header-row-1{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: flex-end;
    padding: .25rem .5rem;
    border-bottom: 2px solid #8B5E34;
}

.header-row-2{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding-inline: .5rem;
}

.header-row-2 ul{
    display: flex;
    gap: 1rem;
    list-style: none;
}

.header-row-2 form{
    display: flex;
    list-style: none;
    gap: .25rem;
    margin-top: .25rem;
}

.header-row-2 button{
    padding-top: .4rem;
    padding-bottom: .4rem;
    padding-left: .1rem;
    padding-right: .1rem;
    font-size: medium;
    color: black;
    font-weight: 500;
}

.index-buttons{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1rem;
    gap: 1rem;
}

.card-layout{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    margin-block: 1rem;
    align-items: start;
}

.index-card{
    background-color: #FFF;
    border: 1px solid #FFF9F1;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: .5rem;
    box-shadow: 0px 4px 3px rgba(0,0,0,.3);
}

.index-card img{
    margin-top: .5rem;
}

.index-card .list{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding-left: 0;
    column-gap: 0.5rem;
    row-gap: 0;   
}

.index-card .list li { 
  list-style:circle; 
}

.index-card .list li a {
    text-wrap: nowrap;
}

#profileimg{
    display: grid;
    text-wrap: nowrap;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 1rem;
    align-items: end;
}

#profileimg img{
    width: 5rem;
    height: 5rem;
    object-fit: cover;
    justify-self: end;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

#main_search{
    display: flex;
    align-items: center;
    padding: .25rem;
    font-size: large;
}

#main-search{
    font-size: large;
    margin-bottom: 1rem;
}

#main_search input{
    flex: 1 1 auto;
    width: 100%;
    padding: .25rem;
    font-weight: 700;
}

.about{
    margin-top: 2rem;
    margin-bottom: 2rem;
}

main{
    height: auto; 
    padding: 1rem;
    background-color: #FFF9F1;
    border-top: 1px solid #2e261c;
    border-left: 1px solid #2e261c;
    border-right: 1px solid #2e261c;
    box-shadow: 0px 4px 3px rgba(0,0,0,.3);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.main-heading{
    margin-bottom: 2rem;
}

h1, h2, h3, h4, h5, h6{
    font-family: 'Playwrite US Trad', 'Times New Roman', serif;
    color: #A8570C;
}

h2, h3, h4, h5, h6{
    font-size: calc(18px * 1.25);
}

h1{
    font-size: calc(18px * 1.80);
}

#userbar{

    padding-left: 5px;
}

#signinbar{
    border-bottom: 2px solid #8B5E34;
    padding-left: 5px;
    color: #8B5E34;
}

#login{
    display: flex;
    gap: 1rem;
    flex-direction: column;
    font-size: calc(18px * 1.25);
}

#login label{
    margin-bottom: -1rem;
}

#login input{
  width: 80%;
  padding: 0.25rem;
  text-align: right; 
}

#login button{
    align-self: center;
    background-color: #efefef;
    border: 1px solid #b0aead;
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
    padding: .5rem;
    font-size: medium;
    width: 50%;
    min-width: 200px;
    margin-left: 20%;
    margin-right: 20%;

}

a{
    color: #8B5E34;
    text-decoration: none;
}

a:hover{
    color:#A8570C;
    text-decoration:underline;
}

#profilesection{
    padding-left: 50px;
}

.recipesection{
    margin-bottom: 20px;
    background-color: #FFF;
    border: 1px transparent #FFF;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
}

article{
    background-color: #FFF;
    border: 1px transparent #FFF;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border-radius: 7px;
}

li {
    list-style-type: none;
}

.visually-hidden{
    display:none;
}

#signin, #browse{
    background-color: #8B5E34;
    color: #F7F1E8 ;
    padding: .5em 1em;
    border-radius: 20px;
}

#signin:hover, #browse:hover{
    background-color: #A8570C;
    color: #F7F1E8 ;
}

input::placeholder{
    color: black;
}


/* recipe and edit sections */
#title{
    font-family: 'Playwrite US Trad', 'Times New Roman', serif;
    color: #8B5E34;
}

.recipe-meta{
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.5rem;
    align-items: center;
    margin-bottom: 2rem;
}

.recipe-meta .recipe-tags{
    display: flex;
    flex-wrap: wrap;
    column-gap: .5rem;
    list-style: none;
}

#ingredients li{
    padding-left: 1rem;
    text-indent: -1rem;
}

.recipe-steps{
    padding-left: 1em;
}

li.steps {
    list-style-type: decimal;
}

.card-layout .index-card .list li {
  list-style: none;
}

#recipeimg{
    transform:rotate(2deg);
    border: 5px solid white;
    border-radius: 3px;
    margin-bottom: .5rem;
    max-width: 100%;
    display: block;
    height: auto;
}

.recipe-prep{
    display: flex;
    flex-wrap: wrap;
    column-gap: .5rem;
    row-gap: .25rem;
}

.recipe-prep dt{
    flex: calc(25% - .5rem);
    text-align: left;
}

.recipe-prep dd{
    flex: calc(75% - .5rem);
    text-align: left;
}

.steps textarea {
  vertical-align: top;
}

.edit-page #title {
  font-size: 2rem;
  width: 85%;
}

.edit-page h1 {
  position: relative;
}

.edit-page .step-ingredients {
  list-style-type: circle;
  padding-left: 1.5rem;
  margin-top: .5rem;
  margin-bottom: 1rem;
}

.edit-page .step-ingredients > li {
  list-style-type: inherit;
}

.edit-page .step-ingredient .row {
  display: flex;
  gap: 1rem;
  align-items: center;
  width: 100%;
}

.edit-page .step-ingredient-item1,
.edit-page .step-ingredient-item2,
.edit-page .step-ingredient-item3 {
  border: 1px solid #1f1c1c; 
  padding: .25rem 0; 
  box-sizing: border-box; 
  height: 1.5rem;
  margin-bottom: .25rem;
  border-radius: 3px;
}

.edit-page .prep-item {
  width:3rem;
}

.edit-page .step-ingredient-item1 {
  width:3rem;
}

.edit-page .step-ingredient-item2 {
  width:5rem;
}

.edit-page .step-ingredient-item3 {
  width:12rem;
}

#save-button {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1rem;
}

.errors-output {
    color: red;
}

textarea {
  width: 100%;
  resize: vertical;
}

.Recipe-page h1 {
  position: relative;
}

#edit-button {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 1rem;
}

.recipe-div img{
    grid-column: 1; 
    grid-row: 1; 
}
.recipe-div .recipe-prep{ 
    grid-column: 1; 
    grid-row: 2; 
}
.edit-page #recipe-description-section{ 
    grid-column: 2; 
    grid-row: 1; 
}

.recipe-div{
    display: grid;
    grid-template-columns: 1fr 2fr;
    column-gap: 1rem;
    align-items: start;
    margin-top: 3rem;
}

#description{
    grid-column: 2; 
    grid-row: 1;
}

#ingredients, #steps, #description{
    line-height: 1.25;
}

#description{
    margin-bottom: 2rem;
}

#title {
    font-weight: bolder;
}


/* Media Section */
@media (max-width: 500px){
    body{ 
        padding-inline: 0; 
    }
    header, main, footer{
        width: 100%; 
    }
    main{ 
        border-left: 0; border-right: 0; 
    }
    .header-row-1{ 
     padding: 0.5rem; 
    }
    .recipe-div{ 
        display: block;
    } 
    #recipeimg, .recipe-prep, #description, #ingredients, #steps {
        margin-top: 2rem;
  }
}

@media (max-width: 700px){
    #login{ 
        grid-template-columns: 1fr; row-gap: 0; 
    }
    #login label{ 
        margin: 0; 
    }
    #login input{ 
        margin: 0; 
    } 
}

@media (max-width: 600px){
    .card-layout { 
        grid-template-columns: 1fr 1fr; 
    }
}
@media (max-width: 400px){
    .card-layout{ 
        grid-template-columns: 1fr; 
    }
}

.show-password {
  display: inline-flex;
  align-items: center;
  gap: .1rem;
}

#show-password {
  margin-top: .1rem;
}
