/* Request Appointment banner */
.nv-request-appt {
  --nv-beige: #f0ebe1;
  --nv-green: #4b6653; /* harmonious with theme’s green */
  background: var(--nv-green);
  padding: 30px 0;
}

.nv-request-appt .nv-req-inner {
  width: min(92vw, 1200px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
}

.nv-request-appt .nv-req-text {
  color: #ffffff;
  font-family: "The Seasons", ui-serif, Georgia, serif;
  font-size: clamp(20px, 2.1vw, 28px);
  line-height: 1.35;
}

.nv-request-appt .nv-req-btn {
  display: inline-block;
  background: var(--nv-beige);
  color: #2c5a4c;
  text-decoration: none;
  padding: 12px 22px;
  font-family: "The Seasons", ui-serif, Georgia, serif;
  font-size: 16px;
  border-radius: 2px;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.nv-request-appt .nv-req-btn:hover { opacity: 0.92; transform: translateY(-1px); }
.nv-request-appt .nv-req-btn:active { transform: translateY(0); }

@media (max-width: 720px) {
  .nv-request-appt .nv-req-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .nv-request-appt .nv-req-btn { justify-self: center; }
}

