/* ════════════════════════════════════════════════
   bpc-visibility-spots — grid 2x2 dos lugares de destaque
   ════════════════════════════════════════════════ */
.bpc-vs {
	--bpc-ink:     #2b2018;
	--bpc-muted:   #7a6f60;
	--bpc-green:   #2f6b46;
	--bpc-coral:   #e0623d;
	--bpc-gold:    #c8861a;
	--bpc-line:    #ece4d8;
	--bpc-card-bg: #ffffff;

	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	margin-inline: auto;
}
.bpc-vs *, .bpc-vs *::before, .bpc-vs *::after { box-sizing: border-box; }

/* ── Cabeçalho ─────────────────────────────────── */
.bpc-vs__head { text-align: center; margin-bottom: 40px; }
.bpc-vs__eyebrow {
	margin: 0 0 10px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bpc-green);
}
.bpc-vs__title {
	margin: 0 auto;
	max-width: 640px;
	font-size: clamp(1.7rem, 3.8vw, 2.5rem);
	line-height: 1.16;
	font-weight: 800;
	color: var(--bpc-ink);
}

/* ── Grid ──────────────────────────────────────── */
.bpc-vs__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.bpc-vs__card {
	display: flex;
	flex-direction: column;
	padding: 30px 30px 32px;
	background: var(--bpc-card-bg);
	border: 1px solid var(--bpc-line);
	border-radius: 22px;
	box-shadow: 0 8px 30px rgba(43, 32, 24, 0.05);
}

.bpc-vs__card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.bpc-vs__num {
	flex-shrink: 0;
	width: 34px; height: 34px;
	border-radius: 9px;
	display: grid; place-items: center;
	font-size: 0.92rem;
	font-weight: 800;
}
/* Tons suaves alternados por card (igual ao layout de referência) */
.bpc-vs__card--n1 .bpc-vs__num { background: #f8ddd4; color: #c0563a; }
.bpc-vs__card--n2 .bpc-vs__num { background: #dcebe0; color: #2f6b46; }
.bpc-vs__card--n3 .bpc-vs__num { background: #f6e8cf; color: #b07d1f; }
.bpc-vs__card--n4 .bpc-vs__num { background: #dcebe0; color: #2f6b46; }

.bpc-vs__card-title { margin: 0; font-size: 1.4rem; font-weight: 800; color: var(--bpc-ink); }
.bpc-vs__card-desc { margin: 0 0 22px; font-size: 0.98rem; line-height: 1.5; color: var(--bpc-muted); }

/* ── Previews ──────────────────────────────────── */
.bpc-vs__preview { margin-top: auto; }

.bpc-vs__avatar {
	flex-shrink: 0;
	width: 46px; height: 46px;
	border-radius: 11px;
	display: grid; place-items: center;
	background: #3a2415; color: #f0c98a;
	font-size: 0.86rem; font-weight: 800;
}
.bpc-vs__avatar--empty { background: #e3d8c8; }

/* Banner (spot 1) */
.bpc-vs__banner {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid #e6c98a;
	border-radius: 14px;
	background: linear-gradient(120deg, #fbf1da 0%, #f5e3bd 100%);
}
.bpc-vs__banner-txt { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.bpc-vs__banner-tag { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; color: #b07d1f; }
.bpc-vs__banner-txt strong { font-size: 1rem; color: #3a2415; }
.bpc-vs__banner-cta {
	flex-shrink: 0;
	padding: 9px 16px;
	border-radius: 9px;
	background: #5a3c1c;
	color: #fff;
	font-size: 0.82rem;
	font-weight: 700;
}

/* Carrossel (spot 2) */
.bpc-vs__carousel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bpc-vs__cc {
	height: 92px;
	border-radius: 12px;
	background: linear-gradient(160deg, #2f6b46 0%, #1f3d2e 100%);
	position: relative;
}
.bpc-vs__cc::after {
	content: "";
	position: absolute;
	left: 10px; right: 10px; bottom: 10px;
	height: 28px;
	border-radius: 6px;
	background: #fff;
}
.bpc-vs__cc--active { outline: 2px solid var(--bpc-coral); outline-offset: 2px; }

/* Guia (spot 3) */
.bpc-vs__guide { display: flex; flex-direction: column; gap: 10px; }
.bpc-vs__guide-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--bpc-line);
	border-radius: 12px;
	background: #fff;
	min-height: 56px;
}
.bpc-vs__guide-row--top {
	justify-content: space-between;
	border: 1px solid #e6c98a;
	background: linear-gradient(120deg, #fbf1da 0%, #f5e3bd 100%);
}
.bpc-vs__guide-badge {
	padding: 6px 12px;
	border-radius: 999px;
	background: #d9a03a;
	color: #4a2f0a;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	white-space: nowrap;
}

/* Evento (spot 4) */
.bpc-vs__event {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border: 1px solid var(--bpc-line);
	border-radius: 14px;
	background: #fff;
}
.bpc-vs__event-date {
	flex-shrink: 0;
	width: 52px; height: 52px;
	border-radius: 11px;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	background: var(--bpc-green); color: #fff;
	line-height: 1;
}
.bpc-vs__event-date strong { font-size: 1.25rem; }
.bpc-vs__event-date span { font-size: 0.64rem; font-weight: 700; letter-spacing: 0.06em; margin-top: 2px; }
.bpc-vs__event-txt { display: flex; flex-direction: column; gap: 5px; }
.bpc-vs__event-txt strong { font-size: 1rem; color: var(--bpc-ink); }
.bpc-vs__event-tag {
	align-self: flex-start;
	padding: 4px 11px;
	border-radius: 999px;
	background: #f6e8cf;
	color: #b07d1f;
	font-size: 0.74rem;
	font-weight: 700;
}

/* ── Responsivo ────────────────────────────────── */
@media (max-width: 820px) {
	.bpc-vs__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.bpc-vs__head { margin-bottom: 28px; }
	.bpc-vs__card { padding: 24px 20px 26px; }
	/* Banner/evento do preview podem quebrar a linha em telas estreitas */
	.bpc-vs__banner { flex-wrap: wrap; }
	.bpc-vs__banner-cta { margin-left: auto; }
	.bpc-vs__event { flex-wrap: wrap; }
	.bpc-vs__guide-row--top { flex-wrap: wrap; gap: 8px; }
}
