/* dfm-provider-profile.css */
.dfm-provider-profile{
  max-width:1100px;
  margin:40px auto;
  padding:0 16px;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#111;
}

.dfm-hero{
  display:flex;
  gap:24px;
  align-items:center;
  margin-bottom:20px;
}

.dfm-hero-avatar{
  width:112px;
  height:112px;
  border-radius:999px;
  background-size:cover;
  background-position:center;
  border:2px solid #eee;
  flex:0 0 112px;
}

.dfm-hero-meta h1{
  margin:0 0 6px;
  font-size:26px;
  line-height:1.25;
}

.dfm-hero-stats{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  color:#666;
  font-size:14px;
  margin-bottom:6px;
}

.dfm-bio{
  margin:0;
  color:#333;
  font-size:14.5px;
  line-height:1.6;
}

/* Tabs */
.dfm-provider-tabs ul{
  display:flex;
  gap:12px;
  margin: 0 !important;
  padding:0;
  border-bottom:1px solid #eee;
  flex-wrap:wrap;
}

.dfm-provider-tabs li{
  padding:10px 14px;
  list-style:none;
  cursor:pointer;
  border:1px solid transparent;
  border-top-left-radius:8px;
  border-top-right-radius:8px;
  user-select:none;
}

.dfm-provider-tabs li:hover{
  background:#fafafa;
}

.dfm-provider-tabs li.active{
  border-color:#ddd #ddd #fff;
  background:#fff;
  font-weight:600;
}

.dfm-provider-tabs-content{
  border:1px solid #ddd;
  border-radius:12px;
  padding:18px;
  background:#fff;
}

/* Stats */
.dfm-stats-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-bottom:8px;
}

.dfm-stat{
  border:1px solid #eee;
  border-radius:12px;
  padding:14px;
  background:#fff;
}

.dfm-stat-num{
  font-weight:700;
  font-size:22px;
}

.dfm-stat-label{
  color:#666;
  margin-top:4px;
  font-size:13px;
}

/* Grid cards */
.dfm-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px;
}

.dfm-card{
  display:block;
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  background:#fff;
  transition:transform .15s ease, box-shadow .15s ease;
}

.dfm-card:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.dfm-card-thumb{
  width:100%;
  height:140px;
  background:#f2f2f2;
  background-size:cover;
  background-position:center;
}

.dfm-card-body{
  padding:12px;
}

.dfm-card-title{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.35;
}

.dfm-card-excerpt{
  margin:0 0 10px;
  color:#555;
  font-size:14px;
  line-height:1.5;
  min-height:40px;
}

.dfm-card-type{
  display:inline-block;
  font-size:12px;
  color:#555;
  background:#f6f6f6;
  padding:4px 8px;
  border-radius:999px;
}

/* Reviews */
.dfm-review{
  border-bottom:1px dashed #eee;
  padding:12px 0;
}

.dfm-review:last-child{ border-bottom:none; }

.dfm-review-head{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}

.dfm-review-author{ font-weight:600; }
.dfm-review-rating{ font-weight:600; }
.dfm-review-date{ color:#666; font-size:12.5px; }

.dfm-review-project{
  display:inline-block;
  margin-top:6px;
  font-size:13px;
  text-decoration:underline;
  color:#0b57d0;
}

/* Pagination */
.dfm-pagination{
  margin-top:16px;
  text-align:center;
}

.dfm-pagination .page-numbers{
  display:inline-block;
  padding:6px 10px;
  margin:0 2px;
  border:1px solid #eee;
  border-radius:8px;
}

.dfm-pagination .current{
  background:#f2f2f2;
}

/* Empty state */
.dfm-empty{
  color:#666;
  font-size:14px;
}

/* Responsive tweaks */
@media (max-width:640px){
  .dfm-hero{
    flex-direction:column;
    align-items:flex-start;
  }
  .dfm-hero-avatar{
    width:96px;
    height:96px;
  }
}

/* RTL support */
:root[dir="rtl"] .dfm-hero-stats{ direction:rtl; }
:root[dir="rtl"] .dfm-provider-tabs li{
  border-top-left-radius:8px;
  border-top-right-radius:8px;
}
:root[dir="rtl"] .dfm-review-head{ direction:rtl; }
