body {
  background: #fff;
}

h2 { font-family: "Playfair Display", serif; }
h4 { font-family: "Montserrat", sans-serif; }

.review-page {
  padding-top: 120px;
  max-width: 700px;
  margin: auto;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 36px rgba(40,80,150,0.09);
  position: relative;
  z-index: 2;
}

.cover {
  width: 480px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
  margin-bottom: 25px;
}

.muted { color: #888; }
.muted-2 { color: #aaa; }
.content { font-size: 18px; line-height: 1.7; color: #555; }

.navbar .nav-link { font-weight: 700; color: #222 !important; }

/* --- BUBBLES --- */
.bubble {
  position: absolute;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  user-select: none;
  filter: drop-shadow(0 4px 12px #0062b680);
  cursor: grab;
  z-index: 1;
  transition: filter 0.2s;
  pointer-events: auto;
}
.bubble.dragging {
  filter: brightness(1.2) drop-shadow(0 0 24px #00d9ffcc);
  cursor: grabbing;
  z-index: 1000;
}

#bubble-container {
  position: fixed;
  left: 0; top: 0; width: 100vw; height: 100vh;
  pointer-events: none; /* let clicks through to page */
  z-index: 0;
}

/* Responsive: keep review readable */
@media (max-width: 992px){
  .review-page { max-width: 95vw; padding: 70px 4vw 40px 4vw; }
  .cover { width: 90vw; max-width: 380px; }
  .bubble { width: 80px; height: 80px; }
}
