.offer-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.7);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.offer-modal {
  background: var(--card-bg, #1a2a1a);
  border: 1px solid var(--border, #2d4a2d);
  border-radius: 12px;
  max-width: 520px; width: 100%;
  max-height: 90vh; overflow-y: auto;
  position: relative;
  animation: offerSlideIn .25s ease;
}
@keyframes offerSlideIn { from { transform: translateY(-20px); opacity:0; } to { transform: none; opacity:1; } }
.offer-close {
  position: absolute; top: 1rem; right: 1rem;
  background: none; border: none; font-size: 1.5rem;
  color: var(--text-muted, #8aaa8e); cursor: pointer; line-height:1;
}
.offer-close:hover { color: var(--text, #e8f5e9); }
.offer-header {
  padding: 1.5rem 1.5rem .5rem;
  border-bottom: 1px solid var(--border, #2d4a2d);
}
.offer-header h2 { margin: 0 0 .25rem; font-size: 1.3rem; }
.offer-subtitle  { margin: 0; color: var(--text-muted, #8aaa8e); font-size: .9rem; }
.offer-body { padding: 1.5rem; }
.offer-info-box {
  background: rgba(45,74,45,.3);
  border: 1px solid var(--border, #2d4a2d);
  border-radius: 8px; padding: .875rem 1rem; margin-bottom: 1.25rem;
  font-size: .875rem; line-height: 1.5;
}
.offer-price-bar {
  display: flex; justify-content: space-between; align-items: center;
  background: rgba(200,169,110,.08); border: 1px solid rgba(200,169,110,.25);
  border-radius: 6px; padding: .5rem .875rem; margin-bottom: 1rem; font-size: .9rem;
}
.offer-error {
  background: rgba(220,53,69,.15); border: 1px solid rgba(220,53,69,.4);
  color: #ff6b7a; border-radius: 6px; padding: .65rem .875rem;
  font-size: .875rem; margin-bottom: 1rem;
}
.offer-modal .form-group { margin-bottom: 1rem; }
.offer-modal .form-group label { display:block; margin-bottom:.35rem; font-size:.85rem; font-weight:600; }
.offer-modal .form-group input,
.offer-modal .form-group textarea {
  width: 100%; box-sizing: border-box;
  background: var(--input-bg, #0f1f0f);
  border: 1px solid var(--border, #2d4a2d);
  border-radius: 6px; padding: .6rem .75rem;
  color: var(--text, #e8f5e9); font-size: .9rem; font-family: inherit;
}
.offer-modal .form-group textarea { resize: vertical; min-height: 80px; }
.offer-modal .form-group input:focus,
.offer-modal .form-group textarea:focus {
  outline: none; border-color: var(--gold, #c8a96e);
  box-shadow: 0 0 0 2px rgba(200,169,110,.2);
}
.btn-full { width: 100%; }
