.vpdi-area-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0;
}

.vpdi-area-list a {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #374151;
  font-weight: 700;
}

.vpdi-area-list a:hover { border-color: #16a34a; color: #15803d; }

.vpdi-reviews {
  position: relative;
  min-height: 245px;
}

.vpdi-review {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
  max-width: 860px;
  margin: 0 auto;
  background: linear-gradient(135deg, #ecfdf5, #fff);
  border: 1px solid #bbf7d0;
  border-radius: 24px;
  padding: 34px;
  text-align: center;
  box-shadow: 0 10px 34px rgba(15, 23, 42, .08);
}

.vpdi-review.is-active { opacity: 1; pointer-events: auto; }
.vpdi-review blockquote { margin: 0; color: #1f2937; font-size: 20px; font-style: italic; }
.vpdi-review cite { display: block; margin-top: 18px; font-style: normal; font-weight: 900; }

.vpdi-gallery img { width: 100%; height: 100%; object-fit: cover; }

.vpdi-floating-buttons {
  position: fixed;
  z-index: 9999;
  right: 20px;
  bottom: 20px;
  display: grid;
  gap: 10px;
}

.vpdi-floating {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .22);
}

.vpdi-floating--whatsapp { background: #16a34a; }
.vpdi-floating--call { background: #111827; }
.vpdi-floating:hover { color: #fff; transform: translateY(-2px); }

.vpdi-quote-form h2 { margin-bottom: 4px; }

@media (max-width: 640px) {
  .vpdi-floating-buttons { right: 14px; bottom: 14px; }
  .vpdi-floating { width: 54px; height: 54px; }
  .vpdi-review { padding: 26px 20px; }
}
