/* Sai Neelkanth Hospital — background-only color combination.
   Client-approved background palette: #7D8A81 sage + #EFF3EF pale green.
   Text, logos, borders, buttons, interactive accents, spacing and photos
   retain their pre-existing colors and dimensions. */
:root {
  --hospital-bg-sage: #7D8A81;
  --hospital-bg-pale: #EFF3EF;
}

/* Calm alternate surfaces; readability stays on the original dark text. */
#home.hero-with-entrance {
  background: linear-gradient(116deg, var(--hospital-bg-pale) 0%, #fff 95%) !important;
}
#doctors.doctors-section {
  background: #fff !important;
}
#care.section {
  background: #fff !important;
}
#care-scope.scope-section {
  background: var(--hospital-bg-pale) !important;
}
#gallery.hospital-gallery.section {
  background: #fff !important;
}
#gallery .hospital-gallery-stage {
  background: transparent !important;
}
#patient-reviews.patient-reviews {
  background: var(--hospital-bg-pale) !important;
}
#about.about.section {
  background: var(--hospital-bg-pale) !important;
}
#mission.purpose.section {
  background: #fff !important;
}
#appointment.appointment-section {
  background: var(--hospital-bg-pale) !important;
}
.faq.section {
  background: #fff !important;
}
#contact.contact.section {
  background: linear-gradient(115deg, var(--hospital-bg-pale) 0%, #fff 100%) !important;
}

/* Sage is a slim background stripe, not a full text backdrop. */
#care-scope .scope-card,
#care-scope .scope-card:nth-child(2) {
  background: linear-gradient(90deg,
    var(--hospital-bg-sage) 0 6px,
    #fff 6px 100%) !important;
}
#mission .purpose-card,
#mission .purpose-card:not(.purpose-card-accent),
#mission .purpose-card.purpose-card-accent {
  background: linear-gradient(90deg,
    var(--hospital-bg-sage) 0 5px,
    var(--hospital-bg-pale) 5px 100%) !important;
}
#patient-reviews .review-item {
  background: linear-gradient(90deg,
    var(--hospital-bg-sage) 0 4px,
    #fff 4px 100%) !important;
}
#patient-reviews .review-empty,
#patient-reviews .review-success,
#patient-reviews .chatbot-notice {
  background: var(--hospital-bg-pale) !important;
}

/* Existing form fields and patient cards remain white for legibility. */
#appointment form#booking,
#patient-reviews .reviews-list-panel,
#patient-reviews .reviews-form-panel,
#patient-reviews .patient-video-card {
  background: #fff !important;
}


/* Appointment watermark marquee: decorative, seamless and behind all form content. */
#appointment.appointment-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
#appointment > .appointment-short-head,
#appointment > form#booking {
  position: relative;
  z-index: 1;
}
#appointment .appointment-watermark {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  overflow: hidden;
  transform: translateY(-50%);
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
#appointment .appointment-watermark-track {
  display: flex;
  width: max-content;
  animation: snh-appointment-marquee 42s linear infinite;
  will-change: transform;
}
#appointment .appointment-watermark-track > span {
  display: block;
  flex: 0 0 auto;
  white-space: nowrap;
  color: rgba(32, 91, 66, .13);
  font: 800 clamp(156px, 19vw, 316px)/1.15 'Manrope', sans-serif;
  letter-spacing: .035em;
}
@keyframes snh-appointment-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (max-width: 680px) {
  #appointment .appointment-watermark-track > span {
    font-size: 156px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #appointment .appointment-watermark-track {
    animation: none;
    transform: translateX(-12%);
  }
}


/* Alternate desktop booking channels: keep the existing WhatsApp action primary. */
#appointment #booking .booking-alternative-intro {
  margin: 16px 0 9px;
  color: #46654d;
  font-size: 13px;
  line-height: 1.55;
}
#appointment #booking .booking-alternatives {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
#appointment #booking .booking-alt-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 9px;
  width: 100%;
  min-height: 43px;
  border: 1px solid #b6ceba;
  border-radius: 7px;
  color: #245338;
  background: #fff;
  font: 650 12px/1.3 'DM Sans', sans-serif;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
#appointment #booking .booking-alt-button:hover,
#appointment #booking .booking-alt-button:focus-visible {
  background: #eff6ed;
  border-color: #75a475;
}
#appointment #booking .booking-action-status {
  margin-top: 12px;
  border-left: 3px solid #75a475;
  background: #f3f7f2;
  padding: 9px 12px;
  color: #28482f;
  font-size: 12px;
  line-height: 1.55;
}
#appointment #booking .booking-action-status[hidden] { display: none !important; }
#appointment #booking .booking-action-status p { margin: 0; }
#appointment #booking .booking-action-status textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: 8px;
  padding: 8px;
  min-height: 100px;
  background: #fff;
  color: #24442d;
  border: 1px solid #b6ceba;
  border-radius: 6px;
  resize: vertical;
}
@media (max-width: 680px) {
  #appointment #booking .booking-alternatives {
    grid-template-columns: 1fr 1fr;
  }
  #appointment #booking .booking-alternatives a.booking-alt-button {
    grid-column: 1 / -1;
  }
}
