html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  height: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
}

main[role="main"] {
  flex: 1 0 auto;
}

:root {
  --rp-teal: #1a5f4a;
  --rp-teal-dark: #0d3d2e;
  --rp-accent: #c9a227;
}

.bg-brand {
  background: linear-gradient(135deg, var(--rp-teal) 0%, var(--rp-teal-dark) 100%) !important;
}

.hero {
  background-color: var(--rp-teal-dark);
  background-image:
    linear-gradient(135deg, rgba(26, 95, 74, 0.9), rgba(13, 61, 46, 0.92)),
    url("https://images.unsplash.com/photo-1449824913935-59a10b8d2000?auto=format&fit=crop&w=2000&q=80");
  background-size: cover;
  background-position: center;
}

footer.footer {
  flex-shrink: 0;
}

.home-feature-card .card-img-top {
  height: 168px;
  object-fit: cover;
}

.text-accent {
  color: var(--rp-teal) !important;
}

.btn-accent {
  background-color: var(--rp-accent);
  border-color: var(--rp-accent);
  color: #1a1a1a;
  font-weight: 600;
}

.btn-accent:hover {
  filter: brightness(0.95);
  color: #111;
}

.object-fit-cover {
  object-fit: cover;
}

.listing-card .ratio img {
  transition: transform 0.25s ease;
}

.listing-card:hover .ratio img {
  transform: scale(1.03);
}

.footer {
  line-height: 1.6;
}