/*
Theme Name: 08design
Theme URI: https://08design.com.br/
Author: 08design
Author URI: https://08design.com.br/
Description: Tema de blocos da 08design, gestão de marcas. Páginas, seções e cases totalmente editáveis no editor do WordPress, com padrões prontos (Início, Quem somos, Sistema de gestão, Serviços, Cases e Conhecimento), tipos de conteúdo para Cases, Serviços e Recursos, e configurações de WhatsApp e redes sociais no painel.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.4.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 08design
*/

/* ==========================================================================
   Base
   ========================================================================== */
:root {
	--o8-gutter: var(--wp--custom--gutter, clamp(16px, 4vw, 48px));
	--o8-space: var(--wp--custom--section-space, clamp(64px, 9vw, 128px));
	--o8-max: 1344px;
	--o8-line: rgba(17, 17, 17, 0.14);
	--o8-line-strong: #111111;
	--o8-line-dark: rgba(242, 242, 238, 0.24);
	--o8-mono: var(--wp--preset--font-family--mono);
}

body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
.o8-main { margin-block-start: 0 !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ==========================================================================
   Seções
   ========================================================================== */
.o8-section {
	padding-block: var(--o8-space);
	padding-inline: max(var(--o8-gutter), calc((100% - var(--o8-max)) / 2));
	margin-block: 0 !important;
}
.o8-section > * { max-width: 100%; }
.o8-section--hero { padding-top: clamp(40px, 6vw, 88px); }
.o8-section--tight { padding-top: 0; }
.o8-section--flush { padding-top: 0; }
.o8-section--ruled { border-top: 1px solid var(--o8-line-strong); }
.o8-section--capitulo { padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(48px, 6vw, 88px); border-bottom: 1px solid var(--o8-line); }
.o8-section--dark { --o8-line: var(--o8-line-dark); --o8-line-strong: var(--o8-line-dark); }
.o8-section--dark .o8-body,
.o8-section--dark .o8-lead,
.o8-section--dark .o8-aside { color: var(--wp--preset--color--on-dark); }
.o8-section--dark .o8-label { color: #BDBDB6; }
.o8-section--accent .o8-lead { color: var(--wp--preset--color--base); }
.o8-section--accent .o8-eyebrow { color: var(--wp--preset--color--base); }

.o8-section-head { margin-bottom: clamp(32px, 4vw, 56px); gap: 24px; }
.o8-section-head__main { max-width: 900px; }
.o8-section-head .wp-block-buttons { margin: 0; }

/* ==========================================================================
   Tipografia
   ========================================================================== */
.o8-eyebrow,
.o8-label,
.o8-num,
.o8-chip,
.o8-meta-item p:first-child {
	font-family: var(--o8-mono);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.5;
}
.o8-eyebrow { margin-bottom: 1.5rem; }
.o8-eyebrow--dot::before {
	content: "";
	display: inline-block;
	width: 10px; height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	margin-right: 10px;
	vertical-align: 0;
}
.o8-label { margin: 0; }
.o8-label a { text-decoration: none; }
.o8-muted { color: #8A8A84; }
.o8-label.o8-muted { color: var(--wp--preset--color--muted-2); }
.o8-section--dark .o8-label.o8-muted { color: #BDBDB6; }
.o8-accent { color: var(--wp--preset--color--accent); }
.o8-num { color: var(--wp--preset--color--accent); font-size: 0.875rem; }
.o8-section--alt .o8-num, .o8-section:not(.o8-section--dark) .o8-step .o8-num { color: var(--wp--preset--color--contrast); }

.o8-display {
	font-size: var(--wp--preset--font-size--huge) !important;
	font-weight: 800;
	font-stretch: 112%;
	line-height: 0.95;
	letter-spacing: -0.035em;
	margin: 0;
}
.o8-display--etapa { font-stretch: 100%; line-height: 0.9; }
.o8-display--caso { max-width: 1240px; margin-top: 1.5rem; }
.o8-display--cta { max-width: 1100px; }
.o8-h2 { font-size: var(--wp--preset--font-size--xx-large); margin: 0; }
.o8-h3 { font-size: var(--wp--preset--font-size--x-large); margin: 0; }
.o8-h3 a, .o8-h2 a { text-decoration: none; }
.o8-h4 { font-size: var(--wp--preset--font-size--large); font-weight: 650; letter-spacing: -0.01em; line-height: 1.3; margin: 0; }
.o8-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.45; color: var(--wp--preset--color--muted); max-width: 640px; }
.o8-body { color: var(--wp--preset--color--muted); margin: 0; }
.o8-small { font-size: var(--wp--preset--font-size--small); }
.o8-aside { max-width: 380px; color: var(--wp--preset--color--muted); margin: 0; }
.o8-quote { font-size: 1.125rem; font-style: italic; line-height: 1.4; }
.o8-quote--lg { font-size: var(--wp--preset--font-size--x-large); font-style: normal; font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; }
.o8-strong { color: var(--wp--preset--color--contrast); }
.o8-mt { margin-top: 1.75rem !important; }
.o8-mt-xl { margin-top: clamp(48px, 6vw, 80px) !important; }
.o8-placeholder {
	border: 1.5px dashed var(--o8-line);
	padding: 2rem;
	font-family: var(--o8-mono);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted-2);
	background: repeating-linear-gradient(45deg, rgba(17,17,17,.04) 0 2px, transparent 2px 14px);
}

/* ==========================================================================
   Botões
   ========================================================================== */
.wp-block-buttons { gap: 12px; }
.wp-block-button__link { transition: transform .15s ease, background-color .15s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button__link.has-accent-background-color:hover { background-color: #B81B13 !important; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(17,17,17,.06); }
.o8-btn-light > .wp-block-button__link { color: var(--wp--preset--color--base) !important; border-color: var(--wp--preset--color--base) !important; }
.o8-btn-light > .wp-block-button__link:hover { background: rgba(242,242,238,.1) !important; }
.o8-section--accent .wp-block-button__link:not(.has-background) { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* ==========================================================================
   Hero
   ========================================================================== */
.o8-hero { gap: clamp(32px, 4vw, 64px) !important; align-items: stretch !important; }
.o8-hero-text { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; }
.o8-hero-text .o8-lead { margin-top: auto; }
.o8-hero-gallery { gap: 10px !important; }
.o8-hero-gallery .o8-span-2 { grid-column: 1 / -1; }
.o8-hero-img img { height: 100%; }

/* Figuras com legenda sobreposta */
.o8-hero-gallery figure,
.o8-gallery-strip figure { position: relative; margin: 0; overflow: hidden; }
.o8-hero-gallery figcaption,
.o8-gallery-strip figcaption {
	position: absolute; left: 12px; bottom: 12px; margin: 0;
	background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
	padding: 6px 10px; text-transform: uppercase; letter-spacing: .06em;
}
.wp-block-image img { transition: transform .5s ease; }
.wp-block-image a:hover img { transform: scale(1.03); }
.wp-block-image a { display: block; overflow: hidden; }

/* ==========================================================================
   Grades com régua
   ========================================================================== */
.o8-ruled-grid { gap: 0 !important; border-top: 1px solid var(--o8-line-strong); }
.o8-ruled-card { padding: 28px 28px 28px 0; border-right: 1px solid var(--o8-line); }
.o8-ruled-card + .o8-ruled-card { padding-left: 28px; }
.o8-ruled-card:last-child { border-right: 0; }
.o8-ruled-card .o8-label { margin-bottom: 2rem; color: var(--wp--preset--color--muted-2); }
.o8-ruled-card .o8-h3 { font-size: 1.5rem; margin-bottom: .75rem; }
.o8-col-bottom { align-self: flex-end; }

/* ==========================================================================
   Momentos (acordeão)
   ========================================================================== */
.o8-momentos { border-top: 1px solid var(--o8-line-strong); }
.o8-momento { border-bottom: 1px solid var(--o8-line); margin: 0 !important; }
.o8-momento > summary {
	list-style: none; cursor: pointer;
	display: flex; gap: 16px; align-items: flex-start;
	padding: 24px 16px;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.35;
}
.o8-momento > summary::-webkit-details-marker { display: none; }
.o8-momento > summary::after {
	content: ""; margin-left: auto; flex: none;
	width: 14px; height: 14px; margin-top: 6px; border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--contrast);
}
.o8-momento[open] > summary { font-weight: 600; background: var(--wp--preset--color--surface); }
.o8-momento[open] > summary::after { background: var(--wp--preset--color--accent); }
.o8-momento > summary:hover { background: rgba(17,17,17,.04); }
.o8-momento__n { font-family: var(--o8-mono); font-size: .8125rem; padding-top: 5px; min-width: 28px; }
.o8-momento__body {
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
	padding: clamp(20px, 3vw, 36px); margin: 0 !important; gap: clamp(24px, 3vw, 40px) !important;
}
.o8-momento__body .o8-body, .o8-momento__body .o8-small { color: var(--wp--preset--color--on-dark); }
.o8-momento__body .o8-label { color: #BDBDB6; }
.o8-momento__body .o8-lead { color: var(--wp--preset--color--base); margin-top: 1rem; }
.o8-momento__body .o8-body { font-size: 1.125rem; line-height: 1.6; max-width: 62ch; }
.o8-momento__body .o8-body + .o8-body { margin-top: .9em; }
.o8-display--servico {
	font-size: clamp(2.5rem, 5.4vw, 4.75rem) !important; line-height: .95; font-stretch: 105%;
	color: var(--wp--preset--color--base); margin-top: .35rem;
}
.o8-display--servico::after {
	content: ""; display: block; width: 56px; height: 6px; margin-top: 1.1rem;
	background: var(--wp--preset--color--accent);
}
.o8-momento__case { margin-top: 1.75rem !important; color: var(--wp--preset--color--base) !important; }
.o8-momento__case strong { color: var(--wp--preset--color--base); font-weight: 600; }

/* ==========================================================================
   Etapas
   ========================================================================== */
.o8-etapa-grid { gap: 0 !important; border-top: 1px solid var(--o8-line); border-left: 1px solid var(--o8-line); }
.o8-etapa-card {
	min-height: 260px; padding: 24px;
	border-right: 1px solid var(--o8-line); border-bottom: 1px solid var(--o8-line);
	display: flex; flex-direction: column; gap: 10px;
}
.o8-etapa-card .o8-num { margin-bottom: auto; }
.o8-etapa-card .o8-h3 { font-size: clamp(1.125rem, 1.35vw, 1.3rem); letter-spacing: -0.015em; hyphens: auto; }
.o8-etapa-card:hover { background: rgba(242,242,238,.05); }

.o8-etapa-rows { border-top: 1px solid var(--o8-line); }
.o8-etapa-row { padding: 40px 0; margin: 0 !important; border-bottom: 1px solid var(--o8-line); gap: 32px !important; }
.o8-etapa-row .o8-h2 { font-size: var(--wp--preset--font-size--x-large); font-stretch: 110%; margin: .5rem 0; }
.o8-etapa-row .o8-label:not(:first-child) { margin-top: 1.25rem; }

/* Navegação entre etapas (shortcode) */
.o8-etapas-nav {
	display: flex; flex-wrap: wrap; padding: 0 var(--o8-gutter);
	border-bottom: 1px solid var(--o8-line); font-family: var(--o8-mono); font-size: .8125rem;
}
.o8-etapas-nav a { padding: 16px 18px; text-decoration: none; color: var(--wp--preset--color--muted-2); }
.o8-etapas-nav a:first-child { padding-left: 0; }
.o8-etapas-nav a[aria-current] { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding-left: 18px; }
.o8-prevnext { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); border-top: 1px solid #111; border-bottom: 1px solid #111; }
.o8-prevnext a { padding: 40px var(--o8-gutter); text-decoration: none; }
.o8-prevnext a + a { text-align: right; border-left: 1px solid var(--o8-line); }
.o8-prevnext small { display: block; font-family: var(--o8-mono); font-size: .75rem; color: var(--wp--preset--color--muted-2); margin-bottom: 8px; }
.o8-prevnext strong { font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: 800; letter-spacing: -0.02em; }

/* Situações (citações) */
.o8-quote-grid { gap: 16px !important; margin-top: 2rem; }
.o8-quote-card { background: var(--wp--preset--color--surface); padding: 28px; min-height: 200px; display: flex; flex-direction: column; gap: 1.5rem; }
.o8-quote-mark { font-size: 2.5rem; line-height: 1; font-weight: 800; color: var(--wp--preset--color--accent); margin: 0; }

/* Como conduzimos */
.o8-step-grid { gap: 0 !important; border-top: 1px solid var(--o8-line); border-left: 1px solid var(--o8-line); }
.o8-step { padding: 28px 24px; border-right: 1px solid var(--o8-line); border-bottom: 1px solid var(--o8-line); display: flex; flex-direction: column; gap: 14px; }
.o8-step .o8-h3 { font-size: 1.5rem; }

/* Instrumento */
.o8-instr { border: 1.5px solid #111; }
.o8-instr-head { padding: 24px; margin: 0 !important; }
.o8-instr-head .o8-h3 { margin-top: .5rem; }
.o8-instr-cells { gap: 0 !important; margin: 0 !important; }
.o8-instr-cell { padding: 24px; min-height: 150px; border-right: 1px solid var(--o8-line); border-top: 1px solid var(--o8-line); }
.o8-instr-cell .o8-label { margin-bottom: .5rem; }

/* Ferramenta */
.o8-tool-card { padding: clamp(24px, 3vw, 40px); min-height: 280px; display: flex; flex-direction: column; gap: 1rem; }
.o8-tool-card .o8-body { color: var(--wp--preset--color--on-dark); }
.o8-tool-card a { color: var(--wp--preset--color--base); }
.o8-tool-card .wp-block-buttons { margin-top: auto; }

/* Situações com resposta */
.o8-quote-card--solucao { gap: .9rem; }
.o8-quote-card--solucao .o8-label { margin-top: auto !important; padding-top: 1rem; border-top: 1px solid var(--o8-line); }
.o8-quote-card--solucao .o8-body { margin: 0; }

/* Metodologia em fases */
.o8-step--fase { gap: 12px; }
.o8-check-list { list-style: none; padding: 0 !important; margin: .75rem 0 0 !important; border-top: 1px solid rgba(255,255,255,.18); }
.o8-check-list li { padding: 10px 0 10px 22px; border-bottom: 1px solid rgba(255,255,255,.18); position: relative; font-size: .975rem; line-height: 1.4; }
.o8-check-list li::before { content: ""; position: absolute; left: 0; top: 16px; width: 8px; height: 8px; background: var(--wp--preset--color--accent); }
.o8-section:not(.o8-section--dark) .o8-check-list, .o8-section:not(.o8-section--dark) .o8-check-list li { border-color: var(--o8-line); }

/* Marcas de um serviço */
.o8-marcas-logos { gap: 0 !important; border-top: 1px solid var(--o8-line); border-left: 1px solid var(--o8-line); align-self: center; }
.o8-marcas-logos .o8-marca-logo { margin: 0; display: flex; align-items: center; justify-content: center; aspect-ratio: 3/2; padding: 12%; border-right: 1px solid var(--o8-line); border-bottom: 1px solid var(--o8-line); }
.o8-marcas-logos .o8-marca-logo img { max-height: 72px; width: auto; max-width: 100%; object-fit: contain; }
.o8-marca-grid { gap: 16px !important; margin-top: 2rem; }
.o8-marca-card { background: var(--wp--preset--color--surface); padding: 28px; display: flex; flex-direction: column; gap: .6rem; }
.o8-marca-card > * { margin: 0 !important; }
.o8-marca-card__logo { height: 84px; display: flex; align-items: center; margin-bottom: 1rem !important; }
.o8-marca-card__logo img { max-height: 60px; max-width: 170px; width: auto; object-fit: contain; }
.o8-marca-card .o8-label:not(.o8-muted) { margin-top: .8rem !important; color: var(--wp--preset--color--accent); }
.o8-marca-card__link { margin-top: auto !important; padding-top: 1rem !important; }
.o8-marca-card__link a { font-weight: 600; }

/* Case pilar */
.o8-pilar-resumo { max-width: 68ch; margin-top: 1.5rem !important; }
.o8-indice { list-style: none; padding: 0 !important; margin: 1rem 0 0 !important; counter-reset: o8i; border-top: 1px solid var(--o8-line); }
.o8-indice li { border-bottom: 1px solid var(--o8-line); padding: 10px 0; font-size: .95rem; }
.o8-indice a { text-decoration: none; }
.o8-indice a:hover { color: var(--wp--preset--color--accent); }
.o8-section[id] { scroll-margin-top: 80px; }
.o8-pilar-texto { font-size: 1.0625rem; line-height: 1.65; max-width: 64ch; }
.o8-frase-destaque { margin-top: clamp(32px, 4vw, 56px) !important; padding: clamp(32px, 6vw, 88px) clamp(24px, 5vw, 72px); position: relative; }
.o8-frase-destaque::before { content: ""; position: absolute; left: 0; top: 0; width: 10px; height: 100%; background: var(--wp--preset--color--accent); }
.o8-frase-destaque .o8-label { color: #BDBDB6; }
.o8-display--frase { font-size: clamp(2.5rem, 7vw, 6.5rem) !important; line-height: .95; margin-top: .75rem !important; }
.o8-pilar-gallery { margin-top: clamp(24px, 3vw, 40px) !important; }
.o8-pilar-gallery figcaption { font-family: var(--o8-mono); font-size: .75rem; color: var(--wp--preset--color--muted-2); margin-top: .5rem; }
.o8-faq { border-top: 1px solid var(--o8-line-strong); }
.o8-faq-item { border-bottom: 1px solid var(--o8-line); margin: 0 !important; }
.o8-faq-item > summary { cursor: pointer; padding: 20px 0; font-size: 1.125rem; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.o8-faq-item > summary::-webkit-details-marker { display: none; }
.o8-faq-item > summary::after { content: "+"; font-weight: 400; font-size: 1.5rem; line-height: 1; color: var(--wp--preset--color--accent); }
.o8-faq-item[open] > summary::after { content: "–"; }
.o8-faq-item .o8-body { padding-bottom: 20px; margin: 0; max-width: 64ch; }

.o8-h2--pilar { font-size: clamp(1.9rem, 3.2vw, 3rem) !important; line-height: 1.02; hyphens: manual; overflow-wrap: normal; }
.o8-pilar-texto { margin: 0 0 1em !important; }
.o8-capitulo .o8-h4 + .o8-pilar-texto { margin-top: 1.25rem !important; }
.o8-tempo-marco { font-family: var(--o8-mono); font-size: .875rem; letter-spacing: .04em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin: 0; }
.o8-tempo .o8-h3 { font-size: 1.375rem; }

/* Vídeos */
.wp-block-video video { width: 100%; height: auto; display: block; }
.o8-caso-capa--video { margin-top: clamp(32px, 4vw, 56px) !important; background: #23b14d; }
.o8-caso-capa--video video { aspect-ratio: 16/9; object-fit: cover; }
.o8-midia-video { margin: 0; }
.o8-pilar-gallery .wp-block-image { margin: 0; }
.o8-pilar-gallery .wp-block-image img { width: 100%; height: auto; display: block; }

/* Caso em destaque */
.o8-caso-destaque { border: 1.5px solid #111; gap: 0 !important; }
.o8-caso-destaque > .wp-block-column:last-child { padding: clamp(24px, 3vw, 48px); display: flex; flex-direction: column; gap: 1rem; }
.o8-caso-destaque figure { margin: 0; height: 100%; }
.o8-caso-destaque img { height: 100%; }

/* ==========================================================================
   Cartões (query loop)
   ========================================================================== */
.o8-post-grid { gap: 40px 16px !important; }
.o8-post-grid > li { display: flex; flex-direction: column; gap: 12px; }
.o8-post-grid .wp-block-post-featured-image { margin: 0; overflow: hidden; background: var(--wp--preset--color--base-2); }
.o8-post-grid .wp-block-post-featured-image img { transition: transform .5s ease; }
.o8-post-grid li:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.o8-post-grid .wp-block-post-title { margin: 0; font-size: 1.625rem; }
.o8-post-grid .wp-block-post-title a { text-decoration: none; }
.o8-post-grid .wp-block-post-excerpt { margin: 0; }
.o8-post-grid .wp-block-post-excerpt__more-text { display: none; }
.o8-post-grid .wp-block-post-terms a { text-decoration: none; }
.o8-casos-loop--large .o8-post-grid { gap: 56px 24px !important; }
.o8-casos-loop--large .wp-block-post-title { font-size: clamp(1.625rem, 2.4vw, 2.25rem); }

.o8-recurso-card {
	background: var(--wp--preset--color--base-2); padding: 28px; min-height: 240px; height: 100%;
	display: flex; flex-direction: column; gap: 1rem; transition: background .15s ease;
}
.o8-recurso-card:hover { background: #fff; }
.o8-recurso-card .wp-block-post-title { margin-top: auto !important; }
.o8-recursos-loop li:first-child .o8-recurso-card { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.o8-recursos-loop li:first-child .o8-recurso-card a, .o8-recursos-loop li:first-child .o8-recurso-card .o8-label { color: var(--wp--preset--color--base) !important; }
.o8-recursos-loop li:first-child .o8-recurso-card .o8-muted, .o8-recursos-loop li:first-child .o8-recurso-card .o8-muted a { color: var(--wp--preset--color--on-dark) !important; }

/* Filtros (shortcodes) */
.o8-filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; border-top: 1px solid #111; padding-top: 24px; margin-bottom: 40px; }
.o8-filtros span { font-family: var(--o8-mono); font-size: .8125rem; color: var(--wp--preset--color--muted-2); margin-right: 8px; }
.o8-filtros a {
	padding: 11px 18px; border-radius: 999px; border: 1.5px solid rgba(17,17,17,.33);
	text-decoration: none; font-size: .9375rem; font-weight: 500; min-height: 44px; display: inline-flex; align-items: center;
}
.o8-filtros a[aria-current] { background: #111; border-color: #111; color: var(--wp--preset--color--base); font-weight: 600; }

/* ==========================================================================
   Sistema
   ========================================================================== */
.o8-gallery-strip { gap: 10px !important; }
.o8-formas { gap: 16px !important; }
.o8-forma { padding: 32px; border: 1.5px solid #111; display: flex; flex-direction: column; gap: 1.25rem; }
.o8-forma--dark { background: #111; color: var(--wp--preset--color--base); border-color: #111; }
.o8-forma--dark .o8-label { color: var(--wp--preset--color--accent); }
.o8-forma--dark .o8-body { color: var(--wp--preset--color--on-dark); }
.o8-forma--accent { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }
.o8-forma--accent .o8-body, .o8-forma--accent .o8-label { color: var(--wp--preset--color--base); }

/* ==========================================================================
   Caso
   ========================================================================== */
.o8-meta { gap: 0 !important; border-top: 1px solid #111; margin-top: clamp(32px, 4vw, 48px) !important; }
.o8-meta-item { padding: 16px 16px 16px 0; }
.o8-meta-item p { margin: 0; }
.o8-meta-item p:first-child { color: var(--wp--preset--color--muted-2); margin-bottom: 6px; }
.o8-caso-capa { margin-top: clamp(32px, 4vw, 48px) !important; }
.o8-statement { font-size: clamp(1.5rem, 2.6vw, 2.375rem); font-weight: 600; line-height: 1.22; letter-spacing: -0.02em; }
.o8-callout { background: var(--wp--preset--color--base-2); padding: 24px 28px; margin-top: 2rem !important; }
.o8-callout .o8-body { font-size: 1.125rem; }
.o8-objetivos { gap: 16px !important; }
.o8-objetivo { border-top: 2px solid #111; padding-top: 16px; font-weight: 700; }
.o8-cap-num { font-size: clamp(3rem, 5vw, 5rem); line-height: .9; font-weight: 800; font-stretch: 112%; color: var(--wp--preset--color--accent); margin: 0; }
.o8-capitulo { gap: clamp(32px, 4vw, 64px) !important; }
.o8-capitulo .o8-label { margin-top: 1.25rem; }
.o8-cap-gallery { gap: 10px !important; align-content: start; }
.o8-cap-gallery figure { margin: 0; }
.o8-chips { gap: 8px !important; }
.o8-chip { margin: 0; }
.o8-chip a { display: inline-block; padding: 12.5px 16.5px; border: 1.5px dashed rgba(17,17,17,.33); text-decoration: none; color: var(--wp--preset--color--muted-2); }
.o8-chip--on a { background: #111; color: var(--wp--preset--color--base); border: 1.5px solid #111; }
.o8-stats { gap: 0 !important; border-top: 1px solid #111; margin-top: clamp(40px, 5vw, 56px) !important; }
.o8-stat-item { padding: 28px 28px 28px 0; }
.o8-stat { font-size: clamp(2.75rem, 4.6vw, 4.25rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1; margin: 0 0 .5rem; }
.o8-link-list { list-style: none; padding: 0; border-top: 1px solid #111; }
.o8-link-list li { border-bottom: 1px solid var(--o8-line); }
.o8-link-list a { display: block; padding: 22px 0; text-decoration: none; font-size: 1.25rem; font-weight: 600; }
.o8-proximo {
	display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px 16px;
	padding: 48px var(--o8-gutter); text-decoration: none;
	background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
}
.o8-proximo small { grid-column: 1 / -1; font-family: var(--o8-mono); font-size: .75rem; color: #BDBDB6; }
.o8-proximo strong { font-size: clamp(1.75rem, 3.4vw, 3.25rem); font-weight: 800; letter-spacing: -0.025em; line-height: 1; }
.o8-proximo span { font-size: 2.5rem; line-height: 1; transition: transform .2s ease; }
.o8-proximo:hover span { transform: translateX(6px); }

/* CTA */
.o8-cta-row { margin-top: clamp(32px, 4vw, 48px) !important; gap: 24px; align-items: center; }
.o8-cta-row .o8-lead { margin: 0; max-width: 540px; }

/* ==========================================================================
   Cabeçalho e rodapé
   ========================================================================== */
.o8-header { padding: 18px var(--o8-gutter); border-bottom: 1px solid var(--o8-line); gap: 16px; }
.o8-header .o8-logo { margin: 0; }
.o8-header .o8-logo img { height: 34px; width: auto; }
.o8-header .wp-block-navigation { gap: clamp(16px, 3vw, 36px); }
.o8-header .wp-block-navigation a { text-decoration: none; }
.o8-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.o8-header .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 4px; }
.o8-header .wp-block-buttons .wp-block-button__link { padding: .75rem 1.25rem; font-size: .9375rem; }
.o8-footer { padding: 56px var(--o8-gutter) 32px; }
.o8-footer a { color: var(--wp--preset--color--base); }
.o8-footer .o8-logo img { height: 36px; width: auto; }
.o8-footer-cols { gap: 48px !important; }
.o8-footer-col p { margin: 0 0 10px; }
.o8-footer-col .o8-label { color: #BDBDB6; margin-bottom: 14px; }
.o8-footer .o8-copy { margin-top: 48px !important; font-family: var(--o8-mono); font-size: .75rem; color: #BDBDB6; }

/* WhatsApp: ícone antes do texto em botões de conversa */
a[href*="wa.me"].wp-block-button__link::before {
	content: ""; display: inline-block; width: 1em; height: 1em; margin-right: .5em; vertical-align: -0.15em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.7-4.6A8.5 8.5 0 1 1 8 19.6L3 21z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.7-4.6A8.5 8.5 0 1 1 8 19.6L3 21z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==========================================================================
   Conteúdo de texto (recursos, posts, páginas com título)
   ========================================================================== */
.o8-prose { max-width: 760px; margin-inline: auto; }
.o8-prose > * { max-width: 760px; }
.o8-prose h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.5rem; }
.o8-prose h3 { font-size: var(--wp--preset--font-size--large); margin-top: 2rem; }
.o8-prose p, .o8-prose li { font-size: 1.125rem; line-height: 1.65; }

/* Grades: colunas se ajustam ao número de itens (auto-fit) */
.o8-cap-gallery.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); }
.o8-quote-grid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
.o8-objetivos.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); }
.o8-stats.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); }
.o8-meta.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); }
.o8-ruled-grid.is-layout-grid,
.o8-formas.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); }
.o8-etapa-grid.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); }
.o8-step-grid.is-layout-grid,
.o8-instr-cells.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); }
.o8-gallery-strip.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(11rem, 100%), 1fr)); }

/* ==========================================================================
   Abertura em destaque (frase principal)
   ========================================================================== */
.o8-hero-statement { position: relative; padding-top: clamp(80px, 11vw, 150px) !important; }
.o8-hero-statement--tall { min-height: min(80vh, 820px); display: flex; flex-direction: column; justify-content: flex-end; }
.o8-hero-statement::before {
	content: ""; position: absolute; top: 0; left: max(var(--o8-gutter), calc((100% - var(--o8-max)) / 2));
	width: clamp(64px, 9vw, 140px); height: 10px; background: var(--wp--preset--color--accent);
}
.o8-display--hero { font-size: clamp(3rem, 8.2vw, 8.25rem) !important; line-height: .98; max-width: 1240px; }
.o8-display--manifesto { font-size: clamp(2.25rem, 5vw, 4.75rem) !important; line-height: 1; max-width: 1240px; font-stretch: 105%; }
.o8-hero-statement .o8-lead { color: var(--wp--preset--color--on-dark); }
.o8-hero-statement .o8-eyebrow { color: var(--wp--preset--color--base); }

/* ==========================================================================
   Carrossel de marcas
   ========================================================================== */
.o8-logos { margin-top: clamp(48px, 6vw, 80px) !important; overflow: hidden; border-top: 1px solid var(--o8-line); padding-top: 28px; }
.o8-section--logos .o8-logos { margin-top: 0 !important; border-top: 0; padding-top: 0; }
.o8-logos__label { margin-bottom: 28px !important; color: var(--wp--preset--color--muted-2); }
.o8-logos--dark .o8-logos__label { color: #BDBDB6; }
.o8-logos__track { gap: clamp(48px, 6vw, 96px) !important; align-items: center !important; width: max-content; flex-wrap: nowrap !important; }
.o8-logos__track.is-animated { animation: o8-marquee 45s linear infinite; }
.o8-logos:hover .o8-logos__track { animation-play-state: paused; }
.o8-logos .o8-logo-item { margin: 0 !important; flex: none; }
.o8-logos .o8-logo-item img { height: clamp(44px, 5vw, 64px); width: auto; max-width: 180px; object-fit: contain; opacity: .9; }
@keyframes o8-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.editor-styles-wrapper .o8-logos__track { flex-wrap: wrap !important; width: auto; }

/* ==========================================================================
   Filtros (na própria página)
   ========================================================================== */
.o8-filtros button {
	font: inherit; font-size: .9375rem; font-weight: 500; cursor: pointer;
	padding: 11px 18px; min-height: 44px; border-radius: 999px;
	border: 1.5px solid rgba(17,17,17,.33); background: transparent; color: var(--wp--preset--color--contrast);
}
.o8-filtros button:hover { border-color: #111; }
.o8-filtros button[aria-pressed="true"] { background: #111; border-color: #111; color: var(--wp--preset--color--base); font-weight: 600; }
.o8-post-grid > li[hidden] { display: none !important; }

/* Outros serviços */
.o8-outros { padding: clamp(40px, 5vw, 64px) max(var(--o8-gutter), calc((100% - var(--o8-max)) / 2)); border-top: 1px solid #111; }
.o8-outros__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.o8-outros__head p { margin: 0; }
.o8-outros__head a { text-decoration: none; }
.o8-outros__links { display: flex; flex-wrap: wrap; gap: 10px; }
.o8-outros__links a {
	padding: 14px 22px; border: 1.5px solid #111; border-radius: 999px; text-decoration: none;
	font-size: clamp(1rem, 1.4vw, 1.25rem); font-weight: 650; transition: background .15s ease, color .15s ease;
}
.o8-outros__links a:hover { background: #111; color: var(--wp--preset--color--base); }

.o8-stats--top { margin-top: 0 !important; }
.o8-section--dark .o8-step .o8-h3 { color: var(--wp--preset--color--base); }
.o8-tool-card .o8-label { color: var(--wp--preset--color--contrast); }

/* Rodapé: contraste */
.o8-footer .o8-body { color: var(--wp--preset--color--on-dark); }

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 781px) {
	.o8-ruled-card, .o8-ruled-card + .o8-ruled-card { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--o8-line); }
	.o8-prevnext a + a { border-left: 0; border-top: 1px solid var(--o8-line); }
	.o8-caso-destaque > .wp-block-column:last-child { padding: 24px; }
	.o8-momento > summary { padding: 20px 8px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
