/* =========================================================================
   Top Dental Care — Blog (archivo /blog + posts individuales)
   Estiliza el output de Astra con la marca. Tokens de main.css.
   ========================================================================= */

.blog #primary,
.single-post #primary,
.archive #primary { padding-block: clamp(36px, 5vw, 72px); }

/* ---------- Título del archivo ---------- */
.ast-archive-description,
.blog .ast-archive-description { text-align: center; margin-bottom: 2rem; }
.ast-archive-title { font-family: var(--td-font-head); color: var(--td-ink); }

/* ---------- Tarjetas del archivo ---------- */
.blog article.post,
.archive article.post {
	background: #fff; border: 1px solid var(--td-line); border-radius: var(--td-radius);
	overflow: hidden; box-shadow: var(--td-shadow-sm);
	transition: transform .3s ease, box-shadow .3s ease; margin-bottom: 2rem;
}
.blog article.post:hover,
.archive article.post:hover { transform: translateY(-4px); box-shadow: var(--td-shadow); }
.blog .ast-post-thumbnail-wrap img,
.blog .post-thumb img,
.archive .ast-post-thumbnail-wrap img { width: 100%; height: clamp(200px, 26vw, 300px); object-fit: cover; display: block; }
.blog .ast-article-post .blog-layout-1,
.blog .entry-header,
.blog .entry-content,
.blog .entry-meta,
.blog .read-more { padding-inline: clamp(1rem, 3vw, 1.8rem); }
.blog .entry-title,
.archive .entry-title { font-size: clamp(1.3rem, 2.4vw, 1.7rem); margin-top: 1rem; }
.entry-title a { color: var(--td-ink); text-decoration: none; }
.entry-title a:hover { color: var(--td-primary); text-decoration: none; }
.ast-blog-single-element.ast-terms-link a,
.cat-links a, .entry-meta a { color: var(--td-primary); }
.read-more a,
.blog .read-more a {
	display: inline-block; background: var(--td-primary); color: #fff !important;
	padding: .55rem 1.2rem; border-radius: 999px; font-weight: 600; text-decoration: none;
	margin-bottom: 1.4rem; transition: background-color .25s ease, transform .25s ease;
}
.read-more a:hover { background: var(--td-primary-dark); transform: translateY(-2px); }

/* ---------- Post individual ---------- */
.single-post .entry-header { text-align: center; max-width: 800px; margin: 0 auto 1.4rem; }
.single-post .entry-title { font-size: clamp(1.9rem, 4vw, 2.8rem); }
.single-post .post-thumbnail img,
.single-post .ast-single-post-featured-section img { border-radius: var(--td-radius-lg); box-shadow: var(--td-shadow); margin-bottom: 2rem; max-height: 460px; width: 100%; object-fit: cover; }
.single-post .entry-content { max-width: 760px; margin-inline: auto; font-size: 1.06rem; line-height: 1.8; }
.single-post .entry-content h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 2rem 0 .6rem; }
.single-post .entry-content h3 { color: var(--td-primary); font-size: 1.2rem; margin: 1.6rem 0 .4rem; }
.single-post .entry-content p { margin: 0 0 1.1rem; color: var(--td-ink); }
.single-post .entry-content em { color: #8892a0; }

/* CTA al final del post */
.td-post-cta { max-width: 760px; margin: 2.4rem auto 0; background: linear-gradient(135deg, var(--td-primary), var(--td-primary-dark)); color: #fff; border-radius: var(--td-radius-lg); padding: 1.8rem; text-align: center; }
.td-post-cta h3 { color: #fff; margin: 0 0 .4rem; }
.td-post-cta p { color: rgba(255,255,255,.9); margin: 0 0 1rem; }
.td-post-cta a { display: inline-block; background: #25D366; color: #062b16; font-weight: 700; padding: .8rem 1.5rem; border-radius: 999px; text-decoration: none; }
