/* Blog do Catarata Center. Camada do repo: usa os tokens do style.css e as classes page-hero, footer e nav. */

.artigo { max-width: 72ch; }
.artigo__meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .875rem; color: #737373; margin-top: 1.5rem; }
.artigo__figure { margin: 0 0 2.5rem; border-radius: 16px; overflow: hidden; border: 1px solid #f2f2f2; }
.artigo__figure img { width: 100%; height: auto; display: block; }
.artigo__figure figcaption { font-size: .8125rem; color: #737373; padding: .625rem .875rem; background: #f8f8f8; }
.artigo p, .artigo li { font-size: 1.0625rem; line-height: 1.75; color: #525252; }
.artigo p { margin-bottom: 1.25rem; }
.artigo h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.75rem; font-weight: 600; line-height: 1.2; color: #171717; margin: 3rem 0 1rem; text-wrap: balance; }
.artigo h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; font-weight: 600; line-height: 1.3; color: #171717; margin: 2rem 0 .75rem; }
.artigo ul { margin: 0 0 1.5rem 1.25rem; }
.artigo li { margin-bottom: .5rem; }
.artigo a { color: var(--teal, #1a7f7f); text-decoration: underline; text-underline-offset: 3px; }
.artigo a:hover { color: var(--teal-dark, #145f5f); }
.artigo strong { color: #262626; font-weight: 600; }

.artigo__cta { margin: 3rem 0; padding: clamp(1.5rem, 4vw, 2.25rem); background: var(--teal-light, #e8f4f4); border-radius: 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.artigo__cta p { margin: 0; color: #262626; font-size: 1.0625rem; max-width: 34rem; }
.artigo__cta-acoes { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.artigo__cta .btn { white-space: nowrap; }
.artigo__cta-tel { font-size: .9375rem; color: var(--teal, #1a7f7f); font-weight: 500; text-decoration: none; }

.artigo__faq { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #f2f2f2; }
.artigo__faq h3 { margin-top: 1.5rem; font-size: 1.125rem; }
.artigo__faq p { margin-bottom: 1rem; }

.artigo__fonte { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #f2f2f2; font-size: .875rem; color: #737373; }
.artigo__fonte p { font-size: .875rem; color: #737373; margin-bottom: .5rem; }

.leia-tambem { margin-top: 3.5rem; }
.leia-tambem h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.5rem; font-weight: 600; color: #171717; margin-bottom: 1.25rem; }
.leia-tambem ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.leia-tambem a { display: block; padding: 1rem 1.25rem; border: 1px solid #f2f2f2; border-radius: 12px; color: #262626; font-weight: 500; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.leia-tambem a:hover { border-color: var(--teal, #1a7f7f); color: var(--teal, #1a7f7f); }
.leia-tambem small { display: block; font-weight: 400; color: #737373; margin-top: .25rem; font-size: .875rem; }

/* Lista do blog */
.blog-lista { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.blog-card { display: flex; flex-direction: column; border: 1px solid #f2f2f2; border-radius: 16px; overflow: hidden; background: #fff; transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s cubic-bezier(.4,0,.2,1); }
.blog-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,.06); }
.blog-card__img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; height: auto; display: block; }
.blog-card__body { padding: 1.5rem; display: flex; flex-direction: column; gap: .75rem; flex: 1; }
.blog-card__tag { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--teal, #1a7f7f); }
.blog-card__title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; font-weight: 600; line-height: 1.3; color: #171717; }
.blog-card__title a { color: inherit; text-decoration: none; }
.blog-card__title a:hover { color: var(--teal, #1a7f7f); }
.blog-card__desc { font-size: .9375rem; line-height: 1.6; color: #525252; flex: 1; }
.blog-card__meta { font-size: .8125rem; color: #737373; }

@media (max-width: 600px) {
  .artigo h2 { font-size: 1.5rem; }
  .artigo__cta { flex-direction: column; align-items: flex-start; }
}
