/* Grades de itens do BridgeRP ([bridgerp_lista]). Tudo é controlado por variáveis CSS postas no próprio elemento pelo plugin (veja BRP_Listas::variaveis). */
.bridgerp-lista { box-sizing: border-box; background: var(--brp-fundo, transparent); padding: var(--brp-pad, 0); max-width: var(--brp-max, none); margin-left: auto; margin-right: auto; width: 100%; }
.bridgerp-lista *, .bridgerp-lista *::before, .bridgerp-lista *::after { box-sizing: border-box; }
.bridgerp-lista__cabecalho { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 16px; }
.bridgerp-lista__titulo { margin: 0; }
.bridgerp-lista__ver-todos { font-weight: 600; text-decoration: none; }
.bridgerp-lista__ver-todos:hover { text-decoration: underline; }

.bridgerp-lista__grade { display: grid; grid-template-columns: repeat(var(--brp-cols, 4), minmax(0, 1fr)); column-gap: var(--brp-gap, 20px); row-gap: var(--brp-gap-y, 20px); align-items: var(--brp-alinha, stretch); }
@media (max-width: 1024px) { .bridgerp-lista__grade { grid-template-columns: repeat(var(--brp-cols-t, 2), minmax(0, 1fr)); } }
@media (max-width: 640px) { .bridgerp-lista__grade { grid-template-columns: repeat(var(--brp-cols-m, 1), minmax(0, 1fr)); } }

.bridgerp-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--brp-card-fundo, #fff); border: var(--brp-card-borda, 1px solid #e5e5e5); border-radius: var(--brp-card-raio, 8px); box-shadow: var(--brp-card-sombra, none); text-align: var(--brp-texto-alinha, left); transition: transform .2s ease, box-shadow .2s ease; }
.bridgerp-card__foto { position: relative; display: block; aspect-ratio: var(--brp-foto-prop, 1 / 1); overflow: hidden; background: #f1f1f1; }
.bridgerp-card__foto::after { content: ""; position: absolute; inset: 0; background: transparent; opacity: 0; transition: opacity .3s ease; pointer-events: none; }
.bridgerp-card__foto img { display: block; width: 100%; height: 100%; object-fit: var(--brp-foto-ajuste, cover); transition: transform .35s ease; }
.bridgerp-card__sem-foto { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: #999; font-size: 13px; }
.bridgerp-lista--foto-original .bridgerp-card__foto { aspect-ratio: auto; }
.bridgerp-lista--foto-original .bridgerp-card__foto img { height: auto; }
.bridgerp-card__corpo { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: var(--brp-card-pad, 14px); }
.bridgerp-card__titulo { margin: 0; color: var(--brp-titulo-cor, #111); font-size: var(--brp-titulo-tam, 18px); font-weight: var(--brp-titulo-peso, 600); line-height: 1.25; }
.bridgerp-lista .bridgerp-card__titulo a, .bridgerp-lista .bridgerp-card__titulo a:visited { color: inherit; text-decoration: none; }
.bridgerp-lista .bridgerp-card:hover .bridgerp-card__titulo { color: var(--brp-titulo-cor-h, #111); }
.bridgerp-card__texto, .bridgerp-card__campo { margin: 0; color: var(--brp-texto-cor, #555); font-size: var(--brp-texto-tam, 14px); line-height: 1.5; }
.bridgerp-card__chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: var(--brp-chips-alinha, flex-start); }
.bridgerp-card__chip { padding: 2px 9px; border-radius: 999px; background: rgba(0, 0, 0, .06); color: var(--brp-texto-cor, #555); font-size: calc(var(--brp-texto-tam, 14px) - 2px); }
.bridgerp-card__preco { color: var(--brp-preco-cor, #111); font-size: var(--brp-preco-tam, 16px); font-weight: 700; }
/* o botão e o título usam seletores mais fortes (e todos os estados de link) para o tema e o Elementor não trocarem as cores */
.bridgerp-lista a.bridgerp-card__botao, .bridgerp-lista a.bridgerp-card__botao:link, .bridgerp-lista a.bridgerp-card__botao:visited { position: relative; display: inline-block; align-self: var(--brp-botao-alinha, flex-start); max-width: 100%; overflow-wrap: anywhere; margin-top: var(--brp-botao-topo, auto); padding: .6em 1.15em; overflow: hidden; border: var(--brp-botao-borda, 1px solid #111); border-radius: var(--brp-botao-raio, 6px); background-color: var(--brp-botao-fundo, #111); color: var(--brp-botao-cor, #fff); font-weight: 600; font-size: var(--brp-botao-tam, 14px); line-height: 1.2; text-align: center; text-decoration: none; box-shadow: none; transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.bridgerp-lista a.bridgerp-card__botao:hover, .bridgerp-lista a.bridgerp-card__botao:focus-visible, .bridgerp-lista a.bridgerp-card__botao:active { background-color: var(--brp-botao-fundo-h, #111); color: var(--brp-botao-cor-h, #fff); text-decoration: none; }
.bridgerp-lista a.bridgerp-card__botao:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.bridgerp-card--clicavel .bridgerp-card__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* em lista: foto de um lado e texto do outro */
.bridgerp-lista--lista .bridgerp-lista__grade { grid-template-columns: minmax(0, 1fr); }
.bridgerp-lista--lista .bridgerp-card { flex-direction: row; }
.bridgerp-lista--lista .bridgerp-card__foto { flex: 0 0 34%; max-width: 34%; aspect-ratio: auto; }
@media (max-width: 640px) { .bridgerp-lista--lista .bridgerp-card { flex-direction: column; } .bridgerp-lista--lista .bridgerp-card__foto { flex: none; max-width: none; aspect-ratio: var(--brp-foto-prop, 1 / 1); } }

/* efeito ao passar o mouse: no card (cores de fundo e borda, subir, sombra, borda), na foto e no botão */
.bridgerp-lista .bridgerp-card:hover { background: var(--brp-card-fundo-h, #fff); border-color: var(--brp-card-borda-h, #e5e5e5); }
.bridgerp-lista--hover-subir .bridgerp-card:hover { transform: translateY(-5px); box-shadow: 0 8px 22px rgba(0, 0, 0, .16); }
.bridgerp-lista--hover-sombra .bridgerp-card:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .22); }
.bridgerp-lista--hfoto-zoom .bridgerp-card:hover .bridgerp-card__foto img { transform: scale(1.07); }
.bridgerp-lista--hfoto-escurecer .bridgerp-card__foto::after { background: #000; }
.bridgerp-lista--hfoto-escurecer .bridgerp-card:hover .bridgerp-card__foto::after { opacity: .28; }
.bridgerp-lista--hfoto-clarear .bridgerp-card__foto::after { background: #fff; }
.bridgerp-lista--hfoto-clarear .bridgerp-card:hover .bridgerp-card__foto::after { opacity: .35; }

/* animação do botão */
.bridgerp-lista--banim-subir a.bridgerp-card__botao:hover { transform: translateY(-3px); box-shadow: 0 6px 14px rgba(0, 0, 0, .22); }
.bridgerp-lista--banim-crescer a.bridgerp-card__botao:hover { transform: scale(1.08); }
.bridgerp-lista--banim-brilho a.bridgerp-card__botao::after { content: ""; position: absolute; top: 0; left: -80%; width: 50%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .5), transparent); transform: skewX(-20deg); pointer-events: none; }
.bridgerp-lista--banim-brilho a.bridgerp-card__botao:hover::after { animation: brp-brilho .75s ease; }
.bridgerp-lista--banim-seta a.bridgerp-card__botao::after { content: "\2192"; display: inline-block; max-width: 0; margin-left: 0; opacity: 0; overflow: hidden; vertical-align: bottom; transition: max-width .25s ease, margin-left .25s ease, opacity .25s ease; }
.bridgerp-lista--banim-seta a.bridgerp-card__botao:hover::after { max-width: 1.4em; margin-left: .45em; opacity: 1; }
.bridgerp-lista--banim-pulsar a.bridgerp-card__botao { animation: brp-pulsar 1.9s ease-out infinite; }
.bridgerp-lista--banim-preencher a.bridgerp-card__botao { background-image: linear-gradient(var(--brp-botao-fundo-h, #111), var(--brp-botao-fundo-h, #111)); background-repeat: no-repeat; background-position: left center; background-size: 0% 100%; transition: background-size .35s ease, color .35s ease, border-color .2s ease; }
.bridgerp-lista--banim-preencher a.bridgerp-card__botao:hover { background-color: var(--brp-botao-fundo, #111); background-size: 100% 100%; }
@keyframes brp-brilho { from { left: -80%; } to { left: 130%; } }
@keyframes brp-pulsar { 0% { box-shadow: 0 0 0 0 var(--brp-botao-fundo, #111); } 70% { box-shadow: 0 0 0 10px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* animação de entrada */
@keyframes brp-aparecer { from { opacity: 0; } to { opacity: 1; } }
@keyframes brp-subir { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.bridgerp-lista--anima-aparecer .bridgerp-card { animation: brp-aparecer .5s ease both; }
.bridgerp-lista--anima-subir .bridgerp-card { animation: brp-subir .55s ease both; }
@media (prefers-reduced-motion: reduce) { .bridgerp-lista .bridgerp-card, .bridgerp-lista a.bridgerp-card__botao, .bridgerp-lista a.bridgerp-card__botao::after { animation: none !important; transition: none !important; } }

/* esconder por aparelho */
@media (min-width: 1025px) { .bridgerp-ocultar-computador { display: none !important; } }
@media (min-width: 641px) and (max-width: 1024px) { .bridgerp-ocultar-tablet { display: none !important; } }
@media (max-width: 640px) { .bridgerp-ocultar-celular { display: none !important; } }

/* paginação e "carregar mais" */
.bridgerp-lista__paginacao { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 22px; }
.bridgerp-lista__paginacao .page-numbers { min-width: 36px; padding: 6px 10px; border: 1px solid var(--brp-pag-cor, #111); border-radius: 6px; color: var(--brp-pag-cor, #111); text-align: center; text-decoration: none; }
.bridgerp-lista__paginacao .page-numbers.current { background: var(--brp-pag-cor, #111); color: #fff; }
.bridgerp-lista__mais { display: flex; justify-content: center; margin-top: 22px; }
.bridgerp-lista__botao-mais { padding: .7em 1.6em; border: 1px solid var(--brp-pag-cor, #111); border-radius: 6px; background: transparent; color: var(--brp-pag-cor, #111); font: inherit; font-weight: 600; cursor: pointer; }
.bridgerp-lista__botao-mais:hover { background: var(--brp-pag-cor, #111); color: #fff; }
.bridgerp-lista__botao-mais[disabled] { opacity: .6; cursor: wait; }
.bridgerp-lista__vazio { padding: 24px 0; color: #777; text-align: center; }
