/* ── Braz Turismo · Pontos (vitrine) ─────────────── */
.brt-pontos{ --brt-green:#046929; --brt-green-dark:#023D18; --brt-coral:#E0613A; }

/* Cabeçalho da seção */
.brt-pontos__head{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.brt-pontos__title{
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 700;
}
.brt-pontos__counter{ font-size: 13px; white-space: nowrap; }

/* Grade */
.brt-pontos__grid{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/* ── Card base ──────────────────────────────────── */
.brt-ponto{
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #fff;
	border: 1px solid #E3DFD4;
	border-radius: 16px;
}
.brt-ponto[hidden]{ display: none; }

/* Mídia / bloco-imagem */
.brt-ponto__media{
	position: relative;
	display: block;
	height: 165px;
	overflow: hidden;
	text-decoration: none;
	background: #2f5d3a;
}
.brt-ponto__img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* Gradiente temático quando não há foto */
.brt-ponto--noimg .brt-ponto__media{
	background-image:
		repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 9px),
		linear-gradient(150deg, var(--brt-tema-a), var(--brt-tema-b));
}
.brt-ponto--serra{ --brt-tema-a:#33623f; --brt-tema-b:#1b3724; }
.brt-ponto--cafe { --brt-tema-a:#5d3f29; --brt-tema-b:#36210f; }
.brt-ponto--pedra{ --brt-tema-a:#3c4855; --brt-tema-b:#222a33; }

/* Rótulo de tipo (canto sup. esq.) */
.brt-ponto__tipo-label{
	position: absolute;
	top: 12px;
	left: 12px;
	padding: .32em .7em;
	border-radius: 6px;
	background: rgba(0,0,0,0.34);
	backdrop-filter: blur(3px);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* Badge de distância (canto sup. dir.) */
.brt-ponto__dist{
	position: absolute;
	top: 12px;
	right: 12px;
	padding: .34em .72em;
	border-radius: 999px;
	background: rgba(255,255,255,0.92);
	color: #1d2420;
	font-size: 11.5px;
	font-weight: 600;
	box-shadow: 0 1px 4px rgba(0,0,0,.12);
}

/* Selo coral (destaque) */
.brt-ponto__badge{
	position: absolute;
	top: 14px;
	left: 14px;
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .4em .8em;
	border-radius: 999px;
	background: #E0613A;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.brt-ponto__badge span{ font-size: .85em; }

/* Legenda sobre a imagem */
.brt-ponto__caption{
	position: absolute;
	left: 14px;
	bottom: 12px;
	right: 14px;
	color: rgba(255,255,255,0.92);
	font-size: 12px;
	text-shadow: 0 1px 6px rgba(0,0,0,.45);
}

/* Corpo */
.brt-ponto__body{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 18px 18px 16px;
}
.brt-ponto__title{
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	line-height: 1.2;
}
.brt-ponto__title a{ text-decoration: none; color: inherit; }
.brt-ponto__desc{
	margin: 8px 0 0;
	font-size: 13.5px;
	line-height: 1.5;
	color: #5B6660;
}

/* Rodapé: chips + CTA */
.brt-ponto__footer{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
}
.brt-ponto__chips{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12.5px;
	color: #5B6660;
}
.brt-ponto__chips li{
	position: relative;
	display: inline-flex;
	align-items: center;
	padding-left: 14px;
}
.brt-ponto__chips li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #046929;
}

/* CTA da grade — link de texto coral */
.brt-ponto__cta{
	display: inline-flex;
	align-items: center;
	gap: .35em;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 600;
	color: #E0613A;
	text-decoration: none;
}
.brt-ponto__cta-seta{ transition: transform .15s ease; }
.brt-ponto__cta:hover .brt-ponto__cta-seta{ transform: translateX(3px); }

/* ── Card destaque (horizontal) ─────────────────── */
.brt-ponto--featured{
	flex-direction: row;
}
.brt-ponto--featured .brt-ponto__media{
	flex: 0 0 45%;
	height: auto;
	min-height: 300px;
}
.brt-ponto--featured .brt-ponto__body{
	padding: 28px 30px;
	justify-content: center;
}
.brt-ponto--featured .brt-ponto__eyebrow{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
.brt-ponto__pill{
	padding: .34em .8em;
	border-radius: 999px;
	background: #EEF4EF;
	color: #046929;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.brt-ponto__dist-inline{ font-size: 12.5px; color: #5B6660; }
.brt-ponto--featured .brt-ponto__title{ font-size: clamp(22px, 2.4vw, 30px); }
.brt-ponto--featured .brt-ponto__desc{ font-size: 14.5px; }
.brt-ponto--featured .brt-ponto__footer{ padding-top: 20px; }

/* CTA do destaque — botão verde sólido */
.brt-ponto--featured .brt-ponto__cta{
	padding: .7em 1.3em;
	border-radius: 999px;
	background: #046929;
	color: #fff;
	font-size: 14px;
	transition: background-color .15s ease;
}
.brt-ponto--featured .brt-ponto__cta:hover{ background: #023D18; }

/* Empty-state (editor) */
.brt-pontos__vazio{
	padding: 28px;
	border: 1px dashed #cfc9bb;
	border-radius: 14px;
	color: #8a8275;
	text-align: center;
	font-size: 14px;
}

/* ── Responsivo ─────────────────────────────────── */
@media (max-width: 880px){
	.brt-ponto--featured{ flex-direction: column; }
	.brt-ponto--featured .brt-ponto__media{ flex: none; min-height: 220px; height: 220px; }
}
@media (max-width: 600px){
	.brt-pontos__grid{ grid-template-columns: 1fr; }
}
