/* ============================================================================
   main_all.css — общий стиль (база + переиспользуемые компоненты)
   ============================================================================

   Сюда слит бывший `style2.css`. Страничные стили подключаем отдельно
   (например `main/css/pages/*.css`) ближе к нужным шаблонам.
*/

/* Global baseline styles (loaded on all pages). */
*, *::before, *::after{ box-sizing:border-box; }

/* Важно: не фиксируем `height:100%`, иначе ломается нормальный scrollHeight и fullPage скриншоты. */
html, body{ min-height:100%; }

body{
  margin:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img, picture, video, canvas, svg{ display:block; max-width:100%; }
input, button, textarea, select{ font:inherit; }
a{ color:inherit; text-decoration:inherit; }

: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;

  /* Фон (геометрия без картинок) */
  --bg-base: var(--light-bg, #f9fafd);
  --bg-grid-size: 3rem;
  --bg-grid-line: rgba(15, 23, 42, .05);
  --bg-blob-1: rgba(0, 182, 206, .14);
  --bg-blob-2: rgba(148, 67, 148, .12);
}

/* ========== базовые сбросы ========== */
*{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(--bg-base);
  font-family:"Nunito", system-ui, -apple-system, Segoe UI, Roboto, Arial, 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:
    radial-gradient(1200px 600px at 10% 10%, var(--bg-blob-1), transparent 60%),
    radial-gradient(900px 520px at 90% 0%, var(--bg-blob-2), transparent 55%),
    radial-gradient(900px 520px at 50% 120%, rgba(0, 182, 206, .10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.75) 0%, rgba(255,255,255,0) 55%);
}
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}

/* ========== контейнеры/шапка ========== */
/* Layout styles moved to `main/css/pages/base_shop.css` and `main/css/pages/landing.css`. */

/* Header/menu/landing layout moved to `main/css/pages/base_shop.css` + `main/css/pages/landing.css`. */

/* Landing banner/header/menu/footer styles are defined in page-level CSS files. */
.is-hidden{display:none;}

/* кнопка “Выйти” (ЛК) */
.lk{
  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: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}

/* ========== прогресс-бар ========== */



/* ========== “табы” (для старых шаблонов) ========== */







/* ========== карточки ЛК и списки ========== */

.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}















.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}


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;
}



/* Пустые состояния */
.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)}

/* Чекбокс в одну линию */


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


/* Отзывы/слайдеры лэндинга — в `main/css/pages/base_shop.css` (layout) и `main/css/pages/landing.css` (главная). */



/* ========== ЛК: НОВЫЙ ЛЕЙАУТ С ЛЕВЫМ САЙДБАРОМ ========== */
.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 --- */



















.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}



/* ========== анимация ========== */
@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){
  /* Важно: `main_all.css` не должен править лэйаут шапки/футера/контейнера/лендинга — это в page‑css. */
  .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){
  .lk{ 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}
  .lk-block{background:var(--card-bg);box-shadow:0 0 1rem rgb(0 0 0/.35)}
}

/* ========== 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); color:var(--text,#333); }
  .lk-block{ background:#fff; box-shadow:0 0 1.5rem rgb(0 0 0 / .1); }
  body::before{ opacity: var(--pattern-opacity); }
}

/* ===========================  ACCORDION (Домашки)  ======================== */











.badge{ padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.2px; }












/* Кнопка */
.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; grid-template-columns:1fr; gap:12px; }
.lk-block ul.homework li{ width:100%; }

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

/* === Теория — карточка и элементы === */




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}








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

/* callouts */








/* маркеры-галочки */
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
}

/* формульные блоки */



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






/* ==== A11Y: видимый фокус для кликабельных элементов ==== */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible{
  outline: 3px solid #23b0a9;
  outline-offset: 2px;
  border-radius: 10px;
}

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

/* ==== Утилиты ==== */
/* Скрыть визуально, но оставить для screen readers */


/* === Контейнеры конспекта/дз/разборов === */


/* Медиа внутри текста */


/* Таблицы из Markdown */



/* Предформатированный текст/код */


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

/* Таб-панель: нейтральные токены — переопредели под свой дизайн */


/* Элемент вкладки */


/* Ховер/фокус */



/* Активная вкладка */


/* Маленький индикатор снизу для активной (по желанию) */


/* Тёмная/светлая темы (если у тебя разные) */
@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%);
  }
}
