/* ============================================
   RentMatch — Brand Overrides
   Primary: #6C47B8 (purple)
   Primary Dark: #5538A0
   Dark Navy: #2d2854
   ============================================ */

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

#wrapper {
  overflow-x: hidden;
}

:root {
  --rm-primary: #6C47B8;
  --rm-primary-dark: #5538A0;
  --rm-primary-light: #8A68CC;
  --rm-primary-xlight: #f0ebff;
  --rm-dark: #2d2854;
  --bs-primary: #6C47B8;
  --bs-primary-rgb: 108, 71, 184;
  --bs-link-color: #6C47B8;
  --bs-link-hover-color: #5538A0;
}

/* ---- Buttons ---- */
.btn-primary {
  background-color: #6C47B8 !important;
  border-color: #6C47B8 !important;
  color: #fff !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #5538A0 !important;
  border-color: #5538A0 !important;
}
.btn-outline-primary {
  color: #6C47B8 !important;
  border-color: #6C47B8 !important;
}
.btn-outline-primary:hover {
  background-color: #6C47B8 !important;
  color: #fff !important;
}

/* ---- Text & Backgrounds ---- */
.text-primary { color: #6C47B8 !important; }
.bg-primary { background-color: #6C47B8 !important; }
.border-primary { border-color: #6C47B8 !important; }
.badge.bg-primary { background-color: #6C47B8 !important; }

/* Smarty shadow-primary-xs override */
.shadow-primary-xs { box-shadow: 0 5px 30px rgba(108, 71, 184, 0.12) !important; }
.shadow-primary { box-shadow: 0 10px 40px rgba(108, 71, 184, 0.2) !important; }

/* ---- Brand Helpers ---- */
.bg-primary-soft,
.rm-bg-soft {
  background-color: var(--rm-primary-xlight) !important;
}

/* ---- Hero Section ---- */
.rm-hero {
  background: linear-gradient(135deg, #f5f0ff 0%, #ece4ff 50%, #f5f0ff 100%);
}

/* ---- Step Numbers ---- */
.rm-step-number {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: var(--rm-primary);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ---- Icon Circle ---- */
.rm-icon-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: var(--rm-primary-xlight);
  color: var(--rm-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* ---- Score Bar ---- */
.rm-score-bar {
  height: 8px;
  border-radius: 4px;
  background-color: #e9ecef;
  overflow: hidden;
}
.rm-score-bar-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #6C47B8, #8A68CC);
}

/* ---- Agent / Tenant Section Split ---- */
.rm-split-card {
  border-radius: 16px;
  padding: 2.5rem;
  height: 100%;
}

/* ---- Nav CTA button ---- */
.navbar .navbar-nav .nav-link.nav-cta-btn,
.navbar .navbar-nav .nav-item .nav-link.nav-cta-btn {
  background-color: var(--rm-primary);
  color: #fff !important;
  border-radius: 50px;
  padding: 0.6rem 1.4rem !important;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5;
  align-self: center;
  transition: background-color 0.2s;
}
.navbar .navbar-nav .nav-link.nav-cta-btn:hover {
  background-color: var(--rm-primary-dark);
  color: #fff !important;
}

/* Navbar vertical padding on mobile */
@media (max-width: 991.98px) {
  #header .navbar {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

/* Keep CTA button contained on mobile */
@media (max-width: 991.98px) {
  .navbar .navbar-nav .nav-link.nav-cta-btn {
    display: inline-block;
    width: fit-content;
    margin-top: 0.5rem;
  }
}

/* Notify form — full-width inputs on mobile */
@media (max-width: 575.98px) {
  .rm-notify-form input {
    max-width: 100% !important;
    width: 100%;
  }
  .rm-notify-form button {
    width: 100%;
  }
}

/* ---- Footer overrides ---- */
#footer a { color: #adb5bd; }
#footer a:hover { color: #fff; }

/* ---- Navbar logo ---- */
.navbar-brand > img {
  max-height: 48px;
  max-width: none;
  height: auto;
  width: auto;
}

/* ---- Misc ---- */
.rounded-xl { border-radius: 16px !important; }
.fw-600 { font-weight: 600 !important; }

/* ---- Blog post section (overrides theme .section 100px padding) ---- */
.rm-post-section {
  padding: 56px 0 80px;
}

/* ---- Blog post body ---- */
.rm-post-body {
  font-size: 1rem;
  line-height: 1.75;
  color: #3d3d50;
}
.rm-post-body > p:first-child {
  font-size: 1.075rem;
  color: #2d2854;
}
.rm-post-body h2 {
  font-size: 1.35rem;
  font-weight: 700;
  color: #2d2854;
  margin-top: 2.25rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #f0ebff;
}
.rm-post-body h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #2d2854;
  margin-top: 1.5rem;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.8125rem;
}
.rm-post-body > *:first-child { margin-top: 0; }
.rm-post-body p  { margin-bottom: 1rem; }
.rm-post-body ul,
.rm-post-body ol { padding-left: 1.4rem; margin-bottom: 1rem; }
.rm-post-body li { margin-bottom: 0.3rem; line-height: 1.65; }
.rm-post-body strong { font-weight: 600; color: #2d2854; }
.rm-post-body a { color: #6C47B8; text-decoration: underline; text-underline-offset: 2px; }
.rm-post-body a:hover { color: #5538A0; }
.rm-post-body blockquote {
  border-left: 3px solid #6C47B8;
  margin: 1.75rem 0;
  padding: 0.9rem 1.25rem;
  background: #f5f0ff;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: #5538A0;
  font-size: 1rem;
}
.rm-post-body blockquote p:last-child { margin-bottom: 0; }
.rm-post-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.9375rem;
}
.rm-post-body table thead tr { background: #f0ebff; }
.rm-post-body table th {
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  color: #2d2854;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.rm-post-body table td {
  padding: 10px 14px;
  border-bottom: 1px solid #f0ebff;
}
