.promo-hero{padding-bottom:72px}
.promo-hero h1{max-width:1050px}
.promo-section{padding-top:24px}
.promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.promo-card{display:block;min-width:0;padding:15px;background:#111113;border:1px solid #303034;border-radius:12px;transition:border-color .2s,transform .2s}
.promo-card:hover,.promo-card:focus-visible{border-color:#e21b2d;transform:translateY(-3px)}
.promo-level{display:block;margin:2px 2px 12px;color:#ff3345;font-size:clamp(14px,2vw,21px);font-weight:900;letter-spacing:.02em}
.promo-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#1b1b1e;border-radius:7px}
.promo-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.promo-card:hover .promo-photo img{transform:scale(1.025)}
.promo-prices{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:16px}
.promo-price{display:grid;gap:3px;min-width:0}
.promo-price:last-child{text-align:right}
.promo-price small{color:#a8a3a2;font-size:12px;font-weight:700}
.promo-price strong{font-size:clamp(16px,2.6vw,29px);line-height:1.1;font-weight:900;white-space:nowrap}
.promo-price-old strong{color:#e95965;text-decoration:line-through;text-decoration-color:#ff263a;text-decoration-thickness:2px}
.promo-price-sale strong{color:#fff}
.promo-sessions{display:grid;gap:2px;margin-top:8px;color:#aaa;font-size:11px;line-height:1.35}
.promo-empty{padding:42px 25px;border:1px solid #303034;border-radius:10px;background:#111113;text-align:center;color:#bbb;font-size:18px}
.promo-detail-section{min-height:60vh}
.promo-back{display:inline-block;margin-bottom:28px;color:#c9c5c2!important;font-weight:800}
.promo-back:hover{color:#fff!important}
.promo-detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:42px;align-items:start}
.promo-detail-photo{background:#151517;border-radius:11px;overflow:hidden}
.promo-detail-photo img{width:100%;max-height:75vh;object-fit:contain}
.promo-detail-info{padding:32px;background:#121214;border:1px solid #343439;border-radius:11px}
.promo-detail-info h1{font-size:clamp(34px,4vw,56px);line-height:1.03;margin:8px 0 22px}
.promo-detail-info .promo-level{margin:0;color:#ff3345}
.promo-detail-info .promo-prices{padding:20px 0 0;border-top:1px solid #333}
.promo-detail-info .promo-sessions{padding-bottom:20px;border-bottom:1px solid #333}
.promo-detail-info .button{width:100%;margin-top:27px}
.promo-detail-note{color:#aaa;font-size:14px;line-height:1.5;margin:16px 0 0}
.promo-contact-context{display:flex;gap:22px;align-items:center;margin-bottom:26px;padding:16px;border:1px solid #4a262b;border-radius:10px;background:#161113}
.promo-contact-context img{width:110px;height:110px;object-fit:cover;border-radius:6px}
.promo-contact-context .promo-level{font-size:14px;margin:0 0 5px}
.promo-contact-context strong{font-size:22px}
.promo-contact-context p{margin:4px 0;color:#bbb}
.promo-contact-context a{color:#ff5060!important;font-weight:800}
@media(max-width:850px){.promo-detail{grid-template-columns:1fr;gap:20px}.promo-detail-info{padding:23px}}
@media(max-width:600px){.promo-hero h1{font-size:clamp(34px,9vw,48px)}.promo-grid{gap:9px}.promo-card{padding:7px;border-radius:7px}.promo-level{font-size:12px;line-height:1.2;min-height:30px;margin:3px 2px 7px}.promo-photo{aspect-ratio:3/4}.promo-prices{gap:4px;margin-top:10px}.promo-price small{font-size:9px;line-height:1.2}.promo-price strong{font-size:clamp(12px,3.5vw,19px)}.promo-sessions{font-size:10px}.promo-detail-section{padding-top:32px}.promo-detail-info .promo-prices{margin-top:18px}}
