/* ===== Reset & Base ===== */
    *, *:before, *:after {
      box-sizing: border-box;
    }
    html, body {
      margin: 0;
      padding: 0;
    }
    body {
      font-family: "Source Han Sans CN", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif;
      font-size: 14px;
      color: #333333;
      background-color: #ffffff;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    .hd {
  height: 340px;
  background: url("../images/property_zone_bg.png") no-repeat;
  background-size: 100% 100%;
}
    ul, ol, li, h1, h2, h3, h4, h5, h6, p {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    a {
      text-decoration: none;
      color: inherit;
    }
    img {
      border: 0;
      vertical-align: middle;
      max-width: 100%;
    }
    button, input, select {
      font-family: inherit;
      font-size: inherit;
      outline: none;
    }

    /* ===== Section ===== */
    .yq-section {
      width: 100%;
      background-color: #ffffff;
      padding: 40px 0;
    }
    .yq-container {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0;
    }

    /* ===== Title ===== */
    .yq-title {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-bottom: 40px;
    }
    .yq-title h2 {
      margin: 0 40px;
      font-size: 40px;
      font-weight: 700;
      color: #333333;
      letter-spacing: 1px;
      line-height: 1;
    }
    .title-deco {
      width: 124px;
      height: 20px;
      -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }

    /* ===== Filter Bar ===== */
    .yq-filter-bar {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      margin-bottom: 16px;
    }
    .yq-filter-group.left {
      margin-right: 20px;
    }
    .yq-filter-group {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .yq-filter-group.left {
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .yq-select-wrap {
      position: relative;
      width: 200px;
      height: 36px;
    }
    .yq-select-wrap + .yq-select-wrap {
      margin-left: 20px;
    }
    .yq-select {
      width: 100%;
      height: 100%;
      padding: 2px 30px 2px 10px;
      border: 1px solid #e6e6e6;
      border-radius: 2px;
      background-color: #ffffff;
      color: #333333;
      font-size: 14px;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      cursor: pointer;
      -webkit-transition: border-color 0.2s ease;
      transition: border-color 0.2s ease;
    }
    .yq-select::-ms-expand {
      display: none;
    }
    .yq-select:hover,
    .yq-select:focus {
      border-color: #0d76ed;
    }
    .yq-select-arrow {
      position: absolute;
      right: 10px;
      top: 50%;
      width: 8px;
      height: 4px;
      margin-top: -2px;
      pointer-events: none;
    }
    .yq-search {
      position: relative;
      width: 285px;
      height: 36px;
    }
    .yq-search input {
      width: 100%;
      height: 100%;
      padding: 2px 34px 2px 10px;
      border: 1px solid #e6e6e6;
      border-radius: 2px;
      background-color: #ffffff;
      color: #333333;
      font-size: 14px;
      -webkit-transition: border-color 0.2s ease;
      transition: border-color 0.2s ease;
    }
    .yq-search input::-webkit-input-placeholder {
      color: #999999;
    }
    .yq-search input::-moz-placeholder {
      color: #999999;
    }
    .yq-search input:-ms-input-placeholder {
      color: #999999;
    }
    .yq-search input::placeholder {
      color: #999999;
    }
    .yq-search input:hover,
    .yq-search input:focus {
      border-color: #0d76ed;
    }
    .yq-search-icon {
      position: absolute;
      right: 10px;
      top: 50%;
      width: 16px;
      height: 16px;
      margin-top: -8px;
      pointer-events: none;
    }

    /* ===== Card Grid ===== */
    .yq-card-grid {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 0 -10px;
    }
    .yq-card {
      position: relative;
      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;
      width: calc((100% - 60px) / 3);
      margin: 0 10px 20px;
      padding: 16px;
      background-color: #ffffff;
      border: 1px solid rgba(0, 0, 0, 0.08);
      border-radius: 6px;
      -webkit-box-shadow: 0 2px 12px rgba(4, 44, 101, 0.08);
      box-shadow: 0 2px 12px rgba(4, 44, 101, 0.08);
      cursor: pointer;
      -webkit-transition: -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }
    .yq-card:hover {
      -webkit-transform: translateY(-2px);
      -ms-transform: translateY(-2px);
      transform: translateY(-2px);
      -webkit-box-shadow: 0 6px 20px rgba(4, 44, 101, 0.16);
      box-shadow: 0 6px 20px rgba(4, 44, 101, 0.16);
    }
    .card-image {
      position: relative;
      -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      width: 100%;
      height: 353px;
      overflow: hidden;
      border-radius: 4px;
      margin-right: 0;
      margin-bottom: 14px;
      background-color: #f5f5f5;
    }
    .card-image img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      -webkit-transition: -webkit-transform 0.4s ease;
      transition: transform 0.4s ease;
    }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .card-image img {
        width: auto;
        height: 100%;
        min-width: 100%;
        max-width: none;
      }
    }
    .yq-card:hover .card-image img {
      -webkit-transform: scale(1.04);
      -ms-transform: scale(1.04);
      transform: scale(1.04);
    }
    .card-body {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
      -webkit-flex: 1;
      -ms-flex: 1;
      flex: 1;
      min-width: 0;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
    }
    .card-title {
      font-size: 22px;
      font-weight: 700;
      color: #333333;
      line-height: 1.4;
      max-height: 62px;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      margin-bottom: 16px;
    }
    .card-price {
      color: #e60012;
      font-size: 20px;
      font-weight: 700;
      line-height: 1;
      margin-bottom: 14px;
    }
    .card-category {
      color: #999999;
      font-size: 16px;
      line-height: 1;
      margin-bottom: 20px;
    }
    .card-dates {
      margin-top: auto;
      color: #999999;
      font-size: 15px;
      line-height: 1;
    }
    .card-dates .card-date {
      margin-right: 30px;
    }
    .card-dates .card-date:last-child {
      margin-right: 0;
    }
    .card-badge {
      position: absolute;
      left: 0;
      top: 12px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      height: 28px;
      padding: 0 14px;
      background-color: #e60012;
      color: #ffffff;
      font-size: 14px;
      font-weight: 500;
      line-height: 1;
      z-index: 2;
    }
    .card-badge:after {
      content: "";
      position: absolute;
      right: -8px;
      top: 0;
      border-width: 14px 8px;
      border-style: solid;
      border-color: #e60012 transparent #e60012 #e60012;
    }

    /* ===== Pagination ===== */
    .yq-pagination {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
      -ms-flex-align: end;
      align-items: flex-end;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
    }
    .page-item {
      margin: 0 3px 6px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      height: 34px;
      background-color: #ffffff;
      border: 2px solid #ecedf2;
      border-radius: 2px;
      color: #666666;
      font-size: 14px;
      cursor: pointer;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }
    .page-item:hover:not(.disabled):not(.active) {
      border-color: #0d76ed;
      color: #0d76ed;
    }
    .page-item.active {
      border-color: #0d76ed;
      color: #0d76ed;
    }
    .page-item.disabled {
      cursor: not-allowed;
      background-color: #ecedf2;
      border-color: #ecedf2;
      color: #cccdce;
    }
    .page-size {
      width: 80px;
      padding: 0 10px;
    }
    .page-number,
    .page-prev,
    .page-next {
      width: 34px;
      padding: 0;
    }
    .page-jumper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      height: 34px;
      margin-left: 6px;
    }
    .page-jumper input {
      width: 34px;
      height: 34px;
      padding: 0 4px;
      border: 2px solid #ecedf2;
      border-radius: 2px;
      text-align: center;
      color: #333333;
      font-size: 14px;
      margin: 0 4px;
    }
    .page-jumper input:focus {
      border-color: #0d76ed;
    }
    .page-jumper span {
      color: #666666;
      font-size: 14px;
      white-space: pre;
    }

    /* ===== Responsive ===== */
    @media screen and (max-width: 1219px) {
      .yq-title h2 {
        font-size: 32px;
      }
    }
    @media screen and (max-width: 991px) {
      .yq-filter-bar {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -webkit-align-items: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
      }
      .yq-search {
        width: 100%;
      }
      .yq-card {
        width: calc((100% - 40px) / 2);
      }
    }
    @media screen and (max-width: 767px) {
      .yq-section {
        padding: 24px 0;
      }
      .yq-container {
        padding: 0 16px;
      }
      .yq-title {
        margin-bottom: 24px;
      }
      .yq-title h2 {
        margin: 0 16px;
        font-size: 24px;
      }
      .title-deco {
        width: 60px;
      }
      .yq-search {
        width: 100%;
        height: 40px;
      }
      .yq-search input {
        height: 40px;
      }
      .yq-card {
        width: 100%;
        margin: 0 0 16px;
        padding: 12px;
      }
      .card-image {
        width: 100%;
        height: 180px;
        margin-right: 0;
        margin-bottom: 12px;
      }
      .card-title {
        font-size: 18px;
        margin-bottom: 12px;
      }
      .card-price {
        font-size: 18px;
        margin-bottom: 10px;
      }
      .card-category {
        font-size: 14px;
        margin-bottom: 12px;
      }
      .card-dates {
        font-size: 13px;
      }
      .card-dates .card-date {
        display: block;
        margin-right: 0;
        margin-bottom: 8px;
      }
      .yq-pagination {
        margin: 0 -2px;
      }
      .page-item {
        height: 32px;
        margin: 0 2px 4px;
      }
      .page-size,
      .page-jumper {
        display: none;
      }
      .page-number,
      .page-prev,
      .page-next {
        width: 32px;
      }
    }