/* Сезонные лендинги (/vishka, /pleshka, /chelyaba, /finashka, /municip, /region, /intensive, /black_friday) —
   поверх olimp-v2.css и system.css: свои блоки с префиксом ss-. Цвета — токены site.css, тема через html.dark */

/* первый экран: справа (на телефоне — под текстом) карточка олимпиады вместо фото */
.ss-hero .ov-hero-grid{gap:20px}
.ss-hero .ov-h1 b{display:inline}
.ss-hero .ov-tags{flex-wrap:wrap}
.ss-vis{display:flex;align-items:center;min-width:0}
.ss-vis-card{width:100%;padding:18px;border-radius:26px;background:linear-gradient(160deg,#d6edf9,#eef8fd);border:1px solid rgba(0,152,219,.18);box-shadow:var(--shadow-soft)}
html.dark .ss-vis-card{background:linear-gradient(160deg,rgba(0,152,219,.26),rgba(0,152,219,.07));border-color:rgba(0,152,219,.25)}
.ss-vis-h{display:flex;gap:14px;align-items:center}
.ss-vis-h img{flex:none;width:64px;height:64px;border-radius:50%;background:#fff;padding:5px;object-fit:contain;box-shadow:0 4px 14px -6px rgba(0,40,70,.45)}
.ss-vis-h img.vs{padding:9px}
.ss-vis-h b{display:block;font-size:20px;line-height:1.15;font-weight:800;text-wrap:balance}
.ss-vis-h span{display:block;margin-top:3px;font-size:13px;font-weight:700;color:var(--accent-small)}
.ss-vis-k{margin:18px 0 8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-small)}
.ss-vis-l{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ss-vis-l li{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:14px;background:var(--bg);font-size:14px;font-weight:700;line-height:1.3}
.ss-vis-l .ov-ic{width:24px;height:24px}
.ss-vis-n{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:13px;font-weight:600;line-height:1.4;color:var(--muted)}
.ss-vis-n svg{flex:none;width:20px;height:20px;color:var(--primary)}

/* сложности */
.ss-pains{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ss-pains li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--card);border:1px solid var(--card-line);font-size:15px;font-weight:700;line-height:1.3}
.ss-pains .ov-ic{width:26px;height:26px}
.ss-fix{display:flex;gap:12px;align-items:center;margin:12px 0 0;padding:16px 18px;border-radius:18px;background:var(--primary-soft);font-size:16px;font-weight:800;line-height:1.3}
.ss-fix svg{flex:none;width:28px;height:28px;color:var(--primary)}

/* шаги */
.ss-steps{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ss-steps li{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--card);border:1px solid var(--card-line);font-size:15px;font-weight:600;line-height:1.35}
.ss-steps b{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary);color:#fff;font-size:15px;font-weight:800}

/* что входит */
.ss-feats{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
.ss-feat{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:16px;border-radius:22px;background:var(--card);border:1px solid var(--card-line)}
.ss-feat-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--primary-soft)}
.ss-feat-ic .ov-ic{width:28px;height:28px}
.ss-feat h3{margin:2px 0 0;font-size:17px;font-weight:800;line-height:1.2}
.ss-feat p{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--muted)}

/* уроки по модулям */
.ss-mods{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
.ss-mod{padding:16px 18px;border-radius:22px;background:var(--card);border:1px solid var(--card-line)}
.ss-mod h3{margin:0 0 10px;font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-small)}
.ss-mod ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ss-mod li{display:flex;gap:10px;align-items:baseline;font-size:15px;font-weight:600;line-height:1.35}
.ss-mod li b{flex:none;min-width:26px;font-size:13px;font-weight:800;color:var(--accent-small)}
.ss-mods.one .ss-mod ol{grid-template-columns:minmax(0,1fr)}
.ss-chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}
.ss-chips span{padding:5px 10px;border-radius:9px;background:var(--primary-soft);color:var(--accent-small);font-size:13px;font-weight:700}

/* вебинары */
.ss-web{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}
.ss-webl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ss-webl li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--card-line);font-size:15px;font-weight:700;line-height:1.3}
.ss-webl li span{display:flex;flex-direction:column;gap:2px}
.ss-webl small{font-size:12.5px;font-weight:600;color:var(--accent-small)}
.ss-webl .ov-ic{width:26px;height:26px}
.ss-web-side{padding:18px;border-radius:22px;background:var(--primary-soft)}
.ss-web-side p{margin:0 0 10px;font-size:14.5px;line-height:1.45}
.ss-web-side p:last-child{margin:0}
.ss-web-side .ov-web-rec{margin:0 0 12px;color:var(--fg)}

/* наставники: 5 карточек */
.ss-tms .ov-tm-r{color:var(--accent-small);font-weight:700}

/* тарифы: 3 карточки; заметки над ними */
.ss-buy-notes{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px}
.ss-buy-notes li{display:flex;gap:6px;align-items:center;font-size:13.5px;font-weight:600;color:var(--muted)}
.ss-buy-notes svg{width:16px;height:16px;color:var(--primary)}
.ss-buy .ov-tf h3{min-height:0}
.ss-table-dlg .ov-table tbody th small{max-width:460px}

/* интенсив: олимпиады, недели, спецкурсы, база */
.ss-ol{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.ss-ol li{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;background:var(--card);border:1px solid var(--card-line);min-width:0}
.ss-ol li:first-child{grid-column:1/-1;background:var(--primary-soft);border-color:transparent}
.ss-ol img,.ss-spec img{flex:none;width:34px;height:34px;border-radius:50%;background:#fff;padding:2px;object-fit:contain;box-shadow:0 1px 4px -1px rgba(0,0,0,.3)}
.ss-ol img.vs,.ss-spec img.vs{padding:5px}
.ss-ol div{display:flex;flex-direction:column;gap:1px;min-width:0;overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
.ss-ol b{font-size:12.5px;line-height:1.2;font-weight:700}
.ss-ol span{font-size:11px;font-weight:600;color:var(--muted)}
.ss-views{margin-top:16px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.ss-views::-webkit-scrollbar{display:none}
.ss-views button{white-space:nowrap}
.ss-weeks{display:flex;gap:10px;margin:12px -16px 0;padding:2px 16px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.ss-weeks::-webkit-scrollbar{display:none}
.ss-wk{flex:none;width:78%;scroll-snap-align:start;scroll-margin-left:16px;padding:16px;border-radius:20px;background:var(--card);border:1px solid var(--card-line)}
.ss-wk h3{margin:0 0 8px;font-size:15px;font-weight:800;color:var(--accent-small)}
.ss-wk ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ss-wk li{font-size:14px;font-weight:600;line-height:1.35;padding-left:14px;position:relative}
.ss-wk li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.ss-wk p{margin:8px 0 0;font-size:12.5px;font-weight:600;color:var(--muted)}
.ss-spec,.ss-base{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ss-spec li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--card-line);font-size:15px}
.ss-base li{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--card-line)}
.ss-base b{font-size:15px}
.ss-base span{font-size:13.5px;font-weight:600;color:var(--muted)}
#lessons .ov-lead{margin-top:14px}

/* «Миссия выполнима» и подборка: только плашка поддержки вместо вопросов */
.ss-sup .ov-faq-list{margin-top:0}

/* подборка программ (чёрная пятница) */
.ss-bf-hero .ss-bf-in{max-width:900px;padding:20px 0 8px}
.ss-goals{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.ss-goals a{position:relative;display:flex;flex-direction:column;gap:3px;padding:16px 56px 16px 18px;border-radius:18px;background:var(--card);border:1px solid var(--card-line);text-decoration:none;color:var(--fg);transition:border-color .15s,transform .15s}
.ss-goals a:hover{border-color:var(--primary);transform:translateY(-1px)}
.ss-goals b{font-size:16px;line-height:1.25}
.ss-goals span{font-size:13px;font-weight:700;color:var(--accent-small)}
.ss-goals i{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary)}
.ss-goals svg{width:18px;height:18px}
.ss-progs{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:16px}
.ss-prog{display:flex;flex-direction:column;padding:20px;border-radius:24px;background:var(--card);border:1px solid var(--card-line)}
.ss-prog-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ss-prog h3{margin:0;font-size:22px;font-weight:800}
.ss-prog em{font-style:normal;padding:4px 9px;border-radius:9px;background:var(--primary);color:#fff;font-size:14px;font-weight:800}
.ss-prog-k{margin:4px 0 0;font-size:13.5px;font-weight:700;color:var(--accent-small)}
.ss-prog-d{flex:1;margin:12px 0 0;font-size:14.5px;line-height:1.45;color:var(--muted)}
.ss-prog-p{margin:16px 0 14px;font-size:30px;font-weight:800;letter-spacing:-.01em}
.ss-prog .ov-btn{width:100%}

@media (min-width:600px){
  .ss-pains{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ss-feats,.ss-mods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ss-mods.one{grid-template-columns:minmax(0,1fr)}
  .ss-mods.one .ss-mod ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .ss-ol{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ss-wk{width:46%}
  .ss-spec,.ss-base{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1000px){
  .ss-hero .ov-h1 b{display:block}
  .ss-hero .ov-hero-text{padding:40px 0 32px}
  .ss-hero .ov-phrase{margin-top:40px}
  .ss-hero .ov-tags{margin-top:28px}
  .ss-hero .ov-cta{margin-top:44px}
  .ss-vis-card{padding:30px;border-radius:32px}
  .ss-vis-h img{width:84px;height:84px;padding:6px}
  .ss-vis-h img.vs{padding:12px}
  .ss-vis-h b{font-size:26px}
  .ss-vis-h span{font-size:14.5px}
  .ss-vis-k{margin-top:24px}
  .ss-vis-l{gap:10px}
  .ss-vis-l li{padding:12px 16px;font-size:16px}
  .ss-vis-l .ov-ic{width:28px;height:28px}
  .ss-vis-n{font-size:14px}
  .ss-pains{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
  .ss-pains li{padding:20px;font-size:17px;border-radius:22px}
  .ss-fix{margin-top:18px;padding:20px 24px;font-size:19px;border-radius:22px}
  .ss-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:30px}
  .ss-steps li{flex-direction:column;align-items:flex-start;padding:20px;font-size:16px;border-radius:22px}
  .ss-feats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
  .ss-feat{padding:22px;border-radius:24px}
  .ss-feat h3{font-size:19px}
  .ss-feat p{font-size:15px}
  .ss-mods{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
  .ss-mods.one .ss-mod{padding:26px 30px}
  .ss-mods.one .ss-mod ol{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:12px}
  .ss-mod{padding:22px 24px;border-radius:24px}
  .ss-mod li{font-size:16px}
  .ss-web{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px;margin-top:30px;align-items:start}
  .ss-webl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ss-webl li{padding:14px 16px;font-size:16px}
  .ss-web-side{padding:26px;border-radius:26px}
  .ss-web-side p{font-size:16px}
  .ss-tms{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ss-buy-notes{margin-top:16px;gap:8px 22px}
  .ss-buy-notes li{font-size:15px}
  .ov-tfs.ss-tfs3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ss-ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px}
  .ss-ol li{padding:12px 14px;gap:12px;border-radius:18px}
  .ss-ol li:first-child{grid-column:span 2}
  .ss-ol img,.ss-spec img{width:44px;height:44px}
  .ss-ol b{font-size:15px}
  .ss-ol span{font-size:13px}
  .ss-views{margin-top:24px}
  .ss-weeks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0 0;padding:0;overflow:visible}
  .ss-wk{width:auto;padding:20px;border-radius:22px}
  .ss-wk li{font-size:15px}
  .ss-spec,.ss-base{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
  .ss-bf-hero .ss-bf-in{padding:48px 0}
  .ss-goals{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:30px}
  .ss-goals a{height:100%;padding:22px 22px 64px;border-radius:22px}
  .ss-goals b{font-size:18px}
  .ss-goals i{top:auto;bottom:18px;left:22px;right:auto;transform:none}
  .ss-progs{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
  .ss-prog{padding:28px;border-radius:26px}
  .ss-prog-p{font-size:36px}
}
