.br-providers{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.pr-container{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ── Compact hero ─────────────────────────────────────── */
.pr-hero{
  padding: 28px 0 0;
}

.pr-head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.pr-title{
  margin: 0;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: -0.3px;
  color: #111827;
}

.pr-lede{
  margin: 6px 0 0;
  max-width: 560px;
  color: #6B7280;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
}

.pr-tools{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-shrink: 0;
}

.pr-search{
  width: 260px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid rgba(17,24,39,0.10);
  background: #fff;
  color:#111827;
  font-size: 0.88rem;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.pr-search:focus{
  border-color: rgba(5,90,120,0.30);
  box-shadow: 0 0 0 3px rgba(5,90,120,0.08);
}

/* ── Grid section ─────────────────────────────────────── */
.pr-section{ padding: 24px 0 48px; }

.pr-grid-head{
  margin-bottom: 14px;
}

.pr-count{
  font-size: 0.82rem;
  font-weight: 600;
  color: #9CA3AF;
}

.pr-loading{
  display:flex;
  align-items:center;
  gap: 12px;
  padding: 16px 0;
  color: rgba(17,24,39,0.62);
  font-weight: 800;
}

.pr-spinner{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 3px solid rgba(17,24,39,0.12);
  border-top-color: rgba(10,166,214,0.75);
  animation: prSpin 0.9s linear infinite;
}
@keyframes prSpin{ to { transform: rotate(360deg); } }

.pr-error{
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(220,38,38,0.25);
  background: rgba(220,38,38,0.06);
  color: rgba(17,24,39,0.75);
  font-weight: 800;
}

/* ── Provider cards ───────────────────────────────────── */
.pr-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 14px;
}

.pr-card{
  background:#fff;
  border:1px solid rgba(17,24,39,0.08);
  border-radius: 14px;
  padding: 20px 16px;
  text-decoration:none;
  color:#111827;
  box-shadow: 0 2px 8px rgba(17,24,39,0.04);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex;
  flex-direction: column;
  align-items:center;
  text-align:center;
}

.pr-card:hover{
  transform: translateY(-3px);
  border-color: rgba(5,90,120,0.20);
  box-shadow: 0 8px 24px rgba(17,24,39,0.10);
}

.pr-logo{
  width: 64px;
  height: 64px;
  border-radius: 14px;
  object-fit: contain;
  background: #F9FAFB;
  border:1px solid rgba(17,24,39,0.06);
  padding: 8px;
}

.pr-name{
  margin-top: 10px;
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: -0.1px;
}

.pr-founded{
  margin-top: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #9CA3AF;
}

/* ── Mobile ───────────────────────────────────────────── */
@media (max-width: 768px){
  .pr-head{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .pr-search{ width: 100%; }
  .pr-grid{
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
  }
  .pr-card{ padding: 16px 12px; }
  .pr-logo{ width: 52px; height: 52px; border-radius: 12px; }
  .pr-name{ font-size: 0.82rem; }
}

/* ── Info block ───────────────────────────────────────── */
.pr-info{
  padding: 40px 0 16px;
  background: transparent;
}

.pr-info-title{
  margin: 0 0 8px;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: -0.2px;
  color: #111827;
}

.pr-info-text{
  max-width: 780px;
  color: rgba(17,24,39,0.65);
  font-size: 0.95rem;
  line-height: 1.7;
}

.pr-info-text a{
  color: #055A78;
  font-weight: 600;
}

/* ── FAQ ──────────────────────────────────────────────── */
.pr-faq{
  padding: 0 0 48px;
}

.pr-faq-list{
  max-width: 780px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pr-faq-item{
  border: 1px solid rgba(17,24,39,0.08);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  transition: border-color 0.2s;
}

.pr-faq-item[open]{
  border-color: rgba(5,90,120,0.18);
}

.pr-faq-q{
  padding: 14px 18px;
  font-size: 0.92rem;
  font-weight: 700;
  color: #111827;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pr-faq-q::-webkit-details-marker{ display: none; }

.pr-faq-q::after{
  content: "+";
  font-size: 1.15rem;
  font-weight: 700;
  color: #9CA3AF;
  flex-shrink: 0;
  transition: transform 0.2s;
}

.pr-faq-item[open] .pr-faq-q::after{
  content: "\2212";
  color: #055A78;
}

.pr-faq-a{
  padding: 0 18px 16px;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.7;
  color: rgba(17,24,39,0.65);
}
