.offer-recovery-dialog {
  width: min(92vw, 570px);
  max-height: min(88vh, 760px);
  padding: 0;
  overflow: auto;
  color: #17251c;
  background: #fffdf8;
  border: 1px solid rgba(47, 94, 58, .24);
  border-radius: 22px;
  box-shadow: 0 28px 90px rgba(10, 24, 15, .34);
}

.offer-recovery-dialog::backdrop {
  background: rgba(13, 25, 17, .58);
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.offer-recovery-dialog [hidden] { display: none !important; }

.offer-recovery-dialog[open] {
  animation: offer-recovery-in .24s ease-out both;
}

.offer-recovery-content { padding: 8px 30px 30px; }

.offer-recovery-close {
  position: sticky;
  z-index: 2;
  top: 14px;
  float: right;
  width: 42px;
  height: 42px;
  margin: 14px 14px 0 0;
  color: #285b38;
  background: #eef5ec;
  border: 0;
  border-radius: 50%;
  font: 28px/1 Arial, sans-serif;
  cursor: pointer;
}

.offer-recovery-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 24px 30px 0;
  font: 600 17px/1.2 "Playfair Display", Georgia, serif;
}

.offer-recovery-brand img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  border-radius: 7px;
}

.offer-recovery-eyebrow {
  margin: 9px 0 8px;
  color: #9a7320;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
}

.offer-recovery-dialog h2 {
  margin: 0;
  max-width: 470px;
  font: 600 clamp(29px, 4vw, 40px)/1.08 "Playfair Display", Georgia, serif;
  letter-spacing: -.02em;
}

.offer-recovery-dialog h3 {
  margin: 20px 0 15px;
  font: 600 23px/1.2 "Playfair Display", Georgia, serif;
}

.offer-recovery-copy {
  margin: 13px 0 17px;
  color: #58665c;
  font-size: 15px;
  line-height: 1.55;
}

.offer-recovery-stay {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 15px;
  color: #294c33;
  background: #f0f5ed;
  border: 1px solid #d8e4d5;
  border-radius: 12px;
  font-size: 14px;
}

.offer-recovery-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.offer-recovery-primary,
.offer-recovery-secondary {
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid #28653c;
  border-radius: 11px;
  font: 700 14px/1.2 Inter, Arial, sans-serif;
  cursor: pointer;
}

.offer-recovery-primary { color: #fff; background: #28653c; }
.offer-recovery-secondary { color: #28653c; background: transparent; }
.offer-recovery-primary:hover { background: #1f5230; }
.offer-recovery-secondary:hover { background: #f0f5ed; }
.offer-recovery-primary:disabled { cursor: wait; opacity: .64; }

.offer-recovery-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.offer-recovery-fields label:not(.offer-recovery-consent) {
  display: grid;
  gap: 6px;
  color: #34463a;
  font-size: 13px;
  font-weight: 600;
}

.offer-recovery-fields input,
.offer-recovery-fields textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 11px 12px;
  color: #18231c;
  background: #fff;
  border: 1px solid #cbd5cd;
  border-radius: 9px;
  font: 15px/1.35 Inter, Arial, sans-serif;
}

.offer-recovery-fields textarea { resize: vertical; }
.offer-recovery-fields input:focus,
.offer-recovery-fields textarea:focus { outline: 3px solid rgba(72, 132, 88, .18); border-color: #367349; }
.offer-recovery-full { grid-column: 1 / -1; }

.offer-recovery-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 1px 0 3px;
  color: #59675d;
  font-size: 12px;
  line-height: 1.45;
}

.offer-recovery-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; }
.offer-recovery-consent a { color: #28653c; }
.offer-recovery-honeypot { position: absolute !important; left: -9999px !important; }
.offer-recovery-status { min-height: 20px; margin: 9px 0 0; color: #9a332d; font-size: 13px; }
.offer-recovery-success { padding: 6px 0 2px; }
.offer-recovery-success p { color: #526158; line-height: 1.55; }

@keyframes offer-recovery-in {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
  .offer-recovery-dialog {
    width: calc(100vw - 18px);
    max-height: calc(100dvh - 18px);
    margin: auto auto 9px;
    border-radius: 19px;
  }
  .offer-recovery-brand { padding: 20px 22px 0; }
  .offer-recovery-content { padding: 5px 22px 23px; }
  .offer-recovery-dialog h2 { font-size: 30px; }
  .offer-recovery-fields { grid-template-columns: 1fr; }
  .offer-recovery-full { grid-column: auto; }
  .offer-recovery-actions { align-items: stretch; flex-direction: column; }
  .offer-recovery-actions button { width: 100%; }
  .offer-recovery-stay { align-items: flex-start; flex-direction: column; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .offer-recovery-dialog[open] { animation: none; }
}
