@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('fonts/Nunito-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
  :root {
    --tomato: #FF4949;
    --orange: #ff6600;
    --gold: #FFC000;
    --peach: #ffaf68;
    --cream: #ffead5;
    --green: #89b942;
    --dark-green: #196200;
    --plum: #2f002e;
    --navy: #000b3c;
    --warm-brown: #7a3b10;
    --radius: 16px;
    --shadow: 4px 4px 0 var(--plum);
  }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 100%;
    background-color: var(--cream);
    color: var(--plum);
    overflow-x: hidden;
  }
  
img { max-width: 100%; height: auto; }

.site-nav { 
  display: block;
  padding: 1rem 2.5rem 2rem 2.5rem;
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
}
.nav-logo {
  display: block;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
.nav-logo img {
  display: block;
  margin: 0 auto;
  height:50px; width:auto;
}
.nav-items {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-items li a {
  display: flex;
  align-items: center;     /* vertical centering — works at all sizes */
  justify-content: center; /* horizontal centering — mobile */
  min-height: 48px;        /* gives the button a consistent tap target height */
  width: auto;
  padding: 0 16px;         /* remove top/bottom padding — flex handles the height now */
	text-decoration: none;
	/* border-top: 1px solid #000000;   /* top border on every item */
	color:#000000; 
}
.nav-items li a:hover { text-decoration: underline;
    text-decoration-style: wavy; 
    text-decoration-color: var(--tomato); 
    text-underline-offset: 8px;
    text-decoration-thickness: 2px; }
.nav-items li a.selected { text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: var(--tomato); 
    text-underline-offset: 8px; 
    text-decoration-thickness: 2px; }
.nav-items li:last-child a { background: var(--tomato);
    color: white;
    font-weight: 800;
    font-size: 1rem;
    text-decoration: none;
    padding: .65rem;
    border-radius: 50px;
    transition: background .2s, transform .15s;
    box-shadow: 3px 3px 0 var(--plum);
}
.nav-items li:nth-last-child(2) a {
margin-bottom:23px
}

/* Base styles: mobile — stacked column layout */
.footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  padding: 20px;
  text-align: center;
  background: var(--plum);
  color: white;
  padding: 20px;
  font-size: 1rem;
}
.footer a { color: white; text-decoration: none; }

/* Icon + text always stay side-by-side at all sizes */
.social-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

/* ── Medium (tablet) ────────────────────────── */

@media (min-width: 655px) {
  .site-nav {
    display: flex;
    flex-direction: column;
    padding: 1rem 2.5rem; 
  }
  .nav-items {
    display: flex;
    flex-direction: row;
    justify-content: center; /*  centers the group of buttons horizontally */
    gap: 10px;                /* space between buttons */
    padding: 10px 20px;      /* breathing room above, below, and on the sides */
  }
  .nav-items li {
    flex: 0 0 auto;          /* buttons are only as wide as their text, not stretched */
  }
  .nav-items li a {
    width: auto;
    padding: 0 20px;           /* a bit more horizontal padding for a nicer button shape */
    text-align: center;
  }
}

/* ── Large (desktop) ────────────────────────── */

/* footer at 800: switch to a single row */
@media (min-width: 800px) {
  .footer {
    flex-direction: row;
    justify-content: space-evenly;
    text-align: unset;
  }
}

@media (min-width: 900px) {
  .site-nav {
    display: flex;
		flex-direction: row;
    align-items: stretch;  /* change center to stretch */
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 100;
  }
  
  /* Logo switches from stacked to side-by-side */
  .nav-logo {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    text-align: left;
    padding: 10px 20px;
  }

  .nav-logo img { margin:0;height:50px;width:auto /* override the mobile auto-centering */ }

  .nav-items {
    display: flex;
    flex-direction: row;
    align-items: stretch;  /* li elements fill the full nav height */
  }
  .nav-items li {
    display: flex;         /* li becomes a flex container */
    align-items: stretch;  /* passes full height to the <a> */
  }
  .nav-items li a {
    display: flex;
    align-items: center;   /* text is now centered within the full nav height */
    justify-content: center;
    border-top: none;
		white-space: nowrap;  /* prevents text from wrapping to a second line */
    padding: 0 16px;
    min-height: unset;     /* let the nav height drive the size, not min-height */
  }
    .nav-items li:last-child a {
    background: var(--tomato);
    color: white;
    font-weight: 800;
    font-size: 1rem;
    text-decoration: none;
    padding: .65rem;
    border-radius: 50px;
    transition: background .2s, transform .15s;
    box-shadow: 3px 3px 0 var(--plum);
}
.nav-items li:nth-last-child(2) a {
margin-right:20px;
margin-bottom:0px
}
}
