/* CSS变量定义 */
:root {
    --max-width: 90vw;
    --container-padding: 2rem;
    --section-spacing: 4rem;
    --heading-large: 2.5rem;
    --heading-medium: 2rem;
    --heading-small: 1.5rem;
    --text-regular: 1rem;
    --text-small: 0.875rem;
}

/* 基础响应式设置 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
    width: 100%;
}

/* 响应式容器 */
.container {
    width: 95%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* 响应式图片 */
img {
    max-width: 100%;
    height: auto;
}

/* 响应式网格系统 */
.grid {
    display: grid;
    gap: 2rem;
}

.flex {
    display: flex;
    gap: 2rem;
}

/* 响应式布局工具类 */
.flex-wrap {
    flex-wrap: wrap;
}

.justify-center {
    justify-content: center;
}

.align-center {
    align-items: center;
}

.text-center {
    text-align: center;
}

/* 响应式间距 */
.section {
    padding: var(--section-spacing) 0;
}

/* 响应式排版 */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
}

/* 媒体查询 */
/* 移动设备 - 小于768px */
@media (max-width: 767px) {
    :root {
        --container-padding: 1rem;
        --section-spacing: 2rem;
        --heading-large: 2rem;
        --heading-medium: 1.75rem;
        --heading-small: 1.25rem;
    }

    .flex {
        flex-direction: column;
        gap: 1rem;
    }

    .grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* 平板设备 - 768px到1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    :root {
        --container-padding: 1.5rem;
        --section-spacing: 3rem;
    }

    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 桌面设备 - 大于1024px */
@media (min-width: 1025px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 大屏设备 - 大于1440px */
@media (min-width: 1441px) {
    :root {
        --max-width: 80vw;
        --container-padding: 3rem;
        --section-spacing: 5rem;
    }
}

::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
  }
  ::-webkit-scrollbar-track {
    background: #f8f9fa;
    border-radius: 0.25rem;
  }
  ::-webkit-scrollbar-thumb {
    background: #adb5bd;
    border-radius: 0.25rem;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: #6c757d;
  }

  /* 手机端 */
@media (max-width: 576px) {
  .box { width: 100%; }
}

/* 平板 */
@media (min-width: 577px) and (max-width: 992px) {
  .box { width: 50%; }
}

/* 桌面端 */
@media (min-width: 993px) {
  .box { width: 25%; }
}
