/* ============================================================
   FlatKey Public Wizard — Standalone CSS
   Fonts: DM Serif Display (headings) + Plus Jakarta Sans (body)
   Palette: green accent (#2c5545), ivory (#faf9f6), stone (#e8e4de)
   ============================================================ */

:root {
  --ink: #1a1a1a;
  --ivory: #faf9f6;
  --stone: #e8e4de;
  --warm-gray: #9a9590;
  --accent: #2c5545;
  --accent-light: #3a7a5c;
  --accent-glow: #d4e8dc;
  --gold: #c8a96e;
  --gold-light: #f0e6d0;
  --danger: #8b3a3a;
  --green: #1a8a4a;
  --ff-display: 'DM Serif Display', Georgia, serif;
  --ff-body: 'Plus Jakarta Sans', -apple-system, sans-serif;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--ff-body);
  color: var(--ink);
  background: var(--ivory);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

/* ===== NAV ===== */
.wiz-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 1rem 2rem;
  display: flex; justify-content: space-between; align-items: center;
  background: rgba(250, 249, 246, 0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
.wiz-nav-logo {
  font-family: var(--ff-display); font-size: 1.4rem;
  color: var(--ink); text-decoration: none; letter-spacing: -0.02em;
}
.wiz-nav-logo span { color: var(--accent); }
.wiz-nav-links { display: flex; gap: 2rem; align-items: center; }
.wiz-nav-links a {
  text-decoration: none; color: var(--ink); font-size: 0.875rem;
  font-weight: 500; letter-spacing: 0.02em; transition: color 0.2s;
}
.wiz-nav-links a:hover { color: var(--accent); }
.wiz-nav-cta {
  background: var(--accent) !important; color: white !important;
  padding: 0.55rem 1.25rem !important; border-radius: 6px;
  font-weight: 600 !important; transition: all 0.25s ease !important;
}
.wiz-nav-cta:hover {
  background: var(--accent-light) !important; transform: translateY(-1px);
}

/* ===== MAIN ===== */
.wiz-main {
  max-width: 720px; margin: 0 auto;
  padding: 6rem 1.5rem 3rem;
  min-height: calc(100vh - 160px);
}

/* ===== FOOTER ===== */
.wiz-footer {
  background: var(--ink); color: rgba(255,255,255,0.4);
  padding: 2.5rem 2rem; text-align: center; font-size: 0.8rem; line-height: 1.8;
}
.wiz-footer-brand {
  font-family: var(--ff-display); font-size: 1.1rem;
  color: white; margin-bottom: 0.5rem;
}
.wiz-footer-brand span { color: var(--gold); }
.wiz-footer-legal {
  margin-top: 1rem; font-size: 0.7rem; max-width: 650px;
  margin-left: auto; margin-right: auto; line-height: 1.7;
}
.wiz-footer-copy { margin-top: 0.75rem; }

/* ===== WIZARD CONTAINER ===== */
.wiz-card {
  background: white; border-radius: 16px; padding: 2.5rem;
  box-shadow: 0 8px 40px rgba(0,0,0,0.04), 0 1px 3px rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.04);
}

.wiz-hero-tag {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--accent-glow); color: var(--accent);
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.4rem 0.9rem; border-radius: 100px; margin-bottom: 1.25rem;
}
.wiz-hero-tag::before {
  content: ''; width: 6px; height: 6px;
  background: var(--accent); border-radius: 50%;
}

.wiz-page-title {
  font-family: var(--ff-display);
  font-size: clamp(1.8rem, 3.5vw, 2.4rem);
  line-height: 1.15; letter-spacing: -0.025em; margin-bottom: 0.75rem;
}
.wiz-page-title em { font-style: italic; color: var(--accent); }

.wiz-page-sub {
  font-size: 1rem; color: var(--warm-gray); line-height: 1.8;
  font-weight: 300; margin-bottom: 2rem; max-width: 560px;
}

/* ===== PROGRESS BAR ===== */
.wiz-progress {
  display: flex; gap: 0.5rem; margin-bottom: 2rem; padding: 0 0.25rem;
}
.wiz-progress-step {
  flex: 1; height: 4px; border-radius: 2px;
  background: var(--stone); transition: background 0.3s ease;
}
.wiz-progress-step.active { background: var(--accent); }
.wiz-progress-step.completed { background: var(--accent); }

.wiz-step-label {
  font-size: 0.75rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--warm-gray); margin-bottom: 1.5rem;
}

/* ===== FORM CONTROLS ===== */
.wiz-form-group { margin-bottom: 1.25rem; }
.wiz-form-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
.wiz-form-label {
  display: block; font-size: 0.85rem; font-weight: 600;
  margin-bottom: 0.4rem; color: var(--ink);
}
.wiz-form-label .optional {
  font-weight: 400; color: var(--warm-gray); font-size: 0.78rem;
}
.wiz-form-hint {
  font-size: 0.78rem; color: var(--warm-gray); margin-top: 0.25rem;
}
.wiz-input, .wiz-select, .wiz-textarea {
  width: 100%; padding: 0.7rem 0.9rem; border: 1.5px solid var(--stone);
  border-radius: 8px; font-family: var(--ff-body); font-size: 0.9rem;
  color: var(--ink); background: white;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
}
.wiz-input:focus, .wiz-select:focus, .wiz-textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
}
.wiz-input::placeholder { color: var(--warm-gray); }
.wiz-input-alert { border-color: #c05621; }
.wiz-input-alert:focus { border-color: #c05621; box-shadow: 0 0 0 3px rgba(192,86,33,0.15); }
.wiz-textarea { resize: vertical; min-height: 80px; }
.wiz-select { appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9590' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.75rem center;
  padding-right: 2.5rem;
}

/* Checkbox / radio groups */
.wiz-check-group { display: flex; flex-direction: column; gap: 0.6rem; }
.wiz-check-item {
  display: flex; align-items: center; gap: 0.6rem; cursor: pointer;
  font-size: 0.9rem;
}
.wiz-check-item input[type="checkbox"],
.wiz-check-item input[type="radio"] {
  width: 18px; height: 18px; accent-color: var(--accent); cursor: pointer;
}

/* Option cards (e.g. property type) */
.wiz-option-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem;
}
.wiz-option-card {
  border: 1.5px solid var(--stone); border-radius: 10px;
  padding: 1rem; text-align: center; cursor: pointer;
  transition: all 0.2s ease; font-size: 0.85rem; font-weight: 500;
}
.wiz-option-card:hover { border-color: var(--accent-glow); }
.wiz-option-card.selected {
  border-color: var(--accent); background: var(--accent-glow);
  color: var(--accent); font-weight: 600;
}
.wiz-option-card .option-icon {
  font-size: 1.5rem; display: block; margin-bottom: 0.4rem;
}

/* ===== CHIP SELECTORS ===== */
.wiz-chip-group {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.wiz-chip {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.5rem 1rem; border: 1.5px solid var(--stone);
  border-radius: 100px; background: white; cursor: pointer;
  font-family: var(--ff-body); font-size: 0.82rem; font-weight: 500;
  color: var(--ink); transition: all 0.2s ease;
}
.wiz-chip:hover { border-color: var(--accent-glow); }
.wiz-chip.selected {
  border-color: var(--accent); background: var(--accent-glow);
  color: var(--accent); font-weight: 600;
}

/* 4-column option grid variant */
.wiz-option-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Strata fields container */
.wiz-strata-fields {
  margin-top: 1.25rem; padding-top: 1.25rem;
  border-top: 1px solid var(--stone);
}

/* ===== BUTTONS ===== */
.wiz-btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.85rem 1.75rem; border-radius: 8px;
  font-family: var(--ff-body); font-size: 0.95rem; font-weight: 600;
  text-decoration: none; cursor: pointer; border: none;
  transition: all 0.3s ease;
}
.wiz-btn-primary {
  background: var(--accent); color: white;
  box-shadow: 0 4px 20px rgba(44,85,69,0.2);
}
.wiz-btn-primary:hover {
  background: var(--accent-light); transform: translateY(-1px);
  box-shadow: 0 6px 25px rgba(44,85,69,0.25);
}
.wiz-btn-secondary {
  background: transparent; color: var(--ink);
  border: 1.5px solid var(--stone);
}
.wiz-btn-secondary:hover {
  border-color: var(--accent); color: var(--accent);
}
.wiz-btn-ghost {
  background: transparent; color: var(--warm-gray);
  padding: 0.85rem 1rem;
}
.wiz-btn-ghost:hover { color: var(--ink); }
.wiz-btn:disabled {
  opacity: 0.5; cursor: not-allowed; transform: none !important;
}

.wiz-btn-arrow { transition: transform 0.2s; }
.wiz-btn:hover .wiz-btn-arrow { transform: translateX(3px); }

.wiz-actions {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 2rem; padding-top: 1.5rem;
  border-top: 1px solid var(--stone);
}

/* ===== INFO / HIGHLIGHT CARDS ===== */
.wiz-info-card {
  background: var(--accent-glow); border-radius: 12px;
  padding: 1.25rem 1.5rem; margin: 1.25rem 0;
}
.wiz-info-card h4 {
  font-size: 0.9rem; font-weight: 700; color: var(--accent);
  margin-bottom: 0.4rem;
}
.wiz-info-card p {
  font-size: 0.85rem; color: var(--accent); line-height: 1.7; opacity: 0.85;
}

.wiz-warning-card {
  background: #fef3cd; border-radius: 12px;
  padding: 1.25rem 1.5rem; margin: 1.25rem 0;
  border: 1px solid #ffeaa7;
}
.wiz-warning-card p {
  font-size: 0.85rem; color: #856404; line-height: 1.7;
}

/* ===== SAVINGS CALCULATOR ===== */
.wiz-calc {
  background: white; border-radius: 14px; padding: 1.75rem;
  border: 1px solid var(--stone); margin: 1.5rem 0;
}
.wiz-calc-label {
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--warm-gray); margin-bottom: 0.75rem;
}
.wiz-calc-slider {
  width: 100%; -webkit-appearance: none; appearance: none;
  height: 6px; border-radius: 3px; background: var(--stone); outline: none;
}
.wiz-calc-slider::-webkit-slider-thumb {
  -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%;
  background: var(--accent); cursor: pointer;
  box-shadow: 0 2px 8px rgba(44,85,69,0.3);
}
.wiz-calc-price {
  font-family: var(--ff-display); font-size: 1.6rem;
  color: var(--ink); margin: 0.25rem 0 1rem; letter-spacing: -0.02em;
}
.wiz-calc-row {
  display: grid; grid-template-columns: 1fr auto; padding: 0.5rem 0;
  align-items: center;
}
.wiz-calc-row-label { font-size: 0.85rem; font-weight: 500; }
.wiz-calc-row-value {
  font-family: var(--ff-display); font-size: 1.05rem; text-align: right;
}
.wiz-calc-row-value.old { color: var(--warm-gray); }
.wiz-calc-row-value.flatkey { color: var(--accent); font-weight: 700; }
.wiz-calc-row-value.saved { font-size: 1.4rem; color: var(--green); font-weight: 800; }
.wiz-calc-divider {
  height: 2px; background: var(--green); opacity: 0.2; margin: 0.4rem 0;
}
.wiz-calc-note {
  font-size: 0.75rem; color: var(--warm-gray); text-align: center;
  margin-top: 0.75rem; font-style: italic;
}

/* ===== ENRICHMENT CARD (property lookup) ===== */
.wiz-enrichment {
  background: var(--accent-glow); border-radius: 12px;
  padding: 1.25rem 1.5rem; margin: 1rem 0;
}
.wiz-enrichment-header {
  display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem;
}
.wiz-enrichment-header svg { color: var(--accent); flex-shrink: 0; }
.wiz-enrichment-header h4 {
  font-size: 0.95rem; font-weight: 700; color: var(--accent);
}
.wiz-enrichment-address {
  font-family: var(--ff-display); font-size: 1.1rem; color: var(--ink);
  margin-bottom: 0.75rem;
}
.wiz-enrichment-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 1.5rem;
}
.wiz-enrichment-field {
  display: flex; justify-content: space-between; padding: 0.35rem 0;
  border-bottom: 1px solid rgba(44,85,69,0.1);
  font-size: 0.82rem;
}
.wiz-enrichment-field .field-label { color: var(--warm-gray); }
.wiz-enrichment-field .field-value { font-weight: 600; color: var(--ink); }

/* ===== REVIEW STEP (summary) ===== */
.wiz-review-section {
  margin-bottom: 1.5rem; padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--stone);
}
.wiz-review-section:last-child { border-bottom: none; }
.wiz-review-section h4 {
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--accent); margin-bottom: 0.75rem;
}
.wiz-review-row {
  display: grid; grid-template-columns: 140px 1fr; gap: 0.5rem;
  padding: 0.3rem 0; font-size: 0.88rem;
}
.wiz-review-label { color: var(--warm-gray); font-weight: 500; }
.wiz-review-value { font-weight: 600; }

/* ===== SUCCESS PAGE ===== */
.wiz-success-icon {
  width: 64px; height: 64px; background: var(--accent-glow);
  border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; margin-bottom: 1.25rem;
}
.wiz-success-icon svg { color: var(--accent); }

/* ===== STATUS PAGE ===== */
.wiz-status-timeline {
  position: relative; padding-left: 2rem;
}
.wiz-status-timeline::before {
  content: ''; position: absolute; left: 0.6rem; top: 0; bottom: 0;
  width: 2px; background: var(--stone);
}
.wiz-status-step {
  position: relative; padding-bottom: 1.5rem;
}
.wiz-status-step::before {
  content: ''; position: absolute; left: -1.65rem; top: 0.2rem;
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--stone); border: 2px solid var(--ivory);
}
.wiz-status-step.completed::before { background: var(--accent); }
.wiz-status-step.active::before {
  background: var(--accent); box-shadow: 0 0 0 4px var(--accent-glow);
}
.wiz-status-step h4 { font-size: 0.9rem; font-weight: 600; margin-bottom: 0.2rem; }
.wiz-status-step p { font-size: 0.82rem; color: var(--warm-gray); }

/* ===== COOP TOGGLE ===== */
.wiz-coop-toggle {
  background: white; border: 1.5px solid var(--stone);
  border-radius: 12px; padding: 1.25rem 1.5rem; margin: 1rem 0;
}
.wiz-coop-toggle.active { border-color: var(--accent); background: var(--accent-glow); }

/* ===== PHOTO SECTION ===== */
.wiz-photo-included {
  background: var(--accent-glow); border-radius: 14px; padding: 2rem;
  text-align: center;
}
.wiz-photo-included .photo-icon {
  font-size: 2.5rem; margin-bottom: 0.75rem;
}
.wiz-photo-included h3 {
  font-family: var(--ff-display); font-size: 1.3rem; margin-bottom: 0.5rem;
}
.wiz-photo-included p {
  font-size: 0.88rem; color: var(--accent); line-height: 1.7; max-width: 480px;
  margin: 0 auto;
}

/* ===== SPINNER / LOADING ===== */
.wiz-spinner {
  display: inline-block; width: 18px; height: 18px;
  border: 2px solid var(--stone); border-top-color: var(--accent);
  border-radius: 50%; animation: wiz-spin 0.6s linear infinite;
}
@keyframes wiz-spin { to { transform: rotate(360deg); } }

.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-flex; align-items: center; gap: 0.5rem; }
.htmx-request.htmx-indicator { display: inline-flex; align-items: center; gap: 0.5rem; }

/* ===== MAGIC LINK ===== */
.wiz-magic-link-form {
  max-width: 400px; margin: 0 auto; text-align: center;
}
.wiz-magic-link-form h2 {
  font-family: var(--ff-display); font-size: 1.6rem; margin-bottom: 0.75rem;
}
.wiz-magic-link-form p {
  color: var(--warm-gray); margin-bottom: 1.5rem; font-size: 0.9rem;
}

/* ===== DISCLOSURE SCROLLABLE AREAS ===== */
.wiz-disclosure {
  max-height: 300px;
  overflow-y: auto;
  padding: 1.25rem 1.5rem;
  border: 1.5px solid var(--stone);
  border-radius: 10px;
  background: white;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  line-height: 1.75;
  color: var(--ink);
}
.wiz-disclosure::-webkit-scrollbar {
  width: 6px;
}
.wiz-disclosure::-webkit-scrollbar-track {
  background: var(--ivory);
  border-radius: 3px;
}
.wiz-disclosure::-webkit-scrollbar-thumb {
  background: var(--warm-gray);
  border-radius: 3px;
}
.wiz-disclosure::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}
.wiz-disclosure h4 {
  font-family: var(--ff-display);
  font-size: 0.95rem;
  color: var(--accent);
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
  letter-spacing: -0.01em;
}
.wiz-disclosure h4:first-child {
  margin-top: 0;
}
.wiz-disclosure p {
  margin-bottom: 0.6rem;
  color: var(--ink);
}
.wiz-disclosure-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--warm-gray);
  margin-bottom: 0.5rem;
}
.wiz-disclosure ul {
  padding-left: 1.25rem;
  margin-bottom: 0.75rem;
}
.wiz-disclosure li {
  margin-bottom: 0.3rem;
  font-size: 0.84rem;
  line-height: 1.7;
}
.wiz-disclosure li ul {
  margin-top: 0.3rem;
  margin-bottom: 0.3rem;
}
.wiz-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  font-size: 0.88rem;
  line-height: 1.6;
}
.wiz-checkbox-row input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-top: 0.15rem;
  accent-color: var(--accent);
  cursor: pointer;
  flex-shrink: 0;
}

/* ===== TOGGLE SWITCH ===== */
.wiz-toggle {
  position: relative; display: inline-block; width: 44px; height: 24px;
  flex-shrink: 0;
}
.wiz-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
.wiz-toggle-slider {
  position: absolute; cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--stone); border-radius: 24px;
  transition: background 0.25s;
}
.wiz-toggle-slider::before {
  content: ''; position: absolute;
  width: 18px; height: 18px; left: 3px; bottom: 3px;
  background: white; border-radius: 50%;
  transition: transform 0.25s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
.wiz-toggle input:checked + .wiz-toggle-slider { background: var(--accent); }
.wiz-toggle input:checked + .wiz-toggle-slider::before { transform: translateX(20px); }

/* Toggle row for subjects/conditions */
.wiz-subject-row {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.65rem 0; border-bottom: 1px solid rgba(0,0,0,0.04);
}
.wiz-subject-row:last-child { border-bottom: none; }
.wiz-subject-label {
  flex: 1; font-size: 0.88rem; font-weight: 500;
}
.wiz-subject-days {
  width: 56px; text-align: center;
  padding: 0.35rem 0.5rem; border: 1.5px solid var(--stone);
  border-radius: 6px; font-family: var(--ff-body); font-size: 0.85rem;
  outline: none;
}
.wiz-subject-days:focus {
  border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-glow);
}
.wiz-subject-unit {
  font-size: 0.75rem; color: var(--warm-gray); white-space: nowrap;
}

/* ===== PROPERTY CARD (buyer wizard lookup) ===== */
.wiz-property-card {
  background: var(--accent-glow); border-radius: 12px;
  padding: 1.25rem 1.5rem; margin: 1rem 0;
  border: 1.5px solid rgba(44,85,69,0.15);
}
.wiz-property-card h4 {
  font-family: var(--ff-display); font-size: 1.1rem;
  color: var(--ink); margin-bottom: 0.5rem;
}
.wiz-property-card-detail {
  display: flex; gap: 1.5rem; flex-wrap: wrap; font-size: 0.85rem;
}
.wiz-property-card-detail span {
  color: var(--accent); font-weight: 500;
}

/* ===== OPTION BUTTONS (e.g. completion date, expiry) ===== */
.wiz-option-btns {
  display: flex; gap: 0.5rem; flex-wrap: wrap;
}
.wiz-option-btn {
  padding: 0.55rem 1.1rem; border: 1.5px solid var(--stone);
  border-radius: 8px; background: white; cursor: pointer;
  font-family: var(--ff-body); font-size: 0.85rem; font-weight: 500;
  transition: all 0.2s ease; color: var(--ink);
}
.wiz-option-btn:hover { border-color: var(--accent-glow); }
.wiz-option-btn.selected {
  border-color: var(--accent); background: var(--accent-glow);
  color: var(--accent); font-weight: 600;
}

/* ===== OFFER PERCENT HELPER ===== */
.wiz-offer-helper {
  font-size: 0.82rem; color: var(--accent); font-weight: 600;
  margin-top: 0.3rem;
}

/* ===== FEE BREAKDOWN (Agreement step) ===== */
.wiz-fee-breakdown {
  background: white; border: 1.5px solid var(--stone); border-radius: 12px;
  padding: 1.5rem; margin: 1.25rem 0;
}
.wiz-fee-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.5rem 0; font-size: 0.88rem;
}
.wiz-fee-row.total {
  border-top: 2px solid var(--accent); margin-top: 0.5rem; padding-top: 0.75rem;
  font-weight: 700;
}
.wiz-fee-value { font-family: var(--ff-display); font-size: 1rem; }
.wiz-fee-value.rebate { color: var(--green); font-weight: 700; font-size: 1.15rem; }

/* ===== WHAT-YOU-GET LIST ===== */
.wiz-benefit-list {
  list-style: none; padding: 0; margin: 1rem 0;
}
.wiz-benefit-list li {
  display: flex; align-items: flex-start; gap: 0.6rem;
  padding: 0.45rem 0; font-size: 0.88rem;
}
.wiz-benefit-list li::before {
  content: '\2713'; color: var(--accent); font-weight: 700;
  font-size: 1rem; flex-shrink: 0; margin-top: 0.05rem;
}

/* ===== CONFIRMATION / SUCCESS (buyer wizard) ===== */
.wiz-confirm-icon {
  width: 80px; height: 80px; background: var(--accent-glow);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.5rem; font-size: 2.2rem;
}
.wiz-confirm-title {
  font-family: var(--ff-display); font-size: 1.5rem; text-align: center;
  margin-bottom: 0.75rem; color: var(--ink);
}
.wiz-confirm-sub {
  text-align: center; font-size: 0.92rem; color: var(--warm-gray);
  line-height: 1.8; max-width: 460px; margin: 0 auto;
}
.wiz-confirm-email {
  font-weight: 700; color: var(--accent);
}

/* ===== AUTO-FILL INDICATOR ===== */
.wiz-autofill-hint {
  display: block;
  font-size: 0.75rem;
  color: var(--accent);
  margin-top: 0.2rem;
  font-style: italic;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .wiz-nav { padding: 0.75rem 1rem; }
  .wiz-nav-links a:not(.wiz-nav-cta) { display: none; }
  .wiz-main { padding: 5rem 1rem 2rem; }
  .wiz-card { padding: 1.5rem; }
  .wiz-form-row { grid-template-columns: 1fr; }
  .wiz-option-grid { grid-template-columns: repeat(2, 1fr); }
  .wiz-option-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .wiz-enrichment-grid { grid-template-columns: 1fr; }
  .wiz-review-row { grid-template-columns: 1fr; }
  .wiz-actions { flex-direction: column-reverse; gap: 0.75rem; }
  .wiz-actions > * { width: 100%; text-align: center; justify-content: center; }
  .wiz-option-btns { flex-direction: column; }
  .wiz-option-btn { text-align: center; }
  .wiz-property-card-detail { flex-direction: column; gap: 0.5rem; }
  .wiz-fee-row { font-size: 0.82rem; }
  .wiz-subject-row { flex-wrap: wrap; }
}


/* ===== ADDRESS AUTOCOMPLETE ===== */

.wiz-autocomplete-wrap {
  position: relative;
}

.wiz-autocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 50;
  list-style: none;
  padding: 0.25rem 0;
  margin: 0.25rem 0 0 0;
  background: white;
  border: 1.5px solid var(--stone);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04);
  max-height: 240px;
  overflow-y: auto;
}

.wiz-autocomplete-item {
  padding: 0.6rem 0.9rem;
  font-size: 0.88rem;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.15s ease;
  line-height: 1.5;
}

.wiz-autocomplete-item:hover,
.wiz-autocomplete-item.highlighted {
  background: var(--accent-glow);
  color: var(--accent);
}

.wiz-autocomplete-item:first-child {
  border-radius: 6px 6px 0 0;
}

.wiz-autocomplete-item:last-child {
  border-radius: 0 0 6px 6px;
}

.wiz-autocomplete-hint {
  font-size: 0.78rem;
  color: var(--warm-gray);
  margin-top: 0.3rem;
  font-style: italic;
}

/* ===== MY ACCOUNT PAGE ===== */
.wiz-tab-bar {
  display: flex; gap: 0;
  border: 1.5px solid var(--stone); border-radius: 8px;
  overflow: hidden; margin-bottom: 1.5rem;
}
.wiz-tab-btn {
  flex: 1; padding: 0.7rem 1.25rem;
  font-family: var(--ff-body); font-size: 0.88rem; font-weight: 600;
  border: none; background: white; color: var(--warm-gray);
  cursor: pointer; transition: all 0.2s ease;
}
.wiz-tab-btn:not(:last-child) { border-right: 1.5px solid var(--stone); }
.wiz-tab-btn.active { background: var(--accent); color: white; }
.wiz-tab-btn:hover:not(.active) { background: var(--accent-glow); color: var(--accent); }

.wiz-account-status-badge {
  display: inline-flex; align-items: center;
  padding: 0.2rem 0.65rem; border-radius: 100px;
  font-size: 0.72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.04em;
  white-space: nowrap; flex-shrink: 0;
}
.wiz-account-status-draft { background: var(--stone); color: var(--warm-gray); }
.wiz-account-status-pending_review { background: #fef3cd; color: #856404; }
.wiz-account-status-active { background: var(--accent-glow); color: var(--accent); }
.wiz-account-status-conditional { background: #fef3cd; color: #856404; }
.wiz-account-status-sold,
.wiz-account-status-completed,
.wiz-account-status-offer_accepted,
.wiz-account-status-subjects_removed { background: var(--accent-glow); color: var(--accent); }
.wiz-account-status-initiated,
.wiz-account-status-completing { background: #dbeafe; color: #1d4ed8; }
.wiz-account-status-offer_submitted,
.wiz-account-status-subjects_pending { background: #fef3cd; color: #856404; }
.wiz-account-status-expired,
.wiz-account-status-cancelled,
.wiz-account-status-withdrawn,
.wiz-account-status-collapsed { background: var(--stone); color: var(--warm-gray); }
.wiz-account-status-sent,
.wiz-account-status-received { background: #dbeafe; color: #1d4ed8; }
.wiz-account-status-accepted { background: var(--accent-glow); color: var(--accent); }
.wiz-account-status-rejected { background: #fee2e2; color: #991b1b; }

.wiz-empty-state {
  text-align: center; padding: 1.5rem 1rem;
  color: var(--warm-gray); font-size: 0.88rem; line-height: 1.6;
}
.wiz-empty-state a {
  color: var(--accent); font-weight: 600; text-decoration: none;
}

@media (max-width: 768px) {
  .wiz-tab-btn { font-size: 0.82rem; padding: 0.6rem 0.75rem; }
}
