.raasa-catalog-page { max-width: 80rem; margin: auto; padding: 2rem 1.5rem 5rem; color: #172b49; line-height: 1.9; }
.raasa-catalog-page header { background: #edf3fc; padding: 2.5rem; border-radius: 1.5rem; margin-bottom: 2rem; }
.raasa-catalog-page h1 { font-size: clamp(1.6rem, 3vw, 2.7rem); color: #0d397a; }
.raasa-catalog-filters { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; }
.raasa-catalog-filters label { display: grid; gap: .5rem; }
.raasa-catalog-filters :is(input,select) { width: 100%; min-width: 0; padding: .8rem; border: 1px solid #c6d3e6; border-radius: .6rem; background: white; color: #172b49; }
.raasa-catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.raasa-catalog-card { display: flex; flex-direction: column; gap: .5rem; min-width: 0; padding: 1.5rem; border: 1px solid #dce3ee; border-radius: 1rem; background: white; overflow-wrap: anywhere; }
.raasa-catalog-card[hidden] { display: none; }
.raasa-catalog-card h2 { font-size: 1.2rem; line-height: 1.8; margin: 0; }
.raasa-catalog-card p { margin: 0; }
.raasa-catalog-image { aspect-ratio: 4/3; display: grid; place-items: center; background: #f7f9fc; border-radius: .5rem; }
.raasa-catalog-image img { max-height: 12rem; object-fit: contain; }
.raasa-catalog-placeholder { color: #52637a; text-align: center; padding: 1rem; }
.raasa-catalog-primary { display: block; background: #0d397a; color: white !important; text-align: center; border-radius: .5rem; padding: .65rem; margin-top: auto; }
@media (max-width: 800px) { .raasa-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 500px) { .raasa-catalog-grid,.raasa-catalog-filters { grid-template-columns: minmax(0,1fr); } .raasa-catalog-page header { padding: 1.5rem; } }
