/* layout.css - 栅格+容器+响应式断点（全局加载） */

/* ===== Grid System ===== */
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.col {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 0 10px;
}

.col-1 { width: 8.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 8.33333%; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; padding: 0 10px; }
.col-2 { width: 16.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 16.66666%; -ms-flex: 0 0 16.66666%; flex: 0 0 16.66666%; padding: 0 10px; }
.col-3 { width: 25%; -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; padding: 0 10px; }
.col-4 { width: 33.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 33.33333%; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; padding: 0 10px; }
.col-5 { width: 41.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 41.66666%; -ms-flex: 0 0 41.66666%; flex: 0 0 41.66666%; padding: 0 10px; }
.col-6 { width: 50%; -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; padding: 0 10px; }
.col-7 { width: 58.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 58.33333%; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; padding: 0 10px; }
.col-8 { width: 66.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 66.66666%; -ms-flex: 0 0 66.66666%; flex: 0 0 66.66666%; padding: 0 10px; }
.col-9 { width: 75%; -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; padding: 0 10px; }
.col-10 { width: 83.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 83.33333%; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; padding: 0 10px; }
.col-11 { width: 91.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 91.66666%; -ms-flex: 0 0 91.66666%; flex: 0 0 91.66666%; padding: 0 10px; }
.col-12 { width: 100%; -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; padding: 0 10px; }

/* ===== Container ===== */
.container-full {
  width: 100%;
  padding: 0 20px;
}

.container-small {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===== Responsive Breakpoints ===== */

/* Tablet: 769px - 1024px */
@media (max-width: 1024px) {
  .col-md-1 { width: 8.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 8.33333%; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; padding: 0 10px; }
  .col-md-2 { width: 16.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 16.66666%; -ms-flex: 0 0 16.66666%; flex: 0 0 16.66666%; padding: 0 10px; }
  .col-md-3 { width: 25%; -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; padding: 0 10px; }
  .col-md-4 { width: 33.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 33.33333%; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; padding: 0 10px; }
  .col-md-5 { width: 41.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 41.66666%; -ms-flex: 0 0 41.66666%; flex: 0 0 41.66666%; padding: 0 10px; }
  .col-md-6 { width: 50%; -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; padding: 0 10px; }
  .col-md-7 { width: 58.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 58.33333%; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; padding: 0 10px; }
  .col-md-8 { width: 66.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 66.66666%; -ms-flex: 0 0 66.66666%; flex: 0 0 66.66666%; padding: 0 10px; }
  .col-md-9 { width: 75%; -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; padding: 0 10px; }
  .col-md-10 { width: 83.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 83.33333%; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; padding: 0 10px; }
  .col-md-11 { width: 91.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 91.66666%; -ms-flex: 0 0 91.66666%; flex: 0 0 91.66666%; padding: 0 10px; }
  .col-md-12 { width: 100%; -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; padding: 0 10px; }
}

/* Mobile: <= 768px */
@media (max-width: 768px) {
  .row {
    margin: 0 -5px;
  }
  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
  .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
    padding: 0 5px;
  }
  .col-sm-1 { width: 8.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 8.33333%; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; padding: 0 5px; }
  .col-sm-2 { width: 16.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 16.66666%; -ms-flex: 0 0 16.66666%; flex: 0 0 16.66666%; padding: 0 5px; }
  .col-sm-3 { width: 25%; -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; padding: 0 5px; }
  .col-sm-4 { width: 33.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 33.33333%; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; padding: 0 5px; }
  .col-sm-5 { width: 41.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 41.66666%; -ms-flex: 0 0 41.66666%; flex: 0 0 41.66666%; padding: 0 5px; }
  .col-sm-6 { width: 50%; -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; padding: 0 5px; }
  .col-sm-7 { width: 58.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 58.33333%; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; padding: 0 5px; }
  .col-sm-8 { width: 66.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 66.66666%; -ms-flex: 0 0 66.66666%; flex: 0 0 66.66666%; padding: 0 5px; }
  .col-sm-9 { width: 75%; -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; padding: 0 5px; }
  .col-sm-10 { width: 83.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 83.33333%; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; padding: 0 5px; }
  .col-sm-11 { width: 91.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 91.66666%; -ms-flex: 0 0 91.66666%; flex: 0 0 91.66666%; padding: 0 5px; }
  .col-sm-12 { width: 100%; -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; padding: 0 5px; }
}

/* Small Mobile: <= 480px */
@media (max-width: 480px) {
  .col-xs-1 { width: 8.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 8.33333%; -ms-flex: 0 0 8.33333%; flex: 0 0 8.33333%; padding: 0 5px; }
  .col-xs-2 { width: 16.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 16.66666%; -ms-flex: 0 0 16.66666%; flex: 0 0 16.66666%; padding: 0 5px; }
  .col-xs-3 { width: 25%; -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; padding: 0 5px; }
  .col-xs-4 { width: 33.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 33.33333%; -ms-flex: 0 0 33.33333%; flex: 0 0 33.33333%; padding: 0 5px; }
  .col-xs-5 { width: 41.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 41.66666%; -ms-flex: 0 0 41.66666%; flex: 0 0 41.66666%; padding: 0 5px; }
  .col-xs-6 { width: 50%; -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; padding: 0 5px; }
  .col-xs-7 { width: 58.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 58.33333%; -ms-flex: 0 0 58.33333%; flex: 0 0 58.33333%; padding: 0 5px; }
  .col-xs-8 { width: 66.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 66.66666%; -ms-flex: 0 0 66.66666%; flex: 0 0 66.66666%; padding: 0 5px; }
  .col-xs-9 { width: 75%; -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; padding: 0 5px; }
  .col-xs-10 { width: 83.33333%; -webkit-box-flex: 0; -webkit-flex: 0 0 83.33333%; -ms-flex: 0 0 83.33333%; flex: 0 0 83.33333%; padding: 0 5px; }
  .col-xs-11 { width: 91.66666%; -webkit-box-flex: 0; -webkit-flex: 0 0 91.66666%; -ms-flex: 0 0 91.66666%; flex: 0 0 91.66666%; padding: 0 5px; }
  .col-xs-12 { width: 100%; -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; padding: 0 5px; }
}

/* ===== Page Layout ===== */
.page-wrapper {
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.page-main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.section {
  padding: 60px 0;
}

.section-alt {
  background-color: #fff;
}

@media (max-width: 768px) {
  .section {
    padding: 40px 0;
  }
}
