/* Dog Theme: article-only design; loaded exclusively on single blog posts. */
.single-post-page { overflow-wrap: break-word; }
.single-post-page .single-article-content-inner { max-width: 820px; }
.single-post-page .single-article-content-inner > *:first-child { margin-top: 0; }
.single-post-page .single-article-content-inner p { line-height: 1.78; }
.single-post-page .single-article-content-inner figure { max-width: 100%; margin: 28px auto; }
.single-post-page .single-article-content-inner figure img { display: block; margin: 0 auto; }
.single-post-page .single-article-content-inner figcaption { margin-top: 8px; font-size: 14px; text-align: center; color: #746c65; }
.single-post-page .single-article-content-inner table { width: 100%; border-collapse: collapse; font-size: 16px; }
.single-post-page .single-article-content-inner th,
.single-post-page .single-article-content-inner td { border: 1px solid #e0dacf; text-align: left; padding: 12px 14px; vertical-align: top; }
.single-post-page .single-article-content-inner th { background: #f7f4ed; color: #302820; }
.single-post-page .single-article-content-inner .wp-block-table,
.single-post-page .single-article-content-inner .table-scroll { overflow-x: auto; max-width: 100%; }
.single-post-page .single-article-content-inner .article-toc { margin-top: 26px; }
.single-post-page .ddc-inline-card { display: grid; grid-template-columns: minmax(0, 132px) minmax(0, 1fr); gap: 20px; align-items: center; margin: 30px 0 38px; padding: 17px; background: #f8f5ee; border: 1px solid #e3ddcf; border-left: 4px solid #667a52; border-radius: 15px; }
.single-post-page .ddc-recommendation-image { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 10px; }
.single-post-page .ddc-recommendation-image img { display: block; margin: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.single-post-page .ddc-recommendation-text { min-width: 0; }
.single-post-page .ddc-recommendation-label,
.single-post-page .ddc-tool-label { color: #526342; font-size: 11px; font-weight: 800; letter-spacing: 1.4px; }
.single-post-page .ddc-recommendation-title { margin: 6px 0 7px; font-size: 20px; font-weight: 800; line-height: 1.3; color: #302820; }
.single-post-page .ddc-recommendation-title a { color: inherit; text-decoration: none; }
.single-post-page .ddc-recommendation-title a:hover { color: #526342; text-decoration: underline; }
.single-post-page .ddc-recommendation-excerpt { margin: 0 0 10px; color: #625c57; font-size: 14px; line-height: 1.6; }
.single-post-page .ddc-recommendation-link { color: #526342; font-size: 14px; font-weight: 800; text-underline-offset: 3px; }
.single-post-page .ddc-tool-promo { margin: 32px 0 40px; padding: 27px 30px; border-radius: 16px; background: #2f4435; color: #fff; }
.single-post-page .ddc-tool-label { color: #d6e4be; }
.single-post-page .ddc-tool-title { margin: 7px 0 8px; color: #fff; font-size: 25px; font-weight: 800; line-height: 1.25; }
.single-post-page .ddc-tool-promo p { margin: 0 0 14px; color: #f0f2ec; font-size: 16px; }
.single-post-page .ddc-tool-promo a { display: inline-block; padding: 11px 17px; border-radius: 8px; background: #fff; color: #2f4435; text-decoration: none; font-weight: 800; font-size: 14px; }
.single-post-page .ddc-tool-promo a:hover { background: #e6efd9; }
.single-post-page .ddc-related-excerpt { margin: 0 0 18px; color: #625c57; font-size: 15px; line-height: 1.65; }
.single-post-page .related-guide-card .related-guide-content h3 { margin-bottom: 12px; }
.single-post-page .related-guide-card .related-guide-content { min-width: 0; }
.single-post-page :is(.ddc-inline-card,.ddc-tool-promo,.related-guide-card) a:focus-visible { outline: 3px solid #8da978; outline-offset: 3px; }
@media (max-width: 600px) {
  .single-post-page .ddc-inline-card { grid-template-columns: 90px minmax(0, 1fr); gap: 13px; padding: 12px; }
  .single-post-page .ddc-recommendation-title { font-size: 16px; }
  .single-post-page .ddc-recommendation-excerpt { font-size: 13px; }
  .single-post-page .ddc-tool-promo { padding: 22px 20px; }
  .single-post-page .ddc-tool-title { font-size: 22px; }
  .single-post-page .single-article-content-inner table { font-size: 14px; }
  .single-post-page .single-article-content-inner td,
  .single-post-page .single-article-content-inner th { padding: 9px 10px; }
}
@media (max-width: 390px) {
  .single-post-page .ddc-inline-card { grid-template-columns: 1fr; }
  .single-post-page .ddc-recommendation-image { max-height: 170px; aspect-ratio: 16 / 9; }
}
