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

header, nav, ul, li, h1, h2, p {
  margin: 0;
  padding: 0;
}

h1, h2 {
  font-size: inherit;
  font-weight: inherit;
}

body {
  font-family: "Segoe UI", sans-serif;
  background: #FFFFFF;
  color: #0A0A0A;
  min-height: 100vh;
}

/*------------------------------------Top Navigation Bar---------------*/
.TopNavBar{
display: flex;
width: 100%;
height: 65px;
padding: 0 40px;
flex-direction: column;
align-items: center;
border-bottom: 1px solid #E5E7EB;
background: #FFF;
box-sizing: border-box;     /* padding stays inside the 100% width */
overflow: hidden;  
}

.Navigation{
display: flex;
height: 64px;
padding-right: 0;
justify-content: space-between;
align-items: center;
flex-shrink: 0;
align-self: stretch;
}

.TitleCard{
display: flex;
width: 177.167px;
height: 44px;
align-items: center;
gap: 12px;
}

.Logo{
display: flex;
flex-direction: row;
align-items: center;
gap: 10px;
width: auto;
height: auto; /* let it grow to fit the text */
}

.LogoText{
display: flex;
flex-direction: column;
justify-content: center;
}

.Title{
color: #101828;
font-family: "Segoe UI Emoji";
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: 28px; /* 140% */
margin: 0; 
white-space: nowrap;
}

.Subtitle{
color: #4A5565;
font-family: "Segoe UI Emoji";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 16px; /* 133.333% */
margin: 0;
}
.NavBtn{
display: flex;
justify-content: space-between; /* pushes logo left, links right */
align-items: center;
height: 65px;
box-sizing: border-box;
width: auto; 
padding: 0;         /* remove extra padding */
background: none;
}
.TopNav{
display: flex;
list-style: none; /* removes bullet points */
gap: 24px;
margin: 0;
padding: 0;
color: #364153;
font-family: "Segoe UI Emoji";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 20px; /* 142.857% */
}
.TopNav a{
text-decoration: none;
color: #364153;

}
.TopNav a:hover {
    color: #F54900;         /* orange on hover */
}

.TopNav .active a {
    color: #F54900;         /* orange for current page */
}

.TopNav a.active {
    color: #F54900;
    cursor: pointer;
}

.TopNav a.active:visited {
    color: #F54900;
}
.PageContent{
display: flex;
flex-direction: column;
min-height: calc(100vh - 65px);
}

.logBtn {
  background: transparent;
  border: none;         
  padding: 0;           
  cursor: pointer;      
  outline: none;        
}

/* Recipe Card */

.RecipeCatalog{
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.RecipeCatalogEntry {
  background: #FFF;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.15s;
  margin: 5px;
}

.RecipeCatalogEntry:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}

.RecipeCatalogImage img{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;

}

.RecipeCatalogEntry h2 {
  font-size: 18px;
  font-weight: 700;
  color: #0A0A0A;
  padding: 14px 16px 8px;
}

.RecipeCatalogEntry h2 a {
  text-decoration: none;
  color: inherit;
}

.RecipeCatalogEntry h2 a:hover {
  color: #FF6900;
}

.RecipeInfo {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 0 16px 10px;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: #4A5565;
}

.recipe-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 16px 16px;
}

.tag {
  padding: 4px 12px;
  border-radius: 20px;
  border: 1px solid #D1D5DC;
  font-size: 13px;
  font-weight: 400;
  color: #364153;
  background: #FFF;
}

.tag.green  { border-color: #D1D5DC; color: #364153; background: #FFF; }
.tag.blue   { border-color: #D1D5DC; color: #364153; background: #FFF; }
.tag.purple { border-color: #D1D5DC; color: #364153; background: #FFF; }
.tag.orange { border-color: #D1D5DC; color: #364153; background: #FFF; }

