/* ================================================
   Reset CSS
   - 브라우저 기본 스타일 초기화
   - 병원·의료기관 홈페이지 퍼블리싱 기준
   ================================================ */

/* 1. Box sizing */
*, *::before, *::after {
    box-sizing: border-box;
  }
  
  /* 2. 기본 margin / padding 제거 */
  * {
    margin: 0;
    padding: 0;
  }
  
  /* 3. HTML & Body */
  html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%; /* 모바일 자동 폰트 확대 방지 */
    text-size-adjust: 100%;
  }
  
  body {
    min-height: 100dvh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;  /* macOS 폰트 렌더링 */
    -moz-osx-font-smoothing: grayscale;
  }
  
  /* 4. 미디어 요소 */
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
  }
  
  img {
    height: auto;
    border: 0; /* IE 이미지 링크 테두리 */
  }
  
  /* 5. 폼 요소 */
  input, button, textarea, select {
    font: inherit; /* 부모 폰트 상속 */
    color: inherit;
  }
  
  button {
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
  }
  
  input, textarea {
    outline: none;
    border: none;
    background: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0; /* iOS 둥근 모서리 초기화 */
  }
  
  textarea {
    resize: vertical; /* 세로 방향만 리사이즈 허용 */
    overflow: auto;
  }
  
  select {
    -webkit-appearance: none;
    appearance: none;
  }
  
  /* 6. 링크 */
  a {
    text-decoration: none;
    color: inherit;
  }
  
  /* 7. 리스트 */
  ul, ol {
    list-style: none;
  }
  
  /* 8. 제목 태그 — 브라우저 기본 크기/굵기 초기화 */
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.2;
  }
  
  /* 9. 테이블 */
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  
  th, td {
    text-align: left;
    vertical-align: top;
  }
  
  /* 10. 기타 인라인 요소 */
  b, strong {
    font-weight: 700;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  
  abbr[title] {
    text-decoration: underline dotted;
    cursor: help;
  }
  
  /* 11. hr */
  hr {
    border: none;
    border-top: 1px solid currentColor;
    height: 0;
  }
  
  /* 12. 접근성 — 포커스 아웃라인 (키보드 사용자 대응) */
  :focus-visible {
    outline: 2px solid #00a8c6; /* 사이트 포인트 컬러로 교체 가능 */
    outline-offset: 2px;
  }
  
  /* 마우스 클릭 시에는 outline 숨김 */
  :focus:not(:focus-visible) {
    outline: none;
  }
  
  /* 13. 스크롤바 (선택 적용) */
  /* IE / Edge */
  * {
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,0.2) transparent;
  }
  /* Chrome / Safari */
  *::-webkit-scrollbar { width: 6px; height: 6px; }
  *::-webkit-scrollbar-track { background: transparent; }
  *::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.2); border-radius: 3px; }
  
  /* 14. 모션 접근성 — 애니메이션 감소 설정 존중 */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }