.pp-engagement {
  padding: clamp(2rem, 5vw, 4rem) 1rem;
  color: #55423e;
  background: #fbf8ff;
}
.pp-engagement .pp-engagement__card {
  box-sizing: border-box;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid rgba(61, 64, 91, .16);
  border-top: 3px solid #c9a45c;
  border-radius: 8px;
  background: linear-gradient(135deg, #f4f1de, #fff 70%);
}
.pp-engagement .pp-engagement__kicker {
  color: #9a442d;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pp-engagement h2 {
  margin: .75rem 0;
  color: #161a32;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 500;
  line-height: 1.2;
}
.pp-engagement p { margin: 0; line-height: 1.65; }
.pp-engagement .pp-engagement__intro p { max-width: 60ch; }
.pp-engagement .pp-engagement__form { margin-top: 1.75rem; }
.pp-engagement .pp-engagement__rating { min-width: 0; margin: 0 0 1.5rem; padding: 0; border: 0; }
.pp-engagement legend { float: none; width: auto; margin-bottom: .5rem; color: #161a32; font-size: 1rem; font-weight: 700; }
.pp-engagement .pp-engagement__stars { display: flex; flex-wrap: wrap; gap: .4rem; }
.pp-engagement .pp-engagement__choice { position: relative; }
.pp-engagement .pp-engagement__star {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid #88726d;
  border-radius: 6px;
  color: #9a442d;
  background: #fff;
  cursor: pointer;
}
.pp-engagement .pp-engagement__star svg { fill: none; stroke: currentColor; stroke-width: 1.5; }
.pp-engagement .pp-engagement__star[data-filled="true"] svg { fill: currentColor; }
.pp-engagement .pp-engagement__star:hover { background: #f4f1de; }
.pp-engagement .pp-engagement__radio,
.pp-engagement .pp-engagement__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.pp-engagement .pp-engagement__radio:focus-visible + label,
.pp-engagement :is(a, button, input):focus-visible { outline: 3px solid #45645e; outline-offset: 4px; }
.pp-engagement .pp-engagement__hint { margin-top: .65rem; color: #55423e; font-size: .875rem; }
.pp-engagement .pp-engagement__invitation { border-top: 1px solid rgba(61, 64, 91, .16); padding-top: 1.25rem; }
.pp-engagement .pp-engagement__optin { display: flex; align-items: flex-start; gap: .75rem; cursor: pointer; font-weight: 600; }
.pp-engagement .pp-engagement__optin input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: .18rem; accent-color: #9a442d; }
.pp-engagement .pp-engagement__contact { display: grid; grid-template-columns: 1fr 1.25fr; gap: 1rem; margin-top: 1.25rem; }
.pp-engagement [hidden] { display: none; }
.pp-engagement .pp-engagement__contact > * { min-width: 0; }
.pp-engagement .pp-engagement__contact label { display: block; margin-bottom: .4rem; font-size: .9rem; font-weight: 700; }
.pp-engagement .pp-engagement__contact label span { font-weight: 400; }
.pp-engagement .pp-engagement__contact input { box-sizing: border-box; width: 100%; min-height: 46px; padding: .6rem .75rem; border: 1px solid #88726d; border-radius: 4px; color: #161a32; background: #fff; font: inherit; }
.pp-engagement .pp-engagement__contact input::placeholder { color: #55423e; opacity: 1; }
.pp-engagement .pp-engagement__contact p { grid-column: 1 / -1; margin: 0; }
.pp-engagement a { color: #9a442d; text-decoration: underline; text-underline-offset: .18em; }
.pp-engagement a:hover { color: #55423e; }
.pp-engagement .pp-engagement__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.pp-engagement .pp-engagement__actions p { flex: 1 1 230px; margin: 0; }
.pp-engagement .pp-engagement__submit { min-height: 46px; padding: .7rem 1.2rem; border: 1px solid #9a442d; border-radius: 4px; color: #fff; background: #9a442d; font: inherit; font-weight: 700; cursor: pointer; }
.pp-engagement .pp-engagement__submit:hover { background: #76321f; }
.pp-engagement .pp-engagement__submit:disabled { opacity: .7; cursor: wait; }
.pp-engagement .pp-engagement__trap { display: none; }
.pp-engagement .pp-engagement__status:empty { display: none; }
.pp-engagement .pp-engagement__status { margin-top: 1.25rem; padding: 1rem; border-left: 3px solid #45645e; color: #161a32; background: #f1f6f4; overflow-wrap: anywhere; }
.pp-engagement[data-state="error"] .pp-engagement__status { border-color: #9a442d; background: #f8f5ef; }
@media (max-width: 575.98px) {
  .pp-engagement .pp-engagement__contact { grid-template-columns: minmax(0, 1fr); }
  .pp-engagement .pp-engagement__stars { gap: .3rem; }
  .pp-engagement .pp-engagement__submit { width: 100%; }
}
