/* ===========================================
   SHADCN-INSPIRED DESIGN SYSTEM - GLOBAL
   Applied to all pages: FAQ, Blog, etc.
   =========================================== */

/* CSS Variables - shadcn color palette */
:root {
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  --card: 0 0% 100%;
  --card-foreground: 222.2 84% 4.9%;
  --primary: 221.2 83.2% 53.3%;
  --primary-foreground: 210 40% 98%;
  --secondary: 210 40% 96%;
  --secondary-foreground: 222.2 84% 4.9%;
  --muted: 210 40% 96%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --accent: 210 40% 96%;
  --accent-foreground: 222.2 84% 4.9%;
  --border: 214.3 31.8% 91.4%;
  --input: 214.3 31.8% 91.4%;
  --ring: 221.2 83.2% 53.3%;
  --radius: 0.5rem;
}

/* Modern typography - shadcn inspired */
body {
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif !important;
  line-height: 1.6 !important;
  color: hsl(var(--foreground)) !important;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  color: hsl(var(--foreground)) !important;
}

h1 { font-size: 2.25rem !important; }
h2 { font-size: 1.875rem !important; }
h3 { font-size: 1.5rem !important; }
h4 { font-size: 1.25rem !important; }
h5 { font-size: 1.125rem !important; }
h6 { font-size: 1rem !important; }

/* Card components - shadcn style for FAQ and content blocks */
.wp-block-group,
.wp-block-columns .wp-block-column {
  border-radius: var(--radius) !important;
  border: 1px solid hsl(var(--border)) !important;
  background-color: hsl(var(--card)) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  transition: box-shadow 0.2s ease-in-out !important;
}

.wp-block-group:hover,
.wp-block-columns .wp-block-column:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Button styles - shadcn inspired */
.wp-block-button__link {
  border-radius: var(--radius) !important;
  font-weight: 500 !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
  padding: 0.5rem 1rem !important;
}

.wp-block-button__link:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  border: 1px solid hsl(var(--border)) !important;
  color: hsl(var(--foreground)) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: hsl(var(--accent)) !important;
}

/* FAQ specific styling */
.entry-content ul,
.entry-content ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1rem !important;
}

.entry-content li {
  margin-bottom: 0.5rem !important;
  line-height: 1.6 !important;
}

.entry-content strong {
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
}

/* Blog post styling */
.single .entry-content {
  max-width: 800px !important;
  margin: 0 auto !important;
}

.single .entry-content p {
  margin-bottom: 1.25rem !important;
  line-height: 1.7 !important;
}

.single .entry-content blockquote {
  border-left: 4px solid hsl(var(--primary)) !important;
  padding-left: 1.5rem !important;
  margin: 2rem 0 !important;
  font-style: italic !important;
  color: hsl(var(--muted-foreground)) !important;
}

.single .entry-content code {
  background-color: hsl(var(--muted)) !important;
  padding: 0.125rem 0.375rem !important;
  border-radius: calc(var(--radius) / 2) !important;
  font-size: 0.875em !important;
}

.single .entry-content pre {
  background-color: hsl(var(--muted)) !important;
  padding: 1rem !important;
  border-radius: var(--radius) !important;
  overflow-x: auto !important;
  margin: 1.5rem 0 !important;
}

/* Modern header styling */
.site-header {
  backdrop-filter: blur(8px) !important;
  background-color: rgba(255, 255, 255, 0.9) !important;
  border-bottom: 1px solid hsl(var(--border)) !important;
}

.main-navigation a {
  font-weight: 500 !important;
  transition: color 0.2s ease-in-out !important;
}

.main-navigation a:hover {
  color: hsl(var(--primary)) !important;
}

/* Entry header styling */
.entry-header {
  margin-bottom: 2rem !important;
}

.entry-title {
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 0.5rem !important;
}

/* Content area spacing */
.content-area {
  padding: 2rem 0 !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  h1 { font-size: 1.875rem !important; }
  h2 { font-size: 1.5rem !important; }
  h3 { font-size: 1.25rem !important; }
  
  .wp-block-group,
  .wp-block-columns .wp-block-column {
    padding: 1rem !important;
  }
}

/* Accordion/FAQ specific (if using accordion blocks) */
.wp-block-group.has-background {
  background-color: hsl(var(--accent)) !important;
}

/* List styling improvements */
.entry-content ul li::marker {
  color: hsl(var(--primary)) !important;
}

.entry-content ol li::marker {
  color: hsl(var(--primary)) !important;
  font-weight: 600 !important;
}

/* Link styling */
.entry-content a {
  color: hsl(var(--primary)) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  transition: color 0.2s ease-in-out !important;
}

.entry-content a:hover {
  color: hsl(221.2 83.2% 46.3%) !important;
}

/* Image styling */
.entry-content img {
  border-radius: var(--radius) !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
  margin: 1.5rem 0 !important;
}

/* Separator styling */
.entry-content hr {
  border: none !important;
  border-top: 1px solid hsl(var(--border)) !important;
  margin: 2rem 0 !important;
}

/* Blog archive styling */
.archive .entry-content,
.blog .entry-content {
  max-width: 800px !important;
  margin: 0 auto !important;
}

/* Post meta styling */
.entry-meta {
  color: hsl(var(--muted-foreground)) !important;
  font-size: 0.875rem !important;
  margin-bottom: 1rem !important;
}

.entry-meta a {
  color: hsl(var(--primary)) !important;
  text-decoration: none !important;
}

.entry-meta a:hover {
  text-decoration: underline !important;
}

/* Post excerpt styling */
.entry-summary {
  color: hsl(var(--muted-foreground)) !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}

/* Read more link */
.entry-content .more-link,
.entry-summary .more-link {
  display: inline-flex !important;
  align-items: center !important;
  color: hsl(var(--primary)) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  margin-top: 1rem !important;
  transition: color 0.2s ease-in-out !important;
}

.entry-content .more-link:hover,
.entry-summary .more-link:hover {
  color: hsl(221.2 83.2% 46.3%) !important;
  text-decoration: underline !important;
}

/* Post navigation */
.post-navigation {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid hsl(var(--border)) !important;
}

.post-navigation a {
  color: hsl(var(--primary)) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.post-navigation a:hover {
  text-decoration: underline !important;
}

/* Comments section styling */
.comments-area {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid hsl(var(--border)) !important;
}

.comment {
  padding: 1.5rem !important;
  margin-bottom: 1.5rem !important;
  background-color: hsl(var(--card)) !important;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: var(--radius) !important;
}

.comment-author {
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
}

.comment-meta {
  color: hsl(var(--muted-foreground)) !important;
  font-size: 0.875rem !important;
}

.comment-content {
  margin-top: 0.75rem !important;
  line-height: 1.6 !important;
}

/* Table styling */
.entry-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1.5rem 0 !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
}

.entry-content table th {
  background-color: hsl(var(--muted)) !important;
  padding: 0.75rem 1rem !important;
  text-align: left !important;
  font-weight: 600 !important;
  color: hsl(var(--foreground)) !important;
}

.entry-content table td {
  padding: 0.75rem 1rem !important;
  border-top: 1px solid hsl(var(--border)) !important;
}

.entry-content table tr:hover {
  background-color: hsl(var(--accent)) !important;
}
