/* Warm feedback form theme — public page + marketing demo preview */

.public-page.public-warm,
.marketing-warm .mr-feedback-demo {
  --fw-cream: #fdf7ef;
  --fw-cream-deep: #f7ecdd;
  --fw-ink: #3c3530;
  --fw-muted: #7b7066;
  --fw-blue: #2f80ff;
  --fw-blue-dark: #1e6fe0;
  --fw-blue-soft: #e0edff;
  --fw-teal: #2f8f83;
  --fw-teal-dark: #247a70;
  --fw-teal-soft: #ddf0ed;
  --fw-line: #ecdfcd;
  --fw-card: #fff;
  --fw-radius: 16px;
  --fw-shadow: 0 5px 0 var(--fw-line);
}

/* ── Public feedback page ── */

body.public-page.public-warm {
  background: var(--fw-cream) !important;
  color: var(--fw-ink);
  font-family: "Nunito", system-ui, sans-serif;
}

.public-page.public-warm h1,
.public-page.public-warm h2,
.public-page.public-warm h3,
.public-page.public-warm label,
.public-page.public-warm .mr-brand-wordmark,
.public-page.public-warm .public-info-title {
  font-family: "Nunito", system-ui, sans-serif;
  color: var(--fw-ink);
}

.public-page.public-warm .mr-brand-masked {
  color: var(--fw-ink);
}

.public-page.public-warm .mr-brand-reviews {
  color: var(--fw-blue);
}

.public-page.public-warm .public-strapline {
  color: var(--fw-teal-dark);
  background: var(--fw-teal-soft);
  border: 2px solid rgba(47, 143, 131, 0.28);
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.public-page.public-warm .public-strapline-icon {
  color: var(--fw-teal);
}

.public-page.public-warm .public-lead,
.public-page.public-warm .subtitle,
.public-page.public-warm .turnstile-hint {
  color: var(--fw-muted);
  font-weight: 600;
}

.public-page.public-warm .card {
  background: var(--fw-card);
  border: 2px solid var(--fw-line);
  border-radius: var(--fw-radius);
  box-shadow: var(--fw-shadow);
  padding: 22px 20px;
}

.public-page.public-warm label {
  font-weight: 700;
  color: var(--fw-ink);
}

.public-page.public-warm textarea,
.public-page.public-warm input[type="email"] {
  border: 2px solid var(--fw-line);
  border-radius: 12px;
  background: #fff;
  color: var(--fw-ink);
  font-family: inherit;
}

.public-page.public-warm textarea:focus,
.public-page.public-warm input[type="email"]:focus {
  border-color: var(--fw-blue);
  box-shadow: 0 0 0 3px var(--fw-blue-soft);
  outline: none;
}

.public-page.public-warm .rating-row button {
  border: 2px solid var(--fw-line);
  border-radius: 10px;
  background: #fff;
  color: var(--fw-muted);
  font-weight: 800;
}

.public-page.public-warm .rating-row button.hover-preview:not(.selected) {
  background: var(--fw-blue-soft);
  border-color: rgba(47, 128, 255, 0.45);
  color: var(--fw-blue-dark);
  transform: translateY(-1px);
}

.public-page.public-warm .rating-row button.selected,
.public-page.public-warm .rating-row button.selected.hover-preview {
  background: var(--fw-blue);
  border-color: var(--fw-blue);
  color: #fff;
  box-shadow: 0 3px 0 var(--fw-blue-dark);
  transform: none;
}

.public-page.public-warm .primary-btn {
  background: var(--fw-blue);
  border: none;
  border-radius: 999px;
  box-shadow: 0 4px 0 var(--fw-blue-dark);
  font-weight: 800;
  font-family: inherit;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.public-page.public-warm .primary-btn:hover:not(:disabled) {
  background: var(--fw-blue);
  transform: translateY(-1px);
  box-shadow: 0 5px 0 var(--fw-blue-dark);
}

.public-page.public-warm .primary-btn:active:not(:disabled) {
  transform: translateY(2px);
  box-shadow: 0 2px 0 var(--fw-blue-dark);
}

.public-page.public-warm .primary-btn:disabled {
  opacity: 0.5;
  box-shadow: none;
}

.public-page.public-warm .public-info-card {
  background: var(--fw-cream-deep);
  border: 2px solid var(--fw-line);
  border-radius: var(--fw-radius);
  box-shadow: none;
  padding: 14px 16px;
}

.public-page.public-warm .public-info-body {
  color: var(--fw-muted);
  font-weight: 600;
  line-height: 1.55;
}

.public-page.public-warm .public-learn-more a {
  color: var(--fw-muted);
  font-weight: 700;
}

.public-page.public-warm .public-learn-more a:hover {
  color: var(--fw-blue);
}

.public-page.public-warm .public-submit-msg.is-success {
  color: var(--fw-teal-dark);
  font-weight: 700;
}

.public-page.public-warm .secondary-btn {
  border: 2px solid var(--fw-line);
  border-radius: 999px;
  font-weight: 800;
  font-family: inherit;
}

.public-page.public-warm .secondary-btn:hover:not(:disabled) {
  background: var(--fw-cream-deep);
}

.public-page.public-warm .thank-you-success {
  color: var(--fw-teal);
}

.public-page.public-warm .thank-you-success-ring {
  border-color: rgba(47, 143, 131, 0.35);
}

.public-page.public-warm .reply-thread {
  background: var(--fw-cream-deep);
  border: 2px solid var(--fw-line);
}

.public-page.public-warm .reply-bubble.is-you {
  background: var(--fw-teal);
}

.public-page.public-warm .reply-bubble.is-business {
  background: var(--fw-blue);
}

/* ── Marketing demo modal + browser frame ── */

.marketing-warm .mr-feedback-demo-modal .mr-modal-head h2 {
  font-weight: 900;
}

.marketing-warm .mr-feedback-demo-lead {
  font-weight: 600;
  color: var(--mw-muted, #7b7066);
}

.marketing-warm .mr-demo-browser {
  --demo-bg: var(--fw-cream);
  --demo-card: #fff;
  --demo-ink: var(--fw-ink);
  --demo-muted: var(--fw-muted);
  --demo-line: var(--fw-line);
  --demo-indigo: var(--fw-blue);
  --demo-indigo-hover: var(--fw-blue-dark);
  --demo-soft: var(--fw-cream-deep);
  --demo-radius: 16px;
  --demo-shadow: 0 5px 0 var(--fw-line);
  border: 2px solid var(--fw-line);
  border-radius: 16px;
  box-shadow: 0 8px 0 var(--fw-line);
  background: var(--fw-cream-deep);
}

.marketing-warm .mr-demo-browser-chrome {
  background: linear-gradient(180deg, #faf3ea 0%, var(--fw-cream-deep) 100%);
  border-bottom: 2px solid var(--fw-line);
}

.marketing-warm .mr-demo-browser-nav-btn,
.marketing-warm .mr-demo-browser-address {
  border: 2px solid var(--fw-line);
  background: #fff;
  color: var(--fw-muted);
  font-family: "Nunito", system-ui, sans-serif;
}

.marketing-warm .mr-demo-browser-address {
  font-weight: 700;
  color: var(--fw-ink);
}

.marketing-warm .mr-feedback-demo.mr-demo-browser-viewport {
  background: var(--fw-cream);
  font-family: "Nunito", system-ui, sans-serif;
}

.marketing-warm .mr-feedback-demo .public-strapline {
  color: var(--fw-teal-dark);
  background: var(--fw-teal-soft);
  border: 2px solid rgba(47, 143, 131, 0.28);
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.marketing-warm .mr-feedback-demo .public-strapline-icon {
  color: var(--fw-teal);
}

.marketing-warm .mr-feedback-demo .public-lead,
.marketing-warm .mr-feedback-demo .subtitle {
  color: var(--fw-muted);
  font-weight: 600;
}

.marketing-warm .mr-feedback-demo .mr-brand-masked {
  color: var(--fw-ink);
}

.marketing-warm .mr-feedback-demo .mr-brand-reviews {
  color: var(--fw-blue);
}

.marketing-warm .mr-feedback-demo .mr-brand-wordmark {
  font-family: "Nunito", system-ui, sans-serif;
}

.marketing-warm .mr-feedback-demo-card.card,
.marketing-warm .mr-feedback-demo .card {
  background: var(--fw-card);
  border: 2px solid var(--fw-line);
  border-radius: var(--fw-radius);
  box-shadow: var(--fw-shadow);
  padding: 18px 16px;
}

.marketing-warm .mr-feedback-demo label {
  font-weight: 700;
  color: var(--fw-ink);
  font-family: "Nunito", system-ui, sans-serif;
}

.marketing-warm .mr-feedback-demo textarea {
  border: 2px solid var(--fw-line);
  border-radius: 12px;
  background: #fff;
  color: var(--fw-ink);
  font-family: inherit;
}

.marketing-warm .mr-feedback-demo textarea:focus {
  border-color: var(--fw-blue);
  box-shadow: 0 0 0 3px var(--fw-blue-soft);
}

.marketing-warm .mr-feedback-demo .rating-row button {
  border: 2px solid var(--fw-line);
  border-radius: 8px;
  font-weight: 800;
}

.marketing-warm .mr-feedback-demo .rating-row button.hover-preview:not(.selected) {
  background: var(--fw-blue-soft);
  border-color: rgba(47, 128, 255, 0.45);
  color: var(--fw-blue-dark);
}

.marketing-warm .mr-feedback-demo .rating-row button.selected {
  background: var(--fw-blue);
  border-color: var(--fw-blue);
  color: #fff;
  box-shadow: 0 2px 0 var(--fw-blue-dark);
}

.marketing-warm .mr-feedback-demo .primary-btn {
  background: var(--fw-blue);
  border: none;
  border-radius: 999px;
  box-shadow: 0 4px 0 var(--fw-blue-dark);
  font-weight: 800;
  font-family: inherit;
  min-height: 44px;
}

.marketing-warm .mr-feedback-demo .primary-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 0 var(--fw-blue-dark);
}

.marketing-warm .mr-feedback-demo .public-info-card {
  background: var(--fw-cream-deep);
  border: 2px solid var(--fw-line);
  border-radius: var(--fw-radius);
  box-shadow: none;
}

.marketing-warm .mr-feedback-demo .public-info-title {
  font-family: "Nunito", system-ui, sans-serif;
  font-weight: 800;
  color: var(--fw-ink);
}

.marketing-warm .mr-feedback-demo .public-info-body {
  color: var(--fw-muted);
  font-weight: 600;
  line-height: 1.55;
}

.marketing-warm .mr-feedback-demo-thanks-title {
  font-family: "Nunito", system-ui, sans-serif;
  font-weight: 900;
  color: var(--fw-ink);
}

@media (min-width: 640px) {
  .public-page.public-warm .card {
    padding: 24px;
  }
}
