/* Roteiro Baby – Encontre seu Passeio
   Ajuste as cores aqui (ou em Elementor > Site Settings > Custom CSS). */
.rb-busca, .rb-ficha {
	--rb-cor: #7b4fd6;
	--rb-cor-clara: #f3eefd;
	--rb-texto: #2b2b33;
	--rb-suave: #6b6b78;
	--rb-borda: #e6e3ee;
	--rb-fundo: #ffffff;
	--rb-raio: 14px;
}
.rb-busca { display: grid; grid-template-columns: 290px 1fr; gap: 32px; align-items: start; color: var(--rb-texto); }
.rb-busca *, .rb-busca *::before, .rb-busca *::after { box-sizing: border-box; }

/* Filtros */
.rb-filtros { position: sticky; top: 20px; background: var(--rb-fundo); border: 1px solid var(--rb-borda); border-radius: var(--rb-raio); padding: 16px; }
.rb-filtros__topo { display: flex; gap: 8px; }
.rb-campo-busca { flex: 1; }
.rb-campo-busca input { width: 100%; padding: 10px 12px; border: 1px solid var(--rb-borda); border-radius: 10px; font-size: 15px; }
.rb-abrir-filtros { display: none; }
.rb-grupo { border-top: 1px solid var(--rb-borda); padding: 4px 0; }
.rb-grupo:first-child { margin-top: 12px; }
.rb-grupo summary { cursor: pointer; list-style: none; padding: 10px 0; font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; display: flex; align-items: center; gap: 8px; }
.rb-grupo summary::-webkit-details-marker { display: none; }
.rb-grupo summary::after { content: "+"; margin-left: auto; font-size: 18px; color: var(--rb-suave); }
.rb-grupo[open] summary::after { content: "–"; }
.rb-opcoes { display: grid; gap: 4px; padding-bottom: 10px; }
.rb-opcoes--colunas { grid-template-columns: 1fr 1fr; }
.rb-opcao { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.35; padding: 4px 0; cursor: pointer; }
.rb-opcao input { accent-color: var(--rb-cor); width: 17px; height: 17px; margin: 1px 0 0; flex: none; }
.rb-contador { background: var(--rb-cor); color: #fff; border-radius: 99px; font-size: 11px; padding: 1px 7px; font-weight: 700; }
.rb-acoes { display: flex; align-items: center; gap: 14px; padding-top: 14px; border-top: 1px solid var(--rb-borda); }
.rb-botao { background: var(--rb-cor); color: #fff; border: 0; border-radius: 10px; padding: 11px 18px; font-weight: 700; font-size: 15px; cursor: pointer; }
.rb-botao:hover { filter: brightness(.92); }
.rb-limpar { color: var(--rb-suave); font-size: 14px; text-decoration: underline; }

/* Resultados */
.rb-total { margin: 0 0 16px; font-weight: 700; color: var(--rb-suave); }
.rb-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.rb-card { background: var(--rb-fundo); border: 1px solid var(--rb-borda); border-radius: var(--rb-raio); overflow: hidden; transition: transform .15s, box-shadow .15s; }
.rb-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(40, 20, 80, .10); }
.rb-card__link { display: block; color: inherit !important; text-decoration: none !important; height: 100%; }
.rb-card__img { aspect-ratio: 16 / 10; background: var(--rb-cor-clara); overflow: hidden; }
.rb-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rb-card__corpo { padding: 14px 16px 16px; }
.rb-card__titulo { font-size: 16px; line-height: 1.3; margin: 0 0 6px; }
.rb-card__resumo { font-size: 14px; color: var(--rb-suave); margin: 0; line-height: 1.45; }
.rb-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.rb-tag { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 99px; background: var(--rb-cor-clara); color: var(--rb-cor); }
.rb-tag--preco { background: #e7f6ec; color: #1f7a3d; }
.rb-tag--regiao { background: #fff2e2; color: #a2570b; }
.rb-vazio { padding: 32px; border: 1px dashed var(--rb-borda); border-radius: var(--rb-raio); text-align: center; color: var(--rb-suave); }
.rb-paginacao { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 28px; justify-content: center; }
.rb-paginacao .page-numbers { padding: 8px 13px; border: 1px solid var(--rb-borda); border-radius: 8px; text-decoration: none; color: var(--rb-texto); }
.rb-paginacao .current { background: var(--rb-cor); border-color: var(--rb-cor); color: #fff; }

/* Ficha no post */
.rb-ficha { margin: 32px 0; padding: 20px 22px; background: var(--rb-cor-clara); border-radius: var(--rb-raio); color: var(--rb-texto); }
.rb-ficha h3 { margin: 0 0 10px; font-size: 18px; }
.rb-ficha ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.rb-ficha li { font-size: 15px; line-height: 1.45; }
.rb-ficha a { color: var(--rb-cor); }

/* Celular */
@media (max-width: 860px) {
	.rb-busca { grid-template-columns: 1fr; gap: 20px; }
	.rb-filtros { position: static; }
	.rb-abrir-filtros { display: inline-flex; align-items: center; gap: 6px; background: var(--rb-fundo); border: 1px solid var(--rb-cor); color: var(--rb-cor); border-radius: 10px; padding: 0 14px; font-weight: 700; cursor: pointer; }
	.rb-grupos { display: none; }
	.rb-grupos.is-aberto { display: block; }
	.rb-acoes { position: sticky; bottom: 0; background: var(--rb-fundo); padding-bottom: 6px; }
	.rb-botao { flex: 1; }
	.rb-grade { grid-template-columns: 1fr; }
}
.rb-busca .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Quadro Serviço ---------- */
.rb-servico {
	--rb-sv-fundo: #f3f3f3;
	--rb-sv-texto: #1f2430;
	--rb-sv-suave: #5c6270;
	--rb-sv-icone: #1b5b94;
	--rb-sv-botao: #ffd60a;
	--rb-sv-botao-texto: #1b5b94;
	background: var(--rb-sv-fundo); color: var(--rb-sv-texto);
	border-radius: 14px; padding: 22px 24px; margin: 28px 0;
}
.rb-servico__titulo { margin: 0 0 14px; font-size: 22px; }
.rb-servico__lista { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
.rb-servico__item { display: grid; grid-template-columns: 26px 1fr; column-gap: 10px; align-items: start; align-content: start; }
.rb-servico__icone { width: 22px; height: 22px; color: var(--rb-sv-icone); grid-row: span 2; margin-top: 1px; }
.rb-servico__item dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--rb-sv-suave); margin: 0; }
.rb-servico__item dd { margin: 2px 0 0; font-size: 15px; line-height: 1.45; }
.rb-servico__item a { color: var(--rb-sv-icone); }
.rb-servico__mapa { font-size: 13px; font-weight: 700; }
.rb-servico__botao {
	display: block; text-align: center; margin-top: 20px; padding: 14px 18px; border-radius: 10px;
	background: var(--rb-sv-botao); color: var(--rb-sv-botao-texto) !important; font-weight: 800;
	text-transform: uppercase; letter-spacing: .03em; text-decoration: none !important;
}
.rb-servico__botao:hover { filter: brightness(.95); }
.rb-servico__marcas { list-style: none; margin: 18px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(0,0,0,.08); display: grid; gap: 4px; font-size: 13px; color: var(--rb-sv-suave); }
.rb-servico__marcas span { font-weight: 700; }
.rb-servico__marcas a { color: inherit; }
@media (max-width: 680px) {
	.rb-servico { padding: 18px 16px; }
	.rb-servico__lista { grid-template-columns: 1fr; gap: 12px; }
}
