/* ============================================================
   Flatline — match flatlineonline.co.uk (header, nav, home search)
   Loaded after style.css, so these rules win.
   ============================================================ */

/* Top bar: white, logo left + phone right */
#site-header { position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 8px rgba(0,0,0,.15); }

.header-top { background: var(--color-white); padding: .6rem 0; }
.header-top-inner {
  max-width: var(--container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1rem, 4vw, 2rem);
  padding-right: clamp(1rem, 4vw, 2rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-logo { display: flex; align-items: center; text-decoration: none; }
.header-logo img { height: 80px; width: auto; }

.header-contact { text-align: right; line-height: 1.35; }
.header-phone { display: block; color: var(--color-primary); font-weight: 600; font-size: 1rem; }
.header-phone .bi { margin-right: .25rem; }
.header-sub { display: block; color: var(--color-text-muted); font-size: .75rem; }

/* Red nav bar */
.navbar {
  background-color: var(--color-primary) !important;
  border-bottom: 4px solid #b00a17 !important;
  padding-top: 0;
  padding-bottom: 0;
}
.navbar-nav { width: 100%; justify-content: space-between; }
.nav-link {
  color: #fff !important;
  font-family: 'Poppins', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  padding: .5rem .75rem !important;
  border-radius: 0;
  transition: background .15s ease;
}
.nav-link:hover,
.nav-link.active { color: #fff !important; background: rgba(0,0,0,.12) !important; }
.navbar-toggler { border-color: rgba(255,255,255,.5); }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
@media (max-width: 991px) {
  .navbar-collapse { background: var(--color-primary); padding: .5rem 0; }
  .nav-link { border-bottom: 1px solid rgba(255,255,255,.1); }
}

/* Home hero + search card */
.home-hero {
  padding: 3rem 0;
  background-color: #333;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.home-hero h1 { color: #fff !important; font-size: calc(1.475rem + 2.7vw); font-weight: 700; line-height: 1.2; }
@media (min-width: 1200px) { .home-hero h1 { font-size: 3.5rem; } }
.home-hero .lead { color: #fff; font-size: 1.25rem; font-weight: 300; }
.home-search { border: 0; border-radius: .375rem; box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }
.home-search .form-select { font-size: .95rem; padding: .375rem 2.25rem .375rem .75rem; border-radius: .375rem; border: 1px solid #ced4da; }
.home-search .btn-danger { background: var(--color-primary); border: 1px solid var(--color-primary); font-weight: 400; font-size: 1rem; padding: .375rem .75rem; justify-content: center; gap: 0; }
.home-search .btn-danger:hover { background: #b00a17; border-color: #b00a17; }
.home-portals { padding-block: 2rem; }

/* About page (matches flatlineonline.co.uk/about) */
.about-copy { color: #212529; line-height: 1.5; }
.about-copy h1 { color: var(--color-primary); font-size: 2rem; font-weight: 600; line-height: 1.2; margin-bottom: .5rem; }
.about-copy .lead,
.about-copy > p:first-of-type { font-size: 1.25rem; font-weight: 300; }
.about-copy p { margin-bottom: 1rem; }

/* Portals & Memberships banner */
.portal-banner { border-top: 4px solid #ecedee; }

/* Footer (matches flatlineonline.co.uk) */
.live-footer { color: #212529; line-height: 1.5; }
.live-footer p { font-size: .9rem; }
.live-footer .lead { font-size: 1.25rem; font-weight: 500; }
.live-footer a { text-decoration: none; }
.live-footer a:hover { text-decoration: underline; }
.live-footer .footer-tel { color: inherit; }
.live-footer .client-color-1 { color: var(--color-primary); }
.live-footer hr { border: 0; border-top: 1px solid; opacity: .25; }

/* Inner content pages (Landlords, Tenants, Fees, Maintenance) — Bootstrap defaults as on flatlineonline.co.uk */
.live-page { color: #212529; line-height: 1.5; }
.live-page h1 { color: var(--color-primary); font-size: 2rem; font-weight: 600; line-height: 1.2; margin-bottom: .5rem; }
.live-page h2 { color: #212529; font-size: 1.6rem; font-weight: 500; line-height: 1.2; margin-bottom: .5rem; }
.live-page h3 { color: #212529; font-size: 1.2rem; font-weight: 500; line-height: 1.2; margin-bottom: .5rem; }
.live-page .text-danger { color: #dc3545 !important; }
.live-page p { margin-bottom: 1rem; }
.live-page .lead { font-size: 1.25rem; font-weight: 300; }
.live-page .lead.fw-medium { font-weight: 500 !important; }
.live-page .lead.fw-bold { font-weight: 700 !important; }
.live-page ul { list-style: disc; padding-left: 2rem; margin-bottom: 1rem; }
.live-page a:not(.btn) { color: #0d6efd; text-decoration: underline; }
.live-page .btn { display: inline-block; font-size: 1rem; font-weight: 400; line-height: 1.5; padding: .375rem .75rem; border-width: 1px; border-radius: .375rem; }
.live-page .btn-lg { font-size: 1.25rem; padding: .5rem 1rem; border-radius: .5rem; }
.live-page .btn-danger { background: #dc3545; border-color: #dc3545; color: #fff; }
.live-page .btn-danger:hover { background: #bb2d3b; border-color: #b02a37; color: #fff; box-shadow: none; }

/* Contact page (matches flatlineonline.co.uk/contact) */
.live-page .bg-dark { background-color: var(--color-primary) !important; }
.live-page .card-header .lead,
.live-page .card-header p { color: #fff; }
.live-page h5 { color: #212529; font-size: 1.25rem; font-weight: 600; line-height: 1.2; margin-bottom: .5rem; }
.live-page .client-color-1 { color: var(--color-primary); }
.live-page .text-dark { color: #212529 !important; }
.live-page a.text-decoration-none { text-decoration: none !important; }
.live-contact .form-label { font-size: 1rem; margin-bottom: .5rem; }
.live-contact .form-control { border: 1px solid #dee2e6; border-radius: .375rem; padding: .375rem .75rem; font-size: 1rem; }
.live-contact .form-control:focus { border-color: #f08990; box-shadow: 0 0 0 .25rem rgba(224,19,35,.2); }
.live-page .btn-dark { background: #212529; border-color: #212529; color: #fff; }
.live-page .btn-dark:hover { background: #424649; border-color: #373b3e; color: #fff; }
