/* ============================================================
   t-blocks.css — CSS BASE dos blocos do catalogo Tecna CMS.
   Gerado pelo `tecna-cms views pull` (create-if-missing): este arquivo e SEU —
   personalize a vontade (ou defina as variaveis --t-* no seu CSS para tematizar).
   ============================================================ */
.t-block { padding: var(--t-block-pad, 4rem 0); }
.t-block .container { max-width: var(--t-container, 1140px); margin: 0 auto; padding: 0 1.25rem; }
.t-block__titulo {
  color: var(--t-heading, #1a202c);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.15;
  margin: 0 0 1.25rem;
}
.t-block__subtitulo { color: var(--t-muted, #64748b); font-size: 1.1rem; margin: 0 0 1.25rem; }
.t-block__texto { color: var(--t-text, #334155); line-height: 1.7; }
.t-block.text-center { text-align: center; }
.t-block.text-left { text-align: left; }
.t-block.text-right { text-align: right; }

/* Destaque (hero) */
.t-block--hero { padding: var(--t-hero-pad, 6rem 0); }
.t-block--hero h1.t-block__titulo { font-size: clamp(2rem, 5vw, 3.25rem); }

/* Secao (fundos + 1/2 colunas) */
.t-block--bg-neutro { background: var(--t-bg-neutro, #f5f6f8); }
.t-block--bg-escuro { background: var(--t-bg-escuro, #10151c); }
.t-block--bg-escuro .t-block__titulo,
.t-block--bg-escuro .t-block__texto,
.t-block--bg-escuro .t-block__subtitulo { color: #fff; }
.t-block--section .t-block__row { display: grid; gap: 2rem; grid-template-columns: 1fr 1fr; align-items: center; }
.t-block--section .t-block__imagem,
.t-block--section .t-block__col img { width: 100%; border-radius: var(--t-radius, 0.75rem); display: block; }
.t-block--2col-img-dir .t-block__col--img { order: 2; }
@media (max-width: 900px) { .t-block--section .t-block__row { grid-template-columns: 1fr; } }

/* Texto rico (larguras) */
.t-block--texto-rico.t-block--estreito .container { max-width: 720px; }
.t-block--texto-rico.t-block--largo .container { max-width: 1400px; }

/* Imagem isolada */
.t-block--imagem img { max-width: 100%; border-radius: var(--t-radius, 0.75rem); }
.t-block--imagem figcaption { color: var(--t-muted, #64748b); font-size: 0.9rem; margin-top: 0.5rem; }

/* Galeria (grade responsiva) */
.t-block--galeria .t-block__grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.t-block--galeria.t-block--cols-2 .t-block__grid { grid-template-columns: repeat(2, 1fr); }
.t-block--galeria.t-block--cols-4 .t-block__grid { grid-template-columns: repeat(4, 1fr); }
.t-block--galeria .t-block__item { margin: 0; }
.t-block--galeria .t-block__item img {
  width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  border-radius: var(--t-radius, 0.75rem); display: block;
}
@media (max-width: 900px) { .t-block--galeria .t-block__grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .t-block--galeria .t-block__grid { grid-template-columns: 1fr !important; } }

/* CTA */
.t-block--cta { background: var(--t-bg-neutro, #f5f6f8); }
.t-block__cta {
  display: inline-block; margin-top: 1rem; padding: 0.8rem 2rem;
  background: var(--t-accent, #2563eb); color: #fff; border-radius: var(--t-radius-btn, 999px);
  font-weight: 600; text-decoration: none;
}
.t-block__cta:hover { filter: brightness(0.9); }

/* Divisor */
.t-block--divisor { padding: 1.25rem 0; }
.t-block__hr { border: 0; border-top: 1px solid var(--t-border, #e2e8f0); margin: 0; }
.t-block--linha-dupla .t-block__hr { border-top-style: double; border-top-width: 3px; }
.t-block--pontilhada .t-block__hr { border-top-style: dotted; }
.t-block--cor-destaque .t-block__hr { border-top-color: var(--t-accent, #2563eb); }
