/* Dawson Blog / Articles Styling */

/* Main Astra overrides */
body.blog,
body.single-post,
body.archive {
  background: #FBF7EF !important;
}

body.blog #content,
body.single-post #content,
body.archive #content,
body.blog .site-content,
body.single-post .site-content,
body.archive .site-content {
  background:
    linear-gradient(rgba(251, 247, 239, 0.84), rgba(251, 247, 239, 0.94)),
    url("https://dawsonnuccacare.com/wp-content/uploads/2026/07/Soft_clinical_nature_realism_calm_Lake_Isabella_inspired_mountain_lake_landscape.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: scroll !important;
  min-height: 100vh !important;
}

body.blog .ast-container,
body.single-post .ast-container,
body.archive .ast-container,
body.blog .site-content .ast-container,
body.single-post .site-content .ast-container,
body.archive .site-content .ast-container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  display: block !important;
}

body.blog #primary,
body.single-post #primary,
body.archive #primary,
body.blog .content-area,
body.single-post .content-area,
body.archive .content-area {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.single-post .entry-header,
body.single-post .post-navigation,
body.single-post .comments-area,
body.single-post .ast-single-post-order,
body.single-post .ast-post-format- {
  display: none !important;
}

/* Page wrappers */
.dawson-blog-page,
.dawson-single-post-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #183247 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
}

.dawson-blog-page *,
.dawson-single-post-page * {
  box-sizing: border-box;
}

/* Shared hero */
.dawson-blog-hero,
.dawson-single-hero {
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(
      90deg,
      rgba(251, 247, 239, 0.94) 0%,
      rgba(251, 247, 239, 0.82) 44%,
      rgba(251, 247, 239, 0.52) 100%
    ),
    url("https://dawsonnuccacare.com/wp-content/uploads/2026/07/Soft_clinical_nature_realism_calm_Lake_Isabella_inspired_mountain_lake_landscape.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  border-bottom: 1px solid rgba(185, 144, 84, 0.18) !important;
}

.dawson-blog-hero::after,
.dawson-single-hero::after {
  content: "" !important;
  position: absolute !important;
  right: -90px !important;
  top: -120px !important;
  width: 420px !important;
  height: 420px !important;
  background-image: url("https://dawsonnuccacare.com/wp-content/uploads/2026/07/Dawson_icon_gold.png") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  opacity: 0.075 !important;
  pointer-events: none !important;
}

.dawson-blog-hero-inner,
.dawson-single-hero-inner {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 86px 70px 76px !important;
  position: relative !important;
  z-index: 2 !important;
}

.dawson-blog-eyebrow,
.dawson-single-eyebrow {
  margin: 0 0 22px !important;
  color: #9A6F35 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.dawson-blog-hero h1,
.dawson-single-hero h1 {
  max-width: 980px !important;
  margin: 0 0 22px !important;
  color: #183247 !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: clamp(42px, 5vw, 76px) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
}

.dawson-blog-hero h1 span,
.dawson-single-hero h1 span {
  color: #1E6F7A !important;
}

.dawson-blog-hero p,
.dawson-single-hero p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #263238 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.58 !important;
}

/* Blog archive */
.dawson-blog-inner {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 64px 70px 96px !important;
}

.dawson-blog-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

.dawson-blog-grid:has(.dawson-blog-card:only-child) {
  grid-template-columns: minmax(0, 430px) !important;
  justify-content: start !important;
}

.dawson-blog-card {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  background: rgba(251, 247, 239, 0.90) !important;
  border: 1px solid rgba(185, 144, 84, 0.24) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 42px rgba(24, 50, 71, 0.08) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  backdrop-filter: blur(4px) !important;
}

.dawson-blog-card-image {
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  background: #E3D9CA !important;
  overflow: hidden !important;
  display: block !important;
}

.dawson-blog-card-image img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}

.dawson-blog-card-content {
  padding: 26px 26px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.dawson-blog-category {
  margin: 0 0 14px !important;
  color: #9A6F35 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.dawson-blog-card h2 {
  margin: 0 0 14px !important;
  color: #183247 !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: clamp(25px, 2vw, 32px) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.dawson-blog-card h2 a {
  color: inherit !important;
  text-decoration: none !important;
}

.dawson-blog-card h2 a:hover,
.dawson-blog-card h2 a:focus {
  color: #1E6F7A !important;
}

.dawson-blog-excerpt,
.dawson-blog-excerpt p {
  margin: 0 0 24px !important;
  color: #4B5A63 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.58 !important;
}

.dawson-blog-read-more {
  width: fit-content !important;
  margin-top: auto !important;
  color: #1E6F7A !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.dawson-blog-read-more:hover,
.dawson-blog-read-more:focus {
  color: #B99054 !important;
}

.dawson-blog-empty {
  max-width: 840px !important;
  padding: 38px !important;
  background: rgba(251, 247, 239, 0.90) !important;
  border: 1px solid rgba(185, 144, 84, 0.24) !important;
  border-radius: 12px !important;
  box-shadow: 0 18px 42px rgba(24, 50, 71, 0.08) !important;
}

/* Pagination */
.dawson-blog-pagination {
  margin-top: 54px !important;
  display: flex !important;
  justify-content: center !important;
}

.dawson-blog-pagination .nav-links {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.dawson-blog-pagination a,
.dawson-blog-pagination span {
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(185, 144, 84, 0.30) !important;
  color: #183247 !important;
  background: rgba(251, 247, 239, 0.78) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dawson-blog-pagination .current,
.dawson-blog-pagination a:hover {
  background: #1E6F7A !important;
  border-color: #1E6F7A !important;
  color: #ffffff !important;
}

/* Single post */
.dawson-single-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 72px 70px 96px !important;
}

.dawson-single-featured {
  width: 100% !important;
  margin: 0 0 46px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 22px 54px rgba(24, 50, 71, 0.10) !important;
  border: 1px solid rgba(185, 144, 84, 0.22) !important;
}

.dawson-single-featured img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.dawson-single-content {
  padding: 54px 60px !important;
  background: rgba(251, 247, 239, 0.92) !important;
  border: 1px solid rgba(185, 144, 84, 0.22) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 42px rgba(24, 50, 71, 0.08) !important;
}

.dawson-single-content,
.dawson-single-content p,
.dawson-single-content li {
  color: #263238 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 19px !important;
  line-height: 1.75 !important;
}

.dawson-single-content p {
  margin: 0 0 24px !important;
}

.dawson-single-content h2,
.dawson-single-content h3,
.dawson-single-content h4 {
  margin: 42px 0 18px !important;
  color: #183247 !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.dawson-single-content h2 {
  font-size: clamp(31px, 3vw, 44px) !important;
}

.dawson-single-content h3 {
  font-size: clamp(26px, 2.4vw, 34px) !important;
}

.dawson-single-content a {
  color: #1E6F7A !important;
  font-weight: 700 !important;
}

.dawson-single-content blockquote {
  margin: 36px 0 !important;
  padding: 26px 30px !important;
  border-left: 4px solid #B99054 !important;
  background: rgba(185, 144, 84, 0.08) !important;
  color: #183247 !important;
}

/* WordPress button inside posts */
.dawson-single-content .wp-block-button {
  margin: 34px 0 0 !important;
}

.dawson-single-content .wp-block-button__link {
  padding: 17px 30px !important;
  background: #1E6F7A !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.dawson-single-content .wp-block-button__link:hover,
.dawson-single-content .wp-block-button__link:focus {
  background: #B99054 !important;
  color: #ffffff !important;
}

/* Single post CTA */
.dawson-post-cta {
  margin-top: 54px !important;
  padding: 44px 46px !important;
  background: #183247 !important;
  border-radius: 12px !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 34px !important;
  position: relative !important;
  overflow: hidden !important;
}

.dawson-post-cta::after {
  content: "" !important;
  position: absolute !important;
  right: -120px !important;
  top: -140px !important;
  width: 360px !important;
  height: 360px !important;
  background: radial-gradient(circle, rgba(185, 144, 84, 0.16), transparent 70%) !important;
  border-radius: 50% !important;
}

.dawson-post-cta > * {
  position: relative !important;
  z-index: 2 !important;
}

.dawson-post-cta h2 {
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.14 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.dawson-post-cta p {
  max-width: 650px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.dawson-post-cta-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  flex: 0 0 auto !important;
}

.dawson-post-btn {
  width: fit-content !important;
  max-width: 100% !important;
  padding: 17px 30px !important;
  border-radius: 4px !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dawson-post-btn.primary {
  background: #B99054 !important;
  color: #ffffff !important;
  border: 1px solid #B99054 !important;
}

.dawson-post-btn.secondary {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(231, 240, 243, 0.48) !important;
}

.dawson-post-btn:hover,
.dawson-post-btn:focus {
  background: #1E6F7A !important;
  border-color: #1E6F7A !important;
  color: #ffffff !important;
}

/* Related posts */
.dawson-related-posts {
  margin-top: 62px !important;
}

.dawson-related-posts h2 {
  margin: 0 0 28px !important;
  color: #183247 !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.14 !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
}

.dawson-related-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.dawson-related-card {
  padding: 28px !important;
  background: rgba(251, 247, 239, 0.90) !important;
  border: 1px solid rgba(185, 144, 84, 0.22) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 14px 34px rgba(24, 50, 71, 0.06) !important;
}

.dawson-related-card span {
  display: block !important;
  margin: 0 0 12px !important;
  color: #9A6F35 !important;
  font-family: "Source Sans 3", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.dawson-related-card strong {
  color: #183247 !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: 24px !important;
  line-height: 1.22 !important;
  font-weight: 500 !important;
}

.dawson-related-card:hover strong,
.dawson-related-card:focus strong {
  color: #1E6F7A !important;
}

/* Responsive */
@media (max-width: 1100px) {
  .dawson-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dawson-blog-grid:has(.dawson-blog-card:only-child) {
    grid-template-columns: minmax(0, 460px) !important;
  }

  .dawson-post-cta {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

@media (max-width: 900px) {
  .dawson-blog-hero-inner,
  .dawson-single-hero-inner,
  .dawson-blog-inner,
  .dawson-single-wrap {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  .dawson-related-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  .dawson-blog-grid,
  .dawson-blog-grid:has(.dawson-blog-card:only-child) {
    grid-template-columns: 1fr !important;
  }

  .dawson-single-content {
    padding: 38px 28px !important;
  }

  .dawson-post-cta {
    padding: 34px 24px !important;
  }

  .dawson-post-btn {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 600px) {
  .dawson-blog-hero-inner,
  .dawson-single-hero-inner {
    padding: 62px 24px 58px !important;
  }

  .dawson-blog-inner,
  .dawson-single-wrap {
    padding: 54px 24px 70px !important;
  }

  .dawson-blog-hero h1,
  .dawson-single-hero h1 {
    font-size: 40px !important;
    line-height: 1.1 !important;
  }

  .dawson-blog-hero p,
  .dawson-single-hero p {
    font-size: 18px !important;
  }

  .dawson-single-content,
  .dawson-single-content p,
  .dawson-single-content li {
    font-size: 18px !important;
  }
}
