.cap-properties{--cap-navy:#18384a;--cap-ivory:#f4f1eb;--cap-line:#e7ddcd;--cap-text:#303839;color:var(--cap-text);margin:30px 0 60px}
.cap-properties *,.cap-details *,.cap-gallery *{box-sizing:border-box}
.cap-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:24px;background:var(--cap-ivory);border-radius:5px;margin-bottom:30px}
.cap-filters>div{flex:1 1 160px;min-width:0}
.cap-filters label{display:block;font-size:13px;font-weight:600;color:var(--cap-navy);margin-bottom:8px}
.cap-filters select{width:100%;max-width:100%;height:46px;padding:8px 12px;background:#fff;color:var(--cap-text);border:1px solid #b8b3aa;border-radius:3px;font-size:15px}
.cap-filter-actions{display:flex;gap:16px;align-items:center}
.cap-filters button{min-height:46px;background:var(--cap-navy);color:#fff;border:0;border-radius:3px;padding:10px 22px;font-size:15px;cursor:pointer}
.cap-filters button:hover{background:#102b38}
.cap-filter-actions a,.cap-more{color:var(--cap-navy);text-decoration:underline;text-underline-offset:4px;font-size:14px}
.cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cap-cols-1 .cap-grid{grid-template-columns:minmax(0,1fr)}
.cap-cols-2 .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cap-card{overflow:hidden;border:1px solid var(--cap-line);border-radius:5px;background:#fff;min-width:0}
.cap-photo{display:block;aspect-ratio:3/2;background:var(--cap-ivory);overflow:hidden}
.cap-photo img{display:block;width:100%;height:100%;object-fit:cover}
.cap-no-photo{display:flex;align-items:center;justify-content:center;height:100%;color:#626762;font-size:14px}
.cap-card-body{padding:24px}
.cap-card .cap-category{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#80633c;margin:0 0 10px}
.cap-card h3{font-size:23px;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere}
.cap-card h3 a{color:var(--cap-navy);text-decoration:none}
.cap-card .cap-place,.cap-card .cap-summary{font-size:14px;margin:0 0 14px;line-height:1.6}
.cap-price{font-size:23px;font-weight:600;color:#18384a;margin:0 0 18px}
.cap-pagination ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:32px 0 0;padding:0}
.cap-pagination li{margin:0}
.cap-pagination a,.cap-pagination span{display:block;padding:8px 14px;border:1px solid var(--cap-line);color:var(--cap-navy);border-radius:3px;text-decoration:none}
.cap-pagination .current{background:var(--cap-navy);color:#fff}
.cap-properties a:focus-visible,.cap-properties button:focus-visible,.cap-properties select:focus-visible,.cap-gallery a:focus-visible{outline:3px solid #80633c;outline-offset:4px}
.cap-details{padding:25px;background:#f4f1eb;border-radius:5px;margin:0 0 30px}
.cap-details dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}
.cap-details dt{font-size:13px;color:#626762;font-weight:400}
.cap-details dd{margin:5px 0 0;color:#18384a;font-weight:600;overflow-wrap:anywhere}
.cap-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}
.cap-gallery img{width:100%;height:auto;display:block;border-radius:4px}
@media(max-width:1000px){.cap-cols-3 .cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cap-grid,.cap-cols-2 .cap-grid,.cap-cols-3 .cap-grid,.cap-gallery{grid-template-columns:minmax(0,1fr)}.cap-filters{padding:18px;gap:14px}.cap-filters>div{flex-basis:100%}.cap-card-body{padding:20px}.cap-details dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cap-archive{width:100%;max-width:1200px;margin:55px auto;padding:0 20px}
