/*
 * FindItTnT Real Estate Post-an-Ad Integration
 * Production CSS v3.2 - Pixel-Perfect Prototype Match
 *
 * Scoped strictly to body.fitt-is-real-estate
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --navy: #0A2540;
  --gold: #F59E0B;
  --gold-hover: #D97706;
  --bg: #F7F5F1;
  --border: #D8E1E8;
  --text: #102A43;
  --muted: #637381;
  --soft: #F8F6F2;
  --white: #FFFFFF;
  --green: #1E7A4A;
  --danger: #A83A3A;
}

/* ── Hide native dropdown ONLY for Real Estate on Category Select Screen ── */
body.fitt-is-real-estate ul.select-category > li[data-type-key="property"] {
  display: none !important;
}

body.fitt-is-real-estate #next_step:not(.disabled) {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border: none !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

/* ── HARD HIDE native "Post an Ad" page unpolished elements (keep site nav/header visible) ── */
body.fitt-is-real-estate #main_container > h1,
body.fitt-is-real-estate #controller_area > h1,
body.fitt-is-real-estate .main-wrapper > h1,
body.fitt-is-real-estate .content-padding > h1,
body.fitt-is-real-estate #category_container > h1,
body.fitt-is-real-estate .selected-category.submit-cell,
body.fitt-is-real-estate .selected-ad-type.submit-cell,
body.fitt-is-real-estate .selected-plan.submit-cell,
body.fitt-is-real-estate .rental-period-help,
body.fitt-is-real-estate .listing-form,
body.fitt-is-real-estate .fitt-native-title-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ── Real Estate Global Font & Background ── */
html.fitt-is-real-estate,
body.fitt-is-real-estate,
body.fitt-is-real-estate * {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

html.fitt-is-real-estate,
body.fitt-is-real-estate {
  background: var(--bg) !important;
  color: var(--text) !important;
  min-height: 100% !important;
}

body.fitt-is-real-estate > div.main-wrapper {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

body.fitt-is-real-estate div#wrapper {
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
}

body.fitt-is-real-estate section#main_container,
body.fitt-is-real-estate section#main_container > .inside-container,
body.fitt-is-real-estate section#content,
body.fitt-is-real-estate #controller_area {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.fitt-is-real-estate #category_container.selected {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 10px 22px 20px !important;
  background: transparent !important;
  color: var(--text) !important;
  border: none !important;
  box-shadow: none !important;
}

.wrap {
  max-width: 1180px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
}

/* ── Breadcrumbs & Headings ── */
.crumb {
  font-size: 13px !important;
  color: var(--muted) !important;
  margin-bottom: 16px !important;
}

.crumb span {
  color: var(--text) !important;
}

h1 {
  font-size: 32px !important;
  line-height: 1.1 !important;
  margin: 0 0 8px !important;
  color: var(--navy) !important;
  font-weight: 900 !important;
  display: block !important;
}

h2 {
  color: var(--navy) !important;
  margin: 0 0 12px !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.sub {
  color: var(--muted) !important;
  margin: 0 0 22px !important;
  font-size: 15px !important;
}

/* ── Step Container & Number Badge ── */
.step {
  display: grid !important;
  grid-template-columns: 42px 1fr !important;
  gap: 14px !important;
  align-items: start !important;
  margin-bottom: 18px !important;
}

.num {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: var(--navy) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.panel {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 15px !important;
  padding: 20px !important;
  box-shadow: 0 8px 28px rgba(10,37,64,.06) !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* ── Form Grid & Inputs ── */
.form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
}

.span2 {
  grid-column: 1 / -1 !important;
}

.field {
  display: flex !important;
  flex-direction: column !important;
}

.field label {
  display: block !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  margin-bottom: 6px !important;
  color: var(--navy) !important;
  text-align: left !important;
  width: 100% !important;
}

.field small {
  display: block !important;
  margin-top: 5px !important;
  color: var(--muted) !important;
  font-size: 11px !important;
}

input, select, textarea {
  width: 100% !important;
  border: 1px solid var(--border) !important;
  border-radius: 9px !important;
  padding: 11px 12px !important;
  background: #fff !important;
  color: var(--text) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.12) !important;
}

input:disabled, select:disabled, textarea:disabled {
  background: #f3f5f7 !important;
  color: #8c99a5 !important;
  cursor: not-allowed !important;
  border-color: var(--border) !important;
}

textarea {
  min-height: 125px !important;
  resize: vertical !important;
}

/* ── Step 1: Category Segmented & Cards ── */
.mode-label, .section-label {
  font-weight: 800 !important;
  font-size: 13px !important;
  color: var(--navy) !important;
  margin: 4px 0 7px !important;
}

.segmented {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  margin-bottom: 18px !important;
  width: 100% !important;
}

.seg {
  position: relative !important;
  width: 100% !important;
}

.seg input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.seg label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  width: 100% !important;
  border: 1px solid var(--border) !important;
  border-radius: 11px !important;
  background: #fff !important;
  color: var(--navy) !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: border-color .16s ease, background .16s ease !important;
}

.seg label:hover {
  border-color: #B9C7D3 !important;
}

.seg input[type="radio"]:checked + label {
  border: 2px solid var(--gold) !important;
  background: #FFF8E7 !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.12) !important;
}

.class-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
}

.class-card {
  position: relative !important;
  width: 100% !important;
}

.class-card input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.class-card label {
  display: block !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 15px !important;
  background: #fff !important;
  cursor: pointer !important;
  min-height: 104px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .16s ease, background .16s ease !important;
}

.class-card label b {
  display: block !important;
  color: var(--navy) !important;
  margin-bottom: 4px !important;
  font-size: 14px !important;
}

.class-card label small {
  color: var(--muted) !important;
  line-height: 1.35 !important;
  font-size: 12px !important;
  display: block !important;
}

.class-card input[type="radio"]:checked + label {
  border: 2px solid var(--gold) !important;
  background: #fffaf0 !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.10) !important;
}

.class-card.is-disabled label {
  opacity: .42 !important;
  cursor: not-allowed !important;
  background: #f5f6f7 !important;
}

.category-status {
  margin-top: 14px !important;
  padding: 11px 13px !important;
  border: 1px solid #d8e4ed !important;
  background: #f5f9fc !important;
  border-radius: 10px !important;
  color: #48657a !important;
  font-size: 12px !important;
}

.category-status strong {
  color: var(--navy) !important;
}

.secondary {
  display: flex !important;
  gap: 9px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  margin-top: 14px !important;
  padding-top: 13px !important;
  border-top: 1px solid #eef1f4 !important;
}

.secondary span {
  font-size: 12px !important;
  color: var(--muted) !important;
}

.secondary button {
  background: transparent !important;
  color: var(--navy) !important;
  padding: 2px 0 !important;
  text-decoration: underline !important;
  font-size: 12px !important;
  border: none !important;
  cursor: pointer !important;
  font-weight: 800 !important;
}

/* ── Disabled Panel Overlay (Exact Prototype Match & Not-Allowed Cursor) ── */
.disabled-panel {
  opacity: .55 !important;
  cursor: not-allowed !important;
}

.disabled-panel * {
  cursor: not-allowed !important;
}

.disabled-panel .panel {
  position: relative !important;
}

.disabled-panel .panel:after {
  content: "Choose Sale or Rent and a property type first" !important;
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 20px !important;
  background: rgba(247,245,241,.85) !important;
  backdrop-filter: blur(1px) !important;
  border-radius: 15px !important;
  color: var(--navy) !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  z-index: 10 !important;
  cursor: not-allowed !important;
}

/* ── Step 2: Location Map ── */
.map {
  height: 250px !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg,#dcebd7,#cce0ef) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--navy) !important;
  font-weight: 900 !important;
  text-align: center !important;
  padding: 20px !important;
  border: 1px solid var(--border) !important;
  box-sizing: border-box !important;
}

/* ── Step 3: Rental Period & Preview Bar ── */
.rental-period-wrap {
  grid-column: 1 / -1 !important;
}

.rental-period-options {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  gap: 10px !important;
  margin-top: 6px !important;
}

.rental-period-option {
  position: relative !important;
}

.rental-period-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
}

.rental-period-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 10px 8px !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--navy) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: border-color .16s ease, background .16s ease !important;
}

.rental-period-option input[type="radio"]:checked + label {
  border: 2px solid var(--gold) !important;
  background: #FFF8E7 !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.12) !important;
}

.previewbar {
  grid-column: 1 / -1 !important;
  background: var(--soft) !important;
  border: 1px solid #eee4d5 !important;
  border-radius: 10px !important;
  padding: 11px 12px !important;
  color: var(--muted) !important;
  font-size: 12px !important;
}

.previewbar strong {
  color: var(--navy) !important;
}

.context {
  grid-column: 1 / -1 !important;
  border-top: 1px solid var(--border) !important;
  padding-top: 16px !important;
  margin-top: 2px !important;
}

.context h3 {
  color: var(--navy) !important;
  margin: 0 0 12px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

/* ── Step 4: Media Uploader ── */
.upload {
  border: 2px dashed #b9c7d2 !important;
  border-radius: 13px !important;
  padding: 30px !important;
  text-align: center !important;
  background: #fbfcfd !important;
}

.meta {
  color: var(--muted) !important;
  font-size: 13px !important;
  margin: 6px 0 14px !important;
}

/* ── Step 5: Review & Package Cards (Pixel-Perfect Prototype Match) ── */
.review {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr !important;
  gap: 16px !important;
}

.summary {
  background: var(--soft) !important;
  border: 1px solid #eee4d5 !important;
  border-radius: 12px !important;
  padding: 14px !important;
}

.summary-row {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #e8e2d8 !important;
  font-size: 13px !important;
}

.summary-row:last-child {
  border-bottom: 0 !important;
}

.summary-row span:first-child {
  color: var(--muted) !important;
}

.summary-row strong {
  text-align: right !important;
  color: var(--navy) !important;
}

.notice {
  padding: 12px 14px !important;
  border-radius: 11px !important;
  background: #eef5f9 !important;
  border: 1px solid #c9dce8 !important;
  color: #36566d !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.notice strong {
  color: var(--navy) !important;
}

/* ── 5-Column Package Cards Grid (1:1 Prototype Match & Reset) ── */
body.fitt-is-real-estate #fitt_post_wrap .plans,
#fitt_post_wrap .plans,
.plans {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 10px !important;
  margin: 16px 0 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan,
#fitt_post_wrap .plans .plan,
#fitt_post_wrap .plan,
.plan {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan:hover,
#fitt_post_wrap .plans .plan:hover {
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan input[type="radio"],
#fitt_post_wrap .plans .plan input,
.plan input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan label,
#fitt_post_wrap .plans .plan label,
.plan label {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  background: #ffffff !important;
  border: 1px solid var(--border, #D8E1E8) !important;
  border-radius: 12px !important;
  padding: 14px !important;
  cursor: pointer !important;
  height: 100% !important;
  min-height: 86px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
  margin: 0 !important;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease !important;
  position: relative !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan label:hover,
#fitt_post_wrap .plans .plan label:hover {
  border-color: #B9C7D3 !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan input[type="radio"]:checked + label,
#fitt_post_wrap .plans .plan input:checked + label,
.plan input[type="radio"]:checked + label {
  border: 2px solid var(--gold, #F59E0B) !important;
  background: #fffaf0 !important;
  box-shadow: 0 0 0 3px rgba(245,158,11,.10) !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan .badge,
#fitt_post_wrap .plans .plan .badge,
#fitt_post_wrap .badge,
body.fitt-is-real-estate .badge,
.badge {
  display: inline-block !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .03em !important;
  background: var(--gold, #F59E0B) !important;
  color: var(--navy, #0A2540) !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  width: auto !important;
  height: auto !important;
  box-shadow: none !important;
  border: none !important;
  align-self: flex-start !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan .badge::before,
body.fitt-is-real-estate #fitt_post_wrap .plans .plan .badge::after,
#fitt_post_wrap .badge::before,
#fitt_post_wrap .badge::after,
body.fitt-is-real-estate .badge::before,
body.fitt-is-real-estate .badge::after,
.badge::before,
.badge::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan b,
#fitt_post_wrap .plans .plan b,
.plan b {
  display: block !important;
  color: var(--navy, #0A2540) !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

body.fitt-is-real-estate #fitt_post_wrap .plans .plan small,
#fitt_post_wrap .plans .plan small,
.plan small {
  color: var(--muted, #637381) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.actions {
  display: flex !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
}

.ghost {
  background: #fff !important;
  border: 1px solid var(--border) !important;
  color: var(--navy) !important;
  border-radius: 9px !important;
  padding: 11px 20px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  cursor: pointer !important;
}

.gold {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 12px 26px !important;
  font-weight: 850 !important;
  font-size: 15px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(245,158,11,.25) !important;
  transition: background .15s ease, transform .15s ease !important;
}

.gold:hover {
  background: var(--gold-hover) !important;
  transform: translateY(-1px) !important;
}

.hidden {
  display: none !important;
}

/* ── Responsive Breakpoints ── */

/* Tablet / small laptop */
@media (max-width: 900px) {
  body.fitt-is-real-estate #category_container.selected {
    padding: 10px 16px 40px !important;
  }
  .wrap {
    padding: 0 !important;
  }
  .class-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .rental-period-options {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .plans,
  #fitt_post_wrap .plans,
  .plans {
    grid-template-columns: 1fr !important;
  }
  .review {
    grid-template-columns: 1fr !important;
  }
  /* Package cards become a vertical list (ONE per row) on mobile/tablet */
  body.fitt-is-real-estate #fitt_post_wrap .plans .plan label,
  #fitt_post_wrap .plans .plan label,
  .plan label {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    height: auto !important;
    min-height: 52px !important;
    padding: 14px 16px !important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .plans .plan b,
  #fitt_post_wrap .plans .plan b,
  .plan b {
    display: block !important;
    margin: 0 !important;
    font-size: 15px !important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .plans .plan small,
  #fitt_post_wrap .plans .plan small,
  .plan small {
    display: block !important;
    margin: auto 0 0 0 !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 13px !important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .plans .plan .badge,
  #fitt_post_wrap .plans .plan .badge,
  .badge {
    margin: 0 0 4px 0 !important;
  }
}

/* Large phones */
@media (max-width: 620px) {
  .form-grid, .class-grid, .plans {
    grid-template-columns: 1fr !important;
  }
  .span2 {
    grid-column: auto !important;
  }
  .rental-period-options {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .step {
    grid-template-columns: 30px 1fr !important;
    gap: 10px !important;
  }
  .num {
    width: 28px !important;
    height: 28px !important;
    font-size: 14px !important;
  }
  .panel {
    padding: 16px !important;
  }
  h1 {
    font-size: 26px !important;
  }
  .sub {
    font-size: 14px !important;
  }
  .actions {
    flex-direction: column-reverse !important;
    gap: 10px !important;
  }
  .ghost, .gold {
    width: 100% !important;
    text-align: center !important;
  }
  .summary-row {
    font-size: 12.5px !important;
  }
}

/* Small phones — make the whole post-ad flow truly full-screen */
@media (max-width: 420px) {
  body.fitt-is-real-estate #category_container.selected {
    padding: 8px 12px 36px !important;
  }
  .segmented {
    grid-template-columns: 1fr !important;
  }
  .rental-period-options {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .review {
    gap: 12px !important;
  }
  .plan label {
    min-height: 0 !important;
    padding: 12px !important;
  }
  .actions .ghost, .actions .gold {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  h1 {
    font-size: 23px !important;
  }
  .step {
    grid-template-columns: 26px 1fr !important;
  }
  .num {
    width: 24px !important;
    height: 24px !important;
    font-size: 13px !important;
  }
}

/* FindItTnT Real Estate production v2 overrides */
body.fitt-is-real-estate #category_container,
body.fitt-is-real-estate #category_container.selected,
body.fitt-is-real-estate #fitt_post_wrap{
  width:100%!important;
  max-width:1180px!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.fitt-is-real-estate #fitt_post_wrap .panel,
body.fitt-is-real-estate #fitt_post_wrap .form-grid,
body.fitt-is-real-estate #fitt_post_wrap .field{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.fitt-is-real-estate select[data-fitt-country-locked="1"]{
  pointer-events:none!important;
  cursor:default!important;
  background-color:#f3f5f7!important;
  color:#263b4c!important;
  opacity:1!important;
}
body.fitt-is-real-estate #fitt_location_fields .fitt-map-full{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}
body.fitt-is-real-estate #fitt_location_fields #lf_container,
body.fitt-is-real-estate #fitt_location_fields #lf_container > .submit-cell,
body.fitt-is-real-estate #fitt_location_fields #lf_container > .submit-cell > .field,
body.fitt-is-real-estate #fitt_location_fields #lf_map{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.fitt-is-real-estate #fitt_location_fields #lf_container > .submit-cell > .name{
  display:block!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 7px!important;
  padding:0!important;
  color:var(--navy)!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.fitt-is-real-estate #fitt_location_fields #lf_map{
  height:360px!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
body.fitt-is-real-estate #fitt_media_host,
body.fitt-is-real-estate #fitt_media_host .form-media,
body.fitt-is-real-estate #fitt_media_host .form-media > .submit-cell,
body.fitt-is-real-estate #fitt_media_host .form-media > .submit-cell > .field,
body.fitt-is-real-estate #fitt_media_host #fileupload,
body.fitt-is-real-estate #fitt_media_host .upload-zone{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.fitt-is-real-estate #fitt_media_host .form-media{
  border:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
body.fitt-is-real-estate #fitt_media_host .form-media > .submit-cell{
  padding:0!important;
}
body.fitt-is-real-estate #fitt_media_host .form-media > .submit-cell > .name{
  width:100%!important;
  margin:0 0 8px!important;
  padding:0!important;
}
body.fitt-is-real-estate #fitt_media_host .upload-zone{
  min-height:110px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:2px dashed #b9c7d2!important;
  border-radius:13px!important;
  background:#fbfcfd!important;
}
body.fitt-is-real-estate #fitt_media_host .upload-zone .flex-wrap,
body.fitt-is-real-estate #fitt_media_host .upload-zone .flex-wrap > span,
body.fitt-is-real-estate #fitt_media_host .upload-zone mark{
  color:var(--navy)!important;
  font-weight:800!important;
  background:transparent!important;
}
body.fitt-is-real-estate #fitt_media_host .add-video-link{
  display:none!important;
}
body.fitt-is-real-estate .fitt-package-promise{
  margin:0 0 16px!important;
  padding:14px 16px!important;
  border:1px solid #d8e4ed!important;
  border-radius:12px!important;
  background:#f5f9fc!important;
}
body.fitt-is-real-estate .fitt-package-promise strong{
  display:block!important;
  color:var(--navy)!important;
  font-size:16px!important;
}
body.fitt-is-real-estate .fitt-package-promise span{
  display:block!important;
  margin-top:4px!important;
  color:#526979!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body.fitt-is-real-estate #fitt_post_wrap .plans{
  align-items:stretch!important;
}
body.fitt-is-real-estate #fitt_post_wrap .fitt-rich-plan label{
  min-height:390px!important;
}
body.fitt-is-real-estate .fitt-plan-badges{
  min-height:24px!important;
}
body.fitt-is-real-estate .fitt-plan-price{
  display:flex!important;
  align-items:flex-end!important;
  gap:3px!important;
  margin:7px 0 2px!important;
  color:var(--navy)!important;
}
body.fitt-is-real-estate .fitt-plan-price > span{
  font-size:11px!important;
  font-weight:900!important;
  padding-bottom:5px!important;
}
body.fitt-is-real-estate .fitt-plan-price > strong{
  font-size:31px!important;
  line-height:1!important;
  font-weight:900!important;
}
body.fitt-is-real-estate .fitt-plan-price > small{
  font-size:11px!important;
  color:var(--muted)!important;
  padding-bottom:3px!important;
}
body.fitt-is-real-estate .fitt-plan-annual{
  color:#526979!important;
  font-size:12px!important;
  font-weight:700!important;
  margin-bottom:10px!important;
}
body.fitt-is-real-estate .fitt-plan-benefits{
  list-style:none!important;
  margin:0 0 12px!important;
  padding:0!important;
  display:grid!important;
  gap:7px!important;
}
body.fitt-is-real-estate .fitt-plan-benefits li{
  position:relative!important;
  padding-left:17px!important;
  color:#526979!important;
  font-size:11.5px!important;
  line-height:1.35!important;
}
body.fitt-is-real-estate .fitt-plan-benefits li:before{
  content:'✓'!important;
  position:absolute!important;
  left:0!important;
  color:#1E7A4A!important;
  font-weight:900!important;
}
body.fitt-is-real-estate .fitt-plan-native-status{
  display:block!important;
  margin-top:auto!important;
  color:#6b7d8d!important;
  font-size:10.5px!important;
  font-weight:700!important;
}
body.fitt-is-real-estate .fitt-package-comparison{
  margin:14px 0 0!important;
}
body.fitt-is-real-estate .fitt-compare-toggle{
  border:1px solid var(--border)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--navy)!important;
  padding:10px 15px!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
body.fitt-is-real-estate .fitt-compare-body{
  margin-top:12px!important;
  overflow-x:auto!important;
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  background:#fff!important;
}
body.fitt-is-real-estate .fitt-package-table{
  width:100%!important;
  min-width:760px!important;
  border-collapse:collapse!important;
  font-size:11.5px!important;
}
body.fitt-is-real-estate .fitt-package-table th,
body.fitt-is-real-estate .fitt-package-table td{
  padding:9px 10px!important;
  border-bottom:1px solid #edf1f4!important;
  text-align:center!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}
body.fitt-is-real-estate .fitt-package-table th:first-child,
body.fitt-is-real-estate .fitt-package-table td:first-child{
  text-align:left!important;
  color:var(--navy)!important;
  font-weight:800!important;
}
body.fitt-is-real-estate .fitt-package-table thead th{
  background:#f5f9fc!important;
  color:var(--navy)!important;
  font-weight:900!important;
}
@media (max-width:900px){
  body.fitt-is-real-estate #fitt_post_wrap .form-grid{
    grid-template-columns:1fr!important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .span2{
    grid-column:auto!important;
  }
  body.fitt-is-real-estate #fitt_location_fields .fitt-map-full{
    grid-column:1!important;
  }
  body.fitt-is-real-estate #fitt_location_fields #lf_map{
    height:320px!important;
  }
}
@media (max-width:620px){
  body.fitt-is-real-estate #category_container.selected,
  body.fitt-is-real-estate #fitt_post_wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .panel{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.fitt-is-real-estate #fitt_location_fields #lf_map{
    height:280px!important;
  }
  body.fitt-is-real-estate #fitt_media_host .upload-zone{
    min-height:96px!important;
    padding:18px 12px!important;
    text-align:center!important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .fitt-rich-plan label{
    min-height:0!important;
  }
}

/* RC3: keep package cards contained inside their review panel at narrow desktop widths. */
body.fitt-is-real-estate #fitt_post_wrap .plans {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
body.fitt-is-real-estate #fitt_post_wrap .plans .plan,
body.fitt-is-real-estate #fitt_post_wrap .plans .plan label,
body.fitt-is-real-estate #fitt_post_wrap .fitt-plan-benefits,
body.fitt-is-real-estate #fitt_post_wrap .fitt-plan-native-status {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 900px) {
  body.fitt-is-real-estate #fitt_post_wrap .plans {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    overflow: visible !important;
  }
}
@media (max-width: 620px) {
  body.fitt-is-real-estate #fitt_post_wrap .plans {
    grid-template-columns: 1fr !important;
  }
}


/* RC5 edit/location recovery */
body.fitt-is-real-estate.edit-listing-page section#content > h1 {
  display: none !important;
}
body.fitt-is-real-estate #fitt_location_fields .field,
body.fitt-is-real-estate #fitt_location_fields .select2-container {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
body.fitt-is-real-estate #fitt_location_fields .select2-selection--single {
  min-height: 43px !important;
  height: 43px !important;
  background: #fff !important;
  border: 1px solid var(--border) !important;
  border-radius: 9px !important;
  color: var(--text) !important;
}
body.fitt-is-real-estate #fitt_location_fields .select2-selection__rendered {
  line-height: 41px !important;
  padding-left: 12px !important;
  padding-right: 34px !important;
  color: var(--text) !important;
}
body.fitt-is-real-estate #fitt_location_fields .select2-selection__arrow {
  height: 41px !important;
  right: 8px !important;
}
body.fitt-is-real-estate .select2-container--open .select2-dropdown,
body.fitt-is-real-estate .select2-container--open .select2-search__field,
body.fitt-is-real-estate .select2-container--open .select2-results__option {
  background: #fff !important;
  color: var(--text) !important;
}
body.fitt-is-real-estate .select2-container--open .select2-dropdown {
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 24px rgba(10,37,64,.12) !important;
}
body.fitt-is-real-estate .select2-container--open .select2-results__option--highlighted[aria-selected],
body.fitt-is-real-estate .select2-container--open .select2-results__option[aria-selected="true"] {
  background: #eef4f8 !important;
  color: var(--navy) !important;
}

/* RC5 location/responsive hotfix - 2026-09-14 */
body.fitt-is-real-estate #fitt_location_fields .select2-selection--single {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.fitt-is-real-estate #fitt_location_fields .select2-selection__rendered {
  padding-left: 12px !important;
  box-sizing: border-box !important;
}
@media (max-width: 900px) {
  body.fitt-is-real-estate #category_container .dynamic-content,
  body.fitt-is-real-estate #fitt_post_wrap,
  body.fitt-is-real-estate #fitt_post_wrap .step,
  body.fitt-is-real-estate #fitt_post_wrap .panel,
  body.fitt-is-real-estate #fitt_post_wrap .form-grid {
    height: auto !important;
    max-height: none !important;
    contain: none !important;
    content-visibility: visible !important;
  }
  body.fitt-is-real-estate #fitt_post_wrap .panel {
    overflow: visible !important;
  }
  body.fitt-is-real-estate > div.main-wrapper,
  body.fitt-is-real-estate div#wrapper,
  body.fitt-is-real-estate section#main_container,
  body.fitt-is-real-estate section#main_container > .inside-container,
  body.fitt-is-real-estate section#content,
  body.fitt-is-real-estate #controller_area,
  body.fitt-is-real-estate #category_container,
  body.fitt-is-real-estate #category_container .dynamic-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.fitt-is-real-estate .fitt-footer {
    position: relative !important;
    clear: both !important;
    flex: 0 0 auto !important;
  }
}



/* RC6.2 edit-page prepaint and responsive recovery */
html.fitt-is-real-estate body.edit-listing-page section#content > h1 {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
body.fitt-is-real-estate.edit-listing-page #controller_area,
body.fitt-is-real-estate.edit-listing-page #category_container.selected,
body.fitt-is-real-estate.edit-listing-page #category_container .dynamic-content,
body.fitt-is-real-estate.edit-listing-page #fitt_post_wrap {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}
html.fitt-is-real-estate:not(.fitt-re-edit-pending) body.edit-listing-page #category_container .dynamic-content,
html.fitt-is-real-estate:not(.fitt-re-edit-pending) body.edit-listing-page #fitt_post_wrap {
  visibility: visible !important;
}


/* RC7 Edit Listing photo management */
body.fitt-is-real-estate #fitt_media_host .upload-files > .picture-cont > span{
  background:#fff!important;border:1px solid #d8e1e8!important;border-radius:12px!important;padding:8px!important;box-shadow:0 4px 14px rgba(10,37,64,.06)!important;
}
body.fitt-is-real-estate #fitt_media_host .upload-files .item{border-radius:9px!important;overflow:hidden!important;background:#eef3f6!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-native-photo-icons{display:none!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-photo-actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin-top:9px!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-photo-action{width:auto!important;min-height:34px!important;padding:7px 10px!important;border:1px solid #cfd9e1!important;border-radius:8px!important;background:#fff!important;color:#0A2540!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;box-shadow:none!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-photo-action:hover{border-color:#F59E0B!important;background:#fff9ec!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-photo-delete{margin-left:auto!important;border-color:#e6b6b6!important;color:#9b2c2c!important;background:#fff8f8!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-photo-delete:hover{border-color:#c54b4b!important;background:#fff1f1!important;}
body.fitt-is-real-estate #fitt_media_host .fitt-photo-replace-help{margin:9px 0 0!important;padding:9px 11px!important;border-radius:9px!important;background:#f5f9fc!important;border:1px solid #d8e4ed!important;color:#48657a!important;font-size:12px!important;line-height:1.45!important;}
@media(max-width:620px){body.fitt-is-real-estate #fitt_media_host .fitt-photo-actions{display:grid!important;grid-template-columns:1fr 1fr!important;}body.fitt-is-real-estate #fitt_media_host .fitt-photo-action{width:100%!important;}body.fitt-is-real-estate #fitt_media_host .fitt-photo-delete{margin-left:0!important;}}


/* v1.1 shared Dynamic Forms: taxonomy bridge hosted inside Step 1 */
body.fitt-is-real-estate #fitt_primary_fields {
  display: block !important;
}
body.fitt-is-real-estate #fitt_primary_fields .fitt-taxonomy-panel-wrap {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.fitt-is-real-estate #fitt_primary_fields .fitt-taxonomy-panel-wrap > .fieldset > header {
  display: none !important;
}
body.fitt-is-real-estate #fitt_primary_fields .fitt-taxonomy-panel-wrap > .fieldset,
body.fitt-is-real-estate #fitt_primary_fields .fitt-taxonomy-panel-wrap > .fieldset > .body {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.fitt-is-real-estate #fitt_primary_fields .fitt-taxonomy-grid {
  width: 100% !important;
}
