/* Custom styles to complement Tailwind */
body {
    font-family: 'Inter', sans-serif;
    background-color: #0F172A; /* dark-bg */
    color: #F8FAFC; /* slate-50 */
}

/* Base navbar styles - transparent with blur by default */
nav, .navbar {
    background-color: rgba(15, 23, 42, 0.1); /* Very subtle background as fallback */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    position: relative;
    z-index: 100; /* Higher than footer */
    transition: all 0.3s ease; /* Smooth transition */
}

#navbar a.cta-button,
#navbar .cta-button {
  background-color: #5b9dfd !important; /* primary */
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 0.5rem;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

#navbar a.cta-button:hover {
  background-color: #5d87dc !important; /* secondary */
}

/* Optional: make sure the CTA doesn't inherit underline from any global link rules */
#navbar a.cta-button:where(:any-link) {
  text-decoration: none !important;
}

/* For browsers that don't support backdrop-filter */
@supports not (backdrop-filter: blur(12px)) {
    nav, .navbar {
        background-color: rgba(15, 23, 42, 0.3); /* Fallback background */
    }
}

/* Enhanced background when scrolled */
.nav-scrolled {
    background-color: rgba(15, 23, 42, 0.8); /* dark-bg with transparency */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Mobile-specific navbar fixes */
@media (max-width: 768px) {
    nav, .navbar {
        /* Keep transparent with blur on mobile too */
        background-color: transparent;
        backdrop-filter: blur(8px); /* Lighter blur on mobile */
        -webkit-backdrop-filter: blur(8px);
    }
    
    .nav-scrolled {
        background-color: rgba(15, 23, 42, 0.9); /* More opaque on mobile when scrolled */
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }
}

/* Blog post content styles */
.prose-dark {
  color: #D1D5DB; /* gray-300 */
  max-width: 65ch;
  margin: 0 auto;
}

.prose-dark h1,
.prose-dark h2,
.prose-dark h3,
.prose-dark h4 {
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* Blog post content styles */
.prose.prose-dark h1 {
  font-size: 2.75rem;
  margin-top: 2rem;
  margin-bottom: 1.25rem;
  font-weight: 800;
  line-height: 1.2;
}

.prose.prose-dark h2 {
  font-size: 2rem;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  font-weight: 700;
  border-left: 4px solid #5b9dfd;
  padding-left: 0.75rem;
}

.prose.prose-dark h3 {
  font-size: 1.5rem;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-weight: 600;
}

.prose-dark h4 {
  font-size: 1.25rem; /* text-xl */
}

.prose.prose-dark p {
  margin-bottom: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.8;
}

.prose-dark a {
  color: #5b9dfd; /* primary */
  text-decoration: underline;
}

.prose-dark a:hover {
  color: #5d87dc; /* secondary */
}

.prose.prose-dark blockquote {
  font-size: 1.25rem;
  font-style: italic;
  color: #cbd5e1;
  border-left: 4px solid #5f71bb;
  padding-left: 1rem;
  margin: 2rem 0;
  background: rgba(95, 113, 187, 0.1);
  border-radius: 0.5rem;
}
.prose.prose-dark ul {
  list-style: none;
  padding-left: 1.5rem;
}

.prose.prose-dark ul li {
  position: relative;
  margin-bottom: 0.75rem;
}

.prose.prose-dark ul li::before {
  content: "•";
  color: #5b9dfd;
  font-weight: bold;
  position: absolute;
  left: -1.25rem;
}

.prose-dark code {
  background-color: #1E293B; /* slate-800 */
  color: #93C5FD; /* blue-300 */
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
}

.prose-dark pre {
  background-color: #0F172A; /* dark-bg */
  color: #E5E7EB; /* gray-200 */
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  margin: 1.5rem 0;
}

.prose.prose-dark img {
  margin: 2rem auto;
  border-radius: 1rem;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.prose-dark hr {
  border-color: #374151; /* gray-700 */
  margin: 2rem 0;
}

footer {
  position: relative;
  z-index: 50;
}

.prose-dark a {
  color: #5b9dfd; /* primary */
  text-decoration: underline;
}

.prose-dark a:hover {
  color: #5d87dc; /* secondary */
}

.prose-dark blockquote {
  border-left: 4px solid #5f71bb; /* tertiary */
  color: #9CA3AF; /* gray-400 */
  font-style: italic;
  padding-left: 1rem;
  margin: 1.5rem 0;
}

.prose-dark ul,
.prose-dark ol {
  margin: 1.25rem 0 1.25rem 1.5rem;
  padding-left: 1rem;
}

.prose-dark ul > li {
  list-style-type: disc;
  margin: 0.5rem 0;
}

.prose-dark ol > li {
  list-style-type: decimal;
  margin: 0.5rem 0;
}

.prose-dark code {
  background-color: #1E293B; /* slate-800 */
  color: #93C5FD; /* blue-300 */
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
}

.prose-dark pre {
  background-color: #0F172A; /* dark-bg */
  color: #E5E7EB; /* gray-200 */
  padding: 1rem;
  border-radius: 0.5rem;
  overflow-x: auto;
  margin: 1.5rem 0;
}

.prose-dark img {
  border-radius: 0.75rem;
  margin: 2rem 0;
}

.prose-dark hr {
  border-color: #374151; /* gray-700 */
  margin: 2rem 0;
}

footer {
  position: relative;
  z-index: 50;
}


/* Also ensure the footer container has proper stacking */
#footer-placeholder {
    position: relative;
    z-index: 50;
}

footer {
    background: #0f172a !important; /* slate-900 */
    position: relative;
    z-index: 50;
}

@media (max-width: 768px) {
    footer .container {
        padding: 1.5rem !important; /* Smaller padding on mobile */
    }
    
    /* Fix the flex layout for mobile */
    footer .flex.flex-col.space-y-4 {
        gap: 0.5rem !important;
    }
    
    /* Remove default space-y and use gap instead */
    footer .flex.flex-col.space-y-4 > * {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    /* Make sure links are visible and properly sized */
    footer a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0.5rem;
        min-height: 44px; /* Touch target size */
    }
}
