/* projects-grid.css — responsive listing grid + client-side filters
   Breakpoints: 3 cols >900px, 2 cols 640–900px, 1 col <640px. v20261015 */
.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:900px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.projects{grid-template-columns:minmax(0,1fr);gap:18px}}

.project-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;
    border-radius:14px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.07);
    transition:transform .2s ease,box-shadow .2s ease}
.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,0,0,.13)}
.project-card .thumb{display:block;aspect-ratio:16/9;background:#eef2f7;overflow:hidden}
.project-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .35s ease}
.project-card:hover .thumb img{transform:scale(1.04)}
.project-card .body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1 1 auto}
.project-card .project-name{font-size:18px;line-height:1.35;font-weight:700;margin:0}
.project-card .project-name a{color:#111827;text-decoration:none}
.project-card .project-name a:hover{color:#b45309}
.project-card .project-meta{font-size:14px;line-height:1.5;color:#6b7280}
.project-card .price{font-size:16px;font-weight:700;color:#b45309;letter-spacing:.2px}
.project-card .cta{margin-top:auto;padding-top:12px}
.project-card .cta a{display:flex;align-items:center;justify-content:center;gap:8px;
    min-height:44px;padding:0 18px;border-radius:9px;background:#C4A35A;color:#14213d;
    font-size:15px;font-weight:700;text-decoration:none}
.project-card .cta a:hover{filter:brightness(.95)}
.project-card .cta a:focus-visible{outline:3px solid #24A1DE;outline-offset:2px}

/* Filter bar */
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 24px;
    padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px}
.filters .field{display:flex;align-items:center;gap:8px}
.filters label{font-size:13px;font-weight:700;color:#6b7280}
.filters select,.filters button{min-height:44px;min-width:44px;border:1px solid #d1d5db;
    border-radius:9px;background:#fff;color:#111827;font:inherit;font-size:16px;padding:0 12px}
.filters select{max-width:min(46vw,240px)}
.filters button{background:#111827;color:#fff;border-color:#111827;font-weight:700;
    padding:0 18px;cursor:pointer}
.filters button:hover{background:#000}
.filters .count{margin-left:auto;font-size:14px;color:#6b7280}
.filters select:focus-visible,.filters button:focus-visible{outline:3px solid #24A1DE;outline-offset:2px}
.projects-empty{grid-column:1/-1;padding:36px 18px;text-align:center;color:#6b7280;
    background:#fff;border:1px dashed #d1d5db;border-radius:12px}

@media(max-width:640px){
    .filters{gap:10px;padding:12px}
    .filters .field{flex:1 1 calc(50% - 5px);min-width:0;flex-direction:column;align-items:stretch;gap:4px}
    .filters select{max-width:100%;width:100%}
    .filters .actions{flex:1 1 100%}
    .filters button{width:100%}
    .filters .count{flex:1 1 100%;margin-left:0;text-align:center}
}
