/* windsor.css — custom layer on top of Tailwind (things utilities don't cover) */

.nav-link { font-weight: 600; font-size: 14px; color: #232f45; white-space: nowrap; }
.nav-link:hover { color: #199fae; }
.nav-active { color: #3f63ac; font-weight: 700; border-bottom: 2px solid #3f63ac; padding-bottom: 2px; }

/* collapsed state applied by JS when scrollY > 60 */
.nav-scrolled { padding-top: .375rem !important; padding-bottom: .375rem !important; box-shadow: 0 12px 32px rgba(35,51,90,.16) !important; }
.nav-scrolled #nav-logo { height: 32px; }

/* reveal-on-scroll (JS adds .revealed) */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].revealed { opacity: 1; transform: none; }

/* doctor page floating rail */
#doc-rail {
  position: fixed; left: 16px; top: calc(50% - 40px); transform: translateY(-50%);
  z-index: 55; display: none; flex-direction: column; align-items: center; gap: 10px;
  width: 56px; padding: 12px 8px; border-radius: 999px;
  background: rgba(255,252,246,.95); backdrop-filter: blur(12px);
  border: 1px solid #eae2d4; box-shadow: 0 10px 24px rgba(35,51,90,.12);
  animation: fadeIn .3s ease both;
}
#doc-rail.visible { display: flex; }
@media (max-width: 767px) { #doc-rail { top: calc(50% + 20px); } }

/* video modal */
.modal-backdrop { position: fixed; inset: 0; z-index: 90; background: rgba(20,28,48,.72); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; padding: 24px; }
.modal-card { background: #23335a; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; width: min(860px, 100%, calc((100vh - 140px) * 16 / 9)); max-height: calc(100vh - 48px); box-shadow: 0 30px 80px rgba(0,0,0,.4); }

@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }

@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
  #wave-blob1, #wave-blob2, .animate-wave1, .animate-wave2, .animate-breathe, .animate-float { animation: none !important; }
}

/* mobile icon rail buttons */
.rail-icon { width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: #23335a; border: 1.5px solid transparent; transition: background .2s, border-color .2s; }
.rail-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rail-icon:hover { background: #f5ecdc; border-color: #eae2d4; }
.rail-icon-primary { background: #3f63ac; color: #fff; }
.rail-icon-primary:hover { background: #23335a; border-color: transparent; }

/* doctor rail chips */
.rail-chip { width: 40px; height: 40px; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: #23335a; background: transparent; border: 0; cursor: pointer; }
.rail-chip:hover { background: #f5ecdc; }
.rail-chip svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* testimonial carousel */
.carousel-track { display: flex; transition: transform .45s ease; }
.carousel-slide { flex: 0 0 100%; }

/* prose for article bodies */
.prose-windsor { font-size: 17px; line-height: 1.75; color: #44526a; }
.prose-windsor p { margin: 0 0 1.1em; }
.prose-windsor h2, .prose-windsor h3 { font-family: "Source Serif 4", Georgia, serif; color: #23335a; margin: 1.6em 0 .6em; line-height: 1.2; }
.prose-windsor h2 { font-size: 26px; } .prose-windsor h3 { font-size: 21px; }
.prose-windsor ul, .prose-windsor ol { padding-left: 1.4em; margin: 0 0 1.1em; }
.prose-windsor a { color: #3f63ac; font-weight: 600; }
