.accommodation-catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; margin-top:1.5rem; }
.accommodation-catalog-grid .accommodation-catalog-card { padding:0; margin:0; overflow:hidden; display:flex; flex-direction:column; min-width:0; max-width:none; }
.accommodation-catalog-image { width:100%; height:auto; aspect-ratio:8/5; object-fit:cover; display:block; background:var(--brand-primary-light); }
.accommodation-catalog-body { padding:1.25rem; display:flex; flex:1; flex-direction:column; gap:.75rem; overflow-wrap:anywhere; }
.accommodation-catalog-body h3, .accommodation-catalog-body p { margin:0; }
.accommodation-catalog-body .btn { margin-top:auto; align-self:flex-start; max-width:100%; text-align:center; }
.accommodation-catalog-location { font-size:.9rem; }
.accommodation-catalog-description { line-height:1.55; }
.accommodation-catalog-page { padding-block:2rem; }
.app-shell .catalog-target-preview { overflow-wrap:anywhere; }
@media (max-width:1050px) { .accommodation-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .accommodation-catalog-grid { grid-template-columns:minmax(0,1fr); } }
