/* ============================================================
   Cavalo Atleta · modernizacao (guia de estilos 2026)
   Carregado depois do style.css do tema filho. Tokens da marca:
   Vidaloka nos titulos, Open Sans no corpo, verde-floresta #3F5424,
   ouro #907B54, tan #DDD2BA. Cards de listagem NAO levam moldura
   dupla (guia §16); a moldura dupla e so para blocos de destaque.
   ============================================================ */

:root {
	--ca-bg: #FCFCFC;
	--ca-surface: #F0EFED;
	--ca-panel: #DDD2BA;
	--ca-border: #E5E1CF;
	--ca-paper: #FFFFFF;
	--ca-ink: #555555;
	--ca-muted: #6E6E6E;
	--ca-accent: #3F5424;
	--ca-accent-dark: #2C3B19;
	--ca-accent-light: #7E953F;
	--ca-gold: #907B54;
	--ca-head: Vidaloka, Georgia, serif;
	--ca-body: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--ca-ease: cubic-bezier(.22, .61, .36, 1);
	--ca-read: 760px;
}

/* ---------- Base compartilhada ---------- */
.ca-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}
@media (max-width: 767px) {
	.ca-wrap { padding: 0 20px; }
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: -1px;
}

.ca-i { flex: 0 0 auto; vertical-align: middle; }

.ca-kicker {
	display: inline-block;
	font: 700 12px/16px var(--ca-body);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ca-accent);
	text-decoration: none;
	margin: 0;
}
a.ca-kicker:hover {
	color: var(--ca-accent-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ca-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 30px;
	border-radius: 999px;
	border: 2px solid var(--ca-accent);
	font: 700 16px/1.2 var(--ca-body);
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
a.ca-btn.ca-btn--primary,
a.ca-btn.ca-btn--primary:visited {
	background: var(--ca-accent);
	color: #FFFFFF;
	text-decoration: none;
}
a.ca-btn.ca-btn--primary:hover {
	background: var(--ca-accent-dark);
	border-color: var(--ca-accent-dark);
	color: #FFFFFF;
}
a.ca-btn.ca-btn--secondary,
a.ca-btn.ca-btn--secondary:visited {
	background: transparent;
	color: var(--ca-accent);
	text-decoration: none;
}
a.ca-btn.ca-btn--secondary:hover {
	background: var(--ca-accent);
	color: #FFFFFF;
}
a.ca-btn:focus-visible,
button.ca-btn:focus-visible {
	outline: 3px solid var(--ca-gold);
	outline-offset: 3px;
}

/* Moldura dupla: assinatura da marca, so para blocos de destaque */
.ca-frame {
	background: var(--ca-panel);
	border: 10px solid var(--ca-border);
	padding: 4px;
	box-sizing: border-box;
}
.ca-frame__in {
	background: var(--ca-paper);
	border: 1px solid var(--ca-border);
}
@media (max-width: 767px) {
	.ca-frame { border-width: 6px; }
}

/* Pilulas: filtros de categoria, compartilhar */
.ca-pills ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}
.ca-pills li { margin: 0; padding: 0; list-style: none; }
.ca-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	background: var(--ca-paper);
	border: 1.5px solid var(--ca-panel);
	color: var(--ca-accent);
	font: 600 14px/1.2 var(--ca-body);
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
a.ca-pill,
a.ca-pill:visited { color: var(--ca-accent); text-decoration: none; }
a.ca-pill:hover,
button.ca-pill:hover {
	background: var(--ca-border);
	color: var(--ca-accent-dark);
}
a.ca-pill.is-active,
a.ca-pill.is-active:hover {
	background: var(--ca-accent);
	border-color: var(--ca-accent);
	color: #FFFFFF;
}
.ca-pill:focus-visible {
	outline: 3px solid var(--ca-gold);
	outline-offset: 3px;
}
@media (max-width: 767px) {
	.ca-pills ul {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		padding: 2px 2px 8px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: var(--ca-panel) transparent;
	}
	.ca-pills li { flex: 0 0 auto; scroll-snap-align: start; }
}

/* ============================================================
   Blog: pagina do Blog, categorias, tags, autor e busca
   ============================================================ */
.ca-blog-page .content_wrapper,
.ca-blog-page .sections_group { max-width: none; width: 100%; padding: 0; margin: 0; float: none; }

.ca-tools {
	background: var(--ca-surface);
	border-bottom: 1px solid var(--ca-border);
	padding: 32px 0 24px;
}
.ca-tools__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.ca-pills { min-width: 0; }

.ca-search { width: 100%; max-width: 720px; margin: 0 auto; }
.ca-search__label {
	display: block;
	font: 600 14px/20px var(--ca-body);
	color: var(--ca-accent);
	margin: 0 0 8px;
}
.ca-search__row { display: flex; gap: 10px; align-items: stretch; }
#Content .ca-search__input {
	flex: 1;
	min-width: 0;
	min-height: 52px;
	background: #FFFFFF;
	border: 1.5px solid var(--ca-panel);
	border-radius: 4px;
	padding: 0 16px;
	font: 400 16px/1.4 var(--ca-body);
	color: var(--ca-ink);
	box-shadow: none;
	margin: 0;
}
#Content .ca-search__input::placeholder { color: var(--ca-muted); opacity: 1; }
#Content .ca-search__input:hover { border-color: var(--ca-accent); }
#Content .ca-search__input:focus,
#Content .ca-search__input:focus-visible {
	border-color: var(--ca-accent);
	outline: 3px solid var(--ca-gold);
	outline-offset: 2px;
}
#Content .ca-search__btn {
	flex: 0 0 52px;
	width: 52px;
	min-height: 52px;
	padding: 0;
	margin: 0;
	border-radius: 50% !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #FFFFFF !important;
}
#Content .ca-search__btn:focus-visible {
	outline: 3px solid var(--ca-gold);
	outline-offset: 3px;
}

.ca-blog-main { padding: 56px 0 24px; }

.ca-listhead {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	border-bottom: 1px solid var(--ca-panel);
	padding-bottom: 16px;
	margin: 0 0 40px;
}
.ca-listhead__title {
	font: 400 clamp(26px, 2.6vw, 34px)/1.1 var(--ca-head);
	color: var(--ca-accent);
	letter-spacing: 0;
	margin: 0;
}
.ca-listhead__desc {
	font: 400 15px/1.6 var(--ca-body);
	color: var(--ca-ink);
	max-width: 62ch;
	margin-top: 8px;
}
.ca-listhead__desc p { margin: 0; font-size: 15px; }
.ca-listhead__count {
	font: 600 14px/1.4 var(--ca-body);
	color: var(--ca-muted);
	margin: 0;
	white-space: nowrap;
}

/* Grade 3 / 2 / 1 */
.ca-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 32px;
}
@media (max-width: 1023px) {
	.ca-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 28px; }
}
@media (max-width: 640px) {
	.ca-grid { grid-template-columns: 1fr; gap: 44px; }
}

/* Card de materia */
.ca-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.ca-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	overflow: hidden;
	background: var(--ca-surface);
	margin: 0 0 18px;
}
.ca-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
}
.ca-card__ph {
	display: block;
	width: 100%;
	height: 100%;
	background: repeating-linear-gradient(135deg, var(--ca-surface) 0 10px, var(--ca-bg) 10px 20px);
}
.ca-card__body { display: flex; flex-direction: column; flex: 1; align-items: flex-start; }
.ca-card .ca-kicker { position: relative; z-index: 2; }
.ca-card__title {
	font: 400 clamp(20px, 1.9vw, 26px)/1.2 var(--ca-head);
	letter-spacing: 0;
	margin: 10px 0 10px;
}
.ca-card__title a { color: var(--ca-accent); text-decoration: none; }
.ca-card__title a::after { content: ""; position: absolute; inset: 0; }
.ca-card:hover .ca-card__title a,
.ca-card__title a:focus-visible {
	text-decoration: underline;
	text-decoration-color: var(--ca-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
	outline: none;
}
.ca-card:has(.ca-card__title a:focus-visible) {
	outline: 3px solid var(--ca-gold);
	outline-offset: 8px;
}
.ca-card__excerpt {
	font: 400 15px/1.6 var(--ca-body);
	color: var(--ca-ink);
	margin: 0 0 14px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ca-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: auto 0 0;
	font: 400 13px/1.4 var(--ca-body);
	color: var(--ca-muted);
}

/* Materia em destaque (bloco de destaque: leva a moldura dupla) */
.ca-featured { margin: 0 0 72px; }
.ca-featured .ca-frame__in { padding: 32px; }
.ca-featured__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 40px;
	align-items: center;
}
.ca-featured__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: 10px;
	overflow: hidden;
	background: var(--ca-surface);
	border: 1px solid var(--ca-panel);
}
.ca-featured__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
}
.ca-featured__body .ca-rule { margin: 12px 0 18px; }
.ca-featured__title {
	font: 400 clamp(26px, 3vw, 36px)/1.15 var(--ca-head);
	letter-spacing: 0;
	margin: 0 0 16px;
	text-wrap: balance;
}
.ca-featured__title a { color: var(--ca-accent); text-decoration: none; }
.ca-featured__title a:hover {
	color: var(--ca-accent-dark);
	text-decoration: underline;
	text-decoration-color: var(--ca-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.ca-featured__excerpt {
	font: 400 16px/1.65 var(--ca-body);
	color: var(--ca-ink);
	margin: 0 0 18px;
}
.ca-featured__meta {
	font: 600 14px/1.4 var(--ca-body);
	color: var(--ca-muted);
	margin: 0 0 26px;
}
.ca-featured__meta a { color: var(--ca-accent); text-decoration: none; }
.ca-featured__meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1023px) {
	.ca-featured__grid { grid-template-columns: 1fr; gap: 28px; }
	.ca-featured .ca-frame__in { padding: 24px; }
}
@media (max-width: 480px) {
	.ca-featured { margin-bottom: 56px; }
	.ca-featured .ca-frame__in { padding: 16px; }
	.ca-featured__body .ca-btn { width: 100%; }
}

/* Paginacao numerica */
.ca-pager { margin: 64px 0 0; display: flex; justify-content: center; }
.ca-pager ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	align-items: center;
}
.ca-pager li { margin: 0; padding: 0; list-style: none; }
.ca-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 6px;
	box-sizing: border-box;
	border-radius: 999px;
	border: 1.5px solid var(--ca-panel);
	background: #FFFFFF;
	color: var(--ca-accent);
	font: 700 15px/1 var(--ca-body);
	text-decoration: none;
	transition: background-color .2s ease, border-color .2s ease;
}
.ca-pager a.page-numbers:hover { background: var(--ca-border); }
.ca-pager .page-numbers.current {
	background: var(--ca-accent);
	border-color: var(--ca-accent);
	color: #FFFFFF;
}
.ca-pager .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--ca-muted);
	min-width: 28px;
}
.ca-pager .page-numbers:focus-visible { outline: 3px solid var(--ca-gold); outline-offset: 3px; }

/* Estado vazio da busca */
.ca-empty {
	background: var(--ca-surface);
	padding: 40px 32px;
	max-width: 760px;
	margin: 0 auto;
}
.ca-empty__title {
	font: 400 clamp(24px, 2.6vw, 30px)/1.15 var(--ca-head);
	color: var(--ca-accent);
	letter-spacing: 0;
	margin: 8px 0 12px;
}
.ca-empty p { font: 400 16px/1.6 var(--ca-body); color: var(--ca-ink); margin: 0; }
.ca-empty p.ca-kicker { font: 700 12px/16px var(--ca-body); color: var(--ca-accent); }
.ca-empty .ca-pills ul { justify-content: flex-start; margin-top: 22px; }
@media (max-width: 767px) { .ca-empty { padding: 28px 20px; } }

.ca-blog-cta { padding: 24px 0 96px; }
.ca-blog-cta .ca-cta { margin-top: 24px; }

/* ============================================================
   Materia (single-post)
   ============================================================ */
/* O subheader repetia o titulo: fica so a trilha (Inicio > Blog > Categoria > Titulo) */
body.single-post #Subheader { padding: 14px 0; }
body.single-post #Subheader .title { display: none; }
body.single-post #Subheader ul.breadcrumbs { margin: 0; float: none; }

.ca-post-head { background: var(--ca-bg); padding: 56px 0 0; }
.ca-post-head__in {
	max-width: var(--ca-read);
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: content-box;
}
.ca-post-head .ca-kicker { margin: 0 0 14px; }
.ca-post-head .entry-title {
	font: 400 clamp(32px, 4.4vw, 52px)/1.08 var(--ca-head);
	letter-spacing: 0;
	color: var(--ca-accent);
	margin: 0 0 18px;
	text-wrap: balance;
}
.ca-post-head__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	font: 400 14px/1.5 var(--ca-body);
	color: var(--ca-muted);
	margin: 0 0 36px;
}
.ca-post-cover {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.ca-post-cover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: cover;
	border-radius: 10px;
	background: var(--ca-surface);
}
.ca-post-cover figcaption {
	font: 400 13px/1.4 var(--ca-body);
	color: var(--ca-muted);
	margin-top: 10px;
}

/* Leitura: coluna de 760px nos textos de largura total; blocos com foto seguem a grade */
.single-post .post-wrapper-content .column_column.one .column_attr,
.single-post .post-wrapper-content .the_content .the_content_wrapper {
	max-width: var(--ca-read);
	margin-left: auto;
	margin-right: auto;
}
.single-post .post-wrapper-content .the_content .section_wrapper { padding-top: 40px; }

/* Materias do builder usam a grade larga (1220px): cabecalho e capa seguem a mesma grade */
.ca-post--builder .ca-post-head__in,
.ca-post--builder .ca-post-cover {
	max-width: 1220px;
	width: calc(100% - 40px);
	padding: 0;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.ca-post--builder .ca-post-head .entry-title { max-width: 900px; }

/* Celular: um so recuo lateral (20px) do cabecalho ao corpo do texto */
@media (max-width: 767px) {
	.single-post .post-wrapper-content .the_content .section_wrapper { padding-left: 20px; padding-right: 20px; }
	.single-post .post-wrapper-content .the_content .the_content_wrapper { width: 100%; margin-left: 0; margin-right: 0; }
	.ca-post-head { padding-top: 40px; }
}
/* Subtitulos H4 da materia: o tema derruba para 14px no celular (guia: 20 tablet, 19 celular) */
@media (max-width: 1023px) {
	.post-wrapper-content h4 { font-size: 20px; line-height: 1.2; }
}
@media (max-width: 767px) {
	.post-wrapper-content h4 { font-size: 19px; }
}

.post-wrapper-content blockquote {
	position: relative;
	margin: 36px 0;
	padding: 4px 0 4px 24px;
	border: 0;
	border-left: 3px solid var(--ca-gold);
	background: none;
	font: 400 clamp(20px, 2.2vw, 24px)/1.35 var(--ca-head);
	color: var(--ca-accent);
}
.post-wrapper-content blockquote::before,
.post-wrapper-content blockquote::after { content: none; }
.post-wrapper-content blockquote p {
	font: inherit;
	color: inherit;
	margin: 0;
}

.post-wrapper-content table {
	width: 100%;
	border-collapse: collapse;
	font: 400 15px/1.5 var(--ca-body);
	margin: 28px 0;
}
.post-wrapper-content th {
	background: var(--ca-surface);
	color: var(--ca-accent);
	font-weight: 700;
	text-align: left;
	padding: 12px 14px;
	border: 1px solid var(--ca-border);
}
.post-wrapper-content td {
	padding: 12px 14px;
	border: 1px solid var(--ca-border);
	color: var(--ca-ink);
}
@media (max-width: 767px) {
	.post-wrapper-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
.post-wrapper-content .idea_box {
	background: #FFFFFF;
	border: 1px solid var(--ca-panel);
	border-radius: 0;
}
.post-wrapper-content .idea_box .icon i { color: var(--ca-accent); }

/* Compartilhar + fim da materia */
.ca-post-foot {
	max-width: var(--ca-read);
	margin: 48px auto 0;
	padding: 28px 20px 0;
	border-top: 1px solid var(--ca-border);
	box-sizing: content-box;
}
.ca-share { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.ca-share__label { font: 700 14px/1.2 var(--ca-body); color: var(--ca-accent); }
.ca-share ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ca-share li { margin: 0; padding: 0; list-style: none; }
.ca-share button.ca-pill { font-family: var(--ca-body); }
.ca-share__copy { display: none; }
.ca-js .ca-share__copy { display: block; }
.ca-share .is-copied { background: var(--ca-accent); border-color: var(--ca-accent); color: #FFFFFF; }

/* Relacionadas: os mesmos cards da listagem */
.ca-related { background: var(--ca-surface); padding: 72px 0 88px; margin-top: 64px; }
.ca-related .ca-rule { margin: 12px 0 18px; }
.ca-related__title {
	font: 400 clamp(26px, 2.8vw, 34px)/1.1 var(--ca-head);
	color: var(--ca-accent);
	letter-spacing: 0;
	margin: 0 0 36px;
}
.section-post-related { display: none; }
.section-post-footer { padding: 0; }

/* Barra de progresso de leitura */
.ca-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 9999;
	pointer-events: none;
}
.ca-progress span {
	display: block;
	height: 100%;
	background: var(--ca-gold);
	transform-origin: left center;
	transform: scaleX(0);
}

/* ============================================================
   Movimento (dial 0.4). Sem JS ou com prefers-reduced-motion
   tudo aparece de imediato.
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
	.ca-js .ca-reveal {
		opacity: 0;
		transform: translateY(16px);
		transition: opacity .6s var(--ca-ease) var(--ca-d, 0ms), transform .6s var(--ca-ease) var(--ca-d, 0ms);
	}
	.ca-js .ca-reveal.is-in { opacity: 1; transform: none; }
	.ca-js .ca-featured.ca-reveal,
	.ca-js .ca-frame.ca-reveal { transform: translateY(20px) scale(.985); }
	.ca-js .ca-featured.ca-reveal.is-in,
	.ca-js .ca-frame.ca-reveal.is-in { transform: none; }
	/* o filete dourado se desenha quando o bloco entra */
	.ca-js .ca-reveal .ca-rule {
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform .7s var(--ca-ease) .2s;
	}
	.ca-js .ca-reveal.is-in .ca-rule { transform: none; }
}

/* ============================================================
   Home
   ============================================================ */
/* Hero em duas colunas: texto e foto emoldurada (o cavalo nao fica sob o texto) */
.ca-top {
	position: relative;
	overflow: hidden;
	background: var(--ca-surface);
	border-bottom: 1px solid var(--ca-border);
}
.ca-top__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 150px 40px 88px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
	gap: 56px;
	align-items: center;
	box-sizing: border-box;
}
.ca-top__content { max-width: 540px; }
.ca-top .ca-kicker { margin: 0 0 20px; }
.ca-top__title {
	font: 400 clamp(36px, 5vw, 60px)/1.05 var(--ca-head);
	letter-spacing: 0;
	color: var(--ca-accent);
	text-wrap: balance;
	margin: 0 0 22px;
}
.ca-top .ca-rule { margin: 0 0 22px; }
.ca-top__lead {
	font: 400 clamp(16px, 1.35vw, 19px)/1.6 var(--ca-body);
	color: var(--ca-ink);
	max-width: 44ch;
	margin: 0 0 32px;
}
.ca-top__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ca-top__pic {
	display: block;
	position: relative;
	aspect-ratio: 5 / 4;
	margin: 12px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--ca-surface);
}
.ca-top__pic img {
	position: absolute;
	left: 0;
	top: -6%;
	width: 100%;
	height: 112%;
	max-width: none;
	object-fit: cover;
	object-position: 52% 58%;
	margin: 0;
	border-radius: 0;
	will-change: transform;
}
@media (max-width: 1023px) {
	.ca-top__inner { grid-template-columns: 1fr; gap: 40px; padding: 150px 40px 56px; }
	.ca-top__content { max-width: 620px; }
}
@media (max-width: 767px) {
	.ca-top__inner { padding: 150px 20px 48px; gap: 36px; }
	.ca-top__actions { flex-direction: column; align-items: stretch; }
	.ca-top__actions .ca-btn { width: 100%; }
	.ca-top__pic { aspect-ratio: 4 / 3; margin: 8px; }
}

/* Cabecalho de secao (centralizado) */
#Content .ca-section-head .ca-section-head__lead {
	font: 400 17px/1.65 var(--ca-body);
	color: var(--ca-ink);
	max-width: 60ch;
	margin: 20px auto 0;
}
.ca-sec--posts .ca-pills { margin: 36px 0 44px; }
.ca-more { display: flex; justify-content: center; margin-top: 56px; }
.ca-grid--home { margin: 0; }

/* Painel de legado: foto + texto + tres pilares (bloco de destaque, leva moldura dupla) */
.ca-legacy { max-width: 1080px; margin: 0 auto; }
.ca-legacy .ca-frame__in { padding: 0; }
.ca-legacy__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: stretch;
}
.ca-legacy__photo { margin: 0; padding: 32px 0 32px 32px; }
.ca-legacy__photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 300px;
	object-fit: cover;
	border-radius: 10px;
	margin: 0;
}
.ca-legacy__text { padding: 44px 48px 40px 44px; }
.ca-legacy__text .ca-kicker { margin: 0; }
.ca-legacy__text .ca-rule { margin: 12px 0 18px; }
.ca-legacy__text h2 {
	font: 400 clamp(28px, 3vw, 38px)/1.12 var(--ca-head);
	letter-spacing: 0;
	margin: 0 0 18px;
	text-wrap: balance;
}
.ca-legacy__text p { font: 400 16px/1.7 var(--ca-body); color: var(--ca-ink); margin: 0 0 14px; }
.ca-legacy__text .ca-btn { margin-top: 12px; }
#Content ul.ca-legacy__pillars {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--ca-border);
}
#Content ul.ca-legacy__pillars li {
	list-style: none;
	margin: 0;
	padding: 28px 32px 32px;
	border-left: 1px solid var(--ca-border);
	font: 400 15px/1.6 var(--ca-body);
	color: var(--ca-ink);
}
#Content ul.ca-legacy__pillars li:first-child { border-left: 0; }
.ca-legacy__pillars .ca-i { color: var(--ca-accent-light); margin-bottom: 12px; display: block; }
.ca-legacy__pillars strong {
	display: block;
	font: 400 20px/1.2 var(--ca-head);
	color: var(--ca-accent);
	margin-bottom: 8px;
}
@media (max-width: 1023px) {
	.ca-legacy__grid { grid-template-columns: 1fr; }
	.ca-legacy__photo { padding: 24px 24px 0; }
	.ca-legacy__photo img { min-height: 0; aspect-ratio: 4 / 3; }
	.ca-legacy__text { padding: 32px 32px 32px; }
	#Content ul.ca-legacy__pillars { grid-template-columns: 1fr; }
	#Content ul.ca-legacy__pillars li { border-left: 0; border-top: 1px solid var(--ca-border); padding: 24px 32px; }
	#Content ul.ca-legacy__pillars li:first-child { border-top: 0; }
}
@media (max-width: 480px) {
	.ca-legacy__photo { padding: 14px 14px 0; }
	.ca-legacy__text { padding: 24px 20px 28px; }
	#Content ul.ca-legacy__pillars li { padding: 22px 20px; }
	.ca-legacy__text .ca-btn { width: 100%; }
}

/* Catalogo de profissionais: texto + painel verde com a lista de categorias */
.ca-catalog {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: 56px;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}
.ca-catalog__text h2 {
	font: 400 clamp(28px, 3vw, 38px)/1.12 var(--ca-head);
	letter-spacing: 0;
	margin: 0 0 18px;
	text-wrap: balance;
}
.ca-catalog__text .ca-rule { margin: 0 0 20px; }
.ca-catalog__text p { font: 400 17px/1.7 var(--ca-body); color: var(--ca-ink); margin: 0 0 26px; }
.ca-catalog__panel { background: var(--ca-accent); padding: 40px 44px 28px; }
#Content ul.ca-checks {
	list-style: none;
	margin: 0;
	padding: 0;
	columns: 2;
	column-gap: 36px;
}
#Content ul.ca-checks li {
	list-style: none;
	break-inside: avoid;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0;
	padding: 0 0 16px;
	font: 400 16px/1.4 var(--ca-body);
	color: #FFFFFF;
}
.ca-checks .ca-i { color: var(--ca-panel); margin-top: 1px; }
@media (max-width: 1023px) {
	.ca-catalog { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 640px) {
	.ca-catalog__panel { padding: 28px 22px 14px; }
	#Content ul.ca-checks { columns: 1; }
	.ca-catalog__text .ca-btn { width: 100%; }
}

/* Numeros do cavalo no Brasil (faixa escura com foto; valores reais) */
.ca-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	max-width: 1000px;
	margin: 44px auto 0;
}
.ca-stat {
	background: rgba(20, 26, 12, .38);
	border: 1px solid rgba(229, 225, 207, .34);
	padding: 36px 24px 32px;
	text-align: center;
}
#Content .ca-stat .ca-stat__num {
	font: 400 clamp(44px, 5.2vw, 68px)/1 var(--ca-head);
	letter-spacing: 0;
	color: #E5E1CF;
	margin: 0 0 14px;
	text-shadow: none;
}
.ca-stat__unit { font-size: .5em; letter-spacing: 0; }
#Content .ca-stat .ca-stat__label { font: 400 15px/1.5 var(--ca-body); color: #FCFCFC; margin: 0; }
#Content .ca-sec .ca-source { font: 400 14px/1.4 var(--ca-body); color: #E5E1CF; text-align: center; margin: 28px 0 0; }
@media (max-width: 767px) {
	.ca-stats { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
	.ca-stat { padding: 28px 20px; }
}

/* Faixa de numeros: titulo centralizado e veu escuro so o bastante para o texto */
.ca-numbers { text-align: center; }
#Content .ca-numbers h2 {
	font: 400 clamp(30px, 3.6vw, 46px)/1.1 var(--ca-head);
	color: #FFFFFF;
	letter-spacing: 0;
	margin: 0 0 20px;
	text-wrap: balance;
}
.ca-numbers .ca-rule { margin: 0 auto; background: #E5E1CF; }
#Content .ca-sec--stats .mcb-background-overlay {
	background: linear-gradient(180deg, rgba(24, 32, 14, .70) 0%, rgba(24, 32, 14, .60) 100%);
}
@media (max-width: 767px) {
	#Content .ca-numbers h2 { font-size: 32px; margin-bottom: 16px; }
}

/* Quem Somos: equipe em moldura dupla (guia §12) */
.ca-sec--team .column_column .mcb-column-inner,
.ca-sec--team .column_column .column_attr { height: 100%; }
.ca-team-card { display: flex; height: 100%; }
.ca-team-card .ca-frame__in.ca-person { flex: 1; padding: 36px 28px 32px; }
@media (max-width: 767px) {
	.ca-team-card .ca-frame__in.ca-person { padding: 28px 20px; }
	.ca-sec--team .column_column .mcb-column-inner,
	.ca-sec--team .column_column .column_attr { height: auto; }
}

/* ============================================================
   Rodape em duas camadas (guia §21): faixa bege + corpo verde + barra final
   ============================================================ */
.ca-contact-band {
	position: relative;
	background: var(--ca-surface);
	border-top: 3px solid var(--ca-panel);
	padding: 64px 0 40px;
}
.ca-contact-band__seal {
	position: absolute;
	left: 50%;
	top: -30px;
	transform: translateX(-50%);
	width: 56px;
	height: 56px;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 3px solid var(--ca-panel);
	border-radius: 7px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ca-contact-band__seal img { width: 38px; height: 38px; object-fit: contain; display: block; }
.ca-contact-band__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.ca-contact-band__title {
	font: 400 clamp(24px, 2.4vw, 30px)/1.2 var(--ca-head);
	color: var(--ca-accent);
	letter-spacing: 0;
	margin: 0 0 6px;
}
.ca-contact-band p { font: 400 16px/1.5 var(--ca-body); color: var(--ca-ink); margin: 0; }
@media (max-width: 767px) {
	.ca-contact-band { padding: 56px 0 32px; }
	.ca-contact-band__inner { flex-direction: column; align-items: stretch; padding: 0 20px; gap: 20px; }
	.ca-contact-band .ca-btn { width: 100%; }
}

body #Footer { background-color: var(--ca-accent); overflow: visible; }
body #Footer .widgets_wrapper { background: var(--ca-accent); padding: 64px 0 24px; }
body #Footer .widgets_wrapper::before { display: none; }
body #Footer .widgets_wrapper .widget { margin-bottom: 32px; }
body #Footer .widgets_wrapper h4 {
	font: 400 22px/1.2 var(--ca-head);
	color: var(--ca-panel);
	letter-spacing: 0;
	margin: 0 0 18px;
}
body #Footer .widgets_wrapper p,
body #Footer .widgets_wrapper li { color: #FCFCFC; font: 400 15px/1.6 var(--ca-body); }
body #Footer .widgets_wrapper .ca-footer-brand {
	font: 400 30px/1.1 var(--ca-head);
	color: #FFFFFF;
	letter-spacing: 0;
	margin: 0;
}
body #Footer .widgets_wrapper .ca-rule { background: var(--ca-panel); margin: 14px 0 16px; }
body #Footer .widgets_wrapper a:not(.ca-footer-btn) {
	color: #FCFCFC;
	text-decoration: none;
	transition: color .2s ease;
}
body #Footer .widgets_wrapper a:not(.ca-footer-btn):hover,
body #Footer .widgets_wrapper a:not(.ca-footer-btn):focus-visible {
	color: var(--ca-panel);
	text-decoration: underline;
	text-underline-offset: 3px;
}
body #Footer .widgets_wrapper a:focus-visible { outline: 3px solid var(--ca-panel); outline-offset: 3px; }

body #Footer .footer_copy { background: var(--ca-accent-dark); border-top: 0; padding: 16px 0; }
body #Footer .footer_copy .copyright {
	float: none;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 24px;
	color: var(--ca-border);
	font: 400 14px/1.5 var(--ca-body);
}
body #Footer .footer_copy .copyright a {
	color: var(--ca-border);
	text-decoration: underline;
	text-underline-offset: 3px;
}
body #Footer .footer_copy .copyright a:hover { color: #FFFFFF; }
body #Footer .footer_copy .social { display: none; }

/* Voltar ao topo (guia §22): fixo a 24px do canto, aparece depois de uma tela de rolagem */
body #Footer .footer_copy #back_to_top.button,
body #back_to_top.button {
	position: fixed !important;
	right: 24px !important;
	bottom: 24px !important;
	left: auto !important;
	top: auto !important;
	z-index: 900;
	width: 48px !important;
	height: 48px !important;
	min-height: 48px;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: #FFFFFF !important;
	border: 2px solid var(--ca-accent) !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transition: opacity .25s ease, transform .25s ease, background-color .2s ease;
}
body #back_to_top.button i { color: var(--ca-accent) !important; margin: 0; line-height: 1; font-size: 20px; }
body #back_to_top.button:hover { background: var(--ca-accent) !important; }
body #back_to_top.button:hover i { color: #FFFFFF !important; }
body #back_to_top.button:focus-visible { outline: 3px solid var(--ca-gold); outline-offset: 3px; }
html.ca-js body #back_to_top.button { opacity: 0; pointer-events: none; transform: translateY(8px); }
html.ca-js body #back_to_top.button.is-visible { opacity: 1; pointer-events: auto; transform: none; }

/* ============================================================
   Sanfonas (guia §13) e listas com icone (guia §15)
   ============================================================ */
#Content .accordion > h4.title.heading {
	font: 400 clamp(24px, 2.4vw, 30px)/1.15 var(--ca-head);
	color: var(--ca-accent);
	letter-spacing: 0;
	margin: 0 0 16px;
}
#Content .mfn-acc .question {
	background: #FFFFFF;
	border: 1px solid var(--ca-border);
	border-top-width: 0;
	margin: 0;
}
#Content .mfn-acc .question:first-child { border-top-width: 1px; }
#Content .mfn-acc .question > .title {
	position: relative;
	display: block;
	box-sizing: border-box;
	min-height: 56px;
	padding: 15px 64px 15px 20px;
	font: 400 20px/1.3 var(--ca-head);
	letter-spacing: 0;
	color: var(--ca-accent);
	cursor: pointer;
	transition: background-color .2s ease;
}
#Content .mfn-acc .question > .title i { display: none; }
#Content .mfn-acc .question > .title::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	box-sizing: border-box;
	border: 2px solid var(--ca-accent);
	border-radius: 50%;
	background:
		linear-gradient(var(--ca-accent), var(--ca-accent)) center / 14px 2px no-repeat,
		linear-gradient(var(--ca-accent), var(--ca-accent)) center / 2px 14px no-repeat;
}
#Content .mfn-acc .question.active > .title::after {
	background: linear-gradient(var(--ca-accent), var(--ca-accent)) center / 14px 2px no-repeat;
}
#Content .mfn-acc .question:hover > .title,
#Content .mfn-acc .question.active > .title { background: var(--ca-surface); }
#Content .mfn-acc .question:focus-visible { outline: 3px solid var(--ca-gold); outline-offset: 2px; }
#Content .mfn-acc .question .answer {
	padding: 12px 24px 26px;
	border-top: 1px solid var(--ca-border);
	font: 400 15px/1.6 var(--ca-body);
	color: var(--ca-ink);
}
#Content .mfn-acc .question .answer h3 {
	font: 400 19px/1.25 var(--ca-head);
	letter-spacing: 0;
	color: var(--ca-accent);
	margin: 22px 0 4px;
	padding-top: 18px;
	border-top: 1px solid var(--ca-border);
}
#Content .mfn-acc .question .answer h3:first-of-type { margin-top: 4px; padding-top: 0; border-top: 0; }
#Content .mfn-acc .question .answer p { font-size: 15px; line-height: 1.6; margin: 0 0 4px; }
@media (max-width: 767px) {
	#Content .mfn-acc .question > .title { font-size: 18px; padding-right: 60px; }
	#Content .mfn-acc .question .answer { padding: 8px 18px 22px; }
}

/* Lista de contato: icone em circulo + texto (guia §15) */
#Content .list_item.lists_2 > a {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 10px 0;
	text-decoration: none;
}
#Content .list_item .list_left.list_icon {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	float: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: 2px solid var(--ca-panel);
	border-radius: 50%;
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
}
#Content .list_item .list_left.list_icon i {
	position: static;
	margin: 0;
	line-height: 1;
	font-size: 22px;
	color: var(--ca-accent);
}
#Content .list_item .list_right { float: none; flex: 1; margin: 0; padding: 0; }
#Content .list_item .list_right .desc { font: 400 16px/1.6 var(--ca-body); color: var(--ca-ink); }
#Content .list_item > a:hover .desc,
#Content .list_item > a:focus-visible .desc {
	color: var(--ca-accent-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}
#Content .list_item > a:focus-visible { outline: 3px solid var(--ca-gold); outline-offset: 4px; }

/* Cartoes lado a lado com a mesma altura (equipe e "o que voce encontra") */
.ca-sec--team .mcb-wrap-inner,
.ca-sec--features .mcb-wrap-inner { align-items: stretch; }
.ca-sec--team .column_column > .mcb-column-inner,
.ca-sec--features .column_column > .mcb-column-inner { flex: 1 1 auto; align-self: stretch; height: auto; }
.ca-sec--team .column_column .column_attr,
.ca-sec--features .column_column .column_attr { height: 100%; }

/* Acertos finos: o cartao da equipe nao herda a margem antiga de .ca-person; copyright alinhado no celular */
.ca-team-card .ca-frame__in.ca-person { margin: 0; }
@media (max-width: 767px) {
	body #Footer .footer_copy .copyright { text-align: left; justify-content: flex-start; }
}

/* O tema centraliza o texto das colunas no tablet: cartoes e blocos de texto ficam alinhados a esquerda */
.ca-card,
.ca-legacy__text,
.ca-catalog__text,
.ca-featured__body { text-align: left; }

/* Filtros dentro de colunas do builder: a regra de link em texto nao sublinha as pilulas */
#Content .column_attr .ca-pills li a.ca-pill { text-decoration: none; }
#Content .column_attr .ca-pills li a.ca-pill.is-active { color: #FFFFFF; }

/* Nota de fonte sobre a foto: fundo escuro proprio para garantir 4,5:1 mesmo no trecho mais claro da imagem */
#Content .ca-sec .ca-source {
	display: table;
	margin: 28px auto 0;
	padding: 6px 16px;
	background: rgba(20, 26, 12, .70);
}

/* ============================================================
   Hero das paginas internas e do Blog (faixa verde com trilha, filete, H1 e resumo)
   Substitui o #Subheader do tema nessas paginas; o cabecalho com o menu nao muda.
   ============================================================ */
body.ca-listing #Subheader,
body.ca-hero-page #Subheader { display: none; }

.ca-pagehero {
	position: relative;
	overflow: hidden;
	background-color: var(--ca-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22104%22 height=%22104%22 viewBox=%220 0 104 104%22%3E%3Cg fill=%22none%22 stroke=%22%23FCFCFC%22 stroke-opacity=%220.13%22 stroke-width=%221.3%22 stroke-linejoin=%22round%22%3E%3Cg transform=%22translate%288 8%29 rotate%28-18 20 20%29 scale%28.92%29%22%3E%3Cpath d=%22M9 4C5 12 4 22 8 29C11 34 16 36 20 36C24 36 29 34 32 29C36 22 35 12 31 4L25.5 5.5C27.5 12 27.5 19 25 24C23.5 27 21.5 28 20 28C18.5 28 16.5 27 15 24C12.5 19 12.5 12 14.5 5.5Z%22/%3E%3Ccircle cx=%229%22 cy=%2213%22 r=%221.15%22/%3E%3Ccircle cx=%229.3%22 cy=%2219.5%22 r=%221.15%22/%3E%3Ccircle cx=%2211.6%22 cy=%2225.5%22 r=%221.15%22/%3E%3Ccircle cx=%2231%22 cy=%2213%22 r=%221.15%22/%3E%3Ccircle cx=%2230.7%22 cy=%2219.5%22 r=%221.15%22/%3E%3Ccircle cx=%2228.4%22 cy=%2225.5%22 r=%221.15%22/%3E%3C/g%3E%3Cg transform=%22translate%2858 58%29 rotate%2822 20 20%29 scale%28.92%29%22%3E%3Cpath d=%22M9 4C5 12 4 22 8 29C11 34 16 36 20 36C24 36 29 34 32 29C36 22 35 12 31 4L25.5 5.5C27.5 12 27.5 19 25 24C23.5 27 21.5 28 20 28C18.5 28 16.5 27 15 24C12.5 19 12.5 12 14.5 5.5Z%22/%3E%3Ccircle cx=%229%22 cy=%2213%22 r=%221.15%22/%3E%3Ccircle cx=%229.3%22 cy=%2219.5%22 r=%221.15%22/%3E%3Ccircle cx=%2211.6%22 cy=%2225.5%22 r=%221.15%22/%3E%3Ccircle cx=%2231%22 cy=%2213%22 r=%221.15%22/%3E%3Ccircle cx=%2230.7%22 cy=%2219.5%22 r=%221.15%22/%3E%3Ccircle cx=%2228.4%22 cy=%2225.5%22 r=%221.15%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	background-size: 104px 104px;
	border-bottom: 3px solid var(--ca-gold);
}
.ca-pagehero__in { padding: 54px 0 52px; max-width: 860px; }
.ca-pagehero__crumbs ol {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	font: 400 14px/1.4 var(--ca-body);
	color: var(--ca-border);
}
.ca-pagehero__crumbs li { margin: 0; padding: 0; list-style: none; color: var(--ca-border); }
.ca-pagehero__crumbs li + li::before { content: "›"; margin: 0 10px; color: var(--ca-panel); }
.ca-pagehero__crumbs a { color: var(--ca-border); text-decoration: none; }
.ca-pagehero__crumbs a:hover,
.ca-pagehero__crumbs a:focus-visible { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
.ca-pagehero__crumbs a:focus-visible { outline: 3px solid var(--ca-panel); outline-offset: 3px; }
.ca-pagehero .ca-rule { background: var(--ca-panel); margin: 0 0 20px; }
#Content .ca-pagehero__title,
.ca-pagehero__title {
	font: 400 clamp(36px, 4.8vw, 56px)/1.05 var(--ca-head);
	letter-spacing: 0;
	color: #FFFFFF;
	margin: 0 0 16px;
	text-wrap: balance;
	text-shadow: none;
}
.ca-pagehero__lead {
	font: 400 clamp(16px, 1.4vw, 19px)/1.6 var(--ca-body);
	color: #FCFCFC;
	max-width: 60ch;
	margin: 0;
}
@media (max-width: 767px) {
	.ca-pagehero__in { padding: 38px 0 36px; }
	.ca-pagehero__crumbs ol { margin-bottom: 16px; }
}

/* Hero anterior da home (opcao "Anterior"): o botao secundario mantem o fundo creme sobre a foto */
.ca-hero a.ca-btn.ca-btn--secondary { background: rgba(252, 252, 252, .7); }
.ca-hero a.ca-btn.ca-btn--secondary:hover { background: var(--ca-accent); color: #FFFFFF; }
@media (max-width: 1023px) {
	.ca-hero a.ca-btn.ca-btn--secondary { background: transparent; }
	.ca-hero a.ca-btn.ca-btn--secondary:hover { background: var(--ca-accent); color: #FFFFFF; }
}

/* ============================================================
   Profissionais do Cavalo: busca, indice, categorias e anuncio
   ============================================================ */
.ca-cattools { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.ca-cat-search { display: none; }
.ca-js .ca-cat-search { display: block; }
#Content .ca-cattools .ca-search { margin: 0 auto; }
#Content .ca-cat-status { font: 600 14px/1.4 var(--ca-body); color: var(--ca-accent); text-align: center; min-height: 20px; margin: 0; }
.ca-catnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.ca-catnav li { margin: 0; padding: 0; list-style: none; }
#Content .column_attr .ca-catnav li a.ca-pill { text-decoration: none; }
#Content .column_attr .ca-catnav li a.ca-pill--solid { background: var(--ca-accent); border-color: var(--ca-accent); color: #FFFFFF; }
#Content .column_attr .ca-catnav li a.ca-pill--solid:hover { background: var(--ca-accent-dark); border-color: var(--ca-accent-dark); color: #FFFFFF; }

.ca-cat { scroll-margin-top: 96px; }
#Content .ca-cat h2.ca-cat__title {
	font: 400 clamp(26px, 2.8vw, 36px)/1.15 var(--ca-head);
	letter-spacing: 0;
	color: var(--ca-accent);
	text-transform: none;
	margin: 0 0 12px;
}
.ca-cat .ca-rule { margin: 0 0 8px; }
.ca-cat .mcb-wrap-inner { align-items: flex-start; }
.ca-cat .column_image .image_frame,
.ca-cat .column_image .image_wrapper { margin: 0; }
.ca-cat .column_image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
}
@media (min-width: 1024px) {
	.ca-cat .column_image { position: sticky; top: 110px; align-self: flex-start; }
}
.ca-cat[hidden],
.ca-cat.is-filtered { display: none; }
.ca-prov[hidden] { display: none; }
#Content .mfn-acc .question.is-filtered { display: none; }
#Content .mfn-acc .question > .title .ca-acc-count {
	position: absolute;
	right: 64px;
	top: 50%;
	transform: translateY(-50%);
	font: 600 13px/1.2 var(--ca-body);
	color: var(--ca-ink);
	white-space: nowrap;
}
#Content .mfn-acc .question > .title.has-count { padding-right: 170px; }
@media (max-width: 640px) {
	#Content .mfn-acc .question > .title.has-count { padding-right: 60px; }
	#Content .mfn-acc .question > .title .ca-acc-count { position: static; display: block; transform: none; margin-top: 2px; }
}

/* Anuncie gratis: bloco de destaque com moldura dupla */
.ca-advertise { max-width: 1080px; margin: 0 auto; }
.ca-advertise .ca-frame__in { padding: 0; }
.ca-advertise__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: stretch; }
.ca-advertise__photo { margin: 0; padding: 32px 0 32px 32px; }
.ca-advertise__photo img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; border-radius: 10px; margin: 0; }
.ca-advertise__text { padding: 44px 48px 40px 44px; }
.ca-advertise__text h2 { font: 400 clamp(28px, 3vw, 38px)/1.12 var(--ca-head); letter-spacing: 0; margin: 0 0 14px; }
.ca-advertise__text .ca-rule { margin: 0 0 18px; }
#Content .ca-advertise__text p { font: 400 16px/1.7 var(--ca-body); color: var(--ca-ink); margin: 0 0 22px; }
.ca-advertise__actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 1023px) {
	.ca-advertise__grid { grid-template-columns: 1fr; }
	.ca-advertise__photo { padding: 24px 24px 0; }
	.ca-advertise__photo img { min-height: 0; aspect-ratio: 4 / 3; }
	.ca-advertise__text { padding: 32px; }
}
@media (max-width: 480px) {
	.ca-advertise__photo { padding: 14px 14px 0; }
	.ca-advertise__text { padding: 24px 20px 28px; }
	.ca-advertise__actions { flex-direction: column; }
	.ca-advertise__actions .ca-btn { width: 100%; }
}

/* O hero do blog encosta na foto do cabecalho: sem o padding de 30px que o tema poe no #Content */
div#Content.ca-blog-page { padding-top: 0; margin-top: 0; }

/* Profissionais: titulos e rotulo alinhados a esquerda, como o filete */
.ca-cat .column_column .column_attr,
.ca-cattools,
#Content .ca-cat h2.ca-cat__title { text-align: left; }

/* Celular: indice do catalogo em uma linha com rolagem lateral (como as pilulas do blog) */
@media (max-width: 767px) {
	.ca-catnav ul {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		padding: 2px 2px 8px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: var(--ca-panel) transparent;
	}
	.ca-catnav li { flex: 0 0 auto; scroll-snap-align: start; }
	.ca-cattools { min-width: 0; }
}

/* Hero: ferraduras no lugar do pontilhado (menores no celular) */
@media (max-width: 767px) {
	.ca-pagehero { background-size: 84px 84px; }
}

/* Foto da praia no cabecalho: a imagem (1920x396) fica fixa pelo topo, no mesmo enquadramento de antes
   (o subheader antigo de 119px cobria a parte de baixo da foto; sem ele ela descia e os cavaleiros sumiam) */
body.ca-listing #Header_wrapper,
body.ca-hero-page #Header_wrapper,
body.single-post #Header_wrapper { background-position: 50% -27px; }
@media (max-width: 820px) {
	body.ca-listing #Header_wrapper,
	body.ca-hero-page #Header_wrapper,
	body.single-post #Header_wrapper { background-position: 50% -33px; }
}
@media (max-width: 600px) {
	body.ca-listing #Header_wrapper,
	body.ca-hero-page #Header_wrapper,
	body.single-post #Header_wrapper { background-position: 50% -35px; }
}
