.ap-wrap{max-width:1120px;margin:40px auto;padding:0 16px;font-family:system-ui,Arial}
.ap-title{font-size:34px;margin:0 0 8px}
.ap-price{font-weight:700;font-size:20px;color:#0a7b62}

.ap-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:18px 0}
.ap-gallery img{width:100%;height:200px;object-fit:cover;border-radius:8px}

.ap-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:10px 0 24px}
.ap-meta li{background:#f6f7f8;border:1px solid #e5e7ea;border-radius:8px;padding:10px 12px}

.ap-content{line-height:1.7;margin:24px 0}

/* Filters */
.ap-filter{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 22px;padding:12px;border:1px solid #e5e7ea;background:#fbfbfc;border-radius:10px}
.ap-filter .f-row{display:flex;flex-direction:column;gap:6px}
.ap-filter label{font-size:12px;color:#555}
.ap-filter input,.ap-filter select{height:38px;border:1px solid #d6d9de;border-radius:8px;padding:6px 10px}
.ap-filter .f-actions{grid-column:1/-1;display:flex;gap:10px}
.btn-primary{background:#0a7b62;color:#fff;border:none;border-radius:8px;padding:10px 16px;cursor:pointer}
.btn-reset{display:inline-block;padding:10px 14px;border-radius:8px;border:1px solid #d6d9de;color:#333;text-decoration:none}

/* Grid */
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ap-card{display:block;border:1px solid #e5e7ea;border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;transition:box-shadow .2s ease}
.ap-card:hover{box-shadow:0 6px 18px rgba(0,0,0,.06)}
.ap-card__img{height:180px;background:#f1f1f1}
.ap-card__img img{width:100%;height:100%;object-fit:cover}
.ap-card__body{padding:10px 12px}
.ap-card__title{font-size:18px;margin:4px 0 8px}
.ap-card__meta{display:flex;gap:10px;list-style:none;padding:0;margin:0;color:#666}
.ap-card__price{margin-left:auto;color:#0a7b62;font-weight:700}

/* Pagination */
.ap-pagination{margin:22px 0;text-align:center}
.ap-pagination .page-numbers{display:inline-block;margin:0 4px;padding:8px 12px;border:1px solid #e5e7ea;border-radius:8px;color:#333;text-decoration:none}
.ap-pagination .current{background:#0a7b62;color:#fff;border-color:#0a7b62}
@media (max-width:860px){
  .ap-filter{grid-template-columns:repeat(2,1fr)}
  .ap-meta{grid-template-columns:1fr}
}
