/*
Theme Name: Grupo Trenge
Theme URI: https://grupotrenge.com.br
Description: Tema do site institucional do Grupo Trenge. Todo o conteúdo é editado pelo editor de blocos do WordPress.
Author: Grupo Trenge
Version: 0.3.1
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: grupotrenge
*/

:root { --gt-ardosia:#313e47; --gt-marinho:#061928; --gt-tinta:#0f2233; --gt-linha:#d9dee2; --gt-foco:#c9782b; }

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 3px solid var(--gt-foco); outline-offset: 3px; }
.has-text-align-center { text-align: center; }

/* Espaçamento entre blocos de nível superior: zero (as seções cuidam do próprio respiro) */
.wp-site-blocks > * + * { margin-block-start: 0; }
.gt-conteudo > .alignfull, .gt-conteudo > * { margin-block-start: 0; }
.gt-conteudo > .alignfull + .alignfull { margin-block-start: 0; }

/* ---------- Topo ---------- */
.wp-site-blocks > header { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }
.gt-topo { background: #f3f5f4; border-bottom: 1px solid rgba(15,34,51,.06); padding: .75rem 1.5rem; }
.gt-topo .gt-logo { margin: 0; }
.gt-topo .gt-logo img { height: 60px; width: auto; }
.gt-nav .wp-block-navigation-item__content {
  text-transform: uppercase; font-size: .875rem; letter-spacing: .02em; color: var(--gt-tinta);
  padding: .5rem 0; border-bottom: 2px solid transparent; text-decoration: none;
}
.gt-nav .wp-block-navigation-item__content:hover { border-bottom-color: var(--gt-tinta); }
.gt-nav.wp-block-navigation { gap: 2.25rem; }
.wp-block-navigation__responsive-container-open { color: var(--gt-tinta); }

/* ---------- Botões ---------- */
.wp-block-button__link { text-transform: uppercase; letter-spacing: .02em; text-decoration: none; }
.wp-block-button.is-style-outline .wp-block-button__link {
  border: 1.5px solid var(--gt-tinta); color: var(--gt-tinta); background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--gt-tinta); color: #fff; }

/* ---------- Hero ---------- */
.gt-hero { padding: 6rem 1.5rem 10rem; text-align: center; }
.gt-hero .wp-block-cover__inner-container > * { max-width: 46rem; margin-inline: auto; }
.gt-hero .wp-block-cover__background { background-image: linear-gradient(rgba(6,25,40,.15), rgba(6,25,40,.05)); }
.gt-hero__marca { font-size: 1.75rem; margin: 0; }
.gt-hero h1 { font-size: clamp(2.2rem, 5.2vw, 3.4rem); font-weight: 500; line-height: 1.15; margin: .25rem auto 1.5rem; color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.gt-hero__sub { font-size: clamp(1.05rem, 2vw, 1.25rem); margin-bottom: 2.25rem; text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.gt-hero .wp-block-buttons { margin-bottom: 0; }

/* ---------- Seções ---------- */
.gt-secao { padding: 5rem 1.5rem; }
.gt-secao__titulo { font-size: clamp(1.6rem, 3vw, 2rem); margin: 0 0 2.5rem; }
.gt-secao h2.gt-secao__titulo { color: var(--gt-tinta); }
.gt-secao.has-ardosia-background-color h2, .gt-secao.has-ardosia-background-color h3 { color: #fff; }
.gt-cards { gap: 1.75rem; margin-bottom: 0; }

/* Faixa que sobrepõe o hero */
.gt-grupo { padding-top: 0; display: flow-root; }
.gt-grupo > .gt-destaque {
  margin-top: -6rem !important; position: relative; z-index: 2;
  padding: 2.75rem 2rem; border-radius: 8px; box-shadow: 0 14px 34px rgba(6,25,40,.22); text-align: center;
}
.gt-destaque h2 { color: #fff; font-size: clamp(1.6rem, 3.4vw, 2.1rem); margin: 0 0 .5rem; }
.gt-destaque p { font-size: 1.1rem; margin: 0; opacity: .92; }

/* ---------- Quem somos ---------- */
.gt-quem { margin-top: 4rem; gap: 3rem; margin-bottom: 0; }
.gt-quem__foto img { border-radius: 10px; width: 100%; }
.gt-rotulo { font-size: .95rem; text-transform: uppercase; letter-spacing: .03em; color: var(--gt-ardosia); margin: 0 0 .5rem; }
.gt-quem h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0 0 1rem; }

/* ---------- Soluções e empresas ---------- */
.gt-solucao__foto { margin: 0 0 1.1rem; }
.gt-solucao__foto img { border-radius: 8px; width: 100%; }
.gt-solucao h3 { font-size: 1.1rem; text-transform: uppercase; margin: 0 0 .4rem; }
.gt-solucao p { font-size: .95rem; margin: 0 0 .9rem; }
.gt-seta, .gt-seta a { font-weight: 700; font-size: .95rem; color: inherit; text-decoration: none; }
.gt-seta a:hover { text-decoration: underline; text-underline-offset: 4px; }
.gt-empresa { padding: 1.75rem; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; }
.gt-empresa h3 { font-size: 1.3rem; margin: 0 0 .5rem; }
.gt-empresa p { margin: 0 0 1.1rem; }

/* ---------- Notícias ---------- */
.gt-noticias .wp-block-post-template { gap: 1.75rem; }
.gt-noticias .wp-block-post-template > li { background: #fff; border-radius: 8px; box-shadow: 0 2px 14px rgba(15,34,51,.1); overflow: hidden; }
.gt-noticias .wp-block-post-featured-image { margin: 0; }
.gt-noticia__corpo { padding: 1.1rem 1.25rem 1.4rem; }
.gt-noticia__meta { font-size: .8rem; color: #6b7780; margin: 0 0 .25rem; }
.gt-noticia__meta a { text-decoration: none; }
.gt-noticias .wp-block-post-title { font-size: 1.1rem; margin: 0 0 .35rem; }
.gt-noticias .wp-block-post-excerpt { font-size: .9rem; margin: 0; }

/* ---------- Páginas internas ---------- */
.gt-pagina { padding: 3.5rem 1.5rem 4.5rem; }
.gt-pagina .wp-block-post-title { margin-bottom: 1.5rem; }

/* ---------- Rodapé ---------- */
.gt-rodape { padding: 3.5rem 1.5rem 1.5rem; }
.gt-rodape a { color: inherit; text-decoration: none; }
.gt-rodape a:hover { text-decoration: underline; text-underline-offset: 3px; }
.gt-rodape__titulo { font-size: 1.15rem; color: #fff; margin: 0 0 1rem; }
.gt-rodape { color: #d5dde3; }
.gt-lista { list-style: none; padding: 0; margin: 0; }
.gt-lista li + li { margin-top: .4rem; }
.gt-rodape__centro { display: flex; justify-content: center; align-items: flex-start; }
.gt-rodape__contato p { margin: 0 0 .5rem; }
.gt-rodape__linha { margin: 2.5rem auto 1.25rem; border: 0; border-top: 1px solid rgba(255,255,255,.15); background: none; opacity: 1; }
.gt-rodape__copy { font-size: .85rem; margin: 0; }
@media (min-width: 783px) { .gt-rodape__contato { text-align: right; } }
@media (max-width: 781px) {
  .gt-rodape { text-align: center; }
  .gt-rodape__centro { order: -1; }
  .gt-topo .gt-logo img { height: 48px; }
  .gt-secao { padding: 3.5rem 1.5rem; }
  .gt-hero { padding-bottom: 9rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* Menu aberto no celular */
.gt-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.gt-nav .is-menu-open .wp-block-navigation__container,
.gt-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; gap: 1.25rem; }
.gt-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1rem; }
.gt-nav .wp-block-navigation__responsive-container-content {
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: flex-start;
}
.gt-nav .is-menu-open .wp-block-navigation-item { text-align: left; }
.gt-nav .is-menu-open .wp-block-navigation__container,
.gt-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; }
.gt-nav .is-menu-open .wp-block-navigation-item__content { text-align: left; }

/* ---------- Topo de página interna (O Grupo, Soluções, Contato) ---------- */
.gt-pagina-topo { padding-top: 4.5rem; padding-bottom: 3rem; text-align: center; }
.gt-pagina-topo h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: .25rem 0 1rem; }
.gt-pagina-intro { max-width: 42rem; margin: 0 auto; font-size: 1.1rem; }

/* ---------- Citação (prova social) ---------- */
.gt-prova { text-align: center; }
.gt-prova__citacao { max-width: 46rem; margin: 0 auto; border: none; padding: 0; }
.gt-prova__citacao p:first-child { font-size: clamp(1.15rem, 2.3vw, 1.4rem); line-height: 1.45; color: var(--gt-tinta); margin: 0 0 .75rem; }
.gt-prova__citacao p:last-child { font-size: .95rem; font-style: normal; }

/* ---------- Contato ---------- */
.gt-contato-grade { gap: 2rem; margin-bottom: 2rem; }
.gt-contato-grade h3 { font-size: 1.05rem; margin: 0 0 .5rem; color: var(--gt-tinta); }
.gt-contato-grade p { margin: 0; }
.gt-aviso { text-align: center; color: #6b7780; font-size: .95rem; }

/* Aviso "texto a definir" some visualmente na barra de admin sem afetar o front */
