.mms-feedback-button {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 900;
  min-height: 50px;
  padding: 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #e45c9a, #6d48c6);
  box-shadow: 0 14px 36px rgba(62, 36, 119, 0.28);
  font: 800 14px/1.2 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  cursor: pointer;
}

.mms-feedback-button:hover { transform: translateY(-2px); }
.mms-feedback-button:focus-visible { outline: 3px solid #f2b4d2; outline-offset: 3px; }

.mms-feedback-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(31, 22, 67, 0.52);
  backdrop-filter: blur(8px);
}

.mms-feedback-overlay[hidden] { display: none; }

.mms-feedback-card {
  width: min(100%, 510px);
  max-height: min(90vh, 720px);
  overflow: auto;
  position: relative;
  padding: 30px;
  border: 1px solid #eadff2;
  border-radius: 28px;
  color: #29215e;
  background: #fffaf7;
  box-shadow: 0 28px 90px rgba(38, 24, 85, 0.3);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mms-feedback-close {
  width: 38px;
  height: 38px;
  position: absolute;
  top: 14px;
  right: 14px;
  border: 0;
  border-radius: 50%;
  color: #514b6c;
  background: #f2ebf8;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.mms-feedback-kicker {
  margin: 0 48px 8px 0;
  color: #d94f90;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mms-feedback-card h2 {
  margin: 0 45px 10px 0;
  color: #29215e;
  font: 800 clamp(28px, 6vw, 38px)/1.04 Georgia, serif;
}

.mms-feedback-intro {
  margin: 0 0 22px;
  color: #625b7b;
  font-size: 15px;
  line-height: 1.55;
}

.mms-feedback-label {
  display: block;
  margin: 18px 0 8px;
  color: #3c355f;
  font-size: 14px;
  font-weight: 800;
}

.mms-feedback-stars {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.mms-feedback-star {
  min-height: 50px;
  border: 1px solid #e3d6ee;
  border-radius: 15px;
  color: #a08baa;
  background: #fff;
  font-size: 25px;
  cursor: pointer;
}

.mms-feedback-star.is-active {
  border-color: #e45c9a;
  color: #f2a000;
  background: #fff1f7;
}

.mms-feedback-card textarea,
.mms-feedback-card input,
.mms-feedback-card select {
  width: 100%;
  border: 1px solid #ddd2e8;
  border-radius: 14px;
  color: #29215e;
  background: #fff;
  font: 500 16px/1.45 inherit;
}

.mms-feedback-card textarea { min-height: 122px; resize: vertical; padding: 13px 14px; }
.mms-feedback-card input,
.mms-feedback-card select { min-height: 48px; padding: 0 13px; }

.mms-feedback-row { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 12px; }
.mms-feedback-honeypot { position: absolute !important; left: -10000px !important; }

.mms-feedback-note {
  margin: 14px 0;
  padding: 11px 13px;
  border-radius: 13px;
  color: #6a5d76;
  background: #f6eff9;
  font-size: 12px;
  line-height: 1.45;
}

.mms-feedback-submit {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 16px;
  color: white;
  background: linear-gradient(135deg, #7047d1, #4c2aa5);
  box-shadow: 0 12px 28px rgba(74, 40, 162, 0.22);
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
}

.mms-feedback-submit:disabled { opacity: 0.6; cursor: wait; }
.mms-feedback-status { min-height: 22px; margin: 12px 0 0; color: #665e7f; font-size: 13px; text-align: center; }
.mms-feedback-status.is-success { color: #26744b; font-weight: 800; }
.mms-feedback-status.is-error { color: #b53657; font-weight: 800; }

@media (max-width: 780px) {
  .mms-feedback-button { width: 46px; min-width: 46px; min-height: 46px; right: 14px; bottom: 78px; padding: 0; font-size: 0; }
  .mms-feedback-button::before { content: "✎"; font-size: 20px; line-height: 1; }
  .mms-feedback-card { padding: 26px 20px; border-radius: 23px; }
  .mms-feedback-row { grid-template-columns: 1fr; gap: 0; }
}

@media print {
  .mms-feedback-button,
  .mms-feedback-overlay { display: none !important; }
}
