.studios-catalog-page { color: #17395c; }
.studios-catalog-page__shell { width: min(calc(100% - 48px), var(--max, 1216px)); margin-inline: auto; }
.studios-catalog-page__header { padding: clamp(150px, 15vw, 210px) 0 clamp(32px, 4vw, 52px); }
.studios-catalog-page__header h1 { max-width: 980px; margin: 0; color: #17395c; font-size: clamp(42px, 6vw, 76px); font-weight: 500; letter-spacing: -.035em; line-height: .98; text-wrap: balance; }
.studios-catalog-page__filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.studios-catalog-page__filter { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 16px; border: 1px solid #aac7d8; border-radius: 999px; color: #17395c; background: #fff; font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: color .16s ease, background-color .16s ease, border-color .16s ease; }
.studios-catalog-page__filter:hover { border-color: #17395c; background: #e9f6fb; }
.studios-catalog-page__filter.is-active { border-color: #17395c; color: #fff; background: #17395c; }
.studios-catalog-page__filter:focus-visible, .studios-catalog-card a:focus-visible { outline: 3px solid #53c3e5; outline-offset: 3px; }
.studios-catalog-page__content { padding: 0 0 clamp(72px, 10vw, 136px); }
.studios-catalog-page__content { transition: opacity .16s ease; }
.studios-catalog-page[aria-busy="true"] .studios-catalog-page__content { opacity: .48; pointer-events: none; }
.studios-catalog-page__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 36px); }
.studios-catalog-card { min-width: 0; }
.studios-catalog-card__photo { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px; color: #fff; background: #17395c; isolation: isolate; }
.studios-catalog-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.studios-catalog-card__photo:hover img { transform: scale(1.035); }
.studios-catalog-card__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(7, 28, 47, .86)); pointer-events: none; }
.studios-catalog-card__badges { position: absolute; top: 12px; left: 12px; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 24px); }
.studios-catalog-card__badges > span { padding: 5px 8px; border-radius: 7px; color: #17395c; background: #caeff9; font-size: 11px; font-weight: 700; line-height: 1.2; }
.studios-catalog-card__badges .studios-catalog-card__enrolling { color: #103c29; background: #b8efc9; }
.studios-catalog-card h2 { position: absolute; inset: auto 0 0; margin: 0; padding: 42px 20px 18px; color: #fff; font-size: clamp(22px, 2vw, 28px); font-weight: 500; letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
.studios-catalog-card__body { padding-top: 14px; }
.studios-catalog-card__type { margin: 0; color: #0d83ad; font-size: 13px; font-weight: 700; line-height: 1.35; }
.studios-catalog-card__body > p:not(.studios-catalog-card__type) { display: -webkit-box; max-width: 52ch; margin: 8px 0 0; overflow: hidden; color: #52708d; font-size: 14px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.studios-catalog-card__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: #17395c; font-size: 14px; font-weight: 700; text-decoration: none; }
.studios-catalog-card__link:hover { color: #0d83ad; }
.studios-catalog-page__empty { margin: 0; padding: 40px 0; color: #52708d; font-size: 18px; }
.studios-catalog-page__pagination { display: flex; flex-wrap: wrap; gap: 8px; margin: 44px 0 0; padding: 0; list-style: none; }
.studios-catalog-page__pagination a, .studios-catalog-page__pagination span { display: grid; min-width: 42px; min-height: 42px; place-items: center; border-radius: 10px; color: #17395c; background: #e9f6fb; font-weight: 700; text-decoration: none; }
.studios-catalog-page__pagination .active a, .studios-catalog-page__pagination .active span { color: #fff; background: #17395c; }
@media (max-width: 920px) { .studios-catalog-page__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .studios-catalog-page__shell { width: min(calc(100% - 32px), var(--max, 1216px)); } .studios-catalog-page__header { padding-top: 128px; } .studios-catalog-page__header h1 { font-size: clamp(38px, 11vw, 54px); } .studios-catalog-page__filters { gap: 8px; } .studios-catalog-page__filter { min-height: 40px; padding: 8px 12px; font-size: 13px; } .studios-catalog-page__grid { grid-template-columns: 1fr; gap: 30px; } .studios-catalog-card h2 { font-size: 25px; } .studios-catalog-page__content { padding-bottom: 72px; } }
