/* Portfólio — cards com carrossel. Ver inc/portfolio.php */

.rp-pf-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
@media (max-width: 991px) { .rp-pf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .rp-pf-grid { grid-template-columns: 1fr; } }

.rp-pf-card {
	display: flex;
	flex-direction: column;
	background: var(--bs-body-bg, #fff);
	border: 1px solid var(--rp-ink-100, #e6e8ec);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

/* ── Carrossel ─────────────────────────────────────────────── */
.rp-pf-carousel { position: relative; background: var(--rp-ink-50, #f3f4f6); }
.rp-pf-carousel__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}
.rp-pf-carousel__track::-webkit-scrollbar { display: none; }
.rp-pf-carousel__track:focus-visible { outline: 2px solid var(--rp-blue-500, #0078d4); outline-offset: -2px; }
.rp-pf-carousel__slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	aspect-ratio: 16 / 9;
}
.rp-pf-carousel__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rp-pf-carousel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--rp-ink-900, #111827);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
	cursor: pointer;
	opacity: 0;
	transition: opacity .2s ease;
}
.rp-pf-carousel__arrow--prev { left: 10px; }
.rp-pf-carousel__arrow--next { right: 10px; }
.rp-pf-carousel:hover .rp-pf-carousel__arrow,
.rp-pf-carousel__arrow:focus-visible { opacity: 1; }
.rp-pf-carousel__arrow[disabled] { opacity: 0 !important; pointer-events: none; }
/* Touch: sem setas, navega no swipe. */
@media (hover: none) { .rp-pf-carousel__arrow { display: none; } }

.rp-pf-carousel__dots {
	position: absolute;
	left: 0; right: 0; bottom: 8px;
	display: flex; justify-content: center; gap: 6px;
	pointer-events: none;
}
.rp-pf-carousel__dot {
	pointer-events: auto;
	width: 7px; height: 7px; padding: 0;
	border: 0; border-radius: 99px;
	background: rgba(255, 255, 255, .6);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .15);
	cursor: pointer;
	transition: width .2s ease, background .2s ease;
}
.rp-pf-carousel__dot.is-active { width: 18px; background: #fff; }

/* ── Texto ─────────────────────────────────────────────────── */
.rp-pf-card__body { padding: 20px 22px 24px; }
.rp-pf-card__label {
	display: block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--rp-blue-500, #0078d4);
	margin-bottom: 8px;
}
.rp-pf-card__title { font-size: 1.12rem; line-height: 1.3; margin: 0 0 8px; }
.rp-pf-card__desc { font-size: .94rem; line-height: 1.55; margin: 0; color: var(--rp-ink-600, #4b5563); }

/* Variante sobre fundo escuro (Home, bloco "Para empresas") */
.rp-pf-grid--dark .rp-pf-card { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); box-shadow: none; }
.rp-pf-grid--dark .rp-pf-card__title { color: #fff; }
.rp-pf-grid--dark .rp-pf-card__desc { color: rgba(255, 255, 255, .72); }
.rp-pf-grid--dark .rp-pf-card__label { color: var(--rp-blue-300, #56a9da); }

@media (prefers-reduced-motion: reduce) {
	.rp-pf-carousel__track { scroll-behavior: auto; }
}

/* ── Home: bloco "Para empresas" (cabeçalho compacto + cards) ── */
.rp-custom__card--work {
	display: block;
	background: var(--rp-ink-50, #f6f7f9);
	border: 1px solid var(--rp-ink-100, #e6e8ec);
	color: var(--rp-ink-900, #111827);
	padding: var(--sp-12, 48px) var(--sp-16, 64px) var(--sp-10, 40px);
}
.rp-custom__card--work .rp-custom__copy {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	column-gap: var(--sp-12, 48px);
	align-items: end;
}
.rp-custom__card--work::before { display: none; }
.rp-custom__card--work .rp-eyebrow { grid-column: 1; color: var(--rp-blue-500, #0078d4); }
.rp-custom__card--work .rp-custom__title { color: var(--rp-ink-900, #111827); }
.rp-custom__card--work .rp-custom__title em { color: var(--rp-red-500, #d3423d); }
.rp-custom__card--work .rp-custom__aside p { color: var(--rp-ink-600, #4b5563); }
.rp-custom__card--work .rp-custom__title { grid-column: 1; margin: 0; max-width: none; }
.rp-custom__card--work .rp-custom__aside { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
.rp-custom__card--work .rp-custom__aside p { margin: 0 0 var(--sp-5, 20px); max-width: none; }

.rp-custom__work {
	position: relative;
	margin-top: var(--sp-10, 40px);
	padding-top: var(--sp-8, 32px);
	border-top: 1px solid var(--rp-ink-100, #e6e8ec);
}
.rp-custom__work-lead { color: var(--rp-ink-900, #111827); font-weight: 700; font-size: 1.05rem; margin: 0 0 16px; }
.rp-custom__work-more {
	display: inline-block; margin-top: 20px;
	color: var(--rp-blue-500, #0078d4); font-weight: 600; text-decoration: none;
	border-bottom: 1px solid currentColor;
}
.rp-custom__work-more:hover { color: var(--rp-blue-700, #005a9e); }
.rp-custom__card--work .rp-pf-card__body { padding: 16px 18px 20px; }

@media (max-width: 991px) {
	.rp-custom__card--work { padding: var(--sp-8, 32px) var(--sp-6, 24px); }
	.rp-custom__card--work .rp-custom__copy { display: block; }
	.rp-custom__card--work .rp-custom__title { margin-bottom: var(--sp-4, 16px); }
}
