.catalogue-page-main{padding-top:2.5rem;padding-bottom:3rem;min-height:65vh}
.catalogue-page .skip-link{position:absolute;left:1rem;top:-5rem;background:white;padding:1rem;z-index:10}.catalogue-page .skip-link:focus{top:1rem}
.catalogue-page .card-open{text-decoration:none}
.catalogue-page-main h1{font-size:clamp(2rem,5vw,3rem);line-height:1.15;margin-bottom:1rem}
.catalogue-page-main a:focus-visible{outline:3px solid #0757d6;outline-offset:4px}
.catalogue-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0;padding:1.5rem;background:#f5f8fc;border-radius:16px;align-items:end}
.catalogue-filters label{display:grid;gap:.4rem;font-weight:600}
.catalogue-filters input,.catalogue-filters select{width:100%;min-height:44px;border:1px solid #aab6c4;border-radius:7px;background:white;padding:.65rem;font:inherit;color:inherit}
.catalogue-filter-help{font-size:.9rem;align-self:center;margin:0}
.catalogue-page .listing-card h2{font-size:1.2rem;line-height:1.35}
.catalogue-pagination{margin-top:2rem;gap:1rem}
.catalogue-advert{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;margin-top:2rem}
.catalogue-advert-photo img{display:block;width:100%;max-height:700px;object-fit:contain;border-radius:16px;background:#f5f8fc}
.catalogue-advert dl{display:grid;gap:.75rem;margin:1.5rem 0}
.catalogue-advert dl div{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-bottom:1px solid #e1e6ee;padding-bottom:.6rem}
.catalogue-advert dt{font-weight:600}.catalogue-advert dd{margin:0}
.catalogue-advert h1,.catalogue-advert p,.catalogue-page .listing-card h2{overflow-wrap:anywhere}
.catalogue-page-footer{padding:2rem 0;border-top:1px solid #e1e6ee}
@media(max-width:750px){.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-advert{grid-template-columns:1fr;gap:1.5rem}}
@media(max-width:460px){.catalogue-filters{grid-template-columns:1fr}.catalogue-page .header{align-items:start;gap:1rem}.catalogue-page .header-actions{font-size:.85rem}}

[data-gallery-images]{display:grid;gap:1rem}[data-gallery-images] figure{margin:0}[data-gallery-images] figcaption{margin-top:.4rem;font-size:.875rem;color:var(--muted)}

[data-save-catalogue-search]{margin:1.5rem 0 2rem;padding:1.25rem;border:1px solid #dce3ed;border-radius:12px}
[data-save-search-form]{display:flex;align-items:end;flex-wrap:wrap;gap:1rem}
[data-save-search-form][hidden]{display:none}
[data-save-search-form] label{display:grid;gap:.4rem;flex:1 1 220px}
[data-save-search-form] input{font:inherit;padding:.65rem;border:1px solid #aab6c4;border-radius:7px;min-height:44px;width:100%}
[data-save-search-form] .fine{flex-basis:100%;margin:0}

/* Keep every public navigation destination visible on narrow screens. */
.catalogue-page .nav-band nav{flex-wrap:wrap;overflow:visible}
.home-advice{margin:2.5rem 0;padding:1.5rem;background:#f5f8fc;border-radius:12px}

.category-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.category-links a{padding:8px 12px;border:1px solid #d7cdc1;border-radius:20px}.listing-category{display:block;padding:0 18px 18px;font-size:.85rem}.membership-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.membership-layout li{margin-block:14px}@media(max-width:700px){.membership-layout{grid-template-columns:1fr}}

.listing-card .photo{position:relative}.listing-card .ribbon{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:4px;color:#fff;background:#986b23;font-weight:700}.listing-card .ribbon.sold{background:#b42318}

/* Give photos and long advert titles a readable card width on phones. */
@media(max-width:460px){.catalogue-page .listing-grid{grid-template-columns:minmax(0,1fr)}}
