/*
Theme Name: Hello Elementor Child (Caldarium)
Theme URI: https://caldarium.org/
Description: Custom Caldarium child theme for Hello Elementor providing seamless header, footer, dark theme tokens, and blog templates.
Author: Caldarium
Author URI: https://caldarium.org/
Template: hello-elementor
Version: 1.0.0
*/

/* Blog Content & Layout Adjustments */
html[data-theme="dark"] {
  background-color: var(--white);
  color-scheme: dark;
}

body {
  margin: 0;
  background-color: var(--white);
  color: var(--text-default);
  font-family: 'Nunito Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Header Links Hover */
.caldarium-header-nav a {
  transition: color 0.2s, border-bottom-color 0.2s;
}
.caldarium-header-nav a:hover {
  color: var(--accent-deep) !important;
  border-bottom-color: var(--accent-deep) !important;
}

/* Header CTA Button Hover */
.caldarium-header-cta {
  transition: background 0.2s, transform 0.2s;
}
.caldarium-header-cta:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-1px);
}

/* Prefooter & Footer Navigation Links Hover */
.caldarium-footer-nav a:hover,
.caldarium-contact-link:hover {
  color: var(--accent-deep) !important;
}

/* Social Media Button Hover */
.caldarium-social-btn {
  transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}
.caldarium-social-btn:hover {
  background: var(--accent-wash) !important;
  border-color: var(--accent-mid) !important;
  color: var(--accent-deep) !important;
  transform: translateY(-2px);
}

/* Blog Cards Hover */
.caldarium-blog-card {
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.25s, box-shadow 0.25s;
}
.caldarium-blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--accent-mid) !important;
  box-shadow: 0 16px 32px -12px rgba(var(--accent-rgb), 0.12);
}

/* Blog Typography & Gutenberg Article Styling */
.caldarium-blog-content h1,
.caldarium-blog-content h2,
.caldarium-blog-content h3,
.caldarium-blog-content h4 {
  font-family: 'Jost', sans-serif;
  color: var(--text-heading);
  letter-spacing: -0.02em;
  margin-top: 1.8em;
  margin-bottom: 0.6em;
  line-height: 1.25;
}

.caldarium-blog-content p {
  color: var(--text-body);
  line-height: 1.8;
  font-size: 17px;
  margin-bottom: 1.6em;
}

.caldarium-blog-content a {
  color: var(--accent-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s;
}
.caldarium-blog-content a:hover {
  color: var(--accent-deep-hover);
}

.caldarium-blog-content blockquote {
  margin: 2em 0;
  padding: 18px 24px;
  border-left: 3px solid var(--accent);
  background: var(--surface-1);
  color: var(--text-heading);
  font-style: italic;
  border-radius: 0 12px 12px 0;
}

.caldarium-blog-content ul,
.caldarium-blog-content ol {
  color: var(--text-body);
  line-height: 1.8;
  font-size: 17px;
  padding-left: 24px;
  margin-bottom: 1.6em;
}

.caldarium-blog-content img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  border: 1px solid var(--border);
  margin: 2em 0;
}

.caldarium-blog-content pre,
.caldarium-blog-content code {
  font-family: 'IBM Plex Mono', monospace;
  background: var(--surface-1);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-heading);
}

.caldarium-blog-content code {
  padding: 3px 6px;
  font-size: 0.9em;
}

.caldarium-blog-content pre {
  padding: 16px 20px;
  overflow-x: auto;
}

/* Responsive Media Queries */
@media (max-width: 1020px) {
  .caldarium-header-nav {
    display: none !important;
  }
}

@media (max-width: 840px) {
  .prefooter-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

@media (max-width: 480px) {
  .caldarium-header-container {
    padding: 0 16px !important;
    gap: 14px !important;
  }
  .caldarium-header-logo {
    height: 30px !important;
    max-width: 52vw !important;
  }
  .caldarium-header-cta {
    font-size: 10px !important;
    padding: 10px 12px !important;
  }
}
