/* sdclinic.ai — global styles for the published site.
 * Direction A is desktop-first at 1280px+. Mobile/tablet responsive treatment
 * is Phase 2; for now we set a min-width so small screens get horizontal scroll
 * rather than broken layout.
 */

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  color: #0F172A;
  background: #fff;
  /* Prevent horizontal jitter on smooth-scroll to anchors. */
  scroll-padding-top: 80px;
}

body { min-width: 1280px; }

#root { width: 100%; min-width: 1280px; }

/* All links inherit color by default; per-component styles override. */
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:focus-visible { outline: 2px solid #0F3D5E; outline-offset: 3px; border-radius: 2px; }

/* Form controls inherit the page font; remove default spacing surprises. */
input, textarea, select, button {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

input:focus, textarea:focus, select:focus {
  border-color: #10B981 !important;
}

/* Hide native arrows on select for the dark navy form (the components render
 * their own visual treatment via inline styles). */
select { background-image: none; }

/* Subtle keyboard-friendly button hover. */
button { cursor: pointer; }
button:hover { filter: brightness(1.05); }

/* Selection color — clinical navy. */
::selection { background: #0F3D5E; color: #fff; }

/* Print: drop the dark nav band, keep the body type readable. */
@media print {
  body { min-width: 0; }
  nav, header, footer, button, .no-print { display: none !important; }
  a { color: #0F3D5E !important; text-decoration: underline; }
}
