.dcv-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
  margin: 2rem 0;
}

.dcv-review-card {
  overflow: hidden;
  border: 1px solid #dce4dc;
  border-radius: 22px;
  background: #fffdf8;
  box-shadow: 0 12px 36px rgba(50, 74, 62, .09);
}

.dcv-review-image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #edf2ec;
}

.dcv-review-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dcv-review-body { padding: clamp(1.25rem, 3vw, 1.75rem); }
.dcv-review-quote { color: #789480; font: 700 3.5rem/0.7 Georgia, serif; }
.dcv-review-title { margin: .65rem 0 1rem; font-size: clamp(1.2rem, 2vw, 1.45rem); }
.dcv-review-details summary { color: #345c4c; cursor: pointer; font-weight: 700; }
.dcv-review-details summary:hover { text-decoration: underline; }
.dcv-review-details summary:focus-visible { outline: 3px solid #d9a766; outline-offset: 4px; }
.dcv-review-content { margin-top: 1rem; }
.dcv-review-author { display: grid; gap: .15rem; margin: 1.25rem 0 0; color: #52635a; }
.dcv-review-author span { font-size: .92rem; }

.dcv-review-form {
  max-width: 760px;
  padding: clamp(1.25rem, 4vw, 2rem);
  border-radius: 22px;
  background: #f4f7f1;
}

.dcv-review-form label { display: grid; gap: .45rem; font-weight: 650; }
.dcv-review-form input[type="text"],
.dcv-review-form textarea,
.dcv-review-form input[type="file"] { width: 100%; }
.dcv-review-form input[type="text"],
.dcv-review-form textarea { padding: .8rem; border: 1px solid #9eaca3; border-radius: 10px; background: white; }
.dcv-review-form button { padding: .8rem 1.2rem; border: 0; border-radius: 999px; background: #345c4c; color: white; font-weight: 700; cursor: pointer; }
.dcv-review-form button:hover { background: #284b3d; }
.dcv-review-consent label { grid-template-columns: auto 1fr; align-items: start; font-weight: 400; }
.dcv-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.dcv-review-notice { margin: 1rem 0; padding: 1rem; border-left: 4px solid #789480; background: #f4f7f1; }

