/* Color Palette */
:root {
  --spicy-paprika: #CE603B;     /* Title and header color */
  --white-smoke: #f5f5f5;
  --gunmetal: #3d3d3d;
  --cerulean: #086788;          /* Links */
}

/* Navigation Styling */
.site-nav {
  display: flex;
  gap: 1.5rem;
  padding: 1rem 0;
  border-bottom: 1px solid #ccc;
  margin-bottom: 2rem;
}

.site-nav a {
  text-decoration: none;
  font-weight: bold;
}

.site-nav a.active {
  font-weight: bold;
  border-bottom: 2px solid #000000;
}

/* Main Body */
main {
  margin-bottom: 4rem;
}

/* Base Styles */
body {
  font-family: system-ui, -apple-system, sans-serif;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 600px;
  padding: 1.5rem;
  background-color: var(--white-smoke);
  color: #000000;
}

/* Headings */
h1 {
  font-size: clamp(2rem, 5vw + 1rem, 3.5rem);
  line-height: 1.2;
  color: var(--spicy-paprika);
}

h2 {
  font-size: clamp(1.4rem, 3vw + 0.8rem, 2rem);
  color: #000000;
}

/* Body */
p, li, td {
  font-size: clamp(1rem, 1vw + 0.8rem, 1.2rem);
  color: #000000;
}

/* Links */
a {
  font-size: clamp(1rem, 1vw + 0.8rem, 1.2rem);
  color: var(--cerulean);
  text-decoration: underline;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--spicy-paprika);
}

/* Blockquotes */
blockquote {
  background-color: var(--gunmetal); /* Background color behind text */
  font-size: clamp(1rem, 1vw + 0.8rem, 1.2rem);
  border-radius: 8px;                      /* Simple rounded corners */
  padding: 1rem 1.25rem;                   /* Inner spacing around text */
  margin: 1rem 0;                          /* Outer spacing top/bottom */
  color: #ffffff;
  font-style: normal;
}

blockquote cite {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  font-style: normal;
  color: #ffffff
}

blockquote cite a {
  color: #ffffff;        
  text-decoration: none; 
}

blockquote cite a:hover {
  text-decoration: underline;
  color: var(--spicy-paprika);
}

blockquote p {
  color: #ffffff;
}

/* Footer text box */
footer {
  text-align: center;
  margin-top: 1rem;
}

/* Footer Paragraph Text */
footer p {
  color: #000000;
  margin: 0;
}

/* Container for centered, fixed-width images */
.image-wrapper {
  max-width: 500px;   
  margin: 1.5rem auto;
}

/* Image inside the wrapper */
.image-wrapper img {
  width: 100%;        
  height: auto;     
  display: block;    
  border-radius: 8px;
}

/* Standalone image style */
.responsive-img {
  max-width: 100%;    
  height: auto;       
  display: block;    
  border-radius: 8px;
}


/* Odd table things happening for contact info */
.connect-table {
  width: 100%;
  max-width: 500px;
  border-collapse: collapse;
  table-layout: auto; /* Allows columns to dynamically adjust to text length */
  margin: 0 auto;
}

.connect-table td {
  padding: 8px 6px; /* Tighter padding for desktop */
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
  box-sizing: border-box;
  white-space: nowrap;
}

/* Expands first column to take up remaining space */
.connect-table td:first-child {
  width: 100%;
}

/* Squeezes second column to fit its exact content width */
.connect-table td:last-child {
  width: 1%;
}

/* Mobile: Keeps items side-by-side on a single line */
@media (max-width: 480px) {
  .connect-table,
  .connect-table tbody,
  .connect-table tr {
    display: table;
    width: 100%;
  }

  .connect-table td {
    padding: 6px 4px;
  }
}
