/* VirtualSleepCare Pattern Library v0.1.0 */
:root {
  --vsc-container-width: 1200px;
  --vsc-reading-width: 760px;
  --vsc-space-xs: .375rem;
  --vsc-space-sm: .625rem;
  --vsc-space-md: 1rem;
  --vsc-space-lg: 1.5rem;
  --vsc-space-xl: 2rem;
  --vsc-space-2xl: 3rem;
  --vsc-space-4xl: clamp(3.5rem, 7vw, 6.5rem);
  --vsc-radius: 1rem;
  --vsc-border: #ddd8e8;
  --vsc-surface: #ffffff;
  --vsc-surface-subtle: #f7f4fb;
  --vsc-text: #2b2334;
  --vsc-muted: #625a69;
  --vsc-primary: #5b3f7a;
  --vsc-primary-contrast: #ffffff;
  --vsc-focus: #1d70b8;
  --vsc-shadow: 0 10px 30px rgba(43,35,52,.08);
  --vsc-font-body-sm: .9375rem;
  --vsc-font-weight-semibold: 600;
}

.vsc-section { padding-block: var(--vsc-space-4xl); }
.vsc-section:nth-of-type(even) { background: var(--vsc-surface-subtle); }
.vsc-section-inner { width: min(calc(100% - 2rem), var(--vsc-container-width)); margin-inline: auto; }
.vsc-reading-container { max-width: var(--vsc-reading-width); margin-inline: auto; }
.vsc-section-eyebrow { margin: 0 0 var(--vsc-space-sm); font-size: var(--vsc-font-body-sm); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--vsc-primary); }
.vsc-section-heading { margin-top: 0; }
.vsc-section-intro { max-width: 70ch; color: var(--vsc-muted); }

.vsc-card-grid,
.vsc-credentials-grid,
.vsc-expertise-grid,
.vsc-membership-grid,
.vsc-publication-grid,
.vsc-care-pathway-grid,
.vsc-resource-grid,
.vsc-trust-grid,
.vsc-presence-grid,
.vsc-patient-journey__steps,
.vsc-contact-grid,
.vsc-next-steps-grid,
.vsc-related-content-grid,
.vsc-expert-introduction__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: var(--vsc-space-xl);
  margin-top: var(--vsc-space-2xl);
}

.vsc-card {
  display: flex;
  flex-direction: column;
  gap: var(--vsc-space-md);
  min-width: 0;
  height: 100%;
  padding: var(--vsc-space-xl);
  background: var(--vsc-surface);
  border: 1px solid var(--vsc-border);
  border-radius: var(--vsc-radius);
  box-shadow: var(--vsc-shadow);
}
.vsc-card-title, .vsc-card-description { margin: 0; }
.vsc-card-description { color: var(--vsc-muted); }
.vsc-card .wp-block-buttons { margin-top: auto; }

.vsc-button .wp-block-button__link { min-height: 44px; padding: .75rem 1.125rem; border-radius: .65rem; }
.vsc-button-primary .wp-block-button__link { background: var(--vsc-primary); color: var(--vsc-primary-contrast); }
.vsc-button-secondary .wp-block-button__link { background: transparent; color: var(--vsc-primary); border: 2px solid currentColor; }
.vsc-button .wp-block-button__link:focus-visible, .vsc-site-footer a:focus-visible { outline: 3px solid var(--vsc-focus); outline-offset: 3px; }

.vsc-home-hero__grid, .vsc-expert-hero__grid { align-items: center; gap: var(--vsc-space-2xl); }
.vsc-home-hero__lead, .vsc-expert-summary { font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.65; }
.vsc-signature-quote__container { max-width: var(--vsc-reading-width); margin-inline: auto; text-align: center; }
.vsc-signature-quote__text { font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.45; font-style: italic; }
.vsc-timeline-list { max-width: var(--vsc-reading-width); margin-inline: auto; }
.vsc-faq-item { margin-block: var(--vsc-space-md); padding: var(--vsc-space-lg); border: 1px solid var(--vsc-border); border-radius: var(--vsc-radius); background: var(--vsc-surface); }
.vsc-final-cta { text-align: center; }
.vsc-final-cta-inner { max-width: var(--vsc-reading-width); margin-inline: auto; }
.vsc-final-cta-actions { justify-content: center; gap: var(--vsc-space-md); }
.vsc-final-cta-trust { font-size: var(--vsc-font-body-sm); font-weight: var(--vsc-font-weight-semibold); }

.vsc-site-footer { padding-block: var(--vsc-space-4xl) var(--vsc-space-xl); background: var(--vsc-text); color: #fff; }
.vsc-site-footer-inner { width: min(calc(100% - 2rem), var(--vsc-container-width)); margin-inline: auto; }
.vsc-site-footer a { color: #fff; }
.vsc-footer-grid { gap: var(--vsc-space-2xl); }
.vsc-footer-links { display: grid; gap: var(--vsc-space-sm); margin: 0; padding: 0; list-style: none; }
.vsc-footer-bottom { margin-top: var(--vsc-space-2xl); padding-top: var(--vsc-space-lg); border-top: 1px solid rgba(255,255,255,.25); }

@media (max-width: 781px) {
  .vsc-home-hero__grid, .vsc-expert-hero__grid { flex-direction: column; }
}
@media (max-width: 600px) {
  .vsc-final-cta-actions, .vsc-final-cta-actions .wp-block-button, .vsc-final-cta-actions .wp-block-button__link,
  .vsc-home-hero .wp-block-buttons, .vsc-home-hero .wp-block-button, .vsc-home-hero .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
