/* ============================================================================
   style2.css — v2 (главная + ЛК ученик/куратор + адаптив и подменю)
   ============================================================================ */

:root{
  --main-1:#439194;
  --main-2:#944394;
  --accent-1:#6ACFC7;
  --accent-2:#D7A7DF;
  --light-bg:#f9fafd;
  --card-bg:#fff;
  --text:#333;
  --gray:#ddd;
  --header-bg:#ffffff;
  --header-text:#0b3b40;
  --header-link:#00889b;
  --header-link-hover:#00b6ce;

  --hero-bg:#00b6ce;
  --hero-text:#111111;
  --hero-badge-bg:#944394;
  --hero-form-bg:#ffffff;
  --hero-form-title-color:#0b3b40;
  --hero-form-title-size:23px;
  --hero-form-text-color:rgba(17,36,48,.85);
  --hero-form-text-size:15px;
  --programs-bg:linear-gradient(135deg,#00ccc9 0%,#a6badd 100%);
  --programs-card-bg:#ffffff;
  --programs-text:#222222;
  --tariffs-bg:transparent;
  --tariffs-card-bg:#ffffff;
  --tariffs-text:#0b3b40;
  --tariff-price:#0bb3c4;
  --tariff-price-old:#6b7a84;
  --tariff-btn-bg:#00b6ce;
  --tariff-btn-text:#ffffff;
  --tariff-heading-size:20px;
  --tariff-price-size:22px;
  --tariff-btn-font-size:16px;
  --platform-bg:#ffffff;
  --platform-card-bg:#ffffff;
  --platform-text:#0b3b40;
  --reviews-bg:#ffffff;
  --review-card-bg:#ffffff;
  --review-text:#0b3b40;
  --footer-bg:#ffffff;
  --footer-text:#0b3b40;
  --footer-link:#099d8c;
  --footer-link-hover:#00b6ce;
  --cta-btn-bg:linear-gradient(45deg,var(--main-1,#00b6ce),var(--main-2,#00889b));
  --cta-btn-text:#ffffff;
  --cta-btn-hover-bg:#ffffff;
  --cta-btn-hover-text:var(--main-1,#00b6ce);
  --cta-btn-font-size:16px;
  --body-font-size:15px;
  --heading-font-size:32px;
  --button-font-size:16px;

  /* фон-паттерн */
  --pattern-url:url("/static/main/img/math_formula_pattern_1024_transparent.png");
  --pattern-size:1024px;
  --pattern-opacity:.06;
}

/* ========== базовые сбросы ========== */
*{box-sizing:border-box;margin:0;padding:0}
*::selection{color:#fff;background:var(--main-2);text-shadow:0 0 .125rem rgb(0 0 0/.125)}
html,body{min-height:100%}
body{
  color:var(--text);
  background:var(--light-bg,#f6f6f6);
  font-family:'Tahoma',sans-serif;font-size:var(--body-font-size,15px);font-weight:500;letter-spacing:.01em;
  position:relative;isolation:isolate;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:var(--pattern-url);background-repeat:repeat;background-position:0 0;
  background-size:var(--pattern-size) var(--pattern-size);opacity:var(--pattern-opacity);
}
body>*{position:relative;z-index:1}
body::-webkit-scrollbar,body::-webkit-scrollbar-thumb{width:0;background:transparent}
ol,ul{list-style:none}
.line{width:100%;border-bottom:1px solid #eee}

/* ========== контейнеры/шапка ========== */
#container{
  max-width:1440px;margin:0 auto;display:flex;flex-direction:column;align-items:center;
  padding:3rem 1.5rem;gap:3rem;
}
header{position:relative;padding:1.5rem;padding-bottom:0;z-index:9000}
header #container{
  background:var(--header-bg,#fff);box-shadow:0 0 1.5rem rgb(0 0 0/.1);border-radius:1.5rem;padding:1.5rem;overflow:visible;
}
#container.header{padding:1.5rem}
.top_header{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;position:relative;z-index:9200;
  color:var(--header-text,var(--text,#0b3b40));
}

/* логотип с маской */
.logo{
  background:linear-gradient(45deg,var(--main-1,#00b6ce),var(--main-2,#00889b));background-size:300% 300%;animation:anim_bg 1.5s ease-in-out infinite;
  mask-image:url("../img/logo1.svg");mask-repeat:no-repeat;mask-size:127px 22px;
  -webkit-mask-image:url("../img/logo1.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-size:127px 22px;
  width:127px;height:22px;margin-left:1.5rem;
}

/* ========== верхний блок «актуалка» (картинка) ========== */
.actual-programs{
  padding:0;
  margin:0;
  background:var(--banner-bg,transparent);
}
.actual-programs #container{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.actual_header{width:100%;height:var(--top-row-height,64px)}
.actual-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:0;
  user-select:none;
  -webkit-user-drag:none;
}

/* ========== меню и подменю ========== */
.menu{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:9300}
.menu-item{position:relative}
.menu-link{
  color:var(--header-link,var(--main-2,#00889b));text-decoration:none;font-weight:700;font-size:16px;transition:color .15s;outline:none;
}
.menu-link:hover,.menu-link:focus{color:var(--header-link-hover,var(--main-1,#00b6ce))}
.submenu{
  position:absolute;top:calc(100% + .5rem);left:0;min-width:220px;background:#fff;border-radius:.75rem;
  box-shadow:0 8px 30px rgba(0,0,0,.12);padding:.5rem;z-index:12000;
  visibility:hidden;opacity:0;transform:translateY(6px) scale(.98);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;pointer-events:none;
}
.menu-item:hover>.submenu,.menu-item:focus-within>.submenu,.menu-item.open>.submenu{
  visibility:visible;opacity:1;transform:translateY(0) scale(1);transition-delay:0s;pointer-events:auto;
}
.submenu-link{
  display:block;padding:.6rem .9rem;color:var(--text,#222);text-decoration:none;border-radius:.5rem;font-weight:600;line-height:1.2;white-space:nowrap;
}
.submenu-link:hover,.submenu-link:focus{background:#f5f9fa;color:var(--main-2,#00889b);outline:none}
@media (max-width:600px){.submenu{min-width:260px}}

/* ========== верхний разноцветный блок ========== */
section.big_top{margin:0 1.5rem}
section.big_top #container{
  padding:0;display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;background:var(--hero-bg,var(--main-1,#00b6ce));
  border-radius:1.5rem;margin:3rem auto;padding:3rem 1.5rem;box-shadow:0 0 1.5rem rgb(0 0 0/.125);
}
.big_in{display:flex;flex-direction:column;gap:1.5rem;flex:1}
.big_text{justify-content:space-between;padding-left:1.5rem}
.big_text .b_title{font-size:var(--heading-font-size,32px);line-height:normal;font-weight:600;color:var(--hero-title-color,var(--hero-text,#111))}
.big_text .b_title mark{background:linear-gradient(#fff 0,#fff 100%) no-repeat center 60%;background-size:100% calc(100% - .75rem)}
.big_text .b_text{color:var(--hero-text,#111);font-size:18px;font-weight:600}
.big_text .b_box{background:rgb(255 255 255/.75);color:var(--hero-text,#111);font-weight:600;padding:1.5rem;width:50%}

.big_form form{
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem;border-radius:.75rem;flex:.75;
  background:var(--hero-form-bg,var(--card-bg,#fff));color:var(--hero-form-text-color,#fff);
}
.big_form form .form-title{
  font-size:var(--hero-form-title-size,23px);line-height:1.2;font-weight:700;
  color:var(--hero-form-title-color,#fff);padding:0;margin:0;white-space:normal;text-align:center;
}
.big_form form input,.big_form form button{
  border-radius:.5rem;padding:1rem 1.1rem;font-size:var(--hero-form-text-size,15px);border:1.5px solid var(--main-1,#00b6ce);width:100%;
}
.big_form form input:focus{border:1.5px solid var(--main-2);background:#f7f3fb;outline:none}
.big_form form button{
  background:var(--cta-btn-bg,linear-gradient(45deg,#111,#222));color:var(--cta-btn-text,#fff);
  font-weight:700;text-transform:uppercase;border:none;cursor:pointer;transition:background .15s;
  font-size:var(--cta-btn-font-size,var(--button-font-size,16px));
}
.big_form form button:hover{background:var(--cta-btn-hover-bg,#fff);color:var(--cta-btn-hover-text,var(--main-1,#00b6ce));box-shadow:0 0 1.5rem rgb(0 0 0/.25)}
.big_form form p{color:var(--hero-form-text-color,rgba(255,255,255,.85))}
.big_form form label{color:var(--hero-form-text-color,rgba(255,255,255,.85))}
.big_form form a{color:var(--hero-form-text-color,rgba(173,229,255,.95));text-decoration:underline}
.big_form form a:hover,.big_form form a:focus{color:var(--hero-form-title-color,#fff)}

/* ========== заголовки/маркеры ========== */
.mark_title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.mark_title .mark:nth-of-type(1){font-size:48px;line-height:48px;background:var(--main-2,#944394);color:#fff}
.mark_title .mark:nth-of-type(2){font-size:28px;line-height:28px;color:var(--text,#222)}

/* ========== градиентный блок с карточками ========== */
section.gradient{background:var(--programs-bg,linear-gradient(135deg,#00ccc9 0%,#a6badd 100%))}
section.gradient #container{gap:3rem}
.wblocks{display:flex;flex-direction:row;align-items:stretch;gap:1.5rem}
.wblocks .wblock{
  background:var(--card-bg);border-radius:1.5rem;box-shadow:0 0 1rem rgb(0 0 0/.125);
  gap:1.5rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;flex:1;
}
.wblocks .wblock p{text-align:center}
.wblocks .wblock img{width:100%}
.wblocks .wblock a{
  display:block;padding:1rem 1.5rem;border-radius:.5rem;text-decoration:none;width:fit-content;border:none;outline:none;
  font-size:var(--tariff-btn-font-size,16px);font-weight:600;line-height:16px;cursor:pointer;color:#222;background:#fff;border:1px solid #ddd;
}
section.gradient .wblock a{color:var(--programs-text,#222);border-color:rgba(0,0,0,.1);}
section.gradient .wblock{
  background:var(--programs-card-bg,var(--card-bg,#fff));
  color:var(--programs-text,#222);
}
section.gradient .wblock p,
section.gradient .wblock ul li{
  color:var(--programs-text,#222);
}
section.top_blocks{
  background:var(--tariffs-bg,transparent);
}
section.top_blocks .wblock{
  background:var(--tariffs-card-bg,var(--card-bg,#fff));
  color:var(--tariffs-text,var(--text,#0b3b40));
}
section.top_blocks .wblock p,
section.top_blocks .wblock ul li{
  color:var(--tariffs-text,var(--text,#0b3b40));
}
section.top_blocks .wblock ul li::marker{color:var(--tariffs-text,var(--text,#0b3b40));}
section.top_blocks .wblock ul li::before{color:var(--tariff-price,var(--main-1,#0bb3c4));}
section.top_blocks .wblock .wblock_price-current{color:var(--tariff-price,var(--main-1,#0bb3c4));}
section.top_blocks .wblock .wblock_price-old{color:var(--tariff-price-old,#6b7a84);}
section.top_blocks .wblock_a{
  background:var(--tariff-btn-bg,var(--main-1,#00b6ce));
  border:1.5px solid var(--tariff-btn-bg,var(--main-1,#00b6ce));
  color:var(--tariff-btn-text,#fff);
  font-size:var(--tariff-btn-font-size,16px);
}
section.top_blocks .wblock_a:hover,
section.top_blocks .wblock_a:focus-visible{
  filter:brightness(.97);
}

.tariff-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;margin:1.25rem 0 .75rem;background:rgba(0,0,0,.04);padding:.35rem;border-radius:999px;flex-wrap:wrap;}
.tariff-toggle__option{position:relative;display:flex;align-items:center;}
.tariff-toggle__input{position:absolute;inset:0;opacity:0;pointer-events:none;}
.tariff-toggle__label{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.25rem;border-radius:999px;font-weight:800;cursor:pointer;transition:background .15s ease, color .15s ease, box-shadow .15s ease;border:1.5px solid transparent;background:transparent;color:var(--tariff-btn-bg,var(--main-1,#00b6ce));font-size:var(--tariff-btn-font-size,16px);}
.tariff-toggle__input:checked + .tariff-toggle__label{background:var(--tariff-btn-bg,var(--main-1,#00b6ce));color:var(--tariff-btn-text,#fff);box-shadow:0 8px 20px rgba(0,0,0,.12);border-color:var(--tariff-btn-bg,var(--main-1,#00b6ce));}
.tariff-toggle__label:focus-visible{outline:2px solid var(--tariff-btn-bg,var(--main-1,#00b6ce));outline-offset:3px;}
.tariff-toggle__input:disabled + .tariff-toggle__label{opacity:.4;cursor:default;box-shadow:none;background:transparent;color:var(--tariff-btn-bg,var(--main-1,#00b6ce));border-color:transparent;}
.is-hidden{display:none!important;}

/* ========== футер (общий) ========== */
footer{padding-bottom:1.5rem;width:100%;color:var(--footer-text,#222);background:var(--footer-bg,#fff);}
footer #container{
  background:transparent;box-shadow:none;border-radius:1.5rem;padding:1.5rem;
  flex-direction:row;justify-content:space-between;align-items:stretch;color:inherit;
}
.f_left{display:flex;flex-direction:column;justify-content:space-between;height:-webkit-fill-available}
.f_menu{display:flex;gap:1.5rem}
.f_menu a{color:var(--footer-link,var(--text,#222));text-decoration:none}
.f_menu a:hover{color:var(--footer-link-hover,var(--footer-link,var(--text,#222)));text-decoration:underline}
.pay img{height:18px;opacity:.5}

/* поддержка и тега, и класса для заголовка */
lk-main-title,.lk-main-title{color:#fff;font-weight:700;font-size:var(--heading-font-size,32px);line-height:1.1}

/* кнопка “Выйти” */
.call,.lk,.tg{
  background:var(--cta-btn-bg,linear-gradient(45deg,var(--main-1,#00b6ce),var(--main-2,#00889b)));
  color:var(--cta-btn-text,#fff);border-radius:1rem;font-weight:700;display:flex;align-items:center;gap:.5rem;
  padding:1rem 1.5rem;cursor:pointer;border:none;transition:all .125s;background-size:300% 300%;
  animation:anim_bg 1.5s ease-in-out infinite;font-size:var(--cta-btn-font-size,var(--button-font-size,16px));
}
.lk,.tg{animation:none}
.call:hover,.lk:hover,.tg:hover{
  background:var(--cta-btn-hover-bg,#fff);
  color:var(--cta-btn-hover-text,var(--main-1,#00b6ce));
  box-shadow:0 0 1rem rgb(0 0 0/.125);
}
.lk.active{color:#fff;font-weight:700;background:var(--main-1,#23b0a9);border-radius:3rem;padding:1rem 1.5rem;display:flex;align-items:center;gap:.5rem}
.lk.active img{height:22px;vertical-align:middle}

/* ========== партнёры ========== */
section.partners #container{flex-direction:row;align-items:stretch;justify-content:center;padding-top:0;flex-wrap:wrap;gap:1.5rem}
.partner-card{
  background:var(--partners-card-bg,var(--card-bg,#fff));padding:1.5rem;border-radius:1rem;box-shadow:0 0 1rem rgba(0,0,0,.06);
  text-align:center;flex:1;transition:transform .2s ease;color:var(--partners-text,var(--text,#222));
}
.partner-card:hover{transform:translateY(-4px)}
.partner-card img{max-width:100%;max-height:80px;margin-bottom:1rem;object-fit:contain}
.partner-card p{font-size:var(--partners-text-size,15px);font-weight:500;color:var(--partners-text,var(--text,#222));line-height:1.4}
.platform-disclaimer{margin-top:1.5rem;font-size:12px;color:rgba(11,59,64,.65);text-align:center;line-height:1.4;}

/* ========== прогресс-бар ========== */
.progress-bar{background:#e6f8f8;border-radius:9px;height:16px;margin:8px 0 6px;width:100%;overflow:hidden;box-shadow:inset 0 0 5px #a7dedf50}
.progress-bar-inner{background:linear-gradient(93deg,var(--main-1,#23b0a9) 60%,var(--accent-1,#2fcfc2) 100%);height:100%;border-radius:8px;transition:width .4s ease-in-out}

/* ========== “табы” (для старых шаблонов) ========== */
.tab-content{width:100%}
.tabs{display:flex;align-items:center;width:100%;gap:1rem}
.tab{
  display:flex;align-items:center;gap:1rem;background:#fff;color:var(--main-2,#099d8c);font-weight:600;font-size:18px;
  padding:1rem 1.5rem;border-radius:1.5rem;cursor:pointer;transition:all .125s;box-shadow:0 0 1.5rem rgb(0 0 0/.125);user-select:none;border:none;outline:none;
}
.tab:hover{box-shadow:0 0 1.5rem rgb(0 0 0/.25);color:#23b0a9}
.tab.active{background:#23b0a9;color:#fff}
.tab .lucide{font-size:20px}

/* ========== карточки ЛК и списки ========== */
.lk-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.lk-block{
  background:#fff;border-radius:1.5rem;box-shadow:0 0 1.5rem rgb(0 0 0/.125);
  padding:1.5rem 2rem;transition:all .125s;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1.5rem;width:100%;
}
.lk-block:hover{box-shadow:0 0 1.5rem rgb(0 0 0/.25)}
.lk-block h3{color:#099d8c;font-size:1.3rem;font-weight:800;display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}
.lk-block ul{margin:0;font-size:17px;display:flex;flex-direction:column;gap:.75rem}
.hw-status-done{color:#28b17e;font-weight:700}
.hw-status-not{color:#b85d2e;font-weight:700}
.notif-unread{font-weight:700}
.notif-date{color:#90b3b0;font-size:13px;margin-left:7px}
.lk-group-title{color:#2fcfc2;font-weight:800;font-size:1.07rem;letter-spacing:.3px;display:inline-block}
.hw-check-link{color:#23b0a9;text-decoration:underline;font-weight:700;font-size:15px;transition:color .15s}
.hw-check-link:hover{color:#099d8c}
.hw-open-link{
  display:block;background:#23b0a9;color:#fff;padding:.75rem 1rem;border-radius:.5rem;text-decoration:none;width:fit-content;border:none;outline:none;
  font-size:16px;font-weight:600;line-height:16px;cursor:pointer;
}
.hw-open-link:hover{background:#944394}

.search-row{display:flex;gap:22px;margin-bottom:22px;align-items:flex-end;flex-wrap:wrap}
.search-input{
  padding:8px 16px;border:1.5px solid #c4ecea;border-radius:12px;font-size:1.05rem;transition:border .14s;
}
.search-input:focus{border:1.5px solid #23b0a9;outline:none}
.select-filter{
  padding:8px 12px;border-radius:10px;border:1.5px solid #c4ecea;font-size:1rem;background:#f5fcfc;color:#099d8c;
}

.lk-block ul.homework{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.lk-block ul.homework li{
  background:#fff;border-radius:.5rem;border:1px solid #eee;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;
}
.lk-block ul.homework li:hover{background:#f5f5f5;transition:all .25s}

.homework_student{display:flex;flex-direction:column;gap:1.5rem;background:#fff;padding:1.5rem;border-radius:.5rem}
textarea#answer,textarea#feedback{
  width:100%;min-height:256px;background:#f5f5f5;outline:none;border:none;border-radius:.5rem;padding:1.5rem;
  font-family:'Nunito','Tahoma',sans-serif;font-size:15px;color:#444;
}
.answer_form,.curator_feedback{display:flex;flex-direction:column;gap:1.5rem}
.desc_answer{padding:1.5rem;border-radius:.5rem;background:#f5f5f5;color:#444}

/* Пустые состояния */
.empty-state{color:#667085;font-weight:600}

/* Primary-кнопка для форм (напр. “Сохранить”) */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:linear-gradient(93deg,#23b0a9 60%,#2fcfc2 100%);
  color:#fff;font-weight:800;border:none;border-radius:.75rem;padding:.9rem 1.25rem;
  cursor:pointer;box-shadow:0 0 1rem rgb(0 0 0/.12);transition:transform .06s ease,box-shadow .15s ease;
}
.btn-primary:hover{box-shadow:0 0 1.25rem rgb(0 0 0/.18)}
.btn-primary:active{transform:translateY(1px)}

/* Чекбокс в одну линию */
.checkline{display:flex;align-items:center;gap:.5rem}

/* === UI Reset для кнопок (чтобы не были «серые» системные) === */
button, .lk-sidenav .lk-navitem{
  -webkit-appearance:none;appearance:none;border:none;background:none;
}


/* ========== отзывы (главная) ========== */
.testimonials{background:var(--reviews-bg,transparent);padding:3rem 0;}
.testimonials h2{text-align:center;font-size:28px;margin-bottom:20px;color:var(--review-text,var(--text,#0b3b40));}
.testimonial-row{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.testimonial-card{
  background:var(--review-card-bg,#fff);border-radius:10px;padding:20px;width:250px;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;gap:10px;color:var(--review-text,#333);
}
.testimonial-header{display:flex;align-items:center;gap:10px}
.testimonial-card .avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}
.author-name{font-weight:700;font-size:16px;color:var(--review-text,#333)}
.testimonial-text{font-size:14px;line-height:1.4;color:var(--review-text,#333)}
.read-more{font-size:12px;color:#007BFF;text-decoration:underline;align-self:flex-start}

/* ========== ЛК: НОВЫЙ ЛЕЙАУТ С ЛЕВЫМ САЙДБАРОМ ========== */
.lk-section--flash .lk-section__header{ animation: lk-section-flash .9s ease; }
@keyframes lk-section-flash{
  0%{ box-shadow:0 0 0 0 rgba(11,179,196,0); }
  45%{ box-shadow:0 0 0 4px rgba(11,179,196,.18); }
  100%{ box-shadow:0 0 0 0 rgba(11,179,196,0); }
}
/* --- Floating panel for homework/exam content --- */
.m-sheet{ position:fixed; inset:0; z-index:10050; display:none; }
.m-sheet.is-open{ display:block; }
.m-sheet__overlay{ position:absolute; inset:0; background:rgba(7,42,47,.45); opacity:0; transition:opacity .2s ease; }
.m-sheet.is-visible .m-sheet__overlay{ opacity:1; }
.m-sheet__panel{
  position:absolute;
  display:flex;
  flex-direction:column;
  background:#fff;
  max-height:min(85vh, calc(100vh - 32px));
  width:100%;
  overflow:hidden;
}
.m-sheet__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  padding:.75rem 1rem;
  border-bottom:1px solid #e6eff1;
  position:sticky;
  top:0;
  background:#fff;
  border-radius:16px 16px 0 0;
  z-index:1;
}
.m-sheet__title{ font-weight:900; color:#0b3b40; font-size:1.02rem; }
.m-sheet__close{ appearance:none; border:none; background:#f1f5f9; color:#0b3b40; font-weight:900; border-radius:10px; padding:.35rem .6rem; cursor:pointer; }
.m-sheet__body{ padding:.85rem 1rem 1rem; overflow:auto; -webkit-overflow-scrolling:touch; }

.m-sheet.is-sheet .m-sheet__panel{
  left:0;
  right:0;
  bottom:0;
  border-radius:16px 16px 0 0;
  box-shadow:0 -18px 40px rgba(6,74,82,.25);
  transform:translateY(100%);
  transition:transform .18s ease;
}
.m-sheet.is-sheet.is-visible .m-sheet__panel{ transform:translateY(0); }

.m-sheet.is-modal .m-sheet__panel{
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  width:min(780px, calc(100% - 64px));
  border-radius:20px;
  box-shadow:0 24px 70px rgba(6,74,82,.2);
  transform:translate(-50%,-46%) scale(.96);
  transition:transform .2s ease, opacity .2s ease;
  opacity:0;
}
.m-sheet.is-modal.is-visible .m-sheet__panel{
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
}
.m-sheet.is-modal .m-sheet__header{
  padding:1rem 1.5rem;
  border-radius:20px 20px 0 0;
}
.m-sheet.is-modal .m-sheet__body{
  padding:1.2rem 1.5rem 1.5rem;
}
.m-sheet.is-modal .m-sheet__close{
  background:#e8f3f4;
}
.lk-layout{
  display:grid;grid-template-columns:260px 1fr;gap:1.5rem;width:100%;
}
.lk-sidenav{
  display:flex;flex-direction:column;gap:.5rem;position:sticky;top:12px;align-self:start;z-index:5;
}
.lk-sidenav .lk-navitem{
  display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:1rem;background:#fff;color:#099d8c;
  font-weight:700;border:1.5px solid #c4ecea;cursor:pointer;text-decoration:none;transition:all .15s ease;white-space:nowrap;
  box-shadow:0 0 1rem rgb(0 0 0/.06);
}
.lk-sidenav .lk-navitem:hover{box-shadow:0 0 1rem rgb(0 0 0/.12);color:#23b0a9}
.lk-sidenav .lk-navitem.active{background:#23b0a9;color:#fff;border-color:#23b0a9}
.lk-sidenav .lucide{font-size:18px}
.lk-main{display:flex;flex-direction:column;gap:1.5rem}
.lk-panel{width:100%}
.lk-panel[hidden]{display:none!important}

/* ========== анимация ========== */
@keyframes anim_bg{
  0%{background-position:0 50%}
  50%{background-position:100% 50%}
  100%{background-position:0 50%}
}

/* ========== адаптив ========== */
@media (max-width:992px){
  .lk-layout{grid-template-columns:220px 1fr}
}
@media (max-width:768px){
  header{background:linear-gradient(135deg,var(--main-1) 25%,var(--main-2) 100%)}
  #container{width:100%;padding:3rem 1.5rem}
  #container.c_header{padding:3rem}
  #container.c_slogan{padding:3rem 3rem 0}
  .slogan{font-size:18px}
  .big_top #container{flex-direction:column}
  .wblocks{flex-direction:column}
  .wblock{width:100%;padding:1rem .5rem}
  .top_header{flex-direction:column;gap:1.5rem}
  .menu{gap:2px}
  .call,.lk,.tg{
    width:auto;justify-content:center;font-size:15px;padding:.65rem 1rem;
    min-width:0;align-self:center;
  }
  .cont_title{font-size:18px}
  footer #container{flex-direction:column}
  .lk-blocks{grid-template-columns:1fr;gap:1.5rem}
  .tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
  .tab{font-size:16px}
  lk-main-title,.lk-main-title{font-size:21px;line-height:21px}
  .lk-block ul.homework{grid-template-columns:1fr}
  /* сайдбар превращаем в горизонтальную липкую ленту */
  .lk-layout{grid-template-columns:1fr}
  .lk-sidenav{
    position:sticky;top:0;background:transparent;flex-direction:row;gap:.5rem;overflow-x:auto;
    padding:.25rem 0 .5rem;margin-bottom:.75rem;scrollbar-width:none;
  }
  .lk-sidenav::-webkit-scrollbar{display:none}
  .lk-sidenav .lk-navitem{border-radius:999px;padding:.6rem .9rem}
}
@media (max-width:700px){
  .call,.lk,.tg{
    padding:.35rem .6rem;
    font-size:.9rem;
    border-radius:.6rem;
  }
  .cart-btn{padding:.35rem .5rem}
}

/* ========== тёмная тема ========== */
@media (prefers-color-scheme:dark){
  :root{--text:#e6e6e6;--card-bg:#1f1f22}
  body{background:#121214;color:var(--text)}
  body::before{opacity:.04}
  header #container,footer #container,.lk-block,.testimonial-card{background:var(--card-bg);box-shadow:0 0 1rem rgb(0 0 0/.35)}
  .menu a{color:#9cdbe1}
  .menu a:hover{color:#6fd7e4}
}

/* ========== reduced motion ========== */
@media (prefers-reduced-motion:reduce){
  .logo{animation:none}
  .call{animation:none}
}

/* ========== high-dpi (уменьшаем муар паттерна) ========== */
@media (min-resolution:2dppx){:root{--pattern-size:1280px}}
@media (min-width:1600px){:root{--pattern-size:1400px}}


/* ===========================  LIGHT MODE FORCE  =========================== */
/* Жёстко принуждаем светлую тему даже при тёмной в системе */
:root { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  body{ background:var(--light-bg,#f6f6f6) !important; color:var(--text,#333) !important; }
  header #container,
  footer #container,
  .lk-block,
  .partner-card,
  .testimonial-card{
    background:#fff !important; box-shadow:0 0 1.5rem rgb(0 0 0 / .1) !important;
  }
  body::before{ opacity: var(--pattern-opacity) !important; }
  .menu a{ color:var(--main-2,#00889b) !important; }
  .menu a:hover{ color:var(--main-1,#00b6ce) !important; }
}

/* ===========================  ACCORDION (Домашки)  ======================== */
.hw-accordion{ display:flex; flex-direction:column; gap:12px; }
.hw-item details{
  background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 10px rgba(0,0,0,.04);
  overflow:hidden;
}
.hw-item summary{
  list-style:none; cursor:pointer; padding:14px 18px; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.hw-item summary::-webkit-details-marker{ display:none; }

.hw-head{ display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.hw-title{ font-weight:800; color:#099d8c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hw-meta{ display:flex; align-items:center; gap:8px; margin-left:auto; flex-wrap:wrap; }
.hw-date{ font-size:12px; color:#6b7280; }
.hw-user{ font-size:13px; color:#374151; font-weight:700; }

.badge{ padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.2px; }
.badge-done{ background:#e7f7f1; color:#178356; }
.badge-pending{ background:#fff6e6; color:#b85d2e; }

.chev{
  width:10px; height:10px; border-right:2px solid #94a3b8; border-bottom:2px solid #94a3b8;
  transform:rotate(-45deg); transition:transform .18s ease; flex:0 0 10px;
}
.hw-item[open] .chev{ transform:rotate(135deg); }

.hw-body{ padding:0 18px 16px 18px; display:flex; flex-direction:column; gap:12px; border-top:1px dashed #e5e7eb; }
.hw-feedback{ background:#f5fcfc; border:1px solid #c4ecea; border-radius:8px; padding:10px 12px; }
.hw-answer{ background:#faf9ee; border:1px solid #f1e9c9; border-radius:8px; padding:10px 12px; }

.hw-props{ margin:0 0 6px 0; padding-left:18px; display:flex; flex-direction:column; gap:4px; }

/* Кнопка */
.btn-primary{
  display:inline-flex; align-items:center; gap:.5rem; background:linear-gradient(93deg,#23b0a9 60%,#2fcfc2 100%);
  color:#fff; font-weight:800; border:none; border-radius:.75rem; padding:.9rem 1.25rem; cursor:pointer;
  box-shadow:0 0 1rem rgb(0 0 0/.12); transition:transform .06s ease, box-shadow .15s ease; text-decoration:none;
}
.btn-primary:hover{ box-shadow:0 0 1.25rem rgb(0 0 0/.18); }
.btn-primary:active{ transform:translateY(1px); }

/* Старая сетка домашних — выключаем, чтобы было «друг под другом» */
.lk-block ul.homework{ display:block !important; grid-template-columns:1fr !important; gap:12px !important; }
.lk-block ul.homework li{ width:100% !important; }

/* Сайдбар — немного светлее на белом фоне */
.lk-sidenav .lk-navitem{
  background:#fff; border:1.5px solid #e5f2f2;
}
.lk-sidenav .lk-navitem.active{
  background:#23b0a9; color:#fff; border-color:#23b0a9;
}

/* === Теория — карточка и элементы === */
.theory-card{
  background:#fff;border-radius:1.25rem;box-shadow:0 0 1.25rem rgba(0,0,0,.08);
  padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;
}
.theory-card h1{font-size:28px;line-height:1.2;margin-bottom:.25rem}
.theory-card h2{font-size:20px;color:#0c8b83;margin:.5rem 0}
.topic p{margin:.25rem 0 .5rem}
ul.dash{padding-left:1.1rem}
ul.dash li{list-style: none;position:relative;padding-left:.8rem;margin:.2rem 0}
ul.dash li::before{content:"—";position:absolute;left:0;color:#64748b}

.red{color:#d63b3b;font-weight:700}
.blue{color:#2a6ad9;font-weight:700}

.theory-figure{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin:.5rem 0}
.theory-figure img{max-width:100%;height:auto;border-radius:.5rem;border:1px solid #eef2f7;background:#fff}
.theory-figure figcaption{font-size:12px;color:#6b7280}

hr.soft{border:0;border-top:1px solid #eef2f7;margin:.75rem 0}

/* callouts */
.callout{
  border-radius:12px;border:1px solid #e5e7eb;background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:.5rem
}
.callout .callout-title{font-weight:900;display:flex;align-items:center;gap:.5rem;color:#0b9389}
.callout.props{border-left:6px solid #22c1b5}
.callout.info{border-left:6px solid #2fbdb3;background:#f0fbfb}
.callout.note{border-left:6px solid #9aa3ae;background:#f8f9fb}
.callout.theorem{border-left:6px solid #7c3aed;background:#faf7ff}
.callout.sub{border-left:4px solid #c084fc;background:#fbf8ff}

/* маркеры-галочки */
ul.check{padding-left:1.1rem}
ul.check li{list-style:none;position:relative;padding-left:1.2rem;margin:.25rem 0}
ul.check li::before{
  content:"✓";position:absolute;left:0;top:0;color:#22c1b5;font-weight:900
}

/* формульные блоки */
.math-block{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}
.math-if,.math-then{
  font-size:12px;font-weight:800;color:#6b7280;letter-spacing:.08em;text-transform:uppercase
}

@media (max-width:768px){
  .theory-card{padding:1.1rem;border-radius:1rem}
  .theory-card h1{font-size:22px}
}

.theory-card{
  background:#fff;border-radius:1.25rem;box-shadow:0 0 1.25rem rgba(0,0,0,.08);
  padding:1.75rem;display:flex;flex-direction:column;gap:1rem
}
.theory-figure{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin:.5rem 0}
.theory-figure img{max-width:100%;height:auto;border-radius:.5rem;border:1px solid #eef2f7;background:#fff}
.theory-figure figcaption{font-size:12px;color:#6b7280}

/* --- FIX: карточки "Школьная программа" всегда светлые --- */
section.gradient .wblocks .wblock{
  background: #fff !important;
  color: #222 !important;
  border: 1px solid #eaeaea;
  box-shadow: 0 0 1rem rgb(0 0 0 / .125);
}
section.gradient .wblocks .wblock p{
  color: #222 !important;
}

/* Если у пользователя включена тёмная тема — всё равно держим светлые карточки в этом блоке */
@media (prefers-color-scheme: dark){
  section.gradient .wblocks .wblock{
    background: #fff !important;
    color: #222 !important;
  }
}
/* ==== A11Y: видимый фокус для кликабельных элементов ==== */
.menu-link:focus-visible,
.submenu-link:focus-visible,
.lk-sidenav .lk-navitem:focus-visible,
.btn-primary:focus-visible,
.wblocks .wblock a:focus-visible,
.call:focus-visible,
.lk:focus-visible {
  outline: 3px solid #23b0a9;
  outline-offset: 2px;
  border-radius: 10px;
}

/* ==== Sticky баннер «Актуальное» (универсально) ==== */
.actual-programs {
  position: sticky;
  top: 0;
  z-index: 10000; /* ниже подменю (12000), выше контента */
}

/* ==== Burger + off-canvas меню (вынесено из инлайна) ==== */
.burger{
  display:none; align-items:center; gap:.5rem; background:#fff;
  border:1.5px solid #e5f2f2; border-radius:.75rem; padding:.45rem .6rem;
  font-weight:800; color:#099d8c; cursor:pointer;
}
.burger .lines{ width:18px; height:14px; position:relative; }
.burger .lines::before,.burger .lines::after,.burger .line{
  content:""; position:absolute; left:0; right:0; height:2px; background:#099d8c; border-radius:2px;
}
.burger .line{ top:50%; transform:translateY(-50%); }
.burger .lines::before{ top:0; } .burger .lines::after{ bottom:0; }

.scrim{
  position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:.15s; z-index:11990;
}
.scrim.show{ opacity:1; visibility:visible; }
.mobile-nav{
  position:fixed; inset:0 auto 0 0; width:86vw; max-width:360px; background:#fff; transform:translateX(-100%);
  transition:transform .2s ease; z-index:12000; box-shadow:0 0 2rem rgba(0,0,0,.25);
  display:flex; flex-direction:column; padding:18px;
}
.mobile-nav.open{ transform:translateX(0); }
.mnav-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:10px; }
.mnav-title{ font-weight:900; color:#099d8c; }
.mnav-close{ background:#fff; border:1.5px solid #e5f2f2; border-radius:.5rem; padding:.45rem .6rem; cursor:pointer; }
.mnav-list{ display:flex; flex-direction:column; gap:6px; overflow:auto; padding-right:4px; }
.mnav-item{ border:1px solid #eef2f7; border-radius:.75rem; background:#fff; }
.mnav-parent,.mnav-link{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.8rem 1rem; font-weight:800; color:var(--text,#0b3b40); text-decoration:none; }
.mnav-parent{ cursor:pointer; }
.mnav-children{ display:none; padding:.5rem .75rem 1rem; background:#fbfeff; border-top:1px dashed #e5f2f2; }
.mnav-item.open .mnav-children{ display:block; }
.mnav-children a{ display:block; padding:.5rem .6rem; border-radius:.5rem; text-decoration:none; color:#1f2937; font-weight:700; }
.mnav-children a:hover{ background:#eef9fb; color:var(--main-2,#00889b); }

@media (max-width:1024px){
  .menu{ display:none; }
  .burger{ display:flex; }
}

/* ==== Reduced motion расширение ==== */
@media (prefers-reduced-motion: reduce){
  .progress-bar-inner,
  .submenu,
  .mobile-nav { transition: none !important; }
}

/* ==== Утилиты ==== */
/* Скрыть визуально, но оставить для screen readers */
.visually-hidden {
  position:absolute!important; height:1px; width:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; clip-path:inset(50%);
}

/* === Контейнеры конспекта/дз/разборов === */
.notes-body,
.hw-text,
.solution-body{
  max-width:100%;
  overflow-x:auto;          /* если что-то шире — локальный горизонтальный скролл */
  word-break:break-word;
  overflow-wrap:anywhere;
  white-space:normal;
}

/* Медиа внутри текста */
.notes-body img,
.notes-body iframe,
.notes-body video,
.hw-text img,
.hw-text iframe,
.solution-body img,
.solution-body iframe{
  max-width:100%;
  height:auto;
  display:block;
}

/* Таблицы из Markdown */
.notes-body table,
.hw-text table,
.solution-body table{
  display:block;
  width:max-content;        /* не растягивать контейнер */
  max-width:100%;
  overflow:auto;
  border-collapse:collapse;
}
.notes-body th, .notes-body td,
.hw-text th, .hw-text td,
.solution-body th, .solution-body td{
  padding:.3rem .5rem;
}

/* Предформатированный текст/код */
.notes-body pre, .notes-body code,
.hw-text pre, .hw-text code,
.solution-body pre, .solution-body code{
  white-space:pre-wrap;
  word-break:break-word;
}

/* MathJax (чтобы формулы не растягивали блок) */
mjx-container{
  max-width:100% !important;
  overflow-x:auto;
  overflow-y:hidden;
}
mjx-container[display="true"]{
  display:block;
  margin:.5em 0;
}

/* Таб-панель: нейтральные токены — переопредели под свой дизайн */
.tabs {
  --c-bg: var(--surface, #0f1115);
  --c-fg: var(--text, #e6e9ef);
  --c-muted: color-mix(in oklab, var(--c-fg), #000 60%);
  --c-accent: var(--brand, #6aa8ff);
  --c-accent-ghost: color-mix(in oklab, var(--c-accent), transparent 85%);
  --radius: 10px;
  --gap: 6px;
  --pad-y: 8px;
  --pad-x: 14px;

  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  background: color-mix(in oklab, var(--c-bg), #fff 2%);
  padding: 6px;
  border-radius: calc(var(--radius) + 4px);
  border: 1px solid color-mix(in oklab, var(--c-bg), #fff 8%);
}

/* Элемент вкладки */
.tabs__item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: var(--pad-y) var(--pad-x);
  border-radius: var(--radius);
  color: var(--c-muted);
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  transition: color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .04s ease;
  white-space: nowrap;
}

/* Ховер/фокус */
.tabs__item:hover { 
  color: var(--c-fg);
  background: color-mix(in oklab, var(--c-bg), #fff 6%);
}
.tabs__item:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: 2px;
}

/* Активная вкладка */
.tabs__item.is-active {
  color: var(--c-fg);
  background: var(--c-accent-ghost);
  box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c-accent), #000 40%), 
              0 1px 0 0 rgba(0,0,0,.25);
}

/* Маленький индикатор снизу для активной (по желанию) */
.tabs__item.is-active::after {
  content: "";
  position: absolute;
  left: 10px; right: 10px; bottom: 4px;
  height: 2px;
  border-radius: 2px;
  background: var(--c-accent);
  opacity: .65;
}

/* Тёмная/светлая темы (если у тебя разные) */
@media (prefers-color-scheme: light) {
  .tabs {
    --c-bg: #ffffff;
    --c-fg: #0b1220;
    --c-muted: color-mix(in oklab, var(--c-fg), #fff 45%);
    border-color: color-mix(in oklab, var(--c-bg), #000 12%);
    background: color-mix(in oklab, var(--c-bg), #000 2%);
  }
}
.tariff-toggle__option.is-disabled .tariff-toggle__label{
  opacity:.45;cursor:default;box-shadow:none;background:transparent;color:var(--tariff-btn-bg,var(--main-1,#00b6ce));
}
.tariff-toggle__option.is-active .tariff-toggle__label{color:var(--tariff-btn-text,#fff);}
[data-tariff-list] > [data-exam]{display:none;}
[data-tariff-list][data-active-exam="ege"] > [data-exam="ege"],
[data-tariff-list][data-active-exam="ege"] > [data-exam="both"],
[data-tariff-list][data-active-exam="ege"] > [data-exam="none"],
[data-tariff-list][data-active-exam="ege"] > [data-exam=""],
[data-tariff-list][data-active-exam="ege"] > [data-exam="null"]{display:flex;}
[data-tariff-list][data-active-exam="oge"] > [data-exam="oge"],
[data-tariff-list][data-active-exam="oge"] > [data-exam="both"],
[data-tariff-list][data-active-exam="oge"] > [data-exam="none"],
[data-tariff-list][data-active-exam="oge"] > [data-exam=""],
[data-tariff-list][data-active-exam="oge"] > [data-exam="null"]{display:flex;}
