/* Post do blog (single.php). Componentes globais em style.css; cores e tipos em tokens.css.
   Também estiliza o que é escrito dentro do post (.gpc-post-content): títulos, listas, citações em destaque,
   o box de emergência (.gpc-emergencia, ADR-0007) e o card do shortcode [gpc_cta] (.gpc-cta-card). Os nomes de
   classe desses blocos vêm do conteúdo dos posts e não podem mudar aqui sem mudar os posts. */

/* ---------- topo: texto à esquerda, ilustração da marca sobre meia-lua lilás à direita ---------- */
.m-post-topo { position: relative; overflow: hidden; background: var(--cor-off-white-2); }
.m-post-topo__grade { position: relative; z-index: 1; display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; padding-block: 64px 72px; }
.m-post-topo--sem-arte .m-post-topo__grade { grid-template-columns: minmax(0, 46em); }
.m-post-topo__texto { display: grid; gap: 18px; justify-items: start; min-width: 0; }
.m-post-topo__titulo {
	margin: 0; color: var(--cor-contraste); font-weight: var(--tipo-titulo-peso); line-height: 1.08;
	font-size: clamp(32px, 4vw, calc(var(--tipo-display-tamanho) * 1.125)); letter-spacing: var(--tracking-titulo);
}
.m-post-topo__meta { margin: 0; font-size: var(--tipo-legenda-tamanho); line-height: var(--tipo-legenda-entrelinha); color: var(--cor-contraste); }
.m-post-topo__arte { position: relative; margin: 0; display: grid; place-items: center; aspect-ratio: 1; }
.m-post-topo__arte::before { /* meia-lua deitada sob a ilustração */
	content: ""; position: absolute; left: 6%; right: 6%; bottom: 0; height: 47%; border-radius: 999px 999px 0 0;
	background: var(--cor-principal);
}
.m-post-topo__arte img { position: relative; display: block; width: 88%; height: auto; max-height: 100%; object-fit: contain; }
.m-post-topo__quarto { width: 140px; height: 140px; right: 0; top: 0; border-radius: 0 0 0 100%; }

/* ---------- corpo: coluna de leitura ---------- */
.m-post-corpo { padding-block: 72px 96px; }
.m-post-corpo > * { max-width: 40em; margin-inline: auto; }

.gpc-post-content > :first-child { margin-top: 0; }
.gpc-post-content p { margin: 0 0 1.15em; }
.gpc-post-content h2 {
	margin: 2.2em 0 0.6em; color: var(--cor-contraste); font-weight: var(--tipo-titulo-peso);
	font-size: clamp(26px, 2.6vw, 32px); line-height: 1.2; letter-spacing: var(--tracking-titulo);
}
.gpc-post-content h3 {
	margin: 1.8em 0 0.5em; color: var(--cor-contraste); font-weight: var(--tipo-titulo-peso);
	font-size: 22px; line-height: 1.3; letter-spacing: var(--tracking-titulo);
}
.gpc-post-content ul, .gpc-post-content ol { margin: 0 0 1.15em; padding-left: 1.3em; }
.gpc-post-content li { margin-bottom: 0.5em; }
.gpc-post-content li::marker { color: var(--cor-contraste); }
.gpc .gpc-post-content a { color: var(--cor-contraste); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gpc-post-content em { font-style: italic; }

/* citação em destaque: frase grande em peso leve, marcada por uma meia-lua lilás */
.gpc-post-content blockquote {
	position: relative; margin: 2.2em 0; padding: 0 0 0 44px; border: 0;
	color: var(--cor-contraste); font-weight: var(--tipo-display-peso); font-size: clamp(22px, 2.2vw, 27px); line-height: 1.35;
	font-style: normal; /* o tema-pai põe itálico; a Rhetoric itálica não é servida e citação em itálico é traço de template */
}
.gpc-post-content blockquote::before {
	content: ""; position: absolute; left: 0; top: 0.2em; width: 16px; height: 32px; border-radius: 0 32px 32px 0;
	background: var(--cor-principal);
}
.gpc-post-content blockquote p { margin: 0; font-size: inherit; line-height: inherit; font-style: normal; }
.gpc-post-content blockquote p + p { margin-top: 0.6em; }
.gpc-post-content blockquote cite { display: block; margin-top: 12px; font-style: normal; font-weight: var(--tipo-corpo-peso); font-size: var(--tipo-legenda-tamanho); }

/* box de emergência (escrito no post só nos temas que pedem, item D do checklist CFM) */
.gpc-post-content .gpc-emergencia { margin: 2.2em 0; padding: 26px 28px; background: var(--cor-apoio-1); color: var(--cor-branco); }
.gpc-post-content .gpc-emergencia p { margin: 0; }
.gpc-post-content .gpc-emergencia p + p { margin-top: 12px; }
.gpc .gpc-post-content .gpc-emergencia a,
.gpc-post-content .gpc-emergencia strong { color: var(--cor-branco); }

/* card de agendamento do shortcode [gpc_cta]: bloco lilás com quarto de círculo salmão no canto */
.gpc-cta-card { position: relative; overflow: hidden; margin: 2.4em 0; padding: 32px 96px 32px 32px; background: var(--cor-principal); color: var(--cor-contraste); }
.gpc-cta-card::after { content: ""; position: absolute; right: 0; bottom: 0; width: 72px; height: 72px; border-radius: 100% 0 0 0; background: var(--cor-composicao); }
.gpc-post-content .gpc-cta-card-title,
.gpc-cta-card-title {
	margin: 0 0 8px; font-weight: var(--tipo-titulo-peso); font-size: 24px; line-height: 1.2; letter-spacing: var(--tracking-titulo);
}
.gpc-post-content .gpc-cta-card-text,
.gpc-cta-card-text { margin: 0 0 22px; }
/* o botão do shortcode sai com as classes antigas (.gpc-btn); aqui ele ganha a forma do botão da marca */
.gpc a.gpc-btn {
	display: inline-flex; align-items: center; gap: 10px; padding: 15px 34px 15px 24px; border-radius: 0 999px 999px 0;
	background: var(--cor-contraste); color: var(--cor-branco); text-decoration: none;
	font: var(--tipo-chamada-peso) 16px/1 var(--fonte-sans); letter-spacing: 0;
}
.gpc a.gpc-btn:hover { filter: brightness(1.15); }
.gpc a.gpc-btn svg { flex: none; }

/* ---------- rodapé do post: aviso e bio de autor (ADR-0007, ADR-0003) ---------- */
.m-post-rodape { margin-top: 64px; padding-top: 28px; border-top: 1px solid var(--cor-contraste); }
.m-post-aviso { margin: 0 0 32px; font-size: var(--tipo-legenda-tamanho); line-height: var(--tipo-legenda-entrelinha); }
.m-autor { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; }
.m-autor__lua { width: 24px; height: 48px; border-radius: 999px 0 0 999px; background: var(--cor-principal); }
.m-autor p { margin: 0; }
.m-autor__nome { color: var(--cor-contraste); font-weight: var(--tipo-titulo-peso); font-size: 20px; line-height: 1.3; letter-spacing: var(--tracking-titulo); }
.m-autor__crm { font-size: var(--tipo-legenda-tamanho); line-height: var(--tipo-legenda-entrelinha); }
.m-autor__texto { margin-top: 8px !important; }
.gpc .m-autor__texto a, .gpc .m-post-voltar a { color: var(--cor-contraste); text-underline-offset: 3px; }
.m-post-voltar { margin-top: 40px; }

/* ---------- faixa de agendamento ---------- */
.m-post-cta { position: relative; overflow: hidden; background: var(--cor-contraste); padding-block: 72px; }
.m-post-cta .m-wrap { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; padding-right: 120px; }
.m-post-cta .m-titulo { color: var(--cor-branco); }
.m-post-cta__lua { width: 110px; height: 220px; right: 0; top: 50%; transform: translateY(-50%); }

/* ---------- responsivo ---------- */
@media (max-width: 900px) {
	.m-post-topo__grade { grid-template-columns: 1fr; gap: 24px; padding-block: 40px 48px; }
	.m-post-topo__arte { width: min(320px, 80%); justify-self: center; }
}
@media (max-width: 640px) {
	.m-post-topo__quarto { width: 90px; height: 90px; }
	.m-post-corpo { padding-block: 48px 72px; }
	.gpc-post-content blockquote { padding-left: 32px; }
	.gpc-post-content blockquote::before { width: 12px; height: 24px; }
	.gpc-post-content .gpc-emergencia { padding: 22px 20px; }
	.gpc-cta-card { padding: 28px 22px 64px; }
	.gpc-cta-card::after { width: 56px; height: 56px; }
	.gpc a.gpc-btn { padding: 14px 28px 14px 20px; font-size: 15px; }
	.m-post-cta { padding-block: 56px 88px; }
	.m-post-cta .m-wrap { padding-right: 0; }
	.m-post-cta__lua { width: 60px; height: 120px; top: auto; bottom: 0; transform: none; }
}
