.catalog-programs { background:#fcfcfb; color:#071a3d; padding:0 20px 53px; }
.catalog-programs-inner { max-width:1160px; margin:0 auto; }
.catalog-programs-head { margin-bottom:44px; }
.catalog-programs h2 { margin:0; font:500 50px/1.1 Inter,Arial,sans-serif; letter-spacing:-1.5px; }
.catalog-programs-head p { max-width:576px; margin:14px 0 0; font:400 18px/1.35 Inter,Arial,sans-serif; }
.catalog-program-carousel { position:relative; }
.catalog-program-track { display:grid; grid-auto-flow:column; grid-auto-columns:373px; gap:20px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; }
.catalog-program-track::-webkit-scrollbar { display:none; }
.catalog-program-card { position:relative; display:block; height:450px; overflow:hidden; border-radius:15px; color:#fff; text-decoration:none; background-color:#071a3d; background-position:center; background-size:cover; scroll-snap-align:start; transition:transform .2s; }
.catalog-program-card::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(7,26,61,0) 45%,rgba(7,26,61,.55) 100%); }
.catalog-program-card:hover { transform:translateY(-4px); }
/* Tilda-страницы задают #allrecords a{color:#ff8562} — перебиваем, иначе текст карточек оранжевый */
#allrecords a.catalog-program-card, .t-records a.catalog-program-card { color:#fff; }
.catalog-program-meta,.catalog-program-copy,.catalog-program-more { position:absolute; z-index:1; left:25px; right:25px; font-family:Inter,Arial,sans-serif; }
.catalog-program-meta { top:27px; font-size:15px; line-height:20px; }
.catalog-program-copy { bottom:25px; }
.catalog-program-title,.catalog-program-desc { display:block; }
.catalog-program-title { font-size:25px; line-height:34px; font-weight:500; }
.catalog-program-desc { margin-top:8px; font-size:15px; line-height:20px; }
.catalog-program-more { display:none; }
.catalog-program-arrow { position:absolute; z-index:2; top:50%; width:40px; height:40px; border:0; border-radius:8px; background:#c9ff68; color:#071a3d; font-size:22px; line-height:1; transform:translateY(-50%); cursor:pointer; }
.catalog-program-prev { left:-60px; }
.catalog-program-next { right:-60px; }
@media (max-width:1320px) { .catalog-program-prev { left:-4px; } .catalog-program-next { right:-4px; } }
@media (max-width:959px) { .catalog-programs { padding-bottom:61px; } .catalog-programs h2 { font-size:40px; } .catalog-programs-head p { font-size:16px; } .catalog-program-track { grid-auto-columns:84%; gap:16px; } .catalog-program-arrow { display:none; } }
@media (max-width:639px) { .catalog-programs { padding:0 24px 61px; overflow:hidden; } .catalog-programs h2 { font-size:35px; line-height:1.05; letter-spacing:-1px; } .catalog-program-track { width:calc(100vw - 24px); grid-auto-columns:calc(100vw - 48px); gap:12px; } .catalog-program-card { height:488px; background-position:center -22px; } .catalog-program-copy { right:31px; bottom:108px; left:31px; } .catalog-program-desc { font-size:16px; line-height:22px; } .catalog-program-more { bottom:31px; display:flex; align-items:center; justify-content:center; height:48px; border-radius:6px; background:#c9ff68; color:#071a3d; font-size:15px; font-weight:500; } }
/* Старые тильдовские блоки каталога: прячем жёстко — атрибута hidden мало,
   его перебивают правила display самой Тильды (проявлялось на iOS). */
#allrecords .catalog-legacy-off, .t-rec.catalog-legacy-off, .catalog-legacy-off { display:none !important; }
