/* Блок «Баннер: каталог программ» (catalog-banner): тот же вид, что у прежнего HTML-блока .pl-catb
   на /programmy/pricelist/, но со своими стилями — блок не зависит от стилей страницы.
   Эмблемы — спрайт v4 каталога /programmy/ (ячейка 60 px, здесь ужата до 34 px). */
.cb{--cb-red:#dd153f;--cb-red-dark:#b80f32;--cb-blue:#465991;--cb-pad:40px;
    padding:20px 0 40px;font-family:RalewayMedium,sans-serif;font-variant-numeric:lining-nums tabular-nums;-webkit-font-smoothing:antialiased;}
.cb.cb-gray{background:#F8F9FA;}
.cb.cb-white{background:#fff;}
.cb,.cb *{box-sizing:border-box;}
.cb__in{max-width:1320px;margin:0 auto;padding:0 16px;}

.cb__card{position:relative;display:grid;grid-template-columns:170px minmax(300px,1fr) minmax(0,1fr);column-gap:var(--cb-pad);row-gap:22px;align-items:center;
    padding:var(--cb-pad);border-radius:6px;overflow:hidden;border-top:3px solid var(--cb-red);cursor:pointer;
    background:radial-gradient(420px 260px at 20% 110%,rgba(221,21,63,.26),rgba(221,21,63,0) 70%),radial-gradient(520px 300px at 92% -10%,rgba(126,161,235,.35),rgba(126,161,235,0) 70%),linear-gradient(120deg,#2a3360 0%,#353d6b 55%,#3f4a80 100%);
    box-shadow:0 18px 36px -24px rgba(26,34,72,.7);transition:transform .25s,box-shadow .25s;}
.cb__card--no-kicker{grid-template-columns:minmax(300px,1fr) minmax(0,1fr);}
.cb__card:hover{transform:translateY(-2px);box-shadow:0 24px 44px -24px rgba(26,34,72,.85);}
.cb a.cb__lnk{position:absolute;inset:0;z-index:1;border:0;text-decoration:none;}

.cb__k{align-self:stretch;display:flex;align-items:center;padding-right:var(--cb-pad);border-right:1px solid rgba(255,255,255,.16);
    font-family:RalewayBold,sans-serif;font-size:14px;line-height:22px;letter-spacing:1.6px;text-transform:uppercase;color:#ff8aa2;}

/* книжка */
.cb__art{position:relative;display:block;width:300px;height:216px;justify-self:center;}
.cb-book{position:absolute;left:6px;top:8px;width:288px;height:196px;perspective:1100px;}
.cb-book__cover{position:absolute;inset:-6px -6px -8px -6px;border-radius:8px;background:linear-gradient(180deg,#1c2350,#141a3d);box-shadow:0 18px 30px -14px rgba(5,9,28,.8);}
.cb-pg{position:absolute;top:0;width:50%;height:100%;padding:11px 10px 8px;background:#fff;display:flex;flex-direction:column;overflow:hidden;}
.cb-pg--l{left:0;border-radius:5px 0 0 5px;background:linear-gradient(270deg,#dfe3ee 0,#f6f7fb 14px,#fff 40px);}
.cb-pg--r{right:0;border-radius:0 5px 5px 0;background:linear-gradient(90deg,#dfe3ee 0,#f6f7fb 14px,#fff 40px);}
.cb-leaf{position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:0 50%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.45,.05,.3,1);z-index:2;}
.cb-leaf.is-flip{transform:rotateY(-180deg);}
.cb-leaf .cb-pg{width:100%;left:0;right:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
.cb-leaf__f{box-shadow:-6px 0 14px -10px rgba(10,16,40,.5);}
.cb-leaf__b{transform:rotateY(180deg);}
.cb-leaf.is-flip .cb-leaf__f{box-shadow:none;}
.cb-pg__h{display:flex;align-items:center;justify-content:space-between;gap:6px;height:14px;margin-bottom:9px;padding-bottom:6px;border-bottom:1px solid #e6e9f2;}
.cb-pg__h b{font-family:RalewayBold,Raleway,sans-serif;font-weight:700;font-size:8.5px;line-height:1;color:var(--cb-blue);white-space:nowrap;letter-spacing:.2px;}
.cb-pg__h i{display:block;width:14px;height:5px;border-radius:3px;background:var(--cb-red);flex:none;}
.cb-pg__g{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 8px;}
.cb-pg__c{display:flex;flex-direction:column;align-items:center;gap:4px;}
.cb-pg__c i{display:block;width:30px;height:4px;border-radius:2px;background:#e3e7f1;}
.cb-e{display:block;width:34px;height:34px;background:url('/upload/medialibrary/cd6/q5jhcg38o0yk39ahhuutl110yf8qid0o/sprite_emblems_v4.png') no-repeat;
    background-size:544px 340px;background-position:calc(var(--x,0)*-34px) calc(var(--y,0)*-34px);}
.cb-pg__n{margin-top:auto;align-self:center;font-family:RalewayMedium,Raleway,sans-serif;font-size:8px;line-height:1;color:#9aa3c2;}
.cb-pg__n b{font-weight:inherit;}
.cb-book__mark{position:absolute;right:26px;top:-6px;width:12px;height:30px;z-index:3;background:var(--cb-red);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);}

/* текст и ссылки */
.cb__txt{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;}
.cb__t{font-family:RalewayBold,sans-serif;font-size:33px;line-height:40px;color:#fff;}
.cb__s{font-size:15px;line-height:25px;color:rgba(255,255,255,.75);max-width:640px;}
.cb__acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:6px;}
.cb a.cb__btn,.cb a.cb__btn:link,.cb a.cb__btn:visited,.cb a.cb__btn:hover{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:16px 28px;border-radius:4px;border:0;
    background:var(--cb-red);color:#fff;text-decoration:none;white-space:nowrap;font-family:RalewayExtraBold,sans-serif;font-size:11px;line-height:11px;letter-spacing:.6px;text-transform:uppercase;transition:background .2s;}
.cb a.cb__btn:hover{background:var(--cb-red-dark);}
.cb__btn span{transition:transform .2s;}
.cb__btn:hover span{transform:translateX(4px);}
.cb a.cb__more,.cb a.cb__more:link,.cb a.cb__more:visited{position:relative;z-index:2;font-family:RalewayBold,sans-serif;font-size:14px;line-height:22px;color:#fff;text-decoration:none;border:0;border-bottom:1px solid rgba(255,255,255,.5);}
.cb a.cb__more:hover{color:#fff;border-bottom-color:#fff;}

@media (max-width:1100px){
    .cb{--cb-pad:32px;}
    .cb__card,.cb__card--no-kicker{grid-template-columns:300px minmax(0,1fr);}
    .cb__k{grid-column:1 / -1;align-self:auto;padding:0 0 16px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);}
    .cb a.cb__btn{white-space:normal;line-height:15px;}
}
@media (max-width:760px){
    .cb__t{font-size:25px;line-height:33px;}
}
@media (max-width:640px){
    .cb{--cb-pad:20px;}
    .cb__card,.cb__card--no-kicker{grid-template-columns:minmax(0,1fr);row-gap:16px;}
    .cb__k{font-size:13px;letter-spacing:1.2px;}
    .cb__art{width:262px;height:190px;}
    .cb__art .cb-book{transform:scale(.87);transform-origin:0 0;}
    .cb__txt{align-items:stretch;}
    .cb__acts{flex-direction:column;align-items:stretch;text-align:center;}
    .cb a.cb__btn{justify-content:center;white-space:normal;}
    .cb a.cb__more{align-self:center;}
}
@media (prefers-reduced-motion:reduce){
    .cb__card,.cb-leaf{transition:none;}
}
