@charset "UTF-8";

/* === layout.css - 栅格+容器+响应式断点 === */

/* Container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.container-fluid {
  width: 100%;
  padding: 0 20px;
}

/* Grid System */
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.row.no-gutters {
  margin: 0;
}

.row.no-gutters > [class*="col-"] {
  padding: 0;
}

[class*="col-"] {
  padding: 0 10px;
  flex: 0 0 auto;
}

.col-1 { width: 8.333%; }
.col-2 { width: 16.666%; }
.col-3 { width: 25%; }
.col-4 { width: 33.333%; }
.col-5 { width: 41.666%; }
.col-6 { width: 50%; }
.col-7 { width: 58.333%; }
.col-8 { width: 66.666%; }
.col-9 { width: 75%; }
.col-10 { width: 83.333%; }
.col-11 { width: 91.666%; }
.col-12 { width: 100%; }

/* Responsive Breakpoints */

/* Tablet: 768px - 1023px */
@media (max-width: 1023px) {
  .col-md-1 { width: 8.333%; }
  .col-md-2 { width: 16.666%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.333%; }
  .col-md-5 { width: 41.666%; }
  .col-md-6 { width: 50%; }
  .col-md-7 { width: 58.333%; }
  .col-md-8 { width: 66.666%; }
  .col-md-9 { width: 75%; }
  .col-md-10 { width: 83.333%; }
  .col-md-11 { width: 91.666%; }
  .col-md-12 { width: 100%; }
  
  .container {
    max-width: 100%;
    padding: 0 15px;
  }
}

/* Mobile: < 768px */
@media (max-width: 767px) {
  .col-sm-1 { width: 8.333%; }
  .col-sm-2 { width: 16.666%; }
  .col-sm-3 { width: 25%; }
  .col-sm-4 { width: 33.333%; }
  .col-sm-5 { width: 41.666%; }
  .col-sm-6 { width: 50%; }
  .col-sm-7 { width: 58.333%; }
  .col-sm-8 { width: 66.666%; }
  .col-sm-9 { width: 75%; }
  .col-sm-10 { width: 83.333%; }
  .col-sm-11 { width: 91.666%; }
  .col-sm-12 { width: 100%; }
  
  .container {
    padding: 0 10px;
  }
  
  .row {
    margin: 0 -5px;
  }
  
  [class*="col-"] {
    padding: 0 5px;
  }
}

/* Large screens: >= 1400px */
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

/* Section spacing */
.section {
  padding: 60px 0;
}

.section-sm {
  padding: 30px 0;
}

.section-lg {
  padding: 80px 0;
}

/* Card */
.card {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 24px;
  transition: var(--transition);
}

.card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

/* Flex utilities */
.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.flex-col {
  flex-direction: column;
}

.items-center {
  align-items: center;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-evenly {
  justify-content: space-evenly;
}

.flex-1 {
  flex: 1;
}

.flex-auto {
  flex: 0 0 auto;
}

/* Float fallback for IE */
.float-left {
  float: left;
}

.float-right {
  float: right;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}
