.crdb-reviews {
  display: grid;
  gap: 1rem;
  margin: 1rem 0;
}

.crdb-review {
  padding: 1rem;
  border: 1px solid #dcdcde;
  border-radius: 0.4rem;
  background: #fff;
  color: #1d2327;
}

.crdb-review__title {
  margin: 0 0 0.75rem;
  font-size: 1.1em;
}

.crdb-review__header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  align-items: center;
  margin-bottom: 0.75rem;
  color: #50575e;
  font-size: 0.92em;
}

.crdb-review__name {
  color: #1d2327;
  font-weight: 600;
}

.crdb-review__rating {
  color: #dba617;
  letter-spacing: 0.08em;
}

.crdb-review__body {
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.crdb-review .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.crdb-reviews-empty,
.crdb-admin-warning {
  margin: 0.75rem 0;
}

.crdb-review-hub { margin: 1.5rem 0; }
.crdb-review-hub__section + .crdb-review-hub__section { margin-top: 2rem; }
.crdb-review-hub__section > h2 { margin-bottom: 0.4rem; }
.crdb-review-hub .crdb-review__title { margin: 0 0 0.75rem; padding: 0; border: 0; font-size: 1.1em; line-height: 1.5; }
.crdb-review-hub__featured .crdb-review { border-left: 4px solid #dba617; }
.crdb-review-hub__tag { display: inline-block; padding: 0.12rem 0.55rem; border: 1px solid #c3c4c7; border-radius: 999px; background: #f6f7f7; font-size: 0.88em; }
.crdb-review-hub__meta { flex-basis: 100%; color: #3c434a; line-height: 1.6; }
.crdb-review-hub__meta + .crdb-review__rating { flex-basis: 100%; }
.crdb-review-hub .crdb-review-hub__detail { margin: 0.7rem 0 0; padding: 0.65rem 0.8rem; background: #f6f7f7; line-height: 1.7; }
.crdb-review-hub__date { display: block; margin-top: 0.75rem; color: #646970; font-size: 0.85em; }
.crdb-review__service-cta { margin: 0.85rem 0 0; }
.crdb-review-hub .crdb-review__service-cta { margin: 0.85rem 0 0; }
.crdb-review__service-cta a { display: inline-block; padding: 0.45rem 0.75rem; border: 1px solid currentColor; border-radius: 0.3rem; font-size: 0.92em; line-height: 1.4; text-decoration: none; }
.crdb-review__service-cta a:hover, .crdb-review__service-cta a:focus { text-decoration: underline; }
.crdb-review-hub__fallback { padding: 0.7rem 0.9rem; border-left: 3px solid #72aee6; background: #f0f6fc; }
.crdb-review-hub__submit { margin-top: 2rem; padding: 1.2rem; border: 1px solid #dcdcde; border-radius: 0.5rem; text-align: center; background: #f6f7f7; }
.crdb-review-hub__submit-link { display: inline-block; padding: 0.65rem 1rem; border-radius: 0.35rem; background: #2271b1; color: #fff; text-decoration: none; }
@media (max-width: 600px) { .crdb-review-hub__section > h2 { font-size: 1.3rem; } .crdb-review-hub__submit { padding: 1rem 0.75rem; } }
